chartlet 0.22.0

Compile structured data into deterministic, accessible static charts
Documentation
1
<div class="chartlet-wrapper"><style>.chartlet-stage{position:relative;display:inline-block;max-width:100%;vertical-align:top}.chartlet-stage>svg{display:block}.chartlet-hotspot{position:absolute;border-radius:8px;cursor:pointer}.chartlet-focus{margin:0 0 12px 0;font-size:13px}.chartlet-focus summary{cursor:pointer;min-height:24px}.chartlet-focus fieldset{border:none;padding:0;margin:4px 0 0 0}.chartlet-focus label{display:inline-flex;align-items:center;min-height:44px;margin-right:14px;cursor:pointer;white-space:nowrap}.chartlet-focus input{margin-right:4px}.chartlet-focus input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.chartlet-wrapper:has(.chartlet-focus-node:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f{opacity:.18}#chartlet-a08e2c1f5423b1c4-hs-0{left:46.718%;top:46.562%;width:6.564%;height:5.938%}#chartlet-a08e2c1f5423b1c4-hs-1{left:49.111%;top:36.055%;width:5.467%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-2{left:56.583%;top:46.562%;width:7.013%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-3{left:49.111%;top:57.07%;width:8.907%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-4{left:36.403%;top:46.562%;width:7.013%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-5{left:51.577%;top:25.835%;width:7.36%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-6{left:63.891%;top:43.455%;width:8.533%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-7{left:55.78%;top:65.369%;width:10.373%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-8{left:33.27%;top:61.294%;width:6.96%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-9{left:28.006%;top:36.86%;width:9.627%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-10{left:52.809%;top:15.471%;width:6.96%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-11{left:38.311%;top:77.654%;width:8.88%;height:2.656%}#chartlet-a08e2c1f5423b1c4-hs-12{left:38.291%;top:88.018%;width:7.667%;height:2.656%}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-0:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-0{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-0:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-0 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-0:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-0 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-1:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-1{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-1:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-1 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-1:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-1 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-2:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-2{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-2:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-2 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-2:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-2 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-3:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-3{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-3:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-3 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-3:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-3 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-4:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-4{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-4:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-4 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-4:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-4 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-5:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-5{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-5:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-5 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-5:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-5 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-6:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-6{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-6:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-6 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-6:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-6 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-7:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-7{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-7:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-7 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-7:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-7 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-8:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-8{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-8:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-8 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-8:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-8 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-9:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-9{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-9:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-9 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-9:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-9 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-10:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-10{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-10:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-10 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-10:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-10 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-11:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-11{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-11:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-11 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-11:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-11 .chartlet-seq-box{stroke-width:3}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-12:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-f-12{opacity:1}.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-12:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-12 .chartlet-flow-node,.chartlet-wrapper:has(#chartlet-a08e2c1f5423b1c4-focus-12:checked) #chartlet-a08e2c1f5423b1c4 .chartlet-n-12 .chartlet-seq-box{stroke-width:3}</style><details class="chartlet-focus"><summary>Focus</summary><fieldset><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" checked> Show all</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-0"> Checkout</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-1"> Cart</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-2"> Pricing</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-3"> Payments</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-4"> Sign-in</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-5"> Catalog</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-6"> Tax rules</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-7"> Fraud check</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-8"> Ledger</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-9"> User store</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-10"> Search</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-11"> Event bus</label><label><input type="radio" name="chartlet-a08e2c1f5423b1c4-focus" class="chartlet-focus-node" id="chartlet-a08e2c1f5423b1c4-focus-12"> Metrics</label></fieldset></details><figure class="chartlet-figure" data-viz="chart"><figcaption>What the checkout service depends on</figcaption><div class="chartlet-stage"><svg xmlns="http://www.w3.org/2000/svg" width="900" height="640" viewBox="0 0 900 640" id="chartlet-a08e2c1f5423b1c4" role="img" aria-labelledby="chartlet-a08e2c1f5423b1c4-title chartlet-a08e2c1f5423b1c4-description" class="chartlet-root"><title id="chartlet-a08e2c1f5423b1c4-title">What the checkout service depends on</title><desc id="chartlet-a08e2c1f5423b1c4-description">Network with 13 nodes and 14 connections in 3 groups: Shop, Finance and Platform. In rings around Checkout: 1 step away: Cart, Pricing, Payments and Sign-in; 2 steps away: Catalog, Tax rules, Fraud check, Ledger and User store; 3 steps away: Search and Event bus; 4 steps away: Metrics. Most connected: Checkout (4 connections). Nothing leads into Checkout. Bottlenecks: Checkout and Payments; without either the diagram falls apart. Checkout (group Shop): leads to Cart, Pricing, Payments and Sign-in. Cart (group Shop): leads to Catalog. Pricing (group Shop): leads to Catalog and Tax rules. Payments (group Finance): leads to Fraud check and Ledger. Sign-in (group Platform): leads to User store. Catalog (group Shop): leads to Search. Tax rules (group Finance): no outgoing connection. Fraud check (group Finance): leads to Event bus. Ledger (group Finance): leads to Event bus. User store (group Platform): no outgoing connection. Search (group Shop): no outgoing connection. Event bus (group Platform): leads to Metrics. Metrics (group Platform): no outgoing connection.</desc><style>.chartlet-root{--chartlet-text:#172033;--chartlet-muted:#344054;--chartlet-grid:#d9dee8;--chartlet-zero:#667085;--chartlet-accent:#2563eb;--chartlet-background:#fff;--chartlet-color-1:#2563eb;--chartlet-color-2:#c2410c;--chartlet-color-3:#475569;--chartlet-color-4:#111827;max-width:100%;height:auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-title{font-size:22px;font-weight:650;fill:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-label,#chartlet-a08e2c1f5423b1c4 .chartlet-tick,#chartlet-a08e2c1f5423b1c4 .chartlet-value,#chartlet-a08e2c1f5423b1c4 .chartlet-value-inverse,#chartlet-a08e2c1f5423b1c4 .chartlet-axis-title{font-size:12px;fill:var(--chartlet-muted)}#chartlet-a08e2c1f5423b1c4 .chartlet-value,#chartlet-a08e2c1f5423b1c4 .chartlet-value-inverse{font-weight:600}#chartlet-a08e2c1f5423b1c4 .chartlet-value{fill:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-value-inverse{fill:var(--chartlet-background)}#chartlet-a08e2c1f5423b1c4 .chartlet-axis-title{font-weight:600}#chartlet-a08e2c1f5423b1c4 .chartlet-grid{stroke:var(--chartlet-grid);stroke-width:1}#chartlet-a08e2c1f5423b1c4 .chartlet-zero{stroke:var(--chartlet-zero);stroke-width:1.5}#chartlet-a08e2c1f5423b1c4 .chartlet-bar,#chartlet-a08e2c1f5423b1c4 .chartlet-point{fill:var(--chartlet-accent)}#chartlet-a08e2c1f5423b1c4 .chartlet-line{fill:none;stroke:var(--chartlet-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#chartlet-a08e2c1f5423b1c4 .chartlet-background{fill:var(--chartlet-background)}.chartlet-root{--chartlet-node:#eef3fd;--chartlet-lane:#f7f9fc;--chartlet-lane-head:#eef1f6;--chartlet-shadow:rgba(16,24,40,.09);--chartlet-role-blue:#2563eb;--chartlet-role-blue-fill:#eef3fd;--chartlet-role-green:#15803d;--chartlet-role-green-fill:#ecfdf3;--chartlet-role-amber:#b45309;--chartlet-role-amber-fill:#fff7e8;--chartlet-role-teal:#0f766e;--chartlet-role-teal-fill:#e9faf7;--chartlet-role-violet:#6d28d9;--chartlet-role-violet-fill:#f3efff;--chartlet-role-gray:#667085;--chartlet-role-gray-fill:#f7f8fa;--chartlet-role-red:#b42318;--chartlet-role-red-fill:#fef3f2}.chartlet-root.chartlet-theme-dark{--chartlet-node:#1a2436;--chartlet-lane:#121925;--chartlet-lane-head:#18212f;--chartlet-shadow:rgba(0,0,0,.45);--chartlet-role-blue:#7ea6ff;--chartlet-role-blue-fill:#1a2436;--chartlet-role-green:#4ade80;--chartlet-role-green-fill:#132a1d;--chartlet-role-amber:#fbbf24;--chartlet-role-amber-fill:#2b2210;--chartlet-role-teal:#2dd4bf;--chartlet-role-teal-fill:#0f2a27;--chartlet-role-violet:#b69cff;--chartlet-role-violet-fill:#231c38;--chartlet-role-gray:#9aa7bd;--chartlet-role-gray-fill:#161d29;--chartlet-role-red:#f97066;--chartlet-role-red-fill:#2d1616}#chartlet-a08e2c1f5423b1c4 .chartlet-role-blue{fill:var(--chartlet-role-blue-fill);stroke:var(--chartlet-role-blue)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-green{fill:var(--chartlet-role-green-fill);stroke:var(--chartlet-role-green)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-amber{fill:var(--chartlet-role-amber-fill);stroke:var(--chartlet-role-amber)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-teal{fill:var(--chartlet-role-teal-fill);stroke:var(--chartlet-role-teal)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-violet{fill:var(--chartlet-role-violet-fill);stroke:var(--chartlet-role-violet)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-gray{fill:var(--chartlet-role-gray-fill);stroke:var(--chartlet-role-gray)}#chartlet-a08e2c1f5423b1c4 .chartlet-role-red{fill:var(--chartlet-role-red-fill);stroke:var(--chartlet-role-red)}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-rim{fill:none;stroke:var(--chartlet-role-teal);stroke-width:1.5}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-shadow{fill:var(--chartlet-shadow);stroke:none;rx:7px}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-chip{fill:var(--chartlet-background);stroke:var(--chartlet-grid);stroke-width:1;rx:4px}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-chip-text{font-size:12px;fill:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-badge{fill:var(--chartlet-accent);stroke:var(--chartlet-background);stroke-width:2}#chartlet-a08e2c1f5423b1c4 .chartlet-diagram-badge-text{font-size:10px;font-weight:700;fill:var(--chartlet-background)}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-node{stroke-width:1.5;stroke-linejoin:round;rx:7px}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-start{stroke-width:2}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-end{stroke-width:3}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-external{stroke-dasharray:5 3}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-inner{stroke:var(--chartlet-role-blue);stroke-width:1}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-label{font-size:13px;font-weight:600;fill:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-sublabel{font-size:11px;fill:var(--chartlet-muted)}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-edge{fill:none;stroke:var(--chartlet-zero);stroke-width:1.4;stroke-linejoin:round}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-dashed{stroke-dasharray:5 4}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-dotted{stroke-dasharray:1 4;stroke-linecap:round}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-main{stroke:var(--chartlet-accent);stroke-width:2.2}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-head{fill:var(--chartlet-zero);stroke:var(--chartlet-zero);stroke-width:1;stroke-linejoin:round}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-main-head{fill:var(--chartlet-accent);stroke:var(--chartlet-accent)}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-lane{fill:var(--chartlet-lane);stroke:var(--chartlet-grid);stroke-width:1}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-lane-alt{fill:var(--chartlet-background)}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-lane-head{fill:var(--chartlet-lane-head);stroke:none}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-lane-label{font-size:11px;font-weight:650;fill:var(--chartlet-muted);letter-spacing:.04em}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-group{fill:var(--chartlet-accent);fill-opacity:.04;stroke:var(--chartlet-zero);stroke-width:1;stroke-dasharray:4 3;rx:10px}#chartlet-a08e2c1f5423b1c4 .chartlet-flow-group-label{font-size:11px;font-weight:600;fill:var(--chartlet-muted)}.chartlet-root{--chartlet-net-5:#0f766e;--chartlet-net-6:#6d28d9;--chartlet-net-7:#b45309;--chartlet-net-8:#be185d}.chartlet-root.chartlet-theme-dark{--chartlet-net-5:#2dd4bf;--chartlet-net-6:#b69cff;--chartlet-net-7:#fbbf24;--chartlet-net-8:#f472b6}#chartlet-a08e2c1f5423b1c4 .chartlet-net-node{fill:var(--chartlet-role-blue);stroke:var(--chartlet-background);stroke-width:2}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g1{fill:var(--chartlet-color-1)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g2{fill:var(--chartlet-color-2)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g3{fill:var(--chartlet-color-3)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g4{fill:var(--chartlet-color-4)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g5{fill:var(--chartlet-net-5)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g6{fill:var(--chartlet-net-6)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g7{fill:var(--chartlet-net-7)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-g8{fill:var(--chartlet-net-8)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-center{stroke:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-label{font-size:12px;font-weight:600;fill:var(--chartlet-text)}#chartlet-a08e2c1f5423b1c4 .chartlet-net-ring{fill:none;stroke:var(--chartlet-grid);stroke-width:1;stroke-dasharray:3 4}#chartlet-a08e2c1f5423b1c4 .chartlet-legend{font-size:12px;fill:var(--chartlet-muted)}</style><circle cx="450" cy="307" r="67.25" class="chartlet-net-ring"/><circle cx="450" cy="307" r="134.5" class="chartlet-net-ring"/><circle cx="450" cy="307" r="201.75" class="chartlet-net-ring"/><circle cx="450" cy="307" r="269" class="chartlet-net-ring"/><g class="chartlet-f chartlet-f-0 chartlet-f-1"><polyline points="450,297 450,254.75" class="chartlet-flow-edge"><title>Checkout → Cart</title></polyline><polyline points="453.5,254.75 450,246.75 446.5,254.75 453.5,254.75" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-0 chartlet-f-2"><polyline points="460,307 502.25,307" class="chartlet-flow-edge"><title>Checkout → Pricing</title></polyline><polyline points="502.25,310.5 510.25,307 502.25,303.5 502.25,310.5" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-0 chartlet-f-3"><polyline points="450,317 450,359.25" class="chartlet-flow-edge"><title>Checkout → Payments</title></polyline><polyline points="446.5,359.25 450,367.25 453.5,359.25 446.5,359.25" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-0 chartlet-f-4"><polyline points="440,307 397.75,307" class="chartlet-flow-edge"><title>Checkout → Sign-in</title></polyline><polyline points="397.75,303.5 389.75,307 397.75,310.5 397.75,303.5" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-1 chartlet-f-5"><polyline points="452.249,233.121 467.371,188.548" class="chartlet-flow-edge"><title>Cart → Catalog</title></polyline><polyline points="470.685,189.672 469.941,180.972 464.056,187.423 470.685,189.672" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-2 chartlet-f-5"><polyline points="514.999,300.372 477.014,188.546" class="chartlet-flow-edge"><title>Pricing → Catalog</title></polyline><polyline points="480.328,187.42 474.441,180.971 473.7,189.672 480.328,187.42" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-2 chartlet-f-6"><polyline points="523.95,304.974 568.663,291.453" class="chartlet-flow-edge"><title>Pricing → Tax rules</title></polyline><polyline points="569.677,294.803 576.321,289.137 567.65,288.102 569.677,294.803" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-3 chartlet-f-7"><polyline points="455.242,378.889 498.788,417.424" class="chartlet-flow-edge"><title>Payments → Fraud check</title></polyline><polyline points="496.469,420.045 504.78,422.726 501.108,414.803 496.469,420.045" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-3 chartlet-f-8"><polyline points="443.262,376.148 368.512,397.211" class="chartlet-flow-edge"><title>Payments → Ledger</title></polyline><polyline points="367.563,393.842 360.812,399.38 369.461,400.579 367.563,393.842" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-4 chartlet-f-9"><polyline points="378.253,301.636 340.329,256.398" class="chartlet-flow-edge"><title>Sign-in → User store</title></polyline><polyline points="343.012,254.149 335.19,250.267 337.647,258.646 343.012,254.149" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-5 chartlet-f-10"><polyline points="473.345,167.439 480.81,122.809" class="chartlet-flow-edge"><title>Catalog → Search</title></polyline><polyline points="484.262,123.387 482.13,114.919 477.358,122.232 484.262,123.387" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-8 chartlet-f-11"><polyline points="357.668,407.286 409.014,493.113" class="chartlet-flow-edge"><title>Ledger → Event bus</title></polyline><polyline points="406.011,494.91 413.121,499.978 412.018,491.316 406.011,494.91" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-7 chartlet-f-11"><polyline points="504.669,431.875 428.186,496.32" class="chartlet-flow-edge chartlet-flow-dashed"><title>Fraud check → Event bus</title></polyline><polyline points="425.931,493.643 422.068,501.475 430.441,498.996 425.931,493.643" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-f-11 chartlet-f-12"><polyline points="415.56,512.889 408.095,557.519" class="chartlet-flow-edge chartlet-flow-dashed"><title>Event bus → Metrics</title></polyline><polyline points="404.643,556.942 406.775,565.41 411.547,558.097 404.643,556.942" class="chartlet-flow-head"/></g><g class="chartlet-f chartlet-n-0 chartlet-f-0 chartlet-f-1 chartlet-f-2 chartlet-f-3 chartlet-f-4"><circle cx="450" cy="307" r="9" class="chartlet-net-node chartlet-net-center chartlet-net-g1"><title>Checkout (Shop)</title></circle><text x="450" y="332" text-anchor="middle" class="chartlet-net-label">Checkout</text></g><g class="chartlet-f chartlet-n-1 chartlet-f-0 chartlet-f-1 chartlet-f-5"><circle cx="450" cy="239.75" r="6" class="chartlet-net-node chartlet-net-g1"><title>Cart (Shop)</title></circle><text x="461" y="243.75" text-anchor="start" class="chartlet-net-label">Cart</text></g><g class="chartlet-f chartlet-n-2 chartlet-f-0 chartlet-f-2 chartlet-f-5 chartlet-f-6"><circle cx="517.25" cy="307" r="6" class="chartlet-net-node chartlet-net-g1"><title>Pricing (Shop)</title></circle><text x="528.25" y="311" text-anchor="start" class="chartlet-net-label">Pricing</text></g><g class="chartlet-f chartlet-n-3 chartlet-f-0 chartlet-f-3 chartlet-f-7 chartlet-f-8"><circle cx="450" cy="374.25" r="6" class="chartlet-net-node chartlet-net-g2"><title>Payments (Finance)</title></circle><text x="461" y="378.25" text-anchor="start" class="chartlet-net-label">Payments</text></g><g class="chartlet-f chartlet-n-4 chartlet-f-0 chartlet-f-4 chartlet-f-9"><circle cx="382.75" cy="307" r="6" class="chartlet-net-node chartlet-net-g3"><title>Sign-in (Platform)</title></circle><text x="371.75" y="311" text-anchor="end" class="chartlet-net-label">Sign-in</text></g><g class="chartlet-f chartlet-n-5 chartlet-f-1 chartlet-f-2 chartlet-f-5 chartlet-f-10"><circle cx="472.19" cy="174.343" r="6" class="chartlet-net-node chartlet-net-g1"><title>Catalog (Shop)</title></circle><text x="483.19" y="178.343" text-anchor="start" class="chartlet-net-label">Catalog</text></g><g class="chartlet-f chartlet-n-6 chartlet-f-2 chartlet-f-6"><circle cx="583.021" cy="287.111" r="6" class="chartlet-net-node chartlet-net-g2"><title>Tax rules (Finance)</title></circle><text x="594.021" y="291.111" text-anchor="start" class="chartlet-net-label">Tax rules</text></g><g class="chartlet-f chartlet-n-7 chartlet-f-3 chartlet-f-7 chartlet-f-11"><circle cx="510.022" cy="427.365" r="6" class="chartlet-net-node chartlet-net-g2"><title>Fraud check (Finance)</title></circle><text x="521.022" y="431.365" text-anchor="start" class="chartlet-net-label">Fraud check</text></g><g class="chartlet-f chartlet-n-8 chartlet-f-3 chartlet-f-8 chartlet-f-11"><circle cx="354.074" cy="401.279" r="6" class="chartlet-net-node chartlet-net-g2"><title>Ledger (Finance)</title></circle><text x="343.074" y="405.279" text-anchor="end" class="chartlet-net-label">Ledger</text></g><g class="chartlet-f chartlet-n-9 chartlet-f-4 chartlet-f-9"><circle cx="330.693" cy="244.903" r="6" class="chartlet-net-node chartlet-net-g3"><title>User store (Platform)</title></circle><text x="319.693" y="248.903" text-anchor="end" class="chartlet-net-label">User store</text></g><g class="chartlet-f chartlet-n-10 chartlet-f-5 chartlet-f-10"><circle cx="483.285" cy="108.015" r="6" class="chartlet-net-node chartlet-net-g1"><title>Search (Shop)</title></circle><text x="494.285" y="112.015" text-anchor="start" class="chartlet-net-label">Search</text></g><g class="chartlet-f chartlet-n-11 chartlet-f-7 chartlet-f-8 chartlet-f-11 chartlet-f-12"><circle cx="416.715" cy="505.985" r="6" class="chartlet-net-node chartlet-net-g3"><title>Event bus (Platform)</title></circle><text x="405.715" y="509.985" text-anchor="end" class="chartlet-net-label">Event bus</text></g><g class="chartlet-f chartlet-n-12 chartlet-f-11 chartlet-f-12"><circle cx="405.62" cy="572.314" r="6" class="chartlet-net-node chartlet-net-g3"><title>Metrics (Platform)</title></circle><text x="394.62" y="576.314" text-anchor="end" class="chartlet-net-label">Metrics</text></g><circle cx="30" cy="604" r="6" class="chartlet-net-node chartlet-net-g1"/><text x="42" y="608" text-anchor="start" class="chartlet-legend">Shop</text><circle cx="96.2" cy="604" r="6" class="chartlet-net-node chartlet-net-g2"/><text x="108.2" y="608" text-anchor="start" class="chartlet-legend">Finance</text><circle cx="179.44" cy="604" r="6" class="chartlet-net-node chartlet-net-g3"/><text x="191.44" y="608" text-anchor="start" class="chartlet-legend">Platform</text></svg><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-0" for="chartlet-a08e2c1f5423b1c4-focus-0"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-1" for="chartlet-a08e2c1f5423b1c4-focus-1"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-2" for="chartlet-a08e2c1f5423b1c4-focus-2"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-3" for="chartlet-a08e2c1f5423b1c4-focus-3"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-4" for="chartlet-a08e2c1f5423b1c4-focus-4"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-5" for="chartlet-a08e2c1f5423b1c4-focus-5"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-6" for="chartlet-a08e2c1f5423b1c4-focus-6"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-7" for="chartlet-a08e2c1f5423b1c4-focus-7"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-8" for="chartlet-a08e2c1f5423b1c4-focus-8"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-9" for="chartlet-a08e2c1f5423b1c4-focus-9"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-10" for="chartlet-a08e2c1f5423b1c4-focus-10"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-11" for="chartlet-a08e2c1f5423b1c4-focus-11"></label><label class="chartlet-hotspot" id="chartlet-a08e2c1f5423b1c4-hs-12" for="chartlet-a08e2c1f5423b1c4-focus-12"></label></div><p class="chartlet-source">Source: Service catalogue</p><details class="chartlet-data" data-viz-text><summary>Show chart data</summary><table><caption>Data for What the checkout service depends on</caption><thead><tr><th scope="col">Node</th><th scope="col">Group</th><th scope="col">Ring</th><th scope="col">Leads to</th></tr></thead><tbody><tr><th scope="row">Checkout</th><td>Shop</td><td>Center</td><td>Cart, Pricing, Payments, Sign-in</td></tr><tr><th scope="row">Cart</th><td>Shop</td><td>1</td><td>Catalog</td></tr><tr><th scope="row">Pricing</th><td>Shop</td><td>1</td><td>Catalog, Tax rules</td></tr><tr><th scope="row">Payments</th><td>Finance</td><td>1</td><td>Fraud check, Ledger</td></tr><tr><th scope="row">Sign-in</th><td>Platform</td><td>1</td><td>User store</td></tr><tr><th scope="row">Catalog</th><td>Shop</td><td>2</td><td>Search</td></tr><tr><th scope="row">Tax rules</th><td>Finance</td><td>2</td><td></td></tr><tr><th scope="row">Fraud check</th><td>Finance</td><td>2</td><td>Event bus</td></tr><tr><th scope="row">Ledger</th><td>Finance</td><td>2</td><td>Event bus</td></tr><tr><th scope="row">User store</th><td>Platform</td><td>2</td><td></td></tr><tr><th scope="row">Search</th><td>Shop</td><td>3</td><td></td></tr><tr><th scope="row">Event bus</th><td>Platform</td><td>3</td><td>Metrics</td></tr><tr><th scope="row">Metrics</th><td>Platform</td><td>4</td><td></td></tr></tbody></table></details></figure></div>