@godxjp/ui 33.14.0 → 33.16.0

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 (58) hide show
  1. package/README.md +5 -5
  2. package/agent/START-HERE.md +6 -6
  3. package/agent/components/AreaChart.json +6 -0
  4. package/agent/components/BarChart.json +6 -0
  5. package/agent/components/DashboardGrid.json +76 -0
  6. package/agent/components/DataTable.json +1 -1
  7. package/agent/components/HeatmapChart.json +6 -0
  8. package/agent/components/LineChart.json +6 -0
  9. package/agent/components/Pagination.json +1 -1
  10. package/agent/components/PieChart.json +6 -0
  11. package/agent/components/Table.json +1 -1
  12. package/agent/components/Upload.json +1 -1
  13. package/agent/components-index.json +7 -1
  14. package/agent/components.json +110 -4
  15. package/agent/index.json +7 -7
  16. package/agent/llms.txt +7 -7
  17. package/agent/tokens.json +38 -2
  18. package/dist/components/charts/chart-cartesian.d.ts +3 -2
  19. package/dist/components/charts/chart-cartesian.js +146 -46
  20. package/dist/components/charts/chart-datum-selection.d.ts +15 -0
  21. package/dist/components/charts/chart-datum-selection.js +97 -0
  22. package/dist/components/charts/chart-frame.d.ts +2 -1
  23. package/dist/components/charts/chart-frame.js +2 -1
  24. package/dist/components/charts/heatmap-chart.d.ts +1 -1
  25. package/dist/components/charts/heatmap-chart.js +20 -0
  26. package/dist/components/charts/index.d.ts +1 -1
  27. package/dist/components/charts/pie-chart.d.ts +2 -1
  28. package/dist/components/charts/pie-chart.js +36 -1
  29. package/dist/components/charts/recharts-peer.d.ts +1 -1
  30. package/dist/components/charts/recharts-peer.js +6 -0
  31. package/dist/components/data-entry/upload.js +9 -3
  32. package/dist/contracts/measurement.json +1 -1
  33. package/dist/i18n/messages/en.json +10 -1
  34. package/dist/i18n/messages/ja.json +10 -1
  35. package/dist/i18n/messages/vi.json +10 -1
  36. package/dist/lab/dashboard-grid-layout.d.ts +4 -0
  37. package/dist/lab/dashboard-grid-layout.js +36 -0
  38. package/dist/lab/dashboard-grid.d.ts +5 -0
  39. package/dist/lab/dashboard-grid.js +258 -0
  40. package/dist/lab/index.d.ts +2 -0
  41. package/dist/lab/index.js +2 -0
  42. package/dist/props/components/charts.prop.d.ts +11 -0
  43. package/dist/props/components/dashboard-grid.prop.d.ts +27 -0
  44. package/dist/props/components/dashboard-grid.prop.js +0 -0
  45. package/dist/props/components/index.d.ts +1 -1
  46. package/dist/props/registry.d.ts +83 -5
  47. package/dist/props/registry.js +79 -0
  48. package/dist/styles/chart-layout.css +28 -0
  49. package/dist/styles/control.css +82 -0
  50. package/dist/styles/layers.json +10 -1
  51. package/dist/styles/navigation-layout.css +2 -0
  52. package/dist/styles/table-layout.css +6 -0
  53. package/dist/styles.css +1 -1
  54. package/dist/tokens/base.css +2 -0
  55. package/dist/tokens/components/dashboard-grid.css +14 -0
  56. package/dist/tokens/components/table.css +1 -1
  57. package/docs/COMPOSITION-VS-COMPONENT.md +15 -14
  58. package/package.json +2 -2
@@ -55,3 +55,5 @@
55
55
  @import "./components/resizable.css";
56
56
 
57
57
  @import "./components/persona.css";
58
+
59
+ @import "./components/dashboard-grid.css";
@@ -0,0 +1,14 @@
1
+ :root {
2
+
3
+ --dashboard-grid-gap: var(--space-4);
4
+
5
+ --dashboard-grid-row-height: var(--space-20);
6
+
7
+ --dashboard-grid-handle-size: var(--control-height);
8
+
9
+ --dashboard-grid-handle-inset: var(--space-1);
10
+
11
+ --dashboard-grid-item-radius: var(--card-radius);
12
+
13
+ --dashboard-grid-preview-ring-color: initial;
14
+ }
@@ -85,7 +85,7 @@
85
85
  :root {
86
86
  --table-stacked-collection-card-padding-y: var(--space-stack-sm);
87
87
  --table-stacked-collection-card-padding-x: initial;
88
- --table-stacked-collection-card-gap: var(--space-stack-sm);
88
+ --table-stacked-collection-card-gap: 0;
89
89
  --table-stacked-collection-cell-padding-y: var(--space-stack-xs);
90
90
 
91
91
  --table-stacked-collection-cell-padding-x: 0;
@@ -99,20 +99,21 @@ new UI need
99
99
 
100
100
  ## 3. Worked examples
101
101
 
102
- | Thing | C1 | C2 | C3 | C4 | C5 | C6 | C7 | Verdict |
103
- | ------------------------------------------------------- | --- | --- | --- | --- | --- | --- | --- | ------------------------------------------------------------------------------------------------------------------ |
104
- | `Select` (incl. search/async) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** |
105
- | `DataTable`, `Dialog`, `Calendar`, `Switch`, `Combobox` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** |
106
- | `StatCard` (+ `icon`) | ✅ | ➖ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** (a reusable KPI tile with a stable API + tokens) |
107
- | `ServiceLauncherCard` | ➖ | ❌ | ❌ | ✅ | ✅ | ➖ | ➖ | **Composition by the test — RETAINED as a recorded exception** (gh#814) |
108
- | `MegaMenu` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component, `@godxjp/ui/lab` tier** (no consumer yet, §2.1) — the instructive contrast with Hero, below |
109
- | Marketing **Hero** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — section, static, composable, brand-specific |
110
- | **Navbar** / **Footer** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — layout of `Text`/`Button`/`Flex` |
111
- | **PricingTable** / feature grid | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — `ResponsiveGrid` + `Card` |
112
- | Dashboard **page layout** | ❌ | ❌ | ❌ | ❌ | ➖ | ❌ | ❌ | **Composition** — `AppShell` + `PageContainer` + `ResponsiveGrid` |
113
- | "Icon medallion" | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | **Composition** — `Avatar` (square) + a Lucide glyph |
114
- | **Section** / **Band** (full-bleed + measured column) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | **Composition** — `<section>` + `Flex measure` + `pad`; see §3.1 |
115
- | `TenantTheme` (customer hex at runtime) | ✅ | ➖ | ❌ | ❌ | ✅ | ❌ | ➖ | **Composition + a published FUNCTION** — `tenantTheme()`; see §3.2 |
102
+ | Thing | C1 | C2 | C3 | C4 | C5 | C6 | C7 | Verdict |
103
+ | ------------------------------------------------------- | --- | --- | --- | --- | --- | --- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
104
+ | `Select` (incl. search/async) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** |
105
+ | `DataTable`, `Dialog`, `Calendar`, `Switch`, `Combobox` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** |
106
+ | `StatCard` (+ `icon`) | ✅ | ➖ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component** (a reusable KPI tile with a stable API + tokens) |
107
+ | `ServiceLauncherCard` | ➖ | ❌ | ❌ | ✅ | ✅ | ➖ | ➖ | **Composition by the test — RETAINED as a recorded exception** (gh#814) |
108
+ | `MegaMenu` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | **Framework component, `@godxjp/ui/lab` tier** (no consumer yet, §2.1) — the instructive contrast with Hero, below |
109
+ | `DashboardGrid` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | exception | **Lab (§2.1)** — C7 exception approved by the owner, BI precedents (Tableau/Power BI/Grafana/react-grid-layout). Approved 2026-10-23; same gates as core, promoted only once ≥2 repos import it. |
110
+ | Marketing **Hero** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — section, static, composable, brand-specific |
111
+ | **Navbar** / **Footer** | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — layout of `Text`/`Button`/`Flex` |
112
+ | **PricingTable** / feature grid | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | **Composition** — `ResponsiveGrid` + `Card` |
113
+ | Dashboard **page layout** | ❌ | ❌ | ❌ | ❌ | ➖ | ❌ | ❌ | **Composition** — `AppShell` + `PageContainer` + `ResponsiveGrid` |
114
+ | "Icon medallion" | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | **Composition** — `Avatar` (square) + a Lucide glyph |
115
+ | **Section** / **Band** (full-bleed + measured column) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | **Composition** — `<section>` + `Flex measure` + `pad`; see §3.1 |
116
+ | `TenantTheme` (customer hex at runtime) | ✅ | ➖ | ❌ | ❌ | ✅ | ❌ | ➖ | **Composition + a published FUNCTION** — `tenantTheme()`; see §3.2 |
116
117
 
117
118
  `✅ pass · ❌ fail · ➖ borderline`. **StatCard** is the instructive borderline: C2 is weak (it owns little behavior), but it is a universal KPI tile with a controlled API, fully tokenized, broadly reused — so it earns its place. A **Hero** fails six of seven; it is unambiguously a composition.
118
119
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@godxjp/ui",
3
- "version": "33.14.0",
4
- "godxUiMcp": "33.14.0",
3
+ "version": "33.16.0",
4
+ "godxUiMcp": "33.16.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",