@squadbase/vantage 0.6.2-dev1.42c4e48 → 0.6.2-dev1.54bde93

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 (290) hide show
  1. package/dist/{build-MFWRPYKW.js → build-A23M4GCH.js} +7 -7
  2. package/dist/{build-MFWRPYKW.js.map → build-A23M4GCH.js.map} +1 -1
  3. package/dist/{check-ZBIH422T.js → check-FBHT6W6J.js} +5 -5
  4. package/dist/{check-ZBIH422T.js.map → check-FBHT6W6J.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-5ZOP4SQR.js → chunk-2N72FKLB.js} +12 -7
  8. package/dist/chunk-2N72FKLB.js.map +1 -0
  9. package/dist/chunk-57GHR5LN.js +163 -0
  10. package/dist/chunk-57GHR5LN.js.map +1 -0
  11. package/dist/{chunk-7DZGJQ3P.js → chunk-5C2SEDPH.js} +21 -4
  12. package/dist/chunk-5C2SEDPH.js.map +1 -0
  13. package/dist/chunk-6OTTGAPO.js +44 -0
  14. package/dist/chunk-6OTTGAPO.js.map +1 -0
  15. package/dist/{chunk-OB6UBJXF.js → chunk-7S52M2SL.js} +127 -36
  16. package/dist/chunk-7S52M2SL.js.map +1 -0
  17. package/dist/{chunk-V3LF7BE7.js → chunk-ANZLVSEP.js} +4 -5
  18. package/dist/chunk-ANZLVSEP.js.map +1 -0
  19. package/dist/{chunk-XQUSGIDG.js → chunk-CKWPK4RO.js} +10 -3
  20. package/dist/chunk-CKWPK4RO.js.map +1 -0
  21. package/dist/chunk-JXFCSF3K.js +673 -0
  22. package/dist/chunk-JXFCSF3K.js.map +1 -0
  23. package/dist/{chunk-PXRX5PEC.js → chunk-PDOBHMUQ.js} +3 -3
  24. package/dist/chunk-PDOBHMUQ.js.map +1 -0
  25. package/dist/chunk-QOXXOFGL.js +7051 -0
  26. package/dist/chunk-QOXXOFGL.js.map +1 -0
  27. package/dist/{chunk-CEXAQQ5W.js → chunk-S5MDTHH7.js} +180 -18
  28. package/dist/chunk-S5MDTHH7.js.map +1 -0
  29. package/dist/{chunk-IBGOCWJB.js → chunk-SDJTTMLK.js} +247 -86
  30. package/dist/chunk-SDJTTMLK.js.map +1 -0
  31. package/dist/{chunk-QEWCYW3I.js → chunk-SHZM3EXB.js} +29 -8
  32. package/dist/chunk-SHZM3EXB.js.map +1 -0
  33. package/dist/{chunk-A2UUGASH.js → chunk-U736PVHY.js} +2 -2
  34. package/dist/chunk-U736PVHY.js.map +1 -0
  35. package/dist/{chunk-JKLLFVEU.js → chunk-UWSQUHX6.js} +4 -99
  36. package/dist/chunk-UWSQUHX6.js.map +1 -0
  37. package/dist/cli.js +6 -6
  38. package/dist/client/index.d.ts +2 -0
  39. package/dist/client/index.js +8 -2
  40. package/dist/client/index.js.map +1 -1
  41. package/dist/components/index.d.ts +1596 -100
  42. package/dist/components/index.js +7 -4
  43. package/dist/delta-text-CvwBGJ95.d.ts +15 -0
  44. package/dist/{dev-DCTOHQ6W.js → dev-H4I2JL63.js} +7 -7
  45. package/dist/{dev-DCTOHQ6W.js.map → dev-H4I2JL63.js.map} +1 -1
  46. package/dist/doc/index.d.ts +215 -2
  47. package/dist/doc/index.js +309 -5
  48. package/dist/doc/index.js.map +1 -1
  49. package/dist/{doctor-5E2VEZPK.js → doctor-B2O3GJDU.js} +5 -5
  50. package/dist/{doctor-5E2VEZPK.js.map → doctor-B2O3GJDU.js.map} +1 -1
  51. package/dist/format-U0cQl069.d.ts +243 -0
  52. package/dist/markdown/index.js +1 -1
  53. package/dist/markdown/index.js.map +1 -1
  54. package/dist/query/index.js +2 -2
  55. package/dist/{routes-3SGAFDMC.js → routes-PVKNT777.js} +4 -4
  56. package/dist/{routes-3SGAFDMC.js.map → routes-PVKNT777.js.map} +1 -1
  57. package/dist/slide/index.d.ts +272 -1
  58. package/dist/slide/index.js +974 -4
  59. package/dist/slide/index.js.map +1 -1
  60. package/dist/table/index.js +11 -8
  61. package/dist/table/index.js.map +1 -1
  62. package/dist/ui/index.d.ts +8 -2
  63. package/dist/ui/index.js +22 -112
  64. package/dist/ui/index.js.map +1 -1
  65. package/dist/{upgrade-DBBE6GIR.js → upgrade-6DT7ADRP.js} +4 -4
  66. package/dist/{upgrade-DBBE6GIR.js.map → upgrade-6DT7ADRP.js.map} +1 -1
  67. package/dist/vite/index.js +3 -3
  68. package/docs/en/changelog.md +2 -0
  69. package/docs/en/components.md +42 -17
  70. package/docs/en/doc/delta-text.md +40 -0
  71. package/docs/en/doc/doc-action-items.md +49 -0
  72. package/docs/en/doc/doc-callout.md +38 -0
  73. package/docs/en/doc/doc-data-table.md +60 -0
  74. package/docs/en/doc/doc-executive-summary.md +64 -0
  75. package/docs/en/doc/doc-figure.md +56 -0
  76. package/docs/en/doc/doc-key-findings.md +61 -0
  77. package/docs/en/doc/doc-kpi-scorecard.md +80 -0
  78. package/docs/en/doc/doc-notes-and-sources.md +43 -0
  79. package/docs/en/doc/doc-report-header.md +46 -0
  80. package/docs/en/pages-and-metadata.md +15 -0
  81. package/docs/en/parts/area-chart.md +99 -0
  82. package/docs/en/parts/bar-chart.md +91 -0
  83. package/docs/en/parts/bar-list.md +50 -0
  84. package/docs/en/parts/category-bar.md +37 -0
  85. package/docs/en/parts/chart-frame.md +39 -0
  86. package/docs/en/parts/data-table.md +22 -0
  87. package/docs/en/parts/delta.md +51 -0
  88. package/docs/en/parts/donut-chart.md +72 -0
  89. package/docs/en/parts/format.md +43 -0
  90. package/docs/en/parts/funnel-steps.md +2 -1
  91. package/docs/en/parts/heatmap.md +53 -0
  92. package/docs/en/parts/kpi-card.md +58 -0
  93. package/docs/en/parts/legend.md +35 -0
  94. package/docs/en/parts/line-chart.md +94 -0
  95. package/docs/en/parts/metric-value.md +3 -2
  96. package/docs/en/parts/progress-circle.md +33 -0
  97. package/docs/en/parts/sample-data.md +39 -0
  98. package/docs/en/parts/scatter-chart.md +56 -0
  99. package/docs/en/parts/sparkline.md +1 -1
  100. package/docs/en/parts/tracker.md +36 -0
  101. package/docs/en/parts/trend-indicator.md +17 -1
  102. package/docs/en/parts/updated-at.md +30 -0
  103. package/docs/en/parts/waterfall-chart.md +56 -0
  104. package/docs/en/slide/slide-chart-full.md +48 -0
  105. package/docs/en/slide/slide-chart-insight.md +52 -0
  106. package/docs/en/slide/slide-columns.md +46 -0
  107. package/docs/en/slide/slide-comparison.md +68 -0
  108. package/docs/en/slide/slide-cover.md +39 -0
  109. package/docs/en/slide/slide-exec-summary.md +47 -0
  110. package/docs/en/slide/slide-heading.md +38 -0
  111. package/docs/en/slide/slide-kpi-grid.md +55 -0
  112. package/docs/en/slide/slide-kpi-hero.md +58 -0
  113. package/docs/en/slide/slide-next-actions.md +49 -0
  114. package/docs/en/slide/slide-scorecard-table.md +54 -0
  115. package/docs/en/slide/slide-section.md +44 -0
  116. package/docs/en/slide/slide-source-line.md +34 -0
  117. package/docs/en/ui/alert-dialog.md +42 -0
  118. package/docs/en/ui/avatar.md +31 -0
  119. package/docs/en/ui/combobox.md +74 -0
  120. package/docs/en/ui/drawer.md +41 -0
  121. package/docs/en/ui/empty.md +1 -1
  122. package/docs/en/ui/error-state.md +4 -3
  123. package/docs/en/ui/field.md +42 -0
  124. package/docs/en/ui/hover-card.md +21 -0
  125. package/docs/en/ui/kbd.md +17 -0
  126. package/docs/en/ui/loading.md +1 -1
  127. package/docs/en/ui/pagination.md +36 -0
  128. package/docs/en/ui/radio-group.md +21 -0
  129. package/docs/en/ui/toast.md +44 -0
  130. package/docs/en/ui/toggle-group.md +4 -3
  131. package/docs/en/ui-and-theming.md +1 -1
  132. package/docs/index.json +917 -77
  133. package/docs/ja/changelog.md +2 -0
  134. package/docs/ja/components.md +39 -16
  135. package/docs/ja/doc/delta-text.md +40 -0
  136. package/docs/ja/doc/doc-action-items.md +49 -0
  137. package/docs/ja/doc/doc-callout.md +38 -0
  138. package/docs/ja/doc/doc-data-table.md +60 -0
  139. package/docs/ja/doc/doc-executive-summary.md +64 -0
  140. package/docs/ja/doc/doc-figure.md +56 -0
  141. package/docs/ja/doc/doc-key-findings.md +61 -0
  142. package/docs/ja/doc/doc-kpi-scorecard.md +80 -0
  143. package/docs/ja/doc/doc-notes-and-sources.md +43 -0
  144. package/docs/ja/doc/doc-report-header.md +46 -0
  145. package/docs/ja/page-types/slide.md +1 -0
  146. package/docs/ja/pages-and-metadata.md +15 -0
  147. package/docs/ja/parts/area-chart.md +49 -25
  148. package/docs/ja/parts/bar-chart.md +50 -24
  149. package/docs/ja/parts/bar-list.md +31 -8
  150. package/docs/ja/parts/chart-frame.md +36 -0
  151. package/docs/ja/parts/data-table.md +22 -0
  152. package/docs/ja/parts/delta.md +51 -0
  153. package/docs/ja/parts/donut-chart.md +45 -26
  154. package/docs/ja/parts/format.md +44 -0
  155. package/docs/ja/parts/funnel-steps.md +27 -8
  156. package/docs/ja/parts/heatmap.md +45 -0
  157. package/docs/ja/parts/kpi-card.md +56 -0
  158. package/docs/ja/parts/legend.md +36 -0
  159. package/docs/ja/parts/line-chart.md +48 -22
  160. package/docs/ja/parts/metric-value.md +3 -2
  161. package/docs/ja/parts/sample-data.md +61 -0
  162. package/docs/ja/parts/scatter-chart.md +69 -0
  163. package/docs/ja/parts/sparkline.md +1 -1
  164. package/docs/ja/parts/trend-indicator.md +17 -1
  165. package/docs/ja/parts/updated-at.md +27 -0
  166. package/docs/ja/parts/waterfall-chart.md +61 -0
  167. package/docs/ja/slide/slide-chart-full.md +48 -0
  168. package/docs/ja/slide/slide-chart-insight.md +52 -0
  169. package/docs/ja/slide/slide-columns.md +46 -0
  170. package/docs/ja/slide/slide-comparison.md +68 -0
  171. package/docs/ja/slide/slide-cover.md +39 -0
  172. package/docs/ja/slide/slide-exec-summary.md +47 -0
  173. package/docs/ja/slide/slide-heading.md +38 -0
  174. package/docs/ja/slide/slide-kpi-grid.md +55 -0
  175. package/docs/ja/slide/slide-kpi-hero.md +58 -0
  176. package/docs/ja/slide/slide-next-actions.md +49 -0
  177. package/docs/ja/slide/slide-scorecard-table.md +54 -0
  178. package/docs/ja/slide/slide-section.md +44 -0
  179. package/docs/ja/slide/slide-source-line.md +34 -0
  180. package/docs/ja/ui/empty.md +1 -1
  181. package/docs/ja/ui/error-state.md +4 -3
  182. package/docs/ja/ui/loading.md +1 -1
  183. package/docs/ja/ui/toggle-group.md +4 -3
  184. package/docs/ja/ui-and-theming.md +2 -2
  185. package/package.json +26 -24
  186. package/registry/ui/accordion.tsx +4 -2
  187. package/registry/ui/alert-dialog.tsx +3 -3
  188. package/registry/ui/alert.tsx +3 -1
  189. package/registry/ui/app-shell.tsx +7 -1
  190. package/registry/ui/area-chart.tsx +2852 -166
  191. package/registry/ui/attention-list.tsx +303 -0
  192. package/registry/ui/avatar.tsx +1 -1
  193. package/registry/ui/badge.tsx +3 -1
  194. package/registry/ui/bar-chart.tsx +2851 -166
  195. package/registry/ui/bar-list.tsx +3531 -90
  196. package/registry/ui/box-plot-chart.tsx +3906 -0
  197. package/registry/ui/breadcrumb.tsx +3 -1
  198. package/registry/ui/button.tsx +3 -1
  199. package/registry/ui/calendar.tsx +3 -1
  200. package/registry/ui/card.tsx +4 -2
  201. package/registry/ui/category-bar.tsx +1025 -16
  202. package/registry/ui/chart-frame.tsx +1393 -0
  203. package/registry/ui/checkbox.tsx +3 -1
  204. package/registry/ui/collapsible.tsx +3 -1
  205. package/registry/ui/combobox.tsx +2 -2
  206. package/registry/ui/command.tsx +3 -1
  207. package/registry/ui/dashboard-card.tsx +71 -28
  208. package/registry/ui/data-table.tsx +678 -56
  209. package/registry/ui/date-range-picker.tsx +245 -64
  210. package/registry/ui/delta.tsx +191 -0
  211. package/registry/ui/dialog.tsx +5 -3
  212. package/registry/ui/donut-chart.tsx +2929 -182
  213. package/registry/ui/drawer.tsx +1 -1
  214. package/registry/ui/dropdown-menu.tsx +5 -3
  215. package/registry/ui/echart.tsx +621 -67
  216. package/registry/ui/field.tsx +1 -1
  217. package/registry/ui/filter-bar.tsx +33 -6
  218. package/registry/ui/funnel-steps.tsx +3344 -49
  219. package/registry/ui/heatmap.tsx +1786 -0
  220. package/registry/ui/histogram-chart.tsx +3986 -0
  221. package/registry/ui/hover-card.tsx +2 -2
  222. package/registry/ui/input-group.tsx +3 -1
  223. package/registry/ui/input.tsx +3 -1
  224. package/registry/ui/kbd.tsx +3 -1
  225. package/registry/ui/kpi-card.tsx +704 -0
  226. package/registry/ui/label.tsx +3 -1
  227. package/registry/ui/legend.tsx +3563 -0
  228. package/registry/ui/line-chart.tsx +2852 -160
  229. package/registry/ui/metric-value.tsx +9 -1
  230. package/registry/ui/multi-select.tsx +11 -5
  231. package/registry/ui/page-shell.tsx +106 -51
  232. package/registry/ui/pagination.tsx +3 -1
  233. package/registry/ui/paired-chart.tsx +3827 -0
  234. package/registry/ui/placeholder.tsx +8 -2
  235. package/registry/ui/popover.tsx +4 -2
  236. package/registry/ui/progress-circle.tsx +607 -12
  237. package/registry/ui/progress.tsx +3 -1
  238. package/registry/ui/radio-group.tsx +1 -1
  239. package/registry/ui/sample-data.tsx +86 -0
  240. package/registry/ui/scatter-chart.tsx +4212 -0
  241. package/registry/ui/scroll-area.tsx +3 -2
  242. package/registry/ui/searchable-select.tsx +8 -3
  243. package/registry/ui/section-header.tsx +5 -3
  244. package/registry/ui/segmented-control.tsx +7 -2
  245. package/registry/ui/select.tsx +4 -2
  246. package/registry/ui/separator.tsx +3 -1
  247. package/registry/ui/sheet.tsx +4 -2
  248. package/registry/ui/sidebar.tsx +4 -2
  249. package/registry/ui/skeleton.tsx +4 -2
  250. package/registry/ui/slider.tsx +4 -2
  251. package/registry/ui/sparkline.tsx +84 -9
  252. package/registry/ui/spinner.tsx +3 -1
  253. package/registry/ui/states.tsx +34 -5
  254. package/registry/ui/status-badge.tsx +83 -41
  255. package/registry/ui/switch.tsx +3 -1
  256. package/registry/ui/table.tsx +4 -2
  257. package/registry/ui/tabs.tsx +5 -3
  258. package/registry/ui/textarea.tsx +3 -1
  259. package/registry/ui/toast.tsx +2 -2
  260. package/registry/ui/toggle-group.tsx +3 -1
  261. package/registry/ui/toggle.tsx +3 -1
  262. package/registry/ui/tooltip.tsx +10 -4
  263. package/registry/ui/tracker.tsx +632 -19
  264. package/registry/ui/trend-indicator.tsx +15 -3
  265. package/registry/ui/updated-at.tsx +122 -0
  266. package/registry/ui/waterfall-chart.tsx +4248 -0
  267. package/skills/vantage-design/SKILL.md +34 -24
  268. package/skills/vantage-design/references/extract.md +16 -14
  269. package/skills/vantage-design/references/format.md +6 -5
  270. package/skills/vantage-design/references/presets.md +60 -110
  271. package/skills/vantage-pitfalls/SKILL.md +5 -0
  272. package/skills/vantage-slide/SKILL.md +54 -36
  273. package/templates/AGENTS.md +17 -3
  274. package/templates/agents/doc.md +48 -0
  275. package/templates/agents/page.md +32 -1
  276. package/templates/agents/slide.md +70 -2
  277. package/theme.css +247 -149
  278. package/dist/chunk-5ZOP4SQR.js.map +0 -1
  279. package/dist/chunk-7DZGJQ3P.js.map +0 -1
  280. package/dist/chunk-A2UUGASH.js.map +0 -1
  281. package/dist/chunk-AG6RZ2RR.js +0 -3208
  282. package/dist/chunk-AG6RZ2RR.js.map +0 -1
  283. package/dist/chunk-CEXAQQ5W.js.map +0 -1
  284. package/dist/chunk-IBGOCWJB.js.map +0 -1
  285. package/dist/chunk-JKLLFVEU.js.map +0 -1
  286. package/dist/chunk-OB6UBJXF.js.map +0 -1
  287. package/dist/chunk-PXRX5PEC.js.map +0 -1
  288. package/dist/chunk-QEWCYW3I.js.map +0 -1
  289. package/dist/chunk-V3LF7BE7.js.map +0 -1
  290. package/dist/chunk-XQUSGIDG.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ # SlideSection
2
+
3
+ > 章の区切りの 1 枚。章タイトルと、任意で目次。
4
+
5
+ 章の区切りに置く 1 枚です。左に章タイトル、`items` を渡すと右に目次(番号つきの一覧)を出し、`current` の章を強調します。
6
+
7
+ ```tsx
8
+ import { SlideSection } from "@squadbase/vantage/slide";
9
+ import type { SlideSectionProps } from "@squadbase/vantage/slide";
10
+ ```
11
+
12
+ > [!NOTE]
13
+ > これは **`<Slide>` 1 枚の中身**です。`<Slide>` 自体は持たないので、`<Slide>` の直下に置いてください。ルートはキャンバス(1920×1080)いっぱい(100%)に広がり、`className` は受けません。余白・文字サイズ・グリッドは block の中で決まっている(1920×1080 の 12 カラム)ので、寸法を足さないでください。デッキの組み方は [スライド](page-types/slide) を参照してください。
14
+
15
+ ## props
16
+
17
+ | Prop | Type | 説明 |
18
+ | --- | --- | --- |
19
+ | `title` | `string` | 章のタイトル。**必須**。 |
20
+ | `index` | `number` | 章番号。タイトルの上に「02」のように 2 桁で出る。 |
21
+ | `lead` | `string` | その章が何に答えるかを 1 行で。 |
22
+ | `items` | `string[]` | デッキの章の一覧。右側に番号つきの目次として出る。1 行ずつなので 6 件ほどまで。省くとタイトルが全幅を使う。 |
23
+ | `current` | `number` | `items` のうち強調する章(1 始まり)。 |
24
+
25
+ ## 使い方
26
+
27
+ ```tsx
28
+ import { Slide, SlideSection } from "@squadbase/vantage/slide";
29
+
30
+ <Slide>
31
+ <SlideSection
32
+ index={2}
33
+ title="解約の動向"
34
+ lead="どの層が、いつ離れているか"
35
+ items={["全体像", "解約の動向", "要因の分析", "次の打ち手"]}
36
+ current={2}
37
+ />
38
+ </Slide>
39
+ ```
40
+
41
+ ## 注意
42
+
43
+ - 段階表示(reveal)は持ちません。必要なら呼び出し側で `Steps` などで包んでください。
44
+ - 目次に出る番号は `items` の順で自動採番されます。`index` は章番号の表示だけに使われます。
@@ -0,0 +1,34 @@
1
+ # SlideSourceLine
2
+
3
+ > [部品] スライド 1 枚の足元の 1 行。時点・出典・ページ番号。
4
+
5
+ スライド 1 枚の足元に置く 1 行です。データの時点と出典、任意で右端にページ番号を出します。12 カラムのグリッドの最下段に置く**部品**で、1 枚まるごとの block ではありません。出すものがなければ何も描きません。
6
+
7
+ ```tsx
8
+ import { SlideSourceLine } from "@squadbase/vantage/slide";
9
+ import type { SlideSourceLineProps } from "@squadbase/vantage/slide";
10
+ ```
11
+
12
+ > [!NOTE]
13
+ > これは **スライドの部品**で、1 枚まるごとの block ではありません。`<Slide>` 内の 12 カラムのグリッドの行として置きます(ルートはキャンバスいっぱい(100%×100%)には広がりません)。寸法はすべて部品の中で決まっているので、足さないでください。デッキの組み方は [スライド](page-types/slide) を参照してください。
14
+
15
+ ## props
16
+
17
+ | Prop | Type | 説明 |
18
+ | --- | --- | --- |
19
+ | `asOf` | `string` | 数字を取った日。日付のみ(例: `"2026-10-20"`)。「2026-10-20 時点」と表示される。「時点」は書かない。 |
20
+ | `source` | `string` | 出典(例: `"社内 BI"`)。「出典: 社内 BI」と表示される。 |
21
+ | `page` | `{ current: number; total: number }` | 右端に「3 / 12」と出すページ番号。呼び出し側から渡す。 |
22
+
23
+ ## 使い方
24
+
25
+ ```tsx
26
+ import { SlideSourceLine } from "@squadbase/vantage/slide";
27
+
28
+ <SlideSourceLine asOf="2026-10-20" source="社内 BI" page={{ current: 3, total: 12 }} />
29
+ ```
30
+
31
+ ## 注意
32
+
33
+ - ページ番号は SquadKit がスライドの位置を読めないため、`page` で渡します。
34
+ - 「… 時点」「出典: …」は固定の日本語です。
@@ -10,7 +10,7 @@ import { Empty } from "@squadbase/vantage/ui";
10
10
 
11
11
  | Prop | Type | Default | 説明 |
12
12
  | --- | --- | --- | --- |
13
- | `title` | `string` | `"Nothing here yet"` | 見出し。 |
13
+ | `title` | `string` | `"表示できるデータがありません"` | 見出し。 |
14
14
  | `description` | `string` | | 見出しの下の補足文。 |
15
15
  | `icon` | `ReactNode` | | 見出しの上に置く絵柄。 |
16
16
  | `action` | `ReactNode` | | 下部に置く次の一手(ボタンやリンク)。 |
@@ -10,8 +10,9 @@ import { ErrorState } from "@squadbase/vantage/ui";
10
10
 
11
11
  | Prop | Type | Default | 説明 |
12
12
  | --- | --- | --- | --- |
13
- | `title` | `string` | `"Something went wrong"` | 見出し。 |
14
- | `message` | `ReactNode` | | 詳細。エラーメッセージをそのまま出せます。 |
13
+ | `title` | `string` | `"データを読み込めませんでした"` | 見出し。 |
14
+ | `message` | `ReactNode` | `"時間をおいて再試行してください。解決しない場合は管理者にお問い合わせください。"` | 何が起きたか、次に何をすればよいかを平易な言葉で。 |
15
+ | `details` | `ReactNode` | | 技術的な詳細(エラーメッセージやステータスコード)。「詳細を表示」の中に折りたたまれます。 |
15
16
  | `action` | `ReactNode` | | 再試行ボタンなど。 |
16
17
  | `className` | `string` | | 足すクラス。 |
17
18
 
@@ -34,7 +35,7 @@ export default function Customers() {
34
35
  if (error)
35
36
  return (
36
37
  <ErrorState
37
- message={error.message}
38
+ details={error.message}
38
39
  action={<Button variant="outline" onClick={() => refetch()}>再試行</Button>}
39
40
  />
40
41
  );
@@ -12,7 +12,7 @@ import { Loading } from "@squadbase/vantage/ui";
12
12
 
13
13
  | Prop | Type | Default | 説明 |
14
14
  | --- | --- | --- | --- |
15
- | `label` | `string` | `"Loading…"` | スピナーの右に出すテキスト。 |
15
+ | `label` | `string` | `"読み込んでいます…"` | スピナーの右に出すテキスト。 |
16
16
  | `className` | `string` | | 足すクラス。既定では最小高 30vh で縦横中央に置かれます。 |
17
17
 
18
18
  レイアウトを保ったまま待たせたいときは [`Skeleton`](ui/skeleton)、ボタンの中など
@@ -14,14 +14,15 @@ import { ToggleGroup, ToggleGroupItem } from "@squadbase/vantage/ui";
14
14
  | --- | --- | --- | --- |
15
15
  | `value` | `string[]` | | 選択中の値。**単一選択でも配列**。 |
16
16
  | `onValueChange` | `(value: string[]) => void` | | 変更時。配列で返る。 |
17
- | `toggleMultiple` | `boolean` | | 複数選択を許す。 |
17
+ | `multiple` | `boolean` | `false` | `true` で複数選択を許す。 |
18
18
  | `variant` | `"default" \| "outline"` | `"default"` | |
19
19
  | `size` | `"default" \| "sm" \| "lg"` | `"default"` | |
20
20
  | `spacing` | `number` | `2` | 項目の間隔。`0` で連結された帯になる。 |
21
21
  | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | |
22
22
 
23
23
  > [!WARNING]
24
- > Radix 版の `type="single"` / `type="multiple"` はありません。単一選択は「配列の長さを 1 に保つ」
25
- > という運用になります。その処理は
24
+ > Radix 版の `type="single"` / `type="multiple"` はありません。代わりに boolean の `multiple` が
25
+ > あり、既定(`false`)では同時に押せるのは 1 つだけです。ただし単一選択でも `value` は長さ 1 以下
26
+ > の配列になります。その扱いは
26
27
  > [`SegmentedControl`](parts/segmented-control) に入っているので、
27
28
  > 単一選択ならそちらを使うのが確実です。
@@ -39,8 +39,8 @@ export default function Overview() {
39
39
 
40
40
  `/components` にあるもの(抜粋): `PageShell`、`AppShell`、`DashboardCard`、`DataTable`、
41
41
  型付きチャート(`LineChart` / `AreaChart` / `BarChart` / `DonutChart` / `BarList` / `CategoryBar` /
42
- `ProgressCircle` / `Tracker`)、`EChart`、`FunnelSteps`、`FilterBar`、`DateRangePicker`、`MetricValue`、
43
- `TrendIndicator`。グラフはまず型付きチャートで描き、その props で表せない図(二軸・散布図・
42
+ `ProgressCircle` / `Tracker`)、`EChart`、`FunnelSteps`、`FilterBar`、`DateRangePicker`、`KpiCard`、
43
+ `Delta`。グラフはまず型付きチャートで描き、その props で表せない図(二軸・散布図・
44
44
  ヒートマップなど)だけ `EChart` に `EChartsOption` を渡します。
45
45
 
46
46
  各コンポーネントの props と使い方は [コンポーネント](components) タブにまとめてあります。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squadbase/vantage",
3
- "version": "0.6.2-dev1.42c4e48",
3
+ "version": "0.6.2-dev1.54bde93",
4
4
  "description": "Data dashboard framework for Squadbase Editor. Vite-powered, config-free, one-file first.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -99,25 +99,6 @@
99
99
  "templates",
100
100
  "NOTICE"
101
101
  ],
102
- "scripts": {
103
- "build": "node scripts/build-docs.mjs && node scripts/build.mjs",
104
- "build:js": "tsup --no-dts",
105
- "build:types": "tsup --dts-only",
106
- "build:docs": "node scripts/build-docs.mjs",
107
- "dev": "tsup --watch --no-dts",
108
- "dev:types": "tsc --noEmit --watch",
109
- "test": "vitest run",
110
- "test:watch": "vitest",
111
- "registry": "node scripts/gen-registry.mjs",
112
- "registry:check": "node scripts/gen-registry.mjs --check",
113
- "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.registry.json",
114
- "type-check": "tsc --noEmit && tsc --noEmit -p tsconfig.registry.json",
115
- "prepublishOnly": "node scripts/build-docs.mjs && node scripts/build.mjs",
116
- "release": "npm publish --@squadbase:registry=https://registry.npmjs.org",
117
- "site:install": "npm --prefix site install",
118
- "site:dev": "npm --prefix site run dev",
119
- "site:build": "npm --prefix site run build"
120
- },
121
102
  "dependencies": {
122
103
  "@base-ui/react": "^1.6.0",
123
104
  "@hono/node-server": "^2.1.5",
@@ -132,7 +113,7 @@
132
113
  "cmdk": "^1.1.1",
133
114
  "date-fns": "^4.1.0",
134
115
  "echarts": "^6.0.0",
135
- "esbuild": "^0.28.1",
116
+ "esbuild": "0.28.1",
136
117
  "fflate": "^0.8.3",
137
118
  "hono": "^4.13.13",
138
119
  "html-to-image": "^1.11.13",
@@ -141,8 +122,9 @@
141
122
  "picocolors": "^1.1.1",
142
123
  "react-day-picker": "^10.0.1",
143
124
  "read-excel-file": "^9.3.10",
125
+ "shiki": "3.23.0",
144
126
  "streamdown": "^2.5.0",
145
- "tailwind-merge": "^3.0.0",
127
+ "tailwind-merge": "3.6.0",
146
128
  "tailwindcss": "^4.3.3",
147
129
  "tw-animate-css": "^1.0.0",
148
130
  "vite": "^8.3.4"
@@ -167,6 +149,26 @@
167
149
  "react-dom": "^19.3.1",
168
150
  "tsup": "^8.5.1",
169
151
  "typescript": "^5.7.0",
170
- "vitest": "^5.0.5"
152
+ "vitest": "^5.0.5",
153
+ "@squadbase/squadkit": "0.0.0"
154
+ },
155
+ "gitHead": "54bde936ab6acec5570032d647be1d2ac1e50797",
156
+ "scripts": {
157
+ "build": "node scripts/build-docs.mjs && node scripts/build.mjs",
158
+ "build:js": "tsup --no-dts",
159
+ "build:types": "tsup --dts-only",
160
+ "build:docs": "node scripts/build-docs.mjs",
161
+ "dev": "tsup --watch --no-dts",
162
+ "dev:types": "tsc --noEmit --watch",
163
+ "test": "vitest run",
164
+ "test:watch": "vitest",
165
+ "registry": "node scripts/gen-registry.mjs",
166
+ "registry:check": "node scripts/gen-registry.mjs --check",
167
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.registry.json",
168
+ "type-check": "tsc --noEmit && tsc --noEmit -p tsconfig.registry.json",
169
+ "release": "pnpm publish --@squadbase:registry=https://registry.npmjs.org",
170
+ "site:install": "npm --prefix site install",
171
+ "site:dev": "npm --prefix site run dev",
172
+ "site:build": "npm --prefix site run build"
171
173
  }
172
- }
174
+ }
@@ -1,5 +1,7 @@
1
1
  // Copied by `vantage add ui accordion`. This file is yours to edit.
2
- // Generated from @squadbase/vantage src/ui/accordion.tsx by `npm run registry` (in Vantage, edit src/, not registry/).
2
+ // Generated from @squadbase/squadkit registry/ui/accordion.tsx by `pnpm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
3
5
  import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion"
4
6
 
5
7
  import { cn } from "@squadbase/vantage/ui"
@@ -56,7 +58,7 @@ function AccordionContent({
56
58
  return (
57
59
  <AccordionPrimitive.Panel
58
60
  data-slot="accordion-content"
59
- className="overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up"
61
+ className="overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up motion-reduce:animate-none"
60
62
  {...props}
61
63
  >
62
64
  <div
@@ -1,5 +1,5 @@
1
1
  // Copied by `vantage add ui alert-dialog`. This file is yours to edit.
2
- // Generated from @squadbase/vantage src/ui/alert-dialog.tsx by `npm run registry` (in Vantage, edit src/, not registry/).
2
+ // Generated from @squadbase/squadkit registry/ui/alert-dialog.tsx by `pnpm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
3
  "use client"
4
4
 
5
5
  import * as React from "react"
@@ -32,7 +32,7 @@ function AlertDialogOverlay({
32
32
  <AlertDialogPrimitive.Backdrop
33
33
  data-slot="alert-dialog-overlay"
34
34
  className={cn(
35
- "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
35
+ "fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
36
36
  className
37
37
  )}
38
38
  {...props}
@@ -54,7 +54,7 @@ function AlertDialogContent({
54
54
  data-slot="alert-dialog-content"
55
55
  data-size={size}
56
56
  className={cn(
57
- "group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
57
+ "group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in motion-reduce:animate-none! data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
58
58
  className
59
59
  )}
60
60
  {...props}
@@ -1,5 +1,7 @@
1
1
  // Copied by `vantage add ui alert`. This file is yours to edit.
2
- // Generated from @squadbase/vantage src/ui/alert.tsx by `npm run registry` (in Vantage, edit src/, not registry/).
2
+ // Generated from @squadbase/squadkit registry/ui/alert.tsx by `pnpm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
3
5
  import * as React from "react"
4
6
  import { cva, type VariantProps } from "class-variance-authority"
5
7
 
@@ -1,5 +1,7 @@
1
1
  // Copied by `vantage add ui app-shell`. This file is yours to edit.
2
- // Generated from @squadbase/vantage src/components/app-shell.tsx by `npm run registry` (in Vantage, edit src/, not registry/).
2
+ // Generated from @squadbase/squadkit registry/components/app-shell.tsx by `pnpm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
3
5
  /**
4
6
  * AppShell — the outermost application frame. `variant="sidebar"` (default)
5
7
  * renders a collapsible sidebar with nested nav groups; `variant="header"`
@@ -85,9 +87,13 @@ function NavSelect({
85
87
  }) {
86
88
  const allItems = groups.flatMap((g) => g.items.flatMap(flattenItems))
87
89
  const currentValue = allItems.find((item) => item.isActive)?.href ?? ""
90
+ // Base UI's SelectValue renders the raw value (the href) unless `items` maps
91
+ // it to a label, so pass the page names explicitly.
92
+ const selectItems = allItems.map((item) => ({ value: item.href, label: item.label }))
88
93
 
89
94
  return (
90
95
  <Select
96
+ items={selectItems}
91
97
  value={currentValue}
92
98
  onValueChange={(href) => {
93
99
  // Base UI reports `null` when the selection is cleared; there is no