@squadbase/vantage 0.7.0 → 0.7.1-dev1.01a6413

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.
Files changed (74) hide show
  1. package/README.md +1 -1
  2. package/dist/add-AU3EDPNW.js +6 -0
  3. package/dist/add-AU3EDPNW.js.map +1 -0
  4. package/dist/{chunk-AABMKHEU.js → chunk-35B3YIBF.js} +16 -7
  5. package/dist/chunk-35B3YIBF.js.map +1 -0
  6. package/dist/{chunk-TRMHNMMZ.js → chunk-LYUGDHSF.js} +3 -3
  7. package/dist/{chunk-TRMHNMMZ.js.map → chunk-LYUGDHSF.js.map} +1 -1
  8. package/dist/{chunk-QNOX7WLZ.js → chunk-MQUIAP66.js} +69 -4
  9. package/dist/chunk-MQUIAP66.js.map +1 -0
  10. package/dist/{chunk-2IAPIOPS.js → chunk-P2KIHF65.js} +2 -2
  11. package/dist/chunk-P2KIHF65.js.map +1 -0
  12. package/dist/{chunk-3RJEOP3J.js → chunk-XRKSIC5Z.js} +5 -3
  13. package/dist/chunk-XRKSIC5Z.js.map +1 -0
  14. package/dist/{chunk-77CISBMG.js → chunk-YJQCB3UP.js} +3387 -204
  15. package/dist/chunk-YJQCB3UP.js.map +1 -0
  16. package/dist/cli.js +2 -2
  17. package/dist/components/index.d.ts +627 -7
  18. package/dist/components/index.js +4 -4
  19. package/dist/{delta-text-CbrOaW83.d.ts → delta-text-tav2Lh5d.d.ts} +1 -1
  20. package/dist/doc/index.d.ts +2 -2
  21. package/dist/doc/index.js +4 -4
  22. package/dist/{format-DihQkL1N.d.ts → format-D34piCei.d.ts} +2 -1
  23. package/dist/geo-japan-7BMSOJRX.js +8 -0
  24. package/dist/geo-japan-7BMSOJRX.js.map +1 -0
  25. package/dist/geo-us-GVOG7VXH.js +8 -0
  26. package/dist/geo-us-GVOG7VXH.js.map +1 -0
  27. package/dist/geo-world-35HL56UU.js +8 -0
  28. package/dist/geo-world-35HL56UU.js.map +1 -0
  29. package/dist/slide/index.d.ts +2 -2
  30. package/dist/slide/index.js +3 -3
  31. package/dist/table/index.js +4 -5
  32. package/dist/table/index.js.map +1 -1
  33. package/dist/ui/index.js +2 -3
  34. package/dist/ui/index.js.map +1 -1
  35. package/dist/{upgrade-6DT7ADRP.js → upgrade-MCHMELWC.js} +3 -3
  36. package/dist/{upgrade-6DT7ADRP.js.map → upgrade-MCHMELWC.js.map} +1 -1
  37. package/docs/en/agent-skills.md +13 -14
  38. package/docs/en/changelog.md +8 -0
  39. package/docs/en/parts/draft-chart.md +42 -0
  40. package/docs/en/parts/page-shell.md +1 -1
  41. package/docs/index.json +70 -50
  42. package/docs/ja/agent-skills.md +14 -14
  43. package/docs/ja/changelog.md +8 -0
  44. package/docs/ja/parts/draft-chart.md +40 -0
  45. package/docs/ja/parts/page-shell.md +1 -1
  46. package/package.json +2 -2
  47. package/registry/parts.json +5221 -0
  48. package/registry/ui/chart-frame.tsx +8 -0
  49. package/registry/ui/combo-chart.tsx +1852 -0
  50. package/registry/ui/dashboard-card.tsx +3 -1
  51. package/registry/ui/data-table.tsx +3 -1
  52. package/registry/ui/delta.tsx +3 -1
  53. package/registry/ui/filter-bar.tsx +3 -1
  54. package/registry/ui/forecast-chart.tsx +4734 -0
  55. package/registry/ui/funnel-steps.tsx +1 -1
  56. package/registry/ui/kpi-card.tsx +3 -1
  57. package/registry/ui/metric-value.tsx +2 -2
  58. package/registry/ui/page-shell.tsx +25 -4
  59. package/registry/ui/paired-chart.tsx +1 -1
  60. package/registry/ui/pivot-table.tsx +1260 -0
  61. package/registry/ui/progress-circle.tsx +2 -2
  62. package/registry/ui/sparkline.tsx +1 -1
  63. package/registry/ui/treemap.tsx +1917 -0
  64. package/templates/AGENTS.md +3 -3
  65. package/templates/agents/page.md +5 -4
  66. package/dist/add-4GHF2TX2.js +0 -6
  67. package/dist/add-4GHF2TX2.js.map +0 -1
  68. package/dist/chunk-2IAPIOPS.js.map +0 -1
  69. package/dist/chunk-3RJEOP3J.js.map +0 -1
  70. package/dist/chunk-77CISBMG.js.map +0 -1
  71. package/dist/chunk-AABMKHEU.js.map +0 -1
  72. package/dist/chunk-NZ5QIIG4.js +0 -74
  73. package/dist/chunk-NZ5QIIG4.js.map +0 -1
  74. package/dist/chunk-QNOX7WLZ.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  # Agents and Skills
2
2
 
3
- > The Claude Code agent skills bundled with Vantage. Place them into your app with vantage add skill (the project root by default, or anywhere via --dir, e.g. .claude/skills) to teach agents step-by-step workflows.
3
+ > The Claude Code agent skills bundled with Vantage. Place them into your app with vantage add skill (into .squadbase/skills when .squadbase/ exists, else next to already-placed skills, else the project root; --dir overrides) to teach agents step-by-step workflows.
4
4
 
5
5
  Vantage bundles **Claude Code agent skills**. A skill packages a step-by-step workflow so an
6
6
  agent can pull it in exactly when it's needed. Unlike static reference material (these docs), a
@@ -22,13 +22,13 @@ All of these target an agent that is **building a Vantage app**.
22
22
  ## Placing them
23
23
 
24
24
  The skills ship inside the `@squadbase/vantage` package. `vantage add skill` copies them into
25
- your app. They land **directly under the project root** by default; `--dir` puts them elsewhere.
25
+ your app. By default they land in **`.squadbase/skills/`** when the project has a `.squadbase/` directory, otherwise **next to the skills already placed** (the project root if there are none); `--dir` puts them elsewhere.
26
26
 
27
27
  ```bash
28
28
  vantage add skill # list the skills and where they sit (writes nothing)
29
- vantage add skill --all # every skill that isn't placed yet, under the root
29
+ vantage add skill --all # every skill that isn't placed yet, in the default location
30
30
  vantage add skill vantage-app # a single skill by name
31
- vantage add skill --all --dir .claude/skills # where Claude Code looks for them
31
+ vantage add skill --all --dir .claude/skills # choose the location
32
32
  vantage add skill --all --force # refresh the placed copies in place
33
33
  ```
34
34
 
@@ -40,9 +40,9 @@ under the root, under `.claude/skills/`, under `.squadbase/skills/`, it doesn't
40
40
  ```text
41
41
  $ vantage add skill
42
42
  Bundled skills:
43
- project-storage .claude/skills/project-storage/
44
- vantage-add-feature .claude/skills/vantage-add-feature/
45
- vantage-app .claude/skills/vantage-app/
43
+ project-storage .squadbase/skills/project-storage/
44
+ vantage-add-feature .squadbase/skills/vantage-add-feature/
45
+ vantage-app .squadbase/skills/vantage-app/
46
46
  vantage-design not placed
47
47
  vantage-pitfalls not placed
48
48
  vantage-slide not placed
@@ -51,14 +51,13 @@ Bundled skills:
51
51
  With `--force`, the copies that were found are rewritten **where they are** (an explicit `--dir`
52
52
  still wins as the destination).
53
53
 
54
- A `--dir` path resolves from the project root (absolute paths work too). To have Claude Code pick
55
- them up automatically, place them in `.claude/skills/`:
54
+ A `--dir` path resolves from the project root (absolute paths work too). In a Squadbase project, skills live in `.squadbase/skills/`:
56
55
 
57
56
  ```text
58
57
  your-app/
59
58
  ├── index.tsx
60
59
  ├── package.json
61
- └── .claude/
60
+ └── .squadbase/
62
61
  └── skills/
63
62
  ├── vantage-app/SKILL.md
64
63
  ├── vantage-add-feature/SKILL.md
@@ -68,12 +67,12 @@ your-app/
68
67
  └── project-storage/SKILL.md
69
68
  ```
70
69
 
71
- Claude Code discovers `.claude/skills/` automatically. The agent loads and follows the matching
72
- skill based on the task at hand. For other agents, pass whatever directory that tool expects to
70
+ The Squadbase agent reads `.squadbase/skills/`. It loads and follows the matching
71
+ skill based on the task at hand. For Claude Code on its own, pass `--dir .claude/skills`, which Claude Code discovers automatically. For other agents, pass whatever directory that tool expects to
73
72
  `--dir`.
74
73
 
75
74
  > [!NOTE]
76
- > `.claude/` is tooling configuration, not app code. Vantage's static `check` diagnostics do not
75
+ > `.squadbase/` is tooling configuration, not app code. Vantage's static `check` diagnostics do not
77
76
  > scan this directory, so placing skills there has no effect on your build or checks.
78
77
 
79
78
  ## Distribution and updates
@@ -83,7 +82,7 @@ skill based on the task at hand. For other agents, pass whatever directory that
83
82
  copies you've already placed, run `vantage add skill --all --force` — the destination is scanned
84
83
  for, so you don't have to remember the `--dir` you used originally.
85
84
  - **The Squadbase template ships them pre-placed.** Apps created from the template already contain
86
- `.claude/skills/`. For a hand-made app, add them with `vantage add skill`.
85
+ `.squadbase/skills/`. For a hand-made app, add them with `vantage add skill`.
87
86
 
88
87
  ## `AGENTS.md` + `agents/*.md` (the app map and knowledge files)
89
88
 
@@ -9,6 +9,14 @@ What changed in each Vantage release. Newest is on top.
9
9
  > minor release may include backwards-incompatible changes. A patch is limited to
10
10
  > backwards-compatible additions and bug fixes.
11
11
 
12
+ ## v0.7.1
13
+
14
+ `vantage add skill` now prefers `.squadbase/skills/` (the location `readSkill` reads), else places new skills next to the ones already placed.
15
+
16
+ - In a project with a `.squadbase/` directory, skills land in `.squadbase/skills/` even when none are placed yet.
17
+ - Without `.squadbase/`, skills added by `vantage add skill <name>` or `--all --force` land next to the placed ones, not in the project root. If skills are split across directories, the one holding the most wins (ties: first alphabetically).
18
+ - With no skills placed (root) and with `--dir`, behavior is unchanged.
19
+
12
20
  ## v0.7.0
13
21
 
14
22
  The UI parts and theme were rebuilt, with many new parts for KPIs, charts, slides and documents.
@@ -0,0 +1,42 @@
1
+ # DraftChart
2
+
3
+ > Wraps a chart proposal that has not been accepted yet. Faded on the dev server, left out of the build.
4
+
5
+ Wrap a chart that was added to the page as a proposal and has not been accepted yet. It wraps one
6
+ card. Until it is accepted, viewers of the published dashboard do not see it.
7
+
8
+ ```tsx
9
+ import { DashboardCardPreset, DraftChart } from "@squadbase/vantage/components";
10
+ import type { DraftChartProps } from "@squadbase/vantage/components";
11
+ ```
12
+
13
+ ```tsx
14
+ <div className="grid gap-4 md:grid-cols-2">
15
+ <DraftChart>
16
+ <DashboardCardPreset data-sq-ref="campaign-roas" title="ROAS by campaign">
17
+ <BarChart data={rows} index="campaign" categories={["roas"]} />
18
+ </DashboardCardPreset>
19
+ </DraftChart>
20
+ </div>
21
+ ```
22
+
23
+ | Prop | Type | Description |
24
+ | --- | --- | --- |
25
+ | `children` | `ReactElement` | The one card being proposed. |
26
+
27
+ ## What it shows
28
+
29
+ - **`vantage dev`**: lays the page background colour (`--background`) over the card at 75%, so it
30
+ looks faded. While the pointer is over it, the overlay fades out over 200ms so the chart can be
31
+ read. The overlay does not take clicks or hovers. With `prefers-reduced-motion` the change is not
32
+ animated.
33
+ - **`vantage build`**: renders nothing (the card inside is not mounted).
34
+
35
+ `DraftChart` has no box of its own (`display: contents`). The card inside stays a direct child of the
36
+ parent grid, so `col-span-*` and subgrid rows line up exactly as without `DraftChart`. It draws no
37
+ buttons or text.
38
+
39
+ ## Accepting and removing
40
+
41
+ To accept the chart, delete only the `<DraftChart>` and `</DraftChart>` tags and keep the card. To
42
+ remove it, delete the whole `<DraftChart>…</DraftChart>` element.
@@ -26,7 +26,7 @@ import {
26
26
 
27
27
  | Part | Role |
28
28
  | --- | --- |
29
- | `PageShell` | The outer stack |
29
+ | `PageShell` | The outer stack. Pass `title` (and `description`) and it builds the header and `PageShellContent` for you, putting `children` in the body; without `title` it stays a plain `<div>` |
30
30
  | `PageShellHeader` | The underlined header band: heading on the left, `HeaderEnd` on the right. When the row is too narrow, `HeaderEnd` wraps below the heading |
31
31
  | `PageShellHeading` / `PageShellTitle` / `PageShellDescription` | The heading block |
32
32
  | `PageShellHeaderEnd` | The right-hand stack |
package/docs/index.json CHANGED
@@ -108,7 +108,7 @@
108
108
  "section": "guide",
109
109
  "sectionTitle": "ガイド",
110
110
  "title": "エージェントと Skills",
111
- "description": "Vantage に同梱された Claude Code の Agent Skills。vantage add skill でアプリに配置し(既定はルート直下、--dir で .claude/skills などに変更)、エージェントに手順を伴うワークフローを教える。",
111
+ "description": "Vantage に同梱された Claude Code の Agent Skills。vantage add skill でアプリに配置し(既定は .squadbase/ があれば .squadbase/skills、無ければ配置済みの Skill と同じ場所、それも無ければルート直下。--dir で変更)、エージェントに手順を伴うワークフローを教える。",
112
112
  "file": "ja/agent-skills.md",
113
113
  "order": 10
114
114
  },
@@ -724,6 +724,16 @@
724
724
  "file": "ja/parts/donut-chart.md",
725
725
  "order": 10
726
726
  },
727
+ {
728
+ "slug": "parts/draft-chart",
729
+ "lang": "ja",
730
+ "section": "components/parts",
731
+ "sectionTitle": "@squadbase/vantage/components",
732
+ "title": "DraftChart",
733
+ "description": "まだ採用されていないグラフの提案を囲む。開発サーバーでは薄く表示し、ビルドには出さない。",
734
+ "file": "ja/parts/draft-chart.md",
735
+ "order": 11
736
+ },
727
737
  {
728
738
  "slug": "parts/echart",
729
739
  "lang": "ja",
@@ -732,7 +742,7 @@
732
742
  "title": "EChart",
733
743
  "description": "Apache ECharts の薄いラッパー。配色はテーマトークンに追従する。",
734
744
  "file": "ja/parts/echart.md",
735
- "order": 11
745
+ "order": 12
736
746
  },
737
747
  {
738
748
  "slug": "parts/filter-bar",
@@ -742,7 +752,7 @@
742
752
  "title": "FilterBar",
743
753
  "description": "フィルタ一式を 1 つの値オブジェクトで扱う行。",
744
754
  "file": "ja/parts/filter-bar.md",
745
- "order": 12
755
+ "order": 13
746
756
  },
747
757
  {
748
758
  "slug": "parts/format",
@@ -752,7 +762,7 @@
752
762
  "title": "format / comparison",
753
763
  "description": "KPI・表・グラフで共有する数値の書式(formatValue)と、増減の計算(computeComparison)。",
754
764
  "file": "ja/parts/format.md",
755
- "order": 13
765
+ "order": 14
756
766
  },
757
767
  {
758
768
  "slug": "parts/funnel-steps",
@@ -762,7 +772,7 @@
762
772
  "title": "FunnelSteps",
763
773
  "description": "ファネルの各段を棒で示す。転換率も出せる。",
764
774
  "file": "ja/parts/funnel-steps.md",
765
- "order": 14
775
+ "order": 15
766
776
  },
767
777
  {
768
778
  "slug": "parts/heatmap",
@@ -772,7 +782,7 @@
772
782
  "title": "Heatmap",
773
783
  "description": "2 つのカテゴリの掛け合わせを濃淡で見せる型付きのヒートマップ。曜日 × 時間帯やコホートの継続率に。",
774
784
  "file": "ja/parts/heatmap.md",
775
- "order": 15
785
+ "order": 16
776
786
  },
777
787
  {
778
788
  "slug": "parts/kpi-card",
@@ -782,7 +792,7 @@
782
792
  "title": "KpiCard",
783
793
  "description": "KPI 1 つ分のカード。値・増減・前期実績・結論の 1 文までを数値から組み立てる。",
784
794
  "file": "ja/parts/kpi-card.md",
785
- "order": 16
795
+ "order": 17
786
796
  },
787
797
  {
788
798
  "slug": "parts/legend",
@@ -792,7 +802,7 @@
792
802
  "title": "Legend",
793
803
  "description": "複数のグラフで共有する、HTML だけの独立した凡例。",
794
804
  "file": "ja/parts/legend.md",
795
- "order": 17
805
+ "order": 18
796
806
  },
797
807
  {
798
808
  "slug": "parts/line-chart",
@@ -802,7 +812,7 @@
802
812
  "title": "LineChart",
803
813
  "description": "推移を線で見せる型付きグラフ。行・x 軸の列・系列の列を渡すだけ。",
804
814
  "file": "ja/parts/line-chart.md",
805
- "order": 18
815
+ "order": 19
806
816
  },
807
817
  {
808
818
  "slug": "parts/metric-value",
@@ -812,7 +822,7 @@
812
822
  "title": "MetricValue",
813
823
  "description": "KPI の数値。単位は MetricUnit で。",
814
824
  "file": "ja/parts/metric-value.md",
815
- "order": 19
825
+ "order": 20
816
826
  },
817
827
  {
818
828
  "slug": "parts/multi-select",
@@ -822,7 +832,7 @@
822
832
  "title": "MultiSelect",
823
833
  "description": "検索できる複数選択。選択はチップで表示。",
824
834
  "file": "ja/parts/multi-select.md",
825
- "order": 20
835
+ "order": 21
826
836
  },
827
837
  {
828
838
  "slug": "parts/page-shell",
@@ -832,7 +842,7 @@
832
842
  "title": "PageShell",
833
843
  "description": "ヘッダー帯・サマリー・本文からなるページ枠。",
834
844
  "file": "ja/parts/page-shell.md",
835
- "order": 21
845
+ "order": 22
836
846
  },
837
847
  {
838
848
  "slug": "parts/placeholder",
@@ -842,7 +852,7 @@
842
852
  "title": "Placeholder",
843
853
  "description": "仮データであることを示す、インラインの目印。",
844
854
  "file": "ja/parts/placeholder.md",
845
- "order": 22
855
+ "order": 23
846
856
  },
847
857
  {
848
858
  "slug": "parts/progress-circle",
@@ -852,7 +862,7 @@
852
862
  "title": "ProgressCircle",
853
863
  "description": "目標に対する達成率をリングで示す。中央に任意の内容を置ける。",
854
864
  "file": "ja/parts/progress-circle.md",
855
- "order": 23
865
+ "order": 24
856
866
  },
857
867
  {
858
868
  "slug": "parts/sample-data",
@@ -862,7 +872,7 @@
862
872
  "title": "SampleData",
863
873
  "description": "まだ実データにつながっていない「見本の値」に印を付ける。",
864
874
  "file": "ja/parts/sample-data.md",
865
- "order": 24
875
+ "order": 25
866
876
  },
867
877
  {
868
878
  "slug": "parts/scatter-chart",
@@ -872,7 +882,7 @@
872
882
  "title": "ScatterChart",
873
883
  "description": "2 つの数値の関係と外れ値を見せる型付きの散布図。大きさを足せばバブルチャートになる。",
874
884
  "file": "ja/parts/scatter-chart.md",
875
- "order": 25
885
+ "order": 26
876
886
  },
877
887
  {
878
888
  "slug": "parts/searchable-select",
@@ -882,7 +892,7 @@
882
892
  "title": "SearchableSelect",
883
893
  "description": "検索できる単一選択。候補が多いときに。",
884
894
  "file": "ja/parts/searchable-select.md",
885
- "order": 26
895
+ "order": 27
886
896
  },
887
897
  {
888
898
  "slug": "parts/section-header",
@@ -892,7 +902,7 @@
892
902
  "title": "SectionHeader",
893
903
  "description": "セクションの見出しとアクション。",
894
904
  "file": "ja/parts/section-header.md",
895
- "order": 27
905
+ "order": 28
896
906
  },
897
907
  {
898
908
  "slug": "parts/segmented-control",
@@ -902,7 +912,7 @@
902
912
  "title": "SegmentedControl",
903
913
  "description": "単一選択のセグメント。ToggleGroup の配列を隠す。",
904
914
  "file": "ja/parts/segmented-control.md",
905
- "order": 28
915
+ "order": 29
906
916
  },
907
917
  {
908
918
  "slug": "parts/sparkline",
@@ -912,7 +922,7 @@
912
922
  "title": "Sparkline",
913
923
  "description": "表のセルや KPI タイルに置く、インラインの推移グラフ。",
914
924
  "file": "ja/parts/sparkline.md",
915
- "order": 29
925
+ "order": 30
916
926
  },
917
927
  {
918
928
  "slug": "parts/status-badge",
@@ -922,7 +932,7 @@
922
932
  "title": "StatusBadge",
923
933
  "description": "ドット付きのステータスバッジ。色は名前で決まる。",
924
934
  "file": "ja/parts/status-badge.md",
925
- "order": 30
935
+ "order": 31
926
936
  },
927
937
  {
928
938
  "slug": "parts/tracker",
@@ -932,7 +942,7 @@
932
942
  "title": "Tracker",
933
943
  "description": "期間ごとの状態を小さなブロックの列で示す。稼働状況やバッチの結果に。",
934
944
  "file": "ja/parts/tracker.md",
935
- "order": 31
945
+ "order": 32
936
946
  },
937
947
  {
938
948
  "slug": "parts/trend-indicator",
@@ -942,7 +952,7 @@
942
952
  "title": "TrendIndicator",
943
953
  "description": "非推奨。新規は Delta を使う。増減の矢印と変化率。",
944
954
  "file": "ja/parts/trend-indicator.md",
945
- "order": 32
955
+ "order": 33
946
956
  },
947
957
  {
948
958
  "slug": "parts/updated-at",
@@ -952,7 +962,7 @@
952
962
  "title": "UpdatedAt",
953
963
  "description": "データの鮮度を示す更新時刻。相対時刻に、タイムゾーンつきの絶対時刻を添える。",
954
964
  "file": "ja/parts/updated-at.md",
955
- "order": 33
965
+ "order": 34
956
966
  },
957
967
  {
958
968
  "slug": "parts/waterfall-chart",
@@ -962,7 +972,7 @@
962
972
  "title": "WaterfallChart",
963
973
  "description": "増減の積み上がりを見せる型付きのウォーターフォール。売上から粗利までの内訳や、前期からの増減要因に。",
964
974
  "file": "ja/parts/waterfall-chart.md",
965
- "order": 34
975
+ "order": 35
966
976
  },
967
977
  {
968
978
  "slug": "markdown/markdown-renderer",
@@ -1360,7 +1370,7 @@
1360
1370
  "section": "guide",
1361
1371
  "sectionTitle": "Guide",
1362
1372
  "title": "Agents and Skills",
1363
- "description": "The Claude Code agent skills bundled with Vantage. Place them into your app with vantage add skill (the project root by default, or anywhere via --dir, e.g. .claude/skills) to teach agents step-by-step workflows.",
1373
+ "description": "The Claude Code agent skills bundled with Vantage. Place them into your app with vantage add skill (into .squadbase/skills when .squadbase/ exists, else next to already-placed skills, else the project root; --dir overrides) to teach agents step-by-step workflows.",
1364
1374
  "file": "en/agent-skills.md",
1365
1375
  "order": 9
1366
1376
  },
@@ -1976,6 +1986,16 @@
1976
1986
  "file": "en/parts/donut-chart.md",
1977
1987
  "order": 10
1978
1988
  },
1989
+ {
1990
+ "slug": "parts/draft-chart",
1991
+ "lang": "en",
1992
+ "section": "components/parts",
1993
+ "sectionTitle": "@squadbase/vantage/components",
1994
+ "title": "DraftChart",
1995
+ "description": "Wraps a chart proposal that has not been accepted yet. Faded on the dev server, left out of the build.",
1996
+ "file": "en/parts/draft-chart.md",
1997
+ "order": 11
1998
+ },
1979
1999
  {
1980
2000
  "slug": "parts/echart",
1981
2001
  "lang": "en",
@@ -1984,7 +2004,7 @@
1984
2004
  "title": "EChart",
1985
2005
  "description": "A thin Apache ECharts wrapper whose colours follow the theme tokens.",
1986
2006
  "file": "en/parts/echart.md",
1987
- "order": 11
2007
+ "order": 12
1988
2008
  },
1989
2009
  {
1990
2010
  "slug": "parts/filter-bar",
@@ -1994,7 +2014,7 @@
1994
2014
  "title": "FilterBar",
1995
2015
  "description": "A row of filters driven by one value object.",
1996
2016
  "file": "en/parts/filter-bar.md",
1997
- "order": 12
2017
+ "order": 13
1998
2018
  },
1999
2019
  {
2000
2020
  "slug": "parts/format",
@@ -2004,7 +2024,7 @@
2004
2024
  "title": "format / comparison",
2005
2025
  "description": "The number formatting (formatValue) and change calculation (computeComparison) shared by KPIs, tables and charts.",
2006
2026
  "file": "en/parts/format.md",
2007
- "order": 13
2027
+ "order": 14
2008
2028
  },
2009
2029
  {
2010
2030
  "slug": "parts/funnel-steps",
@@ -2014,7 +2034,7 @@
2014
2034
  "title": "FunnelSteps",
2015
2035
  "description": "A funnel drawn as bars, with conversion rates.",
2016
2036
  "file": "en/parts/funnel-steps.md",
2017
- "order": 14
2037
+ "order": 15
2018
2038
  },
2019
2039
  {
2020
2040
  "slug": "parts/heatmap",
@@ -2024,7 +2044,7 @@
2024
2044
  "title": "Heatmap",
2025
2045
  "description": "A typed heatmap shading a grid of cells by value. For cohorts, weekday by hour counts and the like.",
2026
2046
  "file": "en/parts/heatmap.md",
2027
- "order": 15
2047
+ "order": 16
2028
2048
  },
2029
2049
  {
2030
2050
  "slug": "parts/kpi-card",
@@ -2034,7 +2054,7 @@
2034
2054
  "title": "KpiCard",
2035
2055
  "description": "One KPI as a card — value, change, previous actual and a one-line conclusion, all derived from numbers.",
2036
2056
  "file": "en/parts/kpi-card.md",
2037
- "order": 16
2057
+ "order": 17
2038
2058
  },
2039
2059
  {
2040
2060
  "slug": "parts/legend",
@@ -2044,7 +2064,7 @@
2044
2064
  "title": "Legend",
2045
2065
  "description": "A standalone chart legend in plain HTML, for sharing one legend between several charts.",
2046
2066
  "file": "en/parts/legend.md",
2047
- "order": 17
2067
+ "order": 18
2048
2068
  },
2049
2069
  {
2050
2070
  "slug": "parts/line-chart",
@@ -2054,7 +2074,7 @@
2054
2074
  "title": "LineChart",
2055
2075
  "description": "A typed line chart for trends and comparisons. Pass rows, the x-axis column and the series columns.",
2056
2076
  "file": "en/parts/line-chart.md",
2057
- "order": 18
2077
+ "order": 19
2058
2078
  },
2059
2079
  {
2060
2080
  "slug": "parts/metric-value",
@@ -2064,7 +2084,7 @@
2064
2084
  "title": "MetricValue",
2065
2085
  "description": "The KPI number, with MetricUnit for the unit.",
2066
2086
  "file": "en/parts/metric-value.md",
2067
- "order": 19
2087
+ "order": 20
2068
2088
  },
2069
2089
  {
2070
2090
  "slug": "parts/multi-select",
@@ -2074,7 +2094,7 @@
2074
2094
  "title": "MultiSelect",
2075
2095
  "description": "Multiple choice with search; selections show as chips.",
2076
2096
  "file": "en/parts/multi-select.md",
2077
- "order": 20
2097
+ "order": 21
2078
2098
  },
2079
2099
  {
2080
2100
  "slug": "parts/page-shell",
@@ -2084,7 +2104,7 @@
2084
2104
  "title": "PageShell",
2085
2105
  "description": "The page frame: header band, summary row, content.",
2086
2106
  "file": "en/parts/page-shell.md",
2087
- "order": 21
2107
+ "order": 22
2088
2108
  },
2089
2109
  {
2090
2110
  "slug": "parts/placeholder",
@@ -2094,7 +2114,7 @@
2094
2114
  "title": "Placeholder",
2095
2115
  "description": "An inline marker for sample, not-yet-real data.",
2096
2116
  "file": "en/parts/placeholder.md",
2097
- "order": 22
2117
+ "order": 23
2098
2118
  },
2099
2119
  {
2100
2120
  "slug": "parts/progress-circle",
@@ -2104,7 +2124,7 @@
2104
2124
  "title": "ProgressCircle",
2105
2125
  "description": "A ring showing progress toward a target, with anything you like in the middle.",
2106
2126
  "file": "en/parts/progress-circle.md",
2107
- "order": 23
2127
+ "order": 24
2108
2128
  },
2109
2129
  {
2110
2130
  "slug": "parts/sample-data",
@@ -2114,7 +2134,7 @@
2114
2134
  "title": "SampleData",
2115
2135
  "description": "Marks the values inside it as sample values that are not yet connected to real data.",
2116
2136
  "file": "en/parts/sample-data.md",
2117
- "order": 24
2137
+ "order": 25
2118
2138
  },
2119
2139
  {
2120
2140
  "slug": "parts/scatter-chart",
@@ -2124,7 +2144,7 @@
2124
2144
  "title": "ScatterChart",
2125
2145
  "description": "A typed scatter chart, or bubble chart with `size`. Shows how two numbers relate across items.",
2126
2146
  "file": "en/parts/scatter-chart.md",
2127
- "order": 25
2147
+ "order": 26
2128
2148
  },
2129
2149
  {
2130
2150
  "slug": "parts/searchable-select",
@@ -2134,7 +2154,7 @@
2134
2154
  "title": "SearchableSelect",
2135
2155
  "description": "Single choice with search, for long option lists.",
2136
2156
  "file": "en/parts/searchable-select.md",
2137
- "order": 26
2157
+ "order": 27
2138
2158
  },
2139
2159
  {
2140
2160
  "slug": "parts/section-header",
@@ -2144,7 +2164,7 @@
2144
2164
  "title": "SectionHeader",
2145
2165
  "description": "A section heading with its actions.",
2146
2166
  "file": "en/parts/section-header.md",
2147
- "order": 27
2167
+ "order": 28
2148
2168
  },
2149
2169
  {
2150
2170
  "slug": "parts/segmented-control",
@@ -2154,7 +2174,7 @@
2154
2174
  "title": "SegmentedControl",
2155
2175
  "description": "Single-choice segments — it hides ToggleGroup's array.",
2156
2176
  "file": "en/parts/segmented-control.md",
2157
- "order": 28
2177
+ "order": 29
2158
2178
  },
2159
2179
  {
2160
2180
  "slug": "parts/sparkline",
@@ -2164,7 +2184,7 @@
2164
2184
  "title": "Sparkline",
2165
2185
  "description": "An inline trend chart for table cells and KPI tiles.",
2166
2186
  "file": "en/parts/sparkline.md",
2167
- "order": 29
2187
+ "order": 30
2168
2188
  },
2169
2189
  {
2170
2190
  "slug": "parts/status-badge",
@@ -2174,7 +2194,7 @@
2174
2194
  "title": "StatusBadge",
2175
2195
  "description": "A dot-and-label status badge, coloured by name.",
2176
2196
  "file": "en/parts/status-badge.md",
2177
- "order": 30
2197
+ "order": 31
2178
2198
  },
2179
2199
  {
2180
2200
  "slug": "parts/tracker",
@@ -2184,7 +2204,7 @@
2184
2204
  "title": "Tracker",
2185
2205
  "description": "A row of small blocks, one per period, coloured by status. For uptime and batch results.",
2186
2206
  "file": "en/parts/tracker.md",
2187
- "order": 31
2207
+ "order": 32
2188
2208
  },
2189
2209
  {
2190
2210
  "slug": "parts/trend-indicator",
@@ -2194,7 +2214,7 @@
2194
2214
  "title": "TrendIndicator",
2195
2215
  "description": "Deprecated — use Delta for new code. An arrow and a percentage.",
2196
2216
  "file": "en/parts/trend-indicator.md",
2197
- "order": 32
2217
+ "order": 33
2198
2218
  },
2199
2219
  {
2200
2220
  "slug": "parts/updated-at",
@@ -2204,7 +2224,7 @@
2204
2224
  "title": "UpdatedAt",
2205
2225
  "description": "A freshness label such as \"23 minutes ago\". Shows the absolute time and zone on hover.",
2206
2226
  "file": "en/parts/updated-at.md",
2207
- "order": 33
2227
+ "order": 34
2208
2228
  },
2209
2229
  {
2210
2230
  "slug": "parts/waterfall-chart",
@@ -2214,7 +2234,7 @@
2214
2234
  "title": "WaterfallChart",
2215
2235
  "description": "A typed waterfall chart. Shows how steps move a running total, such as revenue to gross profit.",
2216
2236
  "file": "en/parts/waterfall-chart.md",
2217
- "order": 34
2237
+ "order": 35
2218
2238
  },
2219
2239
  {
2220
2240
  "slug": "markdown/markdown-renderer",