@revolist/ui 4.0.1-rc → 4.0.1

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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -264
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/calendar-DJqiFwFT.js +258 -0
  9. package/_chunks/chart-frame-hcOlnQ1K.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-yr6Uzmof.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/color-palette-DMJUChWC.js +92 -0
  15. package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
  16. package/_chunks/component-DyWiItBR.js +878 -0
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DCodxcUw.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-CbOYUakE.js +118 -0
  21. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  22. package/_chunks/controls-DD1qvPfE.js +650 -0
  23. package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
  24. package/_chunks/date-time-CGJdC1Qa.js +807 -0
  25. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  26. package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
  27. package/_chunks/duration-CBJWK82T.js +272 -0
  28. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  29. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  30. package/_chunks/field-configurator-B-qtIwx1.js +288 -0
  31. package/_chunks/field-context-D57PnBbH.js +5 -0
  32. package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
  33. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  34. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  35. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  36. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  37. package/_chunks/minus-BOAR3A1C.js +4 -0
  38. package/_chunks/mount-C7i5gsKI.js +267 -0
  39. package/_chunks/native-Blr3byjO.js +32 -0
  40. package/_chunks/native-control-B9MNibfa.js +649 -0
  41. package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
  42. package/_chunks/picker-DqpjDC90.js +122 -0
  43. package/_chunks/plus-CbGRkIGl.js +4 -0
  44. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  45. package/_chunks/popup-C35Isk7p.js +378 -0
  46. package/_chunks/preact.module-BBM36DnO.js +290 -0
  47. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
  48. package/_chunks/render-m5eMMwFR.js +83 -0
  49. package/_chunks/reorder-list-C4HSda4n.js +59 -0
  50. package/_chunks/request-trail-SHynDFdM.js +762 -0
  51. package/_chunks/rich-text-CtjqRvv8.js +842 -0
  52. package/_chunks/rotate-left-BF6G883o.js +4 -0
  53. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  54. package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
  55. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  56. package/_chunks/tooltip-D4xkio5G.js +54 -0
  57. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  58. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  59. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  60. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  61. package/_dialog.scss +55 -21
  62. package/_form.scss +71 -21
  63. package/_legend.scss +25 -7
  64. package/_shared/data-query/index.d.ts +2 -2
  65. package/_shared/data-query/load-options.d.ts +2 -2
  66. package/_variables.scss +34 -32
  67. package/_vendor/preact/LICENSE +21 -0
  68. package/_vendor/preact/compat/src/index.d.ts +353 -0
  69. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  70. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  71. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  72. package/_vendor/preact/src/dom.d.ts +2548 -0
  73. package/_vendor/preact/src/index.d.ts +373 -0
  74. package/_vendor/preact/src/jsx.d.ts +2958 -0
  75. package/_view-switcher.scss +6 -0
  76. package/activity-message.d.ts +2 -2
  77. package/activity-message.js +16 -16
  78. package/ai/_chat.scss +227 -0
  79. package/ai/_style.scss +170 -39
  80. package/ai/chat.d.ts +65 -0
  81. package/ai/components.d.ts +35 -6
  82. package/ai/index.d.ts +3 -0
  83. package/ai/index.js +3 -3
  84. package/ai/mount.d.ts +59 -6
  85. package/ai/prompt-history.d.ts +13 -0
  86. package/ai/request-trail.d.ts +9 -3
  87. package/ai/results/_style.scss +83 -0
  88. package/ai/results/index.d.ts +11 -0
  89. package/ai/results/metrics.d.ts +5 -0
  90. package/ai/results/table.d.ts +5 -0
  91. package/ai/results/text.d.ts +5 -0
  92. package/ai/results/types.d.ts +29 -0
  93. package/ai/transcript.d.ts +27 -0
  94. package/ai/translation-context.d.ts +1 -1
  95. package/ai/translations.d.ts +1 -1
  96. package/alert.d.ts +2 -2
  97. package/angular/angular.d.ts +1 -1
  98. package/angular/angular.js +13 -10
  99. package/assignee/assignee.scss +28 -6
  100. package/assignee/field.d.ts +2 -2
  101. package/assignee/index.js +86 -87
  102. package/assignee/layout.d.ts +2 -2
  103. package/assignee/picker.d.ts +1 -1
  104. package/avatar/avatar.style.scss +23 -6
  105. package/avatar/index.d.ts +25 -2
  106. package/avatar/index.js +42 -41
  107. package/badge.d.ts +1 -1
  108. package/badge.view.d.ts +8 -0
  109. package/brush-range/_brush-range.scss +55 -49
  110. package/brush-range/component.d.ts +2 -4
  111. package/brush-range/component.js +19 -19
  112. package/buttons/delete-button.d.ts +2 -1
  113. package/buttons/delete-button.js +1 -1
  114. package/buttons/delete-button.style.scss +6 -2
  115. package/buttons/remove-button.d.ts +2 -2
  116. package/buttons/remove-button.js +3 -3
  117. package/buttons/remove-button.style.scss +1 -1
  118. package/buttons/svg-button.d.ts +3 -2
  119. package/buttons/svg-button.js +23 -23
  120. package/calendar/_calendar.scss +27 -26
  121. package/calendar/calendar.d.ts +1 -1
  122. package/calendar/calendar.js +1 -1
  123. package/calendar/caption.d.ts +1 -1
  124. package/calendar/day.d.ts +1 -1
  125. package/calendar/day.js +4 -4
  126. package/calendar/header.d.ts +1 -1
  127. package/calendar/header.js +34 -35
  128. package/calendar/index.js +2 -2
  129. package/calendar/month-grid.d.ts +1 -1
  130. package/calendar/month-grid.js +37 -37
  131. package/calendar/picker.d.ts +1 -1
  132. package/calendar/types.d.ts +1 -1
  133. package/calendar/year-grid.d.ts +1 -1
  134. package/calendar/year-grid.js +12 -12
  135. package/cell-input.scss +3 -7
  136. package/cell-visuals/badge.style.scss +6 -3
  137. package/cell-visuals/bar-chart.style.scss +2 -1
  138. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  139. package/cell-visuals/progress-line.style.scss +1 -4
  140. package/cell-visuals/sparkline.style.scss +2 -1
  141. package/cell-visuals/timeline.style.css +4 -2
  142. package/checkbox/checkbox.scss +6 -24
  143. package/checkbox/index.d.ts +2 -2
  144. package/checkbox/index.js +9 -9
  145. package/choice-chips/index.d.ts +4 -2
  146. package/choice-chips/index.js +1 -1
  147. package/color-palette/color-palette.d.ts +1 -1
  148. package/color-palette/color-palette.js +1 -1
  149. package/color-palette/color-palette.style.scss +88 -25
  150. package/color-palette/color-picker.d.ts +1 -1
  151. package/color-palette/color-picker.js +2 -2
  152. package/color-palette/color-picker.style.scss +23 -10
  153. package/color-palette/common-palettes.d.ts +1 -1
  154. package/color-palette/common-palettes.js +1 -1
  155. package/color-palette/native.d.ts +15 -2
  156. package/component-catalog.d.ts +42 -29
  157. package/configurator-actions.d.ts +67 -0
  158. package/configurator-actions.js +1 -0
  159. package/configurator-aggregation-list.d.ts +14 -0
  160. package/configurator-aggregation-list.js +63 -0
  161. package/configurator-drop-zone.d.ts +39 -0
  162. package/configurator-drop-zone.js +66 -0
  163. package/configurator-field-icon.d.ts +10 -0
  164. package/configurator-field-icon.js +1 -0
  165. package/configurator-focus.d.ts +4 -0
  166. package/configurator-focus.js +39 -0
  167. package/configurator-sections.d.ts +42 -0
  168. package/configurator-sections.js +71 -0
  169. package/control-attributes.js +7 -7
  170. package/control-presentation.d.ts +8 -2
  171. package/control-presentation.js +31 -26
  172. package/controls.d.ts +23 -11
  173. package/controls.js +4 -3
  174. package/core/editor-commit.d.ts +1 -1
  175. package/core/editor-popup-position.d.ts +6 -2
  176. package/core/editor-popup.d.ts +5 -1
  177. package/core/editor-popup.js +1 -1
  178. package/core/popover-controller.d.ts +35 -0
  179. package/core/popup-ownership.d.ts +2 -0
  180. package/core/selection-list-tooltips.d.ts +2 -0
  181. package/core/title-tooltip.d.ts +2 -0
  182. package/core/tooltip-session.d.ts +29 -0
  183. package/core/tooltip-surface.d.ts +13 -0
  184. package/core/tooltip-text.d.ts +6 -0
  185. package/core/tooltip.d.ts +35 -0
  186. package/core/top-layer-popup.d.ts +4 -0
  187. package/core/top-layer-popup.js +1 -23
  188. package/date-time/attach.d.ts +1 -1
  189. package/date-time/date-control.d.ts +2 -2
  190. package/date-time/field.d.ts +4 -3
  191. package/date-time/index.js +1 -1
  192. package/date-time/picker.d.ts +1 -1
  193. package/date-time/style.scss +242 -39
  194. package/date-time/time-control.d.ts +1 -1
  195. package/date-time/time-selection.d.ts +3 -1
  196. package/date-time/types.d.ts +6 -2
  197. package/dialog/dialog-action-footer.d.ts +17 -2
  198. package/dialog/dialog.dom.d.ts +15 -2
  199. package/dialog/dialog.dom.js +53 -53
  200. package/dialog/dialog.parts.d.ts +18 -18
  201. package/dialog/dialog.parts.js +1 -1
  202. package/dialog/dialog.preact.d.ts +1 -1
  203. package/dialog/dialog.preact.js +6 -6
  204. package/distribution-chart/_distribution-chart.scss +113 -77
  205. package/distribution-chart/area-chart.d.ts +1 -1
  206. package/distribution-chart/area-chart.js +25 -25
  207. package/distribution-chart/bar-chart.d.ts +6 -3
  208. package/distribution-chart/bar-chart.js +10 -6
  209. package/distribution-chart/chart-frame.d.ts +3 -2
  210. package/distribution-chart/index.d.ts +2 -2
  211. package/distribution-chart/index.js +6 -6
  212. package/distribution-chart/line-chart.d.ts +1 -1
  213. package/distribution-chart/line-chart.js +9 -9
  214. package/distribution-chart/types.d.ts +1 -1
  215. package/dropdown/content.d.ts +3 -2
  216. package/dropdown/content.js +1 -141
  217. package/dropdown/control.d.ts +14 -0
  218. package/dropdown/control.js +1 -0
  219. package/dropdown/control.view.d.ts +6 -0
  220. package/dropdown/dropdown.service.d.ts +1 -1
  221. package/dropdown/dropdown.service.js +9 -9
  222. package/dropdown/dropdown.types.d.ts +5 -1
  223. package/dropdown/editor-dropdown.style.scss +54 -16
  224. package/dropdown/index.d.ts +1 -1
  225. package/dropdown/index.js +3 -4
  226. package/dropdown/lookup-field.d.ts +6 -1
  227. package/dropdown/lookup-field.js +42 -41
  228. package/dropdown/popup.d.ts +2 -2
  229. package/dropdown/popup.js +1 -140
  230. package/duration/controls.d.ts +1 -1
  231. package/duration/index.d.ts +2 -2
  232. package/duration/index.js +1 -1
  233. package/duration/style.scss +1 -1
  234. package/editor-actions.d.ts +1 -1
  235. package/editor-actions.js +21 -20
  236. package/editor-layout/index.d.ts +5 -5
  237. package/editor-layout/index.js +43 -38
  238. package/editor-layout/style.scss +82 -18
  239. package/field-configurator.d.ts +40 -2
  240. package/field-configurator.js +4 -170
  241. package/field-expansion.d.ts +9 -0
  242. package/field-reorder.hook.js +32 -32
  243. package/fieldset.d.ts +3 -0
  244. package/filter/filters/slider/_single-slider.scss +57 -38
  245. package/filter/filters/slider/_slider.scss +41 -33
  246. package/filter/filters/slider/control.js +2 -0
  247. package/filter/filters/slider/preact.js +3 -3
  248. package/filter/filters/slider/runtime.js +49 -22
  249. package/filter/filters/slider/single.d.ts +1 -1
  250. package/filter/filters/slider/single.js +23 -23
  251. package/filter-badge.d.ts +1 -1
  252. package/filter-badge.js +23 -22
  253. package/filter-controls.d.ts +1 -2
  254. package/filter-controls.js +29 -30
  255. package/form-controls/field-context.d.ts +5 -0
  256. package/form-controls/index.d.ts +10 -2
  257. package/form-controls/index.js +17 -22
  258. package/form-controls/presentation.d.ts +2 -2
  259. package/form-controls/presentation.js +59 -51
  260. package/formatting/comparison-preview.d.ts +1 -1
  261. package/formatting/icon-controls.d.ts +1 -1
  262. package/formatting/index.d.ts +1 -1
  263. package/formatting/index.js +106 -100
  264. package/formatting/inspector-section.d.ts +1 -1
  265. package/formatting/styles.scss +14 -57
  266. package/formatting/typography-controls.d.ts +1 -1
  267. package/framework-mount.d.ts +1 -1
  268. package/framework.js +237 -226
  269. package/history-controls.d.ts +14 -0
  270. package/history-controls.js +27 -0
  271. package/icon-toolbar.d.ts +62 -0
  272. package/icon-toolbar.js +1 -0
  273. package/icons/icon.d.ts +2 -2
  274. package/icons/icon.js +1 -1
  275. package/legend.d.ts +2 -2
  276. package/legend.js +12 -12
  277. package/masked-input/index.d.ts +1 -1
  278. package/masked-input/index.js +109 -109
  279. package/native-control.d.ts +14 -13
  280. package/native-control.js +3 -26
  281. package/native-controls.d.ts +54 -2
  282. package/native-styles.css +1 -1
  283. package/native-styles.scss +6 -2
  284. package/native.d.ts +3 -3
  285. package/native.js +49 -45
  286. package/number-input/index.d.ts +2 -2
  287. package/number-input/index.js +1 -1
  288. package/package.json +88 -15
  289. package/pagination.d.ts +3 -0
  290. package/pagination.js +50 -40
  291. package/pdf-viewer/component.d.ts +1 -1
  292. package/pdf-viewer/controller.js +1 -1
  293. package/pdf-viewer/header.d.ts +2 -2
  294. package/pdf-viewer/index.d.ts +2 -2
  295. package/pdf-viewer/index.js +13 -13
  296. package/pdf-viewer/search-bar.d.ts +2 -2
  297. package/pdf-viewer/status.d.ts +2 -2
  298. package/pdf-viewer/style.scss +205 -45
  299. package/pdf-viewer/toolbar.d.ts +1 -1
  300. package/pickers.d.ts +6 -2
  301. package/preact-mount.d.ts +1 -1
  302. package/preact-mount.js +2 -2
  303. package/preact.d.ts +15 -10
  304. package/preact.js +109 -64
  305. package/progress/_bar.scss +9 -3
  306. package/progress/_circular.scss +2 -1
  307. package/rating-choice.d.ts +1 -1
  308. package/rating-choice.js +1 -1
  309. package/react-adapter.d.ts +5 -3
  310. package/react-control.d.ts +1 -0
  311. package/react.d.ts +20 -11
  312. package/react.js +72 -88
  313. package/reorder-list.d.ts +2 -2
  314. package/reorder-list.js +1 -1
  315. package/reorder-list.scss +59 -17
  316. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  317. package/resource-picker/resource-picker-avatar.js +14 -14
  318. package/resource-picker/resource-picker-option.d.ts +1 -1
  319. package/resource-picker/resource-picker-option.js +28 -28
  320. package/resource-picker/resource-picker-popup.d.ts +1 -1
  321. package/resource-picker/resource-picker-popup.js +3 -3
  322. package/resource-picker/resource-picker.d.ts +1 -1
  323. package/resource-picker/resource-picker.js +68 -66
  324. package/resource-picker/resource-picker.scss +66 -35
  325. package/rich-text/engine.d.ts +17 -19
  326. package/rich-text/format-html.d.ts +2 -0
  327. package/rich-text/index.d.ts +11 -7
  328. package/rich-text/index.js +1 -1
  329. package/rich-text/model.d.ts +6 -3
  330. package/rich-text/render-model.d.ts +4 -5
  331. package/rich-text/style.scss +295 -55
  332. package/rich-text/syntax.d.ts +5 -2
  333. package/rich-text/toolbar.d.ts +7 -7
  334. package/rich-text/translations.d.ts +5 -15
  335. package/search-input/index.js +12 -12
  336. package/search-input/native.d.ts +21 -2
  337. package/segmented-switch/index.d.ts +1 -1
  338. package/segmented-switch/index.js +1 -1
  339. package/select.d.ts +22 -0
  340. package/select.js +1 -0
  341. package/selection-list.d.ts +1 -0
  342. package/selection-list.js +3 -1
  343. package/status-feedback/exit-snapshot.js +1 -1
  344. package/status-feedback/index.js +2 -2
  345. package/status-feedback/popover.js +9 -9
  346. package/status-feedback/render.d.ts +2 -2
  347. package/status-feedback/render.js +3 -44
  348. package/status-feedback/status-feedback.scss +130 -34
  349. package/status-feedback/types.d.ts +4 -0
  350. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  351. package/styles/_activity-message.scss +24 -7
  352. package/styles/_alert.scss +78 -17
  353. package/styles/_cell-editor-frame.scss +11 -0
  354. package/styles/_compositions.scss +404 -82
  355. package/styles/_control.scss +42 -12
  356. package/styles/_disclosure.scss +15 -5
  357. package/styles/_editor-counter.scss +16 -6
  358. package/styles/_editor-slider.scss +8 -4
  359. package/styles/_field-configurator.scss +321 -23
  360. package/styles/_fields-grid.scss +49 -0
  361. package/styles/_filter-controls.scss +10 -2
  362. package/styles/_icon-action.scss +48 -15
  363. package/styles/_loading.scss +12 -3
  364. package/styles/_motion.scss +32 -9
  365. package/styles/_palette.scss +0 -24
  366. package/styles/_primitives.scss +376 -116
  367. package/styles/_theme.scss +130 -86
  368. package/styles/_thresholds.scss +28 -25
  369. package/styles/_time-grid.scss +8 -3
  370. package/styles/_tokens.scss +6 -1
  371. package/styles/configurator-actions.scss +241 -0
  372. package/styles/pagination.css +213 -0
  373. package/styles/{legacy-rating.css → rating.css} +8 -3
  374. package/styles.css +1 -1
  375. package/styles.scss +3 -5
  376. package/surfaces.d.ts +38 -2
  377. package/surfaces.js +37 -134
  378. package/svelte/UiComponent.server.js +1 -48
  379. package/svelte/UiComponent.svelte +44 -32
  380. package/svelte.d.ts +1 -1
  381. package/svelte.js +33 -68
  382. package/switch/index.js +3 -2
  383. package/time-grid.d.ts +1 -2
  384. package/time-grid.js +43 -42
  385. package/timeline-track/_style.scss +96 -24
  386. package/timeline-track/component.d.ts +5 -1
  387. package/timeline-track/index.js +91 -74
  388. package/timeline-track/model.d.ts +9 -0
  389. package/timeline-track/model.js +10 -1
  390. package/ui.css +1 -1
  391. package/view-switcher.d.ts +23 -0
  392. package/vue-adapter.d.ts +1 -1
  393. package/vue.d.ts +160 -144
  394. package/vue.js +149 -178
  395. package/_chunks/calendar-BsDxCYhI.js +0 -248
  396. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  397. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  398. package/_chunks/color-palette-BmZ7kH9R.js +0 -94
  399. package/_chunks/component-D4PH5UZT.js +0 -859
  400. package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
  401. package/_chunks/controls-NEL5tDaz.js +0 -615
  402. package/_chunks/date-time-DjucJmbc.js +0 -769
  403. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  404. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  405. package/_chunks/duration-BCaktcvz.js +0 -270
  406. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  407. package/_chunks/editor-popup-B7fu_A_T.js +0 -81
  408. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  409. package/_chunks/mount-0-8opf1j.js +0 -90
  410. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  411. package/_chunks/picker-oazJ7sO_.js +0 -121
  412. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  413. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  414. package/_chunks/rich-text-2Rla349o.js +0 -477
  415. package/avatar/index.view.d.ts +0 -25
  416. package/color-palette/native.view.d.ts +0 -15
  417. package/control-presentation.view.d.ts +0 -8
  418. package/dialog/dialog-action-footer.view.d.ts +0 -20
  419. package/dialog/dialog.dom.view.d.ts +0 -15
  420. package/form-controls/index.view.d.ts +0 -12
  421. package/formatting/control-tooltip.d.ts +0 -27
  422. package/native-controls.view.d.ts +0 -54
  423. package/react-native-select.d.ts +0 -6
  424. package/search-input/native.view.d.ts +0 -21
  425. package/styles/legacy-pagination.css +0 -112
  426. package/surfaces.view.d.ts +0 -63
  427. package/vue-native-select.d.ts +0 -9
@@ -0,0 +1,14 @@
1
+ import { DropdownOption, DropdownProps } from './dropdown.types';
2
+ /** Application-owned state for DOM consumers of the shared Dropdown. */
3
+ export interface DropdownControl<T = string> {
4
+ readonly element: HTMLDivElement;
5
+ value: T;
6
+ source: DropdownOption<T>[];
7
+ disabled: boolean;
8
+ onChange?: (value: T) => void;
9
+ update(props: Partial<DropdownProps<T>>): void;
10
+ destroy(): void;
11
+ }
12
+ export declare function createDropdownControl<T = string>(document: Document, initial: DropdownProps<T>): DropdownControl<T>;
13
+ /** Lifecycle boundary for Stencil/other VNode factories that cannot render Preact components. */
14
+ export declare function renderDropdownControl<T>(h: (tag: any, props: any, ...children: any[]) => T, props: DropdownProps): T;
@@ -0,0 +1 @@
1
+ export { t as createDropdownControl, n as renderDropdownControl } from "../_chunks/control-CbOYUakE.js";
@@ -0,0 +1,6 @@
1
+ export declare function createDropdownHost(document: Document): {
2
+ element: HTMLDivElement;
3
+ mount: HTMLDivElement;
4
+ input: HTMLInputElement;
5
+ release: () => void;
6
+ };
@@ -14,6 +14,6 @@ export declare function useDropdownService<T = any>(options: DropdownOption<T>[]
14
14
  handleKeyDown: (e: KeyboardEvent) => void;
15
15
  handleSearchChange: (e: DropdownInputEvent) => void;
16
16
  isOptionSelected: (option: DropdownOption<T>) => boolean;
17
- setFocusedIndex: import('preact/hooks').Dispatch<import('preact/hooks').StateUpdater<number>>;
17
+ setFocusedIndex: import('../_vendor/preact/hooks/src/index').Dispatch<import('../_vendor/preact/hooks/src/index').StateUpdater<number>>;
18
18
  };
19
19
  export {};
@@ -1,4 +1,4 @@
1
- import { useCallback as e, useEffect as t, useMemo as n, useRef as r, useState as i } from "preact/hooks";
1
+ import { c as e, i as t, n, o as r, t as i } from "../_chunks/hooks.module-CG3gN83z.js";
2
2
  //#region src/dropdown/dropdown.service.ts
3
3
  var a = (e, t) => e.label.toLowerCase().includes(t.toLowerCase()), o = (e, t, n) => {
4
4
  if (n === "none") return 0;
@@ -12,8 +12,8 @@ function s(e, t, n) {
12
12
  return r ? [r] : [];
13
13
  }
14
14
  function c(c, l, u, d = {}, f, p) {
15
- let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] = i(b), [C, w] = i(-1), [T, E] = i(() => s(c, l, v)), D = r(!1);
16
- t(() => {
15
+ let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] = t(b), [C, w] = t(-1), [T, E] = t(() => s(c, l, v)), D = i(!1);
16
+ e(() => {
17
17
  E(p?.selected ?? s(c, l, v));
18
18
  }, [
19
19
  l,
@@ -34,9 +34,9 @@ function c(c, l, u, d = {}, f, p) {
34
34
  _,
35
35
  !!p
36
36
  ]);
37
- t(() => {
37
+ e(() => {
38
38
  D.current = !1, S(b);
39
- }, [b]), t(() => {
39
+ }, [b]), e(() => {
40
40
  O.length ? w((e) => {
41
41
  if (D.current && e >= 0 && e < O.length && !O[e].disabled) return e;
42
42
  let t = O.findIndex((e) => !e.disabled && T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)));
@@ -47,7 +47,7 @@ function c(c, l, u, d = {}, f, p) {
47
47
  return e >= 0 && e < O.length && !O[e].disabled ? e : t >= 0 ? t : O.findIndex((e) => !e.disabled);
48
48
  }) : w(-1);
49
49
  }, [O, T]);
50
- let k = e((e) => {
50
+ let k = r((e) => {
51
51
  if (!e.disabled) {
52
52
  if (v) {
53
53
  let t = T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), n;
@@ -74,7 +74,7 @@ function c(c, l, u, d = {}, f, p) {
74
74
  selectedOptions: T,
75
75
  filteredOptions: O,
76
76
  handleSelect: k,
77
- handleKeyDown: e((e) => {
77
+ handleKeyDown: r((e) => {
78
78
  switch (e.key) {
79
79
  case "Escape":
80
80
  e.preventDefault(), e.stopPropagation();
@@ -93,11 +93,11 @@ function c(c, l, u, d = {}, f, p) {
93
93
  C,
94
94
  k
95
95
  ]),
96
- handleSearchChange: e((e) => {
96
+ handleSearchChange: r((e) => {
97
97
  let t = e.currentTarget.value;
98
98
  t !== x && (D.current = !1, S(t), p?.search(t), w(-1));
99
99
  }, [p, x]),
100
- isOptionSelected: e((e) => T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [T]),
100
+ isOptionSelected: r((e) => T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [T]),
101
101
  setFocusedIndex: w
102
102
  };
103
103
  }
@@ -1,5 +1,6 @@
1
+ import { JSX } from '../_vendor/preact/src/index';
1
2
  import { DropdownDataSource, DropdownRemoteText } from './remote';
2
- export type { DropdownDataSource, DropdownRemoteText, LookupId, LookupCursor } from './remote';
3
+ export type { DropdownDataSource, DropdownRemoteText, LookupId, LookupCursor, } from './remote';
3
4
  export type DropdownRenderable = any;
4
5
  export type DropdownVNode = any;
5
6
  export type DropdownStyle = string | Record<string, string | number | undefined>;
@@ -43,6 +44,8 @@ export type DropdownConfig<T = any> = {
43
44
  initialSearch?: string;
44
45
  /** Close the dropdown when Tab is pressed inside the open popup. */
45
46
  closeOnTab?: boolean;
47
+ /** Dismiss then let the browser Tab from the trigger (standalone fields). */
48
+ nativeTabNavigation?: boolean;
46
49
  portalTarget?: HTMLElement | null;
47
50
  topLayer?: boolean;
48
51
  ariaLabel?: string;
@@ -66,6 +69,7 @@ export interface DropdownEnvironment {
66
69
  }
67
70
  export type DropdownProps<T = any> = {
68
71
  environment?: DropdownEnvironment;
72
+ triggerAttributes?: JSX.HTMLAttributes<HTMLDivElement>;
69
73
  source: DropdownOption<T>[];
70
74
  /** Optional application-owned remote search and ID resolver. Values must be string/number IDs. */
71
75
  dataSource?: DropdownDataSource<T>;
@@ -1,6 +1,6 @@
1
1
  @use '../styles/motion';
2
2
  @use '../styles/palette';
3
-
3
+ @use '../styles/control';
4
4
 
5
5
  // Mixins
6
6
  @mixin focus-style {
@@ -15,11 +15,11 @@
15
15
 
16
16
  revo-grid,
17
17
  .rv-formula-bar,
18
+ .rv-native-controls,
18
19
  :root {
19
20
  --rv-dropdown-container-tag-background: #{palette.$gray-eeeeee};
20
21
  --rv-dropdown-placeholder-color: var(--rv-ui-text-muted);
21
22
 
22
-
23
23
  &[theme*='dark'] {
24
24
  --rv-dropdown-container-tag-background: #{palette.$gray-2b2b2b};
25
25
  --rv-dropdown-placeholder-color: var(--rv-ui-text-muted);
@@ -51,7 +51,8 @@ revo-grid,
51
51
  --rv-dropdown-arrow-right: 5px;
52
52
  --rv-dropdown-arrow-gap: 4px;
53
53
  --rv-dropdown-value-right-space: calc(
54
- var(--rv-dropdown-arrow-size) + var(--rv-dropdown-arrow-right) + var(--rv-dropdown-arrow-gap)
54
+ var(--rv-dropdown-arrow-size) + var(--rv-dropdown-arrow-right) +
55
+ var(--rv-dropdown-arrow-gap)
55
56
  );
56
57
 
57
58
  @include flex-center;
@@ -86,10 +87,11 @@ revo-grid,
86
87
  justify-content: center;
87
88
  margin: 0;
88
89
  position: absolute;
89
- right: var(--rv-dropdown-arrow-right);
90
+ inset-inline-end: var(--rv-dropdown-arrow-right);
90
91
  top: 50%;
91
92
  transform: translateY(-50%);
92
- transition: transform var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out);
93
+ transition: transform var(--rv-ui-motion-normal, 160ms)
94
+ var(--rv-ui-motion-ease, ease-out);
93
95
  z-index: 1;
94
96
 
95
97
  svg {
@@ -112,8 +114,8 @@ revo-grid,
112
114
  align-items: center;
113
115
  min-width: 0;
114
116
  overflow: hidden;
115
- padding-left: 5px;
116
- padding-right: var(--rv-dropdown-value-right-space);
117
+ padding-inline-start: 5px;
118
+ padding-inline-end: var(--rv-dropdown-value-right-space);
117
119
  }
118
120
 
119
121
  .selected-value {
@@ -125,8 +127,8 @@ revo-grid,
125
127
  max-width: 100%;
126
128
  min-width: 0;
127
129
  overflow: hidden;
128
- padding-left: 5px;
129
- padding-right: var(--rv-dropdown-value-right-space);
130
+ padding-inline-start: 5px;
131
+ padding-inline-end: var(--rv-dropdown-value-right-space);
130
132
  text-overflow: ellipsis;
131
133
  white-space: nowrap;
132
134
  width: 100%;
@@ -146,9 +148,13 @@ revo-grid,
146
148
  background-color: var(--rv-dropdown-container-tag-background);
147
149
  border-radius: 3px;
148
150
  padding: 2px 6px;
149
- padding-right: 0;
151
+ padding-inline-end: 0;
150
152
  font-size: 14px;
151
153
 
154
+ // Custom tag palettes also own the remove glyph's foreground.
155
+ > button.rv-remove-button {
156
+ color: inherit;
157
+ }
152
158
  }
153
159
 
154
160
  .placeholder {
@@ -158,7 +164,7 @@ revo-grid,
158
164
  max-width: 100%;
159
165
  min-width: 0;
160
166
  overflow: hidden;
161
- padding-right: var(--rv-dropdown-value-right-space);
167
+ padding-inline-end: var(--rv-dropdown-value-right-space);
162
168
  text-overflow: ellipsis;
163
169
  white-space: nowrap;
164
170
  width: 100%;
@@ -207,7 +213,8 @@ revo-grid,
207
213
  padding: 6px;
208
214
  flex-direction: column;
209
215
  transform-origin: top left;
210
- animation: revoDropdownMenuIn var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out);
216
+ animation: revoDropdownMenuIn var(--rv-ui-motion-enter, 180ms)
217
+ var(--rv-ui-motion-ease, ease-out);
211
218
 
212
219
  .dropdown-listbox {
213
220
  display: flex;
@@ -247,6 +254,7 @@ revo-grid,
247
254
  background-color: var(--rv-dropdown-menu-background);
248
255
 
249
256
  .dropdown-option {
257
+ box-sizing: border-box;
250
258
  display: flex;
251
259
  min-height: 38px;
252
260
  align-items: center;
@@ -255,12 +263,13 @@ revo-grid,
255
263
  font-size: 14px;
256
264
  font-weight: 400;
257
265
  list-style: none;
258
- padding: 0;
266
+ padding: 8px 10px;
259
267
  cursor: pointer;
260
268
  user-select: none;
261
269
  margin: 1px 0;
262
270
  transition:
263
- background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out),
271
+ background-color var(--rv-ui-motion-fast, 120ms)
272
+ var(--rv-ui-motion-ease, ease-out),
264
273
  color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out);
265
274
 
266
275
  &[class*='theme-dark'] {
@@ -282,14 +291,13 @@ revo-grid,
282
291
  opacity: 0.5;
283
292
  cursor: not-allowed;
284
293
  }
285
-
286
294
  }
287
295
 
288
296
  .option-content {
289
297
  @include flex-center;
290
298
  gap: 8px;
291
299
  width: 100%;
292
- padding: 8px 10px;
300
+ min-width: 0;
293
301
  }
294
302
  .no-results {
295
303
  padding: 12px;
@@ -306,3 +314,33 @@ revo-grid,
306
314
  opacity: 1;
307
315
  }
308
316
  }
317
+
318
+ // Standalone controls share Dropdown behavior with grid editors and have form chrome.
319
+ .dropdown-container.rv-select {
320
+ height: auto;
321
+ min-width: 0;
322
+ .dropdown-trigger {
323
+ @include control.action-size;
324
+ padding-inline-end: 24px;
325
+ border: 1px solid var(--rv-ui-border);
326
+ border-radius: var(--rv-control-radius, 8px);
327
+ background: var(--rv-ui-surface-sunken);
328
+ color: var(--rv-ui-text);
329
+ &:focus-visible {
330
+ outline: 2px solid var(--rv-ui-accent);
331
+ outline-offset: 1px;
332
+ }
333
+ }
334
+ }
335
+
336
+ // Standalone controls own the padding once; grid editors retain their compact insets.
337
+ .dropdown-container:is(.rv-select, .rv-combobox, .rv-multi-select)
338
+ .dropdown-trigger {
339
+ --rv-dropdown-arrow-size: 9px;
340
+ --rv-dropdown-arrow-right: 12px;
341
+ padding-inline-end: 32px;
342
+ > .selected-value,
343
+ > .selected-values {
344
+ padding-inline: 0;
345
+ }
346
+ }
@@ -6,7 +6,7 @@ export type { DropdownPopupProps } from './popup';
6
6
  /**
7
7
  * Dropdown component
8
8
  */
9
- export declare function Dropdown<T = any>({ source: localSource, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
9
+ export declare function Dropdown<T = any>({ source: localSource, triggerAttributes, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
10
10
  /**
11
11
  * Define the dropdown component
12
12
  * @param el - The element to render the dropdown
package/dropdown/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import { DropdownPopup as e } from "./popup.js";
2
- import { n as t, r as n, t as r } from "../_chunks/dropdown-CkGQBm1Q.js";
3
- import { DropdownPopupContent as i } from "./content.js";
4
- export { r as Dropdown, e as DropdownPopup, i as DropdownPopupContent, t as defineDropdown, n as destroyDropdown };
1
+ import { d as e, l as t, p as n, u as r } from "../_chunks/native-control-B9MNibfa.js";
2
+ import { t as i } from "../_chunks/popup-C35Isk7p.js";
3
+ export { t as Dropdown, i as DropdownPopup, n as DropdownPopupContent, r as defineDropdown, e as destroyDropdown };
@@ -21,9 +21,14 @@ export interface LookupFieldOptions extends EditorCommitOptions {
21
21
  renderValue?: import('./dropdown.types').DropdownProps<LookupId>['renderValue'];
22
22
  }
23
23
  export declare function LookupField({ initial, options, context, apply, cancel, }: {
24
+ /** Initial selected record ID, multiple IDs, or null for an empty selection. */
24
25
  initial: LookupId | LookupId[] | null;
26
+ /** Remote data source, selection mode, validation, text and commit behavior. */
25
27
  options: LookupFieldOptions;
28
+ /** Application context forwarded to the remote data source as dataContext. */
26
29
  context: unknown;
30
+ /** Commits the selected record IDs. Update application state and close the editor. */
27
31
  apply: (value: LookupId | LookupId[] | null) => void;
32
+ /** Closes the editor without applying the current draft. */
28
33
  cancel: () => void;
29
- }): import("preact").JSX.Element;
34
+ }): import("../_vendor/preact/src/index").JSX.Element;
@@ -1,64 +1,65 @@
1
- import { t as e } from "../_chunks/dropdown-CkGQBm1Q.js";
2
- import { n as t } from "../_chunks/editor-commit-D6Rf5rGz.js";
3
- import { EditorActions as n } from "../editor-actions.js";
4
- import { useRef as r, useState as i } from "preact/hooks";
5
- import { jsx as a, jsxs as o } from "preact/jsx-runtime";
1
+ import { i as e, t } from "../_chunks/hooks.module-CG3gN83z.js";
2
+ import { t as n } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
3
+ import { l as r } from "../_chunks/native-control-B9MNibfa.js";
4
+ import { n as i } from "../_chunks/editor-commit-Bq3wSgvr.js";
5
+ import { EditorActions as a } from "../editor-actions.js";
6
6
  //#region src/dropdown/lookup-field.tsx
7
- function s({ initial: s, options: c, context: l, apply: u, cancel: d }) {
8
- let [f, p] = i(s), [m, h] = i(!1), g = c.autoApply !== !1, _ = r(!1), v = r(s), y = f === null || Array.isArray(f) && !f.length;
9
- return t(() => {
10
- if (!_.current) return !0;
11
- let e = v.current;
12
- return c.required && (e === null || Array.isArray(e) && !e.length) ? !1 : (_.current && (_.current = !1, u(e)), !0);
13
- }, g), /* @__PURE__ */ o("div", {
7
+ function o({ initial: o, options: s, context: c, apply: l, cancel: u }) {
8
+ let [d, f] = e(o), [p, m] = e(!1), h = s.autoApply !== !1, g = t(!1), _ = t(o), v = d === null || Array.isArray(d) && !d.length;
9
+ return i(() => {
10
+ if (!g.current) return !0;
11
+ let e = _.current;
12
+ return s.required && (e === null || Array.isArray(e) && !e.length) ? !1 : (g.current && (g.current = !1, l(e)), !0);
13
+ }, h), /* @__PURE__ */ n("div", {
14
14
  class: "rv-lookup-editor",
15
15
  onKeyDown: (e) => {
16
- (e.ctrlKey || e.metaKey) && e.key === "Enter" && !(c.required && y) && (e.preventDefault(), u(f));
16
+ (e.ctrlKey || e.metaKey) && e.key === "Enter" && !(s.required && v) && (e.preventDefault(), l(d));
17
17
  },
18
18
  children: [
19
- /* @__PURE__ */ a(e, {
20
- source: c.source ?? [],
21
- dataSource: c.dataSource,
22
- dataContext: l,
23
- remoteText: c.text,
24
- value: f === null ? void 0 : f,
19
+ /* @__PURE__ */ n(r, {
20
+ className: "rv-select",
21
+ source: s.source ?? [],
22
+ dataSource: s.dataSource,
23
+ dataContext: c,
24
+ remoteText: s.text,
25
+ value: d === null ? void 0 : d,
25
26
  onChange: (e) => {
26
- _.current = !0, h(!0), v.current = e, p(e);
27
+ g.current = !0, m(!0), _.current = e, f(e);
27
28
  let t = e === null || Array.isArray(e) && !e.length;
28
- g && !c.multiple && !(c.required && t) && (_.current = !1, u(e));
29
+ h && !s.multiple && !(s.required && t) && (g.current = !1, l(e));
29
30
  },
30
- placeholder: c.placeholder ?? c.text?.placeholder,
31
- renderOption: c.renderOption,
32
- renderValue: c.renderValue,
31
+ placeholder: s.placeholder ?? s.text?.placeholder,
32
+ renderOption: s.renderOption,
33
+ renderValue: s.renderValue,
33
34
  config: {
34
35
  search: !0,
35
- multiSelect: c.multiple,
36
+ multiSelect: s.multiple,
36
37
  topLayer: !0,
37
38
  autoFocus: !0,
38
- ariaLabel: c.text?.label ?? "Linked records",
39
- searchPlaceholder: c.text?.searchPlaceholder,
40
- searchAriaLabel: c.text?.searchLabel,
41
- removeLabel: c.text?.removeLabel
39
+ ariaLabel: s.text?.label ?? "Linked records",
40
+ searchPlaceholder: s.text?.searchPlaceholder,
41
+ searchAriaLabel: s.text?.searchLabel,
42
+ removeLabel: s.text?.removeLabel
42
43
  }
43
44
  }),
44
- c.required && y && m && /* @__PURE__ */ a("span", {
45
+ s.required && v && p && /* @__PURE__ */ n("span", {
45
46
  role: "alert",
46
47
  class: "rv-editor-error",
47
- children: c.text?.requiredValue ?? "Select at least one record."
48
+ children: s.text?.requiredValue ?? "Select at least one record."
48
49
  }),
49
- /* @__PURE__ */ a(n, {
50
- showConfirm: c.showActions ?? !g,
51
- text: c.actions,
52
- disabled: c.required && y,
53
- cancel: d,
54
- apply: () => u(f),
55
- clear: c.required ? void 0 : () => {
56
- let e = c.multiple ? [] : null;
57
- g ? u(e) : (v.current = e, p(e));
50
+ /* @__PURE__ */ n(a, {
51
+ showConfirm: s.showActions ?? !h,
52
+ text: s.actions,
53
+ disabled: s.required && v,
54
+ cancel: u,
55
+ apply: () => l(d),
56
+ clear: s.required ? void 0 : () => {
57
+ let e = s.multiple ? [] : null;
58
+ h ? l(e) : (_.current = e, f(e));
58
59
  }
59
60
  })
60
61
  ]
61
62
  });
62
63
  }
63
64
  //#endregion
64
- export { s as LookupField };
65
+ export { o as LookupField };
@@ -1,4 +1,4 @@
1
- import { h, ComponentChildren, RefObject } from 'preact';
1
+ import { ComponentChildren, RefObject } from '../_vendor/preact/src/index';
2
2
  export type DropdownPopupProps = {
3
3
  onPointerRelease?: (event: MouseEvent | TouchEvent) => void;
4
4
  triggerRef: RefObject<HTMLDivElement>;
@@ -24,4 +24,4 @@ export type DropdownPopupProps = {
24
24
  * @param theme - The theme of the dropdown
25
25
  * @param dropdownMenuId - The id of the dropdown menu
26
26
  */
27
- export declare function DropdownPopup({ onPointerRelease, triggerRef, children, portalTarget, theme, dropdownMenuId, popupClassName, closeOnClickOutside, onClose, align, matchTriggerWidth, maxHeight, observePopupResize, topLayer, }: DropdownPopupProps): h.JSX.Element;
27
+ export declare function DropdownPopup({ onPointerRelease, triggerRef, children, portalTarget, theme, dropdownMenuId, popupClassName, closeOnClickOutside, onClose, align, matchTriggerWidth, maxHeight, observePopupResize, topLayer, }: DropdownPopupProps): import('../_vendor/preact/src/index').VNode<any>;
package/dropdown/popup.js CHANGED
@@ -1,140 +1 @@
1
- import { hideTopLayerPopup as e, showTopLayerPopup as t } from "../core/top-layer-popup.js";
2
- import { inheritUiMotion as n } from "../core/motion.js";
3
- import { jsx as r } from "preact/jsx-runtime";
4
- import { createPortal as i, useEffect as a, useLayoutEffect as o, useRef as s, useState as c } from "preact/compat";
5
- //#region src/dropdown/popup.tsx
6
- var l = 5, u = 4;
7
- function d(e, t, n) {
8
- let r = e.ownerDocument.defaultView;
9
- if (!r || r.getComputedStyle(e).position === "fixed") return {
10
- top: t,
11
- left: n,
12
- scaleX: 1,
13
- scaleY: 1
14
- };
15
- let i = e.offsetParent, a = e.ownerDocument;
16
- if (!i || i === a.body || i === a.documentElement) return {
17
- top: t + r.scrollY,
18
- left: n + r.scrollX,
19
- scaleX: 1,
20
- scaleY: 1
21
- };
22
- let o = i.getBoundingClientRect(), s = i, c = s.offsetWidth > 0 ? o.width / s.offsetWidth : 1, l = s.offsetHeight > 0 ? o.height / s.offsetHeight : 1, u = Number.isFinite(c) && c > 0 ? c : 1, d = Number.isFinite(l) && l > 0 ? l : 1;
23
- return {
24
- top: (t - o.top) / d - s.clientTop + s.scrollTop,
25
- left: (n - o.left) / u - s.clientLeft + s.scrollLeft,
26
- scaleX: u,
27
- scaleY: d
28
- };
29
- }
30
- function f({ onPointerRelease: f, triggerRef: p, children: m, portalTarget: h, theme: g, dropdownMenuId: _, popupClassName: v, closeOnClickOutside: y = !1, onClose: b, align: x = "start", matchTriggerWidth: S = !1, maxHeight: C, observePopupResize: w = !0, topLayer: T = !1 }) {
31
- let E = s(null), [D, O] = c({
32
- top: 0,
33
- left: 0,
34
- display: "none"
35
- });
36
- o(() => {
37
- let e = p.current, t = E.current;
38
- if (e && t) return n(e, t);
39
- }, [h, p]), a(() => {
40
- let e = p.current;
41
- if (!e) return;
42
- let t = e.ownerDocument.defaultView ?? window, n = () => {
43
- let t = E.current;
44
- if (!t) return;
45
- let n = e.getBoundingClientRect(), r = d(t, n.bottom + u, n.left);
46
- O({
47
- top: r.top,
48
- left: r.left,
49
- display: "flex",
50
- ...S ? { width: n.width / r.scaleX } : {}
51
- });
52
- }, r = () => {
53
- let n = E.current;
54
- if (!n) return;
55
- let r = e.getBoundingClientRect(), i = n.style.maxHeight;
56
- n.style.maxHeight = "";
57
- let a = n.getBoundingClientRect(), o = d(n, 0, 0), s = Math.max(a.height, n.offsetHeight * o.scaleY, n.scrollHeight * o.scaleY);
58
- n.style.maxHeight = i;
59
- let c = Math.max(a.width, n.offsetWidth * o.scaleX), f = Math.min(s, typeof C == "number" ? Math.max(0, C * o.scaleY) : Infinity), p = t.innerHeight, m = t.innerWidth, h = Math.max(0, r.top - u - l), g = Math.max(0, p - r.bottom - u - l), _ = f > g && h > g, v = Math.min(f, _ ? h : g), y = _ ? r.top - u - v : r.bottom + u, b = x === "end" ? r.right - c : r.left;
60
- y = Math.max(l, Math.min(y, p - l - v)), b = Math.max(l, Math.min(b, m - c - l));
61
- let w = d(n, y, b);
62
- O({
63
- top: w.top,
64
- left: w.left,
65
- display: "flex",
66
- maxHeight: v / w.scaleY,
67
- ...S ? { width: r.width / w.scaleX } : {}
68
- });
69
- };
70
- n();
71
- let i = t.setTimeout(r, 0);
72
- t.addEventListener("resize", r), t.addEventListener("scroll", r, !0);
73
- let a = t.ResizeObserver, o = a ? new a(r) : void 0;
74
- o?.observe(e);
75
- let s = e.closest(".rv-dialog__surface, dialog");
76
- return s && o?.observe(s), w && E.current && o?.observe(E.current), () => {
77
- t.clearTimeout(i), t.removeEventListener("resize", r), t.removeEventListener("scroll", r, !0), o?.disconnect();
78
- };
79
- }, [
80
- x,
81
- S,
82
- C,
83
- w,
84
- h,
85
- p
86
- ]), o(() => {
87
- let n = E.current;
88
- if (!T || !n) return;
89
- let r = t(n);
90
- return () => {
91
- e(n, r);
92
- };
93
- }, [h, T]), o(() => {
94
- if (!y || !b) return;
95
- let e = h?.ownerDocument ?? E.current?.ownerDocument ?? p.current?.ownerDocument ?? (typeof document < "u" ? document : void 0);
96
- if (!e) return;
97
- let t = (e) => {
98
- let t = e.target;
99
- t && (E.current?.contains(t) || p.current?.contains(t) || b());
100
- };
101
- e.addEventListener("mousedown", t);
102
- let n = (t) => {
103
- if (t.key !== "Escape") return;
104
- let n = e.activeElement;
105
- n && (E.current?.contains(n) || p.current?.contains(n)) && (t.preventDefault(), t.stopPropagation(), b(), p.current?.querySelector("button, input, select")?.focus());
106
- };
107
- return e.addEventListener("keydown", n), () => {
108
- e.removeEventListener("mousedown", t), e.removeEventListener("keydown", n);
109
- };
110
- }, [
111
- y,
112
- b,
113
- h,
114
- p
115
- ]);
116
- let k = /* @__PURE__ */ r("div", {
117
- ref: E,
118
- id: _,
119
- className: `revo-dropdown-menu ${v || ""}`,
120
- "data-theme": g ?? "default",
121
- onMouseUp: f,
122
- onTouchEnd: f,
123
- style: {
124
- top: `${D.top}px`,
125
- left: `${D.left}px`,
126
- ...T ? {
127
- right: "auto",
128
- bottom: "auto",
129
- margin: "0"
130
- } : {},
131
- display: D.display,
132
- maxHeight: D.maxHeight === void 0 ? void 0 : `${D.maxHeight}px`,
133
- width: D.width === void 0 ? void 0 : `${D.width}px`
134
- },
135
- children: m
136
- });
137
- return h ? i(k, h) : k;
138
- }
139
- //#endregion
140
- export { f as DropdownPopup };
1
+ export { t as DropdownPopup } from "../_chunks/popup-C35Isk7p.js";
@@ -10,4 +10,4 @@ export declare function DurationControls(props: DurationFieldOptions & {
10
10
  disabled?: boolean;
11
11
  onChange: (value: number, unit?: DurationUnit, elapsed?: boolean) => void;
12
12
  onCommit?: (value: number, unit?: DurationUnit, elapsed?: boolean) => void;
13
- }): import("preact").JSX.Element;
13
+ }): import("../_vendor/preact/src/index").JSX.Element;
@@ -30,7 +30,7 @@ export interface DurationFieldProps extends DurationFieldOptions {
30
30
  readOnly?: boolean;
31
31
  className?: string;
32
32
  }
33
- export declare function DurationField(props: DurationFieldProps): import("preact").JSX.Element;
33
+ export declare function DurationField(props: DurationFieldProps): import("../_vendor/preact/src/index").JSX.Element;
34
34
  export type { DurationControlOptions, ParsedDuration };
35
35
  /** Shared staged duration form for grid adapters; scheduling stays in product commands. */
36
36
  export declare function DurationDraft({ value, options, apply, cancel, }: {
@@ -42,4 +42,4 @@ export declare function DurationDraft({ value, options, apply, cancel, }: {
42
42
  };
43
43
  apply: (value: ParsedDuration | null) => void;
44
44
  cancel: () => void;
45
- }): import("preact").JSX.Element;
45
+ }): import("../_vendor/preact/src/index").JSX.Element;
package/duration/index.js CHANGED
@@ -1 +1 @@
1
- export { t as DurationDraft, n as DurationField } from "../_chunks/duration-BCaktcvz.js";
1
+ export { t as DurationDraft, n as DurationField } from "../_chunks/duration-CBJWK82T.js";
@@ -22,7 +22,7 @@
22
22
  flex-wrap: wrap;
23
23
  gap: 8px;
24
24
  }
25
- &__modes > select {
25
+ &__modes > .dropdown-container {
26
26
  flex: 1 1 100px;
27
27
  min-width: 0;
28
28
  width: auto;
@@ -17,4 +17,4 @@ export declare function EditorActions({ apply, cancel, clear, disabled, text, sh
17
17
  disabled?: boolean;
18
18
  text?: Partial<EditorActionText>;
19
19
  showConfirm?: boolean;
20
- }): import("preact").JSX.Element | null;
20
+ }): import("./_vendor/preact/src/index").JSX.Element | null;