@revolist/ui 4.0.5-rc → 4.0.5

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 (356) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +36 -36
  3. package/README.md +65 -408
  4. package/_button.scss +6 -2
  5. package/_chunks/{calendar-DsXIhybL.js → calendar-BQYQLu8Q.js} +5 -5
  6. package/_chunks/{cell-visuals-E-2oEKHg.js → cell-visuals-r6DOOhGh.js} +7 -7
  7. package/_chunks/{chart-frame-CuZABXVI.js → chart-frame-GprenwEg.js} +17 -13
  8. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  9. package/_chunks/{choice-chips-BhP8MZjs.js → choice-chips-C5OxD0GV.js} +3 -3
  10. package/_chunks/{color-palette-DMJUChWC.js → color-palette-7siNch__.js} +3 -3
  11. package/_chunks/{color-picker-B4TQvxxB.js → color-picker-Cfc9eqZb.js} +4 -4
  12. package/_chunks/{component-qKctqdzk.js → component-C3k_8uIq.js} +44 -45
  13. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-DlVkpW3h.js} +1 -9
  14. package/_chunks/{configurator-actions-C19O1rda.js → configurator-actions-vRnI54mO.js} +3 -3
  15. package/_chunks/{control-BkWukVt9.js → control-BRfF5DWQ.js} +32 -7
  16. package/_chunks/{controller-hRBm_Lfz.js → controller-BbiQuRt-.js} +5 -5
  17. package/_chunks/{controls-BLQnWEd7.js → controls-B3EgM_DS.js} +160 -132
  18. package/_chunks/{date-control-Cgw5PwlZ.js → date-control-87dcA5br.js} +5 -5
  19. package/_chunks/{date-time-B8rK5gpC.js → date-time-CfiFYodx.js} +316 -293
  20. package/_chunks/{delete-button-CW9vjLnk.js → delete-button-jneO24wa.js} +1 -1
  21. package/_chunks/dialog.parts-NqEEVc9P.js +131 -0
  22. package/_chunks/{duration-DwFXonEV.js → duration-BGZ_qJ99.js} +10 -7
  23. package/_chunks/{editor-commit-Bq3wSgvr.js → editor-commit-Dyo-FMgD.js} +1 -1
  24. package/_chunks/{editor-popup-BaaxL89T.js → editor-popup-NNP9Fh9U.js} +12 -11
  25. package/_chunks/field-configurator-DPulsY3l.js +288 -0
  26. package/_chunks/{field-context-D57PnBbH.js → field-context-C4_WrO2z.js} +1 -1
  27. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-D4I8HpVp.js} +2 -2
  28. package/_chunks/{icon-toolbar-xbqa0hu9.js → icon-toolbar-BAAdEvr9.js} +41 -35
  29. package/_chunks/{icons-Ci5mADVc.js → icons-B4qN13Yj.js} +1 -1
  30. package/_chunks/{iso-B0YHBK7m.js → iso-CJQl2kmq.js} +1 -1
  31. package/_chunks/{model-mPO2tG2f.js → model-CFrBgRHm.js} +3 -3
  32. package/_chunks/mount-C8CnIW9k.js +267 -0
  33. package/_chunks/{native.view-ByyZ1CT5.js → native-CJm3eq3-.js} +1 -1
  34. package/_chunks/{native-control-DO0d1kgx.js → native-control-um1L1wgZ.js} +124 -111
  35. package/_chunks/{number-input-s9ddPwX6.js → number-input-CKiA4d1N.js} +4 -4
  36. package/_chunks/{picker-AY05b41W.js → picker-igNshTRC.js} +5 -5
  37. package/_chunks/{popup-UXGCiv3n.js → popup-DECYM9FI.js} +21 -10
  38. package/_chunks/{rating-choice-BEs_QFZC.js → rating-choice-CepVfGUq.js} +2 -2
  39. package/_chunks/{render-m5eMMwFR.js → render-bTk3curw.js} +2 -2
  40. package/_chunks/{reorder-list-A49l172e.js → reorder-list-B4w3aARt.js} +2 -2
  41. package/_chunks/{request-trail-DCOfa5zw.js → request-trail-B1zVRPEf.js} +151 -142
  42. package/_chunks/{rich-text-xfMWadGi.js → rich-text-Ci4d6dHn.js} +11 -11
  43. package/_chunks/selection-list-tooltips-m00U3L6z.js +42 -0
  44. package/_chunks/{title-tooltip-Cw6LOZhb.js → title-tooltip-ncldbUwS.js} +2 -2
  45. package/_chunks/{tooltip-D4xkio5G.js → tooltip-h-Z8yFBY.js} +2 -2
  46. package/_chunks/{tooltip-owner-DjdvqKzz.js → tooltip-owner-BYho-vJl.js} +1 -1
  47. package/_chunks/{tooltip-session-B6X6x8G_.js → tooltip-session-CBtRMBPr.js} +3 -3
  48. package/_chunks/{tooltip-text-BXsUEmBH.js → tooltip-text-BN5WdGHn.js} +2 -2
  49. package/_chunks/{top-layer-popup-CNSDdfJV.js → top-layer-popup-CKJ7VJOF.js} +3 -3
  50. package/_dialog.scss +57 -22
  51. package/_form.scss +71 -21
  52. package/_legend.scss +25 -7
  53. package/_variables.scss +34 -32
  54. package/_view-switcher.scss +6 -0
  55. package/activity-message.d.ts +1 -1
  56. package/activity-message.js +1 -1
  57. package/ai/_chat.scss +7 -0
  58. package/ai/_style.scss +27 -20
  59. package/ai/components.d.ts +3 -1
  60. package/ai/index.js +2 -2
  61. package/ai/mount.d.ts +15 -7
  62. package/ai/request-trail.d.ts +9 -3
  63. package/ai/results/_style.scss +3 -0
  64. package/ai/results/index.d.ts +1 -1
  65. package/ai/translations.d.ts +1 -1
  66. package/angular/angular.d.ts +1 -1
  67. package/angular/angular.js +13 -7
  68. package/assignee/assignee.scss +28 -6
  69. package/assignee/index.js +6 -6
  70. package/avatar/avatar.style.scss +23 -6
  71. package/avatar/index.d.ts +25 -2
  72. package/avatar/index.js +2 -2
  73. package/badge.d.ts +1 -1
  74. package/badge.js +1 -1
  75. package/badge.view.d.ts +1 -1
  76. package/brush-range/_brush-range.scss +55 -49
  77. package/brush-range/component.d.ts +1 -3
  78. package/brush-range/component.js +10 -11
  79. package/buttons/delete-button.js +1 -1
  80. package/buttons/delete-button.style.scss +6 -2
  81. package/buttons/remove-button.d.ts +1 -1
  82. package/buttons/remove-button.js +2 -2
  83. package/buttons/remove-button.style.scss +1 -1
  84. package/buttons/svg-button.js +3 -3
  85. package/calendar/_calendar.scss +19 -23
  86. package/calendar/calendar.js +1 -1
  87. package/calendar/day.js +2 -2
  88. package/calendar/header.js +2 -3
  89. package/calendar/index.js +3 -3
  90. package/calendar/model.js +1 -1
  91. package/calendar/month-grid.js +2 -2
  92. package/calendar/translations.js +1 -1
  93. package/calendar/year-grid.js +2 -2
  94. package/cell-input.js +1 -1
  95. package/cell-input.scss +3 -7
  96. package/cell-visuals/badge.style.scss +6 -3
  97. package/cell-visuals/bar-chart.style.scss +2 -1
  98. package/cell-visuals/column-type.style.css +12 -0
  99. package/cell-visuals/index.js +1 -1
  100. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  101. package/cell-visuals/progress-line.style.scss +1 -4
  102. package/cell-visuals/sparkline.style.scss +2 -1
  103. package/cell-visuals/timeline.style.css +4 -2
  104. package/checkbox/checkbox.scss +6 -24
  105. package/checkbox/index.js +1 -1
  106. package/choice-chips/index.js +1 -1
  107. package/color-palette/built-in-palettes.js +1 -1
  108. package/color-palette/chart-palettes.js +1 -1
  109. package/color-palette/color-palette.js +1 -1
  110. package/color-palette/color-palette.style.scss +88 -25
  111. package/color-palette/color-picker.constants.js +1 -1
  112. package/color-palette/color-picker.js +2 -2
  113. package/color-palette/color-picker.style.scss +23 -10
  114. package/color-palette/common-palettes.d.ts +1 -1
  115. package/color-palette/common-palettes.js +2 -2
  116. package/color-palette/gantt-palettes.js +1 -1
  117. package/color-palette/native.d.ts +15 -2
  118. package/color-palette/palette.js +1 -1
  119. package/color-palette/pivot-palettes.js +1 -1
  120. package/color-palette/platform-palettes.js +1 -1
  121. package/color-palette/pro-palettes.js +1 -1
  122. package/color-palette/scheduler-palettes.js +1 -1
  123. package/component-catalog.d.ts +3 -6
  124. package/configurator-actions.d.ts +6 -6
  125. package/configurator-actions.js +1 -1
  126. package/configurator-aggregation-list.d.ts +1 -1
  127. package/configurator-aggregation-list.js +19 -17
  128. package/configurator-drop-zone.d.ts +3 -2
  129. package/configurator-drop-zone.js +34 -32
  130. package/configurator-focus.js +1 -1
  131. package/configurator-sections.d.ts +3 -3
  132. package/configurator-sections.js +1 -1
  133. package/control-attributes.js +1 -1
  134. package/control-presentation.d.ts +8 -2
  135. package/control-presentation.js +2 -2
  136. package/controls.d.ts +11 -0
  137. package/controls.js +4 -4
  138. package/core/anchored-popover.js +1 -1
  139. package/core/control-id.js +1 -1
  140. package/core/editor-popup-position.d.ts +6 -2
  141. package/core/editor-popup.d.ts +4 -0
  142. package/core/editor-popup.js +1 -1
  143. package/core/motion.js +1 -1
  144. package/{_chunks/popover-controller-D-AvKQ7B.js → core/popover-controller.js} +8 -8
  145. package/core/selection-list-tooltips.d.ts +2 -0
  146. package/core/tooltip.d.ts +1 -1
  147. package/core/top-layer-popup.d.ts +1 -1
  148. package/core/top-layer-popup.js +1 -1
  149. package/date-time/attach.d.ts +1 -1
  150. package/date-time/date-control.d.ts +1 -1
  151. package/date-time/field.d.ts +4 -2
  152. package/date-time/index.js +1 -1
  153. package/date-time/style.scss +206 -46
  154. package/date-time/time-selection.d.ts +1 -1
  155. package/date-time/types.d.ts +5 -1
  156. package/dialog/dialog-action-footer.d.ts +17 -2
  157. package/dialog/dialog.dom.d.ts +15 -2
  158. package/dialog/dialog.dom.js +3 -3
  159. package/dialog/dialog.drag.js +1 -1
  160. package/dialog/dialog.parts.d.ts +1 -1
  161. package/dialog/dialog.parts.js +1 -1
  162. package/dialog/dialog.preact.js +1 -1
  163. package/distribution-chart/_distribution-chart.scss +115 -23
  164. package/distribution-chart/area-chart.js +2 -2
  165. package/distribution-chart/bar-chart.js +2 -2
  166. package/distribution-chart/chart-frame.d.ts +1 -1
  167. package/distribution-chart/index.d.ts +1 -1
  168. package/distribution-chart/index.js +1 -1
  169. package/distribution-chart/line-chart.js +2 -2
  170. package/dropdown/content.js +1 -1
  171. package/dropdown/control.js +1 -1
  172. package/dropdown/dropdown.service.js +1 -1
  173. package/dropdown/dropdown.types.d.ts +1 -1
  174. package/dropdown/editor-dropdown.style.scss +19 -9
  175. package/dropdown/index.js +2 -2
  176. package/dropdown/lookup-field.d.ts +5 -0
  177. package/dropdown/lookup-field.js +3 -3
  178. package/dropdown/popup.js +1 -1
  179. package/duration/index.js +1 -1
  180. package/editor-actions.js +2 -2
  181. package/editor-layout/index.d.ts +4 -4
  182. package/editor-layout/index.js +40 -35
  183. package/editor-layout/style.scss +82 -18
  184. package/favicon.svg +9 -0
  185. package/field-configurator.d.ts +22 -3
  186. package/field-configurator.js +1 -1
  187. package/field-reorder.hook.js +1 -1
  188. package/field-reorder.js +1 -1
  189. package/filter/filters/slider/_single-slider.scss +57 -38
  190. package/filter/filters/slider/_slider.scss +41 -16
  191. package/filter/filters/slider/component.js +1 -1
  192. package/filter/filters/slider/control.js +1 -1
  193. package/filter/filters/slider/inputs.js +1 -1
  194. package/filter/filters/slider/logic.js +1 -1
  195. package/filter/filters/slider/preact.js +1 -1
  196. package/filter/filters/slider/runtime.js +3 -3
  197. package/filter/filters/slider/single.js +2 -2
  198. package/filter-badge.js +2 -2
  199. package/filter-controls.d.ts +0 -1
  200. package/filter-controls.js +6 -7
  201. package/form-controls/index.d.ts +10 -2
  202. package/form-controls/index.js +3 -3
  203. package/form-controls/presentation.d.ts +1 -1
  204. package/form-controls/presentation.js +2 -2
  205. package/formatting/index.d.ts +1 -1
  206. package/formatting/index.js +7 -7
  207. package/formatting/styles.scss +13 -11
  208. package/framework.js +201 -205
  209. package/history-controls.js +1 -1
  210. package/html-controls.js +1 -1
  211. package/icon-toolbar.d.ts +6 -2
  212. package/icon-toolbar.js +1 -1
  213. package/icons/icon.d.ts +1 -1
  214. package/icons/icon.js +1 -1
  215. package/legend.d.ts +1 -1
  216. package/legend.js +1 -1
  217. package/masked-input/index.js +4 -4
  218. package/native-control.js +1 -1
  219. package/native-controls.d.ts +54 -2
  220. package/native-styles.css +1 -1
  221. package/native-styles.scss +6 -2
  222. package/native.d.ts +3 -3
  223. package/native.js +35 -35
  224. package/number-input/index.d.ts +1 -1
  225. package/number-input/index.js +1 -1
  226. package/package.json +49 -1
  227. package/pagination.js +12 -12
  228. package/pdf-viewer/controller.js +1 -1
  229. package/pdf-viewer/header.d.ts +1 -1
  230. package/pdf-viewer/index.d.ts +2 -2
  231. package/pdf-viewer/index.js +3 -3
  232. package/pdf-viewer/search-bar.d.ts +1 -1
  233. package/pdf-viewer/status.d.ts +1 -1
  234. package/pdf-viewer/style.scss +203 -42
  235. package/preact-mount.js +1 -1
  236. package/preact.d.ts +6 -10
  237. package/preact.js +108 -70
  238. package/progress/_bar.scss +9 -3
  239. package/progress/_circular.scss +2 -1
  240. package/progress/bar.js +1 -1
  241. package/progress/circular.js +1 -1
  242. package/progress/range.js +1 -1
  243. package/rating-choice.js +1 -1
  244. package/react-adapter.d.ts +4 -2
  245. package/react-control.d.ts +2 -0
  246. package/react-control.js +3 -3
  247. package/react.d.ts +2 -8
  248. package/react.js +55 -56
  249. package/reorder-list.d.ts +1 -1
  250. package/reorder-list.js +1 -1
  251. package/reorder-list.scss +59 -17
  252. package/resource-picker/resource-picker-avatar.js +1 -1
  253. package/resource-picker/resource-picker-option.js +1 -1
  254. package/resource-picker/resource-picker-popup.js +2 -2
  255. package/resource-picker/resource-picker.js +74 -72
  256. package/resource-picker/resource-picker.scss +62 -34
  257. package/resource-picker/resource-picker.utils.js +1 -1
  258. package/rich-text/index.js +1 -1
  259. package/rich-text/style.scss +203 -49
  260. package/rich-text/toolbar.d.ts +1 -1
  261. package/robots.txt +4 -0
  262. package/search-input/index.js +2 -2
  263. package/search-input/native.d.ts +21 -2
  264. package/segmented-switch/index.js +1 -1
  265. package/select.js +1 -1
  266. package/selection-list.d.ts +1 -0
  267. package/selection-list.js +3 -1
  268. package/status-feedback/badge.js +2 -2
  269. package/status-feedback/exit-snapshot.js +2 -2
  270. package/status-feedback/header.js +2 -2
  271. package/status-feedback/icons.js +1 -1
  272. package/status-feedback/index.js +1 -1
  273. package/status-feedback/item.js +2 -2
  274. package/status-feedback/motion.js +1 -1
  275. package/status-feedback/placement.js +1 -1
  276. package/status-feedback/popover.js +2 -2
  277. package/status-feedback/render.js +1 -1
  278. package/status-feedback/status-feedback.scss +124 -35
  279. package/styles/_activity-message.scss +24 -7
  280. package/styles/_alert.scss +78 -17
  281. package/styles/_cell-editor-frame.scss +11 -0
  282. package/styles/_compositions.scss +399 -79
  283. package/styles/_control.scss +30 -8
  284. package/styles/_disclosure.scss +15 -5
  285. package/styles/_editor-counter.scss +16 -6
  286. package/styles/_editor-slider.scss +8 -4
  287. package/styles/_field-configurator.scss +194 -42
  288. package/styles/_fields-grid.scss +18 -4
  289. package/styles/_filter-controls.scss +10 -2
  290. package/styles/_icon-action.scss +48 -15
  291. package/styles/_loading.scss +12 -3
  292. package/styles/_motion.scss +32 -9
  293. package/styles/_palette.scss +0 -24
  294. package/styles/_primitives.scss +348 -96
  295. package/styles/_theme.scss +130 -86
  296. package/styles/_thresholds.scss +28 -25
  297. package/styles/_time-grid.scss +8 -3
  298. package/styles/_tokens.scss +6 -1
  299. package/styles/color-roles.js +1 -1
  300. package/styles/configurator-actions.scss +126 -26
  301. package/styles/pagination.css +213 -0
  302. package/styles/{legacy-rating.css → rating.css} +8 -3
  303. package/styles.css +1 -1
  304. package/styles.scss +3 -5
  305. package/surfaces.d.ts +37 -4
  306. package/surfaces.js +8 -8
  307. package/svelte/UiComponent.svelte +44 -11
  308. package/svelte-control.js +1 -1
  309. package/svelte.d.ts +1 -1
  310. package/svelte.js +5 -5
  311. package/switch/index.js +2 -2
  312. package/time-grid.d.ts +0 -1
  313. package/time-grid.js +6 -6
  314. package/timeline-track/_style.scss +96 -24
  315. package/timeline-track/index.js +3 -3
  316. package/timeline-track/model.js +1 -1
  317. package/ui.css +1 -1
  318. package/view-switcher.d.ts +23 -0
  319. package/vue-badge.js +1 -1
  320. package/vue-control.js +1 -1
  321. package/vue-segmented-switch.js +1 -1
  322. package/vue.d.ts +5 -23
  323. package/vue.js +84 -91
  324. package/_chunks/badge.view-D30pMUfi.js +0 -14
  325. package/_chunks/chevron-right-sxHQMSkq.js +0 -4
  326. package/_chunks/dialog.parts-BSbvnEwX.js +0 -134
  327. package/_chunks/field-configurator-1eQP0tKy.js +0 -223
  328. package/_chunks/mount-D1i5DLRn.js +0 -266
  329. package/_shared/data-query/binding.d.ts +0 -30
  330. package/_shared/data-query/blocks.d.ts +0 -30
  331. package/_shared/data-query/commands.d.ts +0 -47
  332. package/_shared/data-query/contracts.d.ts +0 -106
  333. package/_shared/data-query/cursor-reader.d.ts +0 -25
  334. package/_shared/data-query/direct-binding.d.ts +0 -3
  335. package/_shared/data-query/index.d.ts +0 -23
  336. package/_shared/data-query/infinite-binding.d.ts +0 -18
  337. package/_shared/data-query/keys.d.ts +0 -9
  338. package/_shared/data-query/limiter.d.ts +0 -12
  339. package/_shared/data-query/load-options.d.ts +0 -25
  340. package/_shared/data-query/materialize.d.ts +0 -2
  341. package/_shared/data-query/policy.d.ts +0 -14
  342. package/_shared/data-query/provider-queries.d.ts +0 -22
  343. package/_shared/data-query/reader.d.ts +0 -23
  344. package/_shared/data-query/remote-load.d.ts +0 -7
  345. package/_shared/data-query/source.d.ts +0 -40
  346. package/avatar/index.view.d.ts +0 -25
  347. package/color-palette/native.view.d.ts +0 -15
  348. package/control-presentation.view.d.ts +0 -8
  349. package/dialog/dialog-action-footer.view.d.ts +0 -20
  350. package/dialog/dialog.dom.view.d.ts +0 -15
  351. package/form-controls/index.view.d.ts +0 -10
  352. package/formatting/control-tooltip.d.ts +0 -2
  353. package/native-controls.view.d.ts +0 -54
  354. package/search-input/native.view.d.ts +0 -21
  355. package/styles/legacy-pagination.css +0 -129
  356. package/surfaces.view.d.ts +0 -33
package/MIGRATION.md ADDED
@@ -0,0 +1,36 @@
1
+ # Current UI APIs
2
+
3
+ This change removes compatibility-only component names, CSS hooks and forwarding modules. Native mounting APIs (`createPreactElement`, `mountColorPicker`, native controls and dialogs) and React, Vue, Angular and Svelte adapters remain supported.
4
+
5
+ ## Component names
6
+
7
+ Use the current names from the matching framework entry:
8
+
9
+ | Removed name | Current name |
10
+ | ---------------- | ---------------------- |
11
+ | `Icon` | `SvgIcon` |
12
+ | `RemovableChip` | `FilterChip` |
13
+ | `Slider` | `SingleValueSlider` |
14
+ | `RangeSlider` | `PreactRangeSlider` |
15
+ | `ResourcePicker` | `SharedResourcePicker` |
16
+ | `FeedbackPanel` | `StatusFeedbackPanel` |
17
+
18
+ The same names apply to the Angular/Svelte `UiComponent` component selector. Local import aliases are ordinary language aliases and remain available, for example `import { SingleValueSlider as Slider } from '@revolist/ui/react'`.
19
+
20
+ Import `Legend` from `@revolist/ui/legend` or the framework entry, rather than `@revolist/ui/filter-controls`. Use `ControlTooltip` instead of the unused `TooltipSurface` export. Render `DialogActionFooter` or `ActionFooterView` directly instead of calling the removed `renderDialogActionFooter(h, props)` signature.
21
+
22
+ ## Styling
23
+
24
+ `TimeGrid` and `BrushRange` no longer accept `legacyClassPrefix`. Use `rv-time-grid__*` and `brush-range__*` respectively. Slider endpoints use the shared `fromSlider` and `toSlider` classes. Product-owned filter headers, summaries and action controls retain their product-owned names.
25
+
26
+ Checkbox customization uses `--rv-ui-checkbox-bg`, `--rv-ui-checkbox-border`, `--rv-ui-checkbox-checked`, `--rv-ui-checkbox-check` and `--rv-ui-checkbox-focus`; RowSelect/ColumnDialog variable aliases are removed.
27
+
28
+ The active rating and pagination style rules are now in `styles/rating.css` and `styles/pagination.css`, and remain included by the main stylesheet. Primitive `$legacy-*` Sass aliases are removed; internal styles use the existing palette lookup API. The unused scalar-slider fill element is removed; its current range input owns the fill.
29
+
30
+ ## Date/time labels
31
+
32
+ A time picker uses `text.chooseTime`, falling back to its default time label. It no longer borrows `text.chooseDate`. Date pickers continue to use `text.chooseDate`.
33
+
34
+ ## Source ownership
35
+
36
+ Forwarding-only `.ts` modules have been replaced by their owning TSX implementations at the canonical module paths. Public package entry names stay unchanged. The native mounting bridge remains the shared owner of element-returning adapters.
package/OWNERSHIP.md CHANGED
@@ -1,43 +1,43 @@
1
1
  # Shared UI ownership
2
2
 
3
3
  `@revolist/ui` is the implementation owner for reusable product controls. Pro's
4
- existing exports and leaf modules are compatibility adapters. Product code owns
4
+ canonical exports and leaf modules contain the current implementations. Product code owns
5
5
  values, validation, commands, persistence and domain layout.
6
6
 
7
7
  AI prompt, suggestions, applied-request trail, action status, result and assistant compositions live in
8
- `src/ai/`; `src/ai/_style.scss` owns their token-based presentation. Pro's AI
8
+ `package/ai/`; `package/ai/_style.scss` owns their token-based presentation. Pro's AI
9
9
  adapter owns interpretation, field policy, view commands, query execution and
10
10
  view snapshots. Framework adapters and native mounting reuse the same TSX.
11
11
 
12
- | Component family | Implementation owner under `src/` | Style owner under `src/` |
13
- | --- | --- | --- |
14
- | Native button, input, select, textarea, summary | `control-presentation.view.tsx`; Preact `native-control.tsx` | `styles/_primitives.scss`, `styles/_control.scss`, `_form.scss` |
15
- | Button variants, icon button, toggle, group | `controls.tsx`, `buttons/` | `styles/_primitives.scss` |
16
- | Icon | `icons/icon.tsx` | `styles/_primitives.scss` |
17
- | Checkbox | `checkbox/index.ts` | `checkbox/checkbox.scss` |
18
- | Switch | `switch/index.tsx` | `styles/_primitives.scss` |
19
- | Radio group | `controls.tsx` | `_form.scss`, `styles/_compositions.scss` |
20
- | Choice chips, segmented control, tabs | `choice-chips/`, `segmented-switch/`; semantic exports in `controls.tsx` | `styles/_primitives.scss` |
21
- | Search | `search-input/native.view.tsx`; Preact `search-input/index.tsx` | `styles/_primitives.scss` |
22
- | Number/date/time inputs, stepper | `controls.tsx`; grid scalar/counter adapters in `native-controls.view.tsx` | `_form.scss`, `styles/_editor-counter.scss` |
23
- | Listbox, panes, split layout | `editor-layout/index.tsx`; neutral aliases in `controls.tsx` | `editor-layout/style.scss` |
24
- | Form field, hint, error, section, disclosure | `form-controls/`, `controls.tsx` | `_form.scss`, `styles/_compositions.scss` |
25
- | Chips | `form-controls/presentation.tsx` | `styles/_primitives.scss` |
26
- | Scalar/range sliders | `filter/filters/slider/`, `native-controls.view.tsx` | `filter/filters/slider/_slider.scss`, `styles/_editor-slider.scss` |
27
- | Calendar and date pickers | `calendar/`, `pickers.tsx` | `calendar/_calendar.scss`, `styles/_compositions.scss` |
28
- | Dropdown, combobox, multi-select | `dropdown/`; compositions in `pickers.tsx` | `dropdown/editor-dropdown.style.scss`, `styles/_compositions.scss` |
29
- | Color palette/picker | `color-palette/` | `color-palette/*.scss` |
30
- | Resource picker, avatar | `resource-picker/`, `avatar/` | `resource-picker/resource-picker.scss`, `avatar/avatar.style.scss` |
31
- | Dialog, popover, tooltip, menu, resize | `surfaces.view.tsx`, `dialog/`, `core/`; Preact compositions in `controls.tsx` and `pickers.tsx` | `_dialog.scss`, `styles/_primitives.scss`, `styles/_compositions.scss` |
32
- | Toolbar, panel, empty state, alerts | `controls.tsx` | `styles/_compositions.scss` |
33
- | Status feedback and badges | `status-feedback/`, `controls.tsx` | `status-feedback/status-feedback.scss`, `styles/_primitives.scss` |
34
- | Loading | `native-controls.view.tsx`, `controls.tsx` | `styles/_loading.scss`, `styles/_compositions.scss` |
35
- | Pagination, progress, rating | `pagination.ts`, `progress/`, `native-controls.view.tsx`, `controls.tsx` | `progress/_bar.scss`, `progress/_circular.scss`, `styles/legacy-rating.css`, `styles/legacy-pagination.css`, `styles/_compositions.scss` |
36
- | BarChart, LineChart, AreaChart; distribution adapter and brush range | `distribution-chart/bar-chart.tsx`, `line-chart.tsx`, `area-chart.tsx`; shared `chart-frame.tsx` and `geometry.ts`; `brush-range/` | `distribution-chart/_distribution-chart.scss`, `brush-range/_brush-range.scss` |
37
- | Option rows, legend, inline fields | `filter-controls.tsx` | `styles/_filter-controls.scss` |
38
- | Weekly time grid and keyboard/paint gesture lifecycle | `time-grid.tsx` | `styles/_time-grid.scss` |
39
- | Highlighted text input and scroll synchronization | `filter-controls.tsx` | `styles/_filter-controls.scss` |
40
- | Theme tokens | `styles/_theme.scss` | `styles/_tokens.scss` installs light/dark scopes |
12
+ | Component family | Implementation owner under `package/` | Style owner under `package/` |
13
+ | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
14
+ | Native button, input, select, textarea, summary | `control-presentation.tsx`; Preact `native-control.tsx` | `styles/_primitives.scss`, `styles/_control.scss`, `_form.scss` |
15
+ | Button variants, icon button, toggle, group | `controls.tsx`, `buttons/` | `styles/_primitives.scss` |
16
+ | Icon | `icons/icon.tsx` | `styles/_primitives.scss` |
17
+ | Checkbox | `checkbox/index.ts` | `checkbox/checkbox.scss` |
18
+ | Switch | `switch/index.tsx` | `styles/_primitives.scss` |
19
+ | Radio group | `controls.tsx` | `_form.scss`, `styles/_compositions.scss` |
20
+ | Choice chips, segmented control, tabs | `choice-chips/`, `segmented-switch/`; semantic exports in `controls.tsx` | `styles/_primitives.scss` |
21
+ | Search | `search-input/native.tsx`; Preact `search-input/index.tsx` | `styles/_primitives.scss` |
22
+ | Number/date/time inputs, stepper | `controls.tsx`; grid scalar/counter adapters in `native-controls.tsx` | `_form.scss`, `styles/_editor-counter.scss` |
23
+ | Listbox, panes, split layout | `editor-layout/index.tsx`; neutral aliases in `controls.tsx` | `editor-layout/style.scss` |
24
+ | Form field, hint, error, section, disclosure | `form-controls/`, `controls.tsx` | `_form.scss`, `styles/_compositions.scss` |
25
+ | Chips | `form-controls/presentation.tsx` | `styles/_primitives.scss` |
26
+ | Scalar/range sliders | `filter/filters/slider/`, `native-controls.tsx` | `filter/filters/slider/_slider.scss`, `styles/_editor-slider.scss` |
27
+ | Calendar and date pickers | `calendar/`, `pickers.tsx` | `calendar/_calendar.scss`, `styles/_compositions.scss` |
28
+ | Dropdown, combobox, multi-select | `dropdown/`; compositions in `pickers.tsx` | `dropdown/editor-dropdown.style.scss`, `styles/_compositions.scss` |
29
+ | Color palette/picker | `color-palette/` | `color-palette/*.scss` |
30
+ | Resource picker, avatar | `resource-picker/`, `avatar/` | `resource-picker/resource-picker.scss`, `avatar/avatar.style.scss` |
31
+ | Dialog, popover, tooltip, menu, resize | `surfaces.tsx`, `dialog/`, `core/`; Preact compositions in `controls.tsx` and `pickers.tsx` | `_dialog.scss`, `styles/_primitives.scss`, `styles/_compositions.scss` |
32
+ | Toolbar, panel, empty state, alerts | `controls.tsx` | `styles/_compositions.scss` |
33
+ | Status feedback and badges | `status-feedback/`, `controls.tsx` | `status-feedback/status-feedback.scss`, `styles/_primitives.scss` |
34
+ | Loading | `native-controls.tsx`, `controls.tsx` | `styles/_loading.scss`, `styles/_compositions.scss` |
35
+ | Pagination, progress, rating | `pagination.ts`, `progress/`, `native-controls.tsx`, `controls.tsx` | `progress/_bar.scss`, `progress/_circular.scss`, `styles/rating.css`, `styles/pagination.css`, `styles/_compositions.scss` |
36
+ | BarChart, LineChart, AreaChart; distribution adapter and brush range | `distribution-chart/bar-chart.tsx`, `line-chart.tsx`, `area-chart.tsx`; shared `chart-frame.tsx` and `geometry.ts`; `brush-range/` | `distribution-chart/_distribution-chart.scss`, `brush-range/_brush-range.scss` |
37
+ | Option rows, legend, inline fields | `filter-controls.tsx` | `styles/_filter-controls.scss` |
38
+ | Weekly time grid and keyboard/paint gesture lifecycle | `time-grid.tsx` | `styles/_time-grid.scss` |
39
+ | Highlighted text input and scroll synchronization | `filter-controls.tsx` | `styles/_filter-controls.scss` |
40
+ | Theme tokens | `styles/_theme.scss` | `styles/_tokens.scss` installs light/dark scopes |
41
41
 
42
42
  ## Renderer and stylesheet contracts
43
43
 
@@ -63,7 +63,7 @@ menus keep domain policy and data operations in their product. Large title
63
63
  fields and toolbar layouts remain product compositions using shared primitives.
64
64
  Grid cells, timeline event/task hit targets, dependency handles, card drag
65
65
  surfaces, grid expansion and virtualization keep their product geometry.
66
- `src/ownership.test.ts` records the explicit scene exceptions and rejects new
66
+ `package/ownership.test.ts` records the explicit scene exceptions and rejects new
67
67
  local primitive JSX/factories elsewhere. UI's native dependency boundary and
68
68
  Charts' rendering boundary have separate assertions.
69
69
 
@@ -72,7 +72,7 @@ integration tests. Canonical suite selection is documented in `TESTING.md`.
72
72
 
73
73
  History and export commands use UI's `SvgButton` (or `IconButton` convenience composition) for SVG, count badge and pointer/keyboard tooltip presentation. Element-returning adapters use `decorateIconAction`; Charts renders controls through Preact. Products supply localized labels, permissions, actions and history counts. `ToolbarGroup` groups commands with spacing; `ButtonGroup` remains the bordered choice composition. Both danger button variants use the same red outline presentation.
74
74
 
75
- Structured filter adapters retain aggregation, matching, amount/date validation, timezone policy, preset meaning and commit transactions. UI receives explicit data and formatted labels. Expression parsing, syntax tokens, diagnostics and debounce remain in Pro; UI owns the highlighted input's geometry and scroll synchronization. TimeGrid owns keyboard focus and paint gesture cleanup; Pro expands visual buckets into selected hourly filter values. Legacy filter CSS classes remain adapter hooks, with theme aliases at the Pro boundary.
75
+ Structured filter adapters retain aggregation, matching, amount/date validation, timezone policy, preset meaning and commit transactions. UI receives explicit data and formatted labels. Expression parsing, syntax tokens, diagnostics and debounce remain in Pro; UI owns the highlighted input's geometry and scroll synchronization. TimeGrid owns keyboard focus and paint gesture cleanup; Pro expands visual buckets into selected hourly filter values. Filter consumers use the canonical TimeGrid and BrushRange classes and semantic UI tokens.
76
76
 
77
77
  ## Grid-backed filter compositions stay in Pro
78
78
 
@@ -92,7 +92,7 @@ BarChart and LineChart are independent compact visual components, exported throu
92
92
 
93
93
  ### Field configurators
94
94
 
95
- `src/field-configurator.tsx` owns field libraries, headings, lists, drag-ready rows, neutral items and icon/caption slots. `src/styles/_field-configurator.scss` owns presentation and UI-token fallbacks. Pivot configurator exports remain aliases; its SCSS mixin delegates to UI. Query rules, native policy inspection, field metadata icons, tooltips and grid drag/drop stay in Pivot. The gallery demonstrates these primitives independently.
95
+ `package/field-configurator.tsx` owns field libraries, headings, lists, drag-ready rows, neutral items and icon/caption slots. `package/styles/_field-configurator.scss` owns presentation and UI-token fallbacks. Pivot configurator exports remain aliases; its SCSS mixin delegates to UI. Query rules, native policy inspection, field metadata icons, tooltips and grid drag/drop stay in Pivot. The gallery demonstrates these primitives independently.
96
96
 
97
97
  Pivot configuration and chart query searchable fields both use `PivotDimensionsGrid` and Pro `TreeDataPlugin` in Pivot. The UI field library is a neutral disclosure/list shell, never a substitute for these grid-backed browsers.
98
98
 
@@ -108,7 +108,7 @@ Link-style action buttons use `Button variant="link"` or `SvgButton variant="lin
108
108
 
109
109
  ## Interactive timeline track
110
110
 
111
- `src/timeline-track/` owns controlled bar rendering, selection, pointer capture/movement/resizing, keyboard edits, numeric geometry helpers and track styles. Pro's Timeline editor adapter retains draft validation, localization and commits; its existing model helper exports forward to the shared model. The read-only cell timeline renderer remains in `cell-visuals/timeline.ts`.
111
+ `package/timeline-track/` owns controlled bar rendering, selection, pointer capture/movement/resizing, keyboard edits, numeric geometry helpers and track styles. Pro's Timeline editor adapter retains draft validation, localization and commits; its existing model helper exports forward to the shared model. The read-only cell timeline renderer remains in `cell-visuals/timeline.ts`.
112
112
 
113
113
  ## Editable dialog composition
114
114
 
@@ -120,4 +120,4 @@ Link-style action buttons use `Button variant="link"` or `SvgButton variant="lin
120
120
 
121
121
  ## Preact element construction
122
122
 
123
- All shared UI markup is Preact TSX. Element-returning compatibility APIs mount the same TSX through `preact-mount.ts`; they do not build parallel DOM trees. Lifecycle controllers may attach, position, focus and dispose rendered roots. Grid/Stencil VNode adapters retain the Core rendering contract. Charts controls use Preact through the same mount boundary; chart scene/export geometry remains scene-owned.
123
+ All shared UI markup is Preact TSX. Element-returning native APIs mount the same TSX through `preact-mount.ts`; they do not build parallel DOM trees. Lifecycle controllers may attach, position, focus and dispose rendered roots. Grid/Stencil VNode adapters retain the Core rendering contract. Charts controls use Preact through the same mount boundary; chart scene/export geometry remains scene-owned.