boreal-ui 0.0.35 → 0.0.36

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 (589) hide show
  1. package/dist/core/{Accordion-D6hxjkE1.cjs → Accordion-Cb-MHkcx.cjs} +6 -2
  2. package/dist/core/Accordion-Cb-MHkcx.cjs.map +1 -0
  3. package/dist/core/{Accordion-CY5BCoA7.js → Accordion-DDu1TFaX.js} +6 -2
  4. package/dist/core/Accordion-DDu1TFaX.js.map +1 -0
  5. package/dist/core/Accordion.cjs.js +1 -1
  6. package/dist/core/Accordion.js +1 -1
  7. package/dist/core/Badge-C6qp0Eym.cjs.map +1 -1
  8. package/dist/core/Badge-MiX5w_Ui.js.map +1 -1
  9. package/dist/core/{Breadcrumbs-hKtLDMrC.cjs → Breadcrumbs-DeUAfwz-.cjs} +2 -2
  10. package/dist/core/Breadcrumbs-DeUAfwz-.cjs.map +1 -0
  11. package/dist/core/{Breadcrumbs-BulpkVaU.js → Breadcrumbs-KHd0Wr_l.js} +2 -2
  12. package/dist/core/Breadcrumbs-KHd0Wr_l.js.map +1 -0
  13. package/dist/core/Breadcrumbs.cjs.js +1 -1
  14. package/dist/core/Breadcrumbs.js +1 -1
  15. package/dist/core/{Button-CD1ETVvS.cjs → Button-CBmiAYTl.cjs} +20 -16
  16. package/dist/core/Button-CBmiAYTl.cjs.map +1 -0
  17. package/dist/core/{Button-sz60qyTn.js → Button-DxYuUx72.js} +20 -16
  18. package/dist/core/Button-DxYuUx72.js.map +1 -0
  19. package/dist/core/Button.cjs.js +1 -1
  20. package/dist/core/Button.js +1 -1
  21. package/dist/core/{Card-Bagax-bx.js → Card-C8Nn4k-D.js} +7 -7
  22. package/dist/core/Card-C8Nn4k-D.js.map +1 -0
  23. package/dist/core/{Card-DtHJdWNq.cjs → Card-v23IopXR.cjs} +7 -7
  24. package/dist/core/Card-v23IopXR.cjs.map +1 -0
  25. package/dist/core/Card.cjs.js +1 -1
  26. package/dist/core/Card.js +1 -1
  27. package/dist/core/{Chip-DxwLK-G6.js → Chip-CshyG7SS.js} +2 -2
  28. package/dist/core/Chip-CshyG7SS.js.map +1 -0
  29. package/dist/core/{Chip-C8spwPgH.cjs → Chip-E--KGVgH.cjs} +2 -2
  30. package/dist/core/Chip-E--KGVgH.cjs.map +1 -0
  31. package/dist/core/Chip.cjs.js +1 -1
  32. package/dist/core/Chip.js +1 -1
  33. package/dist/core/{CommandPalette-SxHF3-VM.cjs → CommandPalette-B8jOhfm2.cjs} +2 -2
  34. package/dist/core/{CommandPalette-SxHF3-VM.cjs.map → CommandPalette-B8jOhfm2.cjs.map} +1 -1
  35. package/dist/core/{CommandPalette-Dmy5lWzv.js → CommandPalette-BpRegx0J.js} +2 -2
  36. package/dist/core/{CommandPalette-Dmy5lWzv.js.map → CommandPalette-BpRegx0J.js.map} +1 -1
  37. package/dist/core/CommandPalette.cjs.js +1 -1
  38. package/dist/core/CommandPalette.js +1 -1
  39. package/dist/core/{DateTimePicker-Cq_QZBV5.js → DateTimePicker-CK3I5Gxw.js} +2 -2
  40. package/dist/core/DateTimePicker-CK3I5Gxw.js.map +1 -0
  41. package/dist/core/{DateTimePicker-DU-vjgee.cjs → DateTimePicker-Dj8LEv5L.cjs} +2 -2
  42. package/dist/core/DateTimePicker-Dj8LEv5L.cjs.map +1 -0
  43. package/dist/core/DateTimePicker.cjs.js +1 -1
  44. package/dist/core/DateTimePicker.js +1 -1
  45. package/dist/core/{Dropdown-Dlo--tIl.cjs → Dropdown-BpEtC6bv.cjs} +2 -2
  46. package/dist/core/Dropdown-BpEtC6bv.cjs.map +1 -0
  47. package/dist/core/{Dropdown-GA_yvFVS.js → Dropdown-Drug9EGs.js} +2 -2
  48. package/dist/core/Dropdown-Drug9EGs.js.map +1 -0
  49. package/dist/core/Dropdown.cjs.js +1 -1
  50. package/dist/core/Dropdown.js +1 -1
  51. package/dist/core/{EmptyState-1ZbzRKLl.cjs → EmptyState-CknrkSpb.cjs} +2 -2
  52. package/dist/core/{EmptyState-1ZbzRKLl.cjs.map → EmptyState-CknrkSpb.cjs.map} +1 -1
  53. package/dist/core/{EmptyState-CSnwsLvV.js → EmptyState-HSMqh1Og.js} +2 -2
  54. package/dist/core/{EmptyState-CSnwsLvV.js.map → EmptyState-HSMqh1Og.js.map} +1 -1
  55. package/dist/core/EmptyState.cjs.js +1 -1
  56. package/dist/core/EmptyState.js +1 -1
  57. package/dist/core/{FileUpload-DJ1wI_Bm.js → FileUpload-C6xeGLr8.js} +5 -5
  58. package/dist/core/FileUpload-C6xeGLr8.js.map +1 -0
  59. package/dist/core/{FileUpload-aqWEEHIW.cjs → FileUpload-C_k2_dfF.cjs} +5 -5
  60. package/dist/core/FileUpload-C_k2_dfF.cjs.map +1 -0
  61. package/dist/core/FileUpload.cjs.js +1 -1
  62. package/dist/core/FileUpload.js +1 -1
  63. package/dist/core/{Footer-9x3F5gZx.js → Footer-D2DOWiIc.js} +22 -10
  64. package/dist/core/Footer-D2DOWiIc.js.map +1 -0
  65. package/dist/core/{Footer-VpViLKN_.cjs → Footer-lTLk-01g.cjs} +22 -10
  66. package/dist/core/Footer-lTLk-01g.cjs.map +1 -0
  67. package/dist/core/Footer.cjs.js +1 -1
  68. package/dist/core/Footer.js +1 -1
  69. package/dist/core/{IconButton-Bjjlbqiq.cjs → IconButton-Cs4PHptF.cjs} +2 -2
  70. package/dist/core/IconButton-Cs4PHptF.cjs.map +1 -0
  71. package/dist/core/{IconButton-DgfUCfo9.js → IconButton-DY1ppFX-.js} +2 -2
  72. package/dist/core/IconButton-DY1ppFX-.js.map +1 -0
  73. package/dist/core/IconButton.cjs.js +1 -1
  74. package/dist/core/IconButton.js +1 -1
  75. package/dist/core/{MarkdownRenderer-OUEnVOLG.cjs → MarkdownRenderer-3-S5hKVG.cjs} +2 -1
  76. package/dist/core/MarkdownRenderer-3-S5hKVG.cjs.map +1 -0
  77. package/dist/core/{MarkdownRenderer-COnLzf0t.js → MarkdownRenderer-CScdSBLx.js} +2 -1
  78. package/dist/core/MarkdownRenderer-CScdSBLx.js.map +1 -0
  79. package/dist/core/MarkdownRenderer.cjs.js +1 -1
  80. package/dist/core/MarkdownRenderer.js +1 -1
  81. package/dist/core/MessagePopUp.cjs.js +1 -1
  82. package/dist/core/MessagePopUp.js +1 -1
  83. package/dist/core/{MessagePopup-eNK7XvUn.js → MessagePopup-CHCUOPLz.js} +5 -6
  84. package/dist/core/MessagePopup-CHCUOPLz.js.map +1 -0
  85. package/dist/core/{MessagePopup-D2nlhTvG.cjs → MessagePopup-CL_1uoVd.cjs} +5 -6
  86. package/dist/core/MessagePopup-CL_1uoVd.cjs.map +1 -0
  87. package/dist/core/{Modal-Cy0AsPTV.js → Modal-1d9Ivd05.js} +2 -2
  88. package/dist/core/Modal-1d9Ivd05.js.map +1 -0
  89. package/dist/core/{Modal-B7IqleCB.cjs → Modal-D8SK6y7Q.cjs} +2 -2
  90. package/dist/core/Modal-D8SK6y7Q.cjs.map +1 -0
  91. package/dist/core/Modal.cjs.js +1 -1
  92. package/dist/core/Modal.js +1 -1
  93. package/dist/core/{NavBar-CBC9YPkH.js → NavBar-CIImUvWA.js} +4 -4
  94. package/dist/core/NavBar-CIImUvWA.js.map +1 -0
  95. package/dist/core/{NavBar-DUNxiip6.cjs → NavBar-D03-pQsT.cjs} +4 -4
  96. package/dist/core/NavBar-D03-pQsT.cjs.map +1 -0
  97. package/dist/core/NavBar.cjs.js +1 -1
  98. package/dist/core/NavBar.js +1 -1
  99. package/dist/core/{NotificationCenter-c99_Xq4J.cjs → NotificationCenter-BjTSHg0M.cjs} +76 -66
  100. package/dist/{next/NotificationCenter-CLMiEWUG.cjs.map → core/NotificationCenter-BjTSHg0M.cjs.map} +1 -1
  101. package/dist/core/{NotificationCenter-DgSWWT0G.js → NotificationCenter-Ca_Gegaf.js} +76 -66
  102. package/dist/{next/NotificationCenter-D3Eucn9z.js.map → core/NotificationCenter-Ca_Gegaf.js.map} +1 -1
  103. package/dist/core/NotificationCenter.cjs.js +1 -1
  104. package/dist/core/NotificationCenter.js +1 -1
  105. package/dist/core/{Pager-Dr2H_Q5L.js → Pager-B-mFsJVZ.js} +3 -3
  106. package/dist/core/{Pager-Dr2H_Q5L.js.map → Pager-B-mFsJVZ.js.map} +1 -1
  107. package/dist/core/{Pager-BWlXTFPR.cjs → Pager-B3Hy6QIt.cjs} +3 -3
  108. package/dist/core/{Pager-BWlXTFPR.cjs.map → Pager-B3Hy6QIt.cjs.map} +1 -1
  109. package/dist/core/Pager.cjs.js +1 -1
  110. package/dist/core/Pager.js +1 -1
  111. package/dist/core/{Select-bMjOWXRX.js → Select-BLhAAtFa.js} +2 -9
  112. package/dist/core/Select-BLhAAtFa.js.map +1 -0
  113. package/dist/core/{Select-C65ai0xO.cjs → Select-CnX90XU7.cjs} +2 -9
  114. package/dist/core/Select-CnX90XU7.cjs.map +1 -0
  115. package/dist/core/Select.cjs.js +1 -1
  116. package/dist/core/Select.js +1 -1
  117. package/dist/core/Sidebar-BoMGJwqC.cjs.map +1 -1
  118. package/dist/core/Sidebar-CnGBAT2_.js.map +1 -1
  119. package/dist/core/{Stepper-CxZGa2CS.js → Stepper-0lxM6e2v.js} +2 -10
  120. package/dist/core/Stepper-0lxM6e2v.js.map +1 -0
  121. package/dist/core/{Stepper-gvaKLuno.cjs → Stepper-BCjn0rYE.cjs} +2 -10
  122. package/dist/core/Stepper-BCjn0rYE.cjs.map +1 -0
  123. package/dist/core/Stepper.cjs.js +1 -1
  124. package/dist/core/Stepper.js +1 -1
  125. package/dist/core/Tabs-BaKDr0uF.js.map +1 -1
  126. package/dist/core/Tabs-C6lDM19i.cjs.map +1 -1
  127. package/dist/core/TagInput.cjs.js +1 -1
  128. package/dist/core/TagInput.js +1 -1
  129. package/dist/core/{Taginput-5LKYwPzy.js → Taginput-C_JJRoDF.js} +3 -3
  130. package/dist/core/{Taginput-5LKYwPzy.js.map → Taginput-C_JJRoDF.js.map} +1 -1
  131. package/dist/core/{Taginput-RYBBGWLK.cjs → Taginput-kqeTeVJY.cjs} +3 -3
  132. package/dist/core/{Taginput-RYBBGWLK.cjs.map → Taginput-kqeTeVJY.cjs.map} +1 -1
  133. package/dist/core/{TextArea-BAFMXw6Y.cjs → TextArea-BJGUr6r_.cjs} +2 -2
  134. package/dist/core/{TextArea-BAFMXw6Y.cjs.map → TextArea-BJGUr6r_.cjs.map} +1 -1
  135. package/dist/core/{TextArea-C2S64tIN.js → TextArea-CIdsUIzt.js} +2 -2
  136. package/dist/core/{TextArea-C2S64tIN.js.map → TextArea-CIdsUIzt.js.map} +1 -1
  137. package/dist/core/TextArea.cjs.js +1 -1
  138. package/dist/core/TextArea.js +1 -1
  139. package/dist/core/{TextInput-DQPZXEA2.js → TextInput-D38TZ4Pl.js} +2 -2
  140. package/dist/core/TextInput-D38TZ4Pl.js.map +1 -0
  141. package/dist/core/{TextInput-5Bpg7Tdt.cjs → TextInput-WY4O9Zya.cjs} +2 -2
  142. package/dist/core/TextInput-WY4O9Zya.cjs.map +1 -0
  143. package/dist/core/TextInput.cjs.js +1 -1
  144. package/dist/core/TextInput.js +1 -1
  145. package/dist/core/{ThemeContext-D_SPnedS.cjs → ThemeContext-D1AV88GN.cjs} +2 -1
  146. package/dist/core/ThemeContext-D1AV88GN.cjs.map +1 -0
  147. package/dist/core/{ThemeContext-DJ18CFaV.js → ThemeContext-DSYDwr2m.js} +2 -1
  148. package/dist/core/ThemeContext-DSYDwr2m.js.map +1 -0
  149. package/dist/core/ThemeProvider.cjs.js +1 -1
  150. package/dist/core/ThemeProvider.js +1 -1
  151. package/dist/core/{Tooltip-iUp73wB4.js → Tooltip-BzRqlOTz.js} +3 -5
  152. package/dist/core/Tooltip-BzRqlOTz.js.map +1 -0
  153. package/dist/core/{Tooltip-BzmV7ztl.cjs → Tooltip-DS7DSyij.cjs} +2 -4
  154. package/dist/core/Tooltip-DS7DSyij.cjs.map +1 -0
  155. package/dist/core/Tooltip.cjs.js +1 -1
  156. package/dist/core/Tooltip.js +1 -1
  157. package/dist/core/index.cjs.js +25 -25
  158. package/dist/core/index.js +25 -25
  159. package/dist/core/style.css +6701 -1913
  160. package/dist/next/{Accordion-CmbMyudL.cjs → Accordion-BCUMBFY6.cjs} +58 -52
  161. package/dist/next/Accordion-BCUMBFY6.cjs.map +1 -0
  162. package/dist/next/{Accordion-81qBJa4M.js → Accordion-yypKft_c.js} +58 -52
  163. package/dist/next/Accordion-yypKft_c.js.map +1 -0
  164. package/dist/next/Accordion.cjs.js +1 -1
  165. package/dist/next/Accordion.js +1 -1
  166. package/dist/next/{Avatar-96V7QHyt.js → Avatar-C227ps6T.js} +46 -46
  167. package/dist/next/{Avatar-96V7QHyt.js.map → Avatar-C227ps6T.js.map} +1 -1
  168. package/dist/next/{Avatar-hwM3F1Jw.cjs → Avatar-IjllaOdx.cjs} +46 -46
  169. package/dist/next/{Avatar-hwM3F1Jw.cjs.map → Avatar-IjllaOdx.cjs.map} +1 -1
  170. package/dist/next/Avatar.cjs.js +1 -1
  171. package/dist/next/Avatar.js +1 -1
  172. package/dist/next/{Badge-BG9cWEDv.js → Badge-C-JE6gYt.js} +31 -31
  173. package/dist/next/Badge-C-JE6gYt.js.map +1 -0
  174. package/dist/next/{Badge-DLSfi5vo.cjs → Badge-DdJsnD_G.cjs} +31 -31
  175. package/dist/next/Badge-DdJsnD_G.cjs.map +1 -0
  176. package/dist/next/Badge.cjs.js +1 -1
  177. package/dist/next/Badge.js +1 -1
  178. package/dist/next/{Breadcrumbs-IO2iNAjN.js → Breadcrumbs-_qTMSpvE.js} +38 -38
  179. package/dist/next/Breadcrumbs-_qTMSpvE.js.map +1 -0
  180. package/dist/next/{Breadcrumbs-veVO4yuY.cjs → Breadcrumbs-uPQIvIj-.cjs} +38 -38
  181. package/dist/next/Breadcrumbs-uPQIvIj-.cjs.map +1 -0
  182. package/dist/next/Breadcrumbs.cjs.js +1 -1
  183. package/dist/next/Breadcrumbs.js +1 -1
  184. package/dist/next/{Button-sIKQmn_c.cjs → Button-5qNmDKPi.cjs} +65 -63
  185. package/dist/next/Button-5qNmDKPi.cjs.map +1 -0
  186. package/dist/next/{Button-DN8rTQSp.js → Button-BF5Wp81D.js} +65 -63
  187. package/dist/next/Button-BF5Wp81D.js.map +1 -0
  188. package/dist/next/Button.cjs.js +1 -1
  189. package/dist/next/Button.js +1 -1
  190. package/dist/next/{Card-KFr31XTs.js → Card-CFJnp6sf.js} +72 -68
  191. package/dist/next/Card-CFJnp6sf.js.map +1 -0
  192. package/dist/next/{Card-CAH-CrbH.cjs → Card-DdLlnwFq.cjs} +72 -68
  193. package/dist/next/Card-DdLlnwFq.cjs.map +1 -0
  194. package/dist/next/Card.cjs.js +1 -1
  195. package/dist/next/Card.js +1 -1
  196. package/dist/next/CheckBox.cjs.js +1 -1
  197. package/dist/next/CheckBox.js +1 -1
  198. package/dist/next/{Checkbox-DXRmAtTt.cjs → Checkbox-BX2JIiMU.cjs} +44 -44
  199. package/dist/next/{Checkbox-DXRmAtTt.cjs.map → Checkbox-BX2JIiMU.cjs.map} +1 -1
  200. package/dist/next/{Checkbox-CU-XrZC7.js → Checkbox-CrK0JFu8.js} +44 -44
  201. package/dist/next/{Checkbox-CU-XrZC7.js.map → Checkbox-CrK0JFu8.js.map} +1 -1
  202. package/dist/next/{Chip-Qa_1km99.js → Chip-3QqdBOHX.js} +51 -51
  203. package/dist/next/Chip-3QqdBOHX.js.map +1 -0
  204. package/dist/next/{Chip-C7w9CTed.cjs → Chip-BUVPtK2j.cjs} +51 -51
  205. package/dist/next/Chip-BUVPtK2j.cjs.map +1 -0
  206. package/dist/next/Chip.cjs.js +1 -1
  207. package/dist/next/Chip.js +1 -1
  208. package/dist/next/{CircularProgress-C3vHw9Vz.js → CircularProgress-C7Zr-dLf.js} +47 -47
  209. package/dist/next/{CircularProgress-C3vHw9Vz.js.map → CircularProgress-C7Zr-dLf.js.map} +1 -1
  210. package/dist/next/{CircularProgress-B0pzDdsh.cjs → CircularProgress-C7kuOtnG.cjs} +47 -47
  211. package/dist/next/{CircularProgress-B0pzDdsh.cjs.map → CircularProgress-C7kuOtnG.cjs.map} +1 -1
  212. package/dist/next/CircularProgress.cjs.js +1 -1
  213. package/dist/next/CircularProgress.js +1 -1
  214. package/dist/next/{ColorPicker-CDHrECBi.cjs → ColorPicker-C3dyO_vv.cjs} +42 -40
  215. package/dist/next/{ColorPicker-CDHrECBi.cjs.map → ColorPicker-C3dyO_vv.cjs.map} +1 -1
  216. package/dist/next/{ColorPicker-4Fw0fwbk.js → ColorPicker-DgLJQRJu.js} +42 -40
  217. package/dist/next/{ColorPicker-4Fw0fwbk.js.map → ColorPicker-DgLJQRJu.js.map} +1 -1
  218. package/dist/next/ColorPicker.cjs.js +1 -1
  219. package/dist/next/ColorPicker.js +1 -1
  220. package/dist/next/{CommandPalette-DHTJFymB.cjs → CommandPalette-CzwGz-Py.cjs} +42 -42
  221. package/dist/next/{CommandPalette-DHTJFymB.cjs.map → CommandPalette-CzwGz-Py.cjs.map} +1 -1
  222. package/dist/next/{CommandPalette-D6ZeGNWl.js → CommandPalette-D-VgzCDu.js} +42 -42
  223. package/dist/next/{CommandPalette-D6ZeGNWl.js.map → CommandPalette-D-VgzCDu.js.map} +1 -1
  224. package/dist/next/CommandPalette.cjs.js +1 -1
  225. package/dist/next/CommandPalette.js +1 -1
  226. package/dist/next/{DataTable-B0-pq0MG.cjs → DataTable-CEtAY0ni.cjs} +41 -41
  227. package/dist/next/{DataTable-B0-pq0MG.cjs.map → DataTable-CEtAY0ni.cjs.map} +1 -1
  228. package/dist/next/{DataTable-D17xbmiu.js → DataTable-mI4d3Caj.js} +41 -41
  229. package/dist/next/{DataTable-D17xbmiu.js.map → DataTable-mI4d3Caj.js.map} +1 -1
  230. package/dist/next/DataTable.cjs.js +1 -1
  231. package/dist/next/DataTable.js +1 -1
  232. package/dist/next/{DateTimePicker-BJnnZBgd.js → DateTimePicker-A94kVkvi.js} +54 -33
  233. package/dist/next/DateTimePicker-A94kVkvi.js.map +1 -0
  234. package/dist/next/{DateTimePicker-DivMR4Oe.cjs → DateTimePicker-D96GYbVW.cjs} +54 -33
  235. package/dist/next/DateTimePicker-D96GYbVW.cjs.map +1 -0
  236. package/dist/next/DateTimePicker.cjs.js +1 -1
  237. package/dist/next/DateTimePicker.js +1 -1
  238. package/dist/next/{Divider-Bew1Qx5f.cjs → Divider-BMuNHQ9J.cjs} +37 -16
  239. package/dist/next/{Divider-Bew1Qx5f.cjs.map → Divider-BMuNHQ9J.cjs.map} +1 -1
  240. package/dist/next/{Divider-BGf_EQkK.js → Divider-DjoDcCAu.js} +37 -16
  241. package/dist/next/{Divider-BGf_EQkK.js.map → Divider-DjoDcCAu.js.map} +1 -1
  242. package/dist/next/Divider.cjs.js +1 -1
  243. package/dist/next/Divider.js +1 -1
  244. package/dist/next/{Dropdown-BvUfz8G7.js → Dropdown-BrJnoyCw.js} +23 -21
  245. package/dist/next/Dropdown-BrJnoyCw.js.map +1 -0
  246. package/dist/next/{Dropdown-BbdsK4H6.cjs → Dropdown-DU7oZ_ZP.cjs} +23 -21
  247. package/dist/next/Dropdown-DU7oZ_ZP.cjs.map +1 -0
  248. package/dist/next/Dropdown.cjs.js +1 -1
  249. package/dist/next/Dropdown.js +1 -1
  250. package/dist/next/{EmptyState-DMIL8ecB.cjs → EmptyState-DULVBTGn.cjs} +38 -38
  251. package/dist/next/{EmptyState-DMIL8ecB.cjs.map → EmptyState-DULVBTGn.cjs.map} +1 -1
  252. package/dist/next/{EmptyState-CNii02MI.js → EmptyState-JzLtobCN.js} +38 -38
  253. package/dist/next/{EmptyState-CNii02MI.js.map → EmptyState-JzLtobCN.js.map} +1 -1
  254. package/dist/next/EmptyState.cjs.js +1 -1
  255. package/dist/next/EmptyState.js +1 -1
  256. package/dist/next/{FileUpload-BxmKK5BE.js → FileUpload-Bp7Pbj8m.js} +55 -53
  257. package/dist/next/{FileUpload-BxmKK5BE.js.map → FileUpload-Bp7Pbj8m.js.map} +1 -1
  258. package/dist/next/{FileUpload-C95H9D4N.cjs → FileUpload-CUFWjI06.cjs} +55 -53
  259. package/dist/next/{FileUpload-C95H9D4N.cjs.map → FileUpload-CUFWjI06.cjs.map} +1 -1
  260. package/dist/next/FileUpload.cjs.js +1 -1
  261. package/dist/next/FileUpload.js +1 -1
  262. package/dist/next/{Footer-DhBE3lNY.js → Footer-BfzKhBAD.js} +61 -49
  263. package/dist/next/Footer-BfzKhBAD.js.map +1 -0
  264. package/dist/next/{Footer-C98DQNB3.cjs → Footer-Cd9jSPv8.cjs} +61 -49
  265. package/dist/next/Footer-Cd9jSPv8.cjs.map +1 -0
  266. package/dist/next/Footer.cjs.js +1 -1
  267. package/dist/next/Footer.js +1 -1
  268. package/dist/next/{FormGroup-DXvH4AmB.cjs → FormGroup-DNvdijpi.cjs} +39 -37
  269. package/dist/next/{FormGroup-DXvH4AmB.cjs.map → FormGroup-DNvdijpi.cjs.map} +1 -1
  270. package/dist/next/{FormGroup-DSDuqKWJ.js → FormGroup-DUVdekj1.js} +39 -37
  271. package/dist/next/{FormGroup-DSDuqKWJ.js.map → FormGroup-DUVdekj1.js.map} +1 -1
  272. package/dist/next/FormGroup.cjs.js +1 -1
  273. package/dist/next/FormGroup.js +1 -1
  274. package/dist/next/{IconButton-C3WpabtT.cjs → IconButton-VSz8qAIg.cjs} +43 -51
  275. package/dist/next/{IconButton-C3WpabtT.cjs.map → IconButton-VSz8qAIg.cjs.map} +1 -1
  276. package/dist/next/{IconButton-B_j-S10f.js → IconButton-qQljwBB2.js} +43 -51
  277. package/dist/next/{IconButton-B_j-S10f.js.map → IconButton-qQljwBB2.js.map} +1 -1
  278. package/dist/next/IconButton.cjs.js +1 -1
  279. package/dist/next/IconButton.js +1 -1
  280. package/dist/next/{MarkdownRenderer-ByOcqHm_.cjs → MarkdownRenderer-BrVUEjkX.cjs} +13 -12
  281. package/dist/next/MarkdownRenderer-BrVUEjkX.cjs.map +1 -0
  282. package/dist/next/{MarkdownRenderer-r0prlhyN.js → MarkdownRenderer-CTF0Vhf5.js} +13 -12
  283. package/dist/next/MarkdownRenderer-CTF0Vhf5.js.map +1 -0
  284. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  285. package/dist/next/MarkdownRenderer.js +1 -1
  286. package/dist/next/MessagePopUp.cjs.js +1 -1
  287. package/dist/next/MessagePopUp.js +1 -1
  288. package/dist/next/{MessagePopup-CcM5nRAG.cjs → MessagePopup-DB8VBIft.cjs} +20 -18
  289. package/dist/next/MessagePopup-DB8VBIft.cjs.map +1 -0
  290. package/dist/next/{MessagePopup-BFKRiymY.js → MessagePopup-DCN-w-NA.js} +20 -18
  291. package/dist/next/MessagePopup-DCN-w-NA.js.map +1 -0
  292. package/dist/next/{MetricBox-CM85hhlk.js → MetricBox-CN8cgCgr.js} +63 -63
  293. package/dist/next/{MetricBox-CM85hhlk.js.map → MetricBox-CN8cgCgr.js.map} +1 -1
  294. package/dist/next/{MetricBox-B9AG8u6p.cjs → MetricBox-CX3SSwgU.cjs} +63 -63
  295. package/dist/next/{MetricBox-B9AG8u6p.cjs.map → MetricBox-CX3SSwgU.cjs.map} +1 -1
  296. package/dist/next/MetricBox.cjs.js +1 -1
  297. package/dist/next/MetricBox.js +1 -1
  298. package/dist/next/{Modal-DIZf7sgL.js → Modal-BD9sPXIX.js} +17 -17
  299. package/dist/next/Modal-BD9sPXIX.js.map +1 -0
  300. package/dist/next/{Modal-hk84_P6s.cjs → Modal-BVjarg0E.cjs} +17 -17
  301. package/dist/next/Modal-BVjarg0E.cjs.map +1 -0
  302. package/dist/next/Modal.cjs.js +1 -1
  303. package/dist/next/Modal.js +1 -1
  304. package/dist/next/{NavBar-yvxI6w8C.cjs → NavBar-DT_k688s.cjs} +40 -39
  305. package/dist/next/NavBar-DT_k688s.cjs.map +1 -0
  306. package/dist/next/{NavBar-kgNrVtKB.js → NavBar-Dfljduy2.js} +40 -39
  307. package/dist/next/NavBar-Dfljduy2.js.map +1 -0
  308. package/dist/next/NavBar.cjs.js +1 -1
  309. package/dist/next/NavBar.js +1 -1
  310. package/dist/next/{NotificationCenter-CLMiEWUG.cjs → NotificationCenter-B2y-QbtY.cjs} +126 -105
  311. package/dist/{core/NotificationCenter-c99_Xq4J.cjs.map → next/NotificationCenter-B2y-QbtY.cjs.map} +1 -1
  312. package/dist/next/{NotificationCenter-D3Eucn9z.js → NotificationCenter-C99EfjxX.js} +126 -105
  313. package/dist/{core/NotificationCenter-DgSWWT0G.js.map → next/NotificationCenter-C99EfjxX.js.map} +1 -1
  314. package/dist/next/NotificationCenter.cjs.js +1 -1
  315. package/dist/next/NotificationCenter.js +1 -1
  316. package/dist/next/{Pager-BpTg_723.cjs → Pager-CB55NJSy.cjs} +8 -8
  317. package/dist/next/{Pager-BpTg_723.cjs.map → Pager-CB55NJSy.cjs.map} +1 -1
  318. package/dist/next/{Pager-nKqhRoht.js → Pager-SZIzesuj.js} +8 -8
  319. package/dist/next/{Pager-nKqhRoht.js.map → Pager-SZIzesuj.js.map} +1 -1
  320. package/dist/next/Pager.cjs.js +1 -1
  321. package/dist/next/Pager.js +1 -1
  322. package/dist/next/{PopOver-BBFa0Sr0.js → PopOver-BbAFKptt.js} +40 -40
  323. package/dist/next/{PopOver-BBFa0Sr0.js.map → PopOver-BbAFKptt.js.map} +1 -1
  324. package/dist/next/{PopOver-DoS-aqXT.cjs → PopOver-iFFxszSk.cjs} +40 -40
  325. package/dist/next/{PopOver-DoS-aqXT.cjs.map → PopOver-iFFxszSk.cjs.map} +1 -1
  326. package/dist/next/PopOver.cjs.js +1 -1
  327. package/dist/next/PopOver.js +1 -1
  328. package/dist/next/{ProgressBar-BIojCvdG.js → ProgressBar-Csn4f4-c.js} +43 -43
  329. package/dist/next/{ProgressBar-BIojCvdG.js.map → ProgressBar-Csn4f4-c.js.map} +1 -1
  330. package/dist/next/{ProgressBar-DyyIhH1C.cjs → ProgressBar-nXC_4OnG.cjs} +43 -43
  331. package/dist/next/{ProgressBar-DyyIhH1C.cjs.map → ProgressBar-nXC_4OnG.cjs.map} +1 -1
  332. package/dist/next/ProgressBar.cjs.js +1 -1
  333. package/dist/next/ProgressBar.js +1 -1
  334. package/dist/next/{RadioButton-V4J4u58H.cjs → RadioButton-6cb-ZRjy.cjs} +41 -41
  335. package/dist/next/{RadioButton-V4J4u58H.cjs.map → RadioButton-6cb-ZRjy.cjs.map} +1 -1
  336. package/dist/next/{RadioButton-B2yQz2_q.js → RadioButton-8E5GjzZu.js} +41 -41
  337. package/dist/next/{RadioButton-B2yQz2_q.js.map → RadioButton-8E5GjzZu.js.map} +1 -1
  338. package/dist/next/RadioButton.cjs.js +1 -1
  339. package/dist/next/RadioButton.js +1 -1
  340. package/dist/next/{Rating-C1Lb-VqV.cjs → Rating-Cpu_QzeB.cjs} +35 -35
  341. package/dist/next/{Rating-C1Lb-VqV.cjs.map → Rating-Cpu_QzeB.cjs.map} +1 -1
  342. package/dist/next/{Rating-DQsfA43l.js → Rating-DTMNrx0D.js} +35 -35
  343. package/dist/next/{Rating-DQsfA43l.js.map → Rating-DTMNrx0D.js.map} +1 -1
  344. package/dist/next/Rating.cjs.js +1 -1
  345. package/dist/next/Rating.js +1 -1
  346. package/dist/next/{STT-BygzgjFx.cjs → STT-CGgFuLw2.cjs} +14 -14
  347. package/dist/next/{STT-BygzgjFx.cjs.map → STT-CGgFuLw2.cjs.map} +1 -1
  348. package/dist/next/{STT-DKdM1tbk.js → STT-D-gwtml7.js} +14 -14
  349. package/dist/next/{STT-DKdM1tbk.js.map → STT-D-gwtml7.js.map} +1 -1
  350. package/dist/next/ScrollToTop.cjs.js +1 -1
  351. package/dist/next/ScrollToTop.js +1 -1
  352. package/dist/next/{Select-D4QdlQ6W.cjs → Select-DcMXhPmp.cjs} +51 -63
  353. package/dist/next/Select-DcMXhPmp.cjs.map +1 -0
  354. package/dist/next/{Select-B3JaOW2f.js → Select-rZ9u_rNi.js} +51 -63
  355. package/dist/next/Select-rZ9u_rNi.js.map +1 -0
  356. package/dist/next/Select.cjs.js +1 -1
  357. package/dist/next/Select.js +1 -1
  358. package/dist/next/{Sidebar-CbQ4ssz-.cjs → Sidebar-D2kCGLTC.cjs} +54 -74
  359. package/dist/next/Sidebar-D2kCGLTC.cjs.map +1 -0
  360. package/dist/next/{Sidebar-C6NbdjWV.js → Sidebar-DAGCv1cb.js} +54 -74
  361. package/dist/next/Sidebar-DAGCv1cb.js.map +1 -0
  362. package/dist/next/Sidebar.cjs.js +1 -1
  363. package/dist/next/Sidebar.js +1 -1
  364. package/dist/next/{Skeleton-BCbvshNz.cjs → Skeleton-BfebLfbb.cjs} +26 -26
  365. package/dist/next/{Skeleton-BCbvshNz.cjs.map → Skeleton-BfebLfbb.cjs.map} +1 -1
  366. package/dist/next/{Skeleton-D8Jqmncm.js → Skeleton-cWCNDrrp.js} +26 -26
  367. package/dist/next/{Skeleton-D8Jqmncm.js.map → Skeleton-cWCNDrrp.js.map} +1 -1
  368. package/dist/next/Skeleton.cjs.js +1 -1
  369. package/dist/next/Skeleton.js +1 -1
  370. package/dist/next/{Slider-q_hjFuqb.js → Slider-Bk0a8gqL.js} +43 -43
  371. package/dist/next/{Slider-q_hjFuqb.js.map → Slider-Bk0a8gqL.js.map} +1 -1
  372. package/dist/next/{Slider-BLoEjvbT.cjs → Slider-CuzYVS0J.cjs} +43 -43
  373. package/dist/next/{Slider-BLoEjvbT.cjs.map → Slider-CuzYVS0J.cjs.map} +1 -1
  374. package/dist/next/Slider.cjs.js +1 -1
  375. package/dist/next/Slider.js +1 -1
  376. package/dist/next/{Spinner-CagtJg0l.js → Spinner-BntSsGWn.js} +44 -34
  377. package/dist/next/{Spinner-CagtJg0l.js.map → Spinner-BntSsGWn.js.map} +1 -1
  378. package/dist/next/{Spinner-Bk_yQWCK.cjs → Spinner-CFah_Wyg.cjs} +44 -34
  379. package/dist/next/{Spinner-Bk_yQWCK.cjs.map → Spinner-CFah_Wyg.cjs.map} +1 -1
  380. package/dist/next/Spinner.cjs.js +1 -1
  381. package/dist/next/Spinner.js +1 -1
  382. package/dist/next/{Stepper-b-0SYFcE.js → Stepper-59931F6-.js} +46 -60
  383. package/dist/next/{Stepper-b-0SYFcE.js.map → Stepper-59931F6-.js.map} +1 -1
  384. package/dist/next/{Stepper-CWXKcAae.cjs → Stepper-YxxnY0y2.cjs} +46 -60
  385. package/dist/next/{Stepper-CWXKcAae.cjs.map → Stepper-YxxnY0y2.cjs.map} +1 -1
  386. package/dist/next/Stepper.cjs.js +1 -1
  387. package/dist/next/Stepper.js +1 -1
  388. package/dist/next/{Tabs-Dom5sh_U.cjs → Tabs-0GBOWBIt.cjs} +44 -44
  389. package/dist/next/Tabs-0GBOWBIt.cjs.map +1 -0
  390. package/dist/next/{Tabs-B94nrX75.js → Tabs-Dl389scs.js} +44 -44
  391. package/dist/next/Tabs-Dl389scs.js.map +1 -0
  392. package/dist/next/Tabs.cjs.js +1 -1
  393. package/dist/next/Tabs.js +1 -1
  394. package/dist/next/{TagInput-C8hyzJ7f.js → TagInput-Bjt_zbHy.js} +55 -55
  395. package/dist/next/{TagInput-C8hyzJ7f.js.map → TagInput-Bjt_zbHy.js.map} +1 -1
  396. package/dist/next/{TagInput-B6PAcCaw.cjs → TagInput-Jswp7Yn5.cjs} +55 -55
  397. package/dist/next/{TagInput-B6PAcCaw.cjs.map → TagInput-Jswp7Yn5.cjs.map} +1 -1
  398. package/dist/next/TagInput.cjs.js +1 -1
  399. package/dist/next/TagInput.js +1 -1
  400. package/dist/next/{TextArea-Cn2q5KhJ.cjs → TextArea-9AvILSCY.cjs} +37 -37
  401. package/dist/next/{TextArea-Cn2q5KhJ.cjs.map → TextArea-9AvILSCY.cjs.map} +1 -1
  402. package/dist/next/{TextArea-C9VGM6pu.js → TextArea-xg4t0Lzo.js} +37 -37
  403. package/dist/next/{TextArea-C9VGM6pu.js.map → TextArea-xg4t0Lzo.js.map} +1 -1
  404. package/dist/next/TextArea.cjs.js +1 -1
  405. package/dist/next/TextArea.js +1 -1
  406. package/dist/next/{TextInput-CUBY6wCB.cjs → TextInput-Cr0WjibW.cjs} +37 -58
  407. package/dist/next/TextInput-Cr0WjibW.cjs.map +1 -0
  408. package/dist/next/{TextInput-Zywm-WEW.js → TextInput-D9dzooMU.js} +37 -58
  409. package/dist/next/TextInput-D9dzooMU.js.map +1 -0
  410. package/dist/next/TextInput.cjs.js +1 -1
  411. package/dist/next/TextInput.js +1 -1
  412. package/dist/next/{ThemeContext-DJ18CFaV.js → ThemeContext-DSYDwr2m.js} +2 -1
  413. package/dist/next/ThemeContext-DSYDwr2m.js.map +1 -0
  414. package/dist/next/{ThemeContext-Iy-HHefR.cjs → ThemeContext-npFEznyu.cjs} +2 -1
  415. package/dist/next/ThemeContext-npFEznyu.cjs.map +1 -0
  416. package/dist/next/ThemeProvider.cjs.js +1 -1
  417. package/dist/next/ThemeProvider.js +1 -1
  418. package/dist/next/{Timeline-BWx1ROuN.cjs → Timeline-Dju3pHLR.cjs} +32 -47
  419. package/dist/next/{Timeline-BWx1ROuN.cjs.map → Timeline-Dju3pHLR.cjs.map} +1 -1
  420. package/dist/next/{Timeline-CQxYIXCz.js → Timeline-KozBssou.js} +32 -47
  421. package/dist/next/{Timeline-CQxYIXCz.js.map → Timeline-KozBssou.js.map} +1 -1
  422. package/dist/next/Timeline.cjs.js +1 -1
  423. package/dist/next/Timeline.js +1 -1
  424. package/dist/next/{Toggle-Cs4ail9L.cjs → Toggle-BQG-5q5G.cjs} +32 -32
  425. package/dist/next/{Toggle-Cs4ail9L.cjs.map → Toggle-BQG-5q5G.cjs.map} +1 -1
  426. package/dist/next/{Toggle-Br6GTHrq.js → Toggle-Bb5d1QLE.js} +32 -32
  427. package/dist/next/{Toggle-Br6GTHrq.js.map → Toggle-Bb5d1QLE.js.map} +1 -1
  428. package/dist/next/Toggle.cjs.js +1 -1
  429. package/dist/next/Toggle.js +1 -1
  430. package/dist/next/{Toolbar-DgiSHpuZ.js → Toolbar-CHnjBixI.js} +35 -35
  431. package/dist/next/{Toolbar-DgiSHpuZ.js.map → Toolbar-CHnjBixI.js.map} +1 -1
  432. package/dist/next/{Toolbar-CyjJbHtq.cjs → Toolbar-Dxscfy5X.cjs} +35 -35
  433. package/dist/next/{Toolbar-CyjJbHtq.cjs.map → Toolbar-Dxscfy5X.cjs.map} +1 -1
  434. package/dist/next/Toolbar.cjs.js +1 -1
  435. package/dist/next/Toolbar.js +1 -1
  436. package/dist/next/{Tooltip-D5_lSH1z.js → Tooltip-2XEuDIAw.js} +41 -43
  437. package/dist/next/Tooltip-2XEuDIAw.js.map +1 -0
  438. package/dist/next/{Tooltip-1m3gCuRE.cjs → Tooltip-FCqrcC7D.cjs} +40 -42
  439. package/dist/next/Tooltip-FCqrcC7D.cjs.map +1 -0
  440. package/dist/next/Tooltip.cjs.js +1 -1
  441. package/dist/next/Tooltip.js +1 -1
  442. package/dist/next/index.cjs.js +47 -47
  443. package/dist/next/index.js +47 -47
  444. package/dist/next/style.css +13026 -8293
  445. package/dist/tsconfig.build.tsbuildinfo +1 -1
  446. package/dist/types/components/Accordion/AccordionBase.d.ts.map +1 -1
  447. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  448. package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
  449. package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
  450. package/dist/types/components/Button/core/Button.d.ts +1 -2
  451. package/dist/types/components/Button/core/Button.d.ts.map +1 -1
  452. package/dist/types/components/Button/next/Button.d.ts +1 -2
  453. package/dist/types/components/Button/next/Button.d.ts.map +1 -1
  454. package/dist/types/components/Card/Card.types.d.ts +27 -6
  455. package/dist/types/components/Card/Card.types.d.ts.map +1 -1
  456. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  457. package/dist/types/components/Chip/ChipBase.d.ts.map +1 -1
  458. package/dist/types/components/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
  459. package/dist/types/components/Divider/Divider.types.d.ts.map +1 -1
  460. package/dist/types/components/Dropdown/Dropdown.types.d.ts +4 -1
  461. package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  462. package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
  463. package/dist/types/components/EmptyState/EmptyState.types.d.ts +2 -1
  464. package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
  465. package/dist/types/components/FileUpload/FileUpload.types.d.ts +8 -4
  466. package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
  467. package/dist/types/components/Footer/Footer.types.d.ts +33 -11
  468. package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
  469. package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
  470. package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
  471. package/dist/types/components/IconButton/core/IconButton.d.ts +1 -2
  472. package/dist/types/components/IconButton/core/IconButton.d.ts.map +1 -1
  473. package/dist/types/components/IconButton/next/IconButton.d.ts +2 -3
  474. package/dist/types/components/IconButton/next/IconButton.d.ts.map +1 -1
  475. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  476. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts +8 -2
  477. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts.map +1 -1
  478. package/dist/types/components/MessagePopUp/core/MessagePopup.d.ts.map +1 -1
  479. package/dist/types/components/Modal/Modal.types.d.ts +4 -1
  480. package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
  481. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +4 -2
  482. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
  483. package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
  484. package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
  485. package/dist/types/components/Pager/Pager.types.d.ts +4 -2
  486. package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
  487. package/dist/types/components/Select/Select.types.d.ts +7 -0
  488. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  489. package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
  490. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +1 -8
  491. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
  492. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +1 -8
  493. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts.map +1 -1
  494. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  495. package/dist/types/components/Sidebar/next/Sidebar.d.ts.map +1 -1
  496. package/dist/types/components/Stepper/Stepper.types.d.ts +2 -1
  497. package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
  498. package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
  499. package/dist/types/components/Tabs/Tabs.types.d.ts +2 -0
  500. package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  501. package/dist/types/components/TagInput/Taginput.types.d.ts +4 -2
  502. package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
  503. package/dist/types/components/TextInput/TextInput.types.d.ts +5 -0
  504. package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
  505. package/dist/types/components/TextInput/TextInputBase.d.ts +2 -5
  506. package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
  507. package/dist/types/components/Toolbar/Toolbar.types.d.ts +2 -1
  508. package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
  509. package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
  510. package/dist/types/context/ThemeContext.d.ts.map +1 -1
  511. package/package.json +13 -4
  512. package/dist/core/Accordion-CY5BCoA7.js.map +0 -1
  513. package/dist/core/Accordion-D6hxjkE1.cjs.map +0 -1
  514. package/dist/core/Breadcrumbs-BulpkVaU.js.map +0 -1
  515. package/dist/core/Breadcrumbs-hKtLDMrC.cjs.map +0 -1
  516. package/dist/core/Button-CD1ETVvS.cjs.map +0 -1
  517. package/dist/core/Button-sz60qyTn.js.map +0 -1
  518. package/dist/core/Card-Bagax-bx.js.map +0 -1
  519. package/dist/core/Card-DtHJdWNq.cjs.map +0 -1
  520. package/dist/core/Chip-C8spwPgH.cjs.map +0 -1
  521. package/dist/core/Chip-DxwLK-G6.js.map +0 -1
  522. package/dist/core/DateTimePicker-Cq_QZBV5.js.map +0 -1
  523. package/dist/core/DateTimePicker-DU-vjgee.cjs.map +0 -1
  524. package/dist/core/Dropdown-Dlo--tIl.cjs.map +0 -1
  525. package/dist/core/Dropdown-GA_yvFVS.js.map +0 -1
  526. package/dist/core/FileUpload-DJ1wI_Bm.js.map +0 -1
  527. package/dist/core/FileUpload-aqWEEHIW.cjs.map +0 -1
  528. package/dist/core/Footer-9x3F5gZx.js.map +0 -1
  529. package/dist/core/Footer-VpViLKN_.cjs.map +0 -1
  530. package/dist/core/IconButton-Bjjlbqiq.cjs.map +0 -1
  531. package/dist/core/IconButton-DgfUCfo9.js.map +0 -1
  532. package/dist/core/MarkdownRenderer-COnLzf0t.js.map +0 -1
  533. package/dist/core/MarkdownRenderer-OUEnVOLG.cjs.map +0 -1
  534. package/dist/core/MessagePopup-D2nlhTvG.cjs.map +0 -1
  535. package/dist/core/MessagePopup-eNK7XvUn.js.map +0 -1
  536. package/dist/core/Modal-B7IqleCB.cjs.map +0 -1
  537. package/dist/core/Modal-Cy0AsPTV.js.map +0 -1
  538. package/dist/core/NavBar-CBC9YPkH.js.map +0 -1
  539. package/dist/core/NavBar-DUNxiip6.cjs.map +0 -1
  540. package/dist/core/Select-C65ai0xO.cjs.map +0 -1
  541. package/dist/core/Select-bMjOWXRX.js.map +0 -1
  542. package/dist/core/Stepper-CxZGa2CS.js.map +0 -1
  543. package/dist/core/Stepper-gvaKLuno.cjs.map +0 -1
  544. package/dist/core/TextInput-5Bpg7Tdt.cjs.map +0 -1
  545. package/dist/core/TextInput-DQPZXEA2.js.map +0 -1
  546. package/dist/core/ThemeContext-DJ18CFaV.js.map +0 -1
  547. package/dist/core/ThemeContext-D_SPnedS.cjs.map +0 -1
  548. package/dist/core/Tooltip-BzmV7ztl.cjs.map +0 -1
  549. package/dist/core/Tooltip-iUp73wB4.js.map +0 -1
  550. package/dist/next/Accordion-81qBJa4M.js.map +0 -1
  551. package/dist/next/Accordion-CmbMyudL.cjs.map +0 -1
  552. package/dist/next/Badge-BG9cWEDv.js.map +0 -1
  553. package/dist/next/Badge-DLSfi5vo.cjs.map +0 -1
  554. package/dist/next/Breadcrumbs-IO2iNAjN.js.map +0 -1
  555. package/dist/next/Breadcrumbs-veVO4yuY.cjs.map +0 -1
  556. package/dist/next/Button-DN8rTQSp.js.map +0 -1
  557. package/dist/next/Button-sIKQmn_c.cjs.map +0 -1
  558. package/dist/next/Card-CAH-CrbH.cjs.map +0 -1
  559. package/dist/next/Card-KFr31XTs.js.map +0 -1
  560. package/dist/next/Chip-C7w9CTed.cjs.map +0 -1
  561. package/dist/next/Chip-Qa_1km99.js.map +0 -1
  562. package/dist/next/DateTimePicker-BJnnZBgd.js.map +0 -1
  563. package/dist/next/DateTimePicker-DivMR4Oe.cjs.map +0 -1
  564. package/dist/next/Dropdown-BbdsK4H6.cjs.map +0 -1
  565. package/dist/next/Dropdown-BvUfz8G7.js.map +0 -1
  566. package/dist/next/Footer-C98DQNB3.cjs.map +0 -1
  567. package/dist/next/Footer-DhBE3lNY.js.map +0 -1
  568. package/dist/next/MarkdownRenderer-ByOcqHm_.cjs.map +0 -1
  569. package/dist/next/MarkdownRenderer-r0prlhyN.js.map +0 -1
  570. package/dist/next/MessagePopup-BFKRiymY.js.map +0 -1
  571. package/dist/next/MessagePopup-CcM5nRAG.cjs.map +0 -1
  572. package/dist/next/Modal-DIZf7sgL.js.map +0 -1
  573. package/dist/next/Modal-hk84_P6s.cjs.map +0 -1
  574. package/dist/next/NavBar-kgNrVtKB.js.map +0 -1
  575. package/dist/next/NavBar-yvxI6w8C.cjs.map +0 -1
  576. package/dist/next/Select-B3JaOW2f.js.map +0 -1
  577. package/dist/next/Select-D4QdlQ6W.cjs.map +0 -1
  578. package/dist/next/Sidebar-C6NbdjWV.js.map +0 -1
  579. package/dist/next/Sidebar-CbQ4ssz-.cjs.map +0 -1
  580. package/dist/next/Tabs-B94nrX75.js.map +0 -1
  581. package/dist/next/Tabs-Dom5sh_U.cjs.map +0 -1
  582. package/dist/next/TextInput-CUBY6wCB.cjs.map +0 -1
  583. package/dist/next/TextInput-Zywm-WEW.js.map +0 -1
  584. package/dist/next/ThemeContext-DJ18CFaV.js.map +0 -1
  585. package/dist/next/ThemeContext-Iy-HHefR.cjs.map +0 -1
  586. package/dist/next/Tooltip-1m3gCuRE.cjs.map +0 -1
  587. package/dist/next/Tooltip-D5_lSH1z.js.map +0 -1
  588. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts +0 -24
  589. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload-BxmKK5BE.js","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n theme=\"error\"\r\n size=\"xsmall\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["error","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","rejectedFiles"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload-Bp7Pbj8m.js","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["error","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","rejectedFiles"],"mappings":"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"}
@@ -4,10 +4,10 @@ const React = require("react");
4
4
  const classNames = require("./classNames-BcWMx052.cjs");
5
5
  const capitalize = require("./capitalize-DoV-nOmN.cjs");
6
6
  const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
7
- const Button = require("./Button-sIKQmn_c.cjs");
8
- const IconButton = require("./IconButton-C3WpabtT.cjs");
9
- const FormGroup = require("./FormGroup-DXvH4AmB.cjs");
10
- const ProgressBar = require("./ProgressBar-DyyIhH1C.cjs");
7
+ const Button = require("./Button-5qNmDKPi.cjs");
8
+ const IconButton = require("./IconButton-VSz8qAIg.cjs");
9
+ const FormGroup = require("./FormGroup-DNvdijpi.cjs");
10
+ const ProgressBar = require("./ProgressBar-nXC_4OnG.cjs");
11
11
  const FileIcon = (props) => /* @__PURE__ */ require$$2.jsxs(
12
12
  "svg",
13
13
  {
@@ -317,8 +317,8 @@ const BaseFileUpload = ({
317
317
  IconButton2,
318
318
  {
319
319
  icon: TrashIcon,
320
- theme: "error",
321
- size: "xsmall",
320
+ state: "error",
321
+ size: "small",
322
322
  type: "button",
323
323
  outline: true,
324
324
  "aria-label": `Remove ${name}`,
@@ -371,45 +371,46 @@ const BaseFileUpload = ({
371
371
  );
372
372
  };
373
373
  BaseFileUpload.displayName = "BaseFileUpload";
374
- const noScroll = "_noScroll_1nqi9_91";
375
- const errorMessage = "_errorMessage_1nqi9_92";
376
- const loadingContainer = "_loadingContainer_1nqi9_93";
377
- const hideScrollbar = "_hideScrollbar_1nqi9_85";
378
- const sr_only = "_sr_only_1nqi9_94";
379
- const fileUpload = "_fileUpload_1nqi9_540";
380
- const disabled = "_disabled_1nqi9_556";
381
- const uploadActions = "_uploadActions_1nqi9_572";
382
- const uploadControls = "_uploadControls_1nqi9_578";
383
- const uploadProgress = "_uploadProgress_1nqi9_585";
384
- const uploadButton = "_uploadButton_1nqi9_589";
385
- const removeButton = "_removeButton_1nqi9_592";
386
- const hiddenInput = "_hiddenInput_1nqi9_596";
387
- const fileList = "_fileList_1nqi9_599";
388
- const fileListItem = "_fileListItem_1nqi9_606";
389
- const rejectedFiles = "_rejectedFiles_1nqi9_615";
390
- const rejectedLabel = "_rejectedLabel_1nqi9_620";
391
- const rejectedList = "_rejectedList_1nqi9_624";
392
- const rejectedItem = "_rejectedItem_1nqi9_628";
393
- const roundNone = "_roundNone_1nqi9_632";
394
- const roundSmall = "_roundSmall_1nqi9_636";
395
- const roundMedium = "_roundMedium_1nqi9_640";
396
- const roundLarge = "_roundLarge_1nqi9_644";
397
- const roundFull = "_roundFull_1nqi9_648";
398
- const shadowNone = "_shadowNone_1nqi9_652";
399
- const shadowLight = "_shadowLight_1nqi9_656";
400
- const shadowMedium = "_shadowMedium_1nqi9_660";
401
- const shadowStrong = "_shadowStrong_1nqi9_664";
402
- const shadowIntense = "_shadowIntense_1nqi9_668";
403
- const primary = "_primary_1nqi9_672";
404
- const secondary = "_secondary_1nqi9_676";
405
- const tertiary = "_tertiary_1nqi9_680";
406
- const quaternary = "_quaternary_1nqi9_684";
407
- const clear = "_clear_1nqi9_688";
408
- const success = "_success_1nqi9_692";
409
- const error = "_error_1nqi9_92";
410
- const warning = "_warning_1nqi9_708";
411
- const spin = "_spin_1nqi9_1";
412
- const pulse = "_pulse_1nqi9_1";
374
+ const noScroll = "_noScroll_7a0r4_108";
375
+ const errorMessage = "_errorMessage_7a0r4_109";
376
+ const loadingContainer = "_loadingContainer_7a0r4_110";
377
+ const hideScrollbar = "_hideScrollbar_7a0r4_102";
378
+ const sr_only = "_sr_only_7a0r4_111";
379
+ const fileUpload = "_fileUpload_7a0r4_540";
380
+ const dragOver = "_dragOver_7a0r4_576";
381
+ const disabled = "_disabled_7a0r4_580";
382
+ const uploadActions = "_uploadActions_7a0r4_587";
383
+ const uploadControls = "_uploadControls_7a0r4_593";
384
+ const uploadProgress = "_uploadProgress_7a0r4_605";
385
+ const uploadButton = "_uploadButton_7a0r4_609";
386
+ const removeButton = "_removeButton_7a0r4_612";
387
+ const hiddenInput = "_hiddenInput_7a0r4_616";
388
+ const fileList = "_fileList_7a0r4_619";
389
+ const fileListItem = "_fileListItem_7a0r4_636";
390
+ const rejectedFiles = "_rejectedFiles_7a0r4_662";
391
+ const rejectedLabel = "_rejectedLabel_7a0r4_672";
392
+ const rejectedList = "_rejectedList_7a0r4_676";
393
+ const rejectedItem = "_rejectedItem_7a0r4_680";
394
+ const roundNone = "_roundNone_7a0r4_684";
395
+ const roundSmall = "_roundSmall_7a0r4_688";
396
+ const roundMedium = "_roundMedium_7a0r4_692";
397
+ const roundLarge = "_roundLarge_7a0r4_696";
398
+ const roundFull = "_roundFull_7a0r4_700";
399
+ const shadowNone = "_shadowNone_7a0r4_704";
400
+ const shadowLight = "_shadowLight_7a0r4_708";
401
+ const shadowMedium = "_shadowMedium_7a0r4_712";
402
+ const shadowStrong = "_shadowStrong_7a0r4_716";
403
+ const shadowIntense = "_shadowIntense_7a0r4_720";
404
+ const primary = "_primary_7a0r4_724";
405
+ const secondary = "_secondary_7a0r4_728";
406
+ const tertiary = "_tertiary_7a0r4_732";
407
+ const quaternary = "_quaternary_7a0r4_736";
408
+ const clear = "_clear_7a0r4_740";
409
+ const success = "_success_7a0r4_744";
410
+ const error = "_error_7a0r4_109";
411
+ const warning = "_warning_7a0r4_760";
412
+ const spin = "_spin_7a0r4_1";
413
+ const pulse = "_pulse_7a0r4_1";
413
414
  const styles = {
414
415
  noScroll,
415
416
  errorMessage,
@@ -417,6 +418,7 @@ const styles = {
417
418
  hideScrollbar,
418
419
  sr_only,
419
420
  fileUpload,
421
+ dragOver,
420
422
  disabled,
421
423
  uploadActions,
422
424
  uploadControls,
@@ -448,15 +450,15 @@ const styles = {
448
450
  success,
449
451
  error,
450
452
  warning,
451
- "fade-in": "_fade-in_1nqi9_1",
452
- "slide-up": "_slide-up_1nqi9_1",
453
- "spin-3d": "_spin-3d_1nqi9_1",
453
+ "fade-in": "_fade-in_7a0r4_1",
454
+ "slide-up": "_slide-up_7a0r4_1",
455
+ "spin-3d": "_spin-3d_7a0r4_1",
454
456
  spin,
455
457
  pulse,
456
- "fade-in-up": "_fade-in-up_1nqi9_1",
457
- "progress-grow": "_progress-grow_1nqi9_1",
458
- "indeterminate-move": "_indeterminate-move_1nqi9_1",
459
- "skeleton-loading": "_skeleton-loading_1nqi9_1"
458
+ "fade-in-up": "_fade-in-up_7a0r4_1",
459
+ "progress-grow": "_progress-grow_7a0r4_1",
460
+ "indeterminate-move": "_indeterminate-move_7a0r4_1",
461
+ "skeleton-loading": "_skeleton-loading_7a0r4_1"
460
462
  };
461
463
  const FileUpload = (props) => {
462
464
  return /* @__PURE__ */ require$$2.jsx(
@@ -472,4 +474,4 @@ const FileUpload = (props) => {
472
474
  );
473
475
  };
474
476
  exports.FileUpload = FileUpload;
475
- //# sourceMappingURL=FileUpload-C95H9D4N.cjs.map
477
+ //# sourceMappingURL=FileUpload-CUFWjI06.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload-C95H9D4N.cjs","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n theme=\"error\"\r\n size=\"xsmall\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["jsxs","jsx","error","getDefaultTheme","getDefaultRounding","getDefaultShadow","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","useState","rejectedFiles","useRef","useMemo","useEffect","combineClassNames","capitalize","Progressbar"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload-CUFWjI06.cjs","sources":["../../src/Icons/FileIcon.tsx","../../src/Icons/TrashIcon.tsx","../../src/components/FileUpload/FileUploadBase.tsx","../../src/components/FileUpload/next/FileUpload.tsx"],"sourcesContent":["const FileIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 20.5V6.5C3 5.67157 3.67157 5 4.5 5H14.2515C14.4106 5 14.5632 5.06321 14.6757 5.17574L17.8243 8.32426C17.9368 8.43679 18 8.5894 18 8.74853V20.5C18 21.3284 17.3284 22 16.5 22H4.5C3.67157 22 3 21.3284 3 20.5Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M14 5V8.4C14 8.73137 14.2686 9 14.6 9H18\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FileIcon;\r\n","const TrashIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n stroke-width=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9\"\r\n fill=\"currentColor\"\r\n ></path>\r\n <path\r\n d=\"M20 9L18.005 20.3463C17.8369 21.3026 17.0062 22 16.0353 22H7.96474C6.99379 22 6.1631 21.3026 5.99496 20.3463L4 9H20Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M21 6H15.375M3 6H8.625M8.625 6V4C8.625 2.89543 9.52043 2 10.625 2H13.375C14.4796 2 15.375 2.89543 15.375 4V6M8.625 6H15.375\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default TrashIcon;\r\n","import React, { useMemo, useRef, useState, useEffect } from \"react\";\r\nimport { BaseFileUploadProps } from \"./FileUpload.types\";\r\nimport { FileIcon, TrashIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseFileUpload: React.FC<BaseFileUploadProps> = ({\r\n label = \"Upload File\",\r\n description,\r\n error,\r\n required = false,\r\n theme = getDefaultTheme(),\r\n controlRounding = getDefaultRounding(),\r\n controlShadow = getDefaultShadow(),\r\n outline = false,\r\n outlineRounding = getDefaultRounding(),\r\n outlineShadow = getDefaultShadow(),\r\n state = \"\",\r\n multiple = false,\r\n maxFileSizeBytes = Infinity,\r\n allowedFileTypes = [],\r\n onSubmit,\r\n uploadProgress,\r\n \"data-testid\": testId = \"file-upload\",\r\n FormGroup,\r\n disabled = false,\r\n Button,\r\n IconButton,\r\n ProgressBar,\r\n classMap,\r\n}) => {\r\n const [fileNames, setFileNames] = useState<string[]>([]);\r\n const [files, setFiles] = useState<File[]>([]);\r\n const [rejectedFiles, setRejectedFiles] = useState<\r\n { name: string; reason: string }[]\r\n >([]);\r\n const [internalProgress, setInternalProgress] = useState<number>(0);\r\n const [uploading, setUploading] = useState(false);\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [uploadMessage, setUploadMessage] = useState<string | null>(null);\r\n const fileInput = useRef<HTMLInputElement | null>(null);\r\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\r\n\r\n const accept = useMemo(() => {\r\n if (!allowedFileTypes || allowedFileTypes.length === 0) return undefined;\r\n return allowedFileTypes.join(\",\");\r\n }, [allowedFileTypes]);\r\n\r\n const validateFiles = (newFiles: File[]) => {\r\n const valid: File[] = [];\r\n const rejected: { name: string; reason: string }[] = [];\r\n\r\n newFiles.forEach((file) => {\r\n const isSizeOk = file.size <= maxFileSizeBytes;\r\n const ext = file.name.includes(\".\")\r\n ? \".\" + file.name.split(\".\").pop()!.toLowerCase()\r\n : \"\";\r\n const typeAllowed =\r\n allowedFileTypes.length === 0 ||\r\n allowedFileTypes.includes(file.type) ||\r\n (ext && allowedFileTypes.map((t) => t.toLowerCase()).includes(ext));\r\n\r\n if (isSizeOk && typeAllowed) {\r\n valid.push(file);\r\n } else {\r\n rejected.push({\r\n name: file.name,\r\n reason: !isSizeOk\r\n ? `Exceeds size limit (${(file.size / 1024 / 1024).toFixed(2)}MB)`\r\n : `Invalid type (${file.type || ext || \"unknown\"})`,\r\n });\r\n }\r\n });\r\n\r\n return { valid, rejected };\r\n };\r\n\r\n const truncate = (s: string) => (s.length > 30 ? s.slice(0, 27) + \"...\" : s);\r\n\r\n const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const selected = e.target.files;\r\n if (!selected || selected.length === 0) return;\r\n\r\n const { valid, rejected } = validateFiles(Array.from(selected));\r\n const updatedFiles = multiple ? [...files, ...valid] : valid;\r\n\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n setRejectedFiles(rejected);\r\n\r\n if (fileInput.current) fileInput.current.value = \"\";\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n const updatedFiles = files.filter((_, i) => i !== index);\r\n setFiles(updatedFiles);\r\n setFileNames(updatedFiles.map((f) => truncate(f.name)));\r\n };\r\n\r\n const getButtonLabel = () => {\r\n if (fileNames.length > 0) return multiple ? \"Add Files\" : \"Select New\";\r\n return \"Choose File\";\r\n };\r\n\r\n const handleDragOver = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(true);\r\n };\r\n\r\n const handleDragLeave = () => {\r\n setIsDragging(false);\r\n };\r\n\r\n const handleDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n setIsDragging(false);\r\n const droppedFiles = e.dataTransfer.files;\r\n if (droppedFiles.length > 0) {\r\n handleFileChange({\r\n target: { files: droppedFiles },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n if (!files.length || uploading) return;\r\n setUploading(true);\r\n setInternalProgress(0);\r\n setUploadMessage(null);\r\n\r\n try {\r\n if (uploadProgress === undefined) {\r\n intervalRef.current = setInterval(() => {\r\n setInternalProgress((prev) => {\r\n if (prev >= 100) {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n return 100;\r\n }\r\n return prev + 10;\r\n });\r\n }, 100);\r\n }\r\n\r\n await Promise.resolve(onSubmit?.(files));\r\n setUploadMessage(\"Upload successful.\");\r\n } catch {\r\n setUploadMessage(\"Upload failed. Please try again.\");\r\n } finally {\r\n if (intervalRef.current) {\r\n if (uploadProgress === undefined) setInternalProgress(100);\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n setTimeout(() => setUploading(false), 300);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intervalRef.current) clearInterval(intervalRef.current);\r\n };\r\n }, []);\r\n\r\n const containerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.fileUpload,\r\n classMap[state],\r\n classMap[theme],\r\n outlineShadow && classMap[`shadow${capitalize(outlineShadow)}`],\r\n outlineRounding && classMap[`round${capitalize(outlineRounding)}`],\r\n error && classMap.error,\r\n isDragging && classMap.dragging,\r\n disabled && classMap.disabled\r\n ),\r\n [\r\n classMap,\r\n theme,\r\n state,\r\n outlineShadow,\r\n outlineRounding,\r\n error,\r\n isDragging,\r\n disabled,\r\n ]\r\n );\r\n\r\n const describedBy =\r\n [\r\n description ? `${testId}-description` : undefined,\r\n error ? `${testId}-error` : undefined,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \") || undefined;\r\n\r\n return (\r\n <FormGroup\r\n label={label}\r\n description={description}\r\n error={error}\r\n required={required}\r\n data-testid={testId}\r\n >\r\n <div\r\n className={containerClassName}\r\n onDragOver={handleDragOver}\r\n onDragLeave={handleDragLeave}\r\n onDrop={handleDrop}\r\n aria-busy={uploading || undefined}\r\n data-testid={testId ? `${testId}-wrapper` : undefined}\r\n >\r\n <input\r\n ref={fileInput}\r\n id={`${testId}-input`}\r\n type=\"file\"\r\n multiple={multiple}\r\n accept={accept}\r\n onChange={handleFileChange}\r\n className={classMap.hiddenInput}\r\n required={required}\r\n aria-label={label}\r\n aria-describedby={describedBy}\r\n data-testid={testId ? `${testId}-input` : undefined}\r\n />\r\n\r\n <div className={classMap.uploadActions}>\r\n <Button\r\n icon={FileIcon}\r\n size=\"small\"\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n className={classMap.fileInput}\r\n disabled={uploading || disabled}\r\n outline={outline}\r\n rounding={controlRounding}\r\n shadow={controlShadow}\r\n onClick={() => fileInput.current?.click()}\r\n aria-label={\r\n fileNames.length > 0 ? fileNames.join(\", \") : \"Choose File\"\r\n }\r\n data-testid={testId ? `${testId}-file-button` : undefined}\r\n >\r\n {getButtonLabel()}\r\n </Button>\r\n </div>\r\n\r\n {rejectedFiles.length > 0 && (\r\n <div className={classMap.rejectedFiles}>\r\n <p className={classMap.rejectedLabel}>Rejected Files:</p>\r\n <ul className={classMap.rejectedList}>\r\n {rejectedFiles.map((file, index) => (\r\n <li key={index} className={classMap.rejectedItem}>\r\n <span>{file.name}</span>\r\n <span className={classMap.rejectedReason}>\r\n {\" \"}\r\n – {file.reason}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n\r\n {fileNames.length > 0 && (\r\n <div\r\n className={classMap.uploadControls}\r\n data-testid={testId ? `${testId}-controls` : undefined}\r\n >\r\n <ul className={classMap.fileList}>\r\n {fileNames.map((name, index) => (\r\n <li key={index} className={classMap.fileListItem}>\r\n <span>{name}</span>\r\n <IconButton\r\n icon={TrashIcon}\r\n state=\"error\"\r\n size=\"small\"\r\n type=\"button\"\r\n outline\r\n aria-label={`Remove ${name}`}\r\n onClick={() => removeFile(index)}\r\n className={classMap.removeButton}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {uploading && (\r\n <ProgressBar\r\n theme={theme}\r\n className={classMap.uploadProgress}\r\n progress={uploadProgress ?? internalProgress}\r\n indeterminate={uploadProgress === undefined}\r\n data-testid={testId ? `${testId}-progress` : undefined}\r\n />\r\n )}\r\n {!uploading && (\r\n <Button\r\n theme={theme}\r\n state={error ? \"error\" : state}\r\n disabled={disabled || files.length === 0}\r\n onClick={handleUpload}\r\n loading={uploading}\r\n size=\"small\"\r\n className={classMap.uploadButton}\r\n data-testid={testId ? `${testId}-upload-button` : undefined}\r\n >\r\n Upload\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className=\"sr_only\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n data-testid={testId ? `${testId}-upload-message` : undefined}\r\n >\r\n {uploadMessage}\r\n </div>\r\n </div>\r\n </FormGroup>\r\n );\r\n};\r\nBaseFileUpload.displayName = \"BaseFileUpload\";\r\nexport default BaseFileUpload;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseFileUpload from \"../FileUploadBase\";\r\nimport { FileUploadProps } from \"../FileUpload.types\";\r\nimport { Button, IconButton, Progressbar, FormGroup } from \"@/index.next\";\r\nimport styles from \"./FileUpload.module.scss\";\r\n\r\nconst FileUpload: React.FC<FileUploadProps> = (props) => {\r\n return (\r\n <BaseFileUpload\r\n {...props}\r\n FormGroup={FormGroup}\r\n Button={Button}\r\n IconButton={IconButton}\r\n ProgressBar={Progressbar}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n"],"names":["jsxs","jsx","error","getDefaultTheme","getDefaultRounding","getDefaultShadow","uploadProgress","FormGroup","disabled","Button","IconButton","ProgressBar","useState","rejectedFiles","useRef","useMemo","useEffect","combineClassNames","capitalize","Progressbar"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const FileUpload = require("./FileUpload-C95H9D4N.cjs");
2
+ const FileUpload = require("./FileUpload-CUFWjI06.cjs");
3
3
  module.exports = FileUpload.FileUpload;
4
4
  //# sourceMappingURL=FileUpload.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { F } from "./FileUpload-BxmKK5BE.js";
1
+ import { F } from "./FileUpload-Bp7Pbj8m.js";
2
2
  export {
3
3
  F as default
4
4
  };
@@ -3,9 +3,9 @@ import { useContext, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
5
5
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
6
- import { I as IconButton } from "./IconButton-B_j-S10f.js";
7
- import { a as ThemeContext } from "./ThemeContext-DJ18CFaV.js";
8
- import { S as Select } from "./Select-B3JaOW2f.js";
6
+ import { I as IconButton } from "./IconButton-qQljwBB2.js";
7
+ import { a as ThemeContext } from "./ThemeContext-DSYDwr2m.js";
8
+ import { S as Select } from "./Select-rZ9u_rNi.js";
9
9
  import { L as Link } from "./link-Bik5xH00.js";
10
10
  import { I as Image } from "./image-CEz9QtOW.js";
11
11
  const UserThemeSettings = ({
@@ -70,14 +70,16 @@ const FooterBase = ({
70
70
  ),
71
71
  [classMap, theme, shadow, rounding, attachment, className]
72
72
  );
73
- const isImgLike = typeof logo2 === "string" || typeof logo2 === "object" && logo2 && "src" in logo2;
74
- const logoSrc = isImgLike ? typeof logo2 === "string" ? logo2 : logo2.src : void 0;
75
- const logoW = isImgLike ? (logo2 == null ? void 0 : logo2.width) ?? 20 : void 0;
76
- const logoH = isImgLike ? (logo2 == null ? void 0 : logo2.height) ?? 20 : void 0;
73
+ const isLogoImage = (v) => typeof v === "object" && v !== null && "src" in v;
74
+ const isImgLike = typeof logo2 === "string" || isLogoImage(logo2);
75
+ const imgLogo = isImgLike ? typeof logo2 === "string" ? { src: logo2 } : logo2 : void 0;
76
+ const logoSrc = imgLogo == null ? void 0 : imgLogo.src;
77
+ const logoW = (imgLogo == null ? void 0 : imgLogo.width) ?? 20;
78
+ const logoH = (imgLogo == null ? void 0 : imgLogo.height) ?? 20;
77
79
  return /* @__PURE__ */ jsx("footer", { className: footerClass, "data-testid": testId, children: /* @__PURE__ */ jsxs("div", { className: classMap.content, children: [
78
80
  /* @__PURE__ */ jsxs("div", { className: classMap.left, "data-testid": `${testId}-left`, children: [
79
- isImgLike ? /* @__PURE__ */ jsx(
80
- ImageComponent,
81
+ isImgLike && logoSrc ? typeof ImageComponent === "string" ? /* @__PURE__ */ jsx(
82
+ "img",
81
83
  {
82
84
  className: classMap.logo,
83
85
  "data-testid": `${testId}-logo`,
@@ -87,6 +89,16 @@ const FooterBase = ({
87
89
  height: logoH,
88
90
  width: logoW
89
91
  }
92
+ ) : /* @__PURE__ */ jsx(
93
+ ImageComponent,
94
+ {
95
+ className: classMap.logo,
96
+ "data-testid": `${testId}-logo`,
97
+ src: logoSrc,
98
+ alt: "Logo",
99
+ height: logoH,
100
+ width: logoW
101
+ }
90
102
  ) : /* @__PURE__ */ jsx(
91
103
  "span",
92
104
  {
@@ -159,38 +171,38 @@ const FooterBase = ({
159
171
  ] }) });
160
172
  };
161
173
  FooterBase.displayName = "FooterBase";
162
- const noScroll = "_noScroll_9qupf_91";
163
- const errorMessage = "_errorMessage_9qupf_92";
164
- const loadingContainer = "_loadingContainer_9qupf_93";
165
- const hideScrollbar = "_hideScrollbar_9qupf_85";
166
- const sr_only = "_sr_only_9qupf_94";
167
- const footer = "_footer_9qupf_540";
168
- const primary = "_primary_9qupf_545";
169
- const secondary = "_secondary_9qupf_549";
170
- const tertiary = "_tertiary_9qupf_553";
171
- const quaternary = "_quaternary_9qupf_557";
172
- const clear = "_clear_9qupf_561";
173
- const roundNone = "_roundNone_9qupf_565";
174
- const roundSmall = "_roundSmall_9qupf_569";
175
- const roundMedium = "_roundMedium_9qupf_573";
176
- const roundLarge = "_roundLarge_9qupf_577";
177
- const roundFull = "_roundFull_9qupf_581";
178
- const shadowNone = "_shadowNone_9qupf_585";
179
- const shadowLight = "_shadowLight_9qupf_588";
180
- const shadowMedium = "_shadowMedium_9qupf_591";
181
- const shadowStrong = "_shadowStrong_9qupf_594";
182
- const shadowIntense = "_shadowIntense_9qupf_597";
183
- const attachmentStatic = "_attachmentStatic_9qupf_600";
184
- const attachmentSticky = "_attachmentSticky_9qupf_603";
185
- const attachmentFixed = "_attachmentFixed_9qupf_610";
186
- const content = "_content_9qupf_618";
187
- const left = "_left_9qupf_636";
188
- const links = "_links_9qupf_654";
189
- const logo = "_logo_9qupf_689";
190
- const social = "_social_9qupf_705";
191
- const themeToggle = "_themeToggle_9qupf_722";
192
- const spin = "_spin_9qupf_1";
193
- const pulse = "_pulse_9qupf_1";
174
+ const noScroll = "_noScroll_1win9_108";
175
+ const errorMessage = "_errorMessage_1win9_109";
176
+ const loadingContainer = "_loadingContainer_1win9_110";
177
+ const hideScrollbar = "_hideScrollbar_1win9_102";
178
+ const sr_only = "_sr_only_1win9_111";
179
+ const footer = "_footer_1win9_540";
180
+ const primary = "_primary_1win9_545";
181
+ const secondary = "_secondary_1win9_549";
182
+ const tertiary = "_tertiary_1win9_553";
183
+ const quaternary = "_quaternary_1win9_557";
184
+ const clear = "_clear_1win9_561";
185
+ const roundNone = "_roundNone_1win9_565";
186
+ const roundSmall = "_roundSmall_1win9_569";
187
+ const roundMedium = "_roundMedium_1win9_573";
188
+ const roundLarge = "_roundLarge_1win9_577";
189
+ const roundFull = "_roundFull_1win9_581";
190
+ const shadowNone = "_shadowNone_1win9_585";
191
+ const shadowLight = "_shadowLight_1win9_588";
192
+ const shadowMedium = "_shadowMedium_1win9_591";
193
+ const shadowStrong = "_shadowStrong_1win9_594";
194
+ const shadowIntense = "_shadowIntense_1win9_597";
195
+ const attachmentStatic = "_attachmentStatic_1win9_600";
196
+ const attachmentSticky = "_attachmentSticky_1win9_603";
197
+ const attachmentFixed = "_attachmentFixed_1win9_611";
198
+ const content = "_content_1win9_620";
199
+ const left = "_left_1win9_639";
200
+ const links = "_links_1win9_662";
201
+ const logo = "_logo_1win9_702";
202
+ const social = "_social_1win9_718";
203
+ const themeToggle = "_themeToggle_1win9_735";
204
+ const spin = "_spin_1win9_1";
205
+ const pulse = "_pulse_1win9_1";
194
206
  const styles = {
195
207
  noScroll,
196
208
  errorMessage,
@@ -222,15 +234,15 @@ const styles = {
222
234
  logo,
223
235
  social,
224
236
  themeToggle,
225
- "fade-in": "_fade-in_9qupf_1",
226
- "slide-up": "_slide-up_9qupf_1",
227
- "spin-3d": "_spin-3d_9qupf_1",
237
+ "fade-in": "_fade-in_1win9_1",
238
+ "slide-up": "_slide-up_1win9_1",
239
+ "spin-3d": "_spin-3d_1win9_1",
228
240
  spin,
229
241
  pulse,
230
- "fade-in-up": "_fade-in-up_9qupf_1",
231
- "progress-grow": "_progress-grow_9qupf_1",
232
- "indeterminate-move": "_indeterminate-move_9qupf_1",
233
- "skeleton-loading": "_skeleton-loading_9qupf_1"
242
+ "fade-in-up": "_fade-in-up_1win9_1",
243
+ "progress-grow": "_progress-grow_1win9_1",
244
+ "indeterminate-move": "_indeterminate-move_1win9_1",
245
+ "skeleton-loading": "_skeleton-loading_1win9_1"
234
246
  };
235
247
  const Footer = (props) => {
236
248
  return /* @__PURE__ */ jsx(
@@ -249,4 +261,4 @@ export {
249
261
  Footer as F,
250
262
  UserThemeSettings as U
251
263
  };
252
- //# sourceMappingURL=Footer-DhBE3lNY.js.map
264
+ //# sourceMappingURL=Footer-BfzKhBAD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer-BfzKhBAD.js","sources":["../../src/components/Select/ThemeSelect/next/ThemeSelect.tsx","../../src/components/Footer/FooterBase.tsx","../../src/components/Footer/next/Footer.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useContext, useMemo } from \"react\";\r\nimport { Select } from \"@/index.next\";\r\nimport { ThemeContext } from \"../../../../context/ThemeContext\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"@/config/boreal-style-config\";\r\nimport { ThemeSelectProps } from \"../../Select.types\";\r\n\r\nconst UserThemeSettings: React.FC<ThemeSelectProps> = ({\r\n theme = getDefaultTheme(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n state = \"\",\r\n \"data-testid\": testId = \"theme-select\",\r\n}) => {\r\n const ctx = useContext(ThemeContext);\r\n if (!ctx)\r\n throw new Error(\"ThemeContext is undefined. Wrap with ThemeProvider.\");\r\n\r\n const { selectedScheme, setSelectedScheme, schemes } = ctx;\r\n\r\n const options = useMemo(\r\n () =>\r\n schemes.map((scheme, index) => ({\r\n value: String(index),\r\n label: scheme.name,\r\n })),\r\n [schemes]\r\n );\r\n\r\n return (\r\n <div className={`control-container`}>\r\n <Select\r\n theme={theme}\r\n state={state}\r\n shadow={shadow}\r\n rounding={rounding}\r\n options={options}\r\n data-testid={testId}\r\n value={String(selectedScheme)}\r\n ariaLabel=\"Select Theme\"\r\n onChange={(value: string | number) =>\r\n setSelectedScheme(parseInt(String(value), 10))\r\n }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default UserThemeSettings;\r\n","import React, { useMemo } from \"react\";\r\nimport { BaseFooterProps, LogoSource } from \"./Footer.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { getDefaultTheme } from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"@/utils/capitalize\";\r\n\r\nconst FooterBase: React.FC<BaseFooterProps> = ({\r\n theme = getDefaultTheme(),\r\n attachment = \"static\",\r\n shadow = \"none\",\r\n rounding = \"none\",\r\n className = \"\",\r\n \"data-testid\": testId = \"footer\",\r\n copyright,\r\n links = [],\r\n logo,\r\n socialLinks = [],\r\n showThemeSelect = false,\r\n IconButton,\r\n ImageComponent = \"img\",\r\n ThemeSelect,\r\n classMap,\r\n LinkWrapper = ({ href, children, ...rest }) => (\r\n <a href={href} {...rest}>\r\n {children}\r\n </a>\r\n ),\r\n}) => {\r\n const footerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.footer,\r\n classMap[theme],\r\n shadow !== \"none\" && classMap[`shadow${capitalize(shadow)}`],\r\n rounding !== \"none\" && classMap[`round${capitalize(rounding)}`],\r\n classMap[`attachment${capitalize(attachment)}`],\r\n className\r\n ),\r\n [classMap, theme, shadow, rounding, attachment, className]\r\n );\r\n\r\n const isLogoImage = (\r\n v: unknown\r\n ): v is { src: string; width?: number; height?: number } =>\r\n typeof v === \"object\" &&\r\n v !== null &&\r\n \"src\" in (v as Record<string, unknown>);\r\n\r\n const isImgLike = typeof logo === \"string\" || isLogoImage(logo);\r\n\r\n const imgLogo = isImgLike\r\n ? typeof logo === \"string\"\r\n ? { src: logo }\r\n : logo\r\n : undefined;\r\n\r\n const logoSrc = imgLogo?.src;\r\n const logoW = imgLogo?.width ?? 20;\r\n const logoH = imgLogo?.height ?? 20;\r\n\r\n return (\r\n <footer className={footerClass} data-testid={testId}>\r\n <div className={classMap.content}>\r\n <div className={classMap.left} data-testid={`${testId}-left`}>\r\n {isImgLike && logoSrc ? (\r\n typeof ImageComponent === \"string\" ? (\r\n <img\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n loading=\"lazy\"\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n ) : (\r\n <ImageComponent\r\n className={classMap.logo}\r\n data-testid={`${testId}-logo`}\r\n src={logoSrc}\r\n alt=\"Logo\"\r\n height={logoH}\r\n width={logoW}\r\n />\r\n )\r\n ) : (\r\n <span\r\n className={classMap.logo}\r\n role=\"img\"\r\n aria-label=\"Logo\"\r\n data-testid={`${testId}-logo`}\r\n >\r\n {\r\n logo as Exclude<\r\n LogoSource,\r\n string | { src: string; width?: number; height?: number }\r\n >\r\n }\r\n </span>\r\n )}\r\n\r\n {copyright && (\r\n <div\r\n className={classMap.copyright ?? classMap.left}\r\n data-testid={`${testId}-copyright`}\r\n >\r\n <p>{copyright}</p>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {links.length > 0 && (\r\n <nav\r\n className={classMap.links}\r\n aria-label=\"Footer site links\"\r\n data-testid={`${testId}-nav`}\r\n >\r\n <ul>\r\n {links.map((link, i) => {\r\n const slug = (link.label || link.href || `link-${i}`)\r\n .toLowerCase()\r\n .replace(/\\s+/g, \"-\");\r\n return (\r\n <li key={`${link.href ?? slug}-${i}`}>\r\n <LinkWrapper\r\n href={link.href}\r\n className={classMap.link}\r\n data-testid={`${testId}-link-${slug}`}\r\n >\r\n {link.label}\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n )}\r\n\r\n {showThemeSelect && (\r\n <div\r\n className={classMap.themeToggle}\r\n data-testid={`${testId}-theme-select`}\r\n >\r\n <ThemeSelect theme=\"clear\" shadow=\"none\" aria-label=\"Theme\" />\r\n </div>\r\n )}\r\n\r\n {socialLinks.length > 0 && (\r\n <nav\r\n className={classMap.social}\r\n aria-label=\"Social media\"\r\n data-testid={`${testId}-social`}\r\n >\r\n {socialLinks.map((social, index) => (\r\n <IconButton\r\n key={`${social.href ?? social.title}-${index}`}\r\n icon={social.icon}\r\n href={social.href}\r\n isExternal\r\n shadow=\"none\"\r\n ariaLabel={social.title}\r\n title={social.title}\r\n theme=\"clear\"\r\n data-testid={`${testId}-social-${social.title.toLowerCase().replace(/\\s+/g, \"-\")}`}\r\n />\r\n ))}\r\n </nav>\r\n )}\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nFooterBase.displayName = \"FooterBase\";\r\nexport default FooterBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport FooterBase from \"../FooterBase\";\r\nimport { FooterProps } from \"../Footer.types\";\r\nimport { IconButton, ThemeSelect } from \"@/index.next\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Footer.module.scss\";\r\nimport Image from \"next/image\";\r\n\r\nconst Footer: React.FC<FooterProps> = (props) => {\r\n return (\r\n <FooterBase\r\n {...props}\r\n IconButton={IconButton}\r\n ImageComponent={Image}\r\n ThemeSelect={ThemeSelect}\r\n LinkWrapper={({ href, children, className, ...rest }) => (\r\n <Link href={href} className={className} {...rest}>\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nexport default Footer;\r\n"],"names":["links","logo","IconButton","social","ThemeSelect"],"mappings":"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"}