@squadbase/vantage 0.6.2 → 0.7.0-dev1.3b0e616
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-4GHF2TX2.js +6 -0
- package/dist/add-4GHF2TX2.js.map +1 -0
- package/dist/{build-O5TVNH4E.js → build-U7GO26HR.js} +9 -9
- package/dist/{build-O5TVNH4E.js.map → build-U7GO26HR.js.map} +1 -1
- package/dist/{check-WFBEDHDR.js → check-MRVAIHG5.js} +7 -7
- package/dist/{check-WFBEDHDR.js.map → check-MRVAIHG5.js.map} +1 -1
- package/dist/chunk-2IAPIOPS.js +152 -0
- package/dist/chunk-2IAPIOPS.js.map +1 -0
- package/dist/chunk-3RJEOP3J.js +174 -0
- package/dist/chunk-3RJEOP3J.js.map +1 -0
- package/dist/{chunk-QDZA5JSL.js → chunk-AABMKHEU.js} +4 -4
- package/dist/{chunk-QDZA5JSL.js.map → chunk-AABMKHEU.js.map} +1 -1
- package/dist/{chunk-PVTHHV7X.js → chunk-ANZLVSEP.js} +28 -7
- package/dist/chunk-ANZLVSEP.js.map +1 -0
- package/dist/chunk-CKWPK4RO.js +50 -0
- package/dist/chunk-CKWPK4RO.js.map +1 -0
- package/dist/chunk-EG4PX726.js +678 -0
- package/dist/chunk-EG4PX726.js.map +1 -0
- package/dist/{chunk-3G43C6OL.js → chunk-GNXCX4WE.js} +46 -3
- package/dist/chunk-GNXCX4WE.js.map +1 -0
- package/dist/chunk-NYQJ5UY4.js +9028 -0
- package/dist/chunk-NYQJ5UY4.js.map +1 -0
- package/dist/chunk-NZ5QIIG4.js +74 -0
- package/dist/chunk-NZ5QIIG4.js.map +1 -0
- package/dist/{chunk-BCE22JSM.js → chunk-PJ4SPXHS.js} +52 -16
- package/dist/chunk-PJ4SPXHS.js.map +1 -0
- package/dist/{chunk-RPZAALCX.js → chunk-QNOX7WLZ.js} +256 -165
- package/dist/chunk-QNOX7WLZ.js.map +1 -0
- package/dist/{chunk-ZVANIULZ.js → chunk-RNTDBX6S.js} +4 -4
- package/dist/{chunk-ZVANIULZ.js.map → chunk-RNTDBX6S.js.map} +1 -1
- package/dist/{chunk-PXRX5PEC.js → chunk-ROHNXP7J.js} +73 -4
- package/dist/chunk-ROHNXP7J.js.map +1 -0
- package/dist/chunk-S5MDTHH7.js +466 -0
- package/dist/chunk-S5MDTHH7.js.map +1 -0
- package/dist/chunk-SDJTTMLK.js +1877 -0
- package/dist/chunk-SDJTTMLK.js.map +1 -0
- package/dist/{chunk-EP6JHXSR.js → chunk-SHZM3EXB.js} +68 -12
- package/dist/chunk-SHZM3EXB.js.map +1 -0
- package/dist/chunk-TRMHNMMZ.js +61 -0
- package/dist/chunk-TRMHNMMZ.js.map +1 -0
- package/dist/{chunk-A2UUGASH.js → chunk-U736PVHY.js} +2 -2
- package/dist/chunk-U736PVHY.js.map +1 -0
- package/dist/{chunk-JGRMRXXZ.js → chunk-UWSQUHX6.js} +4 -99
- package/dist/chunk-UWSQUHX6.js.map +1 -0
- package/dist/cli.js +15 -11
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +34 -3
- package/dist/client/index.js +211 -12
- package/dist/client/index.js.map +1 -1
- package/dist/components/index.d.ts +2113 -30
- package/dist/components/index.js +7 -4
- package/dist/delta-text-CbrOaW83.d.ts +17 -0
- package/dist/{dev-NZRLOQCL.js → dev-O42JFQ64.js} +24 -13
- package/dist/dev-O42JFQ64.js.map +1 -0
- package/dist/doc/index.d.ts +215 -2
- package/dist/doc/index.js +423 -5
- package/dist/doc/index.js.map +1 -1
- package/dist/{docs-ZGDJUHJI.js → docs-JVP4RPKT.js} +3 -3
- package/dist/{docs-ZGDJUHJI.js.map → docs-JVP4RPKT.js.map} +1 -1
- package/dist/{doctor-VFKEMR54.js → doctor-YD3XAAOT.js} +8 -8
- package/dist/doctor-YD3XAAOT.js.map +1 -0
- package/dist/format-DihQkL1N.d.ts +249 -0
- package/dist/geo-japan-7BMSOJRX.js +8 -0
- package/dist/geo-japan-7BMSOJRX.js.map +1 -0
- package/dist/geo-us-GVOG7VXH.js +8 -0
- package/dist/geo-us-GVOG7VXH.js.map +1 -0
- package/dist/geo-world-35HL56UU.js +8 -0
- package/dist/geo-world-35HL56UU.js.map +1 -0
- package/dist/markdown/index.js +1 -1
- package/dist/markdown/index.js.map +1 -1
- package/dist/{preview-QDCIVVSR.js → preview-T6CLSQVX.js} +12 -4
- package/dist/preview-T6CLSQVX.js.map +1 -0
- package/dist/query/index.d.ts +0 -11
- package/dist/query/index.js +2 -2
- package/dist/{routes-RHP5FVGD.js → routes-PVKNT777.js} +6 -6
- package/dist/{routes-RHP5FVGD.js.map → routes-PVKNT777.js.map} +1 -1
- package/dist/{search-RFBELGY7.js → search-5LC4XPB5.js} +3 -3
- package/dist/{search-RFBELGY7.js.map → search-5LC4XPB5.js.map} +1 -1
- package/dist/slide/index.d.ts +272 -1
- package/dist/slide/index.js +1086 -19
- package/dist/slide/index.js.map +1 -1
- package/dist/table/index.js +14 -10
- package/dist/table/index.js.map +1 -1
- package/dist/ui/index.d.ts +148 -12
- package/dist/ui/index.js +1340 -88
- package/dist/ui/index.js.map +1 -1
- package/dist/{upgrade-GF2P67M6.js → upgrade-6DT7ADRP.js} +7 -7
- package/dist/{upgrade-GF2P67M6.js.map → upgrade-6DT7ADRP.js.map} +1 -1
- package/dist/vite/index.d.ts +10 -0
- package/dist/vite/index.js +4 -4
- package/docs/en/agent-skills.md +1 -1
- package/docs/en/changelog.md +82 -0
- package/docs/en/cli-reference.md +30 -0
- package/docs/en/components.md +42 -17
- package/docs/en/doc/delta-text.md +40 -0
- package/docs/en/doc/doc-action-items.md +49 -0
- package/docs/en/doc/doc-callout.md +38 -0
- package/docs/en/doc/doc-data-table.md +60 -0
- package/docs/en/doc/doc-executive-summary.md +64 -0
- package/docs/en/doc/doc-figure.md +56 -0
- package/docs/en/doc/doc-key-findings.md +61 -0
- package/docs/en/doc/doc-kpi-scorecard.md +80 -0
- package/docs/en/doc/doc-notes-and-sources.md +43 -0
- package/docs/en/doc/doc-report-header.md +46 -0
- package/docs/en/pages-and-metadata.md +15 -0
- package/docs/en/parts/area-chart.md +99 -0
- package/docs/en/parts/bar-chart.md +91 -0
- package/docs/en/parts/bar-list.md +50 -0
- package/docs/en/parts/category-bar.md +37 -0
- package/docs/en/parts/chart-frame.md +39 -0
- package/docs/en/parts/data-table.md +22 -0
- package/docs/en/parts/delta.md +51 -0
- package/docs/en/parts/donut-chart.md +72 -0
- package/docs/en/parts/format.md +43 -0
- package/docs/en/parts/funnel-steps.md +2 -1
- package/docs/en/parts/heatmap.md +53 -0
- package/docs/en/parts/kpi-card.md +58 -0
- package/docs/en/parts/legend.md +35 -0
- package/docs/en/parts/line-chart.md +94 -0
- package/docs/en/parts/metric-value.md +3 -2
- package/docs/en/parts/page-shell.md +1 -1
- package/docs/en/parts/progress-circle.md +33 -0
- package/docs/en/parts/sample-data.md +39 -0
- package/docs/en/parts/scatter-chart.md +56 -0
- package/docs/en/parts/sparkline.md +1 -1
- package/docs/en/parts/tracker.md +36 -0
- package/docs/en/parts/trend-indicator.md +17 -1
- package/docs/en/parts/updated-at.md +30 -0
- package/docs/en/parts/waterfall-chart.md +56 -0
- package/docs/en/slide/slide-chart-full.md +48 -0
- package/docs/en/slide/slide-chart-insight.md +52 -0
- package/docs/en/slide/slide-columns.md +46 -0
- package/docs/en/slide/slide-comparison.md +68 -0
- package/docs/en/slide/slide-cover.md +39 -0
- package/docs/en/slide/slide-exec-summary.md +47 -0
- package/docs/en/slide/slide-heading.md +38 -0
- package/docs/en/slide/slide-kpi-grid.md +55 -0
- package/docs/en/slide/slide-kpi-hero.md +58 -0
- package/docs/en/slide/slide-next-actions.md +49 -0
- package/docs/en/slide/slide-scorecard-table.md +54 -0
- package/docs/en/slide/slide-section.md +44 -0
- package/docs/en/slide/slide-source-line.md +34 -0
- package/docs/en/ui/alert-dialog.md +42 -0
- package/docs/en/ui/avatar.md +31 -0
- package/docs/en/ui/combobox.md +74 -0
- package/docs/en/ui/drawer.md +41 -0
- package/docs/en/ui/empty.md +1 -1
- package/docs/en/ui/error-state.md +4 -3
- package/docs/en/ui/field.md +42 -0
- package/docs/en/ui/hover-card.md +21 -0
- package/docs/en/ui/kbd.md +17 -0
- package/docs/en/ui/loading.md +1 -1
- package/docs/en/ui/pagination.md +36 -0
- package/docs/en/ui/radio-group.md +21 -0
- package/docs/en/ui/toast.md +44 -0
- package/docs/en/ui/toggle-group.md +4 -3
- package/docs/en/ui-and-theming.md +1 -1
- package/docs/index.json +1184 -114
- package/docs/ja/agent-skills.md +1 -1
- package/docs/ja/changelog.md +84 -0
- package/docs/ja/cli-reference.md +29 -0
- package/docs/ja/components.md +68 -101
- package/docs/ja/doc/delta-text.md +40 -0
- package/docs/ja/doc/doc-action-items.md +49 -0
- package/docs/ja/doc/doc-callout.md +38 -0
- package/docs/ja/doc/doc-data-table.md +60 -0
- package/docs/ja/doc/doc-executive-summary.md +64 -0
- package/docs/ja/doc/doc-figure.md +56 -0
- package/docs/ja/doc/doc-key-findings.md +61 -0
- package/docs/ja/doc/doc-kpi-scorecard.md +80 -0
- package/docs/ja/doc/doc-notes-and-sources.md +43 -0
- package/docs/ja/doc/doc-report-header.md +46 -0
- package/docs/ja/page-types/csv.md +83 -0
- package/docs/ja/page-types/doc.md +83 -0
- package/docs/ja/page-types/excel.md +82 -0
- package/docs/ja/page-types/slide.md +133 -0
- package/docs/ja/page-types.md +47 -0
- package/docs/ja/pages-and-metadata.md +15 -0
- package/docs/ja/parts/area-chart.md +85 -0
- package/docs/ja/parts/bar-chart.md +95 -0
- package/docs/ja/parts/bar-list.md +58 -0
- package/docs/ja/parts/category-bar.md +36 -0
- package/docs/ja/parts/chart-frame.md +36 -0
- package/docs/ja/parts/data-table.md +22 -0
- package/docs/ja/parts/delta.md +51 -0
- package/docs/ja/parts/donut-chart.md +66 -0
- package/docs/ja/parts/echart.md +3 -0
- package/docs/ja/parts/format.md +44 -0
- package/docs/ja/parts/funnel-steps.md +27 -8
- package/docs/ja/parts/heatmap.md +45 -0
- package/docs/ja/parts/kpi-card.md +56 -0
- package/docs/ja/parts/legend.md +36 -0
- package/docs/ja/parts/line-chart.md +84 -0
- package/docs/ja/parts/metric-value.md +3 -2
- package/docs/ja/parts/page-shell.md +1 -1
- package/docs/ja/parts/progress-circle.md +34 -0
- package/docs/ja/parts/sample-data.md +61 -0
- package/docs/ja/parts/scatter-chart.md +69 -0
- package/docs/ja/parts/sparkline.md +2 -2
- package/docs/ja/parts/tracker.md +32 -0
- package/docs/ja/parts/trend-indicator.md +17 -1
- package/docs/ja/parts/updated-at.md +27 -0
- package/docs/ja/parts/waterfall-chart.md +61 -0
- package/docs/ja/routing.md +8 -86
- package/docs/ja/slide/slide-chart-full.md +48 -0
- package/docs/ja/slide/slide-chart-insight.md +52 -0
- package/docs/ja/slide/slide-columns.md +46 -0
- package/docs/ja/slide/slide-comparison.md +68 -0
- package/docs/ja/slide/slide-cover.md +39 -0
- package/docs/ja/slide/slide-exec-summary.md +47 -0
- package/docs/ja/slide/slide-heading.md +38 -0
- package/docs/ja/slide/slide-kpi-grid.md +55 -0
- package/docs/ja/slide/slide-kpi-hero.md +58 -0
- package/docs/ja/slide/slide-next-actions.md +49 -0
- package/docs/ja/slide/slide-scorecard-table.md +54 -0
- package/docs/ja/slide/slide-section.md +44 -0
- package/docs/ja/slide/slide-source-line.md +34 -0
- package/docs/ja/ui/alert-dialog.md +41 -0
- package/docs/ja/ui/avatar.md +31 -0
- package/docs/ja/ui/combobox.md +74 -0
- package/docs/ja/ui/drawer.md +41 -0
- package/docs/ja/ui/empty.md +1 -1
- package/docs/ja/ui/error-state.md +4 -3
- package/docs/ja/ui/field.md +42 -0
- package/docs/ja/ui/hover-card.md +21 -0
- package/docs/ja/ui/kbd.md +16 -0
- package/docs/ja/ui/loading.md +1 -1
- package/docs/ja/ui/pagination.md +36 -0
- package/docs/ja/ui/radio-group.md +21 -0
- package/docs/ja/ui/toast.md +46 -0
- package/docs/ja/ui/toggle-group.md +4 -3
- package/docs/ja/ui-and-theming.md +14 -7
- package/package.json +43 -29
- package/registry/ui/accordion.tsx +76 -0
- package/registry/ui/alert-dialog.tsx +189 -0
- package/registry/ui/alert.tsx +80 -0
- package/registry/ui/app-shell.tsx +424 -0
- package/registry/ui/area-chart.tsx +3960 -0
- package/registry/ui/attention-list.tsx +465 -0
- package/registry/ui/avatar.tsx +110 -0
- package/registry/ui/badge.tsx +56 -0
- package/registry/ui/bar-chart.tsx +3954 -0
- package/registry/ui/bar-list.tsx +3998 -0
- package/registry/ui/box-plot-chart.tsx +4214 -0
- package/registry/ui/breadcrumb.tsx +128 -0
- package/registry/ui/button.tsx +62 -0
- package/registry/ui/calendar.tsx +223 -0
- package/registry/ui/card.tsx +107 -0
- package/registry/ui/category-bar.tsx +1498 -0
- package/registry/ui/chart-frame.tsx +1604 -0
- package/registry/ui/checkbox.tsx +30 -0
- package/registry/ui/collapsible.tsx +23 -0
- package/registry/ui/combo-chart.tsx +1851 -0
- package/registry/ui/combobox.tsx +310 -0
- package/registry/ui/command.tsx +198 -0
- package/registry/ui/dashboard-card.tsx +217 -0
- package/registry/ui/data-table.tsx +896 -157
- package/registry/ui/date-range-picker.tsx +544 -0
- package/registry/ui/delta.tsx +350 -0
- package/registry/ui/dialog.tsx +161 -0
- package/registry/ui/donut-chart.tsx +4006 -0
- package/registry/ui/drawer.tsx +229 -0
- package/registry/ui/dropdown-menu.tsx +274 -0
- package/registry/ui/echart.tsx +1178 -0
- package/registry/ui/field.tsx +240 -0
- package/registry/ui/filter-bar.tsx +551 -0
- package/registry/ui/funnel-steps.tsx +3843 -0
- package/registry/ui/heatmap.tsx +2027 -0
- package/registry/ui/histogram-chart.tsx +4284 -0
- package/registry/ui/hover-card.tsx +52 -0
- package/registry/ui/input-group.tsx +160 -0
- package/registry/ui/input.tsx +24 -0
- package/registry/ui/kbd.tsx +30 -0
- package/registry/ui/kpi-card.tsx +905 -0
- package/registry/ui/label.tsx +22 -0
- package/registry/ui/legend.tsx +3817 -0
- package/registry/ui/line-chart.tsx +3958 -0
- package/registry/ui/metric-value.tsx +62 -0
- package/registry/ui/multi-select.tsx +382 -0
- package/registry/ui/page-shell.tsx +420 -0
- package/registry/ui/pagination.tsx +140 -0
- package/registry/ui/paired-chart.tsx +4086 -0
- package/registry/ui/pivot-table.tsx +1259 -0
- package/registry/ui/placeholder.tsx +36 -0
- package/registry/ui/popover.tsx +92 -0
- package/registry/ui/progress-circle.tsx +1033 -0
- package/registry/ui/progress.tsx +85 -0
- package/registry/ui/radio-group.tsx +39 -0
- package/registry/ui/sample-data.tsx +230 -0
- package/registry/ui/scatter-chart.tsx +4503 -0
- package/registry/ui/scroll-area.tsx +56 -0
- package/registry/ui/searchable-select.tsx +352 -0
- package/registry/ui/section-header.tsx +43 -0
- package/registry/ui/segmented-control.tsx +76 -0
- package/registry/ui/select.tsx +255 -0
- package/registry/ui/separator.tsx +27 -0
- package/registry/ui/sheet.tsx +139 -0
- package/registry/ui/sidebar.tsx +725 -0
- package/registry/ui/skeleton.tsx +17 -0
- package/registry/ui/slider.tsx +56 -0
- package/registry/ui/sparkline.tsx +230 -0
- package/registry/ui/spinner.tsx +14 -0
- package/registry/ui/states.tsx +247 -0
- package/registry/ui/status-badge.tsx +286 -0
- package/registry/ui/switch.tsx +34 -0
- package/registry/ui/table.tsx +118 -0
- package/registry/ui/tabs.tsx +84 -0
- package/registry/ui/textarea.tsx +22 -0
- package/registry/ui/toast.tsx +250 -0
- package/registry/ui/toggle-group.tsx +91 -0
- package/registry/ui/toggle.tsx +47 -0
- package/registry/ui/tooltip.tsx +72 -0
- package/registry/ui/tracker.tsx +1015 -0
- package/registry/ui/treemap.tsx +1916 -0
- package/registry/ui/trend-indicator.tsx +217 -0
- package/registry/ui/updated-at.tsx +276 -0
- package/registry/ui/waterfall-chart.tsx +4561 -0
- package/skills/vantage-add-feature/SKILL.md +14 -7
- package/skills/vantage-design/SKILL.md +62 -52
- package/skills/vantage-design/references/extract.md +26 -27
- package/skills/vantage-design/references/format.md +12 -172
- package/skills/vantage-design/references/presets.md +50 -110
- package/skills/vantage-pitfalls/SKILL.md +10 -1
- package/skills/vantage-slide/SKILL.md +71 -36
- package/templates/AGENTS.md +54 -16
- package/templates/agents/api.md +36 -0
- package/templates/agents/csv.md +2 -1
- package/templates/agents/doc.md +52 -3
- package/templates/agents/page.md +91 -10
- package/templates/agents/slide.md +90 -4
- package/templates/agents/xlsx.md +2 -1
- package/theme.css +247 -132
- package/dist/add-EISGSZAH.js +0 -6
- package/dist/add-EISGSZAH.js.map +0 -1
- package/dist/chunk-3G43C6OL.js.map +0 -1
- package/dist/chunk-5ZOP4SQR.js +0 -47
- package/dist/chunk-5ZOP4SQR.js.map +0 -1
- package/dist/chunk-A2UUGASH.js.map +0 -1
- package/dist/chunk-BCE22JSM.js.map +0 -1
- package/dist/chunk-DTDVSFRY.js +0 -29
- package/dist/chunk-DTDVSFRY.js.map +0 -1
- package/dist/chunk-EP6JHXSR.js.map +0 -1
- package/dist/chunk-JGRMRXXZ.js.map +0 -1
- package/dist/chunk-KLEIVDUV.js +0 -165
- package/dist/chunk-KLEIVDUV.js.map +0 -1
- package/dist/chunk-LSRMRIXA.js +0 -2227
- package/dist/chunk-LSRMRIXA.js.map +0 -1
- package/dist/chunk-PVTHHV7X.js.map +0 -1
- package/dist/chunk-PXRX5PEC.js.map +0 -1
- package/dist/chunk-RPZAALCX.js.map +0 -1
- package/dist/chunk-T3FLAGI6.js +0 -316
- package/dist/chunk-T3FLAGI6.js.map +0 -1
- package/dist/dev-NZRLOQCL.js.map +0 -1
- package/dist/doctor-VFKEMR54.js.map +0 -1
- package/dist/preview-QDCIVVSR.js.map +0 -1
package/theme.css
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/* GENERATED by scripts/gen-theme.mjs — do not edit. Sources:
|
|
2
|
+
* packages/squadkit/registry/theme/theme.css (UI part tokens)
|
|
3
|
+
* packages/squadkit/theme/slide-doc.css (slide / document styles) */
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* Vantage design tokens. Imported after `@import "tailwindcss"` by the
|
|
3
7
|
* generated runtime.css. Defines CSS variables (light + dark), maps them to
|
|
@@ -18,123 +22,154 @@
|
|
|
18
22
|
`<select>` popup. */
|
|
19
23
|
color-scheme: light;
|
|
20
24
|
|
|
21
|
-
--background: oklch(
|
|
22
|
-
--foreground: oklch(0.
|
|
25
|
+
--background: oklch(0.975 0.004 255);
|
|
26
|
+
--foreground: oklch(0.21 0.02 260);
|
|
23
27
|
--card: oklch(1 0 0);
|
|
24
|
-
--card-foreground: oklch(0.
|
|
28
|
+
--card-foreground: oklch(0.21 0.02 260);
|
|
25
29
|
--popover: oklch(1 0 0);
|
|
26
|
-
--popover-foreground: oklch(0.
|
|
27
|
-
--primary: oklch(0.
|
|
30
|
+
--popover-foreground: oklch(0.21 0.02 260);
|
|
31
|
+
--primary: oklch(0.55 0.2 262);
|
|
28
32
|
--primary-foreground: oklch(0.985 0 0);
|
|
29
|
-
--secondary: oklch(0.
|
|
30
|
-
--secondary-foreground: oklch(0.
|
|
31
|
-
--muted: oklch(0.
|
|
32
|
-
--muted-foreground: oklch(0.
|
|
33
|
-
--accent: oklch(0.
|
|
34
|
-
--accent-foreground: oklch(0.
|
|
35
|
-
--destructive: oklch(0.
|
|
33
|
+
--secondary: oklch(0.965 0.005 255);
|
|
34
|
+
--secondary-foreground: oklch(0.25 0.02 260);
|
|
35
|
+
--muted: oklch(0.965 0.005 255);
|
|
36
|
+
--muted-foreground: oklch(0.5 0.02 258);
|
|
37
|
+
--accent: oklch(0.955 0.01 255);
|
|
38
|
+
--accent-foreground: oklch(0.25 0.02 260);
|
|
39
|
+
--destructive: oklch(0.53 0.21 27.325);
|
|
36
40
|
--destructive-foreground: oklch(0.985 0 0);
|
|
37
|
-
--border: oklch(0.
|
|
38
|
-
--input: oklch(0.
|
|
39
|
-
--ring: oklch(0.
|
|
40
|
-
--radius: 0.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
--
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
These are aliases, not values. Custom properties resolve lazily, so
|
|
59
|
-
pointing them at the tokens above is enough for a deck to follow `.dark`
|
|
60
|
-
and `[data-theme="dark"]` on its own — restating them in the dark block
|
|
61
|
-
below would create two places to keep in step for no gain. A deck
|
|
62
|
-
overrides any of them inline through `<SlideDeck theme>`. */
|
|
63
|
-
--slide-bg: var(--background);
|
|
64
|
-
--slide-fg: var(--foreground);
|
|
65
|
-
--slide-accent: var(--primary);
|
|
66
|
-
--slide-muted: var(--muted-foreground);
|
|
67
|
-
--slide-radius: var(--radius);
|
|
68
|
-
/* A system stack that includes Japanese. The pptx export rasterises through
|
|
69
|
-
an SVG `foreignObject`, where locally installed families resolve by name
|
|
70
|
-
but webfonts must be inlined — so a system default is what makes the
|
|
71
|
-
common path export correctly with nothing embedded. */
|
|
72
|
-
--slide-font-display:
|
|
73
|
-
system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo,
|
|
41
|
+
--border: oklch(0.93 0.006 255);
|
|
42
|
+
--input: oklch(0.9 0.01 255);
|
|
43
|
+
--ring: oklch(0.7 0.12 262);
|
|
44
|
+
--radius: 0.5rem;
|
|
45
|
+
|
|
46
|
+
/* Card elevation: a hairline-soft shadow in light, none in dark (the border does the work there). */
|
|
47
|
+
--shadow-card: 0 1px 2px 0 oklch(0.2 0.02 260 / 0.06);
|
|
48
|
+
|
|
49
|
+
/* Body typeface: a system stack only (no web font is shipped). Presets may swap
|
|
50
|
+
it; `@theme inline` below points `font-sans` at this variable, so overriding
|
|
51
|
+
the variable also moves the utility (and the `html` rule in `@layer base`).
|
|
52
|
+
Latin system faces carry no kana/kanji, so without Japanese families here the
|
|
53
|
+
browser picks a per-locale fallback (lang="en" -> e.g. thin "Yu Gothic" Regular
|
|
54
|
+
on Windows, or a face without a 500 weight on macOS) and kana render thin.
|
|
55
|
+
List the Japanese system faces explicitly, after the Latin ones, and keep
|
|
56
|
+
`ui-sans-serif` / `system-ui` behind them: on Japanese Windows both resolve to
|
|
57
|
+
the menu font, Yu Gothic UI, which is condensed (made to avoid UI resizing)
|
|
58
|
+
and has kana, so it would take the kana before Meiryo is ever reached.
|
|
59
|
+
`-apple-system` is Safari/Firefox; Chrome on macOS needs `BlinkMacSystemFont`. */
|
|
60
|
+
--font-sans:
|
|
61
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, ui-sans-serif, system-ui,
|
|
74
62
|
sans-serif;
|
|
75
|
-
--slide-font-body: var(--slide-font-display);
|
|
76
|
-
/* Canvas pixels, on the 1920x1080 canvas — not rem: a slide is scaled as a
|
|
77
|
-
whole, so its type must not also follow the browser's root font size. */
|
|
78
|
-
--slide-size-hero: 168px;
|
|
79
|
-
--slide-size-body: 36px;
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
--
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
--
|
|
89
|
-
--
|
|
90
|
-
--
|
|
91
|
-
--
|
|
92
|
-
--
|
|
93
|
-
--
|
|
94
|
-
--
|
|
95
|
-
--
|
|
64
|
+
--chart-1: oklch(0.55 0.2 262);
|
|
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
|
+
|
|
70
|
+
/* Semantic status tokens — see the contract above the `@theme inline` block. */
|
|
71
|
+
--positive: oklch(0.52 0.14 150);
|
|
72
|
+
--positive-subtle: oklch(0.96 0.04 150);
|
|
73
|
+
--negative: oklch(0.53 0.19 25);
|
|
74
|
+
--negative-subtle: oklch(0.96 0.03 25);
|
|
75
|
+
--warning: oklch(0.53 0.12 70);
|
|
76
|
+
--warning-subtle: oklch(0.96 0.05 85);
|
|
77
|
+
--info: oklch(0.52 0.16 255);
|
|
78
|
+
--info-subtle: oklch(0.96 0.03 250);
|
|
79
|
+
--positive-fill: oklch(0.62 0.15 150);
|
|
80
|
+
--negative-fill: oklch(0.62 0.17 25);
|
|
81
|
+
--warning-fill: oklch(0.79 0.16 82);
|
|
82
|
+
--info-fill: oklch(0.62 0.15 250);
|
|
83
|
+
--neutral-fill: oklch(0.62 0 0);
|
|
84
|
+
--neutral: oklch(0.52 0 0);
|
|
85
|
+
--neutral-subtle: oklch(0.96 0 0);
|
|
86
|
+
|
|
87
|
+
--sidebar: oklch(0.985 0.003 255);
|
|
88
|
+
--sidebar-foreground: oklch(0.21 0.02 260);
|
|
89
|
+
--sidebar-primary: oklch(0.55 0.2 262);
|
|
90
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
91
|
+
--sidebar-accent: oklch(0.955 0.01 255);
|
|
92
|
+
--sidebar-accent-foreground: oklch(0.25 0.02 260);
|
|
93
|
+
--sidebar-border: oklch(0.915 0.008 255);
|
|
94
|
+
--sidebar-ring: oklch(0.7 0.12 262);
|
|
96
95
|
}
|
|
97
96
|
|
|
98
97
|
.dark,
|
|
99
98
|
[data-theme="dark"] {
|
|
100
99
|
color-scheme: dark;
|
|
101
100
|
|
|
102
|
-
--
|
|
103
|
-
|
|
104
|
-
--
|
|
105
|
-
--
|
|
106
|
-
--
|
|
107
|
-
--
|
|
108
|
-
--
|
|
109
|
-
--
|
|
110
|
-
--
|
|
111
|
-
--
|
|
112
|
-
--
|
|
113
|
-
--
|
|
114
|
-
--
|
|
115
|
-
--
|
|
101
|
+
--shadow-card: none;
|
|
102
|
+
|
|
103
|
+
--background: oklch(0.16 0.012 262);
|
|
104
|
+
--foreground: oklch(0.96 0.005 255);
|
|
105
|
+
--card: oklch(0.215 0.015 262);
|
|
106
|
+
--card-foreground: oklch(0.96 0.005 255);
|
|
107
|
+
--popover: oklch(0.235 0.016 262);
|
|
108
|
+
--popover-foreground: oklch(0.96 0.005 255);
|
|
109
|
+
--primary: oklch(0.68 0.19 262);
|
|
110
|
+
--primary-foreground: oklch(0.145 0.02 262);
|
|
111
|
+
--secondary: oklch(0.27 0.016 262);
|
|
112
|
+
--secondary-foreground: oklch(0.96 0.005 255);
|
|
113
|
+
--muted: oklch(0.27 0.016 262);
|
|
114
|
+
--muted-foreground: oklch(0.72 0.02 258);
|
|
115
|
+
--accent: oklch(0.3 0.02 262);
|
|
116
|
+
--accent-foreground: oklch(0.96 0.005 255);
|
|
116
117
|
--destructive: oklch(0.704 0.191 22.216);
|
|
117
|
-
--destructive-foreground: oklch(0.
|
|
118
|
+
--destructive-foreground: oklch(0.145 0.02 262);
|
|
118
119
|
--border: oklch(1 0 0 / 10%);
|
|
119
120
|
--input: oklch(1 0 0 / 15%);
|
|
120
|
-
--ring: oklch(0.
|
|
121
|
-
|
|
122
|
-
--chart-1:
|
|
123
|
-
--chart-2:
|
|
124
|
-
--chart-3:
|
|
125
|
-
--chart-4:
|
|
126
|
-
--chart-5:
|
|
127
|
-
|
|
128
|
-
--
|
|
129
|
-
--
|
|
130
|
-
--
|
|
131
|
-
--
|
|
132
|
-
--
|
|
133
|
-
--
|
|
121
|
+
--ring: oklch(0.6 0.15 262);
|
|
122
|
+
|
|
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
|
+
|
|
129
|
+
--positive: oklch(0.76 0.15 150);
|
|
130
|
+
--positive-subtle: oklch(0.27 0.05 150);
|
|
131
|
+
--negative: oklch(0.74 0.15 22);
|
|
132
|
+
--negative-subtle: oklch(0.27 0.06 25);
|
|
133
|
+
--warning: oklch(0.8 0.14 80);
|
|
134
|
+
--warning-subtle: oklch(0.27 0.05 75);
|
|
135
|
+
--info: oklch(0.75 0.12 250);
|
|
136
|
+
--info-subtle: oklch(0.27 0.06 255);
|
|
137
|
+
--positive-fill: oklch(0.56 0.13 150);
|
|
138
|
+
--negative-fill: oklch(0.56 0.15 22);
|
|
139
|
+
--warning-fill: oklch(0.73 0.145 78);
|
|
140
|
+
--info-fill: oklch(0.56 0.13 250);
|
|
141
|
+
--neutral-fill: oklch(0.56 0 0);
|
|
142
|
+
--neutral: oklch(0.85 0 0);
|
|
143
|
+
--neutral-subtle: oklch(0.27 0 0);
|
|
144
|
+
|
|
145
|
+
--sidebar: oklch(0.2 0.014 262);
|
|
146
|
+
--sidebar-foreground: oklch(0.96 0.005 255);
|
|
147
|
+
--sidebar-primary: oklch(0.68 0.19 262);
|
|
148
|
+
--sidebar-primary-foreground: oklch(0.145 0.02 262);
|
|
149
|
+
--sidebar-accent: oklch(0.3 0.02 262);
|
|
150
|
+
--sidebar-accent-foreground: oklch(0.96 0.005 255);
|
|
134
151
|
--sidebar-border: oklch(1 0 0 / 10%);
|
|
135
|
-
--sidebar-ring: oklch(0.
|
|
152
|
+
--sidebar-ring: oklch(0.6 0.15 262);
|
|
136
153
|
}
|
|
137
154
|
|
|
155
|
+
/* Semantic status tokens (increase/decrease/status). Every increase, decrease
|
|
156
|
+
and status colour in registry/ comes from these — never a Tailwind palette
|
|
157
|
+
colour like `green-500` (tests/raw-colors.test.ts enforces it).
|
|
158
|
+
--<tone> text colour on --background, --card and --<tone>-subtle
|
|
159
|
+
(>= 4.5:1), and dot / line / icon colour (>= 3:1).
|
|
160
|
+
--<tone>-subtle tinted background behind --<tone> text (badges, callouts).
|
|
161
|
+
--<tone>-fill (incl. --neutral-fill, the grey area) FILL colour for areas (bars, heatmap cells, tracker blocks). Not for
|
|
162
|
+
text or icons — use --<tone>. Same lightness step from the page in both
|
|
163
|
+
modes (light 0.62 / dark 0.56: ~0.36-0.40 OKLCH L away from --background,
|
|
164
|
+
>= 3:1 against --background and --card), so a fill is never strong in one
|
|
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).
|
|
167
|
+
--warning-fill is the exception: amber (light 0.79 / dark 0.73, ~#f5b324 / ~#d99a1e) is
|
|
168
|
+
a light colour by nature, so it is ~2:1 on the light page (still >= 0.18 L away)
|
|
169
|
+
and ~7-8:1 on the dark one; dark text (--foreground in light, --background in dark) sits on it at >= 4.5:1.
|
|
170
|
+
Tones: positive (green), negative (red), warning (amber), info (blue),
|
|
171
|
+
neutral (grey). Colour never carries the meaning alone — pair it with an
|
|
172
|
+
arrow or sign. `npm run contrast` prints the measured ratios. */
|
|
138
173
|
@theme inline {
|
|
139
174
|
--color-background: var(--background);
|
|
140
175
|
--color-foreground: var(--foreground);
|
|
@@ -155,6 +190,21 @@
|
|
|
155
190
|
--color-border: var(--border);
|
|
156
191
|
--color-input: var(--input);
|
|
157
192
|
--color-ring: var(--ring);
|
|
193
|
+
--color-positive: var(--positive);
|
|
194
|
+
--color-positive-subtle: var(--positive-subtle);
|
|
195
|
+
--color-negative: var(--negative);
|
|
196
|
+
--color-negative-subtle: var(--negative-subtle);
|
|
197
|
+
--color-warning: var(--warning);
|
|
198
|
+
--color-warning-subtle: var(--warning-subtle);
|
|
199
|
+
--color-info: var(--info);
|
|
200
|
+
--color-info-subtle: var(--info-subtle);
|
|
201
|
+
--color-positive-fill: var(--positive-fill);
|
|
202
|
+
--color-negative-fill: var(--negative-fill);
|
|
203
|
+
--color-warning-fill: var(--warning-fill);
|
|
204
|
+
--color-info-fill: var(--info-fill);
|
|
205
|
+
--color-neutral-fill: var(--neutral-fill);
|
|
206
|
+
--color-neutral: var(--neutral);
|
|
207
|
+
--color-neutral-subtle: var(--neutral-subtle);
|
|
158
208
|
--color-chart-1: var(--chart-1);
|
|
159
209
|
--color-chart-2: var(--chart-2);
|
|
160
210
|
--color-chart-3: var(--chart-3);
|
|
@@ -168,10 +218,7 @@
|
|
|
168
218
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
169
219
|
--color-sidebar-border: var(--sidebar-border);
|
|
170
220
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
171
|
-
--
|
|
172
|
-
--color-slide-fg: var(--slide-fg);
|
|
173
|
-
--color-slide-accent: var(--slide-accent);
|
|
174
|
-
--color-slide-muted: var(--slide-muted);
|
|
221
|
+
--font-sans: var(--font-sans);
|
|
175
222
|
--radius-sm: calc(var(--radius) - 4px);
|
|
176
223
|
--radius-md: calc(var(--radius) - 2px);
|
|
177
224
|
--radius-lg: var(--radius);
|
|
@@ -272,6 +319,103 @@
|
|
|
272
319
|
}
|
|
273
320
|
}
|
|
274
321
|
|
|
322
|
+
/* ------------------------------------------------------------ utilities */
|
|
323
|
+
|
|
324
|
+
@utility no-scrollbar {
|
|
325
|
+
-ms-overflow-style: none;
|
|
326
|
+
scrollbar-width: none;
|
|
327
|
+
|
|
328
|
+
&::-webkit-scrollbar {
|
|
329
|
+
display: none;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/* Icons that must point the other way when the document is right-to-left. */
|
|
334
|
+
.cn-rtl-flip {
|
|
335
|
+
&:where([dir="rtl"], [dir="rtl"] *) {
|
|
336
|
+
transform: scaleX(-1);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/* Page defaults live in `@layer base`, like shadcn's own init, so a project's
|
|
341
|
+
`html { @apply font-sans }`, its `next/font` setup and its own border rules
|
|
342
|
+
(all unlayered or later in the layer) win over them instead of losing to an
|
|
343
|
+
unlayered rule here. */
|
|
344
|
+
@layer base {
|
|
345
|
+
html {
|
|
346
|
+
font-family: var(--font-sans);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
body {
|
|
350
|
+
background-color: var(--background);
|
|
351
|
+
color: var(--foreground);
|
|
352
|
+
-webkit-font-smoothing: antialiased;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
* {
|
|
356
|
+
border-color: var(--border);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Vantage framework styles: the slide / document tokens and the document
|
|
362
|
+
* typesetting. The UI parts' tokens live in SquadKit
|
|
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.
|
|
365
|
+
*/
|
|
366
|
+
|
|
367
|
+
:root {
|
|
368
|
+
/* Slides (@squadbase/vantage/slide).
|
|
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
|
|
371
|
+
pointing them at the tokens above is enough for a deck to follow `.dark`
|
|
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>`. */
|
|
377
|
+
--slide-bg: var(--background);
|
|
378
|
+
--slide-fg: var(--foreground);
|
|
379
|
+
--slide-accent: var(--primary);
|
|
380
|
+
--slide-muted: var(--muted-foreground);
|
|
381
|
+
--slide-radius: var(--radius);
|
|
382
|
+
/* A system stack that includes Japanese. The pptx export rasterises through
|
|
383
|
+
an SVG `foreignObject`, where locally installed families resolve by name
|
|
384
|
+
but webfonts must be inlined — so a system default is what makes the
|
|
385
|
+
common path export correctly with nothing embedded. */
|
|
386
|
+
--slide-font-display:
|
|
387
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo,
|
|
388
|
+
system-ui, sans-serif;
|
|
389
|
+
--slide-font-body: var(--slide-font-display);
|
|
390
|
+
/* Canvas pixels, on the 1920x1080 canvas — not rem: a slide is scaled as a
|
|
391
|
+
whole, so its type must not also follow the browser's root font size. */
|
|
392
|
+
--slide-size-hero: 168px;
|
|
393
|
+
--slide-size-body: 36px;
|
|
394
|
+
|
|
395
|
+
/* Documents (@squadbase/vantage/doc). Aliases, like --slide-*: they follow
|
|
396
|
+
`.dark` through the tokens they point at, so they are not restated in the
|
|
397
|
+
dark block. A document overrides any of them inline through
|
|
398
|
+
`<Document theme>`, an app through its styles.css. */
|
|
399
|
+
--doc-fg: var(--foreground);
|
|
400
|
+
--doc-muted: var(--muted-foreground);
|
|
401
|
+
--doc-accent: var(--primary);
|
|
402
|
+
--doc-border: var(--border);
|
|
403
|
+
--doc-subtle: var(--muted);
|
|
404
|
+
--doc-font-body: inherit;
|
|
405
|
+
--doc-font-heading: var(--doc-font-body);
|
|
406
|
+
--doc-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
407
|
+
--doc-size-body: 1rem;
|
|
408
|
+
--doc-line-height: 1.8;
|
|
409
|
+
--doc-max-width: 48rem;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
@theme inline {
|
|
413
|
+
--color-slide-bg: var(--slide-bg);
|
|
414
|
+
--color-slide-fg: var(--slide-fg);
|
|
415
|
+
--color-slide-accent: var(--slide-accent);
|
|
416
|
+
--color-slide-muted: var(--slide-muted);
|
|
417
|
+
}
|
|
418
|
+
|
|
275
419
|
/* ------------------------------------------------------------ documents */
|
|
276
420
|
|
|
277
421
|
/* Typesetting for `<Document>`. Plain elements inside it need no classes.
|
|
@@ -440,32 +584,3 @@
|
|
|
440
584
|
overflow: visible;
|
|
441
585
|
}
|
|
442
586
|
}
|
|
443
|
-
|
|
444
|
-
/* ------------------------------------------------------------ utilities */
|
|
445
|
-
|
|
446
|
-
@utility no-scrollbar {
|
|
447
|
-
-ms-overflow-style: none;
|
|
448
|
-
scrollbar-width: none;
|
|
449
|
-
|
|
450
|
-
&::-webkit-scrollbar {
|
|
451
|
-
display: none;
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
/* Icons that must point the other way when the document is right-to-left. */
|
|
456
|
-
.cn-rtl-flip {
|
|
457
|
-
&:where([dir="rtl"], [dir="rtl"] *) {
|
|
458
|
-
transform: scaleX(-1);
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
body {
|
|
463
|
-
background-color: var(--background);
|
|
464
|
-
color: var(--foreground);
|
|
465
|
-
font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
466
|
-
-webkit-font-smoothing: antialiased;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
* {
|
|
470
|
-
border-color: var(--border);
|
|
471
|
-
}
|
package/dist/add-EISGSZAH.js
DELETED
package/dist/add-EISGSZAH.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"add-EISGSZAH.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/util.ts"],"names":[],"mappings":"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","file":"chunk-3G43C6OL.js","sourcesContent":["import fs from \"node:fs\"\nimport path from \"node:path\"\nimport pc from \"picocolors\"\nimport { PAGE_EXTENSIONS } from \"../core/constants\"\nimport type { Diagnostic } from \"../core/types\"\n\n/** Parsed CLI arguments. */\nexport interface ParsedArgs {\n positionals: string[]\n flags: Record<string, string | boolean>\n}\n\n/** Flags that never take a value, so they don't swallow the next token. */\nconst BOOLEAN_FLAGS = new Set([\n \"json\",\n \"help\",\n \"force\",\n \"verbose\",\n \"version\",\n \"all\",\n \"list\",\n \"regex\",\n \"pages\",\n \"apis\",\n \"detail\",\n \"strict-port\",\n \"no-strict-port\",\n \"overlay\",\n \"no-overlay\",\n \"h\",\n \"v\",\n])\n\n/** Minimal argv parser: `--json`, `--port 3000`, `--port=3000`, `-v`, positionals. */\nexport function parseArgs(argv: string[]): ParsedArgs {\n const positionals: string[] = []\n const flags: Record<string, string | boolean> = {}\n for (let i = 0; i < argv.length; i++) {\n const arg = argv[i]!\n if (arg.startsWith(\"--\")) {\n const eq = arg.indexOf(\"=\")\n if (eq !== -1) {\n flags[arg.slice(2, eq)] = arg.slice(eq + 1)\n continue\n }\n const key = arg.slice(2)\n if (BOOLEAN_FLAGS.has(key)) {\n flags[key] = true\n continue\n }\n const next = argv[i + 1]\n if (next !== undefined && !next.startsWith(\"-\")) {\n flags[key] = next\n i++\n } else {\n flags[key] = true\n }\n } else if (arg.length > 1 && arg.startsWith(\"-\") && !/^-\\d/.test(arg)) {\n // Single-dash short flags, e.g. `-v`, `-h` (each char is a boolean).\n for (const ch of arg.slice(1)) flags[ch] = true\n } else {\n positionals.push(arg)\n }\n }\n return { positionals, flags }\n}\n\n/**\n * Apply a `--api-base-url <url>` flag by setting `process.env.PUBLIC_API_BASE_URL`\n * so Vite inlines it into the client bundle (via envPrefix). Setting it on\n * process.env gives the flag precedence over any `.env` file value. No-op when\n * the flag is absent, leaving any `.env` value in effect.\n */\nexport function applyApiBaseUrlFlag(args: ParsedArgs): void {\n const value = args.flags[\"api-base-url\"]\n if (typeof value === \"string\" && value.length) {\n process.env.PUBLIC_API_BASE_URL = value\n }\n}\n\n/** A resolved `--port`, or the reason it could not be resolved. */\nexport type PortResolution =\n | { ok: true; port: number; strictPort: boolean }\n | { ok: false; error: string }\n\n/**\n * Resolve `--port` / `--strict-port` / `--no-strict-port` into Vite's server\n * options.\n *\n * An explicit `--port` is strict by default: writing `--port 3000` means the\n * port is a contract with something outside this process — a reverse proxy, a\n * container port mapping, an OAuth redirect URI — so binding 3001 instead is a\n * silent failure, not a recovery (a supervisor that only checks \"is anything\n * listening on 3000\" will happily report a server that nobody can reach).\n * Without the flag the default is merely \"some free port\", so Vite keeps\n * walking to the next one as it always has, and running two projects at once\n * needs no ceremony. `--strict-port` / `--no-strict-port` override either way.\n *\n * A bad value is an error rather than a silent fallback, for the same reason:\n * a typo'd `--port` that quietly became 5173 is exactly the failure strictness\n * exists to prevent.\n */\nexport function resolvePortOptions(\n flags: Record<string, string | boolean>,\n fallback: number,\n): PortResolution {\n const raw = flags.port\n let port = fallback\n if (raw !== undefined) {\n if (typeof raw !== \"string\") return { ok: false, error: \"--port needs a number, e.g. --port 3000\" }\n const n = Number(raw)\n if (!Number.isInteger(n) || n < 1 || n > 65535) {\n return { ok: false, error: `Invalid --port \"${raw}\" — use an integer between 1 and 65535.` }\n }\n port = n\n }\n const strictPort = flags[\"no-strict-port\"]\n ? false\n : Boolean(flags[\"strict-port\"]) || raw !== undefined\n return { ok: true, port, strictPort }\n}\n\n/**\n * Resolve `--overlay` / `--no-overlay` into Vite's `server.hmr.overlay`.\n *\n * The overlay stays on by default — it is the fastest way for a human to see a\n * runtime error. `--no-overlay` is for the cases where a full-screen error card\n * is in the way rather than helpful: screenshots and demos, and agent-driven\n * sessions where the error already arrives in the terminal through console\n * forwarding and the overlay only obscures the page being inspected.\n */\nexport function resolveHmrOverlay(flags: Record<string, string | boolean>): boolean {\n if (flags.overlay) return true\n return !flags[\"no-overlay\"]\n}\n\n/**\n * Report a strict bind that lost the port, in the one shape dev and preview\n * share. Returns false when `err` is anything else, so the caller rethrows.\n * Vite throws a plain Error (no `code`) for this, hence the message match — a\n * reworded Vite message degrades to the generic handler, not to a wrong one.\n */\nexport function reportPortInUse(err: unknown, port: number, strictPort: boolean): boolean {\n if (!strictPort || !(err instanceof Error) || !/already in use/.test(err.message)) return false\n log.error(`Port ${port} is already in use.`)\n log.info(\" free that port, pass a different --port, or --no-strict-port to take the next one\")\n return true\n}\n\n/** Resolve the project root, honoring `--root`, defaulting to cwd. */\nexport function resolveRoot(flags: Record<string, string | boolean>): string {\n const raw = typeof flags.root === \"string\" ? flags.root : process.cwd()\n return path.resolve(raw)\n}\n\n/** How far up from a page file to look for the package root. */\nconst QUICK_ROOT_MAX_DEPTH = 5\n\n/**\n * Resolve a positional path to a quick-run project root.\n * A directory → itself; a page file (.tsx/.jsx) → its project; else null.\n */\nexport function resolveQuickRoot(target: string): string | null {\n try {\n const abs = path.resolve(target)\n const stat = fs.statSync(abs)\n if (stat.isDirectory()) return abs\n if (stat.isFile() && PAGE_EXTENSIONS.some((ext) => abs.endsWith(ext))) {\n // Walk up to the nearest package.json so `vantage ./demo/src/index.tsx`\n // starts in ./demo — the directory holding the page is not the project\n // root once pages live under src/ (or in any nested route directory).\n let dir = path.dirname(abs)\n for (let i = 0; i <= QUICK_ROOT_MAX_DEPTH; i++) {\n if (fs.existsSync(path.join(dir, \"package.json\"))) return dir\n const parent = path.dirname(dir)\n if (parent === dir) break\n dir = parent\n }\n return path.dirname(abs)\n }\n } catch {\n // statSync throws when the path does not exist → null (not a quick target)\n }\n return null\n}\n\nexport const log = {\n info: (msg: string) => console.log(msg),\n step: (msg: string) => console.log(pc.cyan(\"→ \") + msg),\n ok: (msg: string) => console.log(pc.green(\"✓ \") + msg),\n warn: (msg: string) => console.log(pc.yellow(\"! \") + msg),\n error: (msg: string) => console.error(pc.red(\"✗ \") + msg),\n brand: (msg: string) => console.log(pc.bold(pc.magenta(\"vantage \")) + msg),\n}\n\n/** Print diagnostics as human-readable text. */\nexport function printDiagnostics(diags: Diagnostic[]): void {\n for (const d of diags) {\n const badge =\n d.severity === \"error\" ? pc.red(pc.bold(\" ERROR \")) : pc.yellow(pc.bold(\" WARN \"))\n console.log(`${badge} ${pc.dim(d.code)} ${d.message}`)\n if (d.files?.length) console.log(` ${pc.dim(\"files:\")} ${d.files.join(\", \")}`)\n if (d.fix) console.log(` ${pc.dim(\"fix:\")} ${d.fix}`)\n }\n}\n\n/** Emit a JSON payload to stdout (for agent consumption). */\nexport function printJson(payload: unknown): void {\n process.stdout.write(JSON.stringify(payload, null, 2) + \"\\n\")\n}\n\n/** Read the vantage package version. */\nexport function frameworkVersion(): string {\n try {\n // dist/cli.js (and shared chunks) live in dist/, so package.json is one up.\n const url = new URL(\"../package.json\", import.meta.url)\n const pkg = JSON.parse(fs.readFileSync(url, \"utf8\")) as { version: string }\n return pkg.version\n } catch {\n return \"0.0.0\"\n }\n}\n\nexport function fileExists(p: string): boolean {\n try {\n return fs.existsSync(p)\n } catch {\n return false\n }\n}\n"]}
|
package/dist/chunk-5ZOP4SQR.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-A2UUGASH.js';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
// @squadbase/vantage — generated build. Do not edit.
|
|
5
|
-
function Loading({ label = "Loading\u2026", className }) {
|
|
6
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex min-h-[30vh] items-center justify-center", className), role: "status", "aria-live": "polite", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-sm text-muted-foreground", children: [
|
|
7
|
-
/* @__PURE__ */ jsx("span", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }),
|
|
8
|
-
label
|
|
9
|
-
] }) });
|
|
10
|
-
}
|
|
11
|
-
function Empty({
|
|
12
|
-
title = "Nothing here yet",
|
|
13
|
-
description,
|
|
14
|
-
icon,
|
|
15
|
-
action,
|
|
16
|
-
className
|
|
17
|
-
}) {
|
|
18
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center justify-center gap-2 p-10 text-center", className), children: [
|
|
19
|
-
icon ? /* @__PURE__ */ jsx("div", { className: "text-3xl text-muted-foreground", children: icon }) : null,
|
|
20
|
-
/* @__PURE__ */ jsx("p", { className: "font-medium", children: title }),
|
|
21
|
-
description ? /* @__PURE__ */ jsx("p", { className: "max-w-sm text-sm text-muted-foreground", children: description }) : null,
|
|
22
|
-
action ? /* @__PURE__ */ jsx("div", { className: "mt-2", children: action }) : null
|
|
23
|
-
] });
|
|
24
|
-
}
|
|
25
|
-
function ErrorState({
|
|
26
|
-
title = "Something went wrong",
|
|
27
|
-
message,
|
|
28
|
-
action,
|
|
29
|
-
className
|
|
30
|
-
}) {
|
|
31
|
-
return /* @__PURE__ */ jsxs(
|
|
32
|
-
"div",
|
|
33
|
-
{
|
|
34
|
-
className: cn("rounded-xl border border-destructive/30 bg-destructive/5 p-6", className),
|
|
35
|
-
role: "alert",
|
|
36
|
-
children: [
|
|
37
|
-
/* @__PURE__ */ jsx("p", { className: "font-semibold text-destructive", children: title }),
|
|
38
|
-
message ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: message }) : null,
|
|
39
|
-
action ? /* @__PURE__ */ jsx("div", { className: "mt-3", children: action }) : null
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { Empty, ErrorState, Loading };
|
|
46
|
-
//# sourceMappingURL=chunk-5ZOP4SQR.js.map
|
|
47
|
-
//# sourceMappingURL=chunk-5ZOP4SQR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/states.tsx"],"names":[],"mappings":";;;;AAGO,SAAS,OAAA,CAAQ,EAAE,KAAA,GAAQ,eAAA,EAAY,WAAU,EAA2C;AACjG,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,iDAAiD,SAAS,CAAA,EAAG,IAAA,EAAK,QAAA,EAAS,WAAA,EAAU,QAAA,EACtG,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,uDAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gFAAA,EAAiF,CAAA;AAAA,IAChG;AAAA,GAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAEO,SAAS,KAAA,CAAM;AAAA,EACpB,KAAA,GAAQ,kBAAA;AAAA,EACR,WAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAMG;AACD,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,kEAAA,EAAoE,SAAS,CAAA,EAC7F,QAAA,EAAA;AAAA,IAAA,IAAA,mBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,EAAkC,gBAAK,CAAA,GAAS,IAAA;AAAA,oBACvE,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAe,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IACjC,8BAAc,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wCAAA,EAA0C,uBAAY,CAAA,GAAO,IAAA;AAAA,IACxF,yBAAS,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,kBAAO,CAAA,GAAS;AAAA,GAAA,EACnD,CAAA;AAEJ;AAEO,SAAS,UAAA,CAAW;AAAA,EACzB,KAAA,GAAQ,sBAAA;AAAA,EACR,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,8DAAA,EAAgE,SAAS,CAAA;AAAA,MACvF,IAAA,EAAK,OAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gCAAA,EAAkC,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QACpD,0BAAU,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oCAAA,EAAsC,mBAAQ,CAAA,GAAO,IAAA;AAAA,QAC5E,yBAAS,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAQ,kBAAO,CAAA,GAAS;AAAA;AAAA;AAAA,GACnD;AAEJ","file":"chunk-5ZOP4SQR.js","sourcesContent":["import type { ReactNode } from \"react\"\nimport { cn } from \"./cn\"\n\nexport function Loading({ label = \"Loading…\", className }: { label?: string; className?: string }) {\n return (\n <div className={cn(\"flex min-h-[30vh] items-center justify-center\", className)} role=\"status\" aria-live=\"polite\">\n <div className=\"flex items-center gap-3 text-sm text-muted-foreground\">\n <span className=\"h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n {label}\n </div>\n </div>\n )\n}\n\nexport function Empty({\n title = \"Nothing here yet\",\n description,\n icon,\n action,\n className,\n}: {\n title?: string\n description?: string\n icon?: ReactNode\n action?: ReactNode\n className?: string\n}) {\n return (\n <div className={cn(\"flex flex-col items-center justify-center gap-2 p-10 text-center\", className)}>\n {icon ? <div className=\"text-3xl text-muted-foreground\">{icon}</div> : null}\n <p className=\"font-medium\">{title}</p>\n {description ? <p className=\"max-w-sm text-sm text-muted-foreground\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n )\n}\n\nexport function ErrorState({\n title = \"Something went wrong\",\n message,\n action,\n className,\n}: {\n title?: string\n message?: ReactNode\n action?: ReactNode\n className?: string\n}) {\n return (\n <div\n className={cn(\"rounded-xl border border-destructive/30 bg-destructive/5 p-6\", className)}\n role=\"alert\"\n >\n <p className=\"font-semibold text-destructive\">{title}</p>\n {message ? <p className=\"mt-1 text-sm text-muted-foreground\">{message}</p> : null}\n {action ? <div className=\"mt-3\">{action}</div> : null}\n </div>\n )\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/cn.ts"],"names":[],"mappings":";;;;;AAUO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B","file":"chunk-A2UUGASH.js","sourcesContent":["/**\n * Class merger used by every component in the kit. `clsx` resolves conditional\n * class values, `tailwind-merge` drops the earlier of two conflicting Tailwind\n * utilities so a caller's `className` always wins over a component default.\n */\nimport { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport type { ClassValue }\n\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs))\n}\n"]}
|