@squadbase/vantage 0.6.2-dev1.b332e5a → 0.6.2-dev1.d7c0911

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 (212) hide show
  1. package/dist/add-4GHF2TX2.js +6 -0
  2. package/dist/add-4GHF2TX2.js.map +1 -0
  3. package/dist/{build-TVKFIVFQ.js → build-X5NVCQKT.js} +7 -7
  4. package/dist/{build-TVKFIVFQ.js.map → build-X5NVCQKT.js.map} +1 -1
  5. package/dist/{check-3KHZXZMQ.js → check-ZBIH422T.js} +5 -5
  6. package/dist/{check-3KHZXZMQ.js.map → check-ZBIH422T.js.map} +1 -1
  7. package/dist/chunk-2ICNHUG6.js +1820 -0
  8. package/dist/chunk-2ICNHUG6.js.map +1 -0
  9. package/dist/{chunk-5ZOP4SQR.js → chunk-2N72FKLB.js} +12 -7
  10. package/dist/chunk-2N72FKLB.js.map +1 -0
  11. package/dist/{chunk-P7W4LR3Z.js → chunk-7DZGJQ3P.js} +3 -3
  12. package/dist/{chunk-P7W4LR3Z.js.map → chunk-7DZGJQ3P.js.map} +1 -1
  13. package/dist/{chunk-U2M6HGKQ.js → chunk-AABMKHEU.js} +4 -4
  14. package/dist/{chunk-U2M6HGKQ.js.map → chunk-AABMKHEU.js.map} +1 -1
  15. package/dist/{chunk-QI3XQKHS.js → chunk-GNXCX4WE.js} +10 -3
  16. package/dist/chunk-GNXCX4WE.js.map +1 -0
  17. package/dist/{chunk-PXRX5PEC.js → chunk-PDOBHMUQ.js} +3 -3
  18. package/dist/chunk-PDOBHMUQ.js.map +1 -0
  19. package/dist/{chunk-ZVANIULZ.js → chunk-RNTDBX6S.js} +4 -4
  20. package/dist/{chunk-ZVANIULZ.js.map → chunk-RNTDBX6S.js.map} +1 -1
  21. package/dist/{chunk-A2UUGASH.js → chunk-U736PVHY.js} +2 -2
  22. package/dist/chunk-U736PVHY.js.map +1 -0
  23. package/dist/{chunk-PVTHHV7X.js → chunk-V3LF7BE7.js} +27 -5
  24. package/dist/chunk-V3LF7BE7.js.map +1 -0
  25. package/dist/{chunk-LMUACBMA.js → chunk-WAMZWZJB.js} +53 -8
  26. package/dist/chunk-WAMZWZJB.js.map +1 -0
  27. package/dist/chunk-WRSX2MDK.js +7866 -0
  28. package/dist/chunk-WRSX2MDK.js.map +1 -0
  29. package/dist/{chunk-RPZAALCX.js → chunk-XPQSTZUU.js} +254 -164
  30. package/dist/chunk-XPQSTZUU.js.map +1 -0
  31. package/dist/{chunk-DTDVSFRY.js → chunk-XQUSGIDG.js} +17 -3
  32. package/dist/chunk-XQUSGIDG.js.map +1 -0
  33. package/dist/cli.js +12 -11
  34. package/dist/cli.js.map +1 -1
  35. package/dist/client/index.d.ts +32 -3
  36. package/dist/client/index.js +205 -12
  37. package/dist/client/index.js.map +1 -1
  38. package/dist/components/index.d.ts +1975 -28
  39. package/dist/components/index.js +4 -4
  40. package/dist/{dev-GDKATCC7.js → dev-4XEDTELV.js} +8 -8
  41. package/dist/dev-4XEDTELV.js.map +1 -0
  42. package/dist/doc/index.js +2 -2
  43. package/dist/doc/index.js.map +1 -1
  44. package/dist/{docs-EJJ3BECT.js → docs-JVP4RPKT.js} +3 -3
  45. package/dist/{docs-EJJ3BECT.js.map → docs-JVP4RPKT.js.map} +1 -1
  46. package/dist/{doctor-WQXPXP6K.js → doctor-5E2VEZPK.js} +5 -5
  47. package/dist/{doctor-WQXPXP6K.js.map → doctor-5E2VEZPK.js.map} +1 -1
  48. package/dist/markdown/index.js +1 -1
  49. package/dist/markdown/index.js.map +1 -1
  50. package/dist/{preview-OGMCNQUO.js → preview-T6CLSQVX.js} +3 -3
  51. package/dist/{preview-OGMCNQUO.js.map → preview-T6CLSQVX.js.map} +1 -1
  52. package/dist/query/index.d.ts +0 -11
  53. package/dist/query/index.js +2 -2
  54. package/dist/{routes-MWBWWOJ2.js → routes-3SGAFDMC.js} +4 -4
  55. package/dist/{routes-MWBWWOJ2.js.map → routes-3SGAFDMC.js.map} +1 -1
  56. package/dist/{search-6Y422SV6.js → search-5LC4XPB5.js} +3 -3
  57. package/dist/{search-6Y422SV6.js.map → search-5LC4XPB5.js.map} +1 -1
  58. package/dist/table/index.js +10 -9
  59. package/dist/table/index.js.map +1 -1
  60. package/dist/ui/index.d.ts +144 -11
  61. package/dist/ui/index.js +1339 -87
  62. package/dist/ui/index.js.map +1 -1
  63. package/dist/{upgrade-HCANX4GQ.js → upgrade-JHXZBGQS.js} +6 -6
  64. package/dist/{upgrade-HCANX4GQ.js.map → upgrade-JHXZBGQS.js.map} +1 -1
  65. package/dist/vite/index.d.ts +10 -0
  66. package/dist/vite/index.js +3 -3
  67. package/docs/en/components.md +29 -15
  68. package/docs/en/parts/data-table.md +22 -0
  69. package/docs/en/parts/delta.md +50 -0
  70. package/docs/en/parts/format.md +43 -0
  71. package/docs/en/parts/kpi-card.md +57 -0
  72. package/docs/en/parts/metric-value.md +3 -2
  73. package/docs/en/parts/sparkline.md +1 -1
  74. package/docs/en/parts/trend-indicator.md +17 -1
  75. package/docs/en/ui-and-theming.md +1 -1
  76. package/docs/index.json +366 -76
  77. package/docs/ja/changelog.md +31 -0
  78. package/docs/ja/components.md +57 -101
  79. package/docs/ja/page-types/csv.md +83 -0
  80. package/docs/ja/page-types/doc.md +83 -0
  81. package/docs/ja/page-types/excel.md +82 -0
  82. package/docs/ja/page-types/slide.md +132 -0
  83. package/docs/ja/page-types.md +47 -0
  84. package/docs/ja/parts/area-chart.md +61 -0
  85. package/docs/ja/parts/bar-chart.md +69 -0
  86. package/docs/ja/parts/bar-list.md +35 -0
  87. package/docs/ja/parts/category-bar.md +36 -0
  88. package/docs/ja/parts/data-table.md +22 -0
  89. package/docs/ja/parts/delta.md +50 -0
  90. package/docs/ja/parts/donut-chart.md +47 -0
  91. package/docs/ja/parts/echart.md +3 -0
  92. package/docs/ja/parts/format.md +44 -0
  93. package/docs/ja/parts/kpi-card.md +55 -0
  94. package/docs/ja/parts/line-chart.md +58 -0
  95. package/docs/ja/parts/metric-value.md +3 -2
  96. package/docs/ja/parts/progress-circle.md +34 -0
  97. package/docs/ja/parts/sparkline.md +2 -2
  98. package/docs/ja/parts/tracker.md +32 -0
  99. package/docs/ja/parts/trend-indicator.md +17 -1
  100. package/docs/ja/routing.md +8 -86
  101. package/docs/ja/ui/alert-dialog.md +41 -0
  102. package/docs/ja/ui/avatar.md +31 -0
  103. package/docs/ja/ui/combobox.md +74 -0
  104. package/docs/ja/ui/drawer.md +41 -0
  105. package/docs/ja/ui/field.md +42 -0
  106. package/docs/ja/ui/hover-card.md +21 -0
  107. package/docs/ja/ui/kbd.md +16 -0
  108. package/docs/ja/ui/pagination.md +36 -0
  109. package/docs/ja/ui/radio-group.md +21 -0
  110. package/docs/ja/ui/toast.md +46 -0
  111. package/docs/ja/ui-and-theming.md +14 -7
  112. package/package.json +13 -4
  113. package/registry/ui/accordion.tsx +76 -0
  114. package/registry/ui/alert-dialog.tsx +189 -0
  115. package/registry/ui/alert.tsx +80 -0
  116. package/registry/ui/app-shell.tsx +287 -0
  117. package/registry/ui/area-chart.tsx +3639 -0
  118. package/registry/ui/avatar.tsx +110 -0
  119. package/registry/ui/badge.tsx +56 -0
  120. package/registry/ui/bar-chart.tsx +3636 -0
  121. package/registry/ui/bar-list.tsx +3680 -0
  122. package/registry/ui/breadcrumb.tsx +128 -0
  123. package/registry/ui/button.tsx +62 -0
  124. package/registry/ui/calendar.tsx +223 -0
  125. package/registry/ui/card.tsx +107 -0
  126. package/registry/ui/category-bar.tsx +1255 -0
  127. package/registry/ui/chart-frame.tsx +1358 -0
  128. package/registry/ui/checkbox.tsx +30 -0
  129. package/registry/ui/collapsible.tsx +23 -0
  130. package/registry/ui/combobox.tsx +310 -0
  131. package/registry/ui/command.tsx +198 -0
  132. package/registry/ui/dashboard-card.tsx +217 -0
  133. package/registry/ui/data-table.tsx +693 -146
  134. package/registry/ui/date-range-picker.tsx +390 -0
  135. package/registry/ui/delta.tsx +188 -0
  136. package/registry/ui/dialog.tsx +161 -0
  137. package/registry/ui/donut-chart.tsx +3688 -0
  138. package/registry/ui/drawer.tsx +229 -0
  139. package/registry/ui/dropdown-menu.tsx +274 -0
  140. package/registry/ui/echart.tsx +890 -0
  141. package/registry/ui/field.tsx +240 -0
  142. package/registry/ui/filter-bar.tsx +392 -0
  143. package/registry/ui/funnel-steps.tsx +3541 -0
  144. package/registry/ui/heatmap.tsx +1752 -0
  145. package/registry/ui/hover-card.tsx +52 -0
  146. package/registry/ui/input-group.tsx +160 -0
  147. package/registry/ui/input.tsx +24 -0
  148. package/registry/ui/kbd.tsx +30 -0
  149. package/registry/ui/kpi-card.tsx +677 -0
  150. package/registry/ui/label.tsx +22 -0
  151. package/registry/ui/legend.tsx +3500 -0
  152. package/registry/ui/line-chart.tsx +3637 -0
  153. package/registry/ui/metric-value.tsx +62 -0
  154. package/registry/ui/multi-select.tsx +232 -0
  155. package/registry/ui/page-shell.tsx +282 -0
  156. package/registry/ui/pagination.tsx +140 -0
  157. package/registry/ui/placeholder.tsx +36 -0
  158. package/registry/ui/popover.tsx +92 -0
  159. package/registry/ui/progress-circle.tsx +867 -0
  160. package/registry/ui/progress.tsx +85 -0
  161. package/registry/ui/radio-group.tsx +39 -0
  162. package/registry/ui/sample-data.tsx +86 -0
  163. package/registry/ui/scatter-chart.tsx +4150 -0
  164. package/registry/ui/scroll-area.tsx +56 -0
  165. package/registry/ui/searchable-select.tsx +214 -0
  166. package/registry/ui/section-header.tsx +43 -0
  167. package/registry/ui/segmented-control.tsx +76 -0
  168. package/registry/ui/select.tsx +255 -0
  169. package/registry/ui/separator.tsx +27 -0
  170. package/registry/ui/sheet.tsx +139 -0
  171. package/registry/ui/sidebar.tsx +725 -0
  172. package/registry/ui/skeleton.tsx +17 -0
  173. package/registry/ui/slider.tsx +56 -0
  174. package/registry/ui/sparkline.tsx +230 -0
  175. package/registry/ui/spinner.tsx +14 -0
  176. package/registry/ui/states.tsx +90 -0
  177. package/registry/ui/status-badge.tsx +121 -0
  178. package/registry/ui/switch.tsx +34 -0
  179. package/registry/ui/table.tsx +118 -0
  180. package/registry/ui/tabs.tsx +84 -0
  181. package/registry/ui/textarea.tsx +22 -0
  182. package/registry/ui/toast.tsx +250 -0
  183. package/registry/ui/toggle-group.tsx +91 -0
  184. package/registry/ui/toggle.tsx +47 -0
  185. package/registry/ui/tooltip.tsx +68 -0
  186. package/registry/ui/tracker.tsx +843 -0
  187. package/registry/ui/trend-indicator.tsx +74 -0
  188. package/registry/ui/updated-at.tsx +122 -0
  189. package/registry/ui/waterfall-chart.tsx +4186 -0
  190. package/skills/vantage-add-feature/SKILL.md +9 -7
  191. package/skills/vantage-pitfalls/SKILL.md +5 -1
  192. package/templates/AGENTS.md +22 -1
  193. package/templates/agents/csv.md +2 -1
  194. package/templates/agents/doc.md +4 -3
  195. package/templates/agents/page.md +20 -6
  196. package/templates/agents/xlsx.md +2 -1
  197. package/theme.css +237 -136
  198. package/dist/add-DY4AXANK.js +0 -6
  199. package/dist/add-DY4AXANK.js.map +0 -1
  200. package/dist/chunk-5ZOP4SQR.js.map +0 -1
  201. package/dist/chunk-A2UUGASH.js.map +0 -1
  202. package/dist/chunk-DTDVSFRY.js.map +0 -1
  203. package/dist/chunk-LMUACBMA.js.map +0 -1
  204. package/dist/chunk-NKFBFDRZ.js +0 -2241
  205. package/dist/chunk-NKFBFDRZ.js.map +0 -1
  206. package/dist/chunk-PVTHHV7X.js.map +0 -1
  207. package/dist/chunk-PXRX5PEC.js.map +0 -1
  208. package/dist/chunk-QI3XQKHS.js.map +0 -1
  209. package/dist/chunk-RPZAALCX.js.map +0 -1
  210. package/dist/chunk-VA776YE5.js +0 -316
  211. package/dist/chunk-VA776YE5.js.map +0 -1
  212. package/dist/dev-GDKATCC7.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ // Copied by `vantage add ui progress`. This file is yours to edit.
2
+ // Generated from @squadbase/squadkit registry/ui/progress.tsx by `npm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
5
+ import { Progress as ProgressPrimitive } from "@base-ui/react/progress"
6
+
7
+ import { cn } from "@squadbase/vantage/ui"
8
+
9
+ function Progress({
10
+ className,
11
+ children,
12
+ value,
13
+ ...props
14
+ }: ProgressPrimitive.Root.Props) {
15
+ return (
16
+ <ProgressPrimitive.Root
17
+ value={value}
18
+ data-slot="progress"
19
+ className={cn("flex flex-wrap gap-3", className)}
20
+ {...props}
21
+ >
22
+ {children}
23
+ <ProgressTrack>
24
+ <ProgressIndicator />
25
+ </ProgressTrack>
26
+ </ProgressPrimitive.Root>
27
+ )
28
+ }
29
+
30
+ function ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {
31
+ return (
32
+ <ProgressPrimitive.Track
33
+ className={cn(
34
+ "relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted",
35
+ className
36
+ )}
37
+ data-slot="progress-track"
38
+ {...props}
39
+ />
40
+ )
41
+ }
42
+
43
+ function ProgressIndicator({
44
+ className,
45
+ ...props
46
+ }: ProgressPrimitive.Indicator.Props) {
47
+ return (
48
+ <ProgressPrimitive.Indicator
49
+ data-slot="progress-indicator"
50
+ className={cn("h-full bg-primary transition-all", className)}
51
+ {...props}
52
+ />
53
+ )
54
+ }
55
+
56
+ function ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {
57
+ return (
58
+ <ProgressPrimitive.Label
59
+ className={cn("text-sm font-medium", className)}
60
+ data-slot="progress-label"
61
+ {...props}
62
+ />
63
+ )
64
+ }
65
+
66
+ function ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {
67
+ return (
68
+ <ProgressPrimitive.Value
69
+ className={cn(
70
+ "ml-auto text-sm text-muted-foreground tabular-nums",
71
+ className
72
+ )}
73
+ data-slot="progress-value"
74
+ {...props}
75
+ />
76
+ )
77
+ }
78
+
79
+ export {
80
+ Progress,
81
+ ProgressTrack,
82
+ ProgressIndicator,
83
+ ProgressLabel,
84
+ ProgressValue,
85
+ }
@@ -0,0 +1,39 @@
1
+ // Copied by `vantage add ui radio-group`. This file is yours to edit.
2
+ // Generated from @squadbase/squadkit registry/ui/radio-group.tsx by `npm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
5
+ import { Radio as RadioPrimitive } from "@base-ui/react/radio"
6
+ import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group"
7
+ import { cn } from "@squadbase/vantage/ui"
8
+
9
+ function RadioGroup({ className, ...props }: RadioGroupPrimitive.Props) {
10
+ return (
11
+ <RadioGroupPrimitive
12
+ data-slot="radio-group"
13
+ className={cn("grid w-full gap-2", className)}
14
+ {...props}
15
+ />
16
+ )
17
+ }
18
+
19
+ function RadioGroupItem({ className, ...props }: RadioPrimitive.Root.Props) {
20
+ return (
21
+ <RadioPrimitive.Root
22
+ data-slot="radio-group-item"
23
+ className={cn(
24
+ "group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",
25
+ className
26
+ )}
27
+ {...props}
28
+ >
29
+ <RadioPrimitive.Indicator
30
+ data-slot="radio-group-indicator"
31
+ className="flex size-4 items-center justify-center"
32
+ >
33
+ <span className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" />
34
+ </RadioPrimitive.Indicator>
35
+ </RadioPrimitive.Root>
36
+ )
37
+ }
38
+
39
+ export { RadioGroup, RadioGroupItem }
@@ -0,0 +1,86 @@
1
+ // Copied by `vantage add ui sample-data`. This file is yours to edit.
2
+ // Generated from @squadbase/squadkit registry/components/sample-data.tsx by `npm run registry` (in Vantage, edit packages/squadkit, not registry/).
3
+ "use client"
4
+
5
+ /**
6
+ * SampleData — marks the values inside it as a sample: they are not connected to real data yet
7
+ * (a draft laid out before its queries are wired, a screen built from column definitions only).
8
+ * Not the same as `provisional` on KpiCard and the charts, which means 速報 — real values that are
9
+ * not final yet. For a single value in running text or a heading, use `Placeholder` instead.
10
+ *
11
+ * - **No box of its own.** It renders `display: contents`, so the grid / subgrid of the parent
12
+ * still sees the cards inside as its direct children (KpiCard rows keep lining up).
13
+ * - **The card shows the mark.** The nearest `KpiCard` or `DashboardCardPreset` inside it puts a
14
+ * `SampleBadge` in its header, once (also while loading): a card claims the mark, so the parts
15
+ * anywhere inside that card (body, actions, footer) do not repeat it. Put a bare chart in a
16
+ * `DashboardCardPreset` to have it marked.
17
+ * - The mark is a word, not only a colour (`--warning` on `--warning-subtle`), and its
18
+ * `title` says what it means.
19
+ *
20
+ * @example
21
+ * import { SampleData } from "@/components/sample-data"
22
+ * // Vantage: import { SampleData } from "@squadbase/vantage/components"
23
+ * <SampleData>
24
+ * <KpiCard label="売上" value={12400000} format={{ type: "currency", currency: "JPY" }} />
25
+ * </SampleData>
26
+ */
27
+ import { createContext, useContext, useMemo, type HTMLAttributes, type ReactNode } from "react"
28
+
29
+ import { cn } from "@squadbase/vantage/ui"
30
+ import { Badge } from "@squadbase/vantage/ui"
31
+
32
+ export const DEFAULT_SAMPLE_LABEL = "見本の値"
33
+ const SAMPLE_TITLE = "実データにまだつながっていない見本の値です"
34
+
35
+ interface SampleState {
36
+ label: string
37
+ }
38
+
39
+ const SampleContext = createContext<SampleState | null>(null)
40
+
41
+ /**
42
+ * The mark a card inside `SampleData` should show, or null. A card that shows it wraps its
43
+ * content in `<SampleClaim>` so the parts inside do not show it again.
44
+ */
45
+ export function useSampleMark(): SampleState | null {
46
+ return useContext(SampleContext)
47
+ }
48
+
49
+ /** Ends the `SampleData` scope for the parts inside a card that already shows the mark. */
50
+ export function SampleClaim({ children }: { children?: ReactNode }) {
51
+ return <SampleContext.Provider value={null}>{children}</SampleContext.Provider>
52
+ }
53
+
54
+ export interface SampleBadgeProps extends HTMLAttributes<HTMLSpanElement> {
55
+ /** 印の文言。既定「見本の値」。 */
56
+ label?: string
57
+ }
58
+
59
+ export function SampleBadge({ label = DEFAULT_SAMPLE_LABEL, className, ...props }: SampleBadgeProps) {
60
+ return (
61
+ <Badge
62
+ data-slot="sample-badge"
63
+ title={SAMPLE_TITLE}
64
+ className={cn("border-warning/30 bg-warning-subtle text-warning align-middle", className)}
65
+ {...props}
66
+ >
67
+ {label}
68
+ </Badge>
69
+ )
70
+ }
71
+
72
+ export interface SampleDataProps {
73
+ /** 印の文言。既定「見本の値」。 */
74
+ label?: string
75
+ children?: ReactNode
76
+ }
77
+
78
+ export function SampleData({ label = DEFAULT_SAMPLE_LABEL, children }: SampleDataProps) {
79
+ // A stable value, so the cards inside do not re-render when only the parent does.
80
+ const state = useMemo(() => ({ label }), [label])
81
+ return (
82
+ <div data-slot="sample-data" style={{ display: "contents" }}>
83
+ <SampleContext.Provider value={state}>{children}</SampleContext.Provider>
84
+ </div>
85
+ )
86
+ }