@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
@@ -17,23 +17,6 @@
17
17
  color: var(--text-color, var(--rv-ui-text-muted));
18
18
  }
19
19
 
20
- .slider-tooltip {
21
- position: absolute;
22
- top: -40px;
23
- transform: translateX(-50%);
24
- background: var(--tooltip-bg, var(--rv-ui-text));
25
- color: var(--tooltip-color, var(--rv-ui-surface));
26
- padding: 2px 6px;
27
- border-radius: 3px;
28
- font-size: 12px;
29
- line-height: 18px;
30
- opacity: 0;
31
- transition: opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1));
32
- pointer-events: none;
33
- white-space: nowrap;
34
- z-index: 10;
35
- }
36
-
37
20
  .range-inputs {
38
21
  display: grid;
39
22
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
@@ -72,7 +55,11 @@
72
55
  top: 0;
73
56
  margin: 0;
74
57
  border-radius: 999px;
75
- background: linear-gradient(var(--slider-color, var(--rv-ui-border)), var(--slider-color, var(--rv-ui-border))) center / 100% 4px no-repeat;
58
+ background: linear-gradient(
59
+ var(--slider-color, var(--rv-ui-border)),
60
+ var(--slider-color, var(--rv-ui-border))
61
+ )
62
+ center / 100% 4px no-repeat;
76
63
  pointer-events: none;
77
64
 
78
65
  &:focus-visible {
@@ -85,41 +72,59 @@
85
72
  z-index: 1;
86
73
  }
87
74
 
88
- $size: 24px;
89
-
90
75
  &::-webkit-slider-thumb {
91
76
  -webkit-appearance: none;
92
77
  pointer-events: all;
93
- width: $size;
94
- height: $size;
95
- background-color: var(--revo-grid-filter-control-thumb-bg, var(--rv-ui-surface));
96
- border: 3px solid var(--range-color, var(--rv-ui-accent));
78
+ box-sizing: border-box;
79
+ width: var(--slider-thumb-size, 20px);
80
+ height: var(--slider-thumb-size, 20px);
81
+ background-color: var(
82
+ --revo-grid-filter-control-thumb-bg,
83
+ var(--rv-ui-surface)
84
+ );
85
+ border: var(--slider-thumb-border-width, 3px) solid
86
+ var(--range-color, var(--rv-ui-accent));
97
87
  border-radius: 50%;
98
88
  box-shadow: 0 1px 3px var(--rv-ui-shadow);
99
- transition: box-shadow var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1));
89
+ transition: box-shadow var(--rv-ui-motion-fast, 120ms)
90
+ var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
100
91
  cursor: pointer;
101
92
 
102
93
  &:hover {
103
- background: var(--revo-grid-filter-control-thumb-bg, var(--rv-ui-surface));
94
+ background: var(
95
+ --revo-grid-filter-control-thumb-bg,
96
+ var(--rv-ui-surface)
97
+ );
104
98
  }
105
99
 
106
100
  &:active {
107
101
  box-shadow:
108
102
  0 1px 3px var(--rv-ui-shadow),
109
- 0 0 0 4px color-mix(in srgb, var(--range-color, var(--rv-ui-accent)) 18%, transparent);
103
+ 0 0 0 4px
104
+ color-mix(
105
+ in srgb,
106
+ var(--range-color, var(--rv-ui-accent)) 18%,
107
+ transparent
108
+ );
110
109
  }
111
110
  }
112
111
 
113
112
  &::-moz-range-thumb {
114
113
  -webkit-appearance: none;
115
114
  pointer-events: all;
116
- width: $size;
117
- height: $size;
118
- background-color: var(--revo-grid-filter-control-thumb-bg, var(--rv-ui-surface));
119
- border: 3px solid var(--range-color, var(--rv-ui-accent));
115
+ box-sizing: border-box;
116
+ width: var(--slider-thumb-size, 20px);
117
+ height: var(--slider-thumb-size, 20px);
118
+ background-color: var(
119
+ --revo-grid-filter-control-thumb-bg,
120
+ var(--rv-ui-surface)
121
+ );
122
+ border: var(--slider-thumb-border-width, 3px) solid
123
+ var(--range-color, var(--rv-ui-accent));
120
124
  border-radius: 50%;
121
125
  box-shadow: 0 1px 3px var(--rv-ui-shadow);
122
- transition: box-shadow var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, cubic-bezier(.2, 0, 0, 1));
126
+ transition: box-shadow var(--rv-ui-motion-fast, 120ms)
127
+ var(--rv-ui-motion-ease, cubic-bezier(0.2, 0, 0, 1));
123
128
  cursor: pointer;
124
129
  }
125
130
  }
@@ -129,4 +134,7 @@
129
134
  }
130
135
  }
131
136
 
132
- .rv-single-slider:disabled { opacity: .55; cursor: not-allowed; }
137
+ .rv-single-slider:disabled {
138
+ opacity: 0.55;
139
+ cursor: not-allowed;
140
+ }
@@ -2,7 +2,7 @@ import { formatSliderInputValue as e, formatSliderValue as t, normalizeSliderSta
2
2
  import { syncVisuals as o } from "./runtime.js";
3
3
  import { renderSliderControl as s } from "./control.js";
4
4
  import { renderRangeInputs as c } from "./inputs.js";
5
- //#region src/filter/filters/slider/component.ts
5
+ //#region package/filter/filters/slider/component.ts
6
6
  function l(e, t) {
7
7
  let { fromValueInt: n, toValueInt: r } = t.state, { scaleFactor: i } = t;
8
8
  return e("div", { className: "range-values" }, e("span", { ref: (e) => {
@@ -1,6 +1,6 @@
1
1
  import { normalizeFromSlider as e, normalizeToSlider as t } from "./logic.js";
2
2
  import { emitRangeChange as n, emitRangeCommit as r, hideTooltip as i, setToggleAccessible as a, updateTooltip as o } from "./runtime.js";
3
- //#region src/filter/filters/slider/control.ts
3
+ //#region package/filter/filters/slider/control.ts
4
4
  var s = /* @__PURE__ */ new WeakMap();
5
5
  function c(e, t) {
6
6
  let n = s.get(e);
@@ -12,6 +12,7 @@ function l(r, s) {
12
12
  let l = [], { minInt: u, maxInt: d, fromValueInt: f, toValueInt: p } = s.state;
13
13
  return s.showTooltips && l.push(r("div", {
14
14
  className: "slider-tooltip",
15
+ hidden: !0,
15
16
  ref: (e) => s.refs.fromTooltip = e
16
17
  })), l.push(r("input", {
17
18
  ref: (e) => {
@@ -33,6 +34,7 @@ function l(r, s) {
33
34
  onMouseOut: () => s.showTooltips && s.refs.fromTooltip && i(s.refs.fromTooltip)
34
35
  })), s.showTooltips && l.push(r("div", {
35
36
  className: "slider-tooltip",
37
+ hidden: !0,
36
38
  ref: (e) => s.refs.toTooltip = e
37
39
  })), l.push(r("input", {
38
40
  ref: (e) => {
@@ -1,7 +1,7 @@
1
1
  import { renderControl as e } from "../../../control-presentation.js";
2
2
  import { normalizeFromInputValue as t, normalizeToInputValue as n, unscaleSliderValue as r } from "./logic.js";
3
3
  import { emitRangeChange as i, preventInvalidNumberKey as a } from "./runtime.js";
4
- //#region src/filter/filters/slider/inputs.ts
4
+ //#region package/filter/filters/slider/inputs.ts
5
5
  function o(o, s) {
6
6
  let { fromValueInt: c, toValueInt: l } = s.state, u = {
7
7
  type: "text",
@@ -1,4 +1,4 @@
1
- //#region src/filter/filters/slider/logic.ts
1
+ //#region package/filter/filters/slider/logic.ts
2
2
  var e = 100;
3
3
  function t(e, t = 100) {
4
4
  return Math.round(Number(e) * t);
@@ -1,6 +1,6 @@
1
1
  import { c as e } from "../../../_chunks/preact.module-BBM36DnO.js";
2
2
  import { renderRangeSlider as t } from "./component.js";
3
- //#region src/filter/filters/slider/preact.tsx
3
+ //#region package/filter/filters/slider/preact.tsx
4
4
  function n(n) {
5
5
  return t(e, n);
6
6
  }
@@ -1,27 +1,54 @@
1
- import { toSliderRange as e, unscaleSliderValue as t } from "./logic.js";
2
- //#region src/filter/filters/slider/runtime.ts
3
- function n(t) {
4
- return e(Number(t.refs.fromSlider?.value ?? t.state.fromValueInt), Number(t.refs.toSlider?.value ?? t.state.toValueInt), t.scaleFactor);
1
+ import { c as e, r as t, t as n } from "../../../_chunks/top-layer-popup-CKJ7VJOF.js";
2
+ import { n as r, t as i } from "../../../_chunks/tooltip-owner-BYho-vJl.js";
3
+ import { createControlId as a } from "../../../core/control-id.js";
4
+ import { toSliderRange as o, unscaleSliderValue as s } from "./logic.js";
5
+ //#region package/filter/filters/slider/runtime.ts
6
+ function c(e) {
7
+ return o(Number(e.refs.fromSlider?.value ?? e.state.fromValueInt), Number(e.refs.toSlider?.value ?? e.state.toValueInt), e.scaleFactor);
5
8
  }
6
- function r(e) {
7
- let { fromValue: t, toValue: r } = n(e), i = e.formatFromValue(t), a = e.formatToValue(r);
8
- e.refs.fromLabel && (e.refs.fromLabel.textContent = i), e.refs.toLabel && (e.refs.toLabel.textContent = a), e.refs.fromInput && (e.refs.fromInput.value = e.formatInputValue(t)), e.refs.toInput && (e.refs.toInput.value = e.formatInputValue(r)), e.refs.fromSlider?.setAttribute("aria-valuetext", i), e.refs.toSlider?.setAttribute("aria-valuetext", a);
9
+ function l(e) {
10
+ let { fromValue: t, toValue: n } = c(e), r = e.formatFromValue(t), i = e.formatToValue(n);
11
+ e.refs.fromLabel && (e.refs.fromLabel.textContent = r), e.refs.toLabel && (e.refs.toLabel.textContent = i), e.refs.fromInput && (e.refs.fromInput.value = e.formatInputValue(t)), e.refs.toInput && (e.refs.toInput.value = e.formatInputValue(n)), e.refs.fromSlider?.setAttribute("aria-valuetext", r), e.refs.toSlider?.setAttribute("aria-valuetext", i);
9
12
  }
10
- function i(e, n, r, i, o = 100) {
11
- n.textContent = i(t(Number(e.value), o));
12
- let s = r.maxInt - r.minInt || 1, c = (Number(e.value) - r.minInt) / s * 100, l = n.parentElement?.getBoundingClientRect(), u = n.getBoundingClientRect();
13
- l && u ? n.style.left = `${a(c, l.width, u.width)}px` : n.style.left = `${c}%`, n.style.opacity = "1";
13
+ var u = /* @__PURE__ */ new WeakMap();
14
+ function d(n, r, o, c, l = 100) {
15
+ if (r.textContent = c(s(Number(n.value), l)), e(r), !u.has(r)) {
16
+ r.id ||= a("rv-tooltip");
17
+ let e = n.getAttribute("aria-describedby");
18
+ n.setAttribute("aria-describedby", [e, r.id].filter(Boolean).join(" ")), r.hidden = !1, Object.assign(r.style, {
19
+ position: "fixed",
20
+ inset: "auto",
21
+ margin: "0",
22
+ transform: "none"
23
+ });
24
+ let o = t(r, "block"), s = n.ownerDocument.defaultView?.MutationObserver, c = s ? new s(() => {
25
+ n.isConnected || p(r);
26
+ }) : void 0;
27
+ c?.observe(n.ownerDocument, {
28
+ childList: !0,
29
+ subtree: !0
30
+ }), u.set(r, {
31
+ mode: o,
32
+ slider: n,
33
+ original: e,
34
+ disconnect: () => c?.disconnect()
35
+ }), i(n.ownerDocument, r, () => p(r));
36
+ }
37
+ let d = o.maxInt - o.minInt || 1, m = (Number(n.value) - o.minInt) / d * 100, h = r.parentElement?.getBoundingClientRect(), g = r.getBoundingClientRect();
38
+ h && g ? (r.style.left = `${h.left + f(m, h.width, g.width) - g.width / 2}px`, r.style.top = `${Math.max(8, h.top - g.height - 8)}px`) : r.style.left = `${m}%`, r.style.opacity = "1";
14
39
  }
15
- function a(e, t, n, r = 8) {
40
+ function f(e, t, n, r = 8) {
16
41
  let i = n / 2, a = r + i, o = t - r - i;
17
42
  if (a > o) return t / 2;
18
43
  let s = Math.min(Math.max(e, 0), 100) / 100 * t;
19
44
  return Math.min(Math.max(s, a), o);
20
45
  }
21
- function o(e) {
46
+ function p(e) {
22
47
  e.style.opacity = "0";
48
+ let t = u.get(e);
49
+ t && (t.disconnect?.(), n(e, t.mode), e.hidden = !0, t.original === null ? t.slider.removeAttribute("aria-describedby") : t.slider.setAttribute("aria-describedby", t.original), u.delete(e), r(e.ownerDocument, e));
23
50
  }
24
- function s(e, t, n) {
51
+ function m(e, t, n) {
25
52
  let r = getComputedStyle(n), i = r.getPropertyValue("--slider-color").trim() || r.getPropertyValue("--rv-ui-border").trim() || "var(--rv-ui-border)", a = r.getPropertyValue("--range-color").trim() || r.getPropertyValue("--rv-ui-accent").trim() || "var(--rv-ui-accent)", o = parseInt(t.max, 10) - parseInt(t.min, 10) || 1, s = parseInt(e.value, 10) - parseInt(e.min, 10), c = parseInt(t.value, 10) - parseInt(t.min, 10), l = s / o * 100, u = c / o * 100;
26
53
  n.style.background = `linear-gradient(
27
54
  to right,
@@ -32,20 +59,20 @@ function s(e, t, n) {
32
59
  ${i} ${u}%,
33
60
  ${i} 100%) center / 100% 4px no-repeat`;
34
61
  }
35
- function c(e) {
62
+ function h(e) {
36
63
  let { fromSlider: t, toSlider: n } = e.refs;
37
- t && n && (s(t, n, n), r(e));
64
+ t && n && (m(t, n, n), l(e));
38
65
  }
39
- function l(e) {
66
+ function g(e) {
40
67
  e.refs.toSlider && (e.refs.toSlider.style.zIndex = Number(e.refs.toSlider.value) <= e.state.minInt ? "2" : "0");
41
68
  }
42
- function u(e) {
43
- e.onRangeChange(n(e));
69
+ function _(e) {
70
+ e.onRangeChange(c(e));
44
71
  }
45
- function d(e) {
46
- e.onRangeCommit?.(n(e));
72
+ function v(e) {
73
+ e.onRangeCommit?.(c(e));
47
74
  }
48
- function f(e) {
75
+ function y(e) {
49
76
  e.metaKey || e.ctrlKey || [
50
77
  "ArrowDown",
51
78
  "ArrowLeft",
@@ -60,4 +87,4 @@ function f(e) {
60
87
  ].includes(e.key) || /^[\d.,-]$/.test(e.key) || e.preventDefault();
61
88
  }
62
89
  //#endregion
63
- export { u as emitRangeChange, d as emitRangeCommit, s as fillSlider, n as getCurrentRange, a as getTooltipCenterPosition, o as hideTooltip, f as preventInvalidNumberKey, l as setToggleAccessible, r as syncRangeText, c as syncVisuals, i as updateTooltip };
90
+ export { _ as emitRangeChange, v as emitRangeCommit, m as fillSlider, c as getCurrentRange, f as getTooltipCenterPosition, p as hideTooltip, y as preventInvalidNumberKey, g as setToggleAccessible, l as syncRangeText, h as syncVisuals, d as updateTooltip };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "../../../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { n as t } from "../../../_chunks/native-control-C_yok8_-.js";
3
- //#region src/filter/filters/slider/single.tsx
2
+ import { n as t } from "../../../_chunks/native-control-um1L1wgZ.js";
3
+ //#region package/filter/filters/slider/single.tsx
4
4
  function n({ min: n, max: r, value: i, step: a = 1, disabled: o = !1, id: s, className: c = "", ariaLabel: l, ariaValueText: u, ariaDescribedBy: d, onChange: f, onCommit: p, onKeyDown: m }) {
5
5
  let h = r - n, g = h > 0 ? Math.max(0, Math.min(100, (i - n) / h * 100)) : 0;
6
6
  return /* @__PURE__ */ e(t, {
package/filter-badge.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { i as e } from "./_chunks/preact.module-BBM36DnO.js";
2
2
  import { a as t } from "./_chunks/hooks.module-CG3gN83z.js";
3
3
  import { t as n } from "./_chunks/jsxRuntime.module-F6UFnpT-.js";
4
- import { n as r, t as i } from "./_chunks/choice-chips-CHQTUdLs.js";
5
- //#region src/filter-badge.tsx
4
+ import { n as r, t as i } from "./_chunks/choice-chips-C5OxD0GV.js";
5
+ //#region package/filter-badge.tsx
6
6
  function a(e) {
7
7
  return /* @__PURE__ */ n(r, {
8
8
  ...e,
@@ -7,7 +7,6 @@ export declare function OptionButton({ label, detail, selected, className, detai
7
7
  className?: string;
8
8
  detailClassName?: string;
9
9
  }): h.JSX.Element;
10
- export { Legend, type LegendItem } from './legend';
11
10
  /** Caller supplies highlighting; UI owns overlay geometry and scroll synchronization. */
12
11
  export declare function HighlightedTextInput({ highlight, className, inputClassName, highlightClassName, ...props }: Omit<JSX.IntrinsicElements['textarea'], 'className'> & {
13
12
  highlight: ComponentChildren;
@@ -1,9 +1,8 @@
1
1
  import { t as e } from "./_chunks/hooks.module-CG3gN83z.js";
2
2
  import { t } from "./_chunks/jsxRuntime.module-F6UFnpT-.js";
3
- import { a as n, t as r } from "./_chunks/native-control-C_yok8_-.js";
4
- import { Legend as i } from "./legend.js";
5
- //#region src/filter-controls.tsx
6
- function a({ label: e, detail: n, selected: i, className: a = "", detailClassName: o = "", ...s }) {
3
+ import { a as n, t as r } from "./_chunks/native-control-um1L1wgZ.js";
4
+ //#region package/filter-controls.tsx
5
+ function i({ label: e, detail: n, selected: i, className: a = "", detailClassName: o = "", ...s }) {
7
6
  return /* @__PURE__ */ t(r, {
8
7
  ...s,
9
8
  class: `rv-option-button ${a}`,
@@ -14,7 +13,7 @@ function a({ label: e, detail: n, selected: i, className: a = "", detailClassNam
14
13
  })]
15
14
  });
16
15
  }
17
- function o({ highlight: r, className: i = "", inputClassName: a = "", highlightClassName: o = "", ...s }) {
16
+ function a({ highlight: r, className: i = "", inputClassName: a = "", highlightClassName: o = "", ...s }) {
18
17
  let c = e(null);
19
18
  return /* @__PURE__ */ t("div", {
20
19
  class: `rv-highlighted-input ${i}`,
@@ -34,7 +33,7 @@ function o({ highlight: r, className: i = "", inputClassName: a = "", highlightC
34
33
  })]
35
34
  });
36
35
  }
37
- function s({ children: e, className: n = "", label: r }) {
36
+ function o({ children: e, className: n = "", label: r }) {
38
37
  return /* @__PURE__ */ t("div", {
39
38
  role: "group",
40
39
  "aria-label": r,
@@ -43,4 +42,4 @@ function s({ children: e, className: n = "", label: r }) {
43
42
  });
44
43
  }
45
44
  //#endregion
46
- export { o as HighlightedTextInput, s as InlineFieldGroup, i as Legend, a as OptionButton };
45
+ export { a as HighlightedTextInput, o as InlineFieldGroup, i as OptionButton };
@@ -1,2 +1,10 @@
1
- /** Compatibility entry; markup is owned by the Preact TSX implementation. */
2
- export * from './index.view';
1
+ export interface FormFieldOptions {
2
+ readonly label: string;
3
+ readonly control: HTMLElement;
4
+ readonly hint?: string;
5
+ readonly className?: string;
6
+ }
7
+ export declare function createFormField(document: Document, options: FormFieldOptions): HTMLLabelElement;
8
+ export declare function createTextControl(document: Document, placeholder: string): HTMLInputElement;
9
+ /** DOM counterpart of Dropdown; callers own its lifetime. */
10
+ export { createDropdownControl } from '../dropdown/control';
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { n as t } from "../_chunks/native-control-C_yok8_-.js";
3
- import { createPreactElement as n } from "../preact-mount.js";
4
- import { t as r } from "../_chunks/control-AHKXD5Eu.js";
5
- //#region src/form-controls/index.view.tsx
6
- function i(t, r) {
7
- return n(t, /* @__PURE__ */ e("label", {
2
+ import { createPreactElement as t } from "../preact-mount.js";
3
+ import { n } from "../_chunks/native-control-um1L1wgZ.js";
4
+ import { t as r } from "../_chunks/control-BRfF5DWQ.js";
5
+ //#region package/form-controls/index.tsx
6
+ function i(n, r) {
7
+ return t(n, /* @__PURE__ */ e("label", {
8
8
  class: ["rv-field", r.className].filter(Boolean).join(" "),
9
9
  children: [
10
10
  /* @__PURE__ */ e("span", {
@@ -25,7 +25,7 @@ function i(t, r) {
25
25
  }));
26
26
  }
27
27
  function a(r, i) {
28
- return n(r, /* @__PURE__ */ e(t, {
28
+ return t(r, /* @__PURE__ */ e(n, {
29
29
  type: "text",
30
30
  placeholder: i
31
31
  }));
@@ -8,7 +8,7 @@ export type FilterChipProps = {
8
8
  readonly role?: 'listitem';
9
9
  };
10
10
  /** Removable chip shell; consumers retain filter policy and label/detail slots. */
11
- export declare function FilterChip({ children, removeLabel, onRemove, className, removeClassName, role }: FilterChipProps): h.JSX.Element;
11
+ export declare function FilterChip({ children, removeLabel, onRemove, className, removeClassName, role, }: FilterChipProps): h.JSX.Element;
12
12
  export interface FormFieldContentOptions {
13
13
  readonly label: ComponentChildren;
14
14
  readonly children: ComponentChildren;
@@ -1,10 +1,10 @@
1
1
  import { i as e, o as t, u as n } from "../_chunks/preact.module-BBM36DnO.js";
2
2
  import { i as r, s as i } from "../_chunks/hooks.module-CG3gN83z.js";
3
3
  import { t as a } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
4
- import { t as o } from "../_chunks/field-context-D57PnBbH.js";
5
- import { nativeControlTag as s } from "../control-presentation.js";
6
- import { createControlId as c } from "../core/control-id.js";
7
- //#region src/form-controls/presentation.tsx
4
+ import { createControlId as o } from "../core/control-id.js";
5
+ import { t as s } from "../_chunks/field-context-C4_WrO2z.js";
6
+ import { nativeControlTag as c } from "../control-presentation.js";
7
+ //#region package/form-controls/presentation.tsx
8
8
  function l({ children: e, removeLabel: t, onRemove: n, className: r = "", removeClassName: i = "", role: o }) {
9
9
  return /* @__PURE__ */ a("span", {
10
10
  class: `rv-btn-pill ${r}`.trim(),
@@ -34,9 +34,9 @@ function u({ label: e, children: t, hint: n, hintId: r, labelId: i = r ? `${r}-l
34
34
  }) : null
35
35
  ];
36
36
  }
37
- function d({ label: e, children: t, hint: n, hintId: s, labelId: l, controlId: d, className: f = "", class: p, ...m }) {
38
- let [h] = r(() => c("rv-field")), g = i(o), _ = s ?? `rv-field-hint-${h}`, v = l ?? `${_}-label`;
39
- return /* @__PURE__ */ a(o.Provider, {
37
+ function d({ label: e, children: t, hint: n, hintId: c, labelId: l, controlId: d, className: f = "", class: p, ...m }) {
38
+ let [h] = r(() => o("rv-field")), g = i(s), _ = c ?? `rv-field-hint-${h}`, v = l ?? `${_}-label`;
39
+ return /* @__PURE__ */ a(s.Provider, {
40
40
  value: {
41
41
  disabled: g.disabled,
42
42
  labelId: v,
@@ -64,21 +64,21 @@ function f(r, i, a) {
64
64
  if (Array.isArray(r)) return r.map((e) => f(e, i, a));
65
65
  if (!n(r)) return r;
66
66
  if (r.type === e) return t(r, { children: f(r.props.children, i, a) });
67
- let o = s(r.type);
67
+ let o = c(r.type);
68
68
  if (!o) return r;
69
- let c = r;
69
+ let s = r;
70
70
  if ([
71
71
  "input",
72
72
  "select",
73
73
  "textarea"
74
74
  ].includes(o)) {
75
- let e = new Set(`${c.props["aria-describedby"] ?? ""} ${i}`.trim().split(/\s+/));
76
- return t(c, {
75
+ let e = new Set(`${s.props["aria-describedby"] ?? ""} ${i}`.trim().split(/\s+/));
76
+ return t(s, {
77
77
  "aria-describedby": [...e].join(" "),
78
- "aria-labelledby": c.props["aria-labelledby"] ?? (c.props["aria-label"] ? void 0 : a)
78
+ "aria-labelledby": s.props["aria-labelledby"] ?? (s.props["aria-label"] ? void 0 : a)
79
79
  });
80
80
  }
81
- return t(c, { children: f(c.props.children, i, a) });
81
+ return t(s, { children: f(s.props.children, i, a) });
82
82
  }
83
83
  function p({ children: e, icon: t, iconClassName: n = "", iconPosition: r = "before", className: i = "", class: o, ...s }) {
84
84
  let c = t == null ? null : /* @__PURE__ */ a("span", {
@@ -1,4 +1,4 @@
1
- export * from './control-tooltip';
1
+ export { useTooltip, useControlTooltip, ControlTooltip } from '../core/tooltip';
2
2
  export * from './inspector-section';
3
3
  export * from './icon-controls';
4
4
  export * from './typography-controls';
@@ -2,12 +2,13 @@ import { i as e } from "../_chunks/preact.module-BBM36DnO.js";
2
2
  import { i as t } from "../_chunks/hooks.module-CG3gN83z.js";
3
3
  import { t as n } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
4
4
  import { SvgIcon as r } from "../icons/icon.js";
5
- import { i, l as a, n as o, t as s } from "../_chunks/native-control-C_yok8_-.js";
5
+ import { i, l as a, n as o, t as s } from "../_chunks/native-control-um1L1wgZ.js";
6
6
  import { t as c } from "../_chunks/chevron-down-GbplLa6s.js";
7
- import { n as l, t as u } from "../_chunks/control-tooltip-uscKfAnV.js";
8
- //#region src/formatting/inspector-section.tsx
9
- function d({ title: e, icon: a, expandLabel: o, collapseLabel: s, open: u = !1, children: d }) {
10
- let [f, p] = t(u), m = f ? s : o, h = l(m);
7
+ import { n as l, r as u, t as d } from "../_chunks/tooltip-h-Z8yFBY.js";
8
+ import { t as f } from "../_chunks/tooltip-text-BN5WdGHn.js";
9
+ //#region package/formatting/inspector-section.tsx
10
+ function p({ title: e, icon: a, expandLabel: o, collapseLabel: s, open: u = !1, children: d }) {
11
+ let [f, p] = t(u), m = f ? s : o, h = l(m, !0);
11
12
  return /* @__PURE__ */ n("details", {
12
13
  class: "rv-format-inspector-section",
13
14
  open: f,
@@ -38,17 +39,17 @@ function d({ title: e, icon: a, expandLabel: o, collapseLabel: s, open: u = !1,
38
39
  });
39
40
  }
40
41
  //#endregion
41
- //#region src/formatting/icon-controls.tsx
42
- var f = ({ icon: e }) => /* @__PURE__ */ n(r, {
42
+ //#region package/formatting/icon-controls.tsx
43
+ var m = ({ icon: e }) => /* @__PURE__ */ n(r, {
43
44
  svg: e,
44
45
  className: "rv-format-icon"
45
46
  });
46
- function p({ value: e, options: t, ariaLabel: r, onChange: i }) {
47
+ function h({ value: e, options: t, ariaLabel: r, onChange: i }) {
47
48
  return /* @__PURE__ */ n("div", {
48
49
  class: "rv-format-segmented",
49
50
  role: "group",
50
51
  "aria-label": r,
51
- children: t.map((t) => /* @__PURE__ */ n(h, {
52
+ children: t.map((t) => /* @__PURE__ */ n(_, {
52
53
  selected: t.value === e,
53
54
  label: t.label,
54
55
  icon: t.icon,
@@ -56,16 +57,16 @@ function p({ value: e, options: t, ariaLabel: r, onChange: i }) {
56
57
  }, t.value))
57
58
  });
58
59
  }
59
- function m({ value: e, label: t, icon: r, onChange: i }) {
60
- return /* @__PURE__ */ n(h, {
60
+ function g({ value: e, label: t, icon: r, onChange: i }) {
61
+ return /* @__PURE__ */ n(_, {
61
62
  selected: e,
62
63
  label: t,
63
64
  icon: r,
64
65
  onClick: () => i(!e)
65
66
  });
66
67
  }
67
- function h({ selected: e, label: t, icon: r, onClick: i }) {
68
- let a = l(t);
68
+ function _({ selected: e, label: t, icon: r, onClick: i }) {
69
+ let a = l(t, !0);
69
70
  return /* @__PURE__ */ n(s, {
70
71
  type: "button",
71
72
  class: `rv-format-segmented__button${e ? " rv-format-segmented__button--selected" : ""}`,
@@ -73,12 +74,12 @@ function h({ selected: e, label: t, icon: r, onClick: i }) {
73
74
  "aria-pressed": e,
74
75
  onClick: i,
75
76
  ...a.triggerProps,
76
- children: [/* @__PURE__ */ n(f, { icon: r }), a.tooltip]
77
+ children: [/* @__PURE__ */ n(m, { icon: r }), a.tooltip]
77
78
  });
78
79
  }
79
80
  //#endregion
80
- //#region src/formatting/typography-controls.tsx
81
- var g = [
81
+ //#region package/formatting/typography-controls.tsx
82
+ var v = [
82
83
  "Inter",
83
84
  "Arial",
84
85
  "Helvetica",
@@ -86,7 +87,7 @@ var g = [
86
87
  "Times New Roman",
87
88
  "Courier New"
88
89
  ];
89
- function _({ value: t, fonts: r = g, labels: i, icons: s, onChange: c }) {
90
+ function y({ value: t, fonts: r = v, labels: i, icons: s, onChange: c }) {
90
91
  return /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ n("div", {
91
92
  class: "rv-form-grid",
92
93
  children: [/* @__PURE__ */ n("label", {
@@ -129,25 +130,25 @@ function _({ value: t, fonts: r = g, labels: i, icons: s, onChange: c }) {
129
130
  role: "group",
130
131
  "aria-label": i.typographySection,
131
132
  children: [
132
- /* @__PURE__ */ n(m, {
133
+ /* @__PURE__ */ n(g, {
133
134
  value: t.bold ?? !1,
134
135
  label: i.bold,
135
136
  icon: s.bold,
136
137
  onChange: (e) => c({ bold: e })
137
138
  }),
138
- /* @__PURE__ */ n(m, {
139
+ /* @__PURE__ */ n(g, {
139
140
  value: t.italic ?? !1,
140
141
  label: i.italic,
141
142
  icon: s.italic,
142
143
  onChange: (e) => c({ italic: e })
143
144
  }),
144
- /* @__PURE__ */ n(m, {
145
+ /* @__PURE__ */ n(g, {
145
146
  value: t.underline ?? !1,
146
147
  label: i.underline,
147
148
  icon: s.underline,
148
149
  onChange: (e) => c({ underline: e })
149
150
  }),
150
- /* @__PURE__ */ n(m, {
151
+ /* @__PURE__ */ n(g, {
151
152
  value: t.strike ?? !1,
152
153
  label: i.strike,
153
154
  icon: s.strike,
@@ -157,8 +158,8 @@ function _({ value: t, fonts: r = g, labels: i, icons: s, onChange: c }) {
157
158
  })] });
158
159
  }
159
160
  //#endregion
160
- //#region src/formatting/comparison-preview.tsx
161
- function v({ originalValue: e, formatted: t, formattedStyle: r, visual: i = !1, formattedClassName: a = "", labels: o }) {
161
+ //#region package/formatting/comparison-preview.tsx
162
+ function b({ originalValue: e, formatted: t, formattedStyle: r, visual: i = !1, formattedClassName: a = "", labels: o }) {
162
163
  return /* @__PURE__ */ n("section", {
163
164
  class: `rv-format-preview${i ? " rv-format-preview--visual" : ""}`,
164
165
  children: [
@@ -198,7 +199,7 @@ function v({ originalValue: e, formatted: t, formattedStyle: r, visual: i = !1,
198
199
  role: "rowheader",
199
200
  children: "1"
200
201
  }),
201
- /* @__PURE__ */ n("span", {
202
+ /* @__PURE__ */ n(f, {
202
203
  class: "rv-format-preview__gridcell",
203
204
  role: "cell",
204
205
  title: e,
@@ -228,4 +229,4 @@ function v({ originalValue: e, formatted: t, formattedStyle: r, visual: i = !1,
228
229
  });
229
230
  }
230
231
  //#endregion
231
- export { v as ComparisonPreview, u as ControlTooltip, p as IconChoiceGroup, m as IconToggleButton, d as InspectorSection, _ as TypographyControls, l as useControlTooltip };
232
+ export { b as ComparisonPreview, d as ControlTooltip, h as IconChoiceGroup, g as IconToggleButton, p as InspectorSection, y as TypographyControls, l as useControlTooltip, u as useTooltip };