@blueprint-chart/editor 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CopyRedirect-DdFXTNk2.js → CopyRedirect-MgJl1fAm.js} +1 -1
- package/dist/assets/{LandingPage-Cnq00mwI.css → LandingPage-Cg1ziJWU.css} +1 -1
- package/dist/assets/{LandingPage-CovY7BYG.js → LandingPage-ZAReVK0Y.js} +4 -4
- package/dist/assets/{index-BzkpOC2W.css → index-CQLeIi0R.css} +1 -1
- package/dist/assets/index-Dw1EfjOY.js +859 -0
- package/dist/index.html +2 -2
- package/package.json +3 -3
- package/dist/assets/index-Uo5-33at.js +0 -859
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as t,o,c as r,a1 as a,a2 as c}from"./index-
|
|
1
|
+
import{d as t,o,c as r,a1 as a,a2 as c}from"./index-Dw1EfjOY.js";const s={class:"copy-redirect","aria-hidden":"true"},i=t({__name:"CopyRedirect",setup(n){const e=a();return c().replace(e.meta.copyTarget??"/"),(p,_)=>(o(),r("div",s))}});export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.landing-topnav__brand[data-v-ce5d22c3]{display:inline-flex;align-items:center;gap:.5rem;color:var(--bs-body-color);text-decoration:none;white-space:nowrap}.landing-topnav__brand[data-v-ce5d22c3]:hover{color:var(--bs-body-color)}.landing-topnav__brand-logo[data-v-ce5d22c3]{height:1.5rem;width:auto;display:block}.landing-topnav__brand-name[data-v-ce5d22c3]{line-height:1}.landing-topnav__github[data-v-ce5d22c3]{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}@media(max-width:37.5rem){.landing-topnav__github[data-v-ce5d22c3]{display:none}}.landing-chart-preview[data-v-eb03c209]{width:100%;height:100%}.landing-hero[data-v-9b065bb8]{padding:3.5rem clamp(1rem,5vw,3.75rem) 4rem}.landing-hero__inner[data-v-9b065bb8]{max-width:70rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.landing-hero__inner__text__eyebrow[data-v-9b065bb8]{margin-bottom:1.25rem}.landing-hero__inner__text__eyebrow__dot[data-v-9b065bb8]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-info);box-shadow:0 0 0 4px rgba(var(--bs-info-rgb),.18)}.landing-hero__inner__text__h1[data-v-9b065bb8]{font-size:clamp(2.25rem,4.5vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.015em;color:var(--bs-body-color);margin-bottom:1.5rem;font-family:"DM Serif Display",Georgia,Times New Roman,serif}.landing-hero__inner__text__h1[data-v-9b065bb8] em{font-style:italic;color:var(--bs-info)}.landing-hero__inner__text__sub[data-v-9b065bb8]{font-size:1rem;color:var(--bs-secondary-color);line-height:1.65;max-width:28.75rem;margin-bottom:2.25rem}.landing-hero__inner__text__actions[data-v-9b065bb8]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.landing-hero__inner__chart[data-v-9b065bb8]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-lg);box-shadow:0 8px 24px #00000026;align-self:center;overflow:hidden}@media(max-width:51.25rem){.landing-hero[data-v-9b065bb8]{padding:2.5rem 1rem 3rem}.landing-hero__inner[data-v-9b065bb8]{grid-template-columns:1fr;gap:2.25rem}.landing-hero__inner__chart[data-v-9b065bb8]{display:block;max-height:60vh;overflow:hidden}}.landing-value-prop-strip[data-v-af8f52cc]{background:var(--bc-content-bg);border-top:1px solid var(--bc-hairline);border-bottom:1px solid var(--bc-hairline);display:grid;grid-template-columns:repeat(4,1fr)}.landing-value-prop-strip__cell[data-v-af8f52cc]{margin:0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;border-right:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:last-child{border-right:none}.landing-value-prop-strip__cell__label[data-v-af8f52cc]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-value-prop-strip__cell__value[data-v-af8f52cc]{margin-inline-start:0;font-size:var(--bs-font-size-md);font-weight:500;color:var(--bs-body-color)}@media(max-width:51.25rem){.landing-value-prop-strip[data-v-af8f52cc]{grid-template-columns:repeat(2,1fr)}.landing-value-prop-strip__cell[data-v-af8f52cc]{padding:.875rem 1rem}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(1),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(2){border-bottom:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(2),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(4){border-right:none}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(1),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(3){border-right:1px solid var(--bc-hairline)}}@media(max-width:33.75rem){.landing-value-prop-strip[data-v-af8f52cc]{grid-template-columns:1fr}.landing-value-prop-strip__cell[data-v-af8f52cc]{border-right:none!important;border-bottom:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:last-child{border-bottom:none}}.landing-section[data-v-1f01ad30]{padding:4.5rem clamp(1rem,5vw,3.75rem)}.landing-section__inner[data-v-1f01ad30]{max-width:70rem;margin:0 auto}.landing-section--bordered[data-v-1f01ad30]{border-top:1px solid var(--bc-hairline)}.landing-section--surface-chrome[data-v-1f01ad30]{background:var(--bc-chrome-bg)}.landing-section--surface-content[data-v-1f01ad30]{background:var(--bc-content-bg)}.landing-section--dark[data-v-1f01ad30]{background:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme=dark] .landing-section--dark[data-v-1f01ad30]{background:var(--bc-content-bg)}.landing-section-header__label[data-v-893c7bf5]{font-family:Geist Mono,ui-monospace,JetBrains Mono,monospace;font-size:var(--bs-font-size-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color);margin-bottom:.625rem}.landing-section-header__title[data-v-893c7bf5]{font-family:"DM Serif Display",serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--bs-body-color);margin-bottom:.875rem}.landing-section-header__title[data-v-893c7bf5] em{font-style:italic}.landing-section-header__lead[data-v-893c7bf5]{font-size:1rem;color:var(--bs-secondary-color);max-width:35rem;line-height:1.7;margin-bottom:2.5rem}.landing-section-header--center[data-v-893c7bf5]{text-align:center;max-width:37.5rem;margin:0 auto 3rem}.landing-section-header--center .landing-section-header__lead[data-v-893c7bf5]{margin-left:auto;margin-right:auto;margin-bottom:0}.landing-default-card[data-v-582e2ff8]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);padding:1rem 1rem .875rem;display:flex;flex-direction:column;gap:.25rem}.landing-default-card__head[data-v-582e2ff8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.landing-default-card__head__icon[data-v-582e2ff8]{width:1.375rem;height:1.375rem;border-radius:var(--bc-radius-sm);background:var(--bs-info-bg-subtle);color:var(--bs-info);display:inline-flex;align-items:center;justify-content:center}.landing-default-card__head__tag[data-v-582e2ff8]{font-family:Geist Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.06em;color:var(--bs-tertiary-color);text-transform:uppercase}.landing-default-card__title[data-v-582e2ff8]{font-size:var(--bs-font-size-md);font-weight:600;color:var(--bs-body-color);margin:0}.landing-default-card__desc[data-v-582e2ff8]{font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);line-height:1.55;margin:0}.landing-defaults__grid[data-v-2c0e797b]{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}.landing-defaults__grid__chart[data-v-2c0e797b]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-lg);overflow:hidden;align-self:stretch}.landing-defaults__grid__cards[data-v-2c0e797b]{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}@media(max-width:51.25rem){.landing-defaults__grid[data-v-2c0e797b]{grid-template-columns:1fr}.landing-defaults__grid__chart[data-v-2c0e797b]{order:-1}}@media(max-width:33.75rem){.landing-defaults__grid__cards[data-v-2c0e797b]{grid-template-columns:1fr}}.transforms-demo[data-v-51aeaea0]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden}.transforms-demo__steps[data-v-51aeaea0]{display:flex;overflow-x:auto;border-bottom:1px solid var(--bc-hairline)}.transforms-demo__step[data-v-51aeaea0]{flex:1;min-width:0;padding:.625rem 1rem;border:none;border-right:1px solid var(--bc-hairline);background:var(--bc-content-bg);cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:.5rem}.transforms-demo__step[data-v-51aeaea0]:last-child{border-right:none}.transforms-demo__step[data-v-51aeaea0]:hover{background:var(--bc-wash-soft)}.transforms-demo__step--active[data-v-51aeaea0]{background:var(--bc-wash-firm)}.transforms-demo__step__num[data-v-51aeaea0]{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bc-hairline);color:var(--bs-secondary-color);font-size:var(--bs-font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.transforms-demo__step--active .transforms-demo__step__num[data-v-51aeaea0]{background:var(--bs-primary);color:#fff}.transforms-demo__step__label[data-v-51aeaea0]{font-size:var(--bs-font-size-sm);font-weight:600;color:var(--bs-secondary-color);white-space:nowrap}.transforms-demo__step--active .transforms-demo__step__label[data-v-51aeaea0]{color:var(--bs-primary)}.transforms-demo__body[data-v-51aeaea0]{display:grid;grid-template-columns:1fr 4rem 1fr;align-items:center;padding:0 1.25rem}.transforms-demo__body__panel[data-v-51aeaea0]{padding:1rem 1.25rem;border:1px solid var(--bc-hairline);border-radius:.5rem;margin:1rem 0}.transforms-demo__body__panel__title[data-v-51aeaea0]{font-size:var(--bs-font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--bs-tertiary-color);margin-bottom:.75rem}.transforms-demo__body__panel__table[data-v-51aeaea0]{width:100%;border-collapse:collapse;font-size:var(--bs-font-size-sm)}.transforms-demo__body__panel__th[data-v-51aeaea0]{padding:.25rem .625rem;text-align:left;font-weight:600;font-size:var(--bs-font-size-xs);background:var(--bc-content-bg);color:var(--bs-secondary-color);border-bottom:1px solid var(--bc-hairline)}.transforms-demo__body__panel__td[data-v-51aeaea0]{padding:.25rem .625rem;border-bottom:1px solid var(--bc-hairline);color:var(--bs-secondary-color)}tr:last-child>.transforms-demo__body__panel__td[data-v-51aeaea0]{border-bottom:none}.transforms-demo__body__panel__td--highlight[data-v-51aeaea0]{color:var(--bs-primary);font-weight:600}.transforms-demo__body__panel__note[data-v-51aeaea0]{font-size:var(--bs-font-size-xs);color:var(--bs-tertiary-color);line-height:1.6;margin-top:.75rem;margin-bottom:0}.transforms-demo__body__flow[data-v-51aeaea0]{position:relative;display:flex;align-items:center}.transforms-demo__body__flow__svg[data-v-51aeaea0]{width:100%;height:2px}.transforms-demo__body__flow__wire[data-v-51aeaea0]{fill:none;stroke:var(--bc-hairline);stroke-width:1.5;stroke-dasharray:5 4;stroke-linecap:round;animation:wire-flow-51aeaea0 1s linear infinite}.transforms-demo__body__flow__dot[data-v-51aeaea0]{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--bc-hairline);top:50%;transform:translateY(-50%)}.transforms-demo__body__flow__dot--left[data-v-51aeaea0]{left:-4px}.transforms-demo__body__flow__dot--right[data-v-51aeaea0]{right:-4px}@keyframes wire-flow-51aeaea0{to{stroke-dashoffset:-9}}.landing-transforms__cards[data-v-51aeaea0]{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-top:1.75rem}@media(max-width:51.25rem){.transforms-demo__step[data-v-51aeaea0]{flex:0 0 auto}.transforms-demo__body[data-v-51aeaea0]{grid-template-columns:1fr;padding:1.25rem}.transforms-demo__body__panel[data-v-51aeaea0]{margin:0}.transforms-demo__body__flow[data-v-51aeaea0]{flex-direction:column;justify-content:center;align-items:center;height:2rem;margin:-4px 0;position:relative;z-index:1;overflow:hidden}.transforms-demo__body__flow__svg[data-v-51aeaea0]{width:auto;height:auto;flex:1;transform:rotate(90deg)}.transforms-demo__body__flow__dot[data-v-51aeaea0]{position:static;transform:none;flex-shrink:0}.transforms-demo__body__flow__dot--left[data-v-51aeaea0]{order:-1}.transforms-demo__body__flow__dot--right[data-v-51aeaea0]{order:1}.landing-transforms__cards[data-v-51aeaea0]{grid-template-columns:repeat(2,1fr)}}@media(max-width:33.75rem){.landing-transforms__cards[data-v-51aeaea0]{grid-template-columns:1fr}}.landing-format__grid[data-v-f2deba77]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.landing-format__pane[data-v-f2deba77]{background:var(--bc-content-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;display:flex;flex-direction:column}.landing-format__pane__head[data-v-f2deba77]{padding:.5rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.06em;color:var(--bs-tertiary-color);text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.landing-format__pane__head__dots[data-v-f2deba77]{display:inline-flex;gap:.1875rem}.landing-format__pane__head__dots span[data-v-f2deba77]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.35}.landing-format__pane__code[data-v-f2deba77]{flex:1;padding:1rem 1.125rem;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-sm);line-height:1.75;color:var(--bs-body-color);margin:0;overflow:auto;scrollbar-width:none;white-space:pre}.landing-format__pane__code[data-v-f2deba77]:hover,.landing-format__pane__code[data-v-f2deba77]:active{scrollbar-width:thin}.landing-format__browser[data-v-f2deba77]{align-self:flex-start;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;display:flex;flex-direction:column}.landing-format__browser__url[data-v-f2deba77]{padding:.5rem .75rem;background:var(--bc-content-bg);border-bottom:1px solid var(--bc-hairline);display:flex;align-items:center;gap:.5rem}.landing-format__browser__url__dots[data-v-f2deba77]{display:inline-flex;gap:.25rem}.landing-format__browser__url__dots span[data-v-f2deba77]{width:.5rem;height:.5rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.4}.landing-format__browser__url__bar[data-v-f2deba77]{flex:1;padding:.1875rem .625rem;background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-xs);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);color:var(--bs-secondary-color);display:inline-flex;align-items:center;gap:.375rem;min-width:0;text-decoration:none;transition:border-color var(--bc-duration-fast) var(--bc-ease)}.landing-format__browser__url__bar[data-v-f2deba77]:hover,.landing-format__browser__url__bar[data-v-f2deba77]:focus-visible{border-color:var(--bc-hairline-strong)}.landing-format__browser__url__bar[data-v-f2deba77]:focus-visible{outline:none;box-shadow:var(--bc-focus-ring)}.landing-format__browser__url__bar__host[data-v-f2deba77]{color:var(--bs-body-color);white-space:nowrap}.landing-format__browser__url__bar__fragment[data-v-f2deba77]{color:var(--bs-tertiary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-format__browser__url__bar__fragment--short[data-v-f2deba77]{display:none}.landing-format__browser__chart[data-v-f2deba77]{flex:1;min-height:0}.landing-format__cards[data-v-f2deba77]{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-top:1.5rem}.landing-format__footnote[data-v-f2deba77]{display:inline-flex;align-items:flex-start;gap:.5rem;margin-top:1.25rem;padding:.5rem .875rem;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-pill);font-size:var(--bs-font-size-sm);line-height:1.5;color:var(--bs-secondary-color)}.landing-format__footnote__lead[data-v-f2deba77]{flex:none;display:inline-flex;align-items:center;gap:.5rem;min-height:1.5em}.landing-format__footnote__label[data-v-f2deba77]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-format__footnote__text[data-v-f2deba77]{min-width:0}.landing-format__footnote__link[data-v-f2deba77]{font-weight:700;color:var(--bs-primary);text-decoration:none}.landing-format__footnote__link[data-v-f2deba77]:hover,.landing-format__footnote__link[data-v-f2deba77]:focus-visible{text-decoration:underline}@media(max-width:51.25rem){.landing-format__grid[data-v-f2deba77]{grid-template-columns:1fr}.landing-format__pane__code[data-v-f2deba77]{max-height:18rem}.landing-format__cards[data-v-f2deba77]{grid-template-columns:1fr}.landing-format__footnote[data-v-f2deba77]{border-radius:var(--bc-radius-md)}}@media(max-width:33.75rem){.landing-format__browser__url__bar__fragment--long[data-v-f2deba77]{display:none}.landing-format__browser__url__bar__fragment--short[data-v-f2deba77]{display:inline}}.landing-mcp__grid[data-v-f2159407]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.landing-mcp__chat[data-v-f2159407]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);background:var(--bc-content-bg);overflow:hidden;display:flex;flex-direction:column;min-width:0}.landing-mcp__chat__head[data-v-f2159407]{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color)}.landing-mcp__chat__head__logo[data-v-f2159407]{width:1.125rem;height:1.125rem;border-radius:var(--bc-radius-xs);background:var(--bs-primary);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center}.landing-mcp__chat__body[data-v-f2159407]{padding:1rem .875rem;display:flex;flex-direction:column;gap:.875rem;background-image:radial-gradient(circle at .75rem .75rem,rgba(20,24,29,.035) 1px,transparent 1px);background-size:1.375rem 1.375rem}.landing-mcp__msg[data-v-f2159407]{display:flex;align-items:flex-start;gap:.5rem;min-width:0}.landing-mcp__msg--user[data-v-f2159407]{flex-direction:row-reverse}.landing-mcp__msg--grouped[data-v-f2159407]{margin-top:-.625rem}.landing-mcp__msg__col[data-v-f2159407]{display:flex;flex-direction:column;gap:.1875rem;max-width:92%;min-width:0}.landing-mcp__msg--user .landing-mcp__msg__col[data-v-f2159407]{align-items:flex-end}.landing-mcp__msg__name[data-v-f2159407]{font-size:.65rem;color:var(--bs-tertiary-color);padding:0 .1875rem}.landing-mcp__avatar[data-v-f2159407]{flex:none;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600}.landing-mcp__avatar--asst[data-v-f2159407]{background:var(--bs-primary);color:#fff}.landing-mcp__avatar--user[data-v-f2159407]{background:var(--bc-tile-bg);color:var(--bs-secondary-color)}.landing-mcp__bubble[data-v-f2159407]{font-size:var(--bs-font-size-sm);line-height:1.5;padding:.5rem .6875rem;width:fit-content;max-width:100%;min-width:0}.landing-mcp__bubble--asst[data-v-f2159407]{background:var(--bc-tile-bg);color:var(--bs-body-color);border-radius:0 var(--bc-radius-md) var(--bc-radius-md) var(--bc-radius-md)}.landing-mcp__bubble--user[data-v-f2159407]{background:#e6eff8;color:#1d4f86;border:1px solid #cfe0f1;border-radius:var(--bc-radius-md) 0 var(--bc-radius-md) var(--bc-radius-md);text-wrap:balance;text-wrap:pretty;max-width:min(20rem,100%)}.landing-mcp__link[data-v-f2159407]{display:block;max-width:min(15rem,100%);margin-top:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);color:var(--bs-primary);text-decoration:none}.landing-mcp__link[data-v-f2159407]:hover,.landing-mcp__link[data-v-f2159407]:focus-visible{text-decoration:underline}.landing-mcp__chart[data-v-f2159407]{margin-top:.25rem;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;padding:.75rem;background:#fff}.landing-mcp__chart__img[data-v-f2159407]{display:block;width:100%;height:auto}.landing-mcp__proof[data-v-f2159407]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);background:var(--bc-content-bg);padding:1.125rem;display:flex;flex-direction:column;gap:1rem;min-width:0}.landing-mcp__proof__label[data-v-f2159407]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-mcp__steps[data-v-f2159407]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.landing-mcp__steps__item[data-v-f2159407]{position:relative;display:flex;align-items:flex-start;gap:.6875rem;padding-bottom:.875rem}.landing-mcp__steps__item[data-v-f2159407]:not(:last-child):before{content:"";position:absolute;left:.6875rem;top:1.5rem;bottom:0;width:2px;background:var(--bc-hairline)}.landing-mcp__steps__item[data-v-f2159407]:last-child{padding-bottom:0}.landing-mcp__steps__n[data-v-f2159407]{flex:none;width:1.4375rem;height:1.4375rem;border-radius:50%;border:1.5px solid var(--bs-primary);background:var(--bc-content-bg);color:var(--bs-primary);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}.landing-mcp__steps__t[data-v-f2159407]{font-size:var(--bs-font-size-sm);color:var(--bs-body-color);padding-top:.125rem}.landing-mcp__steps__t small[data-v-f2159407]{display:block;color:var(--bs-tertiary-color);font-size:var(--bs-font-size-xs)}.landing-mcp__install[data-v-f2159407]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;min-width:0}.landing-mcp__install__head[data-v-f2159407]{padding:.5rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--bs-tertiary-color);display:flex;align-items:center;gap:.5rem}.landing-mcp__install__head__dots[data-v-f2159407]{display:inline-flex;gap:.1875rem}.landing-mcp__install__head__dots span[data-v-f2159407]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.35}.landing-mcp__install__cmd[data-v-f2159407]{display:block;padding:.875rem 1.125rem;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-sm);color:var(--bs-body-color);white-space:nowrap;overflow-x:auto}.landing-mcp__cta[data-v-f2159407]{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--bc-radius-md);background:var(--bs-primary);color:#fff;font-size:var(--bs-font-size-sm);font-weight:600;text-decoration:none;transition:opacity var(--bc-duration-fast) var(--bc-ease)}.landing-mcp__cta[data-v-f2159407]:hover,.landing-mcp__cta[data-v-f2159407]:focus-visible{opacity:.9}.landing-mcp__cta[data-v-f2159407]:focus-visible{outline:none;box-shadow:var(--bc-focus-ring)}[data-bs-theme=dark] .landing-mcp__bubble--user[data-v-f2159407]{background:#2563a038;color:#dce8f4;border-color:#2563a073}[data-bs-theme=dark] .landing-mcp__chat__body[data-v-f2159407]{background-image:radial-gradient(circle at .75rem .75rem,rgba(255,255,255,.04) 1px,transparent 1px)}@media(max-width:51.25rem){.landing-mcp__grid[data-v-f2159407]{grid-template-columns:1fr}}.scenes__grid[data-v-778ad8a4]{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}.scenes__grid__features[data-v-778ad8a4]{display:flex;flex-direction:column;gap:.75rem}.scenes-feature[data-v-778ad8a4]{display:flex;gap:.625rem;align-items:flex-start;padding:.75rem 1rem;background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:calc(var(--bc-radius-md) - 2px)}.scenes-feature__icon[data-v-778ad8a4]{margin-top:1px}.scenes-feature__title[data-v-778ad8a4]{font-size:var(--bs-font-size-sm)}.scenes-feature__desc[data-v-778ad8a4]{font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);margin-top:.125rem;line-height:1.5}.scenes-demo[data-v-778ad8a4]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden}@media(max-width:51.25rem){.scenes__grid[data-v-778ad8a4]{grid-template-columns:1fr}.scenes__grid__features[data-v-778ad8a4]{order:1}}.landing-footer[data-v-8649cda4]{background:var(--bc-chrome-bg);border-top:1px solid var(--bc-hairline);padding:1.5rem clamp(1rem,5vw,3.75rem);display:flex;align-items:center;gap:1rem;font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);flex-wrap:wrap}.landing-footer__brand[data-v-8649cda4]{display:inline-flex;align-items:center;gap:.5rem;color:var(--bs-body-color);font-weight:600}.landing-footer__brand__logo[data-v-8649cda4]{height:1.125rem;width:auto}.landing-footer__sep[data-v-8649cda4]{color:var(--bs-tertiary-color)}.landing-footer__link[data-v-8649cda4]{color:var(--bs-secondary-color);text-decoration:none}.landing-footer__link[data-v-8649cda4]:hover{color:var(--bs-body-color)}.landing-footer__spacer[data-v-8649cda4]{flex:1}.landing-footer__tagline[data-v-8649cda4]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}@media(max-width:33.75rem){.landing-footer[data-v-8649cda4]{padding:1.25rem 1rem}.landing-footer__tagline[data-v-8649cda4]{width:100%}.landing-footer__spacer[data-v-8649cda4]{display:none}}.landing-page[data-v-c9807b66]{background:var(--bc-chrome-bg);min-height:100vh;width:100%;background-image:radial-gradient(ellipse 900px 600px at 18% 8%,rgba(37,99,160,.1),transparent 60%)}
|
|
1
|
+
@charset "UTF-8";.landing-topnav__brand[data-v-ece0e1a3]{display:inline-flex;align-items:center;gap:.5rem;color:var(--bs-body-color);text-decoration:none;white-space:nowrap}.landing-topnav__brand[data-v-ece0e1a3]:hover{color:var(--bs-body-color)}.landing-topnav__brand-logo[data-v-ece0e1a3]{height:1.5rem;width:auto;display:block}.landing-topnav__brand-name[data-v-ece0e1a3]{line-height:1}.landing-topnav__github[data-v-ece0e1a3]{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}@media(max-width:37.5rem){.landing-topnav__github[data-v-ece0e1a3]{display:none}}.landing-chart-preview[data-v-eb03c209]{width:100%;height:100%}.landing-hero[data-v-9b065bb8]{padding:3.5rem clamp(1rem,5vw,3.75rem) 4rem}.landing-hero__inner[data-v-9b065bb8]{max-width:70rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.landing-hero__inner__text__eyebrow[data-v-9b065bb8]{margin-bottom:1.25rem}.landing-hero__inner__text__eyebrow__dot[data-v-9b065bb8]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-info);box-shadow:0 0 0 4px rgba(var(--bs-info-rgb),.18)}.landing-hero__inner__text__h1[data-v-9b065bb8]{font-size:clamp(2.25rem,4.5vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.015em;color:var(--bs-body-color);margin-bottom:1.5rem;font-family:"DM Serif Display",Georgia,Times New Roman,serif}.landing-hero__inner__text__h1[data-v-9b065bb8] em{font-style:italic;color:var(--bs-info)}.landing-hero__inner__text__sub[data-v-9b065bb8]{font-size:1rem;color:var(--bs-secondary-color);line-height:1.65;max-width:28.75rem;margin-bottom:2.25rem}.landing-hero__inner__text__actions[data-v-9b065bb8]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.landing-hero__inner__chart[data-v-9b065bb8]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-lg);box-shadow:0 8px 24px #00000026;align-self:center;overflow:hidden}@media(max-width:51.25rem){.landing-hero[data-v-9b065bb8]{padding:2.5rem 1rem 3rem}.landing-hero__inner[data-v-9b065bb8]{grid-template-columns:1fr;gap:2.25rem}.landing-hero__inner__chart[data-v-9b065bb8]{display:block;max-height:60vh;overflow:hidden}}.landing-value-prop-strip[data-v-af8f52cc]{background:var(--bc-content-bg);border-top:1px solid var(--bc-hairline);border-bottom:1px solid var(--bc-hairline);display:grid;grid-template-columns:repeat(4,1fr)}.landing-value-prop-strip__cell[data-v-af8f52cc]{margin:0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;border-right:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:last-child{border-right:none}.landing-value-prop-strip__cell__label[data-v-af8f52cc]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-value-prop-strip__cell__value[data-v-af8f52cc]{margin-inline-start:0;font-size:var(--bs-font-size-md);font-weight:500;color:var(--bs-body-color)}@media(max-width:51.25rem){.landing-value-prop-strip[data-v-af8f52cc]{grid-template-columns:repeat(2,1fr)}.landing-value-prop-strip__cell[data-v-af8f52cc]{padding:.875rem 1rem}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(1),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(2){border-bottom:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(2),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(4){border-right:none}.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(1),.landing-value-prop-strip__cell[data-v-af8f52cc]:nth-child(3){border-right:1px solid var(--bc-hairline)}}@media(max-width:33.75rem){.landing-value-prop-strip[data-v-af8f52cc]{grid-template-columns:1fr}.landing-value-prop-strip__cell[data-v-af8f52cc]{border-right:none!important;border-bottom:1px solid var(--bc-hairline)}.landing-value-prop-strip__cell[data-v-af8f52cc]:last-child{border-bottom:none}}.landing-section[data-v-1f01ad30]{padding:4.5rem clamp(1rem,5vw,3.75rem)}.landing-section__inner[data-v-1f01ad30]{max-width:70rem;margin:0 auto}.landing-section--bordered[data-v-1f01ad30]{border-top:1px solid var(--bc-hairline)}.landing-section--surface-chrome[data-v-1f01ad30]{background:var(--bc-chrome-bg)}.landing-section--surface-content[data-v-1f01ad30]{background:var(--bc-content-bg)}.landing-section--dark[data-v-1f01ad30]{background:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme=dark] .landing-section--dark[data-v-1f01ad30]{background:var(--bc-content-bg)}.landing-section-header__label[data-v-893c7bf5]{font-family:Geist Mono,ui-monospace,JetBrains Mono,monospace;font-size:var(--bs-font-size-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color);margin-bottom:.625rem}.landing-section-header__title[data-v-893c7bf5]{font-family:"DM Serif Display",serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--bs-body-color);margin-bottom:.875rem}.landing-section-header__title[data-v-893c7bf5] em{font-style:italic}.landing-section-header__lead[data-v-893c7bf5]{font-size:1rem;color:var(--bs-secondary-color);max-width:35rem;line-height:1.7;margin-bottom:2.5rem}.landing-section-header--center[data-v-893c7bf5]{text-align:center;max-width:37.5rem;margin:0 auto 3rem}.landing-section-header--center .landing-section-header__lead[data-v-893c7bf5]{margin-left:auto;margin-right:auto;margin-bottom:0}.landing-default-card[data-v-582e2ff8]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);padding:1rem 1rem .875rem;display:flex;flex-direction:column;gap:.25rem}.landing-default-card__head[data-v-582e2ff8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.landing-default-card__head__icon[data-v-582e2ff8]{width:1.375rem;height:1.375rem;border-radius:var(--bc-radius-sm);background:var(--bs-info-bg-subtle);color:var(--bs-info);display:inline-flex;align-items:center;justify-content:center}.landing-default-card__head__tag[data-v-582e2ff8]{font-family:Geist Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.06em;color:var(--bs-tertiary-color);text-transform:uppercase}.landing-default-card__title[data-v-582e2ff8]{font-size:var(--bs-font-size-md);font-weight:600;color:var(--bs-body-color);margin:0}.landing-default-card__desc[data-v-582e2ff8]{font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);line-height:1.55;margin:0}.landing-defaults__grid[data-v-2c0e797b]{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}.landing-defaults__grid__chart[data-v-2c0e797b]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-lg);overflow:hidden;align-self:stretch}.landing-defaults__grid__cards[data-v-2c0e797b]{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}@media(max-width:51.25rem){.landing-defaults__grid[data-v-2c0e797b]{grid-template-columns:1fr}.landing-defaults__grid__chart[data-v-2c0e797b]{order:-1}}@media(max-width:33.75rem){.landing-defaults__grid__cards[data-v-2c0e797b]{grid-template-columns:1fr}}.transforms-demo[data-v-51aeaea0]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden}.transforms-demo__steps[data-v-51aeaea0]{display:flex;overflow-x:auto;border-bottom:1px solid var(--bc-hairline)}.transforms-demo__step[data-v-51aeaea0]{flex:1;min-width:0;padding:.625rem 1rem;border:none;border-right:1px solid var(--bc-hairline);background:var(--bc-content-bg);cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:.5rem}.transforms-demo__step[data-v-51aeaea0]:last-child{border-right:none}.transforms-demo__step[data-v-51aeaea0]:hover{background:var(--bc-wash-soft)}.transforms-demo__step--active[data-v-51aeaea0]{background:var(--bc-wash-firm)}.transforms-demo__step__num[data-v-51aeaea0]{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bc-hairline);color:var(--bs-secondary-color);font-size:var(--bs-font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.transforms-demo__step--active .transforms-demo__step__num[data-v-51aeaea0]{background:var(--bs-primary);color:#fff}.transforms-demo__step__label[data-v-51aeaea0]{font-size:var(--bs-font-size-sm);font-weight:600;color:var(--bs-secondary-color);white-space:nowrap}.transforms-demo__step--active .transforms-demo__step__label[data-v-51aeaea0]{color:var(--bs-primary)}.transforms-demo__body[data-v-51aeaea0]{display:grid;grid-template-columns:1fr 4rem 1fr;align-items:center;padding:0 1.25rem}.transforms-demo__body__panel[data-v-51aeaea0]{padding:1rem 1.25rem;border:1px solid var(--bc-hairline);border-radius:.5rem;margin:1rem 0}.transforms-demo__body__panel__title[data-v-51aeaea0]{font-size:var(--bs-font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--bs-tertiary-color);margin-bottom:.75rem}.transforms-demo__body__panel__table[data-v-51aeaea0]{width:100%;border-collapse:collapse;font-size:var(--bs-font-size-sm)}.transforms-demo__body__panel__th[data-v-51aeaea0]{padding:.25rem .625rem;text-align:left;font-weight:600;font-size:var(--bs-font-size-xs);background:var(--bc-content-bg);color:var(--bs-secondary-color);border-bottom:1px solid var(--bc-hairline)}.transforms-demo__body__panel__td[data-v-51aeaea0]{padding:.25rem .625rem;border-bottom:1px solid var(--bc-hairline);color:var(--bs-secondary-color)}tr:last-child>.transforms-demo__body__panel__td[data-v-51aeaea0]{border-bottom:none}.transforms-demo__body__panel__td--highlight[data-v-51aeaea0]{color:var(--bs-primary);font-weight:600}.transforms-demo__body__panel__note[data-v-51aeaea0]{font-size:var(--bs-font-size-xs);color:var(--bs-tertiary-color);line-height:1.6;margin-top:.75rem;margin-bottom:0}.transforms-demo__body__flow[data-v-51aeaea0]{position:relative;display:flex;align-items:center}.transforms-demo__body__flow__svg[data-v-51aeaea0]{width:100%;height:2px}.transforms-demo__body__flow__wire[data-v-51aeaea0]{fill:none;stroke:var(--bc-hairline);stroke-width:1.5;stroke-dasharray:5 4;stroke-linecap:round;animation:wire-flow-51aeaea0 1s linear infinite}.transforms-demo__body__flow__dot[data-v-51aeaea0]{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--bc-hairline);top:50%;transform:translateY(-50%)}.transforms-demo__body__flow__dot--left[data-v-51aeaea0]{left:-4px}.transforms-demo__body__flow__dot--right[data-v-51aeaea0]{right:-4px}@keyframes wire-flow-51aeaea0{to{stroke-dashoffset:-9}}.landing-transforms__cards[data-v-51aeaea0]{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-top:1.75rem}@media(max-width:51.25rem){.transforms-demo__step[data-v-51aeaea0]{flex:0 0 auto}.transforms-demo__body[data-v-51aeaea0]{grid-template-columns:1fr;padding:1.25rem}.transforms-demo__body__panel[data-v-51aeaea0]{margin:0}.transforms-demo__body__flow[data-v-51aeaea0]{flex-direction:column;justify-content:center;align-items:center;height:2rem;margin:-4px 0;position:relative;z-index:1;overflow:hidden}.transforms-demo__body__flow__svg[data-v-51aeaea0]{width:auto;height:auto;flex:1;transform:rotate(90deg)}.transforms-demo__body__flow__dot[data-v-51aeaea0]{position:static;transform:none;flex-shrink:0}.transforms-demo__body__flow__dot--left[data-v-51aeaea0]{order:-1}.transforms-demo__body__flow__dot--right[data-v-51aeaea0]{order:1}.landing-transforms__cards[data-v-51aeaea0]{grid-template-columns:repeat(2,1fr)}}@media(max-width:33.75rem){.landing-transforms__cards[data-v-51aeaea0]{grid-template-columns:1fr}}.landing-format__grid[data-v-f2deba77]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.landing-format__pane[data-v-f2deba77]{background:var(--bc-content-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;display:flex;flex-direction:column}.landing-format__pane__head[data-v-f2deba77]{padding:.5rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.06em;color:var(--bs-tertiary-color);text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.landing-format__pane__head__dots[data-v-f2deba77]{display:inline-flex;gap:.1875rem}.landing-format__pane__head__dots span[data-v-f2deba77]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.35}.landing-format__pane__code[data-v-f2deba77]{flex:1;padding:1rem 1.125rem;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-sm);line-height:1.75;color:var(--bs-body-color);margin:0;overflow:auto;scrollbar-width:none;white-space:pre}.landing-format__pane__code[data-v-f2deba77]:hover,.landing-format__pane__code[data-v-f2deba77]:active{scrollbar-width:thin}.landing-format__browser[data-v-f2deba77]{align-self:flex-start;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;display:flex;flex-direction:column}.landing-format__browser__url[data-v-f2deba77]{padding:.5rem .75rem;background:var(--bc-content-bg);border-bottom:1px solid var(--bc-hairline);display:flex;align-items:center;gap:.5rem}.landing-format__browser__url__dots[data-v-f2deba77]{display:inline-flex;gap:.25rem}.landing-format__browser__url__dots span[data-v-f2deba77]{width:.5rem;height:.5rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.4}.landing-format__browser__url__bar[data-v-f2deba77]{flex:1;padding:.1875rem .625rem;background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-xs);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);color:var(--bs-secondary-color);display:inline-flex;align-items:center;gap:.375rem;min-width:0;text-decoration:none;transition:border-color var(--bc-duration-fast) var(--bc-ease)}.landing-format__browser__url__bar[data-v-f2deba77]:hover,.landing-format__browser__url__bar[data-v-f2deba77]:focus-visible{border-color:var(--bc-hairline-strong)}.landing-format__browser__url__bar[data-v-f2deba77]:focus-visible{outline:none;box-shadow:var(--bc-focus-ring)}.landing-format__browser__url__bar__host[data-v-f2deba77]{color:var(--bs-body-color);white-space:nowrap}.landing-format__browser__url__bar__fragment[data-v-f2deba77]{color:var(--bs-tertiary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-format__browser__url__bar__fragment--short[data-v-f2deba77]{display:none}.landing-format__browser__chart[data-v-f2deba77]{flex:1;min-height:0}.landing-format__cards[data-v-f2deba77]{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-top:1.5rem}.landing-format__footnote[data-v-f2deba77]{display:inline-flex;align-items:flex-start;gap:.5rem;margin-top:1.25rem;padding:.5rem .875rem;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-pill);font-size:var(--bs-font-size-sm);line-height:1.5;color:var(--bs-secondary-color)}.landing-format__footnote__lead[data-v-f2deba77]{flex:none;display:inline-flex;align-items:center;gap:.5rem;min-height:1.5em}.landing-format__footnote__label[data-v-f2deba77]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-format__footnote__text[data-v-f2deba77]{min-width:0}.landing-format__footnote__link[data-v-f2deba77]{font-weight:700;color:var(--bs-primary);text-decoration:none}.landing-format__footnote__link[data-v-f2deba77]:hover,.landing-format__footnote__link[data-v-f2deba77]:focus-visible{text-decoration:underline}@media(max-width:51.25rem){.landing-format__grid[data-v-f2deba77]{grid-template-columns:1fr}.landing-format__pane__code[data-v-f2deba77]{max-height:18rem}.landing-format__cards[data-v-f2deba77]{grid-template-columns:1fr}.landing-format__footnote[data-v-f2deba77]{border-radius:var(--bc-radius-md)}}@media(max-width:33.75rem){.landing-format__browser__url__bar__fragment--long[data-v-f2deba77]{display:none}.landing-format__browser__url__bar__fragment--short[data-v-f2deba77]{display:inline}}.landing-mcp__grid[data-v-63454f11]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.landing-mcp__chat[data-v-63454f11]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);background:var(--bc-content-bg);overflow:hidden;display:flex;flex-direction:column;min-width:0}.landing-mcp__chat__head[data-v-63454f11]{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color)}.landing-mcp__chat__head__logo[data-v-63454f11]{width:1.125rem;height:1.125rem;border-radius:var(--bc-radius-xs);background:var(--bs-primary);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center}.landing-mcp__chat__body[data-v-63454f11]{padding:1rem .875rem;display:flex;flex-direction:column;gap:.875rem;background-image:radial-gradient(circle at .75rem .75rem,rgba(20,24,29,.035) 1px,transparent 1px);background-size:1.375rem 1.375rem}.landing-mcp__msg[data-v-63454f11]{display:flex;align-items:flex-start;gap:.5rem;min-width:0}.landing-mcp__msg--user[data-v-63454f11]{flex-direction:row-reverse}.landing-mcp__msg--grouped[data-v-63454f11]{margin-top:-.625rem}.landing-mcp__msg__col[data-v-63454f11]{display:flex;flex-direction:column;gap:.1875rem;max-width:92%;min-width:0}.landing-mcp__msg--user .landing-mcp__msg__col[data-v-63454f11]{align-items:flex-end}.landing-mcp__msg__name[data-v-63454f11]{font-size:.65rem;color:var(--bs-tertiary-color);padding:0 .1875rem}.landing-mcp__avatar[data-v-63454f11]{flex:none;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600}.landing-mcp__avatar--asst[data-v-63454f11]{background:var(--bs-primary);color:#fff}.landing-mcp__avatar--user[data-v-63454f11]{background:var(--bc-tile-bg);color:var(--bs-secondary-color)}.landing-mcp__bubble[data-v-63454f11]{font-size:var(--bs-font-size-sm);line-height:1.5;padding:.5rem .6875rem;width:fit-content;max-width:100%;min-width:0}.landing-mcp__bubble--asst[data-v-63454f11]{background:var(--bc-tile-bg);color:var(--bs-body-color);border-radius:0 var(--bc-radius-md) var(--bc-radius-md) var(--bc-radius-md)}.landing-mcp__bubble--user[data-v-63454f11]{background:#e6eff8;color:#1d4f86;border:1px solid #cfe0f1;border-radius:var(--bc-radius-md) 0 var(--bc-radius-md) var(--bc-radius-md);text-wrap:balance;text-wrap:pretty;max-width:min(20rem,100%)}.landing-mcp__link[data-v-63454f11]{display:block;max-width:min(15rem,100%);margin-top:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);color:var(--bs-primary);text-decoration:none}.landing-mcp__link[data-v-63454f11]:hover,.landing-mcp__link[data-v-63454f11]:focus-visible{text-decoration:underline}.landing-mcp__chart[data-v-63454f11]{margin-top:.25rem;border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;padding:.75rem;background:#fff}.landing-mcp__chart__img[data-v-63454f11]{display:block;width:100%;height:auto}.landing-mcp__proof[data-v-63454f11]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);background:var(--bc-content-bg);padding:1.125rem;display:flex;flex-direction:column;gap:1rem;min-width:0}.landing-mcp__proof__label[data-v-63454f11]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}.landing-mcp__steps[data-v-63454f11]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.landing-mcp__steps__item[data-v-63454f11]{position:relative;display:flex;align-items:flex-start;gap:.6875rem;padding-bottom:.875rem}.landing-mcp__steps__item[data-v-63454f11]:not(:last-child):before{content:"";position:absolute;left:.6875rem;top:1.5rem;bottom:0;width:2px;background:var(--bc-hairline)}.landing-mcp__steps__item[data-v-63454f11]:last-child{padding-bottom:0}.landing-mcp__steps__n[data-v-63454f11]{flex:none;width:1.4375rem;height:1.4375rem;border-radius:50%;border:1.5px solid var(--bs-primary);background:var(--bc-content-bg);color:var(--bs-primary);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}.landing-mcp__steps__t[data-v-63454f11]{font-size:var(--bs-font-size-sm);color:var(--bs-body-color);padding-top:.125rem}.landing-mcp__steps__t small[data-v-63454f11]{display:block;color:var(--bs-tertiary-color);font-size:var(--bs-font-size-xs)}.landing-mcp__install[data-v-63454f11]{border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden;min-width:0}.landing-mcp__install__head[data-v-63454f11]{padding:.5rem .875rem;background:var(--bc-chrome-bg);border-bottom:1px solid var(--bc-hairline);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--bs-tertiary-color);display:flex;align-items:center;gap:.5rem}.landing-mcp__install__head__dots[data-v-63454f11]{display:inline-flex;gap:.1875rem}.landing-mcp__install__head__dots span[data-v-63454f11]{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--bs-tertiary-color);opacity:.35}.landing-mcp__install__cmd[data-v-63454f11]{display:block;padding:.875rem 1.125rem;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-sm);color:var(--bs-body-color);white-space:nowrap;overflow-x:auto}.landing-mcp__cta[data-v-63454f11]{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--bc-radius-md);background:var(--bs-primary);color:#fff;font-size:var(--bs-font-size-sm);font-weight:600;text-decoration:none;transition:opacity var(--bc-duration-fast) var(--bc-ease)}.landing-mcp__cta[data-v-63454f11]:hover,.landing-mcp__cta[data-v-63454f11]:focus-visible{opacity:.9}.landing-mcp__cta[data-v-63454f11]:focus-visible{outline:none;box-shadow:var(--bc-focus-ring)}[data-bs-theme=dark] .landing-mcp__bubble--user[data-v-63454f11]{background:#2563a038;color:#dce8f4;border-color:#2563a073}[data-bs-theme=dark] .landing-mcp__chat__body[data-v-63454f11]{background-image:radial-gradient(circle at .75rem .75rem,rgba(255,255,255,.04) 1px,transparent 1px)}@media(max-width:51.25rem){.landing-mcp__grid[data-v-63454f11]{grid-template-columns:1fr}}.scenes__grid[data-v-778ad8a4]{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}.scenes__grid__features[data-v-778ad8a4]{display:flex;flex-direction:column;gap:.75rem}.scenes-feature[data-v-778ad8a4]{display:flex;gap:.625rem;align-items:flex-start;padding:.75rem 1rem;background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:calc(var(--bc-radius-md) - 2px)}.scenes-feature__icon[data-v-778ad8a4]{margin-top:1px}.scenes-feature__title[data-v-778ad8a4]{font-size:var(--bs-font-size-sm)}.scenes-feature__desc[data-v-778ad8a4]{font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);margin-top:.125rem;line-height:1.5}.scenes-demo[data-v-778ad8a4]{background:var(--bc-tile-bg);border:1px solid var(--bc-hairline);border-radius:var(--bc-radius-md);overflow:hidden}@media(max-width:51.25rem){.scenes__grid[data-v-778ad8a4]{grid-template-columns:1fr}.scenes__grid__features[data-v-778ad8a4]{order:1}}.landing-footer[data-v-8649cda4]{background:var(--bc-chrome-bg);border-top:1px solid var(--bc-hairline);padding:1.5rem clamp(1rem,5vw,3.75rem);display:flex;align-items:center;gap:1rem;font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color);flex-wrap:wrap}.landing-footer__brand[data-v-8649cda4]{display:inline-flex;align-items:center;gap:.5rem;color:var(--bs-body-color);font-weight:600}.landing-footer__brand__logo[data-v-8649cda4]{height:1.125rem;width:auto}.landing-footer__sep[data-v-8649cda4]{color:var(--bs-tertiary-color)}.landing-footer__link[data-v-8649cda4]{color:var(--bs-secondary-color);text-decoration:none}.landing-footer__link[data-v-8649cda4]:hover{color:var(--bs-body-color)}.landing-footer__spacer[data-v-8649cda4]{flex:1}.landing-footer__tagline[data-v-8649cda4]{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--bs-font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-tertiary-color)}@media(max-width:33.75rem){.landing-footer[data-v-8649cda4]{padding:1.25rem 1rem}.landing-footer__tagline[data-v-8649cda4]{width:100%}.landing-footer__spacer[data-v-8649cda4]{display:none}}.landing-page[data-v-c9807b66]{background:var(--bc-chrome-bg);min-height:100vh;width:100%;background-image:radial-gradient(ellipse 900px 600px at 18% 8%,rgba(37,99,160,.1),transparent 60%)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as v,o as a,c as o,a as e,r as Z,b as
|
|
2
|
-
theme = "blueprint-framed"`);return(g,n)=>{const s=E;return a(),o("section",Je,[e("div",Ke,[e("div",qe,[d(r(Ce),{variant:"info",pill:"",class:"landing-hero__inner__text__eyebrow"},{default:m(()=>[...n[0]||(n[0]=[e("span",{class:"landing-hero__inner__text__eyebrow__dot","aria-hidden":"true"},null,-1),p(" Built in the newsroom ",-1)])]),_:1}),n[1]||(n[1]=e("h1",{class:"landing-hero__inner__text__h1"},[p(" Great stories,"),e("br"),e("em",null,"great data viz.")],-1)),n[2]||(n[2]=e("p",{class:"landing-hero__inner__text__sub"}," A modern data viz platform for editorial work. Author your chart in a compact DSL, sequence it across named scenes that play back like a narrative, and let opinionated defaults handle the craft. ",-1)),e("div",et,[d(r(W),{to:"/charts",label:"My charts",variant:"outline-secondary"}),d(r(W),{to:"/new",label:"New chart",variant:"primary","icon-left":r(ye)},null,8,["icon-left"])])]),e("div",tt,[d(s,{bpc:r(u)},null,8,["bpc"])])])])}}}),at=C(nt,[["__scopeId","data-v-9b065bb8"]]),st={class:"landing-value-prop-strip","aria-label":"Why Blueprint Chart"},ot={class:"landing-value-prop-strip__cell__label"},it={class:"landing-value-prop-strip__cell__value"},rt=v({__name:"LandingValuePropStrip",setup(i){const t=[{label:"01 / No backend",value:"Runs in the browser"},{label:"02 / Self-contained",value:"One portable iframe"},{label:"03 / Data sovereignty",value:"Nothing ever uploaded"},{label:"04 / MIT",value:"Free, open source, forever"}];return(u,g)=>(a(),o("section",st,[(a(),o(y,null,w(t,n=>e("dl",{key:n.label,class:"landing-value-prop-strip__cell"},[e("dt",ot,h(n.label),1),e("dd",it,h(n.value),1)])),64))]))}}),lt=C(rt,[["__scopeId","data-v-af8f52cc"]]),dt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function ct(i,t){return a(),o("svg",dt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M225 80.4L183.6 39a24 24 0 0 0-33.94 0L31 157.66a24 24 0 0 0 0 33.94l30.06 30.06a8 8 0 0 0 5.68 2.34H216a8 8 0 0 0 0-16h-84.7l93.7-93.66a24 24 0 0 0 0-33.94M108.68 208H70.05l-27.72-27.72a8 8 0 0 1 0-11.31L96 115.31L148.69 168Zm105-105L160 156.69L107.31 104L161 50.34a8 8 0 0 1 11.32 0l41.38 41.38a8 8 0 0 1 0 11.31Z"},null,-1)])])}const _t=S({name:"ph-eraser",render:ct}),ut={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function gt(i,t){return a(),o("svg",ut,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M224 72h-16v-8a24 24 0 0 0-24-24H40a24 24 0 0 0-24 24v96a24 24 0 0 0 24 24h112v8a24 24 0 0 0 24 24h48a24 24 0 0 0 24-24V96a24 24 0 0 0-24-24M40 168a8 8 0 0 1-8-8V64a8 8 0 0 1 8-8h144a8 8 0 0 1 8 8v8h-16a24 24 0 0 0-24 24v72Zm192 24a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8V96a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8Zm-96 16a8 8 0 0 1-8 8H88a8 8 0 0 1 0-16h40a8 8 0 0 1 8 8m80-96a8 8 0 0 1-8 8h-16a8 8 0 0 1 0-16h16a8 8 0 0 1 8 8"},null,-1)])])}const pt=S({name:"ph-devices",render:gt}),mt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function ht(i,t){return a(),o("svg",mt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M100 56H40a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h60v8a32 32 0 0 1-32 32a8 8 0 0 0 0 16a48.05 48.05 0 0 0 48-48V72a16 16 0 0 0-16-16m0 80H40V72h60Zm116-80h-60a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h60v8a32 32 0 0 1-32 32a8 8 0 0 0 0 16a48.05 48.05 0 0 0 48-48V72a16 16 0 0 0-16-16m0 80h-60V72h60Z"},null,-1)])])}const It=S({name:"ph-quotes",render:ht}),ft=["id","data-bs-theme"],bt={class:"landing-section__inner"},vt=v({__name:"LandingSection",props:{id:{default:void 0},dark:{type:Boolean,default:!1},full:{type:Boolean,default:!1},bordered:{type:Boolean,default:!0},surface:{default:"chrome"}},setup(i){return(t,u)=>(a(),o("section",{id:i.id,class:L(["landing-section",{"landing-section--dark":i.dark,"landing-section--full":i.full,"landing-section--bordered":i.bordered,[`landing-section--surface-${i.surface}`]:!0}]),"data-bs-theme":i.dark?"dark":void 0},[e("div",bt,[Z(t.$slots,"default",{},void 0,!0)])],10,ft))}}),N=C(vt,[["__scopeId","data-v-1f01ad30"]]),Ct={class:"landing-section-header__label"},yt={class:"landing-section-header__title"},wt={key:0,class:"landing-section-header__lead"},Bt=v({__name:"LandingSectionHeader",props:{label:{},center:{type:Boolean,default:!1}},setup(i){return(t,u)=>(a(),o("div",{class:L(["landing-section-header",{"landing-section-header--center":i.center}])},[e("div",Ct,h(i.label),1),e("h2",yt,[Z(t.$slots,"default",{},void 0,!0)]),t.$slots.lead?(a(),o("p",wt,[Z(t.$slots,"lead",{},void 0,!0)])):
|
|
3
|
-
theme = "blueprint-framed"`),g=[{icon:we,tag:"01",title:"Axes start at zero",description:"Bars never lie. Truncated axes require an explicit override."},{icon:Be,tag:"02",title:"Direct labels",description:"Labels sit next to data. Readers' eyes never travel to a legend box."},{icon:_t,tag:"03",title:"No chart junk",description:"Gridlines and borders are suppressed unless they carry information."},{icon:Se,tag:"04",title:"CVD-safe palettes",description:"Every palette tested against deuteranopia, protanopia, tritanopia."},{icon:pt,tag:"05",title:"Mobile-first",description:"Labels reflow, ticks reduce, layouts adapt from desktop down to 320 px."},{icon:It,tag:"06",title:"Source attribution",description:"The BPC format includes a source field displayed on every chart."}];return(n,s)=>(a(),x(N,{id:"defaults"},{default:m(()=>[d(j,{label:"02 / Defaults"},{lead:m(()=>[...s[0]||(s[0]=[p(" Clutter is the enemy of insight. Blueprint Chart's defaults are opinionated by design, guided by decades of dataviz research from Tufte, Cairo and Schwabish, so your readers focus on the story, not the noise. ",-1)])]),default:m(()=>[s[1]||(s[1]=p(" A simple chart",-1)),s[2]||(s[2]=e("br",null,null,-1)),s[3]||(s[3]=e("em",null,"sends a big message.",-1))]),_:1}),e("div",xt,[e("div",Ht,[d(E,{bpc:r(u)},null,8,["bpc"])]),e("div",$t,[(a(),o(y,null,w(g,_=>d(F,{key:_.tag,icon:_.icon,tag:_.tag,title:_.title,description:_.description},null,8,["icon","tag","title","description"])),64))])])]),_:1}))}}),jt=C(Nt,[["__scopeId","data-v-2c0e797b"]]),Dt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Rt(i,t){return a(),o("svg",Dt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M208 40a8 8 0 0 1-8 8h-29.29a24 24 0 0 0-23.62 19.71l-9.5 52.29H184a8 8 0 0 1 0 16h-49.32l-10 55.16A40 40 0 0 1 85.29 224H56a8 8 0 0 1 0-16h29.29a24 24 0 0 0 23.62-19.71l9.5-52.29H72a8 8 0 0 1 0-16h49.32l10-55.16A40 40 0 0 1 170.71 32H200a8 8 0 0 1 8 8"},null,-1)])])}const Gt=S({name:"ph-function",render:Rt}),Tt={class:"transforms-demo"},zt={class:"transforms-demo__steps"},Wt=["onClick"],Vt={class:"transforms-demo__step__num"},Xt={class:"transforms-demo__step__label"},Et={class:"transforms-demo__body"},Ft={class:"transforms-demo__body__panel"},Yt={class:"transforms-demo__body__panel__title"},Ut={class:"transforms-demo__body__panel__table"},Qt={class:"transforms-demo__body__panel"},Ot={class:"transforms-demo__body__panel__title"},Jt={class:"transforms-demo__body__panel__table"},Kt={class:"transforms-demo__body__panel__note"},qt={class:"landing-transforms__cards"},en=v({__name:"LandingTransforms",setup(i){const t=$(0),u=[{icon:Gt,tag:"SORT · FILTER · GROUP",title:"Core operations",description:"Multi-column sort, conditional filter, group-with-aggregate (sum / avg / min / max / count)."},{icon:ke,tag:"29 OPERATIONS",title:"Parse & reshape",description:"Type conversions, string transforms, date extraction, numeric normalisation."},{icon:Me,tag:"RENAME · HIDE",title:"Chart-ready labels",description:"Clean column names for axis labels. Hide columns without deleting your data."},{icon:Pe,tag:"TRANSPOSE",title:"Pivot",description:"Swap rows and columns. First-column values become headers."}],g=[{label:"Raw CSV",inputTitle:"Uploaded data",outputTitle:"Detected types",input:[["country","year","co2"],["France","2019","4.6"],["France","2020","4.1"],["Germany","2019","8.5"],["Germany","2020","7.7"],["USA","2019","15.2"],["USA","2020","13.9"]],output:[["column","type","values"],["country","string","3 unique"],["year","number","2019 – 2020"],["co2","number","4.1 – 15.2"]],note:"Blueprint auto-detects column types from your CSV, paste or sample data."},{label:"Group by",inputTitle:"Input rows",outputTitle:"After grouping",input:[["country","year","co2"],["France","2019","4.6"],["France","2020","4.1"],["Germany","2019","8.5"],["Germany","2020","7.7"],["USA","2019","15.2"],["USA","2020","13.9"]],output:[["country","co2 (avg)"],["France","4.35"],["Germany","8.10"],["USA","14.55"]],highlightCol:"country",outputHighlightCol:"co2 (avg)",note:"Rows with the same country are grouped. CO₂ values aggregated with AVG."},{label:"Sort",inputTitle:"Grouped data",outputTitle:"Sorted descending",input:[["country","co2 (avg)"],["France","4.35"],["Germany","8.10"],["USA","14.55"]],output:[["country","co2 (avg)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],outputHighlightCol:"co2 (avg)",note:"Sorted by CO₂ descending, highest emitter first. Ready for the chart."},{label:"Rename",inputTitle:"Before rename",outputTitle:"Chart-ready",input:[["country","co2 (avg)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],output:[["Country","Avg CO₂ (tonnes)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],outputHighlightCol:"Avg CO₂ (tonnes)",note:"Clean column names for readable axis labels. Data flows straight to the chart."}];return(n,s)=>{const _=j,b=N;return a(),x(b,{id:"transforms",surface:"content"},{default:m(()=>[d(_,{label:"03 / Data pipeline"},{lead:m(()=>[...s[0]||(s[0]=[p(" Raw data rarely fits a chart out of the box. Blueprint's pipeline lets you sort, filter, group, parse and reshape, all without leaving the editor, all replayable from your BPC source. ",-1)])]),default:m(()=>[s[1]||(s[1]=p(" Reshape your data",-1)),s[2]||(s[2]=e("br",null,null,-1)),s[3]||(s[3]=e("em",null,"before you chart it.",-1))]),_:1}),e("div",Tt,[e("div",zt,[(a(),o(y,null,w(g,(c,l)=>e("button",{key:l,class:L(["transforms-demo__step",{"transforms-demo__step--active":r(t)===l}]),onClick:f=>t.value=l},[e("span",Vt,h(l+1),1),e("span",Xt,h(c.label),1)],10,Wt)),64))]),e("div",Et,[e("div",Ft,[e("div",Yt,h(g[r(t)].inputTitle),1),e("table",Ut,[e("thead",null,[e("tr",null,[(a(!0),o(y,null,w(g[r(t)].input[0],c=>(a(),o("th",{key:c,class:"transforms-demo__body__panel__th"},h(c),1))),128))])]),e("tbody",null,[(a(!0),o(y,null,w(g[r(t)].input.slice(1),(c,l)=>(a(),o("tr",{key:l},[(a(!0),o(y,null,w(c,(f,I)=>(a(),o("td",{key:I,class:L(["transforms-demo__body__panel__td",{"transforms-demo__body__panel__td--highlight":g[r(t)].highlightCol===g[r(t)].input[0][I]}])},h(f),3))),128))]))),128))])])]),s[4]||(s[4]=e("div",{class:"transforms-demo__body__flow"},[e("svg",{viewBox:"0 0 80 10",preserveAspectRatio:"none",class:"transforms-demo__body__flow__svg"},[e("path",{d:"M0,5 C30,5 50,5 80,5",class:"transforms-demo__body__flow__wire","vector-effect":"non-scaling-stroke"})]),e("div",{class:"transforms-demo__body__flow__dot transforms-demo__body__flow__dot--left"}),e("div",{class:"transforms-demo__body__flow__dot transforms-demo__body__flow__dot--right"})],-1)),e("div",Qt,[e("div",Ot,h(g[r(t)].outputTitle),1),e("table",Jt,[e("thead",null,[e("tr",null,[(a(!0),o(y,null,w(g[r(t)].output[0],c=>(a(),o("th",{key:c,class:"transforms-demo__body__panel__th"},h(c),1))),128))])]),e("tbody",null,[(a(!0),o(y,null,w(g[r(t)].output.slice(1),(c,l)=>(a(),o("tr",{key:l},[(a(!0),o(y,null,w(c,(f,I)=>(a(),o("td",{key:I,class:L(["transforms-demo__body__panel__td",{"transforms-demo__body__panel__td--highlight":g[r(t)].outputHighlightCol===g[r(t)].output[0][I]}])},h(f),3))),128))]))),128))])]),e("p",Kt,h(g[r(t)].note),1)])])]),e("div",qt,[(a(),o(y,null,w(u,c=>d(F,{key:c.tag,icon:c.icon,tag:c.tag,title:c.title,description:c.description},null,8,["icon","tag","title","description"])),64))])]),_:1})}}}),tn=C(en,[["__scopeId","data-v-51aeaea0"]]),nn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function an(i,t){return a(),o("svg",nn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-68-56a12 12 0 1 1-12-12a12 12 0 0 1 12 12"},null,-1)])])}const sn=S({name:"ph-lock",render:an}),on={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function rn(i,t){return a(),o("svg",on,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M215.79 118.17a8 8 0 0 0-5-5.66L153.18 90.9l14.66-73.33a8 8 0 0 0-13.69-7l-112 120a8 8 0 0 0 3 13l57.63 21.61l-14.62 73.25a8 8 0 0 0 13.69 7l112-120a8 8 0 0 0 1.94-7.26M109.37 214l10.47-52.38a8 8 0 0 0-5-9.06L62 132.71l84.62-90.66l-10.46 52.38a8 8 0 0 0 5 9.06l52.8 19.8Z"},null,-1)])])}const ln=S({name:"ph-lightning",render:rn}),dn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function cn(i,t){return a(),o("svg",dn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M53.92 34.62a8 8 0 1 0-11.84 10.76l39.24 43.17l-.06.12A65 65 0 0 0 72 88a64 64 0 0 0 0 128h88a87.3 87.3 0 0 0 31.8-5.93l10.28 11.31a8 8 0 1 0 11.84-10.76ZM160 200H72a48 48 0 0 1 0-96c1.1 0 2.2 0 3.3.12A88.4 88.4 0 0 0 72 128a8 8 0 0 0 16 0a72.3 72.3 0 0 1 5.06-26.54l87 95.7A71.7 71.7 0 0 1 160 200m88-72a87.9 87.9 0 0 1-22.35 58.61A8 8 0 0 1 213.71 176a72 72 0 0 0-96.34-106a8 8 0 0 1-9.48-12.89A88 88 0 0 1 248 128"},null,-1)])])}const _n=S({name:"ph-cloud-slash",render:cn}),un={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function gn(i,t){return a(),o("svg",un,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M128 24c-53.83 0-96 24.6-96 56v96c0 31.4 42.17 56 96 56s96-24.6 96-56V80c0-31.4-42.17-56-96-56m80 104c0 9.62-7.88 19.43-21.61 26.92C170.93 163.35 150.19 168 128 168s-42.93-4.65-58.39-13.08C55.88 147.43 48 137.62 48 128v-16.64c17.06 15 46.23 24.64 80 24.64s62.94-9.68 80-24.64ZM69.61 53.08C85.07 44.65 105.81 40 128 40s42.93 4.65 58.39 13.08C200.12 60.57 208 70.38 208 80s-7.88 19.43-21.61 26.92C170.93 115.35 150.19 120 128 120s-42.93-4.65-58.39-13.08C55.88 99.43 48 89.62 48 80s7.88-19.43 21.61-26.92m116.78 149.84C170.93 211.35 150.19 216 128 216s-42.93-4.65-58.39-13.08C55.88 195.43 48 185.62 48 176v-16.64c17.06 15 46.23 24.64 80 24.64s62.94-9.68 80-24.64V176c0 9.62-7.88 19.43-21.61 26.92"},null,-1)])])}const pn=S({name:"ph-database",render:gn}),mn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function hn(i,t){return a(),o("svg",mn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M216 48v48a8 8 0 0 1-16 0V67.31l-42.34 42.35a8 8 0 0 1-11.32-11.32L188.69 56H160a8 8 0 0 1 0-16h48a8 8 0 0 1 8 8M98.34 146.34L56 188.69V160a8 8 0 0 0-16 0v48a8 8 0 0 0 8 8h48a8 8 0 0 0 0-16H67.31l42.35-42.34a8 8 0 0 0-11.32-11.32M208 152a8 8 0 0 0-8 8v28.69l-42.34-42.35a8 8 0 0 0-11.32 11.32L188.69 200H160a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8M67.31 56H96a8 8 0 0 0 0-16H48a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0V67.31l42.34 42.35a8 8 0 0 0 11.32-11.32Z"},null,-1)])])}const In=S({name:"ph-arrows-out",render:hn}),fn={class:"landing-format__grid"},bn={class:"landing-format__pane","data-bs-theme":"dark"},vn=["innerHTML"],Cn={class:"landing-format__browser"},yn={class:"landing-format__browser__url","aria-hidden":"true"},wn=["href"],Bn={class:"landing-format__browser__chart"},Sn={class:"landing-format__cards"},kn={class:"landing-format__footnote"},Mn={class:"landing-format__footnote__lead"},Pn="eyJ0eXBlIjoibGluZSIsImRhdGEiOlt7IngiOiIxOTgwIix7InkiOj",An="eyJ0...",Zn=v({__name:"LandingFormat",setup(i){const t=T.find(c=>c.id==="temperature-anomaly");if(!t)throw new Error("Missing temperature-anomaly sample — see LandingFormat.vue");const u=t.dsl.replace(/\{/,`{
|
|
4
|
-
theme = "blueprint-framed"`),g=Ae(u);function n(c){const l=new TextEncoder().encode(c);let f="";for(const I of l)f+=String.fromCharCode(I);return globalThis.btoa(f)}const s=n(u),_=typeof window<"u"?`${window.location.origin}${window.location.pathname}#/render?bpc64=${encodeURIComponent(s)}`:"#",b=[{icon:_n,tag:"A",title:"No backend",description:"The renderer runs in the browser. Self-host the editor anywhere, including a USB stick."},{icon:pn,tag:"B",title:"Data stays local",description:"Your CSV never touches a server. The base64 payload is the data. It travels with the iframe."},{icon:In,tag:"C",title:"One string ships",description:"The entire chart fits in a URL fragment. One copy-paste embeds it on any CMS."}];return(c,l)=>(a(),x(N,{id:"format"},{default:m(()=>[d(j,{label:"04 / One portable file"},{lead:m(()=>[...l[0]||(l[0]=[p(" Blueprint charts are plain-text in, self-contained iframe out. No backend renders them. Your data never leaves the browser. One file is the chart, the data, and the embed, together. ",-1)])]),default:m(()=>[l[1]||(l[1]=p(" BPC: a chart you",-1)),l[2]||(l[2]=e("br",null,null,-1)),l[3]||(l[3]=e("em",null,"can hold in your hand.",-1))]),_:1}),e("div",fn,[e("div",bn,[l[4]||(l[4]=e("div",{class:"landing-format__pane__head"},[e("span",{class:"landing-format__pane__head__dots"},[e("span"),e("span"),e("span")]),p(" chart.bpc ")],-1)),e("pre",{class:"landing-format__pane__code",innerHTML:r(g)},null,8,vn)]),e("div",Cn,[l[7]||(l[7]=e("span",{class:"visually-hidden"},"Example embed URL",-1)),e("div",yn,[l[6]||(l[6]=e("span",{class:"landing-format__browser__url__dots"},[e("span"),e("span"),e("span")],-1)),e("a",{href:r(_),target:"_blank",rel:"noopener","aria-label":"Open this chart embed in a new tab",class:"landing-format__browser__url__bar"},[d(r(H),{name:r(sn),size:"xs",variant:"success"},null,8,["name"]),l[5]||(l[5]=e("span",{class:"landing-format__browser__url__bar__host"},"blueprintchart.com/#/render?bpc64=",-1)),e("span",{class:"landing-format__browser__url__bar__fragment landing-format__browser__url__bar__fragment--long"},h(Pn)),e("span",{class:"landing-format__browser__url__bar__fragment landing-format__browser__url__bar__fragment--short"},h(An))],8,wn)]),e("div",Bn,[d(E,{bpc:r(u)},null,8,["bpc"])])])]),e("div",Sn,[(a(),o(y,null,w(b,f=>d(F,{key:f.tag,icon:f.icon,tag:f.tag,title:f.title,description:f.description},null,8,["icon","tag","title","description"])),64))]),e("p",kn,[e("span",Mn,[l[8]||(l[8]=e("span",{class:"landing-format__footnote__label"},"FYI",-1)),d(r(H),{name:r(ln),size:"xs",variant:"warning"},null,8,["name"])]),l[9]||(l[9]=e("span",{class:"landing-format__footnote__text"},[p(" Plain-text BPC is also an excellent target for LLMs. The official "),e("a",{class:"landing-format__footnote__link",href:"https://docs.blueprintchart.com/guide/mcp",target:"_blank",rel:"noopener noreferrer"},"MCP"),p(" writes, validates, and renders it for you. ")],-1))])]),_:1}))}}),Ln=C(Zn,[["__scopeId","data-v-f2deba77"]]),xn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Hn(i,t){return a(),o("svg",xn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8"},null,-1)])])}const X=S({name:"ph-sparkle",render:Hn}),$n={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Nn(i,t){return a(),o("svg",$n,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8M72 96a56 56 0 1 1 56 56a56.06 56.06 0 0 1-56-56"},null,-1)])])}const jn=S({name:"ph-user",render:Nn}),Dn="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgNDkyIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9IkJhciBjaGFydCB0aXRsZWQgRSBpcyB0aGUgbW9zdCBmcmVxdWVudCBsZXR0ZXIgaW4gRW5nbGlzaC4gRSBpcyBoaWdobGlnaHRlZCBhdCAxMi43IHBlcmNlbnQsIHRoZSB0YWxsZXN0IGJhciwgZm9sbG93ZWQgYnkgVCA5LjA2LCBBIDguMTcsIE8gNy41MSwgSSA2Ljk3LCBOIDYuNzUsIFMgNi4zMywgSCA2LjA5LCBSIDUuOTkgYW5kIEQgNC4yNS4iPgogIDx0ZXh0IHg9IjIiIHk9IjQwIiBmb250LWZhbWlseT0iR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmIiBmb250LXNpemU9IjI1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjMWEyMTI4Ij5FIGlzIHRoZSBtb3N0IGZyZXF1ZW50IGxldHRlciBpbiBFbmdsaXNoPC90ZXh0PgogIDx0ZXh0IHg9IjIiIHk9IjY2IiBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjE1IiBmaWxsPSIjNWI2NDcwIj5Ib3cgb2Z0ZW4gZWFjaCBsZXR0ZXIgYXBwZWFycyBpbiB0eXBpY2FsIEVuZ2xpc2ggdGV4dDwvdGV4dD4KCiAgPGcgZm9udC1mYW1pbHk9Ii1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzMzNDA0ZCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAgICA8dGV4dCB4PSI3OCIgeT0iMTAyIiBmaWxsPSIjMjU2M0EwIiBmb250LXdlaWdodD0iNzAwIj4xMi43PC90ZXh0PgogICAgPHRleHQgeD0iMTMwIiB5PSIxODgiPjkuMDY8L3RleHQ+CiAgICA8dGV4dCB4PSIxODIiIHk9IjIwOSI+OC4xNzwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzNCIgeT0iMjI1Ij43LjUxPC90ZXh0PgogICAgPHRleHQgeD0iMjg2IiB5PSIyMzciPjYuOTc8L3RleHQ+CiAgICA8dGV4dCB4PSIzMzgiIHk9IjI0MyI+Ni43NTwvdGV4dD4KICAgIDx0ZXh0IHg9IjM5MCIgeT0iMjUzIj42LjMzPC90ZXh0PgogICAgPHRleHQgeD0iNDQyIiB5PSIyNTgiPjYuMDk8L3RleHQ+CiAgICA8dGV4dCB4PSI0OTQiIHk9IjI2MSI+NS45OTwvdGV4dD4KICAgIDx0ZXh0IHg9IjU0NiIgeT0iMzAyIj40LjI1PC90ZXh0PgogIDwvZz4KCiAgPGc+CiAgICA8cmVjdCB4PSI2MCIgIHk9IjExMCIgd2lkdGg9IjM2IiBoZWlnaHQ9IjMwMCIgZmlsbD0iIzI1NjNBMCIvPgogICAgPHJlY3QgeD0iMTEyIiB5PSIxOTYiIHdpZHRoPSIzNiIgaGVpZ2h0PSIyMTQiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjE2NCIgeT0iMjE3IiB3aWR0aD0iMzYiIGhlaWdodD0iMTkzIiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSIyMTYiIHk9IjIzMyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjE3NyIgZmlsbD0iI2E5YzNkZCIvPgogICAgPHJlY3QgeD0iMjY4IiB5PSIyNDUiIHdpZHRoPSIzNiIgaGVpZ2h0PSIxNjUiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjMyMCIgeT0iMjUxIiB3aWR0aD0iMzYiIGhlaWdodD0iMTU5IiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSIzNzIiIHk9IjI2MSIgd2lkdGg9IjM2IiBoZWlnaHQ9IjE0OSIgZmlsbD0iI2E5YzNkZCIvPgogICAgPHJlY3QgeD0iNDI0IiB5PSIyNjYiIHdpZHRoPSIzNiIgaGVpZ2h0PSIxNDQiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjQ3NiIgeT0iMjY5IiB3aWR0aD0iMzYiIGhlaWdodD0iMTQxIiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSI1MjgiIHk9IjMxMCIgd2lkdGg9IjM2IiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2E5YzNkZCIvPgogIDwvZz4KCiAgPGxpbmUgeDE9IjU2IiB5MT0iNDEwIiB4Mj0iNTg2IiB5Mj0iNDEwIiBzdHJva2U9IiNkNmRiZTEiIHN0cm9rZS13aWR0aD0iMSIvPgoKICA8ZyBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjNWI2NDcwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAgIDx0ZXh0IHg9Ijc4IiB5PSI0MzIiPkU8L3RleHQ+CiAgICA8dGV4dCB4PSIxMzAiIHk9IjQzMiI+VDwvdGV4dD4KICAgIDx0ZXh0IHg9IjE4MiIgeT0iNDMyIj5BPC90ZXh0PgogICAgPHRleHQgeD0iMjM0IiB5PSI0MzIiPk88L3RleHQ+CiAgICA8dGV4dCB4PSIyODYiIHk9IjQzMiI+STwvdGV4dD4KICAgIDx0ZXh0IHg9IjMzOCIgeT0iNDMyIj5OPC90ZXh0PgogICAgPHRleHQgeD0iMzkwIiB5PSI0MzIiPlM8L3RleHQ+CiAgICA8dGV4dCB4PSI0NDIiIHk9IjQzMiI+SDwvdGV4dD4KICAgIDx0ZXh0IHg9IjQ5NCIgeT0iNDMyIj5SPC90ZXh0PgogICAgPHRleHQgeD0iNTQ2IiB5PSI0MzIiPkQ8L3RleHQ+CiAgPC9nPgo8L3N2Zz4K",Rn={class:"landing-mcp__grid"},Gn={class:"landing-mcp__chat"},Tn={class:"landing-mcp__chat__body"},zn={key:1,class:"landing-mcp__avatar landing-mcp__avatar--ghost","aria-hidden":"true"},Wn={class:"landing-mcp__msg__col"},Vn={key:0,class:"landing-mcp__msg__name"},Xn=["href"],En={key:1,class:"landing-mcp__chart"},Fn=["src"],Yn={class:"landing-mcp__proof"},Un={class:"landing-mcp__steps"},Qn={class:"landing-mcp__steps__n"},On={class:"landing-mcp__steps__t"},Jn={class:"landing-mcp__cta",href:"https://docs.blueprintchart.com/guide/mcp",target:"_blank",rel:"noopener noreferrer","aria-label":"Read the Blueprint Chart MCP documentation"},Kn='Make a bar chart of English letter frequencies with an highlight on "E".',qn="claude mcp add blueprint-chart -- npx -y @blueprint-chart/mcp",ea="https://blueprintchart.com/#/copy/Y2hhcnQgYmFyLXZlcnRpY2FsIHsKICB0aXRsZSA9ICJFIGlzIHRoZSBtb3N0IGZyZXF1ZW50IGxldHRlciBpbiBFbmdsaXNoIgogIGRlc2NyaXB0aW9uID0gIkhvdyBvZnRlbiBlYWNoIGxldHRlciBhcHBlYXJzIGluIHR5cGljYWwgRW5nbGlzaCB0ZXh0IgogIGJ5bGluZSA9ICJQaWVycmUgUm9tZXJhIgogIHNvdXJjZSA9ICJMZXdhbmQsIENyeXB0b2xvZ2ljYWwgTWF0aGVtYXRpY3MiCiAgc291cmNlVXJsID0gImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xldHRlcl9mcmVxdWVuY3kiCiAgbm90ZSA9ICJCYXNlZCBvbiBhbmFseXNpcyBvZiA0MCwwMDAgd29yZHMgZnJvbSBFbmdsaXNoIHByb3NlIgogIGNvbG9yUGFsZXR0ZSA9ICJMb25kb24iCiAgc29ydCA9IGRlc2NlbmRpbmcKICB2YWx1ZUxhYmVscyA9IHRydWUKICB2ZXJ0aWNhbExhYmVsUG9zaXRpb24gPSBvZmYKICB2ZXJ0aWNhbEdyaWRTdHlsZSA9IG5vbmUKCiAgaGlnaGxpZ2h0ICJFIgoKICBkYXRhIHsKICAgICJFIiA9IDEyLjcwCiAgICAiVCIgPSA5LjA2CiAgICAiQSIgPSA4LjE3CiAgICAiTyIgPSA3LjUxCiAgICAiSSIgPSA2Ljk3CiAgICAiTiIgPSA2Ljc1CiAgICAiUyIgPSA2LjMzCiAgICAiSCIgPSA2LjA5CiAgICAiUiIgPSA1Ljk5CiAgICAiRCIgPSA0LjI1CiAgfQp9Cg",ta=v({__name:"LandingMcp",setup(i){const t=[{role:"user",name:"You",text:Kn},{role:"asst",name:"Blueprint Chart",text:"Reading the dataviz handbook for letter-frequency conventions…"},{role:"asst",name:"Blueprint Chart",text:'Drafting the .bpc, sorting by frequency and accenting "E".'},{role:"asst",name:"Blueprint Chart",text:"Validated, no parse errors. Here's the chart 👇",chart:!0},{role:"user",name:"You",text:"Love it. Can you export it to a shareable link?"},{role:"asst",name:"Blueprint Chart",text:"Exported. Anyone can open this to view and copy the chart.",link:ea}],u=[{n:"01",title:"Read the handbook",sub:"grounded in real dataviz pedagogy"},{n:"02",title:"Write the .bpc",sub:"compact, declarative chart source"},{n:"03",title:"Validate",sub:"structured parse errors and fixes"},{n:"04",title:"Render",sub:"SVG or PNG, deterministic"},{n:"05",title:"Iterate",sub:"a tight loop instead of guessing"}];return(g,n)=>(a(),x(N,{id:"mcp"},{default:m(()=>[d(j,{label:"05 / Author with AI"},{lead:m(()=>[...n[0]||(n[0]=[p(" Connect the Blueprint Chart MCP to Claude, Claude Code, Cursor, or any MCP client. It reads the dataviz handbook, writes the ",-1),e("code",null,".bpc",-1),p(", validates it, and renders it — so you get a real chart from a sentence. ",-1)])]),default:m(()=>[n[1]||(n[1]=p(" Describe the chart.",-1)),n[2]||(n[2]=e("br",null,null,-1)),n[3]||(n[3]=e("em",null,"Let your assistant build it.",-1))]),_:1}),e("div",Rn,[e("div",Gn,[n[4]||(n[4]=e("div",{class:"landing-mcp__chat__head"},[e("span",{class:"landing-mcp__chat__head__logo"},"B"),p(" Blueprint Chart · Assistant ")],-1)),e("div",Tn,[(a(),o(y,null,w(t,(s,_)=>{var b,c,l;return e("div",{key:_,class:L(["landing-mcp__msg",{"landing-mcp__msg--user":s.role==="user","landing-mcp__msg--grouped":((b=t[_-1])==null?void 0:b.role)===s.role}])},[((c=t[_-1])==null?void 0:c.role)!==s.role?(a(),o("span",{key:0,class:L(["landing-mcp__avatar",`landing-mcp__avatar--${s.role}`])},[d(r(H),{name:s.role==="user"?r(jn):r(X),size:"xs","aria-hidden":"true"},null,8,["name"])],2)):(a(),o("span",zn)),e("div",Wn,[((l=t[_-1])==null?void 0:l.role)!==s.role?(a(),o("span",Vn,h(s.name),1)):M("",!0),e("div",{class:L(["landing-mcp__bubble",`landing-mcp__bubble--${s.role}`])},[p(h(s.text)+" ",1),s.link?(a(),o("a",{key:0,class:"landing-mcp__link",href:s.link,target:"_blank",rel:"noopener noreferrer"},h(s.link),9,Xn)):M("",!0)],2),s.chart?(a(),o("div",En,[e("img",{class:"landing-mcp__chart__img",src:r(Dn),alt:"Bar chart: E is the most frequent letter in English at 12.7%, followed by T, A, O, I, N, S, H, R and D"},null,8,Fn)])):M("",!0)])],2)}),64))])]),e("div",Yn,[n[7]||(n[7]=e("div",{class:"landing-mcp__proof__label"}," How it works ",-1)),e("ol",Un,[(a(),o(y,null,w(u,s=>e("li",{key:s.n,class:"landing-mcp__steps__item"},[e("span",Qn,h(s.n),1),e("span",On,[p(h(s.title)+" ",1),e("small",null,h(s.sub),1)])])),64))]),e("div",{class:"landing-mcp__install","data-bs-theme":"dark"},[n[5]||(n[5]=e("div",{class:"landing-mcp__install__head"},[e("span",{class:"landing-mcp__install__head__dots"},[e("span"),e("span"),e("span")]),p(" terminal ")],-1)),e("code",{class:"landing-mcp__install__cmd"},h(qn))]),e("a",Jn,[d(r(H),{name:r(X),size:"xs","aria-hidden":"true"},null,8,["name"]),n[6]||(n[6]=p(" Read the docs ",-1))])])])]),_:1}))}}),na=C(ta,[["__scopeId","data-v-f2159407"]]),aa={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function sa(i,t){return a(),o("svg",aa,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M216 104H102.09L210 75.51a8 8 0 0 0 5.68-9.84l-8.16-30a15.93 15.93 0 0 0-19.42-11.13L35.81 64.74a15.75 15.75 0 0 0-9.7 7.4a15.5 15.5 0 0 0-1.55 12L32 111.56V200a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-88a8 8 0 0 0-8-8m-23.84-64l6 22.07l-22.62 6l-28.12-16.24Zm-66.69 17.6l28.12 16.24l-36.94 9.75l-28.12-16.22Zm-79.4 44.62l-6-22.08l26.5-7L94.69 89.4ZM208 200H48v-80h160z"},null,-1)])])}const oa=S({name:"ph-film-slate",render:sa}),ia={class:"scenes__grid"},ra={class:"scenes__grid__features"},la={class:"scenes-feature__icon"},da={class:"scenes-feature__title"},ca={class:"scenes-feature__desc"},_a={class:"scenes-demo"},ua=v({__name:"LandingScenes",setup(i){const t=T.find(B=>B.id==="farm-compass");if(!t)throw new Error("Missing farm-compass sample — see LandingScenes.vue");const u=t.dsl,g=Ue(u),n=ee("containerRef"),s=K(null),_=$(-1),b=$(!1),c=$(!1);let l=null;const f=$(_.value+2);R(_,B=>{f.value=B+2});const{theme:I}=G();function k(){n.value&&(te(n.value,u,{stripColors:!0,sceneIndex:_.value>=0?_.value:void 0,transition:c.value}),c.value=!1)}const ne=q(k,150);R([n,_,I],k,{immediate:!0}),J(n,ne);function Y(){var B;return((B=n.value)==null?void 0:B.querySelector(".bc-frame-footer"))??null}let P=null;R(n,B=>{if(P&&(P.disconnect(),P=null),!B){s.value=null;return}s.value=Y(),P=new MutationObserver(()=>{s.value=Y()}),P.observe(B,{childList:!0,subtree:!0})},{immediate:!0});function ae(B){c.value=!0,_.value=B-2}function se(){_.value>-1&&(c.value=!0,_.value=_.value-1)}function oe(){_.value<g-1&&(c.value=!0,_.value=_.value+1)}function ie(){b.value||(b.value=!0,c.value=!0,_.value=-1,l=globalThis.setInterval(()=>{_.value<g-1?(c.value=!0,_.value++):z()},3e3))}function z(){b.value=!1,l&&(globalThis.clearInterval(l),l=null)}Ze(()=>{z(),P&&(P.disconnect(),P=null)});const re=[{icon:oa,title:"Sequential scenes",description:"Each scene mutates the chart: highlight, filter, zoom, reorder, or change type entirely."},{icon:X,title:"Smooth animated transitions",description:"D3-powered morphing between states: bars grow, lines redraw, highlights pulse."},{icon:Le,title:"Embed anywhere",description:"One iframe embed. Works in WordPress, Ghost, any CMS."}];return(B,A)=>{const le=j,de=N;return a(),x(de,{id:"scenes",surface:"content"},{default:m(()=>[d(le,{label:"06 / Scenes & storytelling"},{lead:m(()=>[...A[0]||(A[0]=[p(" Create a sequence of scenes, each one a step in your narrative. The same chart morphs from overview to focus, from cause to consequence. Press play, or step through. ",-1)])]),default:m(()=>[A[1]||(A[1]=p(" Guide your reader",-1)),A[2]||(A[2]=e("br",null,null,-1)),A[3]||(A[3]=e("em",null,"through the data.",-1))]),_:1}),e("div",ia,[e("div",ra,[(a(),o(y,null,w(re,D=>e("div",{key:D.title,class:"scenes-feature"},[e("span",la,[d(r(H),{name:D.icon,size:"sm",variant:"primary"},null,8,["name"])]),e("div",null,[e("strong",da,h(D.title),1),e("p",ca,h(D.description),1)])])),64))]),e("div",_a,[e("div",{ref_key:"containerRef",ref:n,class:"scenes-demo__chart"},null,512),r(s)&&r(g)>0?(a(),x(xe,{key:0,to:r(s)},[d(r(He),{total:r(g)+1,current:r(f),playing:r(b),position:"left","onUpdate:current":ae,onPrevious:se,onNext:oe,onPlay:ie,onPause:z},null,8,["total","current","playing"])],8,["to"])):M("",!0)])])]),_:1})}}}),ga=C(ua,[["__scopeId","data-v-778ad8a4"]]),pa={class:"landing-footer"},ma={class:"landing-footer__brand"},ha=["src"],Ia=v({__name:"LandingFooter",setup(i){const{theme:t}=G(),u=V(()=>t.value==="dark"?Q:O);return(g,n)=>{const s=U("router-link");return a(),o("footer",pa,[e("div",ma,[e("img",{src:u.value,alt:"Blueprint Chart",class:"landing-footer__brand__logo"},null,8,ha),n[0]||(n[0]=e("span",{class:"landing-footer__brand__name"},"Blueprint Chart",-1))]),n[2]||(n[2]=e("span",{class:"landing-footer__sep","aria-hidden":"true"},"·",-1)),d(s,{to:"/new",class:"landing-footer__link"},{default:m(()=>[...n[1]||(n[1]=[p(" Editor ",-1)])]),_:1}),n[3]||(n[3]=e("span",{class:"landing-footer__sep","aria-hidden":"true"},"·",-1)),n[4]||(n[4]=e("a",{class:"landing-footer__link",href:"https://github.com/blueprint-chart/blueprint-chart",target:"_blank",rel:"noopener noreferrer"}," GitHub ",-1)),n[5]||(n[5]=e("span",{class:"landing-footer__spacer"},null,-1)),n[6]||(n[6]=e("span",{class:"landing-footer__tagline"}," MIT · Made for investigative journalism ",-1))])}}}),fa=C(Ia,[["__scopeId","data-v-8649cda4"]]),ba={class:"landing-page"},va=v({__name:"LandingPage",setup(i){return(t,u)=>(a(),o("div",ba,[d(Fe),d(at),d(lt),d(jt),d(tn),d(Ln),d(na),d(ga),d(fa)]))}}),ya=C(va,[["__scopeId","data-v-c9807b66"]]);export{ya as default};
|
|
1
|
+
import{d as v,o as a,c as o,a as e,r as Z,b as k,_ as C,u as G,e as ce,f as x,w as m,g as r,h as d,N as _e,I as ue,A as H,i as p,B as W,j as ge,k as V,l as U,m as Q,n as O,p as pe,q as me,s as he,t as R,v as J,x as Ie,y as K,z as fe,C as q,D as be,E as ee,F as ve,G as T,H as Ce,J as ye,K as y,L as w,M as h,O as S,P as L,Q as we,R as Be,S as Se,T as Me,U as ke,V as Pe,W as $,X as Ae,Y as Ze,Z as Le,$ as xe,a0 as He}from"./index-Dw1EfjOY.js";const $e={class:"navigation-marketing-bar","aria-label":"Marketing navigation"},Ne={class:"navigation-marketing-bar__inner"},je={class:"navigation-marketing-bar__brand"},De={key:0,class:"navigation-marketing-bar__menu","aria-label":"Sections"},Re={key:1,class:"navigation-marketing-bar__actions"},Ge={key:2,class:"navigation-marketing-bar__cta-secondary"},Te={key:3,class:"navigation-marketing-bar__cta-primary"},ze=v({__name:"NavigationMarketingBar",setup(i){return(t,u)=>(a(),o("header",$e,[e("div",Ne,[e("div",je,[Z(t.$slots,"brand")]),t.$slots.menu?(a(),o("nav",De,[Z(t.$slots,"menu")])):k("",!0),u[0]||(u[0]=e("div",{class:"navigation-marketing-bar__spacer"},null,-1)),t.$slots.actions?(a(),o("div",Re,[Z(t.$slots,"actions")])):k("",!0),t.$slots["cta-secondary"]?(a(),o("div",Ge,[Z(t.$slots,"cta-secondary")])):k("",!0),t.$slots["cta-primary"]?(a(),o("div",Te,[Z(t.$slots,"cta-primary")])):k("",!0)])]))}}),We=C(ze,[["__scopeId","data-v-55d19f31"]]),Ve=["src"],Xe={class:"btn btn-sm btn-outline-secondary landing-topnav__github",href:"https://github.com/blueprint-chart/blueprint-chart",target:"_blank",rel:"noopener noreferrer"},Ee=v({__name:"LandingTopNav",setup(i){const{theme:t,resolvedTheme:u,cycleTheme:g}=G(),n=ge("k"),s=V(()=>u.value==="dark"?Q:O),_=ce("(max-width: 37.5rem)"),b={light:he,dark:me,auto:pe},c=V(()=>b[t.value]);function l(){n.trigger()}return(f,I)=>{const M=U("router-link");return a(),x(r(We),null,{brand:m(()=>[d(M,{to:"/",class:"landing-topnav__brand","aria-label":"Blueprint Chart home"},{default:m(()=>[e("img",{src:s.value,alt:"",class:"landing-topnav__brand-logo"},null,8,Ve),I[0]||(I[0]=e("span",{class:"landing-topnav__brand-name"},"Blueprint Chart",-1))]),_:1})]),menu:m(()=>[d(M,{to:{hash:"#defaults"}},{default:m(()=>[...I[1]||(I[1]=[p(" Defaults ",-1)])]),_:1}),d(M,{to:{hash:"#transforms"}},{default:m(()=>[...I[2]||(I[2]=[p(" Transforms ",-1)])]),_:1}),d(M,{to:{hash:"#format"}},{default:m(()=>[...I[3]||(I[3]=[p(" Format ",-1)])]),_:1}),d(M,{to:{hash:"#mcp"}},{default:m(()=>[...I[4]||(I[4]=[p(" AI ",-1)])]),_:1}),d(M,{to:{hash:"#scenes"}},{default:m(()=>[...I[5]||(I[5]=[p(" Scenes ",-1)])]),_:1})]),actions:m(()=>[d(r(_e),{placeholder:"Search or jump to…","shortcut-label":r(n).keyLabel,collapsed:r(_),onClick:l},null,8,["shortcut-label","collapsed"]),e("a",Xe,[d(r(H),{name:r(ue),size:"xs"},null,8,["name"]),I[6]||(I[6]=p(" GitHub ",-1))]),d(r(W),{"icon-left":c.value,label:"Toggle theme","hide-label":"",square:"",variant:"outline-secondary",size:"sm",onClick:r(g)},null,8,["icon-left","onClick"])]),_:1})}}}),Fe=C(Ee,[["__scopeId","data-v-ece0e1a3"]]),Ye=150;function Ue(i){return i?Ie(i).scenes.length:0}function te(i,t,u){be(i,t,u)}function Qe(i,t,u){const g=fe(t),n=g?t:K(""),s=g?u:t,{theme:_}=G();function b(){!i.value||!n.value||te(i.value,n.value,s)}const c=q(b,Ye);R([i,n,_],b,{immediate:!0}),J(i,c);function l(f){n.value=f}return{applyDsl:l}}const Oe=v({__name:"LandingChartPreview",props:{bpc:{}},setup(i){const t=i,u=ee("containerRef");return Qe(u,ve(t,"bpc"),{stripColors:!0}),(g,n)=>(a(),o("div",{ref_key:"containerRef",ref:u,class:"landing-chart-preview"},null,512))}}),E=C(Oe,[["__scopeId","data-v-eb03c209"]]),Je={class:"landing-hero"},Ke={class:"landing-hero__inner"},qe={class:"landing-hero__inner__text"},et={class:"landing-hero__inner__text__actions"},tt={class:"landing-hero__inner__chart"},nt=v({__name:"LandingHero",setup(i){const t=T.find(g=>g.id==="coffee-production");if(!t)throw new Error("Missing coffee-production sample — see LandingHero.vue");const u=t.dsl.replace(/\{/,`{
|
|
2
|
+
theme = "blueprint-framed"`);return(g,n)=>{const s=E;return a(),o("section",Je,[e("div",Ke,[e("div",qe,[d(r(Ce),{variant:"info",pill:"",class:"landing-hero__inner__text__eyebrow"},{default:m(()=>[...n[0]||(n[0]=[e("span",{class:"landing-hero__inner__text__eyebrow__dot","aria-hidden":"true"},null,-1),p(" Built in the newsroom ",-1)])]),_:1}),n[1]||(n[1]=e("h1",{class:"landing-hero__inner__text__h1"},[p(" Great stories,"),e("br"),e("em",null,"great data viz.")],-1)),n[2]||(n[2]=e("p",{class:"landing-hero__inner__text__sub"}," A modern data viz platform for editorial work. Author your chart in a compact DSL, sequence it across named scenes that play back like a narrative, and let opinionated defaults handle the craft. ",-1)),e("div",et,[d(r(W),{to:"/charts",label:"My charts",variant:"outline-secondary"}),d(r(W),{to:"/new",label:"New chart",variant:"primary","icon-left":r(ye)},null,8,["icon-left"])])]),e("div",tt,[d(s,{bpc:r(u)},null,8,["bpc"])])])])}}}),at=C(nt,[["__scopeId","data-v-9b065bb8"]]),st={class:"landing-value-prop-strip","aria-label":"Why Blueprint Chart"},ot={class:"landing-value-prop-strip__cell__label"},it={class:"landing-value-prop-strip__cell__value"},rt=v({__name:"LandingValuePropStrip",setup(i){const t=[{label:"01 / No backend",value:"Runs in the browser"},{label:"02 / Self-contained",value:"One portable iframe"},{label:"03 / Data sovereignty",value:"Nothing ever uploaded"},{label:"04 / MIT",value:"Free, open source, forever"}];return(u,g)=>(a(),o("section",st,[(a(),o(y,null,w(t,n=>e("dl",{key:n.label,class:"landing-value-prop-strip__cell"},[e("dt",ot,h(n.label),1),e("dd",it,h(n.value),1)])),64))]))}}),lt=C(rt,[["__scopeId","data-v-af8f52cc"]]),dt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function ct(i,t){return a(),o("svg",dt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M225 80.4L183.6 39a24 24 0 0 0-33.94 0L31 157.66a24 24 0 0 0 0 33.94l30.06 30.06a8 8 0 0 0 5.68 2.34H216a8 8 0 0 0 0-16h-84.7l93.7-93.66a24 24 0 0 0 0-33.94M108.68 208H70.05l-27.72-27.72a8 8 0 0 1 0-11.31L96 115.31L148.69 168Zm105-105L160 156.69L107.31 104L161 50.34a8 8 0 0 1 11.32 0l41.38 41.38a8 8 0 0 1 0 11.31Z"},null,-1)])])}const _t=S({name:"ph-eraser",render:ct}),ut={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function gt(i,t){return a(),o("svg",ut,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M224 72h-16v-8a24 24 0 0 0-24-24H40a24 24 0 0 0-24 24v96a24 24 0 0 0 24 24h112v8a24 24 0 0 0 24 24h48a24 24 0 0 0 24-24V96a24 24 0 0 0-24-24M40 168a8 8 0 0 1-8-8V64a8 8 0 0 1 8-8h144a8 8 0 0 1 8 8v8h-16a24 24 0 0 0-24 24v72Zm192 24a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8V96a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8Zm-96 16a8 8 0 0 1-8 8H88a8 8 0 0 1 0-16h40a8 8 0 0 1 8 8m80-96a8 8 0 0 1-8 8h-16a8 8 0 0 1 0-16h16a8 8 0 0 1 8 8"},null,-1)])])}const pt=S({name:"ph-devices",render:gt}),mt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function ht(i,t){return a(),o("svg",mt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M100 56H40a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h60v8a32 32 0 0 1-32 32a8 8 0 0 0 0 16a48.05 48.05 0 0 0 48-48V72a16 16 0 0 0-16-16m0 80H40V72h60Zm116-80h-60a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h60v8a32 32 0 0 1-32 32a8 8 0 0 0 0 16a48.05 48.05 0 0 0 48-48V72a16 16 0 0 0-16-16m0 80h-60V72h60Z"},null,-1)])])}const It=S({name:"ph-quotes",render:ht}),ft=["id","data-bs-theme"],bt={class:"landing-section__inner"},vt=v({__name:"LandingSection",props:{id:{default:void 0},dark:{type:Boolean,default:!1},full:{type:Boolean,default:!1},bordered:{type:Boolean,default:!0},surface:{default:"chrome"}},setup(i){return(t,u)=>(a(),o("section",{id:i.id,class:L(["landing-section",{"landing-section--dark":i.dark,"landing-section--full":i.full,"landing-section--bordered":i.bordered,[`landing-section--surface-${i.surface}`]:!0}]),"data-bs-theme":i.dark?"dark":void 0},[e("div",bt,[Z(t.$slots,"default",{},void 0,!0)])],10,ft))}}),N=C(vt,[["__scopeId","data-v-1f01ad30"]]),Ct={class:"landing-section-header__label"},yt={class:"landing-section-header__title"},wt={key:0,class:"landing-section-header__lead"},Bt=v({__name:"LandingSectionHeader",props:{label:{},center:{type:Boolean,default:!1}},setup(i){return(t,u)=>(a(),o("div",{class:L(["landing-section-header",{"landing-section-header--center":i.center}])},[e("div",Ct,h(i.label),1),e("h2",yt,[Z(t.$slots,"default",{},void 0,!0)]),t.$slots.lead?(a(),o("p",wt,[Z(t.$slots,"lead",{},void 0,!0)])):k("",!0)],2))}}),j=C(Bt,[["__scopeId","data-v-893c7bf5"]]),St={class:"landing-default-card"},Mt={class:"landing-default-card__head"},kt={class:"landing-default-card__head__icon"},Pt={class:"landing-default-card__head__tag"},At={class:"landing-default-card__title"},Zt={class:"landing-default-card__desc"},Lt=v({__name:"LandingDefaultCard",props:{icon:{},tag:{},title:{},description:{}},setup(i){return(t,u)=>(a(),o("div",St,[e("div",Mt,[e("span",kt,[d(r(H),{name:i.icon,size:"sm"},null,8,["name"])]),e("span",Pt,h(i.tag),1)]),e("h4",At,h(i.title),1),e("p",Zt,h(i.description),1)]))}}),F=C(Lt,[["__scopeId","data-v-582e2ff8"]]),xt={class:"landing-defaults__grid"},Ht={class:"landing-defaults__grid__chart"},$t={class:"landing-defaults__grid__cards"},Nt=v({__name:"LandingDefaults",setup(i){const t=T.find(n=>n.id==="temperature-anomaly");if(!t)throw new Error("Missing temperature-anomaly sample — see LandingDefaults.vue");const u=t.dsl.replace(/\{/,`{
|
|
3
|
+
theme = "blueprint-framed"`),g=[{icon:we,tag:"01",title:"Axes start at zero",description:"Bars never lie. Truncated axes require an explicit override."},{icon:Be,tag:"02",title:"Direct labels",description:"Labels sit next to data. Readers' eyes never travel to a legend box."},{icon:_t,tag:"03",title:"No chart junk",description:"Gridlines and borders are suppressed unless they carry information."},{icon:Se,tag:"04",title:"CVD-safe palettes",description:"Every palette tested against deuteranopia, protanopia, tritanopia."},{icon:pt,tag:"05",title:"Mobile-first",description:"Labels reflow, ticks reduce, layouts adapt from desktop down to 320 px."},{icon:It,tag:"06",title:"Source attribution",description:"The BPC format includes a source field displayed on every chart."}];return(n,s)=>(a(),x(N,{id:"defaults"},{default:m(()=>[d(j,{label:"02 / Defaults"},{lead:m(()=>[...s[0]||(s[0]=[p(" Clutter is the enemy of insight. Blueprint Chart's defaults are opinionated by design, guided by decades of dataviz research from Tufte, Cairo and Schwabish, so your readers focus on the story, not the noise. ",-1)])]),default:m(()=>[s[1]||(s[1]=p(" A simple chart",-1)),s[2]||(s[2]=e("br",null,null,-1)),s[3]||(s[3]=e("em",null,"sends a big message.",-1))]),_:1}),e("div",xt,[e("div",Ht,[d(E,{bpc:r(u)},null,8,["bpc"])]),e("div",$t,[(a(),o(y,null,w(g,_=>d(F,{key:_.tag,icon:_.icon,tag:_.tag,title:_.title,description:_.description},null,8,["icon","tag","title","description"])),64))])])]),_:1}))}}),jt=C(Nt,[["__scopeId","data-v-2c0e797b"]]),Dt={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Rt(i,t){return a(),o("svg",Dt,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M208 40a8 8 0 0 1-8 8h-29.29a24 24 0 0 0-23.62 19.71l-9.5 52.29H184a8 8 0 0 1 0 16h-49.32l-10 55.16A40 40 0 0 1 85.29 224H56a8 8 0 0 1 0-16h29.29a24 24 0 0 0 23.62-19.71l9.5-52.29H72a8 8 0 0 1 0-16h49.32l10-55.16A40 40 0 0 1 170.71 32H200a8 8 0 0 1 8 8"},null,-1)])])}const Gt=S({name:"ph-function",render:Rt}),Tt={class:"transforms-demo"},zt={class:"transforms-demo__steps"},Wt=["onClick"],Vt={class:"transforms-demo__step__num"},Xt={class:"transforms-demo__step__label"},Et={class:"transforms-demo__body"},Ft={class:"transforms-demo__body__panel"},Yt={class:"transforms-demo__body__panel__title"},Ut={class:"transforms-demo__body__panel__table"},Qt={class:"transforms-demo__body__panel"},Ot={class:"transforms-demo__body__panel__title"},Jt={class:"transforms-demo__body__panel__table"},Kt={class:"transforms-demo__body__panel__note"},qt={class:"landing-transforms__cards"},en=v({__name:"LandingTransforms",setup(i){const t=$(0),u=[{icon:Gt,tag:"SORT · FILTER · GROUP",title:"Core operations",description:"Multi-column sort, conditional filter, group-with-aggregate (sum / avg / min / max / count)."},{icon:Me,tag:"29 OPERATIONS",title:"Parse & reshape",description:"Type conversions, string transforms, date extraction, numeric normalisation."},{icon:ke,tag:"RENAME · HIDE",title:"Chart-ready labels",description:"Clean column names for axis labels. Hide columns without deleting your data."},{icon:Pe,tag:"TRANSPOSE",title:"Pivot",description:"Swap rows and columns. First-column values become headers."}],g=[{label:"Raw CSV",inputTitle:"Uploaded data",outputTitle:"Detected types",input:[["country","year","co2"],["France","2019","4.6"],["France","2020","4.1"],["Germany","2019","8.5"],["Germany","2020","7.7"],["USA","2019","15.2"],["USA","2020","13.9"]],output:[["column","type","values"],["country","string","3 unique"],["year","number","2019 – 2020"],["co2","number","4.1 – 15.2"]],note:"Blueprint auto-detects column types from your CSV, paste or sample data."},{label:"Group by",inputTitle:"Input rows",outputTitle:"After grouping",input:[["country","year","co2"],["France","2019","4.6"],["France","2020","4.1"],["Germany","2019","8.5"],["Germany","2020","7.7"],["USA","2019","15.2"],["USA","2020","13.9"]],output:[["country","co2 (avg)"],["France","4.35"],["Germany","8.10"],["USA","14.55"]],highlightCol:"country",outputHighlightCol:"co2 (avg)",note:"Rows with the same country are grouped. CO₂ values aggregated with AVG."},{label:"Sort",inputTitle:"Grouped data",outputTitle:"Sorted descending",input:[["country","co2 (avg)"],["France","4.35"],["Germany","8.10"],["USA","14.55"]],output:[["country","co2 (avg)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],outputHighlightCol:"co2 (avg)",note:"Sorted by CO₂ descending, highest emitter first. Ready for the chart."},{label:"Rename",inputTitle:"Before rename",outputTitle:"Chart-ready",input:[["country","co2 (avg)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],output:[["Country","Avg CO₂ (tonnes)"],["USA","14.55"],["Germany","8.10"],["France","4.35"]],outputHighlightCol:"Avg CO₂ (tonnes)",note:"Clean column names for readable axis labels. Data flows straight to the chart."}];return(n,s)=>{const _=j,b=N;return a(),x(b,{id:"transforms",surface:"content"},{default:m(()=>[d(_,{label:"03 / Data pipeline"},{lead:m(()=>[...s[0]||(s[0]=[p(" Raw data rarely fits a chart out of the box. Blueprint's pipeline lets you sort, filter, group, parse and reshape, all without leaving the editor, all replayable from your BPC source. ",-1)])]),default:m(()=>[s[1]||(s[1]=p(" Reshape your data",-1)),s[2]||(s[2]=e("br",null,null,-1)),s[3]||(s[3]=e("em",null,"before you chart it.",-1))]),_:1}),e("div",Tt,[e("div",zt,[(a(),o(y,null,w(g,(c,l)=>e("button",{key:l,class:L(["transforms-demo__step",{"transforms-demo__step--active":r(t)===l}]),onClick:f=>t.value=l},[e("span",Vt,h(l+1),1),e("span",Xt,h(c.label),1)],10,Wt)),64))]),e("div",Et,[e("div",Ft,[e("div",Yt,h(g[r(t)].inputTitle),1),e("table",Ut,[e("thead",null,[e("tr",null,[(a(!0),o(y,null,w(g[r(t)].input[0],c=>(a(),o("th",{key:c,class:"transforms-demo__body__panel__th"},h(c),1))),128))])]),e("tbody",null,[(a(!0),o(y,null,w(g[r(t)].input.slice(1),(c,l)=>(a(),o("tr",{key:l},[(a(!0),o(y,null,w(c,(f,I)=>(a(),o("td",{key:I,class:L(["transforms-demo__body__panel__td",{"transforms-demo__body__panel__td--highlight":g[r(t)].highlightCol===g[r(t)].input[0][I]}])},h(f),3))),128))]))),128))])])]),s[4]||(s[4]=e("div",{class:"transforms-demo__body__flow"},[e("svg",{viewBox:"0 0 80 10",preserveAspectRatio:"none",class:"transforms-demo__body__flow__svg"},[e("path",{d:"M0,5 C30,5 50,5 80,5",class:"transforms-demo__body__flow__wire","vector-effect":"non-scaling-stroke"})]),e("div",{class:"transforms-demo__body__flow__dot transforms-demo__body__flow__dot--left"}),e("div",{class:"transforms-demo__body__flow__dot transforms-demo__body__flow__dot--right"})],-1)),e("div",Qt,[e("div",Ot,h(g[r(t)].outputTitle),1),e("table",Jt,[e("thead",null,[e("tr",null,[(a(!0),o(y,null,w(g[r(t)].output[0],c=>(a(),o("th",{key:c,class:"transforms-demo__body__panel__th"},h(c),1))),128))])]),e("tbody",null,[(a(!0),o(y,null,w(g[r(t)].output.slice(1),(c,l)=>(a(),o("tr",{key:l},[(a(!0),o(y,null,w(c,(f,I)=>(a(),o("td",{key:I,class:L(["transforms-demo__body__panel__td",{"transforms-demo__body__panel__td--highlight":g[r(t)].outputHighlightCol===g[r(t)].output[0][I]}])},h(f),3))),128))]))),128))])]),e("p",Kt,h(g[r(t)].note),1)])])]),e("div",qt,[(a(),o(y,null,w(u,c=>d(F,{key:c.tag,icon:c.icon,tag:c.tag,title:c.title,description:c.description},null,8,["icon","tag","title","description"])),64))])]),_:1})}}}),tn=C(en,[["__scopeId","data-v-51aeaea0"]]),nn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function an(i,t){return a(),o("svg",nn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M208 80h-32V56a48 48 0 0 0-96 0v24H48a16 16 0 0 0-16 16v112a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16M96 56a32 32 0 0 1 64 0v24H96Zm112 152H48V96h160zm-68-56a12 12 0 1 1-12-12a12 12 0 0 1 12 12"},null,-1)])])}const sn=S({name:"ph-lock",render:an}),on={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function rn(i,t){return a(),o("svg",on,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M215.79 118.17a8 8 0 0 0-5-5.66L153.18 90.9l14.66-73.33a8 8 0 0 0-13.69-7l-112 120a8 8 0 0 0 3 13l57.63 21.61l-14.62 73.25a8 8 0 0 0 13.69 7l112-120a8 8 0 0 0 1.94-7.26M109.37 214l10.47-52.38a8 8 0 0 0-5-9.06L62 132.71l84.62-90.66l-10.46 52.38a8 8 0 0 0 5 9.06l52.8 19.8Z"},null,-1)])])}const ln=S({name:"ph-lightning",render:rn}),dn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function cn(i,t){return a(),o("svg",dn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M53.92 34.62a8 8 0 1 0-11.84 10.76l39.24 43.17l-.06.12A65 65 0 0 0 72 88a64 64 0 0 0 0 128h88a87.3 87.3 0 0 0 31.8-5.93l10.28 11.31a8 8 0 1 0 11.84-10.76ZM160 200H72a48 48 0 0 1 0-96c1.1 0 2.2 0 3.3.12A88.4 88.4 0 0 0 72 128a8 8 0 0 0 16 0a72.3 72.3 0 0 1 5.06-26.54l87 95.7A71.7 71.7 0 0 1 160 200m88-72a87.9 87.9 0 0 1-22.35 58.61A8 8 0 0 1 213.71 176a72 72 0 0 0-96.34-106a8 8 0 0 1-9.48-12.89A88 88 0 0 1 248 128"},null,-1)])])}const _n=S({name:"ph-cloud-slash",render:cn}),un={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function gn(i,t){return a(),o("svg",un,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M128 24c-53.83 0-96 24.6-96 56v96c0 31.4 42.17 56 96 56s96-24.6 96-56V80c0-31.4-42.17-56-96-56m80 104c0 9.62-7.88 19.43-21.61 26.92C170.93 163.35 150.19 168 128 168s-42.93-4.65-58.39-13.08C55.88 147.43 48 137.62 48 128v-16.64c17.06 15 46.23 24.64 80 24.64s62.94-9.68 80-24.64ZM69.61 53.08C85.07 44.65 105.81 40 128 40s42.93 4.65 58.39 13.08C200.12 60.57 208 70.38 208 80s-7.88 19.43-21.61 26.92C170.93 115.35 150.19 120 128 120s-42.93-4.65-58.39-13.08C55.88 99.43 48 89.62 48 80s7.88-19.43 21.61-26.92m116.78 149.84C170.93 211.35 150.19 216 128 216s-42.93-4.65-58.39-13.08C55.88 195.43 48 185.62 48 176v-16.64c17.06 15 46.23 24.64 80 24.64s62.94-9.68 80-24.64V176c0 9.62-7.88 19.43-21.61 26.92"},null,-1)])])}const pn=S({name:"ph-database",render:gn}),mn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function hn(i,t){return a(),o("svg",mn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M216 48v48a8 8 0 0 1-16 0V67.31l-42.34 42.35a8 8 0 0 1-11.32-11.32L188.69 56H160a8 8 0 0 1 0-16h48a8 8 0 0 1 8 8M98.34 146.34L56 188.69V160a8 8 0 0 0-16 0v48a8 8 0 0 0 8 8h48a8 8 0 0 0 0-16H67.31l42.35-42.34a8 8 0 0 0-11.32-11.32M208 152a8 8 0 0 0-8 8v28.69l-42.34-42.35a8 8 0 0 0-11.32 11.32L188.69 200H160a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8M67.31 56H96a8 8 0 0 0 0-16H48a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0V67.31l42.34 42.35a8 8 0 0 0 11.32-11.32Z"},null,-1)])])}const In=S({name:"ph-arrows-out",render:hn}),fn={class:"landing-format__grid"},bn={class:"landing-format__pane","data-bs-theme":"dark"},vn=["innerHTML"],Cn={class:"landing-format__browser"},yn={class:"landing-format__browser__url","aria-hidden":"true"},wn=["href"],Bn={class:"landing-format__browser__chart"},Sn={class:"landing-format__cards"},Mn={class:"landing-format__footnote"},kn={class:"landing-format__footnote__lead"},Pn="eyJ0eXBlIjoibGluZSIsImRhdGEiOlt7IngiOiIxOTgwIix7InkiOj",An="eyJ0...",Zn=v({__name:"LandingFormat",setup(i){const t=T.find(c=>c.id==="temperature-anomaly");if(!t)throw new Error("Missing temperature-anomaly sample — see LandingFormat.vue");const u=t.dsl.replace(/\{/,`{
|
|
4
|
+
theme = "blueprint-framed"`),g=Ae(u);function n(c){const l=new TextEncoder().encode(c);let f="";for(const I of l)f+=String.fromCharCode(I);return globalThis.btoa(f)}const s=n(u),_=typeof window<"u"?`${window.location.origin}${window.location.pathname}#/render?bpc64=${encodeURIComponent(s)}`:"#",b=[{icon:_n,tag:"A",title:"No backend",description:"The renderer runs in the browser. Self-host the editor anywhere, including a USB stick."},{icon:pn,tag:"B",title:"Data stays local",description:"Your CSV never touches a server. The base64 payload is the data. It travels with the iframe."},{icon:In,tag:"C",title:"One string ships",description:"The entire chart fits in a URL fragment. One copy-paste embeds it on any CMS."}];return(c,l)=>(a(),x(N,{id:"format"},{default:m(()=>[d(j,{label:"04 / One portable file"},{lead:m(()=>[...l[0]||(l[0]=[p(" Blueprint charts are plain-text in, self-contained iframe out. No backend renders them. Your data never leaves the browser. One file is the chart, the data, and the embed, together. ",-1)])]),default:m(()=>[l[1]||(l[1]=p(" BPC: a chart you",-1)),l[2]||(l[2]=e("br",null,null,-1)),l[3]||(l[3]=e("em",null,"can hold in your hand.",-1))]),_:1}),e("div",fn,[e("div",bn,[l[4]||(l[4]=e("div",{class:"landing-format__pane__head"},[e("span",{class:"landing-format__pane__head__dots"},[e("span"),e("span"),e("span")]),p(" chart.bpc ")],-1)),e("pre",{class:"landing-format__pane__code",innerHTML:r(g)},null,8,vn)]),e("div",Cn,[l[7]||(l[7]=e("span",{class:"visually-hidden"},"Example embed URL",-1)),e("div",yn,[l[6]||(l[6]=e("span",{class:"landing-format__browser__url__dots"},[e("span"),e("span"),e("span")],-1)),e("a",{href:r(_),target:"_blank",rel:"noopener","aria-label":"Open this chart embed in a new tab",class:"landing-format__browser__url__bar"},[d(r(H),{name:r(sn),size:"xs",variant:"success"},null,8,["name"]),l[5]||(l[5]=e("span",{class:"landing-format__browser__url__bar__host"},"blueprintchart.com/#/render?bpc64=",-1)),e("span",{class:"landing-format__browser__url__bar__fragment landing-format__browser__url__bar__fragment--long"},h(Pn)),e("span",{class:"landing-format__browser__url__bar__fragment landing-format__browser__url__bar__fragment--short"},h(An))],8,wn)]),e("div",Bn,[d(E,{bpc:r(u)},null,8,["bpc"])])])]),e("div",Sn,[(a(),o(y,null,w(b,f=>d(F,{key:f.tag,icon:f.icon,tag:f.tag,title:f.title,description:f.description},null,8,["icon","tag","title","description"])),64))]),e("p",Mn,[e("span",kn,[l[8]||(l[8]=e("span",{class:"landing-format__footnote__label"},"FYI",-1)),d(r(H),{name:r(ln),size:"xs",variant:"warning"},null,8,["name"])]),l[9]||(l[9]=e("span",{class:"landing-format__footnote__text"},[p(" Plain-text BPC is also an excellent target for LLMs. The official "),e("a",{class:"landing-format__footnote__link",href:"https://docs.blueprintchart.com/guide/mcp",target:"_blank",rel:"noopener noreferrer"},"MCP"),p(" writes, validates, and renders it for you. ")],-1))])]),_:1}))}}),Ln=C(Zn,[["__scopeId","data-v-f2deba77"]]),xn={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Hn(i,t){return a(),o("svg",xn,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M197.58 129.06L146 110l-19-51.62a15.92 15.92 0 0 0-29.88 0L78 110l-51.62 19a15.92 15.92 0 0 0 0 29.88L78 178l19 51.62a15.92 15.92 0 0 0 29.88 0L146 178l51.62-19a15.92 15.92 0 0 0 0-29.88ZM137 164.22a8 8 0 0 0-4.74 4.74L112 223.85L91.78 169a8 8 0 0 0-4.78-4.78L32.15 144L87 123.78a8 8 0 0 0 4.78-4.78L112 64.15L132.22 119a8 8 0 0 0 4.74 4.74L191.85 144ZM144 40a8 8 0 0 1 8-8h16V16a8 8 0 0 1 16 0v16h16a8 8 0 0 1 0 16h-16v16a8 8 0 0 1-16 0V48h-16a8 8 0 0 1-8-8m104 48a8 8 0 0 1-8 8h-8v8a8 8 0 0 1-16 0v-8h-8a8 8 0 0 1 0-16h8v-8a8 8 0 0 1 16 0v8h8a8 8 0 0 1 8 8"},null,-1)])])}const X=S({name:"ph-sparkle",render:Hn}),$n={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function Nn(i,t){return a(),o("svg",$n,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8M72 96a56 56 0 1 1 56 56a56.06 56.06 0 0 1-56-56"},null,-1)])])}const jn=S({name:"ph-user",render:Nn}),Dn="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgNDkyIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9IkJhciBjaGFydCB0aXRsZWQgRSBpcyB0aGUgbW9zdCBmcmVxdWVudCBsZXR0ZXIgaW4gRW5nbGlzaC4gRSBpcyBoaWdobGlnaHRlZCBhdCAxMi43IHBlcmNlbnQsIHRoZSB0YWxsZXN0IGJhciwgZm9sbG93ZWQgYnkgVCA5LjA2LCBBIDguMTcsIE8gNy41MSwgSSA2Ljk3LCBOIDYuNzUsIFMgNi4zMywgSCA2LjA5LCBSIDUuOTkgYW5kIEQgNC4yNS4iPgogIDx0ZXh0IHg9IjIiIHk9IjQwIiBmb250LWZhbWlseT0iR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmIiBmb250LXNpemU9IjI1IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjMWEyMTI4Ij5FIGlzIHRoZSBtb3N0IGZyZXF1ZW50IGxldHRlciBpbiBFbmdsaXNoPC90ZXh0PgogIDx0ZXh0IHg9IjIiIHk9IjY2IiBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjE1IiBmaWxsPSIjNWI2NDcwIj5Ib3cgb2Z0ZW4gZWFjaCBsZXR0ZXIgYXBwZWFycyBpbiB0eXBpY2FsIEVuZ2xpc2ggdGV4dDwvdGV4dD4KCiAgPGcgZm9udC1mYW1pbHk9Ii1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgZmlsbD0iIzMzNDA0ZCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAgICA8dGV4dCB4PSI3OCIgeT0iMTAyIiBmaWxsPSIjMjU2M0EwIiBmb250LXdlaWdodD0iNzAwIj4xMi43PC90ZXh0PgogICAgPHRleHQgeD0iMTMwIiB5PSIxODgiPjkuMDY8L3RleHQ+CiAgICA8dGV4dCB4PSIxODIiIHk9IjIwOSI+OC4xNzwvdGV4dD4KICAgIDx0ZXh0IHg9IjIzNCIgeT0iMjI1Ij43LjUxPC90ZXh0PgogICAgPHRleHQgeD0iMjg2IiB5PSIyMzciPjYuOTc8L3RleHQ+CiAgICA8dGV4dCB4PSIzMzgiIHk9IjI0MyI+Ni43NTwvdGV4dD4KICAgIDx0ZXh0IHg9IjM5MCIgeT0iMjUzIj42LjMzPC90ZXh0PgogICAgPHRleHQgeD0iNDQyIiB5PSIyNTgiPjYuMDk8L3RleHQ+CiAgICA8dGV4dCB4PSI0OTQiIHk9IjI2MSI+NS45OTwvdGV4dD4KICAgIDx0ZXh0IHg9IjU0NiIgeT0iMzAyIj40LjI1PC90ZXh0PgogIDwvZz4KCiAgPGc+CiAgICA8cmVjdCB4PSI2MCIgIHk9IjExMCIgd2lkdGg9IjM2IiBoZWlnaHQ9IjMwMCIgZmlsbD0iIzI1NjNBMCIvPgogICAgPHJlY3QgeD0iMTEyIiB5PSIxOTYiIHdpZHRoPSIzNiIgaGVpZ2h0PSIyMTQiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjE2NCIgeT0iMjE3IiB3aWR0aD0iMzYiIGhlaWdodD0iMTkzIiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSIyMTYiIHk9IjIzMyIgd2lkdGg9IjM2IiBoZWlnaHQ9IjE3NyIgZmlsbD0iI2E5YzNkZCIvPgogICAgPHJlY3QgeD0iMjY4IiB5PSIyNDUiIHdpZHRoPSIzNiIgaGVpZ2h0PSIxNjUiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjMyMCIgeT0iMjUxIiB3aWR0aD0iMzYiIGhlaWdodD0iMTU5IiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSIzNzIiIHk9IjI2MSIgd2lkdGg9IjM2IiBoZWlnaHQ9IjE0OSIgZmlsbD0iI2E5YzNkZCIvPgogICAgPHJlY3QgeD0iNDI0IiB5PSIyNjYiIHdpZHRoPSIzNiIgaGVpZ2h0PSIxNDQiIGZpbGw9IiNhOWMzZGQiLz4KICAgIDxyZWN0IHg9IjQ3NiIgeT0iMjY5IiB3aWR0aD0iMzYiIGhlaWdodD0iMTQxIiBmaWxsPSIjYTljM2RkIi8+CiAgICA8cmVjdCB4PSI1MjgiIHk9IjMxMCIgd2lkdGg9IjM2IiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2E5YzNkZCIvPgogIDwvZz4KCiAgPGxpbmUgeDE9IjU2IiB5MT0iNDEwIiB4Mj0iNTg2IiB5Mj0iNDEwIiBzdHJva2U9IiNkNmRiZTEiIHN0cm9rZS13aWR0aD0iMSIvPgoKICA8ZyBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjNWI2NDcwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4KICAgIDx0ZXh0IHg9Ijc4IiB5PSI0MzIiPkU8L3RleHQ+CiAgICA8dGV4dCB4PSIxMzAiIHk9IjQzMiI+VDwvdGV4dD4KICAgIDx0ZXh0IHg9IjE4MiIgeT0iNDMyIj5BPC90ZXh0PgogICAgPHRleHQgeD0iMjM0IiB5PSI0MzIiPk88L3RleHQ+CiAgICA8dGV4dCB4PSIyODYiIHk9IjQzMiI+STwvdGV4dD4KICAgIDx0ZXh0IHg9IjMzOCIgeT0iNDMyIj5OPC90ZXh0PgogICAgPHRleHQgeD0iMzkwIiB5PSI0MzIiPlM8L3RleHQ+CiAgICA8dGV4dCB4PSI0NDIiIHk9IjQzMiI+SDwvdGV4dD4KICAgIDx0ZXh0IHg9IjQ5NCIgeT0iNDMyIj5SPC90ZXh0PgogICAgPHRleHQgeD0iNTQ2IiB5PSI0MzIiPkQ8L3RleHQ+CiAgPC9nPgo8L3N2Zz4K",Rn={class:"landing-mcp__grid"},Gn={class:"landing-mcp__chat"},Tn={class:"landing-mcp__chat__body"},zn={key:1,class:"landing-mcp__avatar landing-mcp__avatar--ghost","aria-hidden":"true"},Wn={class:"landing-mcp__msg__col"},Vn={key:0,class:"landing-mcp__msg__name"},Xn=["href"],En={key:1,class:"landing-mcp__chart"},Fn=["src"],Yn={class:"landing-mcp__proof"},Un={class:"landing-mcp__steps"},Qn={class:"landing-mcp__steps__n"},On={class:"landing-mcp__steps__t"},Jn={class:"landing-mcp__cta",href:"https://docs.blueprintchart.com/guide/mcp",target:"_blank",rel:"noopener noreferrer","aria-label":"Read the Blueprint Chart MCP documentation"},Kn='Make a bar chart of English letter frequencies with an highlight on "E".',qn="claude mcp add blueprint-chart -- npx -y @blueprint-chart/mcp",ea="https://blueprintchart.com/#/copy?bpc64=Y2hhcnQgYmFyLXZlcnRpY2FsIHsKICB0aXRsZSA9ICJFIGlzIHRoZSBtb3N0IGZyZXF1ZW50IGxldHRlciBpbiBFbmdsaXNoIgogIGRlc2NyaXB0aW9uID0gIkhvdyBvZnRlbiBlYWNoIGxldHRlciBhcHBlYXJzIGluIHR5cGljYWwgRW5nbGlzaCB0ZXh0IgogIGJ5bGluZSA9ICJQaWVycmUgUm9tZXJhIgogIHNvdXJjZSA9ICJMZXdhbmQsIENyeXB0b2xvZ2ljYWwgTWF0aGVtYXRpY3MiCiAgc291cmNlVXJsID0gImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xldHRlcl9mcmVxdWVuY3kiCiAgbm90ZSA9ICJCYXNlZCBvbiBhbmFseXNpcyBvZiA0MCwwMDAgd29yZHMgZnJvbSBFbmdsaXNoIHByb3NlIgogIGNvbG9yUGFsZXR0ZSA9ICJMb25kb24iCiAgc29ydCA9IGRlc2NlbmRpbmcKICB2YWx1ZUxhYmVscyA9IHRydWUKICB2ZXJ0aWNhbExhYmVsUG9zaXRpb24gPSBvZmYKICB2ZXJ0aWNhbEdyaWRTdHlsZSA9IG5vbmUKCiAgaGlnaGxpZ2h0ICJFIgoKICBkYXRhIHsKICAgICJFIiA9IDEyLjcwCiAgICAiVCIgPSA5LjA2CiAgICAiQSIgPSA4LjE3CiAgICAiTyIgPSA3LjUxCiAgICAiSSIgPSA2Ljk3CiAgICAiTiIgPSA2Ljc1CiAgICAiUyIgPSA2LjMzCiAgICAiSCIgPSA2LjA5CiAgICAiUiIgPSA1Ljk5CiAgICAiRCIgPSA0LjI1CiAgfQp9Cg",ta=v({__name:"LandingMcp",setup(i){const t=[{role:"user",name:"You",text:Kn},{role:"asst",name:"Blueprint Chart",text:"Reading the dataviz handbook for letter-frequency conventions…"},{role:"asst",name:"Blueprint Chart",text:'Drafting the .bpc, sorting by frequency and accenting "E".'},{role:"asst",name:"Blueprint Chart",text:"Validated, no parse errors. Here's the chart 👇",chart:!0},{role:"user",name:"You",text:"Love it. Can you export it to a shareable link?"},{role:"asst",name:"Blueprint Chart",text:"Exported. Anyone can open this to view and copy the chart.",link:ea}],u=[{n:"01",title:"Read the handbook",sub:"grounded in real dataviz pedagogy"},{n:"02",title:"Write the .bpc",sub:"compact, declarative chart source"},{n:"03",title:"Validate",sub:"structured parse errors and fixes"},{n:"04",title:"Render",sub:"SVG or PNG, deterministic"},{n:"05",title:"Iterate",sub:"a tight loop instead of guessing"}];return(g,n)=>(a(),x(N,{id:"mcp"},{default:m(()=>[d(j,{label:"05 / Author with AI"},{lead:m(()=>[...n[0]||(n[0]=[p(" Connect the Blueprint Chart MCP to Claude, Claude Code, Cursor, or any MCP client. It reads the dataviz handbook, writes the ",-1),e("code",null,".bpc",-1),p(", validates it, and renders it — so you get a real chart from a sentence. ",-1)])]),default:m(()=>[n[1]||(n[1]=p(" Describe the chart.",-1)),n[2]||(n[2]=e("br",null,null,-1)),n[3]||(n[3]=e("em",null,"Let your assistant build it.",-1))]),_:1}),e("div",Rn,[e("div",Gn,[n[4]||(n[4]=e("div",{class:"landing-mcp__chat__head"},[e("span",{class:"landing-mcp__chat__head__logo"},"B"),p(" Blueprint Chart · Assistant ")],-1)),e("div",Tn,[(a(),o(y,null,w(t,(s,_)=>{var b,c,l;return e("div",{key:_,class:L(["landing-mcp__msg",{"landing-mcp__msg--user":s.role==="user","landing-mcp__msg--grouped":((b=t[_-1])==null?void 0:b.role)===s.role}])},[((c=t[_-1])==null?void 0:c.role)!==s.role?(a(),o("span",{key:0,class:L(["landing-mcp__avatar",`landing-mcp__avatar--${s.role}`])},[d(r(H),{name:s.role==="user"?r(jn):r(X),size:"xs","aria-hidden":"true"},null,8,["name"])],2)):(a(),o("span",zn)),e("div",Wn,[((l=t[_-1])==null?void 0:l.role)!==s.role?(a(),o("span",Vn,h(s.name),1)):k("",!0),e("div",{class:L(["landing-mcp__bubble",`landing-mcp__bubble--${s.role}`])},[p(h(s.text)+" ",1),s.link?(a(),o("a",{key:0,class:"landing-mcp__link",href:s.link,target:"_blank",rel:"noopener noreferrer"},h(s.link),9,Xn)):k("",!0)],2),s.chart?(a(),o("div",En,[e("img",{class:"landing-mcp__chart__img",src:r(Dn),alt:"Bar chart: E is the most frequent letter in English at 12.7%, followed by T, A, O, I, N, S, H, R and D"},null,8,Fn)])):k("",!0)])],2)}),64))])]),e("div",Yn,[n[7]||(n[7]=e("div",{class:"landing-mcp__proof__label"}," How it works ",-1)),e("ol",Un,[(a(),o(y,null,w(u,s=>e("li",{key:s.n,class:"landing-mcp__steps__item"},[e("span",Qn,h(s.n),1),e("span",On,[p(h(s.title)+" ",1),e("small",null,h(s.sub),1)])])),64))]),e("div",{class:"landing-mcp__install","data-bs-theme":"dark"},[n[5]||(n[5]=e("div",{class:"landing-mcp__install__head"},[e("span",{class:"landing-mcp__install__head__dots"},[e("span"),e("span"),e("span")]),p(" terminal ")],-1)),e("code",{class:"landing-mcp__install__cmd"},h(qn))]),e("a",Jn,[d(r(H),{name:r(X),size:"xs","aria-hidden":"true"},null,8,["name"]),n[6]||(n[6]=p(" Read the docs ",-1))])])])]),_:1}))}}),na=C(ta,[["__scopeId","data-v-63454f11"]]),aa={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function sa(i,t){return a(),o("svg",aa,[...t[0]||(t[0]=[e("path",{fill:"currentColor",d:"M216 104H102.09L210 75.51a8 8 0 0 0 5.68-9.84l-8.16-30a15.93 15.93 0 0 0-19.42-11.13L35.81 64.74a15.75 15.75 0 0 0-9.7 7.4a15.5 15.5 0 0 0-1.55 12L32 111.56V200a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-88a8 8 0 0 0-8-8m-23.84-64l6 22.07l-22.62 6l-28.12-16.24Zm-66.69 17.6l28.12 16.24l-36.94 9.75l-28.12-16.22Zm-79.4 44.62l-6-22.08l26.5-7L94.69 89.4ZM208 200H48v-80h160z"},null,-1)])])}const oa=S({name:"ph-film-slate",render:sa}),ia={class:"scenes__grid"},ra={class:"scenes__grid__features"},la={class:"scenes-feature__icon"},da={class:"scenes-feature__title"},ca={class:"scenes-feature__desc"},_a={class:"scenes-demo"},ua=v({__name:"LandingScenes",setup(i){const t=T.find(B=>B.id==="farm-compass");if(!t)throw new Error("Missing farm-compass sample — see LandingScenes.vue");const u=t.dsl,g=Ue(u),n=ee("containerRef"),s=K(null),_=$(-1),b=$(!1),c=$(!1);let l=null;const f=$(_.value+2);R(_,B=>{f.value=B+2});const{theme:I}=G();function M(){n.value&&(te(n.value,u,{stripColors:!0,sceneIndex:_.value>=0?_.value:void 0,transition:c.value}),c.value=!1)}const ne=q(M,150);R([n,_,I],M,{immediate:!0}),J(n,ne);function Y(){var B;return((B=n.value)==null?void 0:B.querySelector(".bc-frame-footer"))??null}let P=null;R(n,B=>{if(P&&(P.disconnect(),P=null),!B){s.value=null;return}s.value=Y(),P=new MutationObserver(()=>{s.value=Y()}),P.observe(B,{childList:!0,subtree:!0})},{immediate:!0});function ae(B){c.value=!0,_.value=B-2}function se(){_.value>-1&&(c.value=!0,_.value=_.value-1)}function oe(){_.value<g-1&&(c.value=!0,_.value=_.value+1)}function ie(){b.value||(b.value=!0,c.value=!0,_.value=-1,l=globalThis.setInterval(()=>{_.value<g-1?(c.value=!0,_.value++):z()},3e3))}function z(){b.value=!1,l&&(globalThis.clearInterval(l),l=null)}Ze(()=>{z(),P&&(P.disconnect(),P=null)});const re=[{icon:oa,title:"Sequential scenes",description:"Each scene mutates the chart: highlight, filter, zoom, reorder, or change type entirely."},{icon:X,title:"Smooth animated transitions",description:"D3-powered morphing between states: bars grow, lines redraw, highlights pulse."},{icon:Le,title:"Embed anywhere",description:"One iframe embed. Works in WordPress, Ghost, any CMS."}];return(B,A)=>{const le=j,de=N;return a(),x(de,{id:"scenes",surface:"content"},{default:m(()=>[d(le,{label:"06 / Scenes & storytelling"},{lead:m(()=>[...A[0]||(A[0]=[p(" Create a sequence of scenes, each one a step in your narrative. The same chart morphs from overview to focus, from cause to consequence. Press play, or step through. ",-1)])]),default:m(()=>[A[1]||(A[1]=p(" Guide your reader",-1)),A[2]||(A[2]=e("br",null,null,-1)),A[3]||(A[3]=e("em",null,"through the data.",-1))]),_:1}),e("div",ia,[e("div",ra,[(a(),o(y,null,w(re,D=>e("div",{key:D.title,class:"scenes-feature"},[e("span",la,[d(r(H),{name:D.icon,size:"sm",variant:"primary"},null,8,["name"])]),e("div",null,[e("strong",da,h(D.title),1),e("p",ca,h(D.description),1)])])),64))]),e("div",_a,[e("div",{ref_key:"containerRef",ref:n,class:"scenes-demo__chart"},null,512),r(s)&&r(g)>0?(a(),x(xe,{key:0,to:r(s)},[d(r(He),{total:r(g)+1,current:r(f),playing:r(b),position:"left","onUpdate:current":ae,onPrevious:se,onNext:oe,onPlay:ie,onPause:z},null,8,["total","current","playing"])],8,["to"])):k("",!0)])])]),_:1})}}}),ga=C(ua,[["__scopeId","data-v-778ad8a4"]]),pa={class:"landing-footer"},ma={class:"landing-footer__brand"},ha=["src"],Ia=v({__name:"LandingFooter",setup(i){const{theme:t}=G(),u=V(()=>t.value==="dark"?Q:O);return(g,n)=>{const s=U("router-link");return a(),o("footer",pa,[e("div",ma,[e("img",{src:u.value,alt:"Blueprint Chart",class:"landing-footer__brand__logo"},null,8,ha),n[0]||(n[0]=e("span",{class:"landing-footer__brand__name"},"Blueprint Chart",-1))]),n[2]||(n[2]=e("span",{class:"landing-footer__sep","aria-hidden":"true"},"·",-1)),d(s,{to:"/new",class:"landing-footer__link"},{default:m(()=>[...n[1]||(n[1]=[p(" Editor ",-1)])]),_:1}),n[3]||(n[3]=e("span",{class:"landing-footer__sep","aria-hidden":"true"},"·",-1)),n[4]||(n[4]=e("a",{class:"landing-footer__link",href:"https://github.com/blueprint-chart/blueprint-chart",target:"_blank",rel:"noopener noreferrer"}," GitHub ",-1)),n[5]||(n[5]=e("span",{class:"landing-footer__spacer"},null,-1)),n[6]||(n[6]=e("span",{class:"landing-footer__tagline"}," MIT · Made for investigative journalism ",-1))])}}}),fa=C(Ia,[["__scopeId","data-v-8649cda4"]]),ba={class:"landing-page"},va=v({__name:"LandingPage",setup(i){return(t,u)=>(a(),o("div",ba,[d(Fe),d(at),d(lt),d(jt),d(tn),d(Ln),d(na),d(ga),d(fa)]))}}),ya=C(va,[["__scopeId","data-v-c9807b66"]]);export{ya as default};
|