@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,649 @@
1
+ import { c as e, i as t, u as n } from "./preact.module-BBM36DnO.js";
2
+ import { c as r, i, n as a, o, r as s, s as c, t as l } from "./hooks.module-CG3gN83z.js";
3
+ import { t as u } from "./jsxRuntime.module-F6UFnpT-.js";
4
+ import { renderPreactInto as d } from "../preact-mount.js";
5
+ import { i as f } from "./top-layer-popup-CNSDdfJV.js";
6
+ import { t as p } from "./title-tooltip-Cw6LOZhb.js";
7
+ import { t as m } from "./field-context-D57PnBbH.js";
8
+ import { r as h, t as g } from "./popup-C35Isk7p.js";
9
+ import { t as _ } from "./selection-list-tooltips-BtWjpP6M.js";
10
+ import { useDropdownService as v } from "../dropdown/dropdown.service.js";
11
+ import { RemoveButton as y } from "../buttons/remove-button.js";
12
+ import { t as b } from "./chevron-down-GbplLa6s.js";
13
+ import { registerControl as x, renderControl as S } from "../control-presentation.js";
14
+ //#region src/dropdown/remote.ts
15
+ var C = {
16
+ loading: "Loading…",
17
+ empty: "No results found",
18
+ error: "Unable to load options.",
19
+ retry: "Retry",
20
+ loadMore: "Load more",
21
+ unavailable: (e) => `Unavailable (${String(e)})`
22
+ }, w = class {
23
+ source;
24
+ context;
25
+ changed;
26
+ text;
27
+ settings;
28
+ cache = /* @__PURE__ */ new Map();
29
+ ids = [];
30
+ items = [];
31
+ query = "";
32
+ cursor;
33
+ seen = /* @__PURE__ */ new Set();
34
+ searchAbort;
35
+ resolveAbort;
36
+ timer;
37
+ generation = 0;
38
+ resolution = 0;
39
+ disposed = !1;
40
+ loading = !1;
41
+ searchFailed = !1;
42
+ failedCursor;
43
+ resolveFailed = !1;
44
+ opened = !1;
45
+ constructor(e, t, n, r = C, i = {}) {
46
+ this.source = e, this.context = t, this.changed = n, this.text = r, this.settings = i;
47
+ }
48
+ remember(e) {
49
+ for (let t of e) {
50
+ if (typeof t.value != "string" && (typeof t.value != "number" || !Number.isFinite(t.value))) throw TypeError("Remote dropdown values must be finite numeric or string IDs.");
51
+ this.cache.set(t.value, t);
52
+ }
53
+ }
54
+ emit() {
55
+ this.disposed || this.changed({
56
+ items: [...this.items],
57
+ selected: this.ids.map((e) => this.cache.get(e) ?? {
58
+ value: e,
59
+ label: this.text.unavailable(e),
60
+ unresolved: !0
61
+ }),
62
+ loading: this.loading,
63
+ error: this.searchFailed || this.resolveFailed,
64
+ hasMore: this.cursor !== void 0
65
+ });
66
+ }
67
+ setSelected(e, t = []) {
68
+ this.remember(t), this.ids = [...new Set(e)], this.resolveAbort?.abort();
69
+ let n = ++this.resolution, r = this.ids.filter((e) => !this.cache.has(e));
70
+ if (this.resolveFailed = !1, this.emit(), !r.length || this.disposed) return;
71
+ let i = this.resolveAbort = new AbortController();
72
+ Promise.resolve().then(() => this.source.resolve({
73
+ ids: r,
74
+ signal: i.signal,
75
+ context: this.context
76
+ })).then((e) => {
77
+ this.disposed || i.signal.aborted || n !== this.resolution || (this.remember(e), this.emit());
78
+ }).catch(() => {
79
+ this.disposed || i.signal.aborted || n !== this.resolution || (this.resolveFailed = !0, this.emit());
80
+ });
81
+ }
82
+ search(e, t = !1) {
83
+ this.disposed || (this.opened = !0, this.query = e, this.searchAbort?.abort(), clearTimeout(this.timer), ++this.generation, this.items = [], this.cursor = void 0, this.seen.clear(), this.loading = !0, this.searchFailed = !1, this.emit(), t ? this.page(void 0, this.generation) : this.timer = setTimeout(() => void this.page(void 0, this.generation), this.settings.debounceMs ?? 200));
84
+ }
85
+ async page(e, t) {
86
+ if (this.disposed || t !== this.generation || this.seen.has(e)) return;
87
+ this.seen.add(e), this.loading = !0, this.searchFailed = !1, this.emit();
88
+ let n = this.searchAbort = new AbortController();
89
+ try {
90
+ let r = await this.source.search({
91
+ query: this.query,
92
+ cursor: e,
93
+ pageSize: this.settings.pageSize ?? 50,
94
+ signal: n.signal,
95
+ context: this.context
96
+ });
97
+ if (this.disposed || n.signal.aborted || t !== this.generation) return;
98
+ this.remember(r.items);
99
+ let i = new Map(this.items.map((e) => [e.value, e]));
100
+ r.items.forEach((e) => i.set(e.value, e)), this.items = [...i.values()], this.cursor = r.nextCursor ?? void 0, this.seen.has(this.cursor) && (this.cursor = void 0);
101
+ } catch {
102
+ if (this.disposed || n.signal.aborted || t !== this.generation) return;
103
+ this.seen.delete(e), this.failedCursor = e, this.searchFailed = !0;
104
+ } finally {
105
+ !this.disposed && !n.signal.aborted && t === this.generation && (this.loading = !1, this.emit());
106
+ }
107
+ }
108
+ loadMore() {
109
+ !this.loading && !this.searchFailed && this.cursor !== void 0 && this.page(this.cursor, this.generation);
110
+ }
111
+ retry() {
112
+ this.resolveFailed && this.setSelected(this.ids), this.searchFailed && this.opened && this.page(this.failedCursor, this.generation);
113
+ }
114
+ close() {
115
+ this.opened = !1, this.searchAbort?.abort(), clearTimeout(this.timer), ++this.generation, this.loading = !1, this.emit();
116
+ }
117
+ destroy() {
118
+ this.disposed = !0, this.close(), this.resolveAbort?.abort(), ++this.resolution;
119
+ }
120
+ };
121
+ //#endregion
122
+ //#region src/dropdown/remote-hook.ts
123
+ function T(e) {
124
+ let t = a(() => ({
125
+ ...C,
126
+ ...e.remoteText
127
+ }), [e.remoteText]), [n, o] = i({
128
+ items: [],
129
+ selected: [],
130
+ loading: !1,
131
+ error: !1,
132
+ hasMore: !1
133
+ }), c = l(), u = e.value === null || e.value === void 0 ? [] : Array.isArray(e.value) ? e.value : [e.value], d = JSON.stringify(u);
134
+ return s(() => {
135
+ if (!e.dataSource || e.disabled) {
136
+ o({
137
+ items: [],
138
+ selected: [],
139
+ loading: !1,
140
+ error: !1,
141
+ hasMore: !1
142
+ });
143
+ return;
144
+ }
145
+ let n = new w(e.dataSource, e.dataContext, o, t);
146
+ return c.current = n, () => {
147
+ n.destroy(), c.current === n && (c.current = void 0);
148
+ };
149
+ }, [
150
+ e.dataSource,
151
+ e.dataContext,
152
+ e.disabled,
153
+ t
154
+ ]), s(() => {
155
+ c.current?.setSelected(u, e.source);
156
+ }, [
157
+ d,
158
+ e.source,
159
+ e.dataSource,
160
+ e.dataContext,
161
+ e.disabled,
162
+ t
163
+ ]), r(() => {
164
+ e.open ? c.current?.search(e.initialQuery, !0) : c.current?.close();
165
+ }, [
166
+ e.open,
167
+ e.dataSource,
168
+ e.dataContext,
169
+ e.disabled,
170
+ e.initialQuery,
171
+ t
172
+ ]), {
173
+ ...n,
174
+ text: t,
175
+ search: (e) => c.current?.search(e),
176
+ loadMore: () => c.current?.loadMore(),
177
+ retry: () => c.current?.retry()
178
+ };
179
+ }
180
+ //#endregion
181
+ //#region src/dropdown/content.tsx
182
+ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, config: c, multiSelect: d, search: f, searchPlaceholder: p, listboxId: m, searchId: h, renderOption: g, renderNoResults: y, onClose: b, onTabNavigation: x, theme: S }) {
183
+ let C = l(null), w = l(null), T = l(null), E = l(!1), { searchValue: ee, focusedIndex: O, selectedOptions: k, filteredOptions: A, handleSelect: j, handleKeyDown: M, handleSearchChange: N, setFocusedIndex: P } = v(e, i, a, c, b, n && {
184
+ selected: t ?? [],
185
+ search: n.search
186
+ }), F = O >= 0 && O < A.length && !A[O].disabled ? `${m}-option-${O}` : void 0;
187
+ s(() => {
188
+ let e = T.current;
189
+ if (!E.current || !e || !F) return;
190
+ E.current = !1;
191
+ let t = e.ownerDocument.getElementById(F);
192
+ if (!t) return;
193
+ let n = e.getBoundingClientRect(), { top: r, bottom: i } = t.getBoundingClientRect();
194
+ r < n.top ? e.scrollTop += r - n.top : i > n.bottom && (e.scrollTop += i - n.bottom);
195
+ });
196
+ let I = _(), L = o((e) => {
197
+ w.current = e, I(e);
198
+ }, [I]);
199
+ return r(() => {
200
+ if (!c.autoFocus) return;
201
+ let e = () => {
202
+ f && C.current ? C.current.focus({ preventScroll: !0 }) : w.current?.focus({ preventScroll: !0 });
203
+ }, t = w.current?.ownerDocument.defaultView ?? (typeof window < "u" ? window : void 0);
204
+ if (!t) return;
205
+ e();
206
+ let n = t.setTimeout(e, 0), r = t.requestAnimationFrame(e), i = t.setTimeout(e, 16);
207
+ return () => {
208
+ t.clearTimeout(n), t.cancelAnimationFrame(r), t.clearTimeout(i);
209
+ };
210
+ }, [c.autoFocus, f]), /* @__PURE__ */ u("div", {
211
+ ref: L,
212
+ className: "dropdown-listbox",
213
+ "data-theme": S ?? "default",
214
+ role: "listbox",
215
+ id: m,
216
+ "aria-multiselectable": d,
217
+ "aria-activedescendant": F,
218
+ tabIndex: -1,
219
+ "aria-busy": n?.loading,
220
+ onScrollCapture: (e) => {
221
+ let t = e.target;
222
+ n && t.scrollHeight - t.scrollTop - t.clientHeight < 48 && n.loadMore();
223
+ },
224
+ onKeyUp: (e) => e.stopPropagation(),
225
+ onKeyDown: (e) => {
226
+ if (e.stopPropagation(), e.key === "Escape") e.preventDefault(), e.stopPropagation(), b(!1);
227
+ else if (e.key === "Tab") {
228
+ if (c.nativeTabNavigation && x) {
229
+ x();
230
+ return;
231
+ }
232
+ e.preventDefault(), e.stopPropagation(), c.closeOnTab && b(!0);
233
+ } else (e.key !== " " || e.target !== C.current) && (E.current = e.key === "ArrowDown" || e.key === "ArrowUp", M(e));
234
+ },
235
+ children: [
236
+ f && /* @__PURE__ */ u("div", {
237
+ className: "dropdown-search",
238
+ children: /* @__PURE__ */ u("input", {
239
+ ref: C,
240
+ type: "text",
241
+ id: h,
242
+ className: `dropdown-search-input ${S ? `theme-${S}` : ""}`,
243
+ placeholder: p,
244
+ value: ee,
245
+ onChange: N,
246
+ onInput: N,
247
+ "aria-label": c.searchAriaLabel ?? "Search options"
248
+ })
249
+ }),
250
+ n?.loading && /* @__PURE__ */ u("div", {
251
+ role: "status",
252
+ children: n.text.loading
253
+ }),
254
+ n?.error && /* @__PURE__ */ u("div", {
255
+ role: "alert",
256
+ children: [
257
+ n.text.error,
258
+ " ",
259
+ /* @__PURE__ */ u(H, {
260
+ onClick: n.retry,
261
+ children: n.text.retry
262
+ })
263
+ ]
264
+ }),
265
+ /* @__PURE__ */ u(D, {
266
+ options: e,
267
+ filteredOptions: A,
268
+ multiSelect: d,
269
+ focusedIndex: O,
270
+ selectedOptions: k,
271
+ onKeyDown: M,
272
+ onSelect: j,
273
+ onFocusChange: P,
274
+ renderOption: g,
275
+ renderNoResults: n ? () => n.loading || n.error ? null : n.text.empty : y,
276
+ dropdownListRef: T,
277
+ theme: S,
278
+ optionIdPrefix: m
279
+ }),
280
+ n?.hasMore && /* @__PURE__ */ u(H, {
281
+ disabled: n.loading,
282
+ onClick: n.loadMore,
283
+ children: n.text.loadMore
284
+ })
285
+ ]
286
+ });
287
+ }
288
+ function D({ options: n, filteredOptions: r, multiSelect: i, focusedIndex: a, selectedOptions: s, onKeyDown: c, onSelect: l, onFocusChange: d, renderOption: f, renderNoResults: p, dropdownListRef: m, theme: h, optionIdPrefix: g }) {
289
+ let _ = o((e) => s.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [s]), v = o((t, n) => {
290
+ let r = _(t), o = a === n;
291
+ return /* @__PURE__ */ u("li", {
292
+ id: `${g}-option-${n}`,
293
+ role: "option",
294
+ "data-value": typeof t.value == "string" || typeof t.value == "number" ? String(t.value) : void 0,
295
+ "aria-selected": r,
296
+ "aria-disabled": t.disabled,
297
+ tabIndex: -1,
298
+ className: `dropdown-option ${r ? "selected" : ""} ${o ? "focused" : ""} ${t.disabled ? "disabled" : ""} ${h ? `theme-${h}` : ""}`,
299
+ onClick: () => l(t),
300
+ onMouseEnter: () => {
301
+ t.disabled || d(n);
302
+ },
303
+ children: f ? f(e, t, r) : /* @__PURE__ */ u("div", {
304
+ className: "option-content",
305
+ children: [i && /* @__PURE__ */ u("input", {
306
+ type: "checkbox",
307
+ checked: r,
308
+ readOnly: !0,
309
+ disabled: t.disabled,
310
+ tabIndex: -1,
311
+ "aria-hidden": "true"
312
+ }), /* @__PURE__ */ u("span", { children: t.label })]
313
+ })
314
+ }, `${t.label}-${n}`);
315
+ }, [
316
+ a,
317
+ l,
318
+ _,
319
+ i,
320
+ f,
321
+ d,
322
+ h
323
+ ]);
324
+ return /* @__PURE__ */ u(t, { children: /* @__PURE__ */ u("ul", {
325
+ ref: m,
326
+ className: "dropdown-options",
327
+ role: "presentation",
328
+ tabIndex: -1,
329
+ children: r.length > 0 ? r.map(v) : /* @__PURE__ */ u("li", {
330
+ className: "no-results",
331
+ children: p ? p(e) : /* @__PURE__ */ u("span", { children: "No results found" })
332
+ })
333
+ }) });
334
+ }
335
+ //#endregion
336
+ //#region src/dropdown/index.tsx
337
+ var ee = ({ options: t, className: n, renderValue: r }) => /* @__PURE__ */ u("span", {
338
+ className: `selected-value ${n}`,
339
+ children: r ? r(e, t[0]) : t[0].label
340
+ }), O = ({ options: t, removeOption: n, className: r, renderValue: i, disabled: a, removeLabel: o }) => /* @__PURE__ */ u("div", {
341
+ className: `selected-values ${r}`,
342
+ children: t.map((t, r) => /* @__PURE__ */ u("span", {
343
+ className: "selected-tag",
344
+ children: [i ? i(e, t) : t.label, !a && !t.disabled && /* @__PURE__ */ u(y, {
345
+ compact: !0,
346
+ onClick: (e) => {
347
+ e.stopPropagation(), n(t);
348
+ },
349
+ locale: {
350
+ title: o?.(t.label) ?? `Remove ${t.label}`,
351
+ ariaLabel: o?.(t.label) ?? `Remove ${t.label}`
352
+ }
353
+ })]
354
+ }, r))
355
+ }), k = ({ className: e }) => /* @__PURE__ */ u("span", {
356
+ className: `dropdown-arrow ${e}`,
357
+ "aria-hidden": "true",
358
+ dangerouslySetInnerHTML: { __html: b }
359
+ }), A = ({ placeholder: e, className: t }) => [/* @__PURE__ */ u("span", {
360
+ className: `placeholder px-2 ${t}`,
361
+ children: e
362
+ }), /* @__PURE__ */ u(k, { className: "mr-2" })];
363
+ function j({ source: t, triggerAttributes: n, dataSource: o, dataContext: s, remoteText: c, value: d, onChange: m, placeholder: h = "Select an option", disabled: _ = !1, name: v, id: y, className: b = "", style: x, config: S = {}, renderContent: C, renderOption: w, renderValue: D, renderPlaceholder: j, renderSelectedValue: M, renderNoResults: N, onClose: P, beforeOutsideClose: F, environment: I }) {
364
+ let { search: L = !1, searchPlaceholder: R = "Search...", closeOnClickOutside: z = !0, autoOpen: B = !1, multiSelect: V = !1, portalTarget: H, ariaLabel: te, ariaLabelledBy: ne, ariaDescribedBy: re, popupClassName: ie, maxHeight: ae } = S, { title: oe, ...se } = n ?? {}, U = p(typeof oe == "string" ? oe : void 0), W = H ?? (S.topLayer ? U.current?.closest("dialog[open], [role=dialog], revo-grid") : void 0) ?? (typeof document < "u" ? document.body : null), G = a(() => y || `dropdown-${Math.random().toString(36).substring(2, 9)}`, [y]), K = `${G}-listbox`, ce = `${G}-search`, q = `${G}-menu`, [J, Y] = i(B && !_), [le, ue] = i(!_ && (B || !!S.autoFocus)), de = l(B), fe = S.theme ?? "default";
365
+ r(() => {
366
+ B && !de.current && !_ && (ue(!0), Y(!0)), de.current = B;
367
+ }, [B, _]), r(() => {
368
+ _ && J && (Y(!1), P?.(!1));
369
+ }, [_, J]);
370
+ let X = T({
371
+ dataSource: o,
372
+ dataContext: s,
373
+ remoteText: c,
374
+ value: d,
375
+ disabled: _,
376
+ source: t,
377
+ open: J,
378
+ initialQuery: S.initialSearch ?? ""
379
+ }), Z = o ? [...new Map([...X.selected, ...X.items].map((e) => [e.value, e])).values()] : t, Q = a(() => {
380
+ if (d === void 0) return [];
381
+ if (V && Array.isArray(d)) return Z.filter((e) => d.some((t) => JSON.stringify(t) === JSON.stringify(e.value)));
382
+ {
383
+ let e = Z.find((e) => JSON.stringify(e.value) === JSON.stringify(d));
384
+ return e ? [e] : [];
385
+ }
386
+ }, [
387
+ d,
388
+ Z,
389
+ V
390
+ ]), pe = () => {
391
+ _ || Y((e) => {
392
+ let t = !e;
393
+ return t && ue(!0), t;
394
+ });
395
+ }, $ = (e = !1) => {
396
+ Y((t) => (t && P?.(e), !1));
397
+ };
398
+ r(() => {
399
+ if (!J) return;
400
+ let e = U.current;
401
+ if (e) return I?.onOpen?.(e, $);
402
+ }, [J]);
403
+ let me = (e) => {
404
+ if (!(_ || e.disabled)) {
405
+ if (V) {
406
+ let t = Q.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), n;
407
+ n = t ? Q.filter((t) => JSON.stringify(t.value) !== JSON.stringify(e.value)) : [...Q, e], m && m(n.map((e) => e.value));
408
+ } else m && m(e.value), $();
409
+ }
410
+ };
411
+ r(() => {
412
+ if (!z || !J) return;
413
+ let e = W?.ownerDocument ?? U.current?.ownerDocument ?? (typeof document < "u" ? document : void 0);
414
+ if (!e) return;
415
+ let t = (t) => {
416
+ let n = e.getElementById(q), r = t.target;
417
+ if (n && r && !f(n, r) && U.current && !U.current.contains(r)) {
418
+ if (F?.() === !1) {
419
+ t.preventDefault(), t.stopImmediatePropagation();
420
+ return;
421
+ }
422
+ $();
423
+ }
424
+ }, n = !!F;
425
+ return e.addEventListener("pointerdown", t, n), () => {
426
+ e.removeEventListener("pointerdown", t, n);
427
+ };
428
+ }, [
429
+ z,
430
+ J,
431
+ q,
432
+ W,
433
+ F
434
+ ]);
435
+ let he = () => {
436
+ let t = [k({})];
437
+ return M ? M(e, Q, t) : Q.length > 0 ? V ? [/* @__PURE__ */ u(O, {
438
+ options: Q,
439
+ removeOption: me,
440
+ renderValue: D,
441
+ disabled: _,
442
+ removeLabel: S.removeLabel
443
+ }), /* @__PURE__ */ u(k, { className: "mr-2" })] : [/* @__PURE__ */ u(ee, {
444
+ options: Q,
445
+ renderValue: D
446
+ }), /* @__PURE__ */ u(k, { className: "mr-2" })] : j ? j(e, h, t) : /* @__PURE__ */ u(A, { placeholder: h });
447
+ }, ge = () => /* @__PURE__ */ u(g, {
448
+ onPointerRelease: I?.onPointerRelease,
449
+ topLayer: S.topLayer,
450
+ triggerRef: U,
451
+ portalTarget: W,
452
+ theme: fe,
453
+ dropdownMenuId: q,
454
+ popupClassName: ie,
455
+ maxHeight: ae,
456
+ children: C ? C({
457
+ id: K,
458
+ close: $
459
+ }) : /* @__PURE__ */ u(E, {
460
+ options: o ? X.items : Z,
461
+ selectedValues: o ? X.selected : void 0,
462
+ remote: o ? X : void 0,
463
+ value: d,
464
+ onChange: (e) => {
465
+ if (!_ && (m?.(e), !V)) {
466
+ let e = U.current;
467
+ e?.ownerDocument.defaultView?.requestAnimationFrame(() => {
468
+ let t = e.ownerDocument.activeElement;
469
+ e.isConnected && (!t || t === e.ownerDocument.body || f(e, t)) && e.focus({ preventScroll: !0 });
470
+ });
471
+ }
472
+ },
473
+ config: {
474
+ ...S,
475
+ autoFocus: S.autoFocus || le
476
+ },
477
+ multiSelect: V,
478
+ search: !!o || L,
479
+ searchPlaceholder: R,
480
+ listboxId: K,
481
+ searchId: ce,
482
+ renderOption: w,
483
+ renderNoResults: N,
484
+ onClose: $,
485
+ onTabNavigation: () => {
486
+ $(), U.current?.focus();
487
+ },
488
+ theme: fe
489
+ })
490
+ });
491
+ return /* @__PURE__ */ u("div", {
492
+ className: `dropdown-container ${b} ${_ ? "disabled" : ""}`,
493
+ style: x,
494
+ children: [
495
+ /* @__PURE__ */ u("div", {
496
+ ...se,
497
+ ref: U,
498
+ className: `dropdown-trigger ${J ? "open" : ""}`,
499
+ role: "combobox",
500
+ "data-value": Array.isArray(d) ? JSON.stringify(d) : d == null ? "" : String(d),
501
+ "aria-haspopup": C ? "dialog" : "listbox",
502
+ "aria-expanded": J && !_,
503
+ "aria-disabled": _,
504
+ "aria-owns": K,
505
+ "aria-controls": K,
506
+ "aria-label": te,
507
+ "aria-labelledby": ne,
508
+ "aria-describedby": re,
509
+ tabIndex: _ ? -1 : 0,
510
+ onClick: _ ? void 0 : pe,
511
+ onKeyDown: (e) => {
512
+ _ || e.target !== e.currentTarget || (J && e.key === "Tab" && S.nativeTabNavigation ? (e.stopPropagation(), $()) : J && e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), $()) : !J && (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), e.stopPropagation(), pe()));
513
+ },
514
+ children: he()
515
+ }),
516
+ J && !_ && ge(),
517
+ v && /* @__PURE__ */ u("input", {
518
+ type: "hidden",
519
+ name: v,
520
+ value: JSON.stringify(V ? Q.map((e) => e.value) : Q[0]?.value || "")
521
+ })
522
+ ]
523
+ });
524
+ }
525
+ var M = (e, t) => {
526
+ d(e, /* @__PURE__ */ u(j, { ...t }));
527
+ }, N = (e) => {
528
+ d(e, null);
529
+ };
530
+ //#endregion
531
+ //#region src/select.tsx
532
+ function P(e) {
533
+ return Array.isArray(e) ? e.map(P).join("") : n(e) ? P(e.props.children) : e == null || typeof e == "boolean" ? "" : String(e);
534
+ }
535
+ function F(e, r, i = "", a = !1) {
536
+ if (Array.isArray(e)) return e.flatMap((e) => F(e, r, i, a));
537
+ if (!n(e)) return [];
538
+ let o = e.props;
539
+ if (e.type === t) return F(o.children, r, i, a);
540
+ if (e.type === "optgroup") return F(o.children, r, o.label ?? "", a || !!o.disabled);
541
+ let s = r ? r(o) : o, c = {
542
+ ...s,
543
+ disabled: o.disabled || s.disabled,
544
+ hidden: o.hidden || s.hidden
545
+ }, l = String(c.label ?? P(c.children)).trim();
546
+ return [{
547
+ value: String(c.value ?? l),
548
+ label: i ? `${i}: ${l}` : l,
549
+ disabled: a || !!c.disabled,
550
+ hidden: !!c.hidden,
551
+ selected: !!c.selected
552
+ }];
553
+ }
554
+ function I(e) {
555
+ let { children: n, environment: r, value: a, defaultValue: o, onValueChange: s, optionPolicy: l, multiple: d, disabled: f, name: p, class: h, className: g, style: _, ...v } = e, y = c(m), b = y.disabled || !!f, x = F(n, l), [S, C] = i(() => {
556
+ let e = o ?? (d ? x.filter((e) => e.selected).map((e) => e.value) : x.find((e) => e.selected)?.value ?? x[0]?.value ?? "");
557
+ return Array.isArray(e) ? [...e] : String(e);
558
+ }), w = a === void 0 ? S : Array.isArray(a) ? [...a] : String(a), T = Array.isArray(w) ? w : [w], E = x.filter((e) => !e.hidden || T.includes(e.value)), D = `rv-select rv-select-control ${typeof h == "string" ? h : ""} ${g ?? ""}`.replace(/\brv-control\b/g, "").trim();
559
+ return /* @__PURE__ */ u(t, { children: [/* @__PURE__ */ u(j, {
560
+ environment: r,
561
+ renderOption: (e, t) => /* @__PURE__ */ u("span", {
562
+ "data-select-option": t.value,
563
+ children: t.label
564
+ }),
565
+ source: E,
566
+ value: w,
567
+ disabled: !!b,
568
+ className: D,
569
+ style: _,
570
+ triggerAttributes: {
571
+ ...v,
572
+ "data-select-value": Array.isArray(w) ? JSON.stringify(w) : w
573
+ },
574
+ config: {
575
+ nativeTabNavigation: !0,
576
+ multiSelect: !!d,
577
+ topLayer: !0,
578
+ ariaLabel: v["aria-label"],
579
+ ariaLabelledBy: v["aria-labelledby"] ?? (v["aria-label"] ? void 0 : y.labelId),
580
+ ariaDescribedBy: v["aria-describedby"] ?? y.hintId
581
+ },
582
+ onChange: (e) => {
583
+ let t = d ? Array.isArray(e) ? e : [e] : String(Array.isArray(e) ? e[0] ?? "" : e);
584
+ a === void 0 && C(t), s?.(t);
585
+ }
586
+ }), p && T.map((e) => /* @__PURE__ */ u("input", {
587
+ type: "hidden",
588
+ name: p,
589
+ value: e,
590
+ disabled: !!b
591
+ }))] });
592
+ }
593
+ //#endregion
594
+ //#region src/fieldset.tsx
595
+ function L(e) {
596
+ let t = c(m), n = t.disabled || !!e.disabled;
597
+ return /* @__PURE__ */ u(m.Provider, {
598
+ value: {
599
+ ...t,
600
+ disabled: n
601
+ },
602
+ children: /* @__PURE__ */ u("fieldset", {
603
+ ...e,
604
+ disabled: n
605
+ })
606
+ });
607
+ }
608
+ //#endregion
609
+ //#region src/native-control.tsx
610
+ function R(t, n, ...r) {
611
+ let { onChange: i, ...a } = n, o = S(e, t, a, ...r);
612
+ return i && !(t === "button" && n.busy) && Object.assign(o.props, { onChange: i }), o;
613
+ }
614
+ function z(e, t) {
615
+ let n = p(typeof e == "string" ? e : void 0);
616
+ return o((e) => {
617
+ n.current = e, typeof t == "function" ? t(e) : t && (t.current = e);
618
+ }, [t]);
619
+ }
620
+ var B = x(h(({ title: e, ...t }, n) => {
621
+ let r = z(e, n);
622
+ return R("input", {
623
+ ...t,
624
+ ref: r
625
+ });
626
+ }), "input"), V = x(h(({ children: e, title: t, ...n }, r) => {
627
+ let i = z(t, r);
628
+ return R("textarea", {
629
+ ...n,
630
+ ref: i
631
+ }, e);
632
+ }), "textarea"), H = x(h(({ children: e, title: t, ...n }, r) => {
633
+ let i = p(typeof t == "string" ? t : void 0), a = o((e) => {
634
+ i.current = e, typeof r == "function" ? r(e) : r && (r.current = e);
635
+ }, [r]);
636
+ return R("button", {
637
+ ...n,
638
+ ref: a,
639
+ "aria-label": n["aria-label"] ?? (!e && typeof t == "string" ? t : void 0)
640
+ }, e);
641
+ }), "button"), te = x(h(({ children: e, title: t, ...n }, r) => {
642
+ let i = z(t, r);
643
+ return R("summary", {
644
+ ...n,
645
+ ref: i
646
+ }, e);
647
+ }), "summary"), ne = x(I, "select");
648
+ //#endregion
649
+ export { V as a, F as c, N as d, D as f, te as i, j as l, B as n, L as o, E as p, ne as r, I as s, H as t, M as u };