@povio/ui 5.0.0-rc.9 → 6.0.0-rc.2

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 (592) hide show
  1. package/MIGRATION.md +673 -0
  2. package/README.md +206 -55
  3. package/dist/{Accordion-BzwO4_ml.js → Accordion-DycXjzGK.js} +10 -10
  4. package/dist/{Alert-DfiJbKH0.d.ts → Alert-BpPHCE5-.d.ts} +3 -3
  5. package/dist/{AlertDialog-OWTbR4km.d.ts → AlertDialog-CDCbfARJ.d.ts} +3 -3
  6. package/dist/Autocomplete-BUslodfn.d.ts +23 -0
  7. package/dist/Autocomplete-DSwAc7jF.js +142 -0
  8. package/dist/Autocomplete.bound-Db5C6Jph.d.ts +9 -0
  9. package/dist/Autocomplete.bound-e5WbxlBm.js +28 -0
  10. package/dist/{Badge-CBNpj823.d.ts → Badge-Dp091PcC.d.ts} +2 -2
  11. package/dist/{BadgeButton-Ccgt3oGO.d.ts → BadgeButton-DZm_aw29.d.ts} +2 -2
  12. package/dist/{BottomSheet-DbQuzfAB.d.ts → BottomSheet-C-jdDmO7.d.ts} +1 -1
  13. package/dist/{BottomSheet-BXLE3161.js → BottomSheet-DB0Cdlgx.js} +10 -84
  14. package/dist/{BottomSheet.lazy-D9LCEo7s.d.ts → BottomSheet.lazy-C0_6p_UQ.d.ts} +1 -1
  15. package/dist/{Breadcrumbs-CUV6CU8Q.d.ts → Breadcrumbs-CuupIZuv.d.ts} +1 -1
  16. package/dist/{Breadcrumbs-FF8hMfXd.js → Breadcrumbs-V-Bea_bs.js} +16 -13
  17. package/dist/Button-BL5ils-5.d.ts +13 -0
  18. package/dist/{Button-D6KlWSFL.js → Button-C1YB5dOw.js} +3 -3
  19. package/dist/Button-DU1Q8GDB.js +16 -0
  20. package/dist/ButtonBase-BhlpPPDi.js +87 -0
  21. package/dist/ButtonBase-C_ODj77A.d.ts +32 -0
  22. package/dist/{ButtonContent-c7lJayVQ.js → ButtonContent-BBup-vN6.js} +4 -13
  23. package/dist/{Calendar-BTjajO6i.js → Calendar-ChmIflXX.js} +31 -31
  24. package/dist/{CheckContent-D7sZPmzx.js → CheckContent-DHKG_FY6.js} +1 -1
  25. package/dist/{Checkbox-DVTWaMKa.d.ts → Checkbox-BjZVQ-6_.d.ts} +9 -8
  26. package/dist/{Checkbox-CV1ILXXO.js → Checkbox-Bo03jrPX.js} +20 -37
  27. package/dist/Checkbox.bound-DN4OVaMs.js +33 -0
  28. package/dist/Checkbox.bound-DTO008Tl.d.ts +9 -0
  29. package/dist/CheckboxCheckmark-C4yFclkZ.js +44 -0
  30. package/dist/CheckboxGroup-B_rzZgta.d.ts +30 -0
  31. package/dist/CheckboxGroup-D3LxgocB.js +139 -0
  32. package/dist/CheckboxGroup.bound-8hjoP-xP.js +32 -0
  33. package/dist/CheckboxGroup.bound-CiA60XsD.d.ts +9 -0
  34. package/dist/ComboBox-DFlz6HJ8.js +212 -0
  35. package/dist/{DatePicker-8xSs_jNd.d.ts → DatePicker-B_caFHFY.d.ts} +21 -10
  36. package/dist/{DatePicker-DOLL7mkc.js → DatePicker-Bc_E4UZ1.js} +40 -50
  37. package/dist/DatePicker.bound-C5-DL4SJ.d.ts +9 -0
  38. package/dist/DatePicker.bound-CtBL5w-8.js +36 -0
  39. package/dist/{DatePickerInput-D81ZJ3fT.d.ts → DatePickerInput-8gKhZdGY.d.ts} +3 -3
  40. package/dist/{DatePickerInput-BLBcySA2.js → DatePickerInput-TND0rEMc.js} +68 -48
  41. package/dist/{DateRangePicker-BF-1CztH.js → DateRangePicker-BNMTOQ2N.js} +81 -70
  42. package/dist/{DateRangePicker-Bfq-yDm7.d.ts → DateRangePicker-CzWwO5bA.d.ts} +30 -10
  43. package/dist/DateRangePicker.bound-C4mHtr-b.d.ts +9 -0
  44. package/dist/DateRangePicker.bound-GeRw9Iuj.js +35 -0
  45. package/dist/{DateTimePicker-Cj0qvJUz.js → DateTimePicker-B3YjV4uj.js} +40 -44
  46. package/dist/{DateTimePicker-D4lHyf6P.d.ts → DateTimePicker-CzGdmamp.d.ts} +21 -11
  47. package/dist/DateTimePicker.bound-ByjHsAnf.js +32 -0
  48. package/dist/DateTimePicker.bound-DwClL-pe.d.ts +9 -0
  49. package/dist/Dialog-2XpWsphI.d.ts +21 -0
  50. package/dist/{Dialog-9manOgMA.js → Dialog-COvYzwNU.js} +11 -8
  51. package/dist/{Dialog-CKLkS00H.js → Dialog-lFYX-7Ax.js} +22 -27
  52. package/dist/{DropdownMenu-5jmtgLXd.js → DropdownMenu-DtZdv5mo.js} +7 -7
  53. package/dist/DropdownMenu-gKIXzj63.d.ts +25 -0
  54. package/dist/{DropdownMenuDesktop-Cl9gZVq0.js → DropdownMenuDesktop-BMkiHEuY.js} +4 -4
  55. package/dist/{FileInput-C4CE5kuP.d.ts → FileInput-0o8-IJUh.d.ts} +26 -22
  56. package/dist/{FileInput-Br5DQaGQ.js → FileInput-Bpm2HJSB.js} +34 -47
  57. package/dist/FileInput.bound-B6oGPCP8.js +30 -0
  58. package/dist/FileInput.bound-BEeceBBO.d.ts +8 -0
  59. package/dist/{FileTrigger-Cthk5_Wp.js → FileTrigger-DBX1Io6E.js} +36 -7
  60. package/dist/FileUpload--AQJW3vz.d.ts +11 -0
  61. package/dist/{FileUpload--7ub3EZO.js → FileUpload-G7tdtNKN.js} +276 -165
  62. package/dist/FileUpload.bound-DqqPejvc.js +30 -0
  63. package/dist/FileUpload.bound-i5zfLhoY.d.ts +16 -0
  64. package/dist/{FileUploadContainer-042ztsaL.d.ts → FileUploadContainer-D1eYflb2.d.ts} +1 -1
  65. package/dist/{Form-DlQcyN1f.js → Form-CqF1SaVw.js} +2 -2
  66. package/dist/{FormField-Byiehm9y.d.ts → FormField-BsR2Cjxm.d.ts} +4 -2
  67. package/dist/FormField-DyqEbqx3.js +119 -0
  68. package/dist/{FormFieldError-DeOHHLo2.js → FormFieldError-BaVgIKrv.js} +2 -13
  69. package/dist/FormFieldHeaderTooltip-Bxc4f9i4.js +47 -0
  70. package/dist/{Heading-nI1_VOaE.js → Heading-D4XFYv__.js} +2 -2
  71. package/dist/IconButton-DdvODpP7.d.ts +25 -0
  72. package/dist/{IconSlot-DSK7qNxc.js → IconSlot-Cuvpj1gd.js} +2 -2
  73. package/dist/{InlineTooltipWrapper-BpApaGXV.js → InlineTooltipWrapper-HDHIaQtS.js} +1 -1
  74. package/dist/{Input-BsbLZDtC.js → Input-BG0Xjw5X.js} +2 -2
  75. package/dist/Input-BdCci6BF.js +229 -0
  76. package/dist/{Input-DOanwj3l.d.ts → Input-Bu4G9gcn.d.ts} +13 -9
  77. package/dist/Input.bound-CnqI-L-b.js +31 -0
  78. package/dist/Input.bound-CxfKRXzI.d.ts +9 -0
  79. package/dist/{InputContent-CXuP1ghQ.d.ts → InputContent-BGTEvv6a.d.ts} +4 -4
  80. package/dist/{useFieldAccessibility-ScC6Mtd5.js → InputContent-Ca4oVqIe.js} +24 -37
  81. package/dist/{Label-B2-B-uFY.js → Label-BGvF9vWx.js} +2 -2
  82. package/dist/{Link-FupWOW1f.js → Link-Chux-Clm.js} +2 -2
  83. package/dist/{Link-Ow9H7kNv.d.ts → Link-D0Kk3F5w.d.ts} +3 -3
  84. package/dist/{ListBox-CL8Ar4Q_.js → ListBox-CoUk0kkt.js} +10 -11
  85. package/dist/{MenuItem-DHyqOqln.d.ts → MenuItem-Bo5a7_Nw.d.ts} +1 -1
  86. package/dist/{Modal-w60dVQcb.js → Modal-B4p1zFqi.js} +58 -20
  87. package/dist/NumberField-BLAwsjns.js +225 -0
  88. package/dist/{NumberField-Cb9Gf6QJ.d.ts → NumberField-DCMQZPY9.d.ts} +13 -9
  89. package/dist/NumberField.bound-DiDYEZM4.js +32 -0
  90. package/dist/NumberField.bound-fZLE6Odv.d.ts +9 -0
  91. package/dist/{NumberFormatter-CLDS_LRZ.js → NumberFormatter-DYarfm5F.js} +2 -36
  92. package/dist/{NumberRangeInput-BfbJQqzn.d.ts → NumberRangeInput-CtSYPK2e.d.ts} +13 -8
  93. package/dist/{NumberRangeInput-B8-LHfg3.js → NumberRangeInput-al32ZeSy.js} +23 -51
  94. package/dist/NumberRangeInput.bound-B0e7yUDI.js +32 -0
  95. package/dist/NumberRangeInput.bound-CxAk_1_K.d.ts +9 -0
  96. package/dist/{OverlayArrow-D8z7cCsw.js → OverlayArrow-DF0jMwul.js} +2 -2
  97. package/dist/{Pagination-CwQu5Py8.d.ts → Pagination-DikJEIWD.d.ts} +1 -1
  98. package/dist/{PaginationList-DMRUGtf8.d.ts → PaginationList-D7PVQ5WX.d.ts} +1 -1
  99. package/dist/PaginationList-vfqgyTIP.js +258 -0
  100. package/dist/PasswordInput-Dy5hMeFP.d.ts +11 -0
  101. package/dist/{PasswordInput-CLwFUgl0.d.ts → PasswordInput.bound-B5sHHU26.d.ts} +5 -6
  102. package/dist/PasswordInput.bound-Bj3WO1zC.js +23 -0
  103. package/dist/{Popover-BTHPteIh.d.ts → Popover-DxTsc2y6.d.ts} +2 -2
  104. package/dist/{Progress-CjWOR38H.d.ts → Progress-CtxPBAgr.d.ts} +4 -4
  105. package/dist/{Progress-B3mY9rIP.js → Progress-ZsKwo9ne.js} +3 -28
  106. package/dist/RadioGroup-BYS8ha2C.d.ts +26 -0
  107. package/dist/{RadioGroup-DOw3PRoX.js → RadioGroup-D0X47mm7.js} +13 -117
  108. package/dist/RadioGroup.bound-CibzUsQL.d.ts +9 -0
  109. package/dist/RadioGroup.bound-aK3GC6i7.js +32 -0
  110. package/dist/RichTextEditor-k9LvNCjg.d.ts +28 -0
  111. package/dist/{RichTextEditor-D4yN7Wj7.js → RichTextEditor-qoxzWBFP.js} +154 -85
  112. package/dist/{staticSelect.utils-uHa8f_c6.js → Select-BAlYMh4h.js} +218 -252
  113. package/dist/{SelectBase-Omiq2D3M.d.ts → Select-NNohxr1t.d.ts} +32 -11
  114. package/dist/Select.bound-CQPG2sWV.js +34 -0
  115. package/dist/Select.bound-Dh5kywfV.d.ts +17 -0
  116. package/dist/{SelectionIndicator-JblvLKCu.js → SelectionIndicator-B7C5Y0JM.js} +1 -1
  117. package/dist/{SharedElementTransition-Da1c_cOO.js → SharedElementTransition-DJ9CCbEa.js} +1 -1
  118. package/dist/{Slider-CzEmKYBF.js → Slider-DMrnZn3I.js} +16 -40
  119. package/dist/{Slider-EYlGCLWe.d.ts → Slider-zbLmrW6J.d.ts} +9 -8
  120. package/dist/Slider.bound-BaJHbE6d.d.ts +9 -0
  121. package/dist/Slider.bound-BoIYW8I5.js +31 -0
  122. package/dist/{Spinner-BeVTUzzx.js → Spinner-CFj5Iu77.js} +28 -40
  123. package/dist/{Spinner-DbXeDOa2.d.ts → Spinner-b365xHHG.d.ts} +5 -5
  124. package/dist/{SplitButton-D9ngY1rJ.d.ts → SplitButton-CzvD7LIK.d.ts} +3 -3
  125. package/dist/{Stepper-TATlHZhQ.d.ts → Stepper-Bk1JUf6K.d.ts} +18 -18
  126. package/dist/{Stepper-Cp5vbL5g.js → Stepper-DlyScdAM.js} +11 -10
  127. package/dist/{Switch-CqnGEdeD.js → Switch-Ck_zSDuw.js} +9 -58
  128. package/dist/Switch-uqTGk-H6.d.ts +24 -0
  129. package/dist/Switch.bound-Brw5UUA6.js +33 -0
  130. package/dist/Switch.bound-DWuDmr2C.d.ts +9 -0
  131. package/dist/Tag--FasSNEh.d.ts +44 -0
  132. package/dist/{Text-D2MPZ3sY.js → Text-D72yc4S6.js} +1 -1
  133. package/dist/{TextArea-D8WkKsGn.js → TextArea-33uOXvnc.js} +30 -33
  134. package/dist/{TextArea-l_keyLK7.d.ts → TextArea-t5IYaVds.d.ts} +11 -9
  135. package/dist/TextArea.bound-DPALjcvO.js +28 -0
  136. package/dist/TextArea.bound-DcflHR7X.d.ts +9 -0
  137. package/dist/TextArea.cva-Bb73hriz.js +5 -0
  138. package/dist/TimePicker-BK4AnHQa.d.ts +45 -0
  139. package/dist/{TimePicker-C4taAOFQ.js → TimePicker-CmBGkxDC.js} +59 -51
  140. package/dist/TimePicker.bound-3i1DJgrU.js +32 -0
  141. package/dist/TimePicker.bound-BMZWRtpJ.d.ts +9 -0
  142. package/dist/{Toast-ruXqONDA.d.ts → Toast-6rYk8AAG.d.ts} +1 -1
  143. package/dist/{ToastContainer-qgpzMFD4.js → ToastContainer-D1Jl3PPk.js} +3 -3
  144. package/dist/{ToggleButton-BW1ensey.js → ToggleButton-DUQ8nwKY.js} +5 -5
  145. package/dist/ToggleButton-DZ340rQr.d.ts +17 -0
  146. package/dist/{toggleGroup.types-Bp43zbSQ.d.ts → ToggleGroup-BTqYh6FH.d.ts} +16 -15
  147. package/dist/{ToggleGroup-DOk27fgI.js → ToggleGroup-cvzIyIhi.js} +136 -162
  148. package/dist/ToggleGroup.bound-BEtnF-L-.d.ts +9 -0
  149. package/dist/ToggleGroup.bound-DjwakG--.js +67 -0
  150. package/dist/{Tooltip-CpG1nz7Y.js → Tooltip-CqbyoJhl.js} +45 -10
  151. package/dist/Tooltip-DP5RDkXs.d.ts +16 -0
  152. package/dist/{TooltipWrapper-3jyN0Wss.js → TooltipWrapper-BrftXInI.js} +7 -7
  153. package/dist/{Typography-XljT9s02.d.ts → Typography-BD-MSuTp.d.ts} +1 -1
  154. package/dist/{Typography-LU4z2pR1.js → Typography-Ba5l4rmj.js} +1 -1
  155. package/dist/{accordion.cva-CL1bVscW.js → accordion.cva-C-gUiXk5.js} +16 -24
  156. package/dist/badgeButton.cva-C1BuYx1N.js +138 -0
  157. package/dist/{badgeButton.cva-B2bgCQP6.d.ts → badgeButton.cva-Cj5AWgfv.d.ts} +8 -8
  158. package/dist/{breadcrumbs.cva-7zzdDhVR.js → breadcrumbs.cva-DCAdmxWR.js} +8 -8
  159. package/dist/{button.cva-C7kEhgoA.d.ts → button.cva-YpNNY6C-.d.ts} +21 -16
  160. package/dist/button.cva-fkUW5b2d.js +267 -0
  161. package/dist/{buttonContent.cva-DPIlROA9.d.ts → buttonContent.cva-CxgT-rxJ.d.ts} +2 -2
  162. package/dist/{checkbox.cva-t1Ox50hy.d.ts → checkbox.cva-CZnnBl8g.d.ts} +6 -6
  163. package/dist/checkbox.cva-DCVi4-4z.js +128 -0
  164. package/dist/components/accordion.js +1 -1
  165. package/dist/components/alert-dialog.d.ts +1 -1
  166. package/dist/components/alert-dialog.js +102 -100
  167. package/dist/components/alert.d.ts +1 -1
  168. package/dist/components/alert.js +116 -1
  169. package/dist/components/autocomplete.d.ts +2 -2
  170. package/dist/components/autocomplete.js +1 -134
  171. package/dist/components/badge-button.d.ts +1 -1
  172. package/dist/components/badge-button.js +4 -4
  173. package/dist/components/badge.d.ts +1 -1
  174. package/dist/components/badge.js +8 -8
  175. package/dist/components/bottom-sheet-header.d.ts +16 -0
  176. package/dist/components/bottom-sheet-header.js +80 -0
  177. package/dist/components/bottom-sheet.d.ts +2 -2
  178. package/dist/components/bottom-sheet.js +2 -2
  179. package/dist/components/breadcrumb/react-aria.js +1 -1
  180. package/dist/components/breadcrumbs.d.ts +1 -1
  181. package/dist/components/breadcrumbs.js +1 -1
  182. package/dist/components/button-group.d.ts +12 -0
  183. package/dist/components/button-group.js +46 -0
  184. package/dist/components/button.d.ts +2 -2
  185. package/dist/components/button.js +1 -1
  186. package/dist/components/checkbox-group.d.ts +2 -2
  187. package/dist/components/checkbox-group.js +1 -163
  188. package/dist/components/checkbox.d.ts +2 -2
  189. package/dist/components/checkbox.js +2 -2
  190. package/dist/components/combo-box/react-aria.js +1 -1
  191. package/dist/components/date-picker/react-aria.js +1 -1
  192. package/dist/components/date-picker.d.ts +2 -2
  193. package/dist/components/date-picker.js +1 -1
  194. package/dist/components/date-range-picker/react-aria.js +1 -1
  195. package/dist/components/date-range-picker.d.ts +2 -2
  196. package/dist/components/date-range-picker.js +1 -1
  197. package/dist/components/date-time-picker.d.ts +2 -2
  198. package/dist/components/date-time-picker.js +1 -1
  199. package/dist/components/dialog-trigger/react-aria.js +1 -1
  200. package/dist/components/dialog.d.ts +1 -1
  201. package/dist/components/dialog.js +1 -1
  202. package/dist/components/drawer.js +4 -4
  203. package/dist/components/dropdown-menu.d.ts +2 -2
  204. package/dist/components/dropdown-menu.js +2 -2
  205. package/dist/components/file-input.d.ts +2 -2
  206. package/dist/components/file-input.js +1 -1
  207. package/dist/components/file-upload-container.d.ts +2 -2
  208. package/dist/components/file-upload-container.js +1 -1
  209. package/dist/components/file-upload.d.ts +3 -3
  210. package/dist/components/file-upload.js +1 -1
  211. package/dist/components/form-field.d.ts +1 -1
  212. package/dist/components/form-field.js +1 -1
  213. package/dist/components/icon-button.d.ts +1 -1
  214. package/dist/components/icon-button.js +17 -15
  215. package/dist/components/icon-slot.d.ts +1 -1
  216. package/dist/components/icon-slot.js +1 -1
  217. package/dist/components/input-frame.d.ts +93 -0
  218. package/dist/{useStaticInputHandoff-NeZVnci-.js → components/input-frame.js} +50 -99
  219. package/dist/components/input.d.ts +2 -2
  220. package/dist/components/input.js +1 -241
  221. package/dist/components/link.d.ts +1 -1
  222. package/dist/components/link.js +2 -2
  223. package/dist/components/menu-trigger/react-aria.js +1 -1
  224. package/dist/components/modal/react-aria.js +1 -1
  225. package/dist/components/modal-overlay/react-aria.js +1 -1
  226. package/dist/components/number-field.d.ts +2 -2
  227. package/dist/components/number-field.js +1 -245
  228. package/dist/components/number-range-input.d.ts +2 -2
  229. package/dist/components/number-range-input.js +1 -1
  230. package/dist/components/pagination-list.d.ts +1 -1
  231. package/dist/components/pagination-list.js +1 -1
  232. package/dist/components/pagination.d.ts +1 -1
  233. package/dist/components/pagination.js +14 -10
  234. package/dist/components/password-input.d.ts +2 -2
  235. package/dist/components/password-input.js +22 -1
  236. package/dist/components/popover/react-aria.js +1 -1
  237. package/dist/components/popover.d.ts +1 -1
  238. package/dist/components/popover.js +39 -31
  239. package/dist/components/progress.d.ts +1 -1
  240. package/dist/components/progress.js +1 -1
  241. package/dist/components/radio-group.d.ts +2 -2
  242. package/dist/components/radio-group.js +1 -1
  243. package/dist/components/select/react-aria.js +1 -1
  244. package/dist/components/select.d.ts +2 -3
  245. package/dist/components/select.js +1 -1
  246. package/dist/components/slider.d.ts +2 -2
  247. package/dist/components/slider.js +1 -1
  248. package/dist/components/spinner.d.ts +1 -1
  249. package/dist/components/spinner.js +1 -1
  250. package/dist/components/split-button.d.ts +1 -1
  251. package/dist/components/split-button.js +2 -2
  252. package/dist/components/stepper.d.ts +1 -1
  253. package/dist/components/stepper.js +1 -1
  254. package/dist/components/style-definitions.d.ts +3 -0
  255. package/dist/components/style-definitions.js +121 -0
  256. package/dist/components/submenu-trigger/react-aria.js +1 -1
  257. package/dist/components/switch.d.ts +2 -2
  258. package/dist/components/switch.js +1 -1
  259. package/dist/components/tag.d.ts +1 -1
  260. package/dist/components/tag.js +93 -1
  261. package/dist/components/text-area.d.ts +2 -2
  262. package/dist/components/text-area.js +1 -1
  263. package/dist/components/time-picker.d.ts +2 -2
  264. package/dist/components/time-picker.js +1 -1
  265. package/dist/components/toast.d.ts +2 -2
  266. package/dist/components/toast.js +2 -2
  267. package/dist/components/toggle-button.d.ts +1 -1
  268. package/dist/components/toggle-button.js +17 -30
  269. package/dist/components/toggle-group.d.ts +2 -3
  270. package/dist/components/toggle-group.js +1 -1
  271. package/dist/components/tooltip-ellipsis.js +1 -1
  272. package/dist/components/tooltip.d.ts +1 -1
  273. package/dist/components/tooltip.js +1 -1
  274. package/dist/components/typography.d.ts +2 -2
  275. package/dist/components/typography.js +1 -1
  276. package/dist/components/use-toast.d.ts +1 -1
  277. package/dist/components/use-toast.js +2 -2
  278. package/dist/config/component-configuration.d.ts +30 -0
  279. package/dist/config/component-configuration.js +69 -0
  280. package/dist/config/confirmation.d.ts +1 -1
  281. package/dist/config/confirmation.js +1 -1
  282. package/dist/config/link-context.d.ts +2 -2
  283. package/dist/config/resources.d.ts +1 -1
  284. package/dist/config/resources.js +1 -1
  285. package/dist/config/ui-config.d.ts +2 -2
  286. package/dist/config/ui-config.js +1 -1
  287. package/dist/config/ui-overrides.d.ts +1 -1
  288. package/dist/{confirmation.context-BuzgCfYl.js → confirmation.context-BSn1s-ip.js} +1 -1
  289. package/dist/{confirmation.context-BOeEVczb.d.ts → confirmation.context-DdxzxDWB.d.ts} +1 -1
  290. package/dist/{datePickerInput.cva-Cd7UUN61.js → datePickerInput.cva--gCeAsRx.js} +1 -1
  291. package/dist/{datePickerValue.utils-DCgoSrP3.js → datePickerValue.utils-BxHR_BQZ.js} +21 -13
  292. package/dist/{dialog.cva-COhDZaVl.js → dialog.cva-DzJlaK5a.js} +6 -6
  293. package/dist/{dist-CAdwxJbe.js → dist-D35rjADF.js} +54 -1
  294. package/dist/{dom.utils-D1AopHx9.js → dom.utils-BbfrA6RP.js} +1 -1
  295. package/dist/dropdownMenu.cva-CS5Q2b_3.js +31 -0
  296. package/dist/{PasswordInput-DYwUZ4-k.js → eye-BA4nRlMX.js} +1 -22
  297. package/dist/{fileUpload.cva-ujmStxB1.js → fileUpload.cva-DVJcCCYz.js} +10 -10
  298. package/dist/{fileUpload.types-n5FxK_F-.d.ts → fileUpload.types-DKICER1J.d.ts} +17 -17
  299. package/dist/form.binding-B-2id68q.js +49 -0
  300. package/dist/form.types-C8P4sznq.d.ts +22 -0
  301. package/dist/formFieldError.cva-Cc-dELdU.js +14 -0
  302. package/dist/formFieldHelper.cva-5YaiUEcL.js +97 -0
  303. package/dist/hooks/use-async-list.d.ts +2 -0
  304. package/dist/hooks/use-async-list.js +2 -0
  305. package/dist/hooks/use-filters.js +1 -1
  306. package/dist/{i18n-CX1vFM9r.d.ts → i18n-2z5on9No.d.ts} +18 -0
  307. package/dist/{i18n-CX2EjhJI.js → i18n-BjNKHh_D.js} +20 -2
  308. package/dist/{iconSlot.cva-CnpFzAOR.d.ts → iconSlot.cva-BrT0X2qq.d.ts} +4 -3
  309. package/dist/icons.d.ts +1 -1
  310. package/dist/icons.js +1 -1
  311. package/dist/index.d.ts +95 -91
  312. package/dist/index.js +87 -85
  313. package/dist/input.cva-AHLI_M3K.js +185 -0
  314. package/dist/{input.cva-BsHgYa-L.d.ts → input.cva-CEFEpKml.d.ts} +10 -10
  315. package/dist/{intlStrings-chfsan9H.js → intlStrings-Cu1YN1tA.js} +35 -35
  316. package/dist/isEqual-LFw0W5rU.js +97 -0
  317. package/dist/{link.context-D5qyz9Rf.d.ts → link.context-pIX2TUSb.d.ts} +1 -1
  318. package/dist/link.cva-isgDrId6.js +12 -0
  319. package/dist/{numberStatic.utils-BX50PSee.js → numberStatic.utils-BIyZuILs.js} +5 -5
  320. package/dist/outline.clsx-DGGQQRkM.js +6 -0
  321. package/dist/{popover.cva-Bhud1wnp.js → popover.cva-Ciu9Ro5G.js} +1 -1
  322. package/dist/progress.cva-D0PKV_ET.js +28 -0
  323. package/dist/radio.cva-Dn2Auqxw.js +79 -0
  324. package/dist/{radio.cva-DN9VQ3Kb.d.ts → radio.cva-VUie6k1Y.d.ts} +4 -4
  325. package/dist/rich-text-editor.d.ts +2 -2
  326. package/dist/rich-text-editor.js +1 -1
  327. package/dist/{routing.utils-UTQonIhB.js → routing.utils-DfxEt0_Y.js} +5 -0
  328. package/dist/selectDesktop.cva-CGBkscBY.js +14 -0
  329. package/dist/selectItem.cva-Ch6oK4jP.js +27 -0
  330. package/dist/{staticDateTimeSegments-DtU63_dw.js → staticDateTimeSegments-CA_lwN-O.js} +60 -56
  331. package/dist/status.cva-CUpcOT4W.js +130 -0
  332. package/dist/{stepper.cva-CZ0Kj-s7.js → stepper.cva-CQGechUm.js} +22 -34
  333. package/dist/style-definitions-DzsmGccZ.d.ts +1028 -0
  334. package/dist/styles/editor.css +9 -9
  335. package/dist/styles/input.d.ts +1 -1
  336. package/dist/styles/outline.js +1 -1
  337. package/dist/switch.cva-C9bO_QI-.js +24 -0
  338. package/dist/switch.cva-x4SdjrQp.d.ts +16 -0
  339. package/dist/table.cva-BMIizuGy.js +111 -0
  340. package/dist/table.cva-HHTd92di.d.ts +84 -0
  341. package/dist/tag.cva-BVa0EWBU.js +24 -0
  342. package/dist/tanstack/autocomplete.d.ts +3 -2
  343. package/dist/tanstack/autocomplete.js +1 -1
  344. package/dist/tanstack/checkbox-group.d.ts +3 -2
  345. package/dist/tanstack/checkbox-group.js +1 -1
  346. package/dist/tanstack/checkbox.d.ts +3 -2
  347. package/dist/tanstack/checkbox.js +2 -2
  348. package/dist/tanstack/date-picker.d.ts +3 -2
  349. package/dist/tanstack/date-picker.js +1 -1
  350. package/dist/tanstack/date-range-picker.d.ts +3 -2
  351. package/dist/tanstack/date-range-picker.js +1 -1
  352. package/dist/tanstack/date-time-picker.d.ts +3 -2
  353. package/dist/tanstack/date-time-picker.js +1 -1
  354. package/dist/tanstack/file-input.d.ts +3 -2
  355. package/dist/tanstack/file-input.js +1 -1
  356. package/dist/tanstack/file-upload.d.ts +4 -3
  357. package/dist/tanstack/file-upload.js +1 -1
  358. package/dist/tanstack/form.d.ts +3 -3
  359. package/dist/tanstack/form.js +3 -3
  360. package/dist/tanstack/input.d.ts +3 -2
  361. package/dist/tanstack/input.js +1 -1
  362. package/dist/tanstack/number-field.d.ts +3 -2
  363. package/dist/tanstack/number-field.js +1 -1
  364. package/dist/tanstack/number-range-input.d.ts +3 -2
  365. package/dist/tanstack/number-range-input.js +1 -1
  366. package/dist/tanstack/password-input.d.ts +1 -1
  367. package/dist/tanstack/password-input.js +1 -1
  368. package/dist/tanstack/radio-group.d.ts +3 -2
  369. package/dist/tanstack/radio-group.js +1 -1
  370. package/dist/tanstack/rich-text-editor.d.ts +9 -2
  371. package/dist/tanstack/rich-text-editor.js +27 -1
  372. package/dist/tanstack/select.d.ts +3 -2
  373. package/dist/tanstack/select.js +1 -1
  374. package/dist/tanstack/slider.d.ts +3 -2
  375. package/dist/tanstack/slider.js +1 -1
  376. package/dist/tanstack/switch.d.ts +3 -2
  377. package/dist/tanstack/switch.js +1 -1
  378. package/dist/tanstack/table.d.ts +3 -2
  379. package/dist/tanstack/table.js +2 -3
  380. package/dist/tanstack/text-area.d.ts +3 -2
  381. package/dist/tanstack/text-area.js +1 -1
  382. package/dist/tanstack/time-picker.d.ts +3 -2
  383. package/dist/tanstack/time-picker.js +1 -1
  384. package/dist/tanstack/toggle-group.d.ts +3 -3
  385. package/dist/tanstack/toggle-group.js +1 -1
  386. package/dist/tanstack-CSiB125i.d.ts +469 -0
  387. package/dist/tanstack.d.ts +79 -78
  388. package/dist/tanstack.js +87 -83
  389. package/dist/{toast.cva-By5lvAfr.d.ts → toast.cva-B8i61tEN.d.ts} +10 -10
  390. package/dist/{toast.cva-C_L_RffH.js → toast.cva-BMOx7_9f.js} +21 -37
  391. package/dist/{toast.runtime-cxex9e4E.js → toast.runtime-D18gn2Ty.js} +1 -2
  392. package/dist/toggleGroup.cva-C9Y5-kpk.js +26 -0
  393. package/dist/{tooltip.cva-BIzlOXHH.js → tooltip.cva-Clfcn_r2.js} +10 -10
  394. package/dist/tw-ui-plugin.js +5 -1
  395. package/dist/typography.cva-CKCCpIMj.d.ts +36 -0
  396. package/dist/typography.cva-CXolEQdT.js +31 -0
  397. package/dist/{uiConfig.context-DeBX2beU.d.ts → uiConfig.context-B1SCCG5j.d.ts} +12 -20
  398. package/dist/{uiConfig.context-BS3r_kTS.js → uiConfig.context-dxsO9puE.js} +12 -118
  399. package/dist/{uiOverrides.context-DEp139He.d.ts → uiOverrides.context-Dmev7iRS.d.ts} +44 -6
  400. package/dist/useAsyncList-Cu-Y8If2.d.ts +9 -0
  401. package/dist/useAsyncList-yHz7twsj.js +445 -0
  402. package/dist/{useBreakpoint-DQoMN-BG.js → useBreakpoint-DOUmXVZ2.js} +5 -5
  403. package/dist/{useControlledState-CzXkZCX8.js → useControlledState-CuU1VIh1.js} +2 -2
  404. package/dist/useFieldAccessibility-eZIMECmG.js +19 -0
  405. package/dist/{useFilters-XNH27Md2.js → useFilters-HIngImwn.js} +1 -1
  406. package/dist/{form.binding-DVJ5F0JE.d.ts → useForm-I6z23FXf.d.ts} +15 -15
  407. package/dist/{form.binding-CG1RPv6o.js → useForm-eW4KpH1u.js} +79 -42
  408. package/dist/useFormAutosave-BBLm3Ujo.d.ts +34 -0
  409. package/dist/useFormAutosave-XEQqk1lK.js +216 -0
  410. package/dist/useStaticInputHandoff-DyYxfwv6.js +77 -0
  411. package/dist/useTableColumnConfig-DoTYVxqG.js +1349 -0
  412. package/dist/{useTableNav-Ckj5PBRk.d.ts → useTableNav-D2zCwy63.d.ts} +34 -96
  413. package/dist/{useToast-yreVCUer.d.ts → useToast-CA0BGCDK.d.ts} +1 -1
  414. package/dist/{utils-Czcqspm7.js → utils-BkLF-JA3.js} +1 -1
  415. package/package.json +66 -234
  416. package/.rulesync/rules/ui-buttons-and-content.md +0 -56
  417. package/.rulesync/rules/ui-inputs-and-forms.md +0 -62
  418. package/.rulesync/rules/ui-overlays-navigation-and-styling.md +0 -49
  419. package/.rulesync/rules/ui-overview.md +0 -33
  420. package/dist/Alert-CnvEb1D_.js +0 -244
  421. package/dist/AppCanvasPage--RG31Yyv.js +0 -2421
  422. package/dist/AppCanvasPage-BIFYeEeS.d.ts +0 -80
  423. package/dist/Autocomplete-BwNHp8fy.d.ts +0 -15
  424. package/dist/Button-C5rv4Cr2.js +0 -506
  425. package/dist/Button-D-4qb0IR.d.ts +0 -42
  426. package/dist/CheckboxCheckmark-CpC3wlMs.js +0 -178
  427. package/dist/CheckboxGroup-DGF12cmB.d.ts +0 -28
  428. package/dist/ComponentGallery-C6exitZN.js +0 -3513
  429. package/dist/Dialog-CW93T9X1.d.ts +0 -56
  430. package/dist/DropdownMenu-JNpYT4-3.d.ts +0 -62
  431. package/dist/FileUpload-CR7bZxV1.d.ts +0 -7
  432. package/dist/Form-DbEWnCKc.d.ts +0 -49
  433. package/dist/FormField-B99dLt8o.js +0 -212
  434. package/dist/FormFieldHeaderTooltip-BV2Ju4oB.js +0 -17
  435. package/dist/IconButton-D4thBurp.d.ts +0 -16
  436. package/dist/InlineIconButton-BeJCjl-q.d.ts +0 -15
  437. package/dist/InputItem-CIxbTxZu.js +0 -63
  438. package/dist/Inputs-DJSKiaWY.js +0 -17
  439. package/dist/Inputs-O84btFJL.d.ts +0 -13
  440. package/dist/PaginationList-DtvuP63b.js +0 -220
  441. package/dist/QuerySelect-BGxb6Y0K.d.ts +0 -24
  442. package/dist/RadioGroup-CZg2kIMk.d.ts +0 -24
  443. package/dist/RichTextEditor-YxuRUlI7.d.ts +0 -26
  444. package/dist/Select-UR0ec2Ux.js +0 -154
  445. package/dist/Select-pHbyJdZJ.d.ts +0 -15
  446. package/dist/Switch-s_EPn0Jz.d.ts +0 -22
  447. package/dist/Table-BN2_J_Ne.js +0 -636
  448. package/dist/Tag-AHfV_XSf.d.ts +0 -44
  449. package/dist/Tag-DPg5sL1Z.js +0 -146
  450. package/dist/TextButton-XUhV_1s0.d.ts +0 -15
  451. package/dist/TimePicker-B1POvGWs.d.ts +0 -33
  452. package/dist/Toast-DtG3pA61.js +0 -53
  453. package/dist/ToggleButton-7aP8Jb11.d.ts +0 -11
  454. package/dist/ToggleGroup-CRFDIPGZ.d.ts +0 -7
  455. package/dist/Tooltip-DHv6vAqW.d.ts +0 -57
  456. package/dist/UIConfigurator-BwLRfe-a.js +0 -6704
  457. package/dist/autocomplete-DeERHN8W.d.ts +0 -16
  458. package/dist/badgeButton.cva-CvN4CTx5.js +0 -300
  459. package/dist/checkbox-DxIPDTK5.d.ts +0 -9
  460. package/dist/checkbox-group-B3BOVshI.d.ts +0 -9
  461. package/dist/chevron-left-Dgo_b9wJ.js +0 -20
  462. package/dist/chevron-up-D_Gqpb5M.js +0 -20
  463. package/dist/components/inline-icon-button.d.ts +0 -2
  464. package/dist/components/inline-icon-button.js +0 -40
  465. package/dist/components/query-autocomplete.d.ts +0 -8
  466. package/dist/components/query-autocomplete.js +0 -134
  467. package/dist/components/query-select.d.ts +0 -2
  468. package/dist/components/query-select.js +0 -147
  469. package/dist/components/text-button.d.ts +0 -2
  470. package/dist/components/text-button.js +0 -35
  471. package/dist/config/app-canvas-tanstack.d.ts +0 -23
  472. package/dist/config/app-canvas-tanstack.js +0 -62
  473. package/dist/config/app-canvas.d.ts +0 -12
  474. package/dist/config/app-canvas.js +0 -2
  475. package/dist/config/ui-configurator-theme.d.ts +0 -2
  476. package/dist/config/ui-configurator-theme.js +0 -2
  477. package/dist/config/ui-configurator-vite.d.ts +0 -10
  478. package/dist/config/ui-configurator-vite.js +0 -174
  479. package/dist/config/ui-configurator.d.ts +0 -15
  480. package/dist/config/ui-configurator.js +0 -3
  481. package/dist/configuration.context-f_FSPWhQ.d.ts +0 -926
  482. package/dist/date-picker-DnxDmlOW.d.ts +0 -9
  483. package/dist/date-range-picker-DHDOSvHN.d.ts +0 -9
  484. package/dist/date-time-picker-UkTa0OJ8.d.ts +0 -9
  485. package/dist/date.transforms-DLg-eFcE.js +0 -15
  486. package/dist/dropdownMenu.cva-DvEmX0bs.js +0 -34
  487. package/dist/dynamicInputs-ByVMnx4Z.d.ts +0 -772
  488. package/dist/dynamicInputs-CRMWIpHA.js +0 -194
  489. package/dist/dynamicInputs-m_DQu5q0.js +0 -214
  490. package/dist/fieldAdapter-C4sDFC8f.d.ts +0 -9
  491. package/dist/fieldAdapter-DjYls12j.js +0 -63
  492. package/dist/file-input-DkbkdI7l.d.ts +0 -9
  493. package/dist/file-upload-CTsPhxJk.d.ts +0 -10
  494. package/dist/form.types-CecYaerF.d.ts +0 -13
  495. package/dist/form.types-ZNGbcqJS.d.ts +0 -13
  496. package/dist/info-iUmX3uDk.js +0 -32
  497. package/dist/input-CdQNCPgH.d.ts +0 -8
  498. package/dist/input.cva-DJA8ovm_.js +0 -208
  499. package/dist/link.cva-DMTHZiJG.js +0 -12
  500. package/dist/number-field-CUDbenNV.d.ts +0 -8
  501. package/dist/number-range-input-DZGrcvjL.d.ts +0 -8
  502. package/dist/outline.clsx-50W_vNDl.js +0 -6
  503. package/dist/password-input-fYN20cQO.d.ts +0 -8
  504. package/dist/query-autocomplete-CfuQeiYG.d.ts +0 -14
  505. package/dist/query-select-CuT_sE6a.d.ts +0 -15
  506. package/dist/queryAutocomplete.types-tl3r6iaY.d.ts +0 -27
  507. package/dist/radio-group-B3ccPf0p.d.ts +0 -9
  508. package/dist/rhf/autocomplete.d.ts +0 -3
  509. package/dist/rhf/autocomplete.js +0 -8
  510. package/dist/rhf/checkbox-group.d.ts +0 -3
  511. package/dist/rhf/checkbox-group.js +0 -8
  512. package/dist/rhf/checkbox.d.ts +0 -3
  513. package/dist/rhf/checkbox.js +0 -8
  514. package/dist/rhf/date-picker.d.ts +0 -3
  515. package/dist/rhf/date-picker.js +0 -9
  516. package/dist/rhf/date-range-picker.d.ts +0 -3
  517. package/dist/rhf/date-range-picker.js +0 -9
  518. package/dist/rhf/date-time-picker.d.ts +0 -3
  519. package/dist/rhf/date-time-picker.js +0 -9
  520. package/dist/rhf/file-input.d.ts +0 -3
  521. package/dist/rhf/file-input.js +0 -6
  522. package/dist/rhf/file-upload.d.ts +0 -3
  523. package/dist/rhf/file-upload.js +0 -6
  524. package/dist/rhf/input.d.ts +0 -3
  525. package/dist/rhf/input.js +0 -6
  526. package/dist/rhf/inputs.d.ts +0 -4
  527. package/dist/rhf/inputs.js +0 -2
  528. package/dist/rhf/number-field.d.ts +0 -3
  529. package/dist/rhf/number-field.js +0 -6
  530. package/dist/rhf/number-range-input.d.ts +0 -3
  531. package/dist/rhf/number-range-input.js +0 -6
  532. package/dist/rhf/password-input.d.ts +0 -3
  533. package/dist/rhf/password-input.js +0 -6
  534. package/dist/rhf/query-autocomplete.d.ts +0 -2
  535. package/dist/rhf/query-autocomplete.js +0 -8
  536. package/dist/rhf/query-select.d.ts +0 -2
  537. package/dist/rhf/query-select.js +0 -8
  538. package/dist/rhf/radio-group.d.ts +0 -3
  539. package/dist/rhf/radio-group.js +0 -8
  540. package/dist/rhf/rich-text-editor.d.ts +0 -3
  541. package/dist/rhf/rich-text-editor.js +0 -6
  542. package/dist/rhf/select.d.ts +0 -3
  543. package/dist/rhf/select.js +0 -8
  544. package/dist/rhf/slider.d.ts +0 -3
  545. package/dist/rhf/slider.js +0 -6
  546. package/dist/rhf/switch.d.ts +0 -3
  547. package/dist/rhf/switch.js +0 -8
  548. package/dist/rhf/text-area.d.ts +0 -3
  549. package/dist/rhf/text-area.js +0 -6
  550. package/dist/rhf/time-picker.d.ts +0 -3
  551. package/dist/rhf/time-picker.js +0 -9
  552. package/dist/rhf/toggle-group.d.ts +0 -3
  553. package/dist/rhf/toggle-group.js +0 -6
  554. package/dist/rhf-t348TCCL.js +0 -256
  555. package/dist/rhf.d.ts +0 -106
  556. package/dist/rhf.js +0 -112
  557. package/dist/rich-text-editor-B-Onl7T8.d.ts +0 -8
  558. package/dist/select-B4a52eWW.d.ts +0 -16
  559. package/dist/selectDesktop.cva-CHAMxhfO.js +0 -69
  560. package/dist/slider-dNj9jruO.d.ts +0 -8
  561. package/dist/style-merge.util-zLimKwt6.d.ts +0 -40
  562. package/dist/styles/app-canvas.css +0 -740
  563. package/dist/styles/color-utilities.css +0 -20
  564. package/dist/styles/configurator.css +0 -3280
  565. package/dist/switch-C--iWnY8.d.ts +0 -9
  566. package/dist/switch.cva-CWNzmdRc.d.ts +0 -16
  567. package/dist/table.cva-D5oQ-QvA.js +0 -101
  568. package/dist/tanstack/inputs.d.ts +0 -5
  569. package/dist/tanstack/inputs.js +0 -3
  570. package/dist/tanstack/query-autocomplete.d.ts +0 -2
  571. package/dist/tanstack/query-autocomplete.js +0 -2
  572. package/dist/tanstack/query-select.d.ts +0 -2
  573. package/dist/tanstack/query-select.js +0 -2
  574. package/dist/text-area-DQAtpOQp.d.ts +0 -8
  575. package/dist/theme-model-DtYPxNvH.js +0 -406
  576. package/dist/theme-model-T1zIdBg8.d.ts +0 -12
  577. package/dist/time-picker-DoGfbil6.d.ts +0 -9
  578. package/dist/toggle-group-C1nMDOwz.d.ts +0 -9
  579. package/dist/toggleGroup.cva-MbpaEBg1.js +0 -35
  580. package/dist/typography.cva-D1JOEYl-.d.ts +0 -36
  581. package/dist/typography.cva-iD15k56p.js +0 -51
  582. package/dist/underline-66hmELxa.js +0 -81
  583. package/dist/upload-CXU83BJ4.js +0 -30
  584. package/dist/useFormAutosave-DfuP7drj.js +0 -198
  585. package/dist/useQueryAutocomplete-CraXvRm_.js +0 -152
  586. package/dist/useTableColumnConfig-Di0_w80v.js +0 -892
  587. package/dist/zod.utils-DrrPDT9v.js +0 -24
  588. package/rulesync.jsonc +0 -11
  589. package/scripts/generate-rules.mjs +0 -34
  590. package/src/configurator/README.md +0 -77
  591. package/dist/{import-BE0r63d8.js → import-D_3dPATF.js} +2 -2
  592. /package/dist/{queries.utils-CmbhAoHU.js → tanstack-CmbhAoHU.js} +0 -0
@@ -1,23 +1,20 @@
1
1
  import { t as createLucideIcon } from "./createLucideIcon-LcezOE4z.js";
2
- import { t as UIConfig } from "./uiConfig.context-BS3r_kTS.js";
3
- import { t as Upload } from "./upload-CXU83BJ4.js";
2
+ import { t as UIConfig } from "./uiConfig.context-dxsO9puE.js";
3
+ import { n as $070c0dd15dc89b58$export$3c6489d84dc98b6, r as Upload, t as $b325d7bd7e74496a$export$6fb4a10d2c950550 } from "./FileTrigger-DBX1Io6E.js";
4
4
  import { t as X } from "./x-B6vfz8Ps.js";
5
5
  import { t as clsx } from "./clsx-CnD0nOiA.js";
6
6
  import { t as UIOverrides } from "./uiOverrides.context-BTCH9y5a.js";
7
- import { t as IconSlot } from "./IconSlot-DSK7qNxc.js";
8
- import { n as $070c0dd15dc89b58$export$3c6489d84dc98b6, t as $b325d7bd7e74496a$export$6fb4a10d2c950550 } from "./FileTrigger-Cthk5_Wp.js";
9
- import { t as Typography } from "./Typography-LU4z2pR1.js";
10
- import { t as Button } from "./Button-C5rv4Cr2.js";
11
- import { InlineIconButton } from "./components/inline-icon-button.js";
12
- import { TextButton } from "./components/text-button.js";
13
- import { i as $a8ea2faf2ebe4d2f$re_export$useLabels, r as $a8ea2faf2ebe4d2f$re_export$mergeRefs } from "./import-BE0r63d8.js";
14
- import { t as FieldController } from "./form.binding-CG1RPv6o.js";
15
- import { t as FormField } from "./FormField-B99dLt8o.js";
16
- import "./i18n-CX2EjhJI.js";
7
+ import { t as IconSlot } from "./IconSlot-Cuvpj1gd.js";
8
+ import { t as Typography } from "./Typography-Ba5l4rmj.js";
9
+ import { t as Button } from "./Button-DU1Q8GDB.js";
10
+ import { IconButton } from "./components/icon-button.js";
11
+ import { i as $a8ea2faf2ebe4d2f$re_export$useLabels } from "./import-D_3dPATF.js";
12
+ import { t as FormField } from "./FormField-DyqEbqx3.js";
13
+ import "./i18n-BjNKHh_D.js";
17
14
  import { t as FileUtils } from "./file.utils-DqQxnuAm.js";
18
- import { t as Progress } from "./Progress-B3mY9rIP.js";
19
- import { t as fileUploadDropZoneDefinition } from "./fileUpload.cva-ujmStxB1.js";
20
- import { memo, useCallback, useMemo, useState } from "react";
15
+ import { t as Progress } from "./Progress-ZsKwo9ne.js";
16
+ import { t as fileUploadDropZoneDefinition } from "./fileUpload.cva-DVJcCCYz.js";
17
+ import { memo, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
21
18
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
19
  import { useTranslation } from "react-i18next";
23
20
  //#region ../../node_modules/.bun/lucide-react@1.43.0+83d5fd7b249dbeef/node_modules/lucide-react/dist/esm/icons/circle-alert.mjs
@@ -107,54 +104,62 @@ const FileUploadContentError = ({ variant, as, isDisabled, state, browseText, fi
107
104
  return /* @__PURE__ */ jsx("div", {
108
105
  className: clsx("flex w-full flex-fill flex-col items-start"),
109
106
  children: /* @__PURE__ */ jsxs("div", {
110
- className: clsx("flex w-full items-center", variant === "horizontal" && "flex-row gap-file-upload-content-gap-left-to-right-content", variant === "vertical" && "flex-col", variant === "vertical" && as === "button" && "gap-file-upload-content-gap-content-to-button", variant === "vertical" && as === "link" && "gap-file-upload-content-gap-text-to-text"),
107
+ className: clsx("flex w-full items-center", variant === "horizontal" && "flex-row gap-4", variant === "vertical" && "flex-col", variant === "vertical" && as === "button" && "gap-4", variant === "vertical" && as === "link" && "gap-1"),
111
108
  children: [/* @__PURE__ */ jsxs("div", {
112
- className: clsx("flex min-w-0 max-w-full flex-grow items-center gap-file-upload-content-gap-icon-to-content", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
109
+ className: clsx("flex min-w-0 max-w-full flex-grow items-center gap-2", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
113
110
  children: [/* @__PURE__ */ jsx(IconSlot, {
114
111
  icon: CircleAlert,
115
- className: "text-surface-warning-base"
112
+ className: "text-warning"
116
113
  }), /* @__PURE__ */ jsxs("div", {
117
- className: clsx("flex flex-col gap-file-upload-content-gap-text-to-text", variant === "vertical" && "max-w-full items-center", variant === "horizontal" && "max-w-[calc(100%_-_32px)]"),
114
+ className: clsx("flex flex-col gap-1", variant === "vertical" && "max-w-full items-center", variant === "horizontal" && "max-w-[calc(100%_-_32px)]"),
118
115
  children: [/* @__PURE__ */ jsx(Typography, {
119
116
  size: "large",
120
117
  as: "span",
121
- className: clsx("self-stretch truncate text-surface-default-card-foreground font-bold", variant === "vertical" && "text-center"),
118
+ className: clsx("self-stretch truncate text-foreground font-medium", variant === "vertical" && "text-center"),
122
119
  children: state.file?.name ?? state.displayName ?? ""
123
120
  }), /* @__PURE__ */ jsx(Typography, {
124
121
  size: singleFile ? "small" : "small",
125
122
  as: "span",
126
- className: clsx("text-surface-default-foreground", variant === "vertical" && "text-center"),
123
+ className: clsx("text-muted-foreground", variant === "vertical" && "text-center"),
127
124
  children: state.error?.serverMessage ?? state.error?.message
128
125
  })]
129
126
  })]
130
127
  }), /* @__PURE__ */ jsx("div", {
131
- className: clsx("flex flex-none items-center justify-end", variant === "vertical" && as === "button" && "flex-col", as === "link" && "gap-file-upload-content-gap-text-to-text", as === "button" && "gap-file-upload-content-gap-content-to-button"),
128
+ className: clsx("flex flex-none items-center justify-end", variant === "vertical" && as === "button" && "flex-col", as === "link" && "gap-1", as === "button" && "gap-4"),
132
129
  children: as === "link" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [fileTriggerProps && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx($b325d7bd7e74496a$export$6fb4a10d2c950550, {
133
130
  ...fileTriggerProps,
134
- children: /* @__PURE__ */ jsx(TextButton, {
135
- className: "text-interactive-primary-background",
131
+ children: /* @__PURE__ */ jsx(Button, {
132
+ className: "text-primary",
133
+ variant: "text",
134
+ width: "hug",
136
135
  children: browseText ?? ""
137
136
  })
138
137
  }), /* @__PURE__ */ jsx(Typography, {
139
138
  size: "small",
140
139
  as: "span",
141
- className: "text-surface-default-foreground",
140
+ className: "text-foreground",
142
141
  children: t(($) => $.ui.fileUpload.or)
143
- })] }), removeWithIcon ? /* @__PURE__ */ jsx(InlineIconButton, {
142
+ })] }), removeWithIcon ? /* @__PURE__ */ jsx(IconButton, {
144
143
  label: "Cancel",
145
144
  color: "secondary",
146
145
  onPress: () => {
147
146
  onRemove(state.id ?? "");
148
147
  },
149
- icon: X
150
- }) : /* @__PURE__ */ jsx(TextButton, {
151
- className: "text-interactive-primary-background lowercase",
148
+ icon: X,
149
+ variant: "text",
150
+ width: "hug",
151
+ disableTooltip: true,
152
+ size: "sm"
153
+ }) : /* @__PURE__ */ jsx(Button, {
154
+ className: "text-primary lowercase",
152
155
  onPress: () => {
153
156
  onRemove(state.id ?? "");
154
157
  },
158
+ variant: "text",
159
+ width: "hug",
155
160
  children: t(($) => $.ui.fileUpload.removeFile)
156
161
  })] }) : /* @__PURE__ */ jsxs("div", {
157
- className: "flex items-center justify-center gap-file-upload-content-gap-button-to-button self-stretch",
162
+ className: "flex items-center justify-center gap-2 self-stretch",
158
163
  children: [fileTriggerProps && /* @__PURE__ */ jsx($b325d7bd7e74496a$export$6fb4a10d2c950550, {
159
164
  ...fileTriggerProps,
160
165
  children: /* @__PURE__ */ jsx(Button, {
@@ -165,18 +170,24 @@ const FileUploadContentError = ({ variant, as, isDisabled, state, browseText, fi
165
170
  isDisabled,
166
171
  children: browseText ?? ""
167
172
  })
168
- }), removeWithIcon ? /* @__PURE__ */ jsx(InlineIconButton, {
173
+ }), removeWithIcon ? /* @__PURE__ */ jsx(IconButton, {
169
174
  label: "Cancel",
170
175
  color: "secondary",
171
176
  onPress: () => {
172
177
  onRemove(state.id ?? "");
173
178
  },
174
- icon: X
175
- }) : /* @__PURE__ */ jsx(TextButton, {
179
+ icon: X,
180
+ variant: "text",
181
+ width: "hug",
182
+ disableTooltip: true,
183
+ size: "sm"
184
+ }) : /* @__PURE__ */ jsx(Button, {
176
185
  color: "secondary",
177
186
  onPress: () => {
178
187
  onRemove(state.id ?? "");
179
188
  },
189
+ variant: "text",
190
+ width: "hug",
180
191
  children: t(($) => $.ui.fileUpload.removeFile)
181
192
  })]
182
193
  })
@@ -192,55 +203,63 @@ const FileUploadContentFilled = ({ variant, as, isDisabled, state, browseText, f
192
203
  return /* @__PURE__ */ jsx("div", {
193
204
  className: clsx("flex w-full flex-fill flex-col items-start"),
194
205
  children: /* @__PURE__ */ jsxs("div", {
195
- className: clsx("flex w-full items-center", variant === "horizontal" && "flex-row gap-file-upload-content-gap-left-to-right-content", variant === "vertical" && "flex-col", variant === "vertical" && as === "button" && "gap-file-upload-content-gap-content-to-button", variant === "vertical" && as === "link" && "gap-file-upload-content-gap-text-to-text"),
206
+ className: clsx("flex w-full items-center", variant === "horizontal" && "flex-row gap-4", variant === "vertical" && "flex-col", variant === "vertical" && as === "button" && "gap-4", variant === "vertical" && as === "link" && "gap-1"),
196
207
  children: [/* @__PURE__ */ jsxs("div", {
197
- className: clsx("flex min-w-0 max-w-full grow items-center gap-file-upload-content-gap-icon-to-content", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
208
+ className: clsx("flex min-w-0 max-w-full grow items-center gap-2", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
198
209
  children: [/* @__PURE__ */ jsx(IconSlot, {
199
210
  icon: CircleCheckBig,
200
- className: "text-surface-default-card-foreground"
211
+ className: "text-muted-foreground"
201
212
  }), /* @__PURE__ */ jsxs("div", {
202
- className: clsx("flex flex-col gap-file-upload-content-gap-text-to-text", variant === "vertical" && "max-w-full items-center", variant === "horizontal" && "max-w-[calc(100%-32px)]"),
213
+ className: clsx("flex flex-col gap-1", variant === "vertical" && "max-w-full items-center", variant === "horizontal" && "max-w-[calc(100%-32px)]"),
203
214
  children: [/* @__PURE__ */ jsx(Typography, {
204
215
  size: "large",
205
216
  as: "span",
206
- className: "self-stretch truncate text-center text-surface-default-card-foreground font-bold",
217
+ className: "self-stretch truncate text-center text-foreground font-medium",
207
218
  children: state.file?.name ?? state.displayName ?? ""
208
219
  }), /* @__PURE__ */ jsx(Typography, {
209
220
  size: singleFile ? "small" : "small",
210
221
  as: "span",
211
- className: "text-surface-default-foreground",
222
+ className: "text-foreground",
212
223
  children: FileUtils.getFileDisplaySize(state)
213
224
  })]
214
225
  })]
215
226
  }), /* @__PURE__ */ jsx("div", {
216
- className: clsx("flex flex-none items-center justify-end", variant === "vertical" && as === "button" && "flex-col", as === "link" && variant === "vertical" && "gap-file-upload-content-gap-text-to-text", as === "button" && variant === "vertical" && "gap-file-upload-content-gap-content-to-button", variant === "horizontal" && "gap-file-upload-content-gap-button-to-button"),
227
+ className: clsx("flex flex-none items-center justify-end", variant === "vertical" && as === "button" && "flex-col", as === "link" && variant === "vertical" && "gap-1", as === "button" && variant === "vertical" && "gap-4", variant === "horizontal" && "gap-2"),
217
228
  children: as === "link" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [fileTriggerProps && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx($b325d7bd7e74496a$export$6fb4a10d2c950550, {
218
229
  ...fileTriggerProps,
219
- children: /* @__PURE__ */ jsx(TextButton, {
220
- className: clsx("text-interactive-primary-background", variant === "vertical" && "[&>span>span]:font-medium!"),
230
+ children: /* @__PURE__ */ jsx(Button, {
231
+ className: clsx("text-primary", variant === "vertical" && "[&>span>span]:font-medium!"),
232
+ variant: "text",
233
+ width: "hug",
221
234
  children: browseText ?? ""
222
235
  })
223
236
  }), variant === "vertical" && /* @__PURE__ */ jsx(Typography, {
224
237
  size: "small",
225
238
  as: "span",
226
- className: "text-surface-default-foreground",
239
+ className: "text-muted-foreground",
227
240
  children: t(($) => $.ui.fileUpload.or)
228
- })] }), removeWithIcon ? /* @__PURE__ */ jsx(InlineIconButton, {
241
+ })] }), removeWithIcon ? /* @__PURE__ */ jsx(IconButton, {
229
242
  label: "Cancel",
230
243
  color: "secondary",
231
244
  onPress: () => {
232
245
  onRemove(state.id ?? "");
233
246
  },
234
- icon: X
235
- }) : /* @__PURE__ */ jsx(TextButton, {
236
- className: clsx(variant === "vertical" && "text-interactive-primary-background lowercase [&>span>span]:font-medium!"),
247
+ icon: X,
248
+ variant: "text",
249
+ width: "hug",
250
+ disableTooltip: true,
251
+ size: "sm"
252
+ }) : /* @__PURE__ */ jsx(Button, {
253
+ className: clsx(variant === "vertical" && "text-primary lowercase [&>span>span]:font-medium!"),
237
254
  color: variant === "horizontal" ? "secondary" : "primary",
238
255
  onPress: () => {
239
256
  onRemove(state.id ?? "");
240
257
  },
258
+ variant: "text",
259
+ width: "hug",
241
260
  children: t(($) => $.ui.fileUpload.removeFile)
242
261
  })] }) : /* @__PURE__ */ jsxs("div", {
243
- className: "flex items-center justify-center gap-file-upload-content-gap-button-to-button self-stretch",
262
+ className: "flex items-center justify-center gap-2 self-stretch",
244
263
  children: [fileTriggerProps && /* @__PURE__ */ jsx($b325d7bd7e74496a$export$6fb4a10d2c950550, {
245
264
  ...fileTriggerProps,
246
265
  children: /* @__PURE__ */ jsx(Button, {
@@ -251,20 +270,26 @@ const FileUploadContentFilled = ({ variant, as, isDisabled, state, browseText, f
251
270
  isDisabled,
252
271
  children: browseText ?? ""
253
272
  })
254
- }), removeWithIcon ? /* @__PURE__ */ jsx(InlineIconButton, {
273
+ }), removeWithIcon ? /* @__PURE__ */ jsx(IconButton, {
255
274
  label: "Cancel",
256
275
  color: "secondary",
257
276
  onPress: () => {
258
277
  onRemove(state.id ?? "");
259
278
  },
260
279
  icon: X,
261
- isDisabled
262
- }) : /* @__PURE__ */ jsx(TextButton, {
280
+ isDisabled,
281
+ variant: "text",
282
+ width: "hug",
283
+ disableTooltip: true,
284
+ size: "sm"
285
+ }) : /* @__PURE__ */ jsx(Button, {
263
286
  color: "secondary",
264
287
  onPress: () => {
265
288
  onRemove(state.id ?? "");
266
289
  },
267
290
  isDisabled,
291
+ variant: "text",
292
+ width: "hug",
268
293
  children: t(($) => $.ui.fileUpload.removeFile)
269
294
  })]
270
295
  })
@@ -278,37 +303,41 @@ const FileUploadContentLoading = ({ index, variant, as, state, isDisabled, singl
278
303
  const { t } = useTranslation("ui");
279
304
  const { color: cancelButtonColor = "secondary", size: cancelButtonSize = "sm", variant: cancelButtonVariant = "outlined", width: cancelButtonWidth = "hug", ...cancelButtonRestProps } = cancelButtonProps ?? {};
280
305
  return /* @__PURE__ */ jsxs("div", {
281
- className: clsx("flex w-full flex-col items-center", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", as === "button" && "gap-file-upload-content-gap-content-to-button"),
306
+ className: clsx("flex w-full flex-col items-center", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", as === "button" && "gap-4"),
282
307
  children: [/* @__PURE__ */ jsxs("div", {
283
- className: clsx("flex w-full items-center justify-between", variant === "vertical" && "flex-col gap-file-upload-content-gap-text-to-progress", variant === "horizontal" && "flex-row gap-file-upload-content-gap-left-to-right-content", isDisabled && "opacity-50"),
308
+ className: clsx("flex w-full items-center justify-between", variant === "vertical" && "flex-col gap-1", variant === "horizontal" && "flex-row gap-4", isDisabled && "opacity-50"),
284
309
  children: [/* @__PURE__ */ jsxs("div", {
285
- className: clsx("flex items-center gap-file-upload-content-gap-icon-to-content", variant === "vertical" && "w-full flex-col", variant === "horizontal" && "w-1/2"),
310
+ className: clsx("flex items-center gap-2", variant === "vertical" && "w-full flex-col", variant === "horizontal" && "w-1/2"),
286
311
  children: [/* @__PURE__ */ jsx(IconSlot, {
287
312
  icon: File,
288
- className: "text-surface-default-card-foreground"
313
+ className: "text-muted-foreground"
289
314
  }), /* @__PURE__ */ jsxs("div", {
290
- className: clsx("flex flex-col", variant === "vertical" && "max-w-full gap-file-upload-content-gap-icon-to-content text-center", variant === "horizontal" && "max-w-[calc(100%-32px)] gap-file-upload-content-gap-text-to-text"),
315
+ className: clsx("flex flex-col", variant === "vertical" && "max-w-full gap-2 text-center", variant === "horizontal" && "max-w-[calc(100%-32px)] gap-1"),
291
316
  children: [/* @__PURE__ */ jsx(Typography, {
292
317
  size: "large",
293
318
  as: "span",
294
- className: "self-stretch truncate text-center text-surface-default-card-foreground font-bold",
319
+ className: "self-stretch truncate text-center text-foreground font-medium",
295
320
  children: state.file?.name ?? state.displayName ?? ""
296
321
  }), /* @__PURE__ */ jsx(Typography, {
297
322
  size: singleFile ? "small" : "small",
298
323
  as: "span",
299
- className: "text-surface-default-foreground",
324
+ className: "text-muted-foreground",
300
325
  children: FileUtils.getFileDisplaySize(state)
301
326
  })]
302
327
  })]
303
328
  }), /* @__PURE__ */ jsxs("div", {
304
329
  className: clsx("flex items-center gap-1", variant === "horizontal" && "w-1/2", variant === "vertical" && "w-full"),
305
- children: [/* @__PURE__ */ jsx(Progress, { progress: state.progress }), (as === "link" || variant === "horizontal") && /* @__PURE__ */ jsx(InlineIconButton, {
330
+ children: [/* @__PURE__ */ jsx(Progress, { progress: state.progress }), (as === "link" || variant === "horizontal") && /* @__PURE__ */ jsx(IconButton, {
306
331
  label: "Cancel",
307
332
  color: "secondary",
308
333
  onPress: () => {
309
334
  onCancel(index);
310
335
  },
311
- icon: X
336
+ icon: X,
337
+ variant: "text",
338
+ width: "hug",
339
+ disableTooltip: true,
340
+ size: "sm"
312
341
  })]
313
342
  })]
314
343
  }), as === "button" && variant === "vertical" && /* @__PURE__ */ jsx(Button, {
@@ -356,7 +385,8 @@ const FileCardComponent = ({ index, as, state, onRemove, isDisabled, browseButto
356
385
  state,
357
386
  browseButtonProps,
358
387
  onRemove: () => {
359
- onRemove?.(state.id ?? "");
388
+ if (state.id) onRemove?.(state.id);
389
+ else onCancel?.(index);
360
390
  }
361
391
  });
362
392
  }, [
@@ -370,7 +400,7 @@ const FileCardComponent = ({ index, as, state, onRemove, isDisabled, browseButto
370
400
  onRemove
371
401
  ]);
372
402
  return /* @__PURE__ */ jsx("div", {
373
- className: clsx("flex items-center self-stretch", "bg-surface-default-card", "px-file-upload-file-card-side-default", "py-4", "rounded-file-upload-file-card-rounding-default border border-border-default-subtle border-solid"),
403
+ className: clsx("flex items-center self-stretch", "bg-card", "px-3", "py-4", "rounded-lg border border-border border-solid"),
374
404
  children: content
375
405
  });
376
406
  };
@@ -379,7 +409,7 @@ const FileCard = memo(FileCardComponent);
379
409
  //#region src/components/inputs/File/shared/FileCardList.tsx
380
410
  const FileCardList = memo(({ uploadState, as, isDisabled, browseButtonProps, cancelButtonProps, className, onRemove, onCancel }) => {
381
411
  return /* @__PURE__ */ jsx("div", {
382
- className: clsx("mt-10 flex flex-col items-start gap-4 self-stretch", className),
412
+ className: clsx("mt-4 flex flex-col items-start gap-2 self-stretch", className),
383
413
  children: uploadState.map((state, index) => /* @__PURE__ */ jsx(FileCard, {
384
414
  index,
385
415
  as,
@@ -397,28 +427,30 @@ const FileCardList = memo(({ uploadState, as, isDisabled, browseButtonProps, can
397
427
  const FileUploadContentEmpty = ({ variant, as, isDisabled, title, browseText, uploadText, hideButton = false, className, browseButtonProps }) => {
398
428
  const { size: browseButtonSize = "sm", variant: browseButtonVariant = "outlined", width: browseButtonWidth = "hug", ...browseButtonRestProps } = browseButtonProps ?? {};
399
429
  return /* @__PURE__ */ jsxs("div", {
400
- className: clsx("flex w-full items-center gap-file-upload-content-gap-text-to-text", className, variant === "vertical" && "flex-col", variant === "horizontal" && "min-h-11 flex-row justify-between"),
430
+ className: clsx("flex w-full items-center gap-1", className, variant === "vertical" && "flex-col", variant === "horizontal" && "min-h-11 flex-row justify-between"),
401
431
  children: [/* @__PURE__ */ jsxs("div", {
402
- className: clsx("flex items-center gap-file-upload-content-gap-icon-to-content", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
432
+ className: clsx("flex items-center gap-2", variant === "vertical" && "flex-col", variant === "horizontal" && "flex-row", isDisabled && "opacity-50"),
403
433
  children: [/* @__PURE__ */ jsx(IconSlot, {
404
434
  icon: Upload,
405
- className: "text-surface-default-card-foreground"
435
+ className: "text-foreground"
406
436
  }), /* @__PURE__ */ jsx(Typography, {
407
437
  size: "lead",
408
438
  as: "span",
409
- className: clsx("self-stretch text-surface-default-card-foreground font-normal", variant === "vertical" && "text-center"),
439
+ className: clsx("self-stretch text-foreground font-normal", variant === "vertical" && "text-center"),
410
440
  children: title
411
441
  })]
412
442
  }), /* @__PURE__ */ jsxs("div", {
413
- className: clsx("flex items-center justify-center", variant === "vertical" && as === "button" && "flex-col", as === "link" && "gap-file-upload-content-gap-text-to-text", as === "button" && "gap-file-upload-content-gap-content-to-button"),
443
+ className: clsx("flex items-center justify-center", variant === "vertical" && as === "button" && "flex-col", as === "link" && "gap-1", as === "button" && "gap-4"),
414
444
  children: [/* @__PURE__ */ jsx(Typography, {
415
445
  size: "large",
416
446
  as: "span",
417
- className: clsx("text-surface-default-foreground font-normal", variant === "vertical" && "text-center", isDisabled && "opacity-50"),
447
+ className: clsx("text-muted-foreground font-normal", variant === "vertical" && "text-center", isDisabled && "opacity-50"),
418
448
  children: uploadText
419
- }), !hideButton && browseText && (as === "link" ? /* @__PURE__ */ jsx(TextButton, {
420
- className: "text-interactive-primary-background lowercase",
449
+ }), !hideButton && browseText && (as === "link" ? /* @__PURE__ */ jsx(Button, {
450
+ className: "text-primary lowercase",
421
451
  isDisabled,
452
+ variant: "text",
453
+ width: "hug",
422
454
  children: browseText
423
455
  }) : /* @__PURE__ */ jsx(Button, {
424
456
  variant: browseButtonVariant,
@@ -452,7 +484,7 @@ const FileUploadContent = ({ variant, as, isDisabled, browseText, uploadText, em
452
484
  cancelButtonProps,
453
485
  onCancel: handleCancelUpload
454
486
  });
455
- if (currentState.state === "uploaded") return /* @__PURE__ */ jsx(FileUploadContentFilled, {
487
+ if (currentState.state === "uploaded" || currentState.state === "idle") return /* @__PURE__ */ jsx(FileUploadContentFilled, {
456
488
  as,
457
489
  variant,
458
490
  singleFile: true,
@@ -462,7 +494,8 @@ const FileUploadContent = ({ variant, as, isDisabled, browseText, uploadText, em
462
494
  browseButtonProps,
463
495
  fileTriggerProps,
464
496
  onRemove: () => {
465
- handleRemove(currentState.id ?? "");
497
+ if (currentState.id) handleRemove(currentState.id);
498
+ else handleCancelUpload(0);
466
499
  }
467
500
  });
468
501
  if (currentState.state === "error") return /* @__PURE__ */ jsx(FileUploadContentError, {
@@ -473,7 +506,8 @@ const FileUploadContent = ({ variant, as, isDisabled, browseText, uploadText, em
473
506
  state: currentState,
474
507
  browseButtonProps,
475
508
  onRemove: () => {
476
- handleRemove(currentState.id ?? "");
509
+ if (currentState.id) handleRemove(currentState.id);
510
+ else handleCancelUpload(0);
477
511
  }
478
512
  });
479
513
  }
@@ -495,12 +529,26 @@ const FileUploadContent = ({ variant, as, isDisabled, browseText, uploadText, em
495
529
  //#region src/components/inputs/File/FileUpload.tsx
496
530
  const FileUploadBase = (props) => {
497
531
  const { t } = useTranslation("ui");
498
- const { ref: _ref, label, tooltipText, variant = "vertical", as = "button", helperText, isRequired, isDisabled, headerClassName, errorClassName, isHeaderHidden, error, className, allowsMultiple: allowsMultipleProp, multiple, hideLabel, acceptedFileTypes, clearOnSuccess, emptyText = t(($) => $.ui.fileUpload.emptyText), uploadText = t(($) => $.ui.fileUpload.uploadText), browseText = t(($) => $.ui.fileUpload.browse), fileUpload, fileRemove, children, listRenderer, browseButtonProps, cancelButtonProps, onInvalidFileType, onChange, defaultState, ...rest } = props;
532
+ const { ref, label, tooltipText, variant = "vertical", as = "button", helperText, isRequired, isDisabled, headerClassName, errorClassName, isHeaderHidden, error, errorMessageId, className, allowsMultiple: allowsMultipleProp, multiple, hideLabel, acceptedFileTypes, clearOnSuccess, emptyText = t(($) => $.ui.fileUpload.emptyText), uploadText = t(($) => $.ui.fileUpload.uploadText), browseText = t(($) => $.ui.fileUpload.browse), fileUpload, fileRemove, children, listRenderer, browseButtonProps, cancelButtonProps, onInvalidFileType, onChange, onBlur, defaultState, boundValue, ...rest } = props;
499
533
  const allowsMultiple = allowsMultipleProp ?? multiple ?? false;
500
534
  const ui = UIConfig.useConfig();
501
535
  const fileUploadDropZoneCva = UIOverrides.useCva("fileUpload.dropZoneCva", fileUploadDropZoneDefinition);
502
536
  const getInitialState = () => {
503
- if (props.value != null && props.value.length > 0) return props.value;
537
+ if (boundValue !== void 0) return (Array.isArray(boundValue) ? boundValue : boundValue ? [boundValue] : []).map((file) => ({
538
+ state: "idle",
539
+ file,
540
+ displayName: file.name,
541
+ displaySize: file.size,
542
+ displayType: file.type
543
+ }));
544
+ if (props.value !== void 0) return props.value ?? [];
545
+ if (props.defaultValue !== void 0) return (Array.isArray(props.defaultValue) ? props.defaultValue : props.defaultValue ? [props.defaultValue] : []).map((file) => ({
546
+ state: "idle",
547
+ file,
548
+ displayName: file.name,
549
+ displaySize: file.size,
550
+ displayType: file.type
551
+ }));
504
552
  if (!defaultState?.length) return [];
505
553
  const items = defaultState.map((item, index) => ({
506
554
  state: "uploaded",
@@ -511,13 +559,62 @@ const FileUploadBase = (props) => {
511
559
  }));
512
560
  return allowsMultiple ? items : items.slice(0, 1);
513
561
  };
562
+ const generatedErrorId = useId();
563
+ const resolvedErrorId = errorMessageId ?? generatedErrorId;
564
+ const [uploadError, setUploadError] = useState();
565
+ const resolvedError = error ?? uploadError;
514
566
  const [uploadState, setUploadState] = useState(getInitialState);
567
+ const uploadStateRef = useRef(uploadState);
568
+ const uploadGeneration = useRef(0);
569
+ uploadStateRef.current = uploadState;
570
+ const updateUploadState = useCallback((next) => {
571
+ const value = typeof next === "function" ? next(uploadStateRef.current) : next;
572
+ uploadStateRef.current = value;
573
+ setUploadState(value);
574
+ }, []);
575
+ const previousExternalValue = useRef(props.value);
576
+ useEffect(() => {
577
+ if (boundValue !== void 0 || props.value === void 0 || props.value === previousExternalValue.current) return;
578
+ previousExternalValue.current = props.value;
579
+ uploadGeneration.current += 1;
580
+ setUploadError(void 0);
581
+ uploadState.forEach((item) => {
582
+ if (!props.value?.some((next) => next.file === item.file && next.id === item.id)) item.abortController?.abort();
583
+ });
584
+ updateUploadState(props.value ?? []);
585
+ }, [
586
+ boundValue,
587
+ props.value,
588
+ uploadState,
589
+ updateUploadState
590
+ ]);
591
+ useEffect(() => {
592
+ if (boundValue === void 0) return;
593
+ const files = Array.isArray(boundValue) ? boundValue : boundValue ? [boundValue] : [];
594
+ const currentFiles = uploadState.flatMap((item) => item.file ? [item.file] : []);
595
+ if (files.length === currentFiles.length && files.every((file, index) => file === currentFiles[index])) return;
596
+ uploadGeneration.current += 1;
597
+ setUploadError(void 0);
598
+ uploadState.forEach((item) => item.abortController?.abort());
599
+ updateUploadState(files.map((file) => ({
600
+ state: "idle",
601
+ file,
602
+ displayName: file.name,
603
+ displaySize: file.size,
604
+ displayType: file.type
605
+ })));
606
+ }, [
607
+ boundValue,
608
+ uploadState,
609
+ updateUploadState
610
+ ]);
515
611
  const emitFiles = useCallback((files) => {
516
612
  if (allowsMultiple) onChange?.(files);
517
613
  else onChange?.(files[0] ?? null);
518
614
  }, [allowsMultiple, onChange]);
519
615
  const formFieldProps = {
520
- error,
616
+ error: resolvedError,
617
+ errorMessageId: resolvedErrorId,
521
618
  label,
522
619
  tooltipText,
523
620
  helperText,
@@ -529,112 +626,146 @@ const FileUploadBase = (props) => {
529
626
  errorClassName
530
627
  };
531
628
  const labelProps = $a8ea2faf2ebe4d2f$re_export$useLabels({ "aria-label": label });
629
+ const reportUploadError = (failure, generation) => {
630
+ if (generation !== uploadGeneration.current) return;
631
+ const message = typeof failure === "object" && failure !== null ? "serverMessage" in failure && typeof failure.serverMessage === "string" && failure.serverMessage.trim() ? failure.serverMessage : "message" in failure && typeof failure.message === "string" ? failure.message : void 0 : typeof failure === "string" ? failure : void 0;
632
+ setUploadError(message?.trim() ? message : t(($) => $.ui.fileUpload.uploadFailed));
633
+ };
532
634
  const handleUpload = async (inputFiles) => {
533
- const acceptedFiles = inputFiles.filter((file) => FileUtils.isFileTypeAccepted(file, acceptedFileTypes));
534
- const invalidFiles = inputFiles.filter((file) => !FileUtils.isFileTypeAccepted(file, acceptedFileTypes));
535
- if (invalidFiles.length > 0) {
536
- if (allowsMultiple) onInvalidFileType?.(invalidFiles.map((file) => file.name));
537
- else onInvalidFileType?.(invalidFiles[0].name);
538
- }
539
- if (acceptedFiles.length === 0) return;
540
- const existingFiles = allowsMultiple ? uploadState.flatMap((state) => state.file ? [state.file] : []) : [];
541
- emitFiles([...existingFiles, ...acceptedFiles]);
542
- if (!fileUpload) return;
543
- if (!allowsMultiple) setUploadState([]);
544
- const newUploadState = [];
545
- acceptedFiles.forEach((file) => {
546
- newUploadState.push({
635
+ const generation = uploadGeneration.current;
636
+ setUploadError(void 0);
637
+ try {
638
+ const validFiles = inputFiles.filter((file) => FileUtils.isFileTypeAccepted(file, acceptedFileTypes));
639
+ const acceptedFiles = allowsMultiple ? validFiles : validFiles.slice(0, 1);
640
+ const invalidFiles = inputFiles.filter((file) => !FileUtils.isFileTypeAccepted(file, acceptedFileTypes));
641
+ if (invalidFiles.length > 0) {
642
+ if (allowsMultiple) onInvalidFileType?.(invalidFiles.map((file) => file.name));
643
+ else onInvalidFileType?.(invalidFiles[0].name);
644
+ }
645
+ if (acceptedFiles.length === 0) return;
646
+ const existingFiles = allowsMultiple ? uploadStateRef.current.flatMap((state) => state.file ? [state.file] : []) : [];
647
+ emitFiles([...existingFiles, ...acceptedFiles]);
648
+ if (!fileUpload) {
649
+ const states = acceptedFiles.map((file) => ({
650
+ state: "idle",
651
+ file,
652
+ displayName: file.name,
653
+ displaySize: file.size,
654
+ displayType: file.type
655
+ }));
656
+ updateUploadState((previous) => allowsMultiple ? [...previous, ...states] : states);
657
+ return;
658
+ }
659
+ if (!allowsMultiple) {
660
+ uploadStateRef.current.forEach((item) => item.abortController?.abort());
661
+ updateUploadState([]);
662
+ }
663
+ const newUploadState = acceptedFiles.map((file) => ({
547
664
  state: "uploading",
548
665
  progress: 0,
549
666
  file,
550
667
  abortController: new AbortController()
551
- });
552
- });
553
- const startIndex = allowsMultiple ? uploadState.length : 0;
554
- setUploadState((prev) => [...prev, ...newUploadState]);
555
- const promises = [];
556
- acceptedFiles.forEach(async (file, index) => {
557
- promises.push(fileUpload({ data: {
558
- resourceName: file.name,
559
- fileName: file.name,
560
- fileSize: file.size,
561
- method: "put"
562
- } }, file, {
563
- onUploadProgress: ({ loaded, total }) => {
564
- if (total == null) return;
565
- const progress = Math.round(loaded / total * 100);
566
- setUploadState((prev) => prev.map((state, i) => i === startIndex + index ? {
668
+ }));
669
+ updateUploadState((previous) => [...previous, ...newUploadState]);
670
+ const succeeded = await Promise.all(newUploadState.map(async ({ file, abortController }) => {
671
+ const isCurrent = () => generation === uploadGeneration.current && !abortController.signal.aborted;
672
+ try {
673
+ const response = await fileUpload({ data: {
674
+ resourceName: file.name,
675
+ fileName: file.name,
676
+ fileSize: file.size,
677
+ method: "put"
678
+ } }, file, {
679
+ onUploadProgress: ({ loaded, total }) => {
680
+ if (total == null || !isCurrent()) return;
681
+ const progress = Math.round(loaded / total * 100);
682
+ updateUploadState((previous) => previous.map((state) => state.abortController === abortController ? {
683
+ ...state,
684
+ progress
685
+ } : state));
686
+ },
687
+ abortController
688
+ });
689
+ if (!isCurrent()) return false;
690
+ updateUploadState((previous) => previous.map((state) => state.abortController === abortController ? {
567
691
  ...state,
568
- progress
692
+ state: "uploaded",
693
+ id: response.id
569
694
  } : state));
570
- },
571
- abortController: newUploadState[index]?.abortController
695
+ return true;
696
+ } catch (failure) {
697
+ if (!isCurrent()) return false;
698
+ const remainingState = uploadStateRef.current.filter((state) => state.abortController !== abortController);
699
+ updateUploadState(remainingState);
700
+ reportUploadError(failure, generation);
701
+ emitFiles(remainingState.flatMap((state) => state.file ? [state.file] : []));
702
+ return false;
703
+ }
572
704
  }));
573
- });
574
- try {
575
- (await Promise.all(promises)).forEach((res, index) => {
576
- setUploadState((prev) => prev.map((state, i) => i === startIndex + index ? {
577
- ...state,
578
- state: "uploaded",
579
- id: res.id
580
- } : state));
581
- });
582
- if (clearOnSuccess) {
583
- setUploadState([]);
705
+ if (generation === uploadGeneration.current && succeeded.every(Boolean) && clearOnSuccess && uploadStateRef.current.every((item) => newUploadState.some((pending) => pending.abortController === item.abortController))) {
706
+ updateUploadState([]);
584
707
  emitFiles([]);
585
708
  }
586
- } catch (error) {
587
- const remainingState = uploadState.slice(0, startIndex);
588
- setUploadState(remainingState);
589
- emitFiles(remainingState.flatMap((state) => state.file ? [state.file] : []));
590
- throw error;
709
+ } catch (failure) {
710
+ reportUploadError(failure, generation);
591
711
  }
592
712
  };
593
713
  const handleSelect = (inputFiles) => {
594
- if (!inputFiles) return;
595
- const filesArray = Array.from(inputFiles);
596
- handleUpload(filesArray);
714
+ if (inputFiles) handleUpload(Array.from(inputFiles));
597
715
  };
598
716
  const handleDrop = async (e) => {
717
+ const generation = uploadGeneration.current;
599
718
  if (!e.items) return;
600
- const promises = [];
601
- e.items.forEach((item) => {
602
- if (item.kind === "file") promises.push(item.getFile());
603
- });
604
- const inputFiles = await Promise.all(promises);
605
- handleUpload(inputFiles);
719
+ setUploadError(void 0);
720
+ try {
721
+ const inputFiles = await Promise.all(e.items.flatMap((item) => item.kind === "file" ? [Promise.resolve().then(() => item.getFile())] : []));
722
+ if (generation !== uploadGeneration.current) return;
723
+ await handleUpload(inputFiles);
724
+ } catch (failure) {
725
+ reportUploadError(failure, generation);
726
+ }
606
727
  };
607
728
  const handleRemove = useCallback((id) => {
608
729
  fileRemove?.({ id });
609
730
  const remainingState = uploadState.filter((state) => state.id !== id);
610
- setUploadState(remainingState);
731
+ updateUploadState(remainingState);
611
732
  emitFiles(remainingState.flatMap((state) => state.file ? [state.file] : []));
612
733
  }, [
613
734
  emitFiles,
614
735
  fileRemove,
615
- uploadState
736
+ uploadState,
737
+ updateUploadState
616
738
  ]);
617
739
  const handleCancelUpload = useCallback((index) => {
618
740
  const findState = uploadState[index];
619
741
  if (findState) {
620
742
  findState.abortController?.abort("canceled by user");
621
743
  const remainingState = uploadState.filter((_, i) => i !== index);
622
- setUploadState(remainingState);
744
+ updateUploadState(remainingState);
623
745
  emitFiles(remainingState.flatMap((state) => state.file ? [state.file] : []));
624
746
  }
625
- }, [emitFiles, uploadState]);
747
+ }, [
748
+ emitFiles,
749
+ uploadState,
750
+ updateUploadState
751
+ ]);
626
752
  return /* @__PURE__ */ jsxs(FormField, {
753
+ ref,
754
+ onBlurCapture: onBlur,
627
755
  ...formFieldProps,
628
756
  labelProps,
629
757
  className: clsx("w-full", className),
630
758
  children: [/* @__PURE__ */ jsx("div", {
631
- className: "flex w-full items-center justify-between gap-input-gap-input-to-button-gap",
759
+ role: "group",
760
+ "aria-label": label,
761
+ "aria-describedby": [rest["aria-describedby"], resolvedError ? resolvedErrorId : void 0].filter(Boolean).join(" ") || void 0,
762
+ className: "flex w-full items-center justify-between gap-2",
632
763
  children: /* @__PURE__ */ jsx($070c0dd15dc89b58$export$3c6489d84dc98b6, {
633
764
  ...rest,
634
765
  "data-rac": "",
635
766
  "data-disabled": isDisabled || void 0,
636
767
  "data-is-disabled": isDisabled || void 0,
637
- "data-invalid": !!error || void 0,
768
+ "data-invalid": !!resolvedError || void 0,
638
769
  "data-multiple": allowsMultiple || void 0,
639
770
  "data-has-files": uploadState.length > 0 || void 0,
640
771
  "data-filled": !allowsMultiple && uploadState[0]?.state === "uploaded" || void 0,
@@ -643,7 +774,7 @@ const FileUploadBase = (props) => {
643
774
  className: fileUploadDropZoneCva({
644
775
  variant,
645
776
  isContainer: !!children,
646
- className: "group/file-upload-drop-zone"
777
+ className: "group/upload-drop-zone"
647
778
  }),
648
779
  children: children ? /* @__PURE__ */ jsxs(Fragment$1, { children: [children({
649
780
  files: uploadState,
@@ -659,7 +790,7 @@ const FileUploadBase = (props) => {
659
790
  uploadText,
660
791
  browseText,
661
792
  browseButtonProps,
662
- className: "group-drop-target/file-upload-drop-zone:flex! absolute top-1/2 left-1/2 z-overlay-above hidden -translate-x-1/2 -translate-y-1/2 flex-col"
793
+ className: "group-drop-target/upload-drop-zone:flex! absolute top-1/2 left-1/2 z-overlay-above hidden -translate-x-1/2 -translate-y-1/2 flex-col"
663
794
  })] }) : /* @__PURE__ */ jsx(FileUploadContent, {
664
795
  ...rest,
665
796
  variant,
@@ -693,27 +824,7 @@ const FileUploadBase = (props) => {
693
824
  }))]
694
825
  });
695
826
  };
696
- const FileUploadComponent = (props) => {
697
- if ("field" in props && props.field) {
698
- const { field, ref, ...innerProps } = props;
699
- return /* @__PURE__ */ jsx(FieldController, {
700
- control: field.form,
701
- name: field.name,
702
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx(FileUploadBase, {
703
- ...innerProps,
704
- ref: $a8ea2faf2ebe4d2f$re_export$mergeRefs(ref, field.ref),
705
- value: field.value,
706
- onChange: ((value) => {
707
- field.onChange(value);
708
- field.onBlur();
709
- }),
710
- isDisabled: field.disabled || props.isDisabled,
711
- error: props.error ?? error?.message
712
- })
713
- });
714
- }
715
- return /* @__PURE__ */ jsx(FileUploadBase, { ...props });
716
- };
827
+ const FileUploadComponent = (props) => /* @__PURE__ */ jsx(FileUploadBase, { ...props });
717
828
  const FileUpload = memo(FileUploadComponent);
718
829
  //#endregion
719
- export { FileUpload as t };
830
+ export { FileUploadBase as n, FileUpload as t };