@revolist/ui 4.0.4-rc → 4.0.4

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 (401) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +36 -36
  3. package/README.md +65 -392
  4. package/_button.scss +6 -2
  5. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  6. package/_chunks/calculator-CDWOuAcp.js +4 -0
  7. package/_chunks/{calendar-xpZ0v3xf.js → calendar-BQYQLu8Q.js} +23 -23
  8. package/_chunks/{cell-visuals-E-2oEKHg.js → cell-visuals-r6DOOhGh.js} +7 -7
  9. package/_chunks/chart-frame-GprenwEg.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-C5OxD0GV.js +126 -0
  13. package/_chunks/{color-palette-D8vyPfld.js → color-palette-7siNch__.js} +22 -24
  14. package/_chunks/color-picker-Cfc9eqZb.js +143 -0
  15. package/_chunks/{component-C_T2VN5u.js → component-C3k_8uIq.js} +290 -275
  16. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-DlVkpW3h.js} +1 -9
  17. package/_chunks/configurator-actions-vRnI54mO.js +155 -0
  18. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  19. package/_chunks/control-BRfF5DWQ.js +118 -0
  20. package/_chunks/{controller-hRBm_Lfz.js → controller-BbiQuRt-.js} +5 -5
  21. package/_chunks/controls-B3EgM_DS.js +650 -0
  22. package/_chunks/{date-control-DrVFX13g.js → date-control-87dcA5br.js} +5 -5
  23. package/_chunks/{date-time-qIhp5vaX.js → date-time-CfiFYodx.js} +332 -293
  24. package/_chunks/{delete-button-CW9vjLnk.js → delete-button-jneO24wa.js} +1 -1
  25. package/_chunks/dialog.parts-NqEEVc9P.js +131 -0
  26. package/_chunks/{duration-CL68Em0o.js → duration-BGZ_qJ99.js} +10 -10
  27. package/_chunks/{editor-commit-Bq3wSgvr.js → editor-commit-Dyo-FMgD.js} +1 -1
  28. package/_chunks/editor-popup-NNP9Fh9U.js +82 -0
  29. package/_chunks/field-configurator-DPulsY3l.js +288 -0
  30. package/_chunks/{field-context-D57PnBbH.js → field-context-C4_WrO2z.js} +1 -1
  31. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-D4I8HpVp.js} +2 -2
  32. package/_chunks/icon-toolbar-BAAdEvr9.js +134 -0
  33. package/_chunks/{icons-Ci5mADVc.js → icons-B4qN13Yj.js} +1 -1
  34. package/_chunks/{iso-B0YHBK7m.js → iso-CJQl2kmq.js} +1 -1
  35. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  36. package/_chunks/minus-BOAR3A1C.js +4 -0
  37. package/_chunks/{model-mPO2tG2f.js → model-CFrBgRHm.js} +3 -3
  38. package/_chunks/mount-C8CnIW9k.js +267 -0
  39. package/_chunks/{native.view-ByyZ1CT5.js → native-CJm3eq3-.js} +1 -1
  40. package/_chunks/native-control-um1L1wgZ.js +649 -0
  41. package/_chunks/{number-input-BKwA5FnM.js → number-input-CKiA4d1N.js} +9 -9
  42. package/_chunks/{picker-h1P5RUgp.js → picker-igNshTRC.js} +5 -5
  43. package/_chunks/plus-CbGRkIGl.js +4 -0
  44. package/_chunks/{popup-CT2uD3go.js → popup-DECYM9FI.js} +116 -105
  45. package/_chunks/{rating-choice-DZgmaic0.js → rating-choice-CepVfGUq.js} +2 -2
  46. package/_chunks/{render-m5eMMwFR.js → render-bTk3curw.js} +2 -2
  47. package/_chunks/{reorder-list-CSlqAGHw.js → reorder-list-B4w3aARt.js} +2 -2
  48. package/_chunks/request-trail-B1zVRPEf.js +762 -0
  49. package/_chunks/rich-text-Ci4d6dHn.js +842 -0
  50. package/_chunks/rotate-left-BF6G883o.js +4 -0
  51. package/_chunks/selection-list-tooltips-m00U3L6z.js +42 -0
  52. package/_chunks/title-tooltip-ncldbUwS.js +11 -0
  53. package/_chunks/tooltip-h-Z8yFBY.js +54 -0
  54. package/_chunks/tooltip-owner-BYho-vJl.js +19 -0
  55. package/_chunks/tooltip-session-CBtRMBPr.js +110 -0
  56. package/_chunks/tooltip-text-BN5WdGHn.js +12 -0
  57. package/_chunks/top-layer-popup-CKJ7VJOF.js +59 -0
  58. package/_dialog.scss +57 -22
  59. package/_form.scss +71 -21
  60. package/_legend.scss +25 -7
  61. package/_variables.scss +34 -32
  62. package/_view-switcher.scss +6 -0
  63. package/activity-message.d.ts +1 -1
  64. package/activity-message.js +1 -1
  65. package/ai/_chat.scss +35 -3
  66. package/ai/_style.scss +76 -16
  67. package/ai/chat.d.ts +3 -1
  68. package/ai/components.d.ts +16 -3
  69. package/ai/index.d.ts +1 -0
  70. package/ai/index.js +3 -3
  71. package/ai/mount.d.ts +30 -6
  72. package/ai/request-trail.d.ts +9 -3
  73. package/ai/results/_style.scss +83 -0
  74. package/ai/results/index.d.ts +11 -0
  75. package/ai/results/metrics.d.ts +5 -0
  76. package/ai/results/table.d.ts +5 -0
  77. package/ai/results/text.d.ts +5 -0
  78. package/ai/results/types.d.ts +29 -0
  79. package/ai/transcript.d.ts +2 -0
  80. package/ai/translations.d.ts +1 -1
  81. package/angular/angular.d.ts +1 -1
  82. package/angular/angular.js +13 -7
  83. package/assignee/assignee.scss +28 -6
  84. package/assignee/index.js +6 -6
  85. package/avatar/avatar.style.scss +23 -6
  86. package/avatar/index.d.ts +25 -2
  87. package/avatar/index.js +33 -32
  88. package/badge.d.ts +1 -1
  89. package/badge.js +1 -1
  90. package/badge.view.d.ts +8 -0
  91. package/brush-range/_brush-range.scss +55 -49
  92. package/brush-range/component.d.ts +1 -3
  93. package/brush-range/component.js +28 -28
  94. package/buttons/delete-button.js +1 -1
  95. package/buttons/delete-button.style.scss +6 -2
  96. package/buttons/remove-button.d.ts +1 -1
  97. package/buttons/remove-button.js +2 -2
  98. package/buttons/remove-button.style.scss +1 -1
  99. package/buttons/svg-button.d.ts +1 -1
  100. package/buttons/svg-button.js +17 -17
  101. package/calendar/_calendar.scss +21 -25
  102. package/calendar/calendar.js +1 -1
  103. package/calendar/day.js +2 -2
  104. package/calendar/header.js +2 -3
  105. package/calendar/index.js +3 -3
  106. package/calendar/model.js +1 -1
  107. package/calendar/month-grid.js +2 -2
  108. package/calendar/translations.js +1 -1
  109. package/calendar/year-grid.js +2 -2
  110. package/cell-input.js +1 -1
  111. package/cell-input.scss +3 -7
  112. package/cell-visuals/badge.style.scss +6 -3
  113. package/cell-visuals/bar-chart.style.scss +2 -1
  114. package/cell-visuals/column-type.style.css +12 -0
  115. package/cell-visuals/index.js +1 -1
  116. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  117. package/cell-visuals/progress-line.style.scss +1 -4
  118. package/cell-visuals/sparkline.style.scss +2 -1
  119. package/cell-visuals/timeline.style.css +4 -2
  120. package/checkbox/checkbox.scss +6 -24
  121. package/checkbox/index.js +1 -1
  122. package/choice-chips/index.d.ts +3 -1
  123. package/choice-chips/index.js +1 -1
  124. package/color-palette/built-in-palettes.js +1 -1
  125. package/color-palette/chart-palettes.js +1 -1
  126. package/color-palette/color-palette.js +1 -1
  127. package/color-palette/color-palette.style.scss +88 -25
  128. package/color-palette/color-picker.constants.js +1 -1
  129. package/color-palette/color-picker.js +2 -2
  130. package/color-palette/color-picker.style.scss +23 -10
  131. package/color-palette/common-palettes.d.ts +1 -1
  132. package/color-palette/common-palettes.js +2 -2
  133. package/color-palette/gantt-palettes.js +1 -1
  134. package/color-palette/native.d.ts +15 -2
  135. package/color-palette/palette.js +1 -1
  136. package/color-palette/pivot-palettes.js +1 -1
  137. package/color-palette/platform-palettes.js +1 -1
  138. package/color-palette/pro-palettes.js +1 -1
  139. package/color-palette/scheduler-palettes.js +1 -1
  140. package/component-catalog.d.ts +9 -7
  141. package/configurator-actions.d.ts +67 -0
  142. package/configurator-actions.js +1 -0
  143. package/configurator-aggregation-list.d.ts +14 -0
  144. package/configurator-aggregation-list.js +63 -0
  145. package/configurator-drop-zone.d.ts +39 -0
  146. package/configurator-drop-zone.js +66 -0
  147. package/configurator-field-icon.d.ts +10 -0
  148. package/configurator-field-icon.js +1 -0
  149. package/configurator-focus.d.ts +4 -0
  150. package/configurator-focus.js +39 -0
  151. package/configurator-sections.d.ts +42 -0
  152. package/configurator-sections.js +71 -0
  153. package/control-attributes.js +1 -1
  154. package/control-presentation.d.ts +8 -2
  155. package/control-presentation.js +25 -20
  156. package/controls.d.ts +12 -2
  157. package/controls.js +4 -3
  158. package/core/anchored-popover.js +1 -1
  159. package/core/control-id.js +1 -1
  160. package/core/editor-popup-position.d.ts +6 -2
  161. package/core/editor-popup.d.ts +4 -0
  162. package/core/editor-popup.js +1 -1
  163. package/core/motion.js +1 -1
  164. package/core/popover-controller.d.ts +35 -0
  165. package/core/popover-controller.js +102 -0
  166. package/core/popup-ownership.d.ts +2 -0
  167. package/core/selection-list-tooltips.d.ts +2 -0
  168. package/core/title-tooltip.d.ts +2 -0
  169. package/core/tooltip-session.d.ts +29 -0
  170. package/core/tooltip-surface.d.ts +13 -0
  171. package/core/tooltip-text.d.ts +6 -0
  172. package/core/tooltip.d.ts +35 -0
  173. package/core/top-layer-popup.d.ts +4 -0
  174. package/core/top-layer-popup.js +1 -23
  175. package/date-time/attach.d.ts +1 -1
  176. package/date-time/date-control.d.ts +1 -1
  177. package/date-time/field.d.ts +4 -2
  178. package/date-time/index.js +1 -1
  179. package/date-time/style.scss +239 -36
  180. package/date-time/time-selection.d.ts +3 -1
  181. package/date-time/types.d.ts +5 -1
  182. package/dialog/dialog-action-footer.d.ts +17 -2
  183. package/dialog/dialog.dom.d.ts +15 -2
  184. package/dialog/dialog.dom.js +9 -9
  185. package/dialog/dialog.drag.js +1 -1
  186. package/dialog/dialog.parts.d.ts +1 -1
  187. package/dialog/dialog.parts.js +1 -1
  188. package/dialog/dialog.preact.js +1 -1
  189. package/distribution-chart/_distribution-chart.scss +113 -77
  190. package/distribution-chart/area-chart.js +2 -2
  191. package/distribution-chart/bar-chart.js +2 -2
  192. package/distribution-chart/chart-frame.d.ts +1 -1
  193. package/distribution-chart/index.d.ts +1 -1
  194. package/distribution-chart/index.js +1 -1
  195. package/distribution-chart/line-chart.js +2 -2
  196. package/dropdown/content.js +1 -1
  197. package/dropdown/control.js +1 -1
  198. package/dropdown/dropdown.service.js +1 -1
  199. package/dropdown/dropdown.types.d.ts +1 -1
  200. package/dropdown/editor-dropdown.style.scss +19 -9
  201. package/dropdown/index.js +2 -2
  202. package/dropdown/lookup-field.d.ts +5 -0
  203. package/dropdown/lookup-field.js +4 -3
  204. package/dropdown/popup.d.ts +2 -2
  205. package/dropdown/popup.js +1 -1
  206. package/duration/index.js +1 -1
  207. package/editor-actions.js +2 -2
  208. package/editor-layout/index.d.ts +4 -4
  209. package/editor-layout/index.js +40 -35
  210. package/editor-layout/style.scss +82 -18
  211. package/favicon.svg +9 -0
  212. package/field-configurator.d.ts +39 -1
  213. package/field-configurator.js +4 -170
  214. package/field-expansion.d.ts +9 -0
  215. package/field-reorder.hook.js +1 -1
  216. package/field-reorder.js +1 -1
  217. package/filter/filters/slider/_single-slider.scss +57 -38
  218. package/filter/filters/slider/_slider.scss +41 -33
  219. package/filter/filters/slider/component.js +1 -1
  220. package/filter/filters/slider/control.js +3 -1
  221. package/filter/filters/slider/inputs.js +1 -1
  222. package/filter/filters/slider/logic.js +1 -1
  223. package/filter/filters/slider/preact.js +1 -1
  224. package/filter/filters/slider/runtime.js +50 -23
  225. package/filter/filters/slider/single.js +2 -2
  226. package/filter-badge.js +2 -2
  227. package/filter-controls.d.ts +0 -1
  228. package/filter-controls.js +6 -7
  229. package/form-controls/index.d.ts +10 -2
  230. package/form-controls/index.js +7 -7
  231. package/form-controls/presentation.d.ts +1 -1
  232. package/form-controls/presentation.js +13 -13
  233. package/formatting/index.d.ts +1 -1
  234. package/formatting/index.js +26 -25
  235. package/formatting/styles.scss +14 -57
  236. package/framework.js +228 -225
  237. package/history-controls.js +27 -1
  238. package/html-controls.js +1 -1
  239. package/icon-toolbar.d.ts +62 -0
  240. package/icon-toolbar.js +1 -0
  241. package/icons/icon.d.ts +1 -1
  242. package/icons/icon.js +1 -1
  243. package/legend.d.ts +1 -1
  244. package/legend.js +1 -1
  245. package/masked-input/index.js +4 -4
  246. package/native-control.d.ts +1 -2
  247. package/native-control.js +1 -1
  248. package/native-controls.d.ts +54 -2
  249. package/native-styles.css +1 -1
  250. package/native-styles.scss +6 -2
  251. package/native.d.ts +3 -3
  252. package/native.js +48 -45
  253. package/number-input/index.d.ts +1 -1
  254. package/number-input/index.js +1 -1
  255. package/package.json +84 -1
  256. package/pagination.js +12 -12
  257. package/pdf-viewer/controller.js +1 -1
  258. package/pdf-viewer/header.d.ts +1 -1
  259. package/pdf-viewer/index.d.ts +2 -2
  260. package/pdf-viewer/index.js +3 -3
  261. package/pdf-viewer/search-bar.d.ts +1 -1
  262. package/pdf-viewer/status.d.ts +1 -1
  263. package/pdf-viewer/style.scss +203 -42
  264. package/pickers.d.ts +5 -1
  265. package/preact-mount.js +1 -1
  266. package/preact.d.ts +13 -10
  267. package/preact.js +109 -64
  268. package/progress/_bar.scss +9 -3
  269. package/progress/_circular.scss +2 -1
  270. package/progress/bar.js +1 -1
  271. package/progress/circular.js +1 -1
  272. package/progress/range.js +1 -1
  273. package/rating-choice.js +1 -1
  274. package/react-adapter.d.ts +4 -2
  275. package/react-control.d.ts +2 -0
  276. package/react-control.js +3 -3
  277. package/react.d.ts +7 -8
  278. package/react.js +69 -68
  279. package/reorder-list.d.ts +1 -1
  280. package/reorder-list.js +1 -1
  281. package/reorder-list.scss +59 -17
  282. package/resource-picker/resource-picker-avatar.js +1 -1
  283. package/resource-picker/resource-picker-option.js +1 -1
  284. package/resource-picker/resource-picker-popup.js +2 -2
  285. package/resource-picker/resource-picker.js +75 -73
  286. package/resource-picker/resource-picker.scss +62 -34
  287. package/resource-picker/resource-picker.utils.js +1 -1
  288. package/rich-text/engine.d.ts +1 -0
  289. package/rich-text/format-html.d.ts +2 -0
  290. package/rich-text/index.d.ts +4 -0
  291. package/rich-text/index.js +1 -1
  292. package/rich-text/model.d.ts +2 -0
  293. package/rich-text/style.scss +293 -44
  294. package/rich-text/syntax.d.ts +5 -0
  295. package/rich-text/toolbar.d.ts +1 -1
  296. package/rich-text/translations.d.ts +2 -0
  297. package/robots.txt +4 -0
  298. package/search-input/index.js +2 -2
  299. package/search-input/native.d.ts +21 -2
  300. package/segmented-switch/index.js +1 -1
  301. package/select.d.ts +3 -1
  302. package/select.js +1 -1
  303. package/selection-list.d.ts +1 -0
  304. package/selection-list.js +3 -1
  305. package/status-feedback/badge.js +2 -2
  306. package/status-feedback/exit-snapshot.js +5 -5
  307. package/status-feedback/header.js +2 -2
  308. package/status-feedback/icons.js +1 -1
  309. package/status-feedback/index.js +1 -1
  310. package/status-feedback/item.js +2 -2
  311. package/status-feedback/motion.js +1 -1
  312. package/status-feedback/placement.js +1 -1
  313. package/status-feedback/popover.js +5 -5
  314. package/status-feedback/render.js +1 -1
  315. package/status-feedback/status-feedback.scss +124 -35
  316. package/styles/_activity-message.scss +24 -7
  317. package/styles/_alert.scss +78 -17
  318. package/styles/_cell-editor-frame.scss +11 -0
  319. package/styles/_compositions.scss +400 -80
  320. package/styles/_control.scss +30 -8
  321. package/styles/_disclosure.scss +15 -5
  322. package/styles/_editor-counter.scss +16 -6
  323. package/styles/_editor-slider.scss +8 -4
  324. package/styles/_field-configurator.scss +321 -23
  325. package/styles/_fields-grid.scss +49 -0
  326. package/styles/_filter-controls.scss +10 -2
  327. package/styles/_icon-action.scss +48 -15
  328. package/styles/_loading.scss +12 -3
  329. package/styles/_motion.scss +32 -9
  330. package/styles/_palette.scss +0 -24
  331. package/styles/_primitives.scss +369 -110
  332. package/styles/_theme.scss +130 -86
  333. package/styles/_thresholds.scss +28 -25
  334. package/styles/_time-grid.scss +8 -3
  335. package/styles/_tokens.scss +6 -1
  336. package/styles/color-roles.js +1 -1
  337. package/styles/configurator-actions.scss +241 -0
  338. package/styles/pagination.css +213 -0
  339. package/styles/{legacy-rating.css → rating.css} +8 -3
  340. package/styles.css +1 -1
  341. package/styles.scss +3 -5
  342. package/surfaces.d.ts +38 -2
  343. package/surfaces.js +37 -134
  344. package/svelte/UiComponent.svelte +44 -11
  345. package/svelte-control.js +1 -1
  346. package/svelte.d.ts +1 -1
  347. package/svelte.js +5 -5
  348. package/switch/index.js +16 -15
  349. package/time-grid.d.ts +0 -1
  350. package/time-grid.js +39 -38
  351. package/timeline-track/_style.scss +96 -24
  352. package/timeline-track/index.js +3 -3
  353. package/timeline-track/model.js +1 -1
  354. package/ui.css +1 -1
  355. package/view-switcher.d.ts +23 -0
  356. package/vue-badge.js +1 -1
  357. package/vue-control.js +1 -1
  358. package/vue-segmented-switch.js +1 -1
  359. package/vue.d.ts +29 -32
  360. package/vue.js +118 -123
  361. package/_chunks/chart-frame-Cmc7xU1i.js +0 -130
  362. package/_chunks/choice-chips-CHQTUdLs.js +0 -110
  363. package/_chunks/color-picker-CudqPYZo.js +0 -138
  364. package/_chunks/control-AHKXD5Eu.js +0 -93
  365. package/_chunks/control-tooltip-uscKfAnV.js +0 -100
  366. package/_chunks/controls-DsNi8V8I.js +0 -630
  367. package/_chunks/dialog.parts-CKGkC5zP.js +0 -134
  368. package/_chunks/editor-popup-WDdtVDNA.js +0 -81
  369. package/_chunks/history-controls-B3u3INEK.js +0 -27
  370. package/_chunks/mount-DQ1cpppK.js +0 -257
  371. package/_chunks/native-control-C_yok8_-.js +0 -605
  372. package/_chunks/request-trail-DSlFix6i.js +0 -618
  373. package/_chunks/rich-text-CH7gIqOS.js +0 -636
  374. package/_shared/data-query/binding.d.ts +0 -30
  375. package/_shared/data-query/blocks.d.ts +0 -30
  376. package/_shared/data-query/commands.d.ts +0 -47
  377. package/_shared/data-query/contracts.d.ts +0 -106
  378. package/_shared/data-query/cursor-reader.d.ts +0 -25
  379. package/_shared/data-query/direct-binding.d.ts +0 -3
  380. package/_shared/data-query/index.d.ts +0 -23
  381. package/_shared/data-query/infinite-binding.d.ts +0 -18
  382. package/_shared/data-query/keys.d.ts +0 -9
  383. package/_shared/data-query/limiter.d.ts +0 -12
  384. package/_shared/data-query/load-options.d.ts +0 -25
  385. package/_shared/data-query/materialize.d.ts +0 -2
  386. package/_shared/data-query/policy.d.ts +0 -14
  387. package/_shared/data-query/provider-queries.d.ts +0 -22
  388. package/_shared/data-query/reader.d.ts +0 -23
  389. package/_shared/data-query/remote-load.d.ts +0 -7
  390. package/_shared/data-query/source.d.ts +0 -40
  391. package/avatar/index.view.d.ts +0 -25
  392. package/color-palette/native.view.d.ts +0 -15
  393. package/control-presentation.view.d.ts +0 -8
  394. package/dialog/dialog-action-footer.view.d.ts +0 -20
  395. package/dialog/dialog.dom.view.d.ts +0 -15
  396. package/form-controls/index.view.d.ts +0 -10
  397. package/formatting/control-tooltip.d.ts +0 -27
  398. package/native-controls.view.d.ts +0 -54
  399. package/search-input/native.view.d.ts +0 -21
  400. package/styles/legacy-pagination.css +0 -112
  401. package/surfaces.view.d.ts +0 -63
@@ -1,3 +1,3 @@
1
1
  import { TemporalPickerOptions } from './types';
2
- /** Adds the shared picker to an existing native input without changing its draft/commit owner. */
2
+ /** Adds or replaces the shared picker on an existing native input. */
3
3
  export declare function attachTemporalPicker(input: HTMLInputElement, options: TemporalPickerOptions, commit: (value: string) => void): () => void;
@@ -4,7 +4,7 @@ export interface DateInputOptions extends DateEntryOptions {
4
4
  /** Date-only multiple selection uses a semicolon-separated list by default. */
5
5
  multipleSeparator?: string;
6
6
  }
7
- export declare function DateControl({ value, label, options, multiple, invalid, errorId, disabled, readOnly, minDate, maxDate, onChange, onFocus }: {
7
+ export declare function DateControl({ value, label, options, multiple, invalid, errorId, disabled, readOnly, minDate, maxDate, onChange, onFocus, }: {
8
8
  value: string | string[];
9
9
  label: string;
10
10
  options?: DateInputOptions;
@@ -1,11 +1,13 @@
1
1
  import { DateTimeFieldProps, TemporalPickerOptions } from './types';
2
2
  import { TemporalControlValue } from '../_shared/dates/index';
3
- export declare function TemporalDraft({ value, options, apply, cancel, clearable, }: {
3
+ export declare function TemporalDraft({ value, options, apply, cancel, onValidChange, clearable, }: {
4
4
  clearable?: boolean;
5
5
  value: TemporalControlValue;
6
6
  options: TemporalPickerOptions;
7
7
  apply: (value: TemporalControlValue) => void | string;
8
8
  cancel: () => void;
9
+ /** Receives each valid temporal draft value before it is applied. */
10
+ onValidChange?: (value: TemporalControlValue) => void;
9
11
  }): import("../_vendor/preact/src/index").JSX.Element;
10
12
  /** Native text entry plus the original shared CalendarPicker, usable in any product form. */
11
- export declare function DateTimeField({ value, kind, picker, onValueChange, onInput, formatValue, parseValue, ...input }: DateTimeFieldProps): import("../_vendor/preact/src/index").JSX.Element;
13
+ export declare function DateTimeField({ value, kind, picker, livePickerUpdates, onValueChange, onInput, formatValue, parseValue, ...input }: DateTimeFieldProps): import("../_vendor/preact/src/index").JSX.Element;
@@ -1 +1 @@
1
- export { r as DateTimeField, i as TemporalDraft, a as TemporalPicker, n as attachTemporalPicker, o as defaultTemporalPickerText, t as renderTemporalValue, s as temporalPickerLabel } from "../_chunks/date-time-qIhp5vaX.js";
1
+ export { r as DateTimeField, i as TemporalDraft, a as TemporalPicker, n as attachTemporalPicker, o as defaultTemporalPickerText, t as renderTemporalValue, s as temporalPickerLabel } from "../_chunks/date-time-CfiFYodx.js";
@@ -25,6 +25,15 @@
25
25
  width: 100%;
26
26
  }
27
27
  }
28
+
29
+ // Validation follows the picker's width without contributing to popup sizing.
30
+ .rv-temporal-picker > .rv-alert,
31
+ .rv-temporal-draft > .rv-alert {
32
+ inline-size: 0;
33
+ min-inline-size: 100%;
34
+ white-space: normal;
35
+ }
36
+
28
37
  .rv-date-time-field {
29
38
  display: inline-flex;
30
39
  align-items: center;
@@ -41,8 +50,14 @@
41
50
  }
42
51
  }
43
52
 
44
- .rv-temporal-picker__dates { margin-block-end: 8px; }
45
- .rv-temporal-picker__dates > input { min-width: 0; width: 100%; flex: 1 1 0; }
53
+ .rv-temporal-picker__dates {
54
+ margin-block-end: 8px;
55
+ }
56
+ .rv-temporal-picker__dates > input {
57
+ min-width: 0;
58
+ width: 100%;
59
+ flex: 1 1 0;
60
+ }
46
61
 
47
62
  .rv-temporal-picker__header {
48
63
  display: flex;
@@ -50,9 +65,17 @@
50
65
  align-items: end;
51
66
  gap: 8px;
52
67
  margin-block-end: 8px;
53
- &:empty { display: none; }
54
- > .rv-temporal-picker__dates { flex: 1 1 112px; margin-block-end: 0; }
55
- > .rv-temporal-picker__time--single { flex: 0 1 132px; min-width: 110px; }
68
+ &:empty {
69
+ display: none;
70
+ }
71
+ > .rv-temporal-picker__dates {
72
+ flex: 1 1 112px;
73
+ margin-block-end: 0;
74
+ }
75
+ > .rv-temporal-picker__time--single {
76
+ flex: 0 1 132px;
77
+ min-width: 110px;
78
+ }
56
79
  }
57
80
 
58
81
  .rv-temporal-picker__header .rv-control,
@@ -61,55 +84,235 @@
61
84
  min-height: var(--rv-control-height, 32px);
62
85
  padding: var(--rv-control-padding, 6px 12px);
63
86
  }
64
- .rv-temporal-picker__dates { flex-wrap: wrap; }
87
+ .rv-temporal-picker__dates {
88
+ flex-wrap: wrap;
89
+ }
65
90
  .rv-temporal-picker__endpoint {
66
91
  display: flex;
67
92
  align-items: center;
68
93
  gap: 6px;
69
- flex: 0 1 194px;
94
+ flex: 0 1 224px;
70
95
  min-width: 0;
71
- > .rv-control { flex: 0 1 88px; min-width: 0; width: 88px; }
72
- > .rv-temporal-picker__time { flex: 0 1 100px; min-width: 86px; }
96
+ // Ten date characters plus the control's horizontal padding and borders.
97
+ > .rv-control {
98
+ flex: 0 0 auto;
99
+ min-width: 0;
100
+ width: calc(10ch + 26px);
101
+ }
102
+ > .rv-temporal-picker__time {
103
+ flex: 0 1 100px;
104
+ min-width: 86px;
105
+ }
106
+ }
107
+ .rv-temporal-picker__endpoint:not(:has(.rv-temporal-picker__time)) {
108
+ flex: 0 0 auto;
73
109
  }
74
- .rv-temporal-picker__endpoint:not(:has(.rv-temporal-picker__time)) { flex-basis: 110px; }
75
110
 
76
- .rv-temporal-picker .rv-temporal-picker__endpoint > .rv-temporal-picker__time { flex: 0 1 100px; }
111
+ .rv-temporal-picker .rv-temporal-picker__endpoint > .rv-temporal-picker__time {
112
+ flex: 0 1 100px;
113
+ }
77
114
 
78
115
  // Time-only surfaces follow their content rather than the calendar's minimum width.
79
116
  .rv-editor-popup.rv-editor-popup--time {
80
117
  min-width: min(240px, calc(100vw - 16px));
81
118
  width: 240px;
82
119
  }
83
- .rv-editor-popup.rv-editor-popup--datetime { width: min(540px, calc(100vw - 16px)); }
84
- .rv-temporal-picker__body { display: flex; align-items: start; flex-wrap: wrap; gap: 16px; }
85
- .rv-temporal-picker--datetime .rv-temporal-picker__body > .rv-time-selection { flex: 1 1 196px; }
86
- .rv-temporal-picker--time .rv-temporal-picker__body > .rv-time-selection { flex: 1 1 0; }
87
- .rv-temporal-picker--time .rv-temporal-picker__header { margin: 0; }
88
- .rv-temporal-picker__times { flex-wrap: wrap; }
89
- .rv-temporal-picker__times > .rv-time-selection { flex: 1 1 196px; }
120
+ .rv-temporal-picker__body {
121
+ display: flex;
122
+ align-items: start;
123
+ flex-wrap: wrap;
124
+ gap: 16px;
125
+ }
126
+ .rv-temporal-picker--datetime .rv-temporal-picker__body {
127
+ flex-direction: column;
128
+ align-items: stretch;
129
+ }
130
+ .rv-temporal-picker--datetime .rv-temporal-picker__body > .rv-time-selection {
131
+ flex: 0 0 auto;
132
+ }
133
+ .rv-temporal-picker--time .rv-temporal-picker__body > .rv-time-selection {
134
+ flex: 1 1 0;
135
+ }
136
+ .rv-temporal-picker--time .rv-temporal-picker__header {
137
+ margin: 0;
138
+ }
139
+ .rv-temporal-picker__times {
140
+ flex-wrap: wrap;
141
+ }
142
+ .rv-temporal-picker__times > .rv-time-selection {
143
+ flex: 1 1 196px;
144
+ }
90
145
  .rv-time-selection {
146
+ max-width: 208px;
91
147
  display: grid;
92
148
  gap: 12px;
93
149
  min-width: 0;
94
150
  width: 100%;
95
151
  font-variant-numeric: tabular-nums;
96
- &__entry { display: grid; gap: 6px; min-width: 0; font-size: 12px; font-weight: 500; }
97
- &__entry > .rv-control { width: 100%; min-width: 0; height: var(--rv-control-height, 32px); font: inherit; font-size: var(--rv-control-font-size, 0.875rem); font-weight: 400; }
98
- &__entry input[type='time']::-webkit-calendar-picker-indicator { display: none; }
99
- &__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
100
- &__columns--seconds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
101
- &__column { display: grid; gap: 6px; min-width: 0; }
102
- &__label { color: var(--rv-ui-text-muted); font-size: 11px; text-align: center; }
103
- &__list.rv-editor-list { position: relative; height: 174px; overflow-y: auto; overscroll-behavior: contain; padding: 3px; border: 1px solid var(--rv-ui-border); border-radius: 6px; scrollbar-width: thin; }
104
- &__list .rv-editor-list__item { min-height: 32px; height: 32px; padding: 4px; text-align: center; font-size: 13px; }
105
- &__list .rv-editor-list__item:disabled { opacity: .35; cursor: default; }
106
- &__period .rv-editor-list { display: flex; height: auto; overflow: visible; }
107
- &__period .rv-editor-list__item { flex: 1 1 0; }
108
- &__empty { margin: 0; color: var(--rv-ui-text-muted); font-size: 12px; }
109
- }
110
- .rv-temporal-draft--time .rv-editor-actions { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rv-ui-border); }
111
- .rv-temporal-draft--time .rv-editor-actions__clear { margin-inline-end: auto; }
152
+ &__entry-row {
153
+ display: flex;
154
+ align-items: end;
155
+ gap: 4px;
156
+ min-width: 0;
157
+ }
158
+ &__entry-row > .rv-time-selection__entry {
159
+ flex: 1 1 0;
160
+ }
161
+ &__clock {
162
+ display: grid;
163
+ gap: 12px;
164
+ min-width: 0;
165
+ }
166
+ &__toggle {
167
+ flex: 0 0 auto;
168
+ }
169
+ &__toggle[aria-expanded='true'] .rv-svg-icon {
170
+ transform: rotate(180deg);
171
+ }
172
+ &__entry {
173
+ display: grid;
174
+ gap: 6px;
175
+ min-width: 0;
176
+ font-size: 12px;
177
+ font-weight: 500;
178
+ }
179
+ &__entry > .rv-control {
180
+ width: 100%;
181
+ min-width: 0;
182
+ height: var(--rv-control-height, 32px);
183
+ font: inherit;
184
+ font-size: var(--rv-control-font-size, 0.875rem);
185
+ font-weight: 400;
186
+ }
187
+ &__entry input[type='time']::-webkit-calendar-picker-indicator {
188
+ display: none;
189
+ }
190
+ &__columns {
191
+ display: grid;
192
+ grid-template-columns: repeat(2, minmax(0, 1fr));
193
+ gap: 8px;
194
+ }
195
+ &__columns--seconds {
196
+ grid-template-columns: repeat(3, minmax(0, 1fr));
197
+ }
198
+ &__column {
199
+ display: grid;
200
+ gap: 6px;
201
+ min-width: 0;
202
+ }
203
+ &__label {
204
+ color: var(--rv-ui-text-muted);
205
+ font-size: 11px;
206
+ text-align: center;
207
+ }
208
+ &__list.rv-editor-list {
209
+ position: relative;
210
+ height: 174px;
211
+ overflow-y: auto;
212
+ overscroll-behavior: contain;
213
+ padding: 3px;
214
+ border: 1px solid var(--rv-ui-border);
215
+ border-radius: 6px;
216
+ scrollbar-width: thin;
217
+ }
218
+ &__list .rv-editor-list__item {
219
+ min-height: 32px;
220
+ height: 32px;
221
+ padding: 4px;
222
+ text-align: center;
223
+ font-size: 13px;
224
+ }
225
+ &__list .rv-editor-list__item:disabled {
226
+ opacity: 0.35;
227
+ cursor: default;
228
+ }
229
+ &__period {
230
+ border-block-start: 1px solid var(--rv-ui-border);
231
+ padding-block-start: 6px;
232
+ }
233
+ &__period .rv-editor-list {
234
+ display: flex;
235
+ height: auto;
236
+ overflow: visible;
237
+ }
238
+ &__period .rv-editor-list__item {
239
+ flex: 1 1 0;
240
+ }
241
+ &__empty {
242
+ margin: 0;
243
+ color: var(--rv-ui-text-muted);
244
+ font-size: 12px;
245
+ }
246
+ }
247
+ // Keep validation and actions in scroll order when a calendar and clock are tall.
248
+ .rv-editor-popup--datetime .rv-temporal-draft .rv-editor-actions,
249
+ .rv-editor-popup
250
+ .rv-temporal-draft:has(.rv-temporal-picker--multi-month)
251
+ .rv-editor-actions {
252
+ position: static;
253
+ }
254
+ .rv-temporal-draft--time .rv-editor-actions {
255
+ margin-top: 10px;
256
+ padding-top: 10px;
257
+ border-top: 1px solid var(--rv-ui-border);
258
+ }
259
+ .rv-temporal-draft--time .rv-editor-actions__clear {
260
+ margin-inline-end: auto;
261
+ }
262
+
263
+ // One calendar keeps its clock visible alongside it; multi-month calendars keep
264
+ // the optional clock below the calendar panels.
265
+ .rv-editor-popup:has(
266
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
267
+ .rv-time-selection
268
+ ) {
269
+ width: min(480px, calc(100vw - 16px));
270
+ }
271
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
272
+ .rv-temporal-picker__body {
273
+ flex-direction: row;
274
+ flex-wrap: nowrap;
275
+ gap: 8px;
276
+ }
277
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
278
+ .rv-temporal-picker__body
279
+ > .rv-time-selection {
280
+ flex: 0 1 208px;
281
+ border-inline-start: 1px solid var(--rv-ui-border);
282
+ padding-inline-start: 8px;
283
+ }
112
284
  @media (max-width: 540px) {
113
- .rv-temporal-picker--datetime .rv-temporal-picker__body { flex-direction: column; align-items: stretch; }
114
- .rv-temporal-picker--datetime .rv-temporal-picker__body > .rv-time-selection { flex-basis: auto; }
285
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
286
+ .rv-temporal-picker__body {
287
+ flex-direction: column;
288
+ }
289
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
290
+ .rv-temporal-picker__body
291
+ > .rv-time-selection {
292
+ flex-basis: auto;
293
+ border-inline-start: 0;
294
+ padding-inline-start: 0;
295
+ border-block-start: 1px solid var(--rv-ui-border);
296
+ padding-block-start: 8px;
297
+ }
298
+ }
299
+
300
+ .rv-editor-popup:has(
301
+ .rv-temporal-picker--datetime:not(.rv-temporal-picker--multi-month)
302
+ .revo-calendar--week-numbers
303
+ ):has(.rv-time-selection) {
304
+ width: min(512px, calc(100vw - 16px));
305
+ }
306
+
307
+ // Paired clocks need a wider surface than a single time-only field.
308
+ .rv-editor-popup:has(.rv-temporal-picker--time > .rv-temporal-picker__times) {
309
+ width: min(458px, calc(100vw - 16px));
310
+ }
311
+
312
+ // Grid adapters and standalone fields share the same compact single-clock size.
313
+ .rv-editor-popup:has(.rv-temporal-picker--time):not(
314
+ :has(.rv-temporal-picker__times)
315
+ ) {
316
+ min-width: min(234px, calc(100vw - 16px));
317
+ width: 234px;
115
318
  }
@@ -10,6 +10,8 @@ export interface TimeSelectionProps {
10
10
  min?: string;
11
11
  max?: string;
12
12
  step?: number;
13
+ /** Calendar compositions keep clock columns behind an explicit toggle. */
14
+ collapsible?: boolean;
13
15
  }
14
16
  /** Shared typed entry and bounded clock columns for time-only and date-time pickers. */
15
- export declare function TimeSelection({ value, label, text, onChange, format, precision, locale, min, max, step }: TimeSelectionProps): import("../_vendor/preact/src/index").JSX.Element;
17
+ export declare function TimeSelection({ value, label, text, onChange, format, precision, locale, min, max, step, collapsible, }: TimeSelectionProps): import("../_vendor/preact/src/index").JSX.Element;
@@ -55,6 +55,8 @@ export interface TemporalPickerProps extends TemporalPickerOptions {
55
55
  value: TemporalControlValue;
56
56
  onChange: (value: TemporalControlValue) => void;
57
57
  onValidityChange?: (valid: boolean) => void;
58
+ /** Called for each valid edit, including intermediate edits before selection completes. */
59
+ onValidChange?: (value: TemporalControlValue) => void;
58
60
  /** Complete calendar selection, distinct from an in-progress keyboard draft. */
59
61
  onSelectionComplete?: (value: TemporalControlValue) => void;
60
62
  }
@@ -65,10 +67,12 @@ export interface DateTimeFieldProps extends Omit<JSX.InputHTMLAttributes<HTMLInp
65
67
  disabled?: boolean;
66
68
  readOnly?: boolean;
67
69
  picker?: Omit<TemporalPickerOptions, 'kind' | 'selection'>;
70
+ /** Publish valid popup edits immediately when the picker uses auto-apply. */
71
+ livePickerUpdates?: boolean;
68
72
  onValueChange?: (value: string) => void;
69
73
  /** Existing product text adapters can keep their custom display/parser. */
70
74
  formatValue?: (value: string) => string;
71
75
  parseValue?: (text: string) => string | undefined;
72
76
  }
73
- /** One accessible name for both trigger and popup; chooseDate remains a compatibility fallback. */
77
+ /** One accessible name for both trigger and popup; date and time controls use their own localized action labels. */
74
78
  export declare function temporalPickerLabel(kind: LocalDateControlKind, text?: Partial<TemporalPickerText>): string;
@@ -1,2 +1,17 @@
1
- /** Compatibility entry; markup is owned by the Preact TSX implementation. */
2
- export * from './dialog-action-footer.view';
1
+ import { h } from '../_vendor/preact/src/index';
2
+ export interface NativeDialogAction {
3
+ label?: string;
4
+ disabled?: boolean;
5
+ onClick?: () => void;
6
+ }
7
+ export interface NativeDialogActionFooterProps {
8
+ cancel?: NativeDialogAction | false;
9
+ save?: NativeDialogAction | false;
10
+ deleteAction?: NativeDialogAction | false;
11
+ reset?: NativeDialogAction | false;
12
+ }
13
+ /** One TSX composition for Preact consumers and element-returning host adapters. */
14
+ export declare function ActionFooterView({ cancel, save, deleteAction, reset, start, end, children, actionsClass, class: className, ...props }: Record<string, any>): h.JSX.Element;
15
+ export declare function mountDialogActionFooter(host: HTMLElement, props: NativeDialogActionFooterProps): {
16
+ destroy(): void;
17
+ };
@@ -1,2 +1,15 @@
1
- /** Compatibility entry; markup is owned by the Preact TSX implementation. */
2
- export * from './dialog.dom.view';
1
+ import { DialogButtonVariant, DialogOpenOptions } from './dialog.types';
2
+ export interface DialogElements {
3
+ readonly root: HTMLElement;
4
+ readonly surface: HTMLElement;
5
+ readonly header: HTMLElement;
6
+ readonly body: HTMLElement;
7
+ readonly footer: HTMLElement;
8
+ readonly actions: HTMLElement;
9
+ }
10
+ /** Element-returning native API; shared TSX owns the entire dialog chrome. */
11
+ export declare function createDialogElements(document: Document, options: DialogOpenOptions, close: () => void): DialogElements;
12
+ export declare function createDialogCloseButton(document: Document, label: string, close: () => void): HTMLButtonElement;
13
+ export declare function createDialogButton(document: Document, label: string, action: () => void, variant?: DialogButtonVariant): HTMLButtonElement;
14
+ export declare function trapDialogFocus(root: HTMLElement, event: KeyboardEvent): void;
15
+ export declare function getDialogFocusableElements(root: HTMLElement): HTMLElement[];
@@ -1,12 +1,12 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { t } from "../_chunks/native-control-C_yok8_-.js";
3
- import { createPreactElement as n } from "../preact-mount.js";
4
- import { a as r, i, n as a, r as o, s } from "../_chunks/dialog.parts-CKGkC5zP.js";
5
- //#region src/dialog/dialog.dom.view.tsx
6
- function c(t, c, l) {
2
+ import { createPreactElement as t } from "../preact-mount.js";
3
+ import { t as n } from "../_chunks/native-control-um1L1wgZ.js";
4
+ import { a as r, i, n as a, r as o, s } from "../_chunks/dialog.parts-NqEEVc9P.js";
5
+ //#region package/dialog/dialog.dom.tsx
6
+ function c(n, c, l) {
7
7
  let u = f(), d, p, m, h, g;
8
8
  return {
9
- root: n(t, /* @__PURE__ */ e("div", {
9
+ root: t(n, /* @__PURE__ */ e("div", {
10
10
  class: ["rv-dialog-overlay", c.overlayClass].filter(Boolean).join(" "),
11
11
  role: "dialog",
12
12
  "aria-modal": "true",
@@ -57,15 +57,15 @@ function c(t, c, l) {
57
57
  actions: g
58
58
  };
59
59
  }
60
- function l(t, r, a) {
61
- return n(t, /* @__PURE__ */ e(i, {
60
+ function l(n, r, a) {
61
+ return t(n, /* @__PURE__ */ e(i, {
62
62
  "aria-label": r,
63
63
  title: r,
64
64
  onClick: a
65
65
  }));
66
66
  }
67
67
  function u(r, i, a, o = "default") {
68
- return n(r, /* @__PURE__ */ e(t, {
68
+ return t(r, /* @__PURE__ */ e(n, {
69
69
  title: i || void 0,
70
70
  class: o === "default" ? "rv-btn" : `rv-btn-${o}`,
71
71
  onClick: a,
@@ -1,4 +1,4 @@
1
- //#region src/dialog/dialog.drag.ts
1
+ //#region package/dialog/dialog.drag.ts
2
2
  var e = [
3
3
  "a",
4
4
  "button",
@@ -59,4 +59,4 @@ export type DialogActionFooterProps = JSX.IntrinsicElements['footer'] & {
59
59
  readonly actionsClass?: string;
60
60
  };
61
61
  /** Default Cancel/Save, opt-in Delete/Reset; false hides any standard action. */
62
- export declare function DialogActionFooter(props: DialogActionFooterProps): import('../_vendor/preact/src/index').VNode<import('../_vendor/preact/src/index').Attributes>;
62
+ export declare function DialogActionFooter(props: DialogActionFooterProps): h.JSX.Element;
@@ -1 +1 @@
1
- export { t as DialogActionFooter, n as DialogActions, r as DialogBody, i as DialogCloseButton, a as DialogFooter, o as DialogForm, s as DialogHeader, c as DialogTitleInput, l as EditableDialogHeader } from "../_chunks/dialog.parts-CKGkC5zP.js";
1
+ export { t as DialogActionFooter, n as DialogActions, r as DialogBody, i as DialogCloseButton, a as DialogFooter, o as DialogForm, s as DialogHeader, c as DialogTitleInput, l as EditableDialogHeader } from "../_chunks/dialog.parts-NqEEVc9P.js";
@@ -1,6 +1,6 @@
1
1
  import { c as e } from "../_chunks/hooks.module-CG3gN83z.js";
2
2
  import { attachDialogDrag as t } from "./dialog.drag.js";
3
- //#region src/dialog/dialog.preact.ts
3
+ //#region package/dialog/dialog.preact.ts
4
4
  function n({ targetRef: n, handleRef: r, enabled: i = !0 }) {
5
5
  e(() => {
6
6
  let e = n.current, a = r.current;