@ponchia/ui 0.6.6 → 0.6.8

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 (160) hide show
  1. package/CHANGELOG.md +175 -6
  2. package/README.md +38 -25
  3. package/annotations/index.d.ts.map +1 -1
  4. package/annotations/index.js +21 -3
  5. package/behaviors/carousel.d.ts.map +1 -1
  6. package/behaviors/carousel.js +91 -32
  7. package/behaviors/combobox.d.ts.map +1 -1
  8. package/behaviors/combobox.js +117 -43
  9. package/behaviors/command.d.ts.map +1 -1
  10. package/behaviors/command.js +74 -14
  11. package/behaviors/connectors.d.ts.map +1 -1
  12. package/behaviors/connectors.js +92 -9
  13. package/behaviors/crosshair.d.ts.map +1 -1
  14. package/behaviors/crosshair.js +47 -1
  15. package/behaviors/dialog.d.ts.map +1 -1
  16. package/behaviors/dialog.js +37 -16
  17. package/behaviors/disclosure.d.ts.map +1 -1
  18. package/behaviors/disclosure.js +33 -3
  19. package/behaviors/dismissible.d.ts.map +1 -1
  20. package/behaviors/dismissible.js +3 -2
  21. package/behaviors/forms.d.ts.map +1 -1
  22. package/behaviors/forms.js +78 -5
  23. package/behaviors/glyph.d.ts.map +1 -1
  24. package/behaviors/glyph.js +17 -2
  25. package/behaviors/index.d.ts +2 -0
  26. package/behaviors/index.d.ts.map +1 -1
  27. package/behaviors/index.js +2 -0
  28. package/behaviors/inert.js +3 -2
  29. package/behaviors/internal.d.ts +2 -1
  30. package/behaviors/internal.d.ts.map +1 -1
  31. package/behaviors/internal.js +25 -4
  32. package/behaviors/legend.d.ts +0 -5
  33. package/behaviors/legend.d.ts.map +1 -1
  34. package/behaviors/legend.js +78 -14
  35. package/behaviors/menu.d.ts.map +1 -1
  36. package/behaviors/menu.js +13 -8
  37. package/behaviors/modal.d.ts.map +1 -1
  38. package/behaviors/modal.js +77 -19
  39. package/behaviors/popover.d.ts +4 -3
  40. package/behaviors/popover.d.ts.map +1 -1
  41. package/behaviors/popover.js +89 -9
  42. package/behaviors/sources.d.ts.map +1 -1
  43. package/behaviors/sources.js +14 -2
  44. package/behaviors/splitter.d.ts +26 -0
  45. package/behaviors/splitter.d.ts.map +1 -0
  46. package/behaviors/splitter.js +239 -0
  47. package/behaviors/spotlight.d.ts.map +1 -1
  48. package/behaviors/spotlight.js +28 -2
  49. package/behaviors/table.d.ts.map +1 -1
  50. package/behaviors/table.js +105 -13
  51. package/behaviors/tabs.d.ts.map +1 -1
  52. package/behaviors/tabs.js +82 -18
  53. package/behaviors/theme.d.ts.map +1 -1
  54. package/behaviors/theme.js +26 -6
  55. package/classes/classes.json +230 -4
  56. package/classes/index.d.ts +64 -3
  57. package/classes/index.js +56 -2
  58. package/classes/vscode.css-custom-data.json +1 -1
  59. package/connectors/index.d.ts +39 -6
  60. package/connectors/index.d.ts.map +1 -1
  61. package/connectors/index.js +67 -9
  62. package/css/analytical.css +3 -1
  63. package/css/annotations.css +12 -0
  64. package/css/app.css +4 -4
  65. package/css/clamp.css +92 -0
  66. package/css/crosshair.css +27 -2
  67. package/css/feedback.css +2 -30
  68. package/css/figure.css +102 -0
  69. package/css/highlights.css +50 -0
  70. package/css/interval.css +90 -0
  71. package/css/navigation.css +12 -0
  72. package/css/primitives.css +2 -3
  73. package/css/report-kit.css +38 -0
  74. package/css/report.css +23 -4
  75. package/css/sidenote.css +12 -2
  76. package/css/site.css +2 -1
  77. package/css/sources.css +5 -0
  78. package/css/state.css +120 -1
  79. package/css/table.css +4 -0
  80. package/css/tokens.css +25 -9
  81. package/css/workbench.css +101 -8
  82. package/dist/bronto.css +1 -1
  83. package/dist/css/analytical.css +1 -1
  84. package/dist/css/annotations.css +1 -1
  85. package/dist/css/app.css +1 -1
  86. package/dist/css/clamp.css +1 -0
  87. package/dist/css/crosshair.css +1 -1
  88. package/dist/css/feedback.css +1 -1
  89. package/dist/css/figure.css +1 -0
  90. package/dist/css/highlights.css +1 -0
  91. package/dist/css/interval.css +1 -0
  92. package/dist/css/navigation.css +1 -1
  93. package/dist/css/primitives.css +1 -1
  94. package/dist/css/report-kit.css +1 -0
  95. package/dist/css/report.css +1 -1
  96. package/dist/css/sidenote.css +1 -1
  97. package/dist/css/site.css +1 -1
  98. package/dist/css/sources.css +1 -1
  99. package/dist/css/state.css +1 -1
  100. package/dist/css/table.css +1 -1
  101. package/dist/css/tokens.css +1 -1
  102. package/dist/css/workbench.css +1 -1
  103. package/docs/adr/0001-color-system.md +3 -2
  104. package/docs/adr/0002-scope-and-2026-baseline.md +1 -1
  105. package/docs/annotations.md +12 -1
  106. package/docs/architecture.md +105 -48
  107. package/docs/clamp.md +49 -0
  108. package/docs/command.md +4 -1
  109. package/docs/connectors.md +16 -0
  110. package/docs/contrast.md +34 -24
  111. package/docs/crosshair.md +1 -1
  112. package/docs/d2.md +37 -0
  113. package/docs/dots.md +4 -1
  114. package/docs/figure.md +71 -0
  115. package/docs/frontier-primitives.md +25 -24
  116. package/docs/glyphs.md +11 -0
  117. package/docs/highlights.md +52 -0
  118. package/docs/interop/tailwind.md +148 -0
  119. package/docs/interval.md +55 -0
  120. package/docs/legends.md +3 -2
  121. package/docs/mermaid.md +6 -0
  122. package/docs/migrations/0.2-to-0.3.md +80 -0
  123. package/docs/migrations/0.3-to-0.4.md +48 -0
  124. package/docs/migrations/0.4-to-0.5.md +96 -0
  125. package/docs/migrations/0.5-to-0.6.md +82 -0
  126. package/docs/package-contract.md +44 -6
  127. package/docs/reference.md +78 -5
  128. package/docs/reporting.md +126 -60
  129. package/docs/sidenote.md +7 -1
  130. package/docs/sources.md +1 -1
  131. package/docs/stability.md +23 -5
  132. package/docs/state.md +67 -10
  133. package/docs/theming.md +12 -4
  134. package/docs/usage.md +47 -13
  135. package/docs/vega.md +4 -4
  136. package/docs/workbench.md +59 -18
  137. package/llms.txt +89 -16
  138. package/package.json +82 -6
  139. package/qwik/index.d.ts +1 -0
  140. package/qwik/index.d.ts.map +1 -1
  141. package/qwik/index.js +26 -21
  142. package/react/index.d.ts +1 -0
  143. package/react/index.d.ts.map +1 -1
  144. package/react/index.js +4 -1
  145. package/schemas/report-claims.v1.schema.json +137 -0
  146. package/solid/index.d.ts +2 -0
  147. package/solid/index.d.ts.map +1 -1
  148. package/solid/index.js +3 -0
  149. package/svelte/index.d.ts +114 -0
  150. package/svelte/index.d.ts.map +1 -0
  151. package/svelte/index.js +193 -0
  152. package/tailwind.css +87 -0
  153. package/tokens/figma.variables.json +2241 -0
  154. package/tokens/index.js +1 -1
  155. package/tokens/index.json +2 -2
  156. package/tokens/resolved.json +3 -3
  157. package/tokens/tokens.dtcg.json +1 -1
  158. package/vue/index.d.ts +116 -0
  159. package/vue/index.d.ts.map +1 -0
  160. package/vue/index.js +228 -0
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ponchia/ui",
3
- "version": "0.6.6",
3
+ "version": "0.6.8",
4
4
  "type": "module",
5
- "description": "CSS-first design system for interfaces that explain themselves — works in HTML, every framework, and PDF, no component runtime. A standard component set plus an opt-in analytical & report layer (annotations, legends, connectors, data-viz, report grammar). Monochrome with one rationed accent, re-skinnable from one --accent knob. Zero runtime dependencies.",
5
+ "description": "CSS-first identity and UI layer for services, tools, sites, and reports — works in HTML, every framework, and PDF, no component runtime. Shared app shell, forms, tables, workflow chrome, plus opt-in analytical/report primitives. Monochrome with one rationed accent. Zero runtime dependencies.",
6
6
  "keywords": [
7
7
  "css",
8
8
  "ui",
@@ -44,16 +44,20 @@
44
44
  "files": [
45
45
  "css",
46
46
  "dist",
47
+ "tailwind.css",
47
48
  "fonts",
48
49
  "tokens",
49
50
  "classes",
50
51
  "behaviors",
51
52
  "glyphs",
53
+ "schemas",
52
54
  "annotations",
53
55
  "connectors",
54
56
  "react",
55
57
  "solid",
56
58
  "qwik",
59
+ "svelte",
60
+ "vue",
57
61
  "shiki",
58
62
  "llms.txt",
59
63
  "CHANGELOG.md",
@@ -72,6 +76,7 @@
72
76
  "docs/mermaid.md",
73
77
  "docs/d2.md",
74
78
  "docs/vega.md",
79
+ "docs/figure.md",
75
80
  "docs/annotations.md",
76
81
  "docs/legends.md",
77
82
  "docs/marks.md",
@@ -80,6 +85,9 @@
80
85
  "docs/crosshair.md",
81
86
  "docs/selection.md",
82
87
  "docs/sources.md",
88
+ "docs/interval.md",
89
+ "docs/clamp.md",
90
+ "docs/highlights.md",
83
91
  "docs/diff.md",
84
92
  "docs/code.md",
85
93
  "docs/spark.md",
@@ -93,6 +101,11 @@
93
101
  "docs/generated.md",
94
102
  "docs/workbench.md",
95
103
  "docs/command.md",
104
+ "docs/interop/tailwind.md",
105
+ "docs/migrations/0.2-to-0.3.md",
106
+ "docs/migrations/0.3-to-0.4.md",
107
+ "docs/migrations/0.4-to-0.5.md",
108
+ "docs/migrations/0.5-to-0.6.md",
96
109
  "docs/adr/0001-color-system.md",
97
110
  "docs/adr/0002-scope-and-2026-baseline.md",
98
111
  "docs/adr/0003-theme-model.md"
@@ -114,6 +127,7 @@
114
127
  "tokens:css:build": "node scripts/gen-tokens-css.mjs",
115
128
  "dtcg:build": "node scripts/gen-dtcg.mjs",
116
129
  "resolved:build": "node scripts/gen-resolved.mjs",
130
+ "figma:variables:build": "node scripts/gen-figma-variables.mjs",
117
131
  "dts:build": "node scripts/gen-dts.mjs",
118
132
  "dts:emit": "node scripts/emit-dts.mjs",
119
133
  "glyphs:build": "node scripts/gen-glyphs.mjs",
@@ -132,6 +146,7 @@
132
146
  "check:fresh": "node scripts/check-fresh.mjs",
133
147
  "check:classes": "node scripts/check-classes.mjs",
134
148
  "check:recipe-types": "node scripts/check-recipe-types.mjs",
149
+ "check:dead": "knip --treat-config-hints-as-errors",
135
150
  "check:chain": "node scripts/check-chain.mjs",
136
151
  "check:dts-emit": "node scripts/check-dts-emit.mjs",
137
152
  "check:glyphs": "node scripts/check-glyphs.mjs",
@@ -144,30 +159,57 @@
144
159
  "check:report": "node scripts/check-report.mjs",
145
160
  "check:legend": "node scripts/check-legend.mjs",
146
161
  "check:types": "tsc -p tsconfig.json",
162
+ "check:unit": "npm test",
147
163
  "check:shiki": "node scripts/check-shiki.mjs",
148
164
  "check:dist": "node scripts/check-dist.mjs",
149
165
  "check:pack": "node scripts/check-pack.mjs",
166
+ "check:consumer-surface": "node scripts/check-consumer-surface.mjs",
167
+ "check:consumer-types": "node scripts/check-consumer-types.mjs",
168
+ "check:component-matrix": "node scripts/check-component-matrix.mjs",
169
+ "check:behavior-matrix": "node scripts/check-behavior-matrix.mjs",
170
+ "check:helper-matrix": "node scripts/check-helper-matrix.mjs",
171
+ "check:binding-matrix": "node scripts/check-binding-matrix.mjs",
172
+ "check:examples": "node scripts/check-examples.mjs",
173
+ "check:visual-baselines": "node scripts/check-visual-baselines.mjs",
174
+ "check:playwright-container": "node scripts/check-playwright-container.mjs",
175
+ "check:schemas": "node scripts/check-schemas.mjs",
150
176
  "check:release": "node scripts/check-release.mjs",
151
177
  "check:versions": "node scripts/check-versions.mjs",
178
+ "check:migrations": "node scripts/check-migrations.mjs",
152
179
  "check:public-metadata": "node scripts/check-public-metadata.mjs",
180
+ "check:public-hygiene": "node scripts/check-public-hygiene.mjs",
181
+ "check:doc-links": "node scripts/check-doc-links.mjs",
153
182
  "check:doc-recipes": "node scripts/check-doc-recipes.mjs",
154
183
  "check:contract": "node scripts/check-contract.mjs",
184
+ "check:variables": "node scripts/check-variables.mjs",
155
185
  "check:contrast": "node scripts/check-contrast.mjs",
156
186
  "check:publint": "publint --strict",
157
187
  "check:attw": "attw --pack --ignore-rules no-resolution cjs-resolves-to-esm",
158
- "check": "npm run lint && npm run check:format && npm run check:exports && npm run check:fresh && npm run check:classes && npm run check:recipe-types && npm run check:types && npm run check:shiki && npm run check:dist && npm run check:pack && npm run check:publint && npm run check:attw && npm run check:release && npm run check:versions && npm run check:public-metadata && npm run check:doc-recipes && npm run check:contract && npm run check:contrast && npm run check:dts-emit && npm run check:glyphs && npm run check:color-policy && npm run check:skins && npm run check:charts && npm run check:mermaid && npm run check:d2 && npm run check:vega && npm run check:report && npm run check:legend && npm run check:chain",
188
+ "check:workflows": "github-actionlint .github/workflows/*.yml",
189
+ "check": "npm run lint && npm run check:format && npm run check:exports && npm run check:fresh && npm run check:classes && npm run check:recipe-types && npm run check:dead && npm run check:types && npm run check:unit && npm run check:shiki && npm run check:dist && npm run check:pack && npm run check:consumer-surface && npm run check:consumer-types && npm run check:component-matrix && npm run check:behavior-matrix && npm run check:helper-matrix && npm run check:binding-matrix && npm run check:examples && npm run check:visual-baselines && npm run check:playwright-container && npm run check:schemas && npm run check:publint && npm run check:attw && npm run check:workflows && npm run check:release && npm run check:versions && npm run check:migrations && npm run check:public-metadata && npm run check:public-hygiene && npm run check:doc-links && npm run check:doc-recipes && npm run check:contract && npm run check:variables && npm run check:contrast && npm run check:dts-emit && npm run check:glyphs && npm run check:color-policy && npm run check:skins && npm run check:charts && npm run check:mermaid && npm run check:d2 && npm run check:vega && npm run check:report && npm run check:legend && npm run check:chain",
159
190
  "test": "node --test \"test/*.test.mjs\"",
160
- "prepack": "npm run tokens:css:build && npm run tokens:build && npm run dtcg:build && npm run resolved:build && npm run dts:build && npm run dts:emit && npm run reference:build && npm run package-contract:build && npm run classes:json:build && npm run contrast:build && npm run vscode:build && npm run skins:build && npm run charts:build && npm run mermaid:build && npm run d2:build && npm run vega:build && npm run dist:build && npm run glyphs:build",
161
- "prepublishOnly": "npm run check && npm test"
191
+ "test:e2e": "playwright test",
192
+ "test:e2e:chromium": "playwright test --project=chromium",
193
+ "test:e2e:nonpixel": "node scripts/test-e2e-nonpixel.mjs",
194
+ "test:e2e:visual:container": "node scripts/test-visual-container.mjs",
195
+ "test:examples": "node scripts/test-examples.mjs",
196
+ "test:examples:cross-browser": "node scripts/test-examples.mjs --browsers=chromium,firefox,webkit",
197
+ "test:examples:visual": "node scripts/test-examples.mjs --visual",
198
+ "build:artifacts": "npm run tokens:css:build && npm run tokens:build && npm run dtcg:build && npm run resolved:build && npm run figma:variables:build && npm run dts:build && npm run dts:emit && npm run reference:build && npm run package-contract:build && npm run classes:json:build && npm run contrast:build && npm run vscode:build && npm run skins:build && npm run charts:build && npm run mermaid:build && npm run d2:build && npm run vega:build && npm run dist:build && npm run glyphs:build",
199
+ "verify:artifacts": "npm run check:fresh && npm run check:dist && npm run check:dts-emit && npm run check:glyphs && npm run check:skins && npm run check:charts && npm run check:mermaid && npm run check:d2 && npm run check:vega && npm run check:pack",
200
+ "prepack": "npm run build:artifacts && npm run verify:artifacts",
201
+ "prepublishOnly": "npm run build:artifacts && npm run check"
162
202
  },
163
203
  "devDependencies": {
164
204
  "@arethetypeswrong/cli": "^0.18.3",
165
205
  "@axe-core/playwright": "^4.11.3",
166
206
  "@builder.io/qwik": "^1.20.0",
167
207
  "@playwright/test": "1.60.0",
208
+ "github-actionlint": "^1.7.12",
168
209
  "jsdom": "^29.1.1",
210
+ "knip": "^6.16.1",
169
211
  "pdfjs-dist": "^6.0.227",
170
- "prettier": "^3.8.3",
212
+ "prettier": "^3.8.4",
171
213
  "publint": "^0.3.21",
172
214
  "react": "^19.2.7",
173
215
  "react-dom": "^19.2.7",
@@ -201,6 +243,8 @@
201
243
  "default": "./dist/bronto.css"
202
244
  },
203
245
  "./dist/bronto.css": "./dist/bronto.css",
246
+ "./tailwind": "./tailwind.css",
247
+ "./tailwind.css": "./tailwind.css",
204
248
  "./css": "./css/core.css",
205
249
  "./css/core.css": "./css/core.css",
206
250
  "./css/tokens.css": "./dist/css/tokens.css",
@@ -221,6 +265,7 @@
221
265
  "./css/skins.css": "./dist/css/skins.css",
222
266
  "./css/dataviz.css": "./dist/css/dataviz.css",
223
267
  "./css/report.css": "./dist/css/report.css",
268
+ "./css/figure.css": "./dist/css/figure.css",
224
269
  "./css/annotations.css": "./dist/css/annotations.css",
225
270
  "./css/legend.css": "./dist/css/legend.css",
226
271
  "./css/marks.css": "./dist/css/marks.css",
@@ -229,6 +274,9 @@
229
274
  "./css/crosshair.css": "./dist/css/crosshair.css",
230
275
  "./css/selection.css": "./dist/css/selection.css",
231
276
  "./css/sources.css": "./dist/css/sources.css",
277
+ "./css/interval.css": "./dist/css/interval.css",
278
+ "./css/clamp.css": "./dist/css/clamp.css",
279
+ "./css/highlights.css": "./dist/css/highlights.css",
232
280
  "./css/diff.css": "./dist/css/diff.css",
233
281
  "./css/code.css": "./dist/css/code.css",
234
282
  "./css/spark.css": "./dist/css/spark.css",
@@ -243,6 +291,7 @@
243
291
  "./css/workbench.css": "./dist/css/workbench.css",
244
292
  "./css/command.css": "./dist/css/command.css",
245
293
  "./css/analytical.css": "./dist/css/analytical.css",
294
+ "./css/report-kit.css": "./dist/css/report-kit.css",
246
295
  "./css/unlayered/tokens.css": "./css/tokens.css",
247
296
  "./css/unlayered/fonts.css": "./css/fonts.css",
248
297
  "./css/unlayered/base.css": "./css/base.css",
@@ -261,6 +310,7 @@
261
310
  "./css/unlayered/skins.css": "./css/skins.css",
262
311
  "./css/unlayered/dataviz.css": "./css/dataviz.css",
263
312
  "./css/unlayered/report.css": "./css/report.css",
313
+ "./css/unlayered/figure.css": "./css/figure.css",
264
314
  "./css/unlayered/annotations.css": "./css/annotations.css",
265
315
  "./css/unlayered/legend.css": "./css/legend.css",
266
316
  "./css/unlayered/marks.css": "./css/marks.css",
@@ -269,6 +319,9 @@
269
319
  "./css/unlayered/crosshair.css": "./css/crosshair.css",
270
320
  "./css/unlayered/selection.css": "./css/selection.css",
271
321
  "./css/unlayered/sources.css": "./css/sources.css",
322
+ "./css/unlayered/interval.css": "./css/interval.css",
323
+ "./css/unlayered/clamp.css": "./css/clamp.css",
324
+ "./css/unlayered/highlights.css": "./css/highlights.css",
272
325
  "./css/unlayered/diff.css": "./css/diff.css",
273
326
  "./css/unlayered/code.css": "./css/code.css",
274
327
  "./css/unlayered/spark.css": "./css/spark.css",
@@ -290,8 +343,11 @@
290
343
  "./tokens.json": "./tokens/index.json",
291
344
  "./tokens.dtcg.json": "./tokens/tokens.dtcg.json",
292
345
  "./tokens/resolved.json": "./tokens/resolved.json",
346
+ "./tokens/figma.variables.json": "./tokens/figma.variables.json",
293
347
  "./shiki/nothing.json": "./shiki/nothing.json",
294
348
  "./llms.txt": "./llms.txt",
349
+ "./MIGRATIONS.json": "./MIGRATIONS.json",
350
+ "./schemas/report-claims.v1.schema.json": "./schemas/report-claims.v1.schema.json",
295
351
  "./docs/architecture.md": "./docs/architecture.md",
296
352
  "./docs/reference.md": "./docs/reference.md",
297
353
  "./docs/theming.md": "./docs/theming.md",
@@ -306,6 +362,7 @@
306
362
  "./docs/mermaid.md": "./docs/mermaid.md",
307
363
  "./docs/d2.md": "./docs/d2.md",
308
364
  "./docs/vega.md": "./docs/vega.md",
365
+ "./docs/figure.md": "./docs/figure.md",
309
366
  "./docs/annotations.md": "./docs/annotations.md",
310
367
  "./docs/legends.md": "./docs/legends.md",
311
368
  "./docs/marks.md": "./docs/marks.md",
@@ -314,6 +371,9 @@
314
371
  "./docs/crosshair.md": "./docs/crosshair.md",
315
372
  "./docs/selection.md": "./docs/selection.md",
316
373
  "./docs/sources.md": "./docs/sources.md",
374
+ "./docs/interval.md": "./docs/interval.md",
375
+ "./docs/clamp.md": "./docs/clamp.md",
376
+ "./docs/highlights.md": "./docs/highlights.md",
317
377
  "./docs/diff.md": "./docs/diff.md",
318
378
  "./docs/code.md": "./docs/code.md",
319
379
  "./docs/spark.md": "./docs/spark.md",
@@ -327,6 +387,11 @@
327
387
  "./docs/generated.md": "./docs/generated.md",
328
388
  "./docs/workbench.md": "./docs/workbench.md",
329
389
  "./docs/command.md": "./docs/command.md",
390
+ "./docs/interop/tailwind.md": "./docs/interop/tailwind.md",
391
+ "./docs/migrations/0.2-to-0.3.md": "./docs/migrations/0.2-to-0.3.md",
392
+ "./docs/migrations/0.3-to-0.4.md": "./docs/migrations/0.3-to-0.4.md",
393
+ "./docs/migrations/0.4-to-0.5.md": "./docs/migrations/0.4-to-0.5.md",
394
+ "./docs/migrations/0.5-to-0.6.md": "./docs/migrations/0.5-to-0.6.md",
330
395
  "./docs/adr/0001-color-system.md": "./docs/adr/0001-color-system.md",
331
396
  "./docs/adr/0002-scope-and-2026-baseline.md": "./docs/adr/0002-scope-and-2026-baseline.md",
332
397
  "./docs/adr/0003-theme-model.md": "./docs/adr/0003-theme-model.md",
@@ -363,6 +428,14 @@
363
428
  "types": "./qwik/index.d.ts",
364
429
  "default": "./qwik/index.js"
365
430
  },
431
+ "./svelte": {
432
+ "types": "./svelte/index.d.ts",
433
+ "default": "./svelte/index.js"
434
+ },
435
+ "./vue": {
436
+ "types": "./vue/index.d.ts",
437
+ "default": "./vue/index.js"
438
+ },
366
439
  "./skins": {
367
440
  "types": "./tokens/skins.d.ts",
368
441
  "default": "./tokens/skins.js"
@@ -388,5 +461,8 @@
388
461
  },
389
462
  "./vega.json": "./tokens/vega.json",
390
463
  "./fonts/*": "./fonts/*"
464
+ },
465
+ "overrides": {
466
+ "esbuild": "0.28.1"
391
467
  }
392
468
  }
package/qwik/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export function useSpotlight(opts?: BrontoBindingOptsResolver): void;
26
26
  export function useCrosshair(opts?: BrontoBindingOptsResolver): void;
27
27
  export function useCommand(opts?: BrontoBindingOptsResolver): void;
28
28
  export function useSources(opts?: BrontoBindingOptsResolver): void;
29
+ export function useSplitter(opts?: BrontoBindingOptsResolver): void;
29
30
  export function useToast(): (message: string, opts?: ToastOpts) => Cleanup;
30
31
  export { applyStoredTheme };
31
32
  export type Cleanup = import("../behaviors/index.js").Cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAiHA;;;;;;sBAMsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAIjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CAGhC;AAEtD,sCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,wCADK,yBAAyB,GAAmB,IAAI,CAGG;AAExD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,yCADK,yBAAyB,GAAmB,IAAI,CAGI;AAEzD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,gCADK,yBAAyB,GAAmB,IAAI,CAGL;AAEhD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAIlD,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBArLtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCA0BT,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAkHA;;;;;;sBAMsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAIjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CAGhC;AAEtD,sCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,wCADK,yBAAyB,GAAmB,IAAI,CAGG;AAExD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,yCADK,yBAAyB,GAAmB,IAAI,CAGI;AAEzD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,gCADK,yBAAyB,GAAmB,IAAI,CAGL;AAEhD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAInD,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBA1LtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCA2BT,uBAAuB"}
package/qwik/index.js CHANGED
@@ -74,6 +74,7 @@ import {
74
74
  initCrosshair,
75
75
  initCommand,
76
76
  initSources,
77
+ initSplitter,
77
78
  toast,
78
79
  } from '../behaviors/index.js';
79
80
 
@@ -119,90 +120,94 @@ function start(init, opts, ctx) {
119
120
  * @param {BrontoBindingOptsResolver} [opts]
120
121
  * @returns {void} */
121
122
  export function useBrontoBehavior(init, opts) {
122
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
123
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
123
124
  useVisibleTask$((ctx) => start(init, opts, ctx));
124
125
  }
125
126
 
126
127
  /** @param {BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>} [opts] @returns {void} */
127
128
  export const useThemeToggle = (opts) =>
128
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
129
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
129
130
  useVisibleTask$((ctx) => start(initThemeToggle, opts, ctx));
130
131
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
131
132
  export const useDismissible = (opts) =>
132
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
133
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
133
134
  useVisibleTask$((ctx) => start(dismissible, opts, ctx));
134
135
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
135
136
  export const useDisabledGuard = (opts) =>
136
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
137
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
137
138
  useVisibleTask$((ctx) => start(initDisabledGuard, opts, ctx));
138
139
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
139
140
  export const useDisclosure = (opts) =>
140
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
141
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
141
142
  useVisibleTask$((ctx) => start(initDisclosure, opts, ctx));
142
143
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
143
144
  export const useMenu = (opts) =>
144
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
145
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
145
146
  useVisibleTask$((ctx) => start(initMenu, opts, ctx));
146
147
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
147
148
  export const useFormValidation = (opts) =>
148
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
149
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
149
150
  useVisibleTask$((ctx) => start(initFormValidation, opts, ctx));
150
151
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
151
152
  export const useCombobox = (opts) =>
152
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
153
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
153
154
  useVisibleTask$((ctx) => start(initCombobox, opts, ctx));
154
155
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
155
156
  export const usePopover = (opts) =>
156
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
157
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
157
158
  useVisibleTask$((ctx) => start(initPopover, opts, ctx));
158
159
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
159
160
  export const useTableSort = (opts) =>
160
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
161
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
161
162
  useVisibleTask$((ctx) => start(initTableSort, opts, ctx));
162
163
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
163
164
  export const useTabs = (opts) =>
164
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
165
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
165
166
  useVisibleTask$((ctx) => start(initTabs, opts, ctx));
166
167
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
167
168
  export const useDialog = (opts) =>
168
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
169
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
169
170
  useVisibleTask$((ctx) => start(initDialog, opts, ctx));
170
171
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
171
172
  export const useModal = (opts) =>
172
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
173
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
173
174
  useVisibleTask$((ctx) => start(initModal, opts, ctx));
174
175
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
175
176
  export const useCarousel = (opts) =>
176
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
177
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
177
178
  useVisibleTask$((ctx) => start(initCarousel, opts, ctx));
178
179
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
179
180
  export const useDotGlyph = (opts) =>
180
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
181
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
181
182
  useVisibleTask$((ctx) => start(initDotGlyph, opts, ctx));
182
183
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
183
184
  export const useLegend = (opts) =>
184
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
185
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
185
186
  useVisibleTask$((ctx) => start(initLegend, opts, ctx));
186
187
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
187
188
  export const useConnectors = (opts) =>
188
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
189
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
189
190
  useVisibleTask$((ctx) => start(initConnectors, opts, ctx));
190
191
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
191
192
  export const useSpotlight = (opts) =>
192
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
193
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
193
194
  useVisibleTask$((ctx) => start(initSpotlight, opts, ctx));
194
195
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
195
196
  export const useCrosshair = (opts) =>
196
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
197
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
197
198
  useVisibleTask$((ctx) => start(initCrosshair, opts, ctx));
198
199
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
199
200
  export const useCommand = (opts) =>
200
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
201
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
201
202
  useVisibleTask$((ctx) => start(initCommand, opts, ctx));
202
203
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
203
204
  export const useSources = (opts) =>
204
- // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
205
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
205
206
  useVisibleTask$((ctx) => start(initSources, opts, ctx));
207
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
208
+ export const useSplitter = (opts) =>
209
+ // eslint-disable-next-line qwik/no-use-visible-task -- intentional delegated DOM glue + cleanup
210
+ useVisibleTask$((ctx) => start(initSplitter, opts, ctx));
206
211
 
207
212
  /** The `toast()` imperative (no lifecycle of its own).
208
213
  * @returns {(message: string, opts?: ToastOpts) => Cleanup} */
package/react/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export function useSpotlight(opts?: BrontoBindingOptsResolver): void;
25
25
  export function useCrosshair(opts?: BrontoBindingOptsResolver): void;
26
26
  export function useCommand(opts?: BrontoBindingOptsResolver): void;
27
27
  export function useSources(opts?: BrontoBindingOptsResolver): void;
28
+ export function useSplitter(opts?: BrontoBindingOptsResolver): void;
28
29
  export function useToast(): (message: string, opts?: ToastOpts) => Cleanup;
29
30
  export { applyStoredTheme };
30
31
  export type Cleanup = import("../behaviors/index.js").Cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA+FA;;;;;sBAKsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAGjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CACb;AAEzE,sCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,wCADK,yBAAyB,GAAmB,IAAI,CACwB;AAE7E,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,yCADK,yBAAyB,GAAmB,IAAI,CAC0B;AAE/E,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,gCADK,yBAAyB,GAAmB,IAAI,CACQ;AAE7D,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAIjE,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBA9HtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCA0BT,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAgGA;;;;;sBAKsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAGjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CACb;AAEzE,sCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,wCADK,yBAAyB,GAAmB,IAAI,CACwB;AAE7E,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,yCADK,yBAAyB,GAAmB,IAAI,CAC0B;AAE/E,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,gCADK,yBAAyB,GAAmB,IAAI,CACQ;AAE7D,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAInE,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBAjItB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCA2BT,uBAAuB"}
package/react/index.js CHANGED
@@ -68,6 +68,7 @@ import {
68
68
  initCrosshair,
69
69
  initCommand,
70
70
  initSources,
71
+ initSplitter,
71
72
  toast,
72
73
  } from '../behaviors/index.js';
73
74
 
@@ -100,7 +101,7 @@ function resolveOpts(opts) {
100
101
  * @param {BrontoBindingOptsResolver} [opts]
101
102
  * @returns {void} */
102
103
  export function useBrontoBehavior(init, opts) {
103
- useEffect(() => init(resolveOpts(opts)), []); // eslint-disable-line react-hooks/exhaustive-deps -- delegated once on mount
104
+ useEffect(() => init(resolveOpts(opts)), []); // eslint-disable-line react-hooks/exhaustive-deps -- intentional delegated once on mount
104
105
  }
105
106
 
106
107
  /** @param {BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>} [opts] @returns {void} */
@@ -143,6 +144,8 @@ export const useCrosshair = (opts) => useBrontoBehavior(initCrosshair, opts);
143
144
  export const useCommand = (opts) => useBrontoBehavior(initCommand, opts);
144
145
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
145
146
  export const useSources = (opts) => useBrontoBehavior(initSources, opts);
147
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
148
+ export const useSplitter = (opts) => useBrontoBehavior(initSplitter, opts);
146
149
 
147
150
  /** The `toast()` imperative (no lifecycle of its own).
148
151
  * @returns {(message: string, opts?: ToastOpts) => Cleanup} */
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@ponchia/ui/schemas/report-claims.v1.schema.json",
4
+ "title": "@ponchia/ui report claim/source sidecar v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "report", "claims", "sources"],
8
+ "properties": {
9
+ "$schema": {
10
+ "$ref": "#/$defs/uri"
11
+ },
12
+ "schemaVersion": {
13
+ "const": "bronto-report-claims.v1"
14
+ },
15
+ "report": {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "required": ["title", "type"],
19
+ "properties": {
20
+ "id": { "$ref": "#/$defs/id" },
21
+ "title": { "type": "string", "minLength": 1 },
22
+ "type": {
23
+ "enum": ["executive", "decision", "research", "primer", "incident", "audit", "status"]
24
+ },
25
+ "generatedAt": { "$ref": "#/$defs/dateTime" },
26
+ "url": { "$ref": "#/$defs/uri" }
27
+ }
28
+ },
29
+ "claims": {
30
+ "type": "array",
31
+ "minItems": 1,
32
+ "items": { "$ref": "#/$defs/claim" }
33
+ },
34
+ "sources": {
35
+ "type": "array",
36
+ "minItems": 1,
37
+ "items": { "$ref": "#/$defs/source" }
38
+ },
39
+ "relations": {
40
+ "type": "array",
41
+ "items": { "$ref": "#/$defs/relation" }
42
+ }
43
+ },
44
+ "$defs": {
45
+ "id": {
46
+ "type": "string",
47
+ "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
48
+ },
49
+ "dateTime": {
50
+ "type": "string",
51
+ "format": "date-time"
52
+ },
53
+ "uri": {
54
+ "type": "string",
55
+ "format": "uri"
56
+ },
57
+ "hash": {
58
+ "type": "string",
59
+ "pattern": "^(sha256|sha384|sha512):[A-Fa-f0-9]+$"
60
+ },
61
+ "claimStatus": {
62
+ "enum": ["supported", "partial", "disputed", "unsupported", "unknown"]
63
+ },
64
+ "risk": {
65
+ "enum": ["low", "medium", "high", "critical"]
66
+ },
67
+ "sourceState": {
68
+ "enum": ["verified", "reviewed", "generated", "unverified", "stale", "conflict"]
69
+ },
70
+ "relationKind": {
71
+ "enum": ["supports", "limits", "contradicts", "informs"]
72
+ },
73
+ "claim": {
74
+ "type": "object",
75
+ "additionalProperties": false,
76
+ "required": ["id", "status", "statement"],
77
+ "properties": {
78
+ "id": { "$ref": "#/$defs/id" },
79
+ "status": { "$ref": "#/$defs/claimStatus" },
80
+ "risk": { "$ref": "#/$defs/risk" },
81
+ "statement": { "type": "string", "minLength": 1 },
82
+ "scope": { "type": "string" },
83
+ "sourceIds": {
84
+ "type": "array",
85
+ "items": { "$ref": "#/$defs/id" },
86
+ "uniqueItems": true
87
+ },
88
+ "htmlId": { "$ref": "#/$defs/id" },
89
+ "caveat": { "type": "string" },
90
+ "reviewedAt": { "$ref": "#/$defs/dateTime" }
91
+ }
92
+ },
93
+ "source": {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "required": ["id", "state", "title", "origin"],
97
+ "properties": {
98
+ "id": { "$ref": "#/$defs/id" },
99
+ "state": { "$ref": "#/$defs/sourceState" },
100
+ "title": { "type": "string", "minLength": 1 },
101
+ "origin": { "type": "string", "minLength": 1 },
102
+ "url": { "$ref": "#/$defs/uri" },
103
+ "artifactPath": { "type": "string" },
104
+ "contentHash": { "$ref": "#/$defs/hash" },
105
+ "retrievedAt": { "$ref": "#/$defs/dateTime" },
106
+ "method": { "type": "string" },
107
+ "caveat": { "type": "string" },
108
+ "supports": {
109
+ "type": "array",
110
+ "items": { "$ref": "#/$defs/id" },
111
+ "uniqueItems": true
112
+ },
113
+ "limits": {
114
+ "type": "array",
115
+ "items": { "$ref": "#/$defs/id" },
116
+ "uniqueItems": true
117
+ },
118
+ "contradicts": {
119
+ "type": "array",
120
+ "items": { "$ref": "#/$defs/id" },
121
+ "uniqueItems": true
122
+ }
123
+ }
124
+ },
125
+ "relation": {
126
+ "type": "object",
127
+ "additionalProperties": false,
128
+ "required": ["claimId", "sourceId", "kind"],
129
+ "properties": {
130
+ "claimId": { "$ref": "#/$defs/id" },
131
+ "sourceId": { "$ref": "#/$defs/id" },
132
+ "kind": { "$ref": "#/$defs/relationKind" },
133
+ "note": { "type": "string" }
134
+ }
135
+ }
136
+ }
137
+ }
package/solid/index.d.ts CHANGED
@@ -45,6 +45,8 @@ export const useCrosshair: (opts?: BrontoBindingOptsResolver) => void;
45
45
  export const useCommand: (opts?: BrontoBindingOptsResolver) => void;
46
46
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
47
47
  export const useSources: (opts?: BrontoBindingOptsResolver) => void;
48
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
49
+ export const useSplitter: (opts?: BrontoBindingOptsResolver) => void;
48
50
  /** The `toast()` imperative (no lifecycle of its own).
49
51
  * @type {() => (message: string, opts?: ToastOpts) => Cleanup} */
50
52
  export const useToast: () => (message: string, opts?: ToastOpts) => Cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"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"}
package/solid/index.js CHANGED
@@ -70,6 +70,7 @@ import {
70
70
  initCrosshair,
71
71
  initCommand,
72
72
  initSources,
73
+ initSplitter,
73
74
  toast,
74
75
  } from '../behaviors/index.js';
75
76
 
@@ -148,6 +149,8 @@ export const useCrosshair = (opts) => useBrontoBehavior(initCrosshair, opts);
148
149
  export const useCommand = (opts) => useBrontoBehavior(initCommand, opts);
149
150
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
150
151
  export const useSources = (opts) => useBrontoBehavior(initSources, opts);
152
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
153
+ export const useSplitter = (opts) => useBrontoBehavior(initSplitter, opts);
151
154
 
152
155
  /** The `toast()` imperative (no lifecycle of its own).
153
156
  * @type {() => (message: string, opts?: ToastOpts) => Cleanup} */