@squadbase/vantage 0.6.2-dev1.5aae04e → 0.6.2-dev1.5c79ef5

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 (228) hide show
  1. package/dist/{build-X5NVCQKT.js → build-U7GO26HR.js} +7 -7
  2. package/dist/{build-X5NVCQKT.js.map → build-U7GO26HR.js.map} +1 -1
  3. package/dist/{check-ZBIH422T.js → check-MRVAIHG5.js} +5 -5
  4. package/dist/{check-ZBIH422T.js.map → check-MRVAIHG5.js.map} +1 -1
  5. package/dist/chunk-2IAPIOPS.js +152 -0
  6. package/dist/chunk-2IAPIOPS.js.map +1 -0
  7. package/dist/chunk-3RJEOP3J.js +174 -0
  8. package/dist/chunk-3RJEOP3J.js.map +1 -0
  9. package/dist/{chunk-HKSVYMYJ.js → chunk-77CISBMG.js} +1049 -1387
  10. package/dist/chunk-77CISBMG.js.map +1 -0
  11. package/dist/{chunk-V3LF7BE7.js → chunk-ANZLVSEP.js} +4 -5
  12. package/dist/chunk-ANZLVSEP.js.map +1 -0
  13. package/dist/{chunk-XQUSGIDG.js → chunk-CKWPK4RO.js} +10 -3
  14. package/dist/chunk-CKWPK4RO.js.map +1 -0
  15. package/dist/chunk-EG4PX726.js +678 -0
  16. package/dist/chunk-EG4PX726.js.map +1 -0
  17. package/dist/{chunk-2N72FKLB.js → chunk-NZ5QIIG4.js} +33 -11
  18. package/dist/chunk-NZ5QIIG4.js.map +1 -0
  19. package/dist/{chunk-7DZGJQ3P.js → chunk-PJ4SPXHS.js} +23 -6
  20. package/dist/chunk-PJ4SPXHS.js.map +1 -0
  21. package/dist/{chunk-XPQSTZUU.js → chunk-QNOX7WLZ.js} +5 -4
  22. package/dist/chunk-QNOX7WLZ.js.map +1 -0
  23. package/dist/{chunk-PDOBHMUQ.js → chunk-ROHNXP7J.js} +72 -3
  24. package/dist/chunk-ROHNXP7J.js.map +1 -0
  25. package/dist/{chunk-CEXAQQ5W.js → chunk-S5MDTHH7.js} +180 -18
  26. package/dist/chunk-S5MDTHH7.js.map +1 -0
  27. package/dist/{chunk-2ICNHUG6.js → chunk-SDJTTMLK.js} +64 -7
  28. package/dist/chunk-SDJTTMLK.js.map +1 -0
  29. package/dist/{chunk-WAMZWZJB.js → chunk-SHZM3EXB.js} +19 -8
  30. package/dist/chunk-SHZM3EXB.js.map +1 -0
  31. package/dist/chunk-TRMHNMMZ.js +61 -0
  32. package/dist/chunk-TRMHNMMZ.js.map +1 -0
  33. package/dist/{chunk-JKLLFVEU.js → chunk-UWSQUHX6.js} +4 -99
  34. package/dist/chunk-UWSQUHX6.js.map +1 -0
  35. package/dist/cli.js +6 -6
  36. package/dist/client/index.d.ts +2 -0
  37. package/dist/client/index.js +8 -2
  38. package/dist/client/index.js.map +1 -1
  39. package/dist/components/index.d.ts +57 -273
  40. package/dist/components/index.js +6 -3
  41. package/dist/delta-text-CbrOaW83.d.ts +17 -0
  42. package/dist/{dev-4XEDTELV.js → dev-O42JFQ64.js} +7 -7
  43. package/dist/{dev-4XEDTELV.js.map → dev-O42JFQ64.js.map} +1 -1
  44. package/dist/doc/index.d.ts +215 -2
  45. package/dist/doc/index.js +422 -4
  46. package/dist/doc/index.js.map +1 -1
  47. package/dist/{doctor-5E2VEZPK.js → doctor-YD3XAAOT.js} +5 -5
  48. package/dist/{doctor-5E2VEZPK.js.map → doctor-YD3XAAOT.js.map} +1 -1
  49. package/dist/format-DihQkL1N.d.ts +249 -0
  50. package/dist/query/index.js +2 -2
  51. package/dist/{routes-3SGAFDMC.js → routes-PVKNT777.js} +4 -4
  52. package/dist/{routes-3SGAFDMC.js.map → routes-PVKNT777.js.map} +1 -1
  53. package/dist/slide/index.d.ts +272 -1
  54. package/dist/slide/index.js +1023 -2
  55. package/dist/slide/index.js.map +1 -1
  56. package/dist/table/index.js +9 -6
  57. package/dist/table/index.js.map +1 -1
  58. package/dist/ui/index.d.ts +5 -2
  59. package/dist/ui/index.js +6 -6
  60. package/dist/ui/index.js.map +1 -1
  61. package/dist/{upgrade-JHXZBGQS.js → upgrade-6DT7ADRP.js} +4 -4
  62. package/dist/{upgrade-JHXZBGQS.js.map → upgrade-6DT7ADRP.js.map} +1 -1
  63. package/dist/vite/index.js +3 -3
  64. package/docs/en/agent-skills.md +1 -1
  65. package/docs/en/changelog.md +2 -0
  66. package/docs/en/components.md +13 -2
  67. package/docs/en/doc/delta-text.md +40 -0
  68. package/docs/en/doc/doc-action-items.md +49 -0
  69. package/docs/en/doc/doc-callout.md +38 -0
  70. package/docs/en/doc/doc-data-table.md +60 -0
  71. package/docs/en/doc/doc-executive-summary.md +64 -0
  72. package/docs/en/doc/doc-figure.md +56 -0
  73. package/docs/en/doc/doc-key-findings.md +61 -0
  74. package/docs/en/doc/doc-kpi-scorecard.md +80 -0
  75. package/docs/en/doc/doc-notes-and-sources.md +43 -0
  76. package/docs/en/doc/doc-report-header.md +46 -0
  77. package/docs/en/pages-and-metadata.md +15 -0
  78. package/docs/en/parts/area-chart.md +99 -0
  79. package/docs/en/parts/bar-chart.md +91 -0
  80. package/docs/en/parts/bar-list.md +50 -0
  81. package/docs/en/parts/category-bar.md +37 -0
  82. package/docs/en/parts/chart-frame.md +39 -0
  83. package/docs/en/parts/delta.md +4 -3
  84. package/docs/en/parts/donut-chart.md +72 -0
  85. package/docs/en/parts/funnel-steps.md +2 -1
  86. package/docs/en/parts/heatmap.md +53 -0
  87. package/docs/en/parts/kpi-card.md +2 -1
  88. package/docs/en/parts/legend.md +35 -0
  89. package/docs/en/parts/line-chart.md +94 -0
  90. package/docs/en/parts/progress-circle.md +33 -0
  91. package/docs/en/parts/sample-data.md +39 -0
  92. package/docs/en/parts/scatter-chart.md +56 -0
  93. package/docs/en/parts/tracker.md +36 -0
  94. package/docs/en/parts/updated-at.md +30 -0
  95. package/docs/en/parts/waterfall-chart.md +56 -0
  96. package/docs/en/slide/slide-chart-full.md +48 -0
  97. package/docs/en/slide/slide-chart-insight.md +52 -0
  98. package/docs/en/slide/slide-columns.md +46 -0
  99. package/docs/en/slide/slide-comparison.md +68 -0
  100. package/docs/en/slide/slide-cover.md +39 -0
  101. package/docs/en/slide/slide-exec-summary.md +47 -0
  102. package/docs/en/slide/slide-heading.md +38 -0
  103. package/docs/en/slide/slide-kpi-grid.md +55 -0
  104. package/docs/en/slide/slide-kpi-hero.md +58 -0
  105. package/docs/en/slide/slide-next-actions.md +49 -0
  106. package/docs/en/slide/slide-scorecard-table.md +54 -0
  107. package/docs/en/slide/slide-section.md +44 -0
  108. package/docs/en/slide/slide-source-line.md +34 -0
  109. package/docs/en/ui/alert-dialog.md +42 -0
  110. package/docs/en/ui/avatar.md +31 -0
  111. package/docs/en/ui/combobox.md +74 -0
  112. package/docs/en/ui/drawer.md +41 -0
  113. package/docs/en/ui/empty.md +1 -1
  114. package/docs/en/ui/error-state.md +4 -3
  115. package/docs/en/ui/field.md +42 -0
  116. package/docs/en/ui/hover-card.md +21 -0
  117. package/docs/en/ui/kbd.md +17 -0
  118. package/docs/en/ui/loading.md +1 -1
  119. package/docs/en/ui/pagination.md +36 -0
  120. package/docs/en/ui/radio-group.md +21 -0
  121. package/docs/en/ui/toast.md +44 -0
  122. package/docs/en/ui/toggle-group.md +4 -3
  123. package/docs/index.json +857 -77
  124. package/docs/ja/agent-skills.md +1 -1
  125. package/docs/ja/changelog.md +2 -0
  126. package/docs/ja/components.md +12 -1
  127. package/docs/ja/doc/delta-text.md +40 -0
  128. package/docs/ja/doc/doc-action-items.md +49 -0
  129. package/docs/ja/doc/doc-callout.md +38 -0
  130. package/docs/ja/doc/doc-data-table.md +60 -0
  131. package/docs/ja/doc/doc-executive-summary.md +64 -0
  132. package/docs/ja/doc/doc-figure.md +56 -0
  133. package/docs/ja/doc/doc-key-findings.md +61 -0
  134. package/docs/ja/doc/doc-kpi-scorecard.md +80 -0
  135. package/docs/ja/doc/doc-notes-and-sources.md +43 -0
  136. package/docs/ja/doc/doc-report-header.md +46 -0
  137. package/docs/ja/page-types/slide.md +1 -0
  138. package/docs/ja/pages-and-metadata.md +15 -0
  139. package/docs/ja/parts/area-chart.md +49 -25
  140. package/docs/ja/parts/bar-chart.md +50 -24
  141. package/docs/ja/parts/bar-list.md +31 -8
  142. package/docs/ja/parts/chart-frame.md +36 -0
  143. package/docs/ja/parts/delta.md +5 -4
  144. package/docs/ja/parts/donut-chart.md +45 -26
  145. package/docs/ja/parts/funnel-steps.md +27 -8
  146. package/docs/ja/parts/heatmap.md +45 -0
  147. package/docs/ja/parts/kpi-card.md +2 -1
  148. package/docs/ja/parts/legend.md +36 -0
  149. package/docs/ja/parts/line-chart.md +48 -22
  150. package/docs/ja/parts/sample-data.md +61 -0
  151. package/docs/ja/parts/scatter-chart.md +69 -0
  152. package/docs/ja/parts/updated-at.md +27 -0
  153. package/docs/ja/parts/waterfall-chart.md +61 -0
  154. package/docs/ja/slide/slide-chart-full.md +48 -0
  155. package/docs/ja/slide/slide-chart-insight.md +52 -0
  156. package/docs/ja/slide/slide-columns.md +46 -0
  157. package/docs/ja/slide/slide-comparison.md +68 -0
  158. package/docs/ja/slide/slide-cover.md +39 -0
  159. package/docs/ja/slide/slide-exec-summary.md +47 -0
  160. package/docs/ja/slide/slide-heading.md +38 -0
  161. package/docs/ja/slide/slide-kpi-grid.md +55 -0
  162. package/docs/ja/slide/slide-kpi-hero.md +58 -0
  163. package/docs/ja/slide/slide-next-actions.md +49 -0
  164. package/docs/ja/slide/slide-scorecard-table.md +54 -0
  165. package/docs/ja/slide/slide-section.md +44 -0
  166. package/docs/ja/slide/slide-source-line.md +34 -0
  167. package/docs/ja/ui/empty.md +1 -1
  168. package/docs/ja/ui/error-state.md +4 -3
  169. package/docs/ja/ui/loading.md +1 -1
  170. package/docs/ja/ui/toggle-group.md +4 -3
  171. package/package.json +2 -2
  172. package/registry/ui/app-shell.tsx +138 -1
  173. package/registry/ui/area-chart.tsx +389 -104
  174. package/registry/ui/attention-list.tsx +177 -15
  175. package/registry/ui/bar-chart.tsx +386 -104
  176. package/registry/ui/bar-list.tsx +376 -94
  177. package/registry/ui/box-plot-chart.tsx +450 -116
  178. package/registry/ui/category-bar.tsx +292 -57
  179. package/registry/ui/chart-frame.tsx +301 -63
  180. package/registry/ui/data-table.tsx +229 -37
  181. package/registry/ui/date-range-picker.tsx +190 -36
  182. package/registry/ui/delta.tsx +181 -19
  183. package/registry/ui/donut-chart.tsx +385 -103
  184. package/registry/ui/echart.tsx +313 -58
  185. package/registry/ui/filter-bar.tsx +179 -20
  186. package/registry/ui/funnel-steps.tsx +354 -80
  187. package/registry/ui/heatmap.tsx +338 -71
  188. package/registry/ui/histogram-chart.tsx +440 -116
  189. package/registry/ui/kpi-card.tsx +254 -48
  190. package/registry/ui/legend.tsx +374 -93
  191. package/registry/ui/line-chart.tsx +389 -104
  192. package/registry/ui/multi-select.tsx +159 -9
  193. package/registry/ui/page-shell.tsx +148 -10
  194. package/registry/ui/paired-chart.tsx +394 -109
  195. package/registry/ui/progress-circle.tsx +205 -39
  196. package/registry/ui/sample-data.tsx +154 -10
  197. package/registry/ui/scatter-chart.tsx +436 -119
  198. package/registry/ui/searchable-select.tsx +145 -7
  199. package/registry/ui/slider.tsx +1 -1
  200. package/registry/ui/states.tsx +170 -13
  201. package/registry/ui/status-badge.tsx +201 -36
  202. package/registry/ui/tooltip.tsx +6 -2
  203. package/registry/ui/tracker.tsx +214 -42
  204. package/registry/ui/trend-indicator.tsx +151 -8
  205. package/registry/ui/updated-at.tsx +170 -16
  206. package/registry/ui/waterfall-chart.tsx +460 -121
  207. package/skills/vantage-design/SKILL.md +54 -54
  208. package/skills/vantage-design/references/extract.md +26 -27
  209. package/skills/vantage-design/references/format.md +12 -172
  210. package/skills/vantage-design/references/presets.md +50 -110
  211. package/skills/vantage-pitfalls/SKILL.md +5 -0
  212. package/skills/vantage-slide/SKILL.md +54 -36
  213. package/templates/AGENTS.md +32 -16
  214. package/templates/agents/doc.md +48 -0
  215. package/templates/agents/page.md +23 -2
  216. package/templates/agents/slide.md +77 -3
  217. package/theme.css +23 -19
  218. package/dist/chunk-2ICNHUG6.js.map +0 -1
  219. package/dist/chunk-2N72FKLB.js.map +0 -1
  220. package/dist/chunk-7DZGJQ3P.js.map +0 -1
  221. package/dist/chunk-CEXAQQ5W.js.map +0 -1
  222. package/dist/chunk-HKSVYMYJ.js.map +0 -1
  223. package/dist/chunk-JKLLFVEU.js.map +0 -1
  224. package/dist/chunk-PDOBHMUQ.js.map +0 -1
  225. package/dist/chunk-V3LF7BE7.js.map +0 -1
  226. package/dist/chunk-WAMZWZJB.js.map +0 -1
  227. package/dist/chunk-XPQSTZUU.js.map +0 -1
  228. package/dist/chunk-XQUSGIDG.js.map +0 -1
@@ -4,7 +4,13 @@
4
4
  スライドデッキを書くときに読んでください。不変条件・ディレクトリ構造は `AGENTS.md` を
5
5
  先に読んでいる想定です。
6
6
 
7
- プロジェクトルートに `DESIGN.md` があれば、書き始める前に読んで「スライド」の節と配色・書体の規則に従う。
7
+ 書き始める前に `AGENTS.md` の「見た目の規約」(と、あればプロジェクトルートの `DESIGN.md`)に従う。
8
+ スライド固有の規則:
9
+
10
+ - 1 枚に 1 メッセージ。見出しに結論を書く。
11
+ - 色は `--slide-bg` / `--slide-fg` / `--slide-accent` / `--slide-muted` を使う(既定では
12
+ `--background` / `--foreground` / `--primary` / `--muted-foreground` に連動)。
13
+ - 強調色は 1 枚につき 1 か所まで。
8
14
 
9
15
  ## スライドは `.slide.tsx` で書く
10
16
 
@@ -19,6 +25,7 @@
19
25
  - 新規プロジェクトでまだ `/` が空いている場合のみ、`index.slide.tsx` を使ってよい。
20
26
 
21
27
  ```tsx
28
+ import { definePage } from "@squadbase/vantage"
22
29
  import { Slide, SlideDeck } from "@squadbase/vantage/slide"
23
30
 
24
31
  export const page = definePage({ title: "6月度レビュー", navLabel: "6月度" })
@@ -34,8 +41,10 @@ export default function Deck() {
34
41
 
35
42
  **`<Slide>` は `<SlideDeck>` の直接の子に書く。** `SlideDeck` は直下の `<Slide>` 要素だけを数えるので、
36
43
  `<Slide>` を自作コンポーネント(`<Slide1 />` など)や Fragment で包むと 1 枚も数えられず「1 / 0」に
37
- なります(`{items.map((x) => <Slide key={x.id}>…</Slide>)}` のような配列は可)。共通の部品は
38
- `<Slide>` の**中**に置くコンポーネントとして切り出します(`<Slide><CoverPage /></Slide>`)。
44
+ なります(`{items.map((x) => <Slide key={x.id}>…</Slide>)}` のような配列はファイル形式としては可。
45
+ 1 枚の中で視覚要素を `map` で量産しない方針は `vantage-slide` skill の「繰り返す要素は `map` ではなく
46
+ コンポーネント」)。共通の部品は `<Slide>` の**中**に置くコンポーネントとして切り出します
47
+ (`<Slide><CoverPage /></Slide>`)。
39
48
 
40
49
  1920×1080 の固定キャンバスに絶対 px で書き、画面サイズに合わせて縮小されます。キー / クリックで
41
50
  送れ、左のスライド一覧(サムネイル列)は `L` で開閉、`F` で全画面、ツールバーから pptx を
@@ -51,3 +60,68 @@ pptx が壊れる条件、説明と図表のデータ時点の揃え方)。
51
60
  `.slide` を付けられるのはルートになるページモジュールだけで、`_layout.slide.tsx` などは
52
61
  `INVALID_PAGE_VARIANT` エラーになります。`june.slide.tsx` と `june.tsx` は同じ URL に解決するので
53
62
  `ROUTE_CONFLICT` です。
63
+
64
+ ## まず block を探す
65
+
66
+ 1 枚分の中身は、手で組む前に `@squadbase/vantage/slide` の block から探します(`<Slide>` の**中**に
67
+ 置く。ルートは 100% で、`<Slide>` 自体は持たない)。props は `vantage docs <name>`(例:
68
+ `vantage docs slide-kpi-hero`)で引く。
69
+
70
+ | block | 用途 |
71
+ | --- | --- |
72
+ | `SlideCover` | 表紙(タイトル・サブタイトル・期間) |
73
+ | `SlideExecSummary` | 結論を先に述べるエグゼクティブサマリー |
74
+ | `SlideKpiHero` | 主要な KPI 1 つを大きく見せる |
75
+ | `SlideKpiGrid` | 複数の KPI を並べる |
76
+ | `SlideChartInsight` | チャート 1 つと、そこから読み取れること |
77
+ | `SlideScorecardTable` | 指標と目標・達成度を表にしたスコアカード |
78
+ | `SlideNextActions` | 次のアクション(担当・期限つき) |
79
+ | `SlideSection` | 章の扉(`items` を渡すと番号付きのアジェンダ。`current` の章を強調) |
80
+ | `SlideComparison` | A vs B・前後の 2〜3 列比較(各列に見出し・主要数値・箇条) |
81
+ | `SlideChartFull` | チャートを全幅に置き、注記を 1 行添える |
82
+
83
+ **手書きの 1 枚には部品を使う。** block が合わない 1 枚でも、見出し・出典行・列割りは自前で組まず、
84
+ 次の部品を使う(どれも `@squadbase/vantage/slide`。1 枚にはならないので `<Slide>` の中に並べる)。
85
+
86
+ | 部品 | 用途 |
87
+ | --- | --- |
88
+ | `SlideHeading` | 見出し(`title`、任意で `eyebrow`)。1 枚の先頭に置く |
89
+ | `SlideSourceLine` | 足元の出典・時点(`source` `asOf`)。`page={{ current, total }}` を渡すとページ番号も出す |
90
+ | `SlideColumns` / `SlideColumn` | 12 列の割り付け(`<SlideColumn span={8}>` と `span={4}` など)。`align` は `start` / `center` / `stretch` |
91
+ | `DeltaText` | 増減の文字(「▲ +3.2%」)。`value` `format` `betterWhen` `comparisonLabel` |
92
+
93
+ `SlideSection` は `Steps` を持たない。順に見せたいときは呼び出し側で `<Steps>` で包む。
94
+
95
+ ```tsx
96
+ import { Slide, SlideDeck, SlideCover, SlideExecSummary } from "@squadbase/vantage/slide"
97
+ // <SlideDeck><Slide><SlideCover … /></Slide><Slide><SlideExecSummary … /></Slide></SlideDeck>
98
+ ```
99
+
100
+ **props の渡し方は block 間で共通。** 数値は `value: number | null` と `format`(整形は block がする。表示を上書きするときだけ `display`。`null` は「—」)。前期比などは `delta: { value, format? }` と `comparisonLabel`(例 `"前年同期比"`)、良し悪しは指標ごとの `betterWhen`(`"up"` が既定、コストなど下がるほど良いものは `"down"`。向きは block が符号から出す)。目標は `target: number`。出典は `source`(文字列)、時点は `asOf` に**日付だけ**(例 `"2026-09-30"`。「時点」は block が付けるので書かない)。時系列は、単一系列なら `{ x, y }[]`(kpi-hero の `trend`。scorecard に `trend` は無い)、複数系列なら `{ categories, series }`(chart-insight の `chart`)。
101
+
102
+ block が合わない**1 枚だけ**を手で書く(デッキ全体を手書きに切り替えない)。import 元は
103
+ `@squadbase/vantage/slide` のままで、block のための新しい import 元はありません。
104
+
105
+ ## ファイル形式の規約
106
+
107
+ 置き場所・URL・default export・`definePage` の書き方は全ページ共通(`agents/page.md` の
108
+ 「ページファイルの規約」)。ここではスライド固有のものだけを挙げます。**中身の値(キャンバス・
109
+ セーフエリア・グリッド・文字サイズ・余白)は `vantage-slide` skill を参照。**
110
+
111
+ **MUST**(破ると黙って壊れるものが多い。`vantage check` が拾うのは名前の誤りだけ)
112
+
113
+ - ファイル名は `<name>.slide.tsx`(`.jsx` も可)。サフィックスは小文字で 1 つだけ。`.slide.ts` は
114
+ `INVALID_PAGE_VARIANT`、`.SLIDE.tsx`・二重サフィックス・`.slide.test.tsx` は黙って通常ページになる
115
+ - default export は `<SlideDeck>` をルートに返す。フレームワークは包まない
116
+ - `<Slide>` は `<SlideDeck>` の直接の子(配列は可。Fragment・自作コンポーネントで包まない)
117
+ - `<Step>` は `<Steps>` の直接の子(包むと常に表示される)
118
+ - スライドの部品は `@squadbase/vantage/slide` から import する
119
+
120
+ **SHOULD**
121
+
122
+ - 1 ファイル = 1 デッキ。ヘルパーコンポーネント・定数も同じ `.slide.tsx` に書く
123
+ - 各 `<Slide>` のルート要素は `width: "100%"; height: "100%"` でキャンバスを埋める
124
+ - canvas に描くチャート(`EChart`)は `data-waitfor="canvas"` で包む(無いと pptx でそのスライドが白紙になりうる)
125
+ - pptx に出る中身をアプリの Context(router / query / テーマ)に依存させない
126
+ - `MorphElement` の `id` はページ内で一意にし、入れ子にしない。遷移先の `<Slide>` で `transition.morph` を有効にする
127
+ - pptx 用などの依存を追加しない(html-to-image / fflate は自動で入る)
package/theme.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /* GENERATED by scripts/gen-theme.mjs — do not edit. Sources:
2
2
  * packages/squadkit/registry/theme/theme.css (UI part tokens)
3
- * packages/vantage/src/theme/framework.css (slide / document styles) */
3
+ * packages/squadkit/theme/slide-doc.css (slide / document styles) */
4
4
 
5
5
  /**
6
6
  * Vantage design tokens. Imported after `@import "tailwindcss"` by the
@@ -62,10 +62,10 @@
62
62
  sans-serif;
63
63
 
64
64
  --chart-1: oklch(0.55 0.2 262);
65
- --chart-2: oklch(0.7 0.14 215);
66
- --chart-3: oklch(0.6 0.23 295);
67
- --chart-4: oklch(0.63 0.24 330);
68
- --chart-5: oklch(0.78 0.19 125);
65
+ --chart-2: oklch(0.62 0.17 118);
66
+ --chart-3: oklch(0.5 0.19 352);
67
+ --chart-4: oklch(0.62 0.1 195);
68
+ --chart-5: oklch(0.44 0.18 300);
69
69
 
70
70
  /* Semantic status tokens — see the contract above the `@theme inline` block. */
71
71
  --positive: oklch(0.52 0.14 150);
@@ -115,16 +115,16 @@
115
115
  --accent: oklch(0.3 0.02 262);
116
116
  --accent-foreground: oklch(0.96 0.005 255);
117
117
  --destructive: oklch(0.704 0.191 22.216);
118
- --destructive-foreground: oklch(0.985 0 0);
118
+ --destructive-foreground: oklch(0.145 0.02 262);
119
119
  --border: oklch(1 0 0 / 10%);
120
120
  --input: oklch(1 0 0 / 15%);
121
121
  --ring: oklch(0.6 0.15 262);
122
122
 
123
- --chart-1: oklch(0.55 0.2 262);
124
- --chart-2: oklch(0.76 0.14 215);
125
- --chart-3: oklch(0.68 0.2 295);
126
- --chart-4: oklch(0.7 0.22 330);
127
- --chart-5: oklch(0.82 0.18 125);
123
+ --chart-1: oklch(0.56 0.19 262);
124
+ --chart-2: oklch(0.75 0.17 118);
125
+ --chart-3: oklch(0.64 0.19 352);
126
+ --chart-4: oklch(0.78 0.105 195);
127
+ --chart-5: oklch(0.71 0.17 300);
128
128
 
129
129
  --positive: oklch(0.76 0.15 150);
130
130
  --positive-subtle: oklch(0.27 0.05 150);
@@ -145,7 +145,7 @@
145
145
  --sidebar: oklch(0.2 0.014 262);
146
146
  --sidebar-foreground: oklch(0.96 0.005 255);
147
147
  --sidebar-primary: oklch(0.68 0.19 262);
148
- --sidebar-primary-foreground: oklch(0.985 0 0);
148
+ --sidebar-primary-foreground: oklch(0.145 0.02 262);
149
149
  --sidebar-accent: oklch(0.3 0.02 262);
150
150
  --sidebar-accent-foreground: oklch(0.96 0.005 255);
151
151
  --sidebar-border: oklch(1 0 0 / 10%);
@@ -162,7 +162,8 @@
162
162
  text or icons — use --<tone>. Same lightness step from the page in both
163
163
  modes (light 0.62 / dark 0.56: ~0.36-0.40 OKLCH L away from --background,
164
164
  >= 3:1 against --background and --card), so a fill is never strong in one
165
- mode and faint in the other. Presets do not override it.
165
+ mode and faint in the other. Presets may tune hue and chroma within the
166
+ status bands while preserving contrast and fill strength (tests/theme-presets.test.ts).
166
167
  --warning-fill is the exception: amber (light 0.79 / dark 0.73, ~#f5b324 / ~#d99a1e) is
167
168
  a light colour by nature, so it is ~2:1 on the light page (still >= 0.18 L away)
168
169
  and ~7-8:1 on the dark one; dark text (--foreground in light, --background in dark) sits on it at >= 4.5:1.
@@ -359,17 +360,20 @@
359
360
  /**
360
361
  * Vantage framework styles: the slide / document tokens and the document
361
362
  * typesetting. The UI parts' tokens live in SquadKit
362
- * (packages/squadkit/registry/theme/theme.css); scripts/gen-theme.mjs appends
363
- * this file to them to produce packages/vantage/theme.css.
363
+ * (packages/squadkit/registry/theme/theme.css); packages/vantage/scripts/gen-theme.mjs
364
+ * appends this file to them to produce packages/vantage/theme.css.
364
365
  */
365
366
 
366
367
  :root {
367
368
  /* Slides (@squadbase/vantage/slide).
368
- These are aliases, not values. Custom properties resolve lazily, so
369
+ These are aliases, not values. A var() in a custom property is resolved
370
+ on the element that declares it and inherited as that result, so
369
371
  pointing them at the tokens above is enough for a deck to follow `.dark`
370
- and `[data-theme="dark"]` on its own — restating them in the dark block
371
- below would create two places to keep in step for no gain. A deck
372
- overrides any of them inline through `<SlideDeck theme>`. */
372
+ and `[data-theme="dark"]` set on :root — restating them in the dark block
373
+ below would create two places to keep in step for no gain. Tokens
374
+ overridden on a descendant (a scoped theme) do not reach them: re-declare
375
+ the aliases there. A deck overrides any of them inline through
376
+ `<SlideDeck theme>`. */
373
377
  --slide-bg: var(--background);
374
378
  --slide-fg: var(--foreground);
375
379
  --slide-accent: var(--primary);