boreal-ui 0.0.34 → 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 (662) 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-BRExeyNd.js → Card-C8Nn4k-D.js} +7 -7
  22. package/dist/core/Card-C8Nn4k-D.js.map +1 -0
  23. package/dist/core/{Card-jrGaJLdX.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-ByR2AKjl.js → Chip-CshyG7SS.js} +2 -2
  28. package/dist/core/Chip-CshyG7SS.js.map +1 -0
  29. package/dist/core/{Chip-C6sk2qAd.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-IOV8q6GZ.cjs → CommandPalette-B8jOhfm2.cjs} +2 -2
  34. package/dist/core/{CommandPalette-IOV8q6GZ.cjs.map → CommandPalette-B8jOhfm2.cjs.map} +1 -1
  35. package/dist/core/{CommandPalette-KcMGDC0i.js → CommandPalette-BpRegx0J.js} +2 -2
  36. package/dist/core/{CommandPalette-KcMGDC0i.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-CJo6T9__.cjs → Dropdown-BpEtC6bv.cjs} +2 -2
  46. package/dist/core/Dropdown-BpEtC6bv.cjs.map +1 -0
  47. package/dist/core/{Dropdown-Dzjmt9gx.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-Bcu5v4TO.js → FileUpload-C6xeGLr8.js} +5 -5
  58. package/dist/core/FileUpload-C6xeGLr8.js.map +1 -0
  59. package/dist/core/{FileUpload-DrPV-Oiy.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-vLVfqKWf.js → Footer-D2DOWiIc.js} +22 -10
  64. package/dist/core/Footer-D2DOWiIc.js.map +1 -0
  65. package/dist/core/{Footer-DrYZJObN.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-D_W4nsPZ.cjs → IconButton-Cs4PHptF.cjs} +5 -3
  70. package/dist/core/IconButton-Cs4PHptF.cjs.map +1 -0
  71. package/dist/core/{IconButton-B9WWbeSM.js → IconButton-DY1ppFX-.js} +5 -3
  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-DiipcrNp.js → MessagePopup-CHCUOPLz.js} +5 -6
  84. package/dist/core/MessagePopup-CHCUOPLz.js.map +1 -0
  85. package/dist/core/{MessagePopup-CIsMNnVM.cjs → MessagePopup-CL_1uoVd.cjs} +5 -6
  86. package/dist/core/MessagePopup-CL_1uoVd.cjs.map +1 -0
  87. package/dist/core/{Modal-Bi8OdWKS.js → Modal-1d9Ivd05.js} +2 -2
  88. package/dist/core/Modal-1d9Ivd05.js.map +1 -0
  89. package/dist/core/{Modal-BdxvP-Ei.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-DpdzdrPB.cjs → NotificationCenter-BjTSHg0M.cjs} +76 -66
  100. package/dist/{next/NotificationCenter-dkrHsIKr.cjs.map → core/NotificationCenter-BjTSHg0M.cjs.map} +1 -1
  101. package/dist/core/{NotificationCenter-BkoTAZCz.js → NotificationCenter-Ca_Gegaf.js} +76 -66
  102. package/dist/{next/NotificationCenter-DlbqVzzr.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-De-awunI.js → Pager-B-mFsJVZ.js} +3 -3
  106. package/dist/core/{Pager-De-awunI.js.map → Pager-B-mFsJVZ.js.map} +1 -1
  107. package/dist/core/{Pager-CcIEdgIe.cjs → Pager-B3Hy6QIt.cjs} +3 -3
  108. package/dist/core/{Pager-CcIEdgIe.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-DNSzwiZR.js → Stepper-0lxM6e2v.js} +2 -10
  120. package/dist/core/Stepper-0lxM6e2v.js.map +1 -0
  121. package/dist/core/{Stepper-Cphvkx0O.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-gpyaJFUs.js → Tabs-BaKDr0uF.js} +84 -36
  126. package/dist/core/Tabs-BaKDr0uF.js.map +1 -0
  127. package/dist/core/{Tabs-DptKFvPK.cjs → Tabs-C6lDM19i.cjs} +83 -35
  128. package/dist/core/Tabs-C6lDM19i.cjs.map +1 -0
  129. package/dist/core/Tabs.cjs.js +1 -1
  130. package/dist/core/Tabs.js +1 -1
  131. package/dist/core/TagInput.cjs.js +1 -1
  132. package/dist/core/TagInput.js +1 -1
  133. package/dist/core/Taginput-C_JJRoDF.js +311 -0
  134. package/dist/core/Taginput-C_JJRoDF.js.map +1 -0
  135. package/dist/core/Taginput-kqeTeVJY.cjs +310 -0
  136. package/dist/core/Taginput-kqeTeVJY.cjs.map +1 -0
  137. package/dist/core/{TextArea-Nj-eO3Pv.cjs → TextArea-BJGUr6r_.cjs} +18 -7
  138. package/dist/core/TextArea-BJGUr6r_.cjs.map +1 -0
  139. package/dist/core/{TextArea-DrU4oCj0.js → TextArea-CIdsUIzt.js} +18 -7
  140. package/dist/core/TextArea-CIdsUIzt.js.map +1 -0
  141. package/dist/core/TextArea.cjs.js +1 -1
  142. package/dist/core/TextArea.js +1 -1
  143. package/dist/core/{TextInput-C8mNE1R4.js → TextInput-D38TZ4Pl.js} +28 -11
  144. package/dist/core/TextInput-D38TZ4Pl.js.map +1 -0
  145. package/dist/core/{TextInput-B03e-LMT.cjs → TextInput-WY4O9Zya.cjs} +28 -11
  146. package/dist/core/TextInput-WY4O9Zya.cjs.map +1 -0
  147. package/dist/core/TextInput.cjs.js +1 -1
  148. package/dist/core/TextInput.js +1 -1
  149. package/dist/core/{ThemeContext-D_SPnedS.cjs → ThemeContext-D1AV88GN.cjs} +2 -1
  150. package/dist/core/ThemeContext-D1AV88GN.cjs.map +1 -0
  151. package/dist/core/{ThemeContext-DJ18CFaV.js → ThemeContext-DSYDwr2m.js} +2 -1
  152. package/dist/core/ThemeContext-DSYDwr2m.js.map +1 -0
  153. package/dist/core/ThemeProvider.cjs.js +1 -1
  154. package/dist/core/ThemeProvider.js +1 -1
  155. package/dist/core/{Timeline-D7fd8-u_.js → Timeline-BfJd6flB.js} +22 -16
  156. package/dist/core/Timeline-BfJd6flB.js.map +1 -0
  157. package/dist/core/{Timeline-Dk0q-8BZ.cjs → Timeline-Bmnr7xnx.cjs} +22 -16
  158. package/dist/core/Timeline-Bmnr7xnx.cjs.map +1 -0
  159. package/dist/core/Timeline.cjs.js +1 -1
  160. package/dist/core/Timeline.js +1 -1
  161. package/dist/core/{Toggle-v31rt4Ya.cjs → Toggle-Dor7IEx3.cjs} +36 -15
  162. package/dist/core/Toggle-Dor7IEx3.cjs.map +1 -0
  163. package/dist/core/{Toggle-CZftIdc3.js → Toggle-sPyKNt4P.js} +38 -17
  164. package/dist/core/Toggle-sPyKNt4P.js.map +1 -0
  165. package/dist/core/Toggle.cjs.js +1 -1
  166. package/dist/core/Toggle.js +1 -1
  167. package/dist/core/{Toolbar-Tf01bUjT.js → Toolbar-CSDhcIPb.js} +15 -11
  168. package/dist/core/Toolbar-CSDhcIPb.js.map +1 -0
  169. package/dist/core/{Toolbar-zZrwUT66.cjs → Toolbar-xot4FSLU.cjs} +15 -11
  170. package/dist/core/Toolbar-xot4FSLU.cjs.map +1 -0
  171. package/dist/core/Toolbar.cjs.js +1 -1
  172. package/dist/core/Toolbar.js +1 -1
  173. package/dist/core/Tooltip-BzRqlOTz.js +119 -0
  174. package/dist/core/Tooltip-BzRqlOTz.js.map +1 -0
  175. package/dist/core/Tooltip-DS7DSyij.cjs +118 -0
  176. package/dist/core/Tooltip-DS7DSyij.cjs.map +1 -0
  177. package/dist/core/Tooltip.cjs.js +1 -1
  178. package/dist/core/Tooltip.js +1 -1
  179. package/dist/core/index.cjs.js +29 -29
  180. package/dist/core/index.js +29 -29
  181. package/dist/core/style.css +6710 -1912
  182. package/dist/next/{Accordion-CmbMyudL.cjs → Accordion-BCUMBFY6.cjs} +58 -52
  183. package/dist/next/Accordion-BCUMBFY6.cjs.map +1 -0
  184. package/dist/next/{Accordion-81qBJa4M.js → Accordion-yypKft_c.js} +58 -52
  185. package/dist/next/Accordion-yypKft_c.js.map +1 -0
  186. package/dist/next/Accordion.cjs.js +1 -1
  187. package/dist/next/Accordion.js +1 -1
  188. package/dist/next/{Avatar-96V7QHyt.js → Avatar-C227ps6T.js} +46 -46
  189. package/dist/next/{Avatar-96V7QHyt.js.map → Avatar-C227ps6T.js.map} +1 -1
  190. package/dist/next/{Avatar-hwM3F1Jw.cjs → Avatar-IjllaOdx.cjs} +46 -46
  191. package/dist/next/{Avatar-hwM3F1Jw.cjs.map → Avatar-IjllaOdx.cjs.map} +1 -1
  192. package/dist/next/Avatar.cjs.js +1 -1
  193. package/dist/next/Avatar.js +1 -1
  194. package/dist/next/{Badge-BG9cWEDv.js → Badge-C-JE6gYt.js} +31 -31
  195. package/dist/next/Badge-C-JE6gYt.js.map +1 -0
  196. package/dist/next/{Badge-DLSfi5vo.cjs → Badge-DdJsnD_G.cjs} +31 -31
  197. package/dist/next/Badge-DdJsnD_G.cjs.map +1 -0
  198. package/dist/next/Badge.cjs.js +1 -1
  199. package/dist/next/Badge.js +1 -1
  200. package/dist/next/{Breadcrumbs-IO2iNAjN.js → Breadcrumbs-_qTMSpvE.js} +38 -38
  201. package/dist/next/Breadcrumbs-_qTMSpvE.js.map +1 -0
  202. package/dist/next/{Breadcrumbs-veVO4yuY.cjs → Breadcrumbs-uPQIvIj-.cjs} +38 -38
  203. package/dist/next/Breadcrumbs-uPQIvIj-.cjs.map +1 -0
  204. package/dist/next/Breadcrumbs.cjs.js +1 -1
  205. package/dist/next/Breadcrumbs.js +1 -1
  206. package/dist/next/{Button-sIKQmn_c.cjs → Button-5qNmDKPi.cjs} +65 -63
  207. package/dist/next/Button-5qNmDKPi.cjs.map +1 -0
  208. package/dist/next/{Button-DN8rTQSp.js → Button-BF5Wp81D.js} +65 -63
  209. package/dist/next/Button-BF5Wp81D.js.map +1 -0
  210. package/dist/next/Button.cjs.js +1 -1
  211. package/dist/next/Button.js +1 -1
  212. package/dist/next/{Card-B9EjkoVy.js → Card-CFJnp6sf.js} +72 -68
  213. package/dist/next/Card-CFJnp6sf.js.map +1 -0
  214. package/dist/next/{Card-BQTJkNCL.cjs → Card-DdLlnwFq.cjs} +72 -68
  215. package/dist/next/Card-DdLlnwFq.cjs.map +1 -0
  216. package/dist/next/Card.cjs.js +1 -1
  217. package/dist/next/Card.js +1 -1
  218. package/dist/next/CheckBox.cjs.js +1 -1
  219. package/dist/next/CheckBox.js +1 -1
  220. package/dist/next/{Checkbox-DXRmAtTt.cjs → Checkbox-BX2JIiMU.cjs} +44 -44
  221. package/dist/next/{Checkbox-DXRmAtTt.cjs.map → Checkbox-BX2JIiMU.cjs.map} +1 -1
  222. package/dist/next/{Checkbox-CU-XrZC7.js → Checkbox-CrK0JFu8.js} +44 -44
  223. package/dist/next/{Checkbox-CU-XrZC7.js.map → Checkbox-CrK0JFu8.js.map} +1 -1
  224. package/dist/next/{Chip-CekCQRke.js → Chip-3QqdBOHX.js} +51 -51
  225. package/dist/next/Chip-3QqdBOHX.js.map +1 -0
  226. package/dist/next/{Chip-CfJ473TI.cjs → Chip-BUVPtK2j.cjs} +51 -51
  227. package/dist/next/Chip-BUVPtK2j.cjs.map +1 -0
  228. package/dist/next/Chip.cjs.js +1 -1
  229. package/dist/next/Chip.js +1 -1
  230. package/dist/next/{CircularProgress-C3vHw9Vz.js → CircularProgress-C7Zr-dLf.js} +47 -47
  231. package/dist/next/{CircularProgress-C3vHw9Vz.js.map → CircularProgress-C7Zr-dLf.js.map} +1 -1
  232. package/dist/next/{CircularProgress-B0pzDdsh.cjs → CircularProgress-C7kuOtnG.cjs} +47 -47
  233. package/dist/next/{CircularProgress-B0pzDdsh.cjs.map → CircularProgress-C7kuOtnG.cjs.map} +1 -1
  234. package/dist/next/CircularProgress.cjs.js +1 -1
  235. package/dist/next/CircularProgress.js +1 -1
  236. package/dist/next/{ColorPicker-CDHrECBi.cjs → ColorPicker-C3dyO_vv.cjs} +42 -40
  237. package/dist/next/{ColorPicker-CDHrECBi.cjs.map → ColorPicker-C3dyO_vv.cjs.map} +1 -1
  238. package/dist/next/{ColorPicker-4Fw0fwbk.js → ColorPicker-DgLJQRJu.js} +42 -40
  239. package/dist/next/{ColorPicker-4Fw0fwbk.js.map → ColorPicker-DgLJQRJu.js.map} +1 -1
  240. package/dist/next/ColorPicker.cjs.js +1 -1
  241. package/dist/next/ColorPicker.js +1 -1
  242. package/dist/next/{CommandPalette-DhyChRCJ.cjs → CommandPalette-CzwGz-Py.cjs} +42 -42
  243. package/dist/next/{CommandPalette-DhyChRCJ.cjs.map → CommandPalette-CzwGz-Py.cjs.map} +1 -1
  244. package/dist/next/{CommandPalette-BEDyY7vY.js → CommandPalette-D-VgzCDu.js} +42 -42
  245. package/dist/next/{CommandPalette-BEDyY7vY.js.map → CommandPalette-D-VgzCDu.js.map} +1 -1
  246. package/dist/next/CommandPalette.cjs.js +1 -1
  247. package/dist/next/CommandPalette.js +1 -1
  248. package/dist/next/{DataTable-B0-pq0MG.cjs → DataTable-CEtAY0ni.cjs} +41 -41
  249. package/dist/next/{DataTable-B0-pq0MG.cjs.map → DataTable-CEtAY0ni.cjs.map} +1 -1
  250. package/dist/next/{DataTable-D17xbmiu.js → DataTable-mI4d3Caj.js} +41 -41
  251. package/dist/next/{DataTable-D17xbmiu.js.map → DataTable-mI4d3Caj.js.map} +1 -1
  252. package/dist/next/DataTable.cjs.js +1 -1
  253. package/dist/next/DataTable.js +1 -1
  254. package/dist/next/{DateTimePicker-BJnnZBgd.js → DateTimePicker-A94kVkvi.js} +54 -33
  255. package/dist/next/DateTimePicker-A94kVkvi.js.map +1 -0
  256. package/dist/next/{DateTimePicker-DivMR4Oe.cjs → DateTimePicker-D96GYbVW.cjs} +54 -33
  257. package/dist/next/DateTimePicker-D96GYbVW.cjs.map +1 -0
  258. package/dist/next/DateTimePicker.cjs.js +1 -1
  259. package/dist/next/DateTimePicker.js +1 -1
  260. package/dist/next/{Divider-Bew1Qx5f.cjs → Divider-BMuNHQ9J.cjs} +37 -16
  261. package/dist/next/{Divider-Bew1Qx5f.cjs.map → Divider-BMuNHQ9J.cjs.map} +1 -1
  262. package/dist/next/{Divider-BGf_EQkK.js → Divider-DjoDcCAu.js} +37 -16
  263. package/dist/next/{Divider-BGf_EQkK.js.map → Divider-DjoDcCAu.js.map} +1 -1
  264. package/dist/next/Divider.cjs.js +1 -1
  265. package/dist/next/Divider.js +1 -1
  266. package/dist/next/{Dropdown-DqYjIelJ.js → Dropdown-BrJnoyCw.js} +23 -21
  267. package/dist/next/Dropdown-BrJnoyCw.js.map +1 -0
  268. package/dist/next/{Dropdown-qvuelg8z.cjs → Dropdown-DU7oZ_ZP.cjs} +23 -21
  269. package/dist/next/Dropdown-DU7oZ_ZP.cjs.map +1 -0
  270. package/dist/next/Dropdown.cjs.js +1 -1
  271. package/dist/next/Dropdown.js +1 -1
  272. package/dist/next/{EmptyState-DMIL8ecB.cjs → EmptyState-DULVBTGn.cjs} +38 -38
  273. package/dist/next/{EmptyState-DMIL8ecB.cjs.map → EmptyState-DULVBTGn.cjs.map} +1 -1
  274. package/dist/next/{EmptyState-CNii02MI.js → EmptyState-JzLtobCN.js} +38 -38
  275. package/dist/next/{EmptyState-CNii02MI.js.map → EmptyState-JzLtobCN.js.map} +1 -1
  276. package/dist/next/EmptyState.cjs.js +1 -1
  277. package/dist/next/EmptyState.js +1 -1
  278. package/dist/next/{FileUpload-BSqFdKZD.js → FileUpload-Bp7Pbj8m.js} +55 -53
  279. package/dist/next/{FileUpload-BSqFdKZD.js.map → FileUpload-Bp7Pbj8m.js.map} +1 -1
  280. package/dist/next/{FileUpload-DpxmgS-B.cjs → FileUpload-CUFWjI06.cjs} +55 -53
  281. package/dist/next/{FileUpload-DpxmgS-B.cjs.map → FileUpload-CUFWjI06.cjs.map} +1 -1
  282. package/dist/next/FileUpload.cjs.js +1 -1
  283. package/dist/next/FileUpload.js +1 -1
  284. package/dist/next/{Footer-CD8eu471.js → Footer-BfzKhBAD.js} +61 -49
  285. package/dist/next/Footer-BfzKhBAD.js.map +1 -0
  286. package/dist/next/{Footer-CukKL1zM.cjs → Footer-Cd9jSPv8.cjs} +61 -49
  287. package/dist/next/Footer-Cd9jSPv8.cjs.map +1 -0
  288. package/dist/next/Footer.cjs.js +1 -1
  289. package/dist/next/Footer.js +1 -1
  290. package/dist/next/{FormGroup-DXvH4AmB.cjs → FormGroup-DNvdijpi.cjs} +39 -37
  291. package/dist/next/{FormGroup-DXvH4AmB.cjs.map → FormGroup-DNvdijpi.cjs.map} +1 -1
  292. package/dist/next/{FormGroup-DSDuqKWJ.js → FormGroup-DUVdekj1.js} +39 -37
  293. package/dist/next/{FormGroup-DSDuqKWJ.js.map → FormGroup-DUVdekj1.js.map} +1 -1
  294. package/dist/next/FormGroup.cjs.js +1 -1
  295. package/dist/next/FormGroup.js +1 -1
  296. package/dist/next/{IconButton--X_Bqn4g.cjs → IconButton-VSz8qAIg.cjs} +46 -52
  297. package/dist/next/IconButton-VSz8qAIg.cjs.map +1 -0
  298. package/dist/next/{IconButton-B1r838wY.js → IconButton-qQljwBB2.js} +46 -52
  299. package/dist/next/IconButton-qQljwBB2.js.map +1 -0
  300. package/dist/next/IconButton.cjs.js +1 -1
  301. package/dist/next/IconButton.js +1 -1
  302. package/dist/next/{MarkdownRenderer-ByOcqHm_.cjs → MarkdownRenderer-BrVUEjkX.cjs} +13 -12
  303. package/dist/next/MarkdownRenderer-BrVUEjkX.cjs.map +1 -0
  304. package/dist/next/{MarkdownRenderer-r0prlhyN.js → MarkdownRenderer-CTF0Vhf5.js} +13 -12
  305. package/dist/next/MarkdownRenderer-CTF0Vhf5.js.map +1 -0
  306. package/dist/next/MarkdownRenderer.cjs.js +1 -1
  307. package/dist/next/MarkdownRenderer.js +1 -1
  308. package/dist/next/MessagePopUp.cjs.js +1 -1
  309. package/dist/next/MessagePopUp.js +1 -1
  310. package/dist/next/{MessagePopup-BL7842Cu.cjs → MessagePopup-DB8VBIft.cjs} +20 -18
  311. package/dist/next/MessagePopup-DB8VBIft.cjs.map +1 -0
  312. package/dist/next/{MessagePopup-Bjgods-d.js → MessagePopup-DCN-w-NA.js} +20 -18
  313. package/dist/next/MessagePopup-DCN-w-NA.js.map +1 -0
  314. package/dist/next/{MetricBox-CM85hhlk.js → MetricBox-CN8cgCgr.js} +63 -63
  315. package/dist/next/{MetricBox-CM85hhlk.js.map → MetricBox-CN8cgCgr.js.map} +1 -1
  316. package/dist/next/{MetricBox-B9AG8u6p.cjs → MetricBox-CX3SSwgU.cjs} +63 -63
  317. package/dist/next/{MetricBox-B9AG8u6p.cjs.map → MetricBox-CX3SSwgU.cjs.map} +1 -1
  318. package/dist/next/MetricBox.cjs.js +1 -1
  319. package/dist/next/MetricBox.js +1 -1
  320. package/dist/next/{Modal-BddVxoXY.js → Modal-BD9sPXIX.js} +17 -17
  321. package/dist/next/Modal-BD9sPXIX.js.map +1 -0
  322. package/dist/next/{Modal-Bauehvf1.cjs → Modal-BVjarg0E.cjs} +17 -17
  323. package/dist/next/Modal-BVjarg0E.cjs.map +1 -0
  324. package/dist/next/Modal.cjs.js +1 -1
  325. package/dist/next/Modal.js +1 -1
  326. package/dist/next/{NavBar-yvxI6w8C.cjs → NavBar-DT_k688s.cjs} +40 -39
  327. package/dist/next/NavBar-DT_k688s.cjs.map +1 -0
  328. package/dist/next/{NavBar-kgNrVtKB.js → NavBar-Dfljduy2.js} +40 -39
  329. package/dist/next/NavBar-Dfljduy2.js.map +1 -0
  330. package/dist/next/NavBar.cjs.js +1 -1
  331. package/dist/next/NavBar.js +1 -1
  332. package/dist/next/{NotificationCenter-dkrHsIKr.cjs → NotificationCenter-B2y-QbtY.cjs} +126 -105
  333. package/dist/{core/NotificationCenter-DpdzdrPB.cjs.map → next/NotificationCenter-B2y-QbtY.cjs.map} +1 -1
  334. package/dist/next/{NotificationCenter-DlbqVzzr.js → NotificationCenter-C99EfjxX.js} +126 -105
  335. package/dist/{core/NotificationCenter-BkoTAZCz.js.map → next/NotificationCenter-C99EfjxX.js.map} +1 -1
  336. package/dist/next/NotificationCenter.cjs.js +1 -1
  337. package/dist/next/NotificationCenter.js +1 -1
  338. package/dist/next/{Pager-jPCTdMIg.cjs → Pager-CB55NJSy.cjs} +8 -8
  339. package/dist/next/{Pager-jPCTdMIg.cjs.map → Pager-CB55NJSy.cjs.map} +1 -1
  340. package/dist/next/{Pager-CGqvekhJ.js → Pager-SZIzesuj.js} +8 -8
  341. package/dist/next/{Pager-CGqvekhJ.js.map → Pager-SZIzesuj.js.map} +1 -1
  342. package/dist/next/Pager.cjs.js +1 -1
  343. package/dist/next/Pager.js +1 -1
  344. package/dist/next/{PopOver-BBFa0Sr0.js → PopOver-BbAFKptt.js} +40 -40
  345. package/dist/next/{PopOver-BBFa0Sr0.js.map → PopOver-BbAFKptt.js.map} +1 -1
  346. package/dist/next/{PopOver-DoS-aqXT.cjs → PopOver-iFFxszSk.cjs} +40 -40
  347. package/dist/next/{PopOver-DoS-aqXT.cjs.map → PopOver-iFFxszSk.cjs.map} +1 -1
  348. package/dist/next/PopOver.cjs.js +1 -1
  349. package/dist/next/PopOver.js +1 -1
  350. package/dist/next/{ProgressBar-BIojCvdG.js → ProgressBar-Csn4f4-c.js} +43 -43
  351. package/dist/next/{ProgressBar-BIojCvdG.js.map → ProgressBar-Csn4f4-c.js.map} +1 -1
  352. package/dist/next/{ProgressBar-DyyIhH1C.cjs → ProgressBar-nXC_4OnG.cjs} +43 -43
  353. package/dist/next/{ProgressBar-DyyIhH1C.cjs.map → ProgressBar-nXC_4OnG.cjs.map} +1 -1
  354. package/dist/next/ProgressBar.cjs.js +1 -1
  355. package/dist/next/ProgressBar.js +1 -1
  356. package/dist/next/{RadioButton-V4J4u58H.cjs → RadioButton-6cb-ZRjy.cjs} +41 -41
  357. package/dist/next/{RadioButton-V4J4u58H.cjs.map → RadioButton-6cb-ZRjy.cjs.map} +1 -1
  358. package/dist/next/{RadioButton-B2yQz2_q.js → RadioButton-8E5GjzZu.js} +41 -41
  359. package/dist/next/{RadioButton-B2yQz2_q.js.map → RadioButton-8E5GjzZu.js.map} +1 -1
  360. package/dist/next/RadioButton.cjs.js +1 -1
  361. package/dist/next/RadioButton.js +1 -1
  362. package/dist/next/{Rating-C1Lb-VqV.cjs → Rating-Cpu_QzeB.cjs} +35 -35
  363. package/dist/next/{Rating-C1Lb-VqV.cjs.map → Rating-Cpu_QzeB.cjs.map} +1 -1
  364. package/dist/next/{Rating-DQsfA43l.js → Rating-DTMNrx0D.js} +35 -35
  365. package/dist/next/{Rating-DQsfA43l.js.map → Rating-DTMNrx0D.js.map} +1 -1
  366. package/dist/next/Rating.cjs.js +1 -1
  367. package/dist/next/Rating.js +1 -1
  368. package/dist/next/{STT-BygzgjFx.cjs → STT-CGgFuLw2.cjs} +14 -14
  369. package/dist/next/{STT-BygzgjFx.cjs.map → STT-CGgFuLw2.cjs.map} +1 -1
  370. package/dist/next/{STT-DKdM1tbk.js → STT-D-gwtml7.js} +14 -14
  371. package/dist/next/{STT-DKdM1tbk.js.map → STT-D-gwtml7.js.map} +1 -1
  372. package/dist/next/ScrollToTop.cjs.js +1 -1
  373. package/dist/next/ScrollToTop.js +1 -1
  374. package/dist/next/{Select-D4QdlQ6W.cjs → Select-DcMXhPmp.cjs} +51 -63
  375. package/dist/next/Select-DcMXhPmp.cjs.map +1 -0
  376. package/dist/next/{Select-B3JaOW2f.js → Select-rZ9u_rNi.js} +51 -63
  377. package/dist/next/Select-rZ9u_rNi.js.map +1 -0
  378. package/dist/next/Select.cjs.js +1 -1
  379. package/dist/next/Select.js +1 -1
  380. package/dist/next/{Sidebar-CbQ4ssz-.cjs → Sidebar-D2kCGLTC.cjs} +54 -74
  381. package/dist/next/Sidebar-D2kCGLTC.cjs.map +1 -0
  382. package/dist/next/{Sidebar-C6NbdjWV.js → Sidebar-DAGCv1cb.js} +54 -74
  383. package/dist/next/Sidebar-DAGCv1cb.js.map +1 -0
  384. package/dist/next/Sidebar.cjs.js +1 -1
  385. package/dist/next/Sidebar.js +1 -1
  386. package/dist/next/{Skeleton-BCbvshNz.cjs → Skeleton-BfebLfbb.cjs} +26 -26
  387. package/dist/next/{Skeleton-BCbvshNz.cjs.map → Skeleton-BfebLfbb.cjs.map} +1 -1
  388. package/dist/next/{Skeleton-D8Jqmncm.js → Skeleton-cWCNDrrp.js} +26 -26
  389. package/dist/next/{Skeleton-D8Jqmncm.js.map → Skeleton-cWCNDrrp.js.map} +1 -1
  390. package/dist/next/Skeleton.cjs.js +1 -1
  391. package/dist/next/Skeleton.js +1 -1
  392. package/dist/next/{Slider-q_hjFuqb.js → Slider-Bk0a8gqL.js} +43 -43
  393. package/dist/next/{Slider-q_hjFuqb.js.map → Slider-Bk0a8gqL.js.map} +1 -1
  394. package/dist/next/{Slider-BLoEjvbT.cjs → Slider-CuzYVS0J.cjs} +43 -43
  395. package/dist/next/{Slider-BLoEjvbT.cjs.map → Slider-CuzYVS0J.cjs.map} +1 -1
  396. package/dist/next/Slider.cjs.js +1 -1
  397. package/dist/next/Slider.js +1 -1
  398. package/dist/next/{Spinner-CagtJg0l.js → Spinner-BntSsGWn.js} +44 -34
  399. package/dist/next/{Spinner-CagtJg0l.js.map → Spinner-BntSsGWn.js.map} +1 -1
  400. package/dist/next/{Spinner-Bk_yQWCK.cjs → Spinner-CFah_Wyg.cjs} +44 -34
  401. package/dist/next/{Spinner-Bk_yQWCK.cjs.map → Spinner-CFah_Wyg.cjs.map} +1 -1
  402. package/dist/next/Spinner.cjs.js +1 -1
  403. package/dist/next/Spinner.js +1 -1
  404. package/dist/next/{Stepper-BzItximd.js → Stepper-59931F6-.js} +46 -60
  405. package/dist/next/{Stepper-BzItximd.js.map → Stepper-59931F6-.js.map} +1 -1
  406. package/dist/next/{Stepper-kC6EOZ_b.cjs → Stepper-YxxnY0y2.cjs} +46 -60
  407. package/dist/next/{Stepper-kC6EOZ_b.cjs.map → Stepper-YxxnY0y2.cjs.map} +1 -1
  408. package/dist/next/Stepper.cjs.js +1 -1
  409. package/dist/next/Stepper.js +1 -1
  410. package/dist/next/Tabs-0GBOWBIt.cjs +262 -0
  411. package/dist/next/Tabs-0GBOWBIt.cjs.map +1 -0
  412. package/dist/next/Tabs-Dl389scs.js +263 -0
  413. package/dist/next/Tabs-Dl389scs.js.map +1 -0
  414. package/dist/next/Tabs.cjs.js +1 -1
  415. package/dist/next/Tabs.js +1 -1
  416. package/dist/next/TagInput-Bjt_zbHy.js +362 -0
  417. package/dist/next/TagInput-Bjt_zbHy.js.map +1 -0
  418. package/dist/next/TagInput-Jswp7Yn5.cjs +361 -0
  419. package/dist/next/TagInput-Jswp7Yn5.cjs.map +1 -0
  420. package/dist/next/TagInput.cjs.js +1 -1
  421. package/dist/next/TagInput.js +1 -1
  422. package/dist/next/{TextArea-OpFozktU.cjs → TextArea-9AvILSCY.cjs} +53 -42
  423. package/dist/next/TextArea-9AvILSCY.cjs.map +1 -0
  424. package/dist/next/{TextArea-Bmkg-d0v.js → TextArea-xg4t0Lzo.js} +53 -42
  425. package/dist/next/TextArea-xg4t0Lzo.js.map +1 -0
  426. package/dist/next/TextArea.cjs.js +1 -1
  427. package/dist/next/TextArea.js +1 -1
  428. package/dist/next/{TextInput-CpbTf99E.cjs → TextInput-Cr0WjibW.cjs} +63 -67
  429. package/dist/next/TextInput-Cr0WjibW.cjs.map +1 -0
  430. package/dist/next/{TextInput-G1Pvtebv.js → TextInput-D9dzooMU.js} +63 -67
  431. package/dist/next/TextInput-D9dzooMU.js.map +1 -0
  432. package/dist/next/TextInput.cjs.js +1 -1
  433. package/dist/next/TextInput.js +1 -1
  434. package/dist/next/{ThemeContext-DJ18CFaV.js → ThemeContext-DSYDwr2m.js} +2 -1
  435. package/dist/next/ThemeContext-DSYDwr2m.js.map +1 -0
  436. package/dist/next/{ThemeContext-Iy-HHefR.cjs → ThemeContext-npFEznyu.cjs} +2 -1
  437. package/dist/next/ThemeContext-npFEznyu.cjs.map +1 -0
  438. package/dist/next/ThemeProvider.cjs.js +1 -1
  439. package/dist/next/ThemeProvider.js +1 -1
  440. package/dist/next/{Timeline-jmKmKwxD.cjs → Timeline-Dju3pHLR.cjs} +53 -62
  441. package/dist/next/Timeline-Dju3pHLR.cjs.map +1 -0
  442. package/dist/next/{Timeline-WHRPqD31.js → Timeline-KozBssou.js} +53 -62
  443. package/dist/next/Timeline-KozBssou.js.map +1 -0
  444. package/dist/next/Timeline.cjs.js +1 -1
  445. package/dist/next/Timeline.js +1 -1
  446. package/dist/next/{Toggle-ei8CN3th.cjs → Toggle-BQG-5q5G.cjs} +67 -46
  447. package/dist/next/Toggle-BQG-5q5G.cjs.map +1 -0
  448. package/dist/next/Toggle-Bb5d1QLE.js +172 -0
  449. package/dist/next/Toggle-Bb5d1QLE.js.map +1 -0
  450. package/dist/next/Toggle.cjs.js +1 -1
  451. package/dist/next/Toggle.js +1 -1
  452. package/dist/next/{Toolbar-Dw__aR2C.js → Toolbar-CHnjBixI.js} +49 -45
  453. package/dist/next/Toolbar-CHnjBixI.js.map +1 -0
  454. package/dist/next/{Toolbar-Dv6focMM.cjs → Toolbar-Dxscfy5X.cjs} +49 -45
  455. package/dist/next/Toolbar-Dxscfy5X.cjs.map +1 -0
  456. package/dist/next/Toolbar.cjs.js +1 -1
  457. package/dist/next/Toolbar.js +1 -1
  458. package/dist/next/Tooltip-2XEuDIAw.js +164 -0
  459. package/dist/next/Tooltip-2XEuDIAw.js.map +1 -0
  460. package/dist/next/Tooltip-FCqrcC7D.cjs +163 -0
  461. package/dist/next/Tooltip-FCqrcC7D.cjs.map +1 -0
  462. package/dist/next/Tooltip.cjs.js +1 -1
  463. package/dist/next/Tooltip.js +1 -1
  464. package/dist/next/index.cjs.js +47 -47
  465. package/dist/next/index.js +47 -47
  466. package/dist/next/style.css +13029 -8285
  467. package/dist/tsconfig.build.tsbuildinfo +1 -1
  468. package/dist/types/components/Accordion/AccordionBase.d.ts.map +1 -1
  469. package/dist/types/components/Badge/BadgeBase.d.ts.map +1 -1
  470. package/dist/types/components/Breadcrumbs/BreadcrumbsBase.d.ts.map +1 -1
  471. package/dist/types/components/Button/ButtonBase.d.ts.map +1 -1
  472. package/dist/types/components/Button/core/Button.d.ts +1 -2
  473. package/dist/types/components/Button/core/Button.d.ts.map +1 -1
  474. package/dist/types/components/Button/next/Button.d.ts +1 -2
  475. package/dist/types/components/Button/next/Button.d.ts.map +1 -1
  476. package/dist/types/components/Card/Card.types.d.ts +27 -6
  477. package/dist/types/components/Card/Card.types.d.ts.map +1 -1
  478. package/dist/types/components/Card/CardBase.d.ts.map +1 -1
  479. package/dist/types/components/Chip/ChipBase.d.ts.map +1 -1
  480. package/dist/types/components/DateTimePicker/DateTimePickerBase.d.ts.map +1 -1
  481. package/dist/types/components/Divider/Divider.types.d.ts.map +1 -1
  482. package/dist/types/components/Dropdown/Dropdown.types.d.ts +4 -1
  483. package/dist/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  484. package/dist/types/components/Dropdown/DropdownBase.d.ts.map +1 -1
  485. package/dist/types/components/EmptyState/EmptyState.types.d.ts +2 -1
  486. package/dist/types/components/EmptyState/EmptyState.types.d.ts.map +1 -1
  487. package/dist/types/components/FileUpload/FileUpload.types.d.ts +8 -4
  488. package/dist/types/components/FileUpload/FileUpload.types.d.ts.map +1 -1
  489. package/dist/types/components/Footer/Footer.types.d.ts +33 -11
  490. package/dist/types/components/Footer/Footer.types.d.ts.map +1 -1
  491. package/dist/types/components/Footer/FooterBase.d.ts.map +1 -1
  492. package/dist/types/components/IconButton/IconButton.types.d.ts +2 -0
  493. package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
  494. package/dist/types/components/IconButton/IconButtonBase.d.ts.map +1 -1
  495. package/dist/types/components/IconButton/core/IconButton.d.ts +1 -2
  496. package/dist/types/components/IconButton/core/IconButton.d.ts.map +1 -1
  497. package/dist/types/components/IconButton/next/IconButton.d.ts +2 -3
  498. package/dist/types/components/IconButton/next/IconButton.d.ts.map +1 -1
  499. package/dist/types/components/MarkdownRenderer/MarkdownRendererBase.d.ts.map +1 -1
  500. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts +8 -2
  501. package/dist/types/components/MessagePopUp/MessagePopup.types.d.ts.map +1 -1
  502. package/dist/types/components/MessagePopUp/core/MessagePopup.d.ts.map +1 -1
  503. package/dist/types/components/Modal/Modal.types.d.ts +4 -1
  504. package/dist/types/components/Modal/Modal.types.d.ts.map +1 -1
  505. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts +4 -2
  506. package/dist/types/components/NotificationCenter/NotificationCenter.types.d.ts.map +1 -1
  507. package/dist/types/components/NotificationCenter/NotificationCenterBase.d.ts.map +1 -1
  508. package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
  509. package/dist/types/components/Pager/Pager.types.d.ts +4 -2
  510. package/dist/types/components/Pager/Pager.types.d.ts.map +1 -1
  511. package/dist/types/components/Select/Select.types.d.ts +7 -0
  512. package/dist/types/components/Select/Select.types.d.ts.map +1 -1
  513. package/dist/types/components/Select/SelectBase.d.ts.map +1 -1
  514. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts +1 -8
  515. package/dist/types/components/Select/ThemeSelect/core/ThemeSelect.d.ts.map +1 -1
  516. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts +1 -8
  517. package/dist/types/components/Select/ThemeSelect/next/ThemeSelect.d.ts.map +1 -1
  518. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  519. package/dist/types/components/Sidebar/next/Sidebar.d.ts.map +1 -1
  520. package/dist/types/components/Stepper/Stepper.types.d.ts +2 -1
  521. package/dist/types/components/Stepper/Stepper.types.d.ts.map +1 -1
  522. package/dist/types/components/Stepper/StepperBase.d.ts.map +1 -1
  523. package/dist/types/components/Tabs/Tabs.types.d.ts +7 -0
  524. package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  525. package/dist/types/components/Tabs/TabsBase.d.ts +2 -4
  526. package/dist/types/components/Tabs/TabsBase.d.ts.map +1 -1
  527. package/dist/types/components/TagInput/TagInputBase.d.ts +2 -6
  528. package/dist/types/components/TagInput/TagInputBase.d.ts.map +1 -1
  529. package/dist/types/components/TagInput/Taginput.types.d.ts +7 -0
  530. package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
  531. package/dist/types/components/TagInput/core/Taginput.d.ts.map +1 -1
  532. package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
  533. package/dist/types/components/TextInput/TextInput.types.d.ts +5 -0
  534. package/dist/types/components/TextInput/TextInput.types.d.ts.map +1 -1
  535. package/dist/types/components/TextInput/TextInputBase.d.ts +2 -5
  536. package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
  537. package/dist/types/components/Timeline/TimelineBase.d.ts.map +1 -1
  538. package/dist/types/components/Toggle/Toggle.types.d.ts +3 -0
  539. package/dist/types/components/Toggle/Toggle.types.d.ts.map +1 -1
  540. package/dist/types/components/Toggle/ToggleBase.d.ts +1 -4
  541. package/dist/types/components/Toggle/ToggleBase.d.ts.map +1 -1
  542. package/dist/types/components/Toolbar/Toolbar.types.d.ts +2 -1
  543. package/dist/types/components/Toolbar/Toolbar.types.d.ts.map +1 -1
  544. package/dist/types/components/Toolbar/ToolbarBase.d.ts +2 -1
  545. package/dist/types/components/Toolbar/ToolbarBase.d.ts.map +1 -1
  546. package/dist/types/components/Tooltip/TooltipBase.d.ts +4 -2
  547. package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
  548. package/dist/types/context/ThemeContext.d.ts.map +1 -1
  549. package/package.json +13 -4
  550. package/dist/core/Accordion-CY5BCoA7.js.map +0 -1
  551. package/dist/core/Accordion-D6hxjkE1.cjs.map +0 -1
  552. package/dist/core/Breadcrumbs-BulpkVaU.js.map +0 -1
  553. package/dist/core/Breadcrumbs-hKtLDMrC.cjs.map +0 -1
  554. package/dist/core/Button-CD1ETVvS.cjs.map +0 -1
  555. package/dist/core/Button-sz60qyTn.js.map +0 -1
  556. package/dist/core/Card-BRExeyNd.js.map +0 -1
  557. package/dist/core/Card-jrGaJLdX.cjs.map +0 -1
  558. package/dist/core/Chip-ByR2AKjl.js.map +0 -1
  559. package/dist/core/Chip-C6sk2qAd.cjs.map +0 -1
  560. package/dist/core/DateTimePicker-Cq_QZBV5.js.map +0 -1
  561. package/dist/core/DateTimePicker-DU-vjgee.cjs.map +0 -1
  562. package/dist/core/Dropdown-CJo6T9__.cjs.map +0 -1
  563. package/dist/core/Dropdown-Dzjmt9gx.js.map +0 -1
  564. package/dist/core/FileUpload-Bcu5v4TO.js.map +0 -1
  565. package/dist/core/FileUpload-DrPV-Oiy.cjs.map +0 -1
  566. package/dist/core/Footer-DrYZJObN.cjs.map +0 -1
  567. package/dist/core/Footer-vLVfqKWf.js.map +0 -1
  568. package/dist/core/IconButton-B9WWbeSM.js.map +0 -1
  569. package/dist/core/IconButton-D_W4nsPZ.cjs.map +0 -1
  570. package/dist/core/MarkdownRenderer-COnLzf0t.js.map +0 -1
  571. package/dist/core/MarkdownRenderer-OUEnVOLG.cjs.map +0 -1
  572. package/dist/core/MessagePopup-CIsMNnVM.cjs.map +0 -1
  573. package/dist/core/MessagePopup-DiipcrNp.js.map +0 -1
  574. package/dist/core/Modal-BdxvP-Ei.cjs.map +0 -1
  575. package/dist/core/Modal-Bi8OdWKS.js.map +0 -1
  576. package/dist/core/NavBar-CBC9YPkH.js.map +0 -1
  577. package/dist/core/NavBar-DUNxiip6.cjs.map +0 -1
  578. package/dist/core/Select-C65ai0xO.cjs.map +0 -1
  579. package/dist/core/Select-bMjOWXRX.js.map +0 -1
  580. package/dist/core/Stepper-Cphvkx0O.cjs.map +0 -1
  581. package/dist/core/Stepper-DNSzwiZR.js.map +0 -1
  582. package/dist/core/Tabs-DptKFvPK.cjs.map +0 -1
  583. package/dist/core/Tabs-gpyaJFUs.js.map +0 -1
  584. package/dist/core/Taginput-BNZg4SGI.cjs +0 -244
  585. package/dist/core/Taginput-BNZg4SGI.cjs.map +0 -1
  586. package/dist/core/Taginput-D0wKEzGh.js +0 -245
  587. package/dist/core/Taginput-D0wKEzGh.js.map +0 -1
  588. package/dist/core/TextArea-DrU4oCj0.js.map +0 -1
  589. package/dist/core/TextArea-Nj-eO3Pv.cjs.map +0 -1
  590. package/dist/core/TextInput-B03e-LMT.cjs.map +0 -1
  591. package/dist/core/TextInput-C8mNE1R4.js.map +0 -1
  592. package/dist/core/ThemeContext-DJ18CFaV.js.map +0 -1
  593. package/dist/core/ThemeContext-D_SPnedS.cjs.map +0 -1
  594. package/dist/core/Timeline-D7fd8-u_.js.map +0 -1
  595. package/dist/core/Timeline-Dk0q-8BZ.cjs.map +0 -1
  596. package/dist/core/Toggle-CZftIdc3.js.map +0 -1
  597. package/dist/core/Toggle-v31rt4Ya.cjs.map +0 -1
  598. package/dist/core/Toolbar-Tf01bUjT.js.map +0 -1
  599. package/dist/core/Toolbar-zZrwUT66.cjs.map +0 -1
  600. package/dist/core/Tooltip-5SfsTZvz.cjs +0 -105
  601. package/dist/core/Tooltip-5SfsTZvz.cjs.map +0 -1
  602. package/dist/core/Tooltip-XfsZnGgV.js +0 -106
  603. package/dist/core/Tooltip-XfsZnGgV.js.map +0 -1
  604. package/dist/next/Accordion-81qBJa4M.js.map +0 -1
  605. package/dist/next/Accordion-CmbMyudL.cjs.map +0 -1
  606. package/dist/next/Badge-BG9cWEDv.js.map +0 -1
  607. package/dist/next/Badge-DLSfi5vo.cjs.map +0 -1
  608. package/dist/next/Breadcrumbs-IO2iNAjN.js.map +0 -1
  609. package/dist/next/Breadcrumbs-veVO4yuY.cjs.map +0 -1
  610. package/dist/next/Button-DN8rTQSp.js.map +0 -1
  611. package/dist/next/Button-sIKQmn_c.cjs.map +0 -1
  612. package/dist/next/Card-B9EjkoVy.js.map +0 -1
  613. package/dist/next/Card-BQTJkNCL.cjs.map +0 -1
  614. package/dist/next/Chip-CekCQRke.js.map +0 -1
  615. package/dist/next/Chip-CfJ473TI.cjs.map +0 -1
  616. package/dist/next/DateTimePicker-BJnnZBgd.js.map +0 -1
  617. package/dist/next/DateTimePicker-DivMR4Oe.cjs.map +0 -1
  618. package/dist/next/Dropdown-DqYjIelJ.js.map +0 -1
  619. package/dist/next/Dropdown-qvuelg8z.cjs.map +0 -1
  620. package/dist/next/Footer-CD8eu471.js.map +0 -1
  621. package/dist/next/Footer-CukKL1zM.cjs.map +0 -1
  622. package/dist/next/IconButton--X_Bqn4g.cjs.map +0 -1
  623. package/dist/next/IconButton-B1r838wY.js.map +0 -1
  624. package/dist/next/MarkdownRenderer-ByOcqHm_.cjs.map +0 -1
  625. package/dist/next/MarkdownRenderer-r0prlhyN.js.map +0 -1
  626. package/dist/next/MessagePopup-BL7842Cu.cjs.map +0 -1
  627. package/dist/next/MessagePopup-Bjgods-d.js.map +0 -1
  628. package/dist/next/Modal-Bauehvf1.cjs.map +0 -1
  629. package/dist/next/Modal-BddVxoXY.js.map +0 -1
  630. package/dist/next/NavBar-kgNrVtKB.js.map +0 -1
  631. package/dist/next/NavBar-yvxI6w8C.cjs.map +0 -1
  632. package/dist/next/Select-B3JaOW2f.js.map +0 -1
  633. package/dist/next/Select-D4QdlQ6W.cjs.map +0 -1
  634. package/dist/next/Sidebar-C6NbdjWV.js.map +0 -1
  635. package/dist/next/Sidebar-CbQ4ssz-.cjs.map +0 -1
  636. package/dist/next/Tabs-CuF_JTan.js +0 -215
  637. package/dist/next/Tabs-CuF_JTan.js.map +0 -1
  638. package/dist/next/Tabs-DhQgzZKQ.cjs +0 -214
  639. package/dist/next/Tabs-DhQgzZKQ.cjs.map +0 -1
  640. package/dist/next/TagInput-CJ2XdMU0.js +0 -297
  641. package/dist/next/TagInput-CJ2XdMU0.js.map +0 -1
  642. package/dist/next/TagInput-DuvUD94J.cjs +0 -296
  643. package/dist/next/TagInput-DuvUD94J.cjs.map +0 -1
  644. package/dist/next/TextArea-Bmkg-d0v.js.map +0 -1
  645. package/dist/next/TextArea-OpFozktU.cjs.map +0 -1
  646. package/dist/next/TextInput-CpbTf99E.cjs.map +0 -1
  647. package/dist/next/TextInput-G1Pvtebv.js.map +0 -1
  648. package/dist/next/ThemeContext-DJ18CFaV.js.map +0 -1
  649. package/dist/next/ThemeContext-Iy-HHefR.cjs.map +0 -1
  650. package/dist/next/Timeline-WHRPqD31.js.map +0 -1
  651. package/dist/next/Timeline-jmKmKwxD.cjs.map +0 -1
  652. package/dist/next/Toggle-D1vM9KrI.js +0 -151
  653. package/dist/next/Toggle-D1vM9KrI.js.map +0 -1
  654. package/dist/next/Toggle-ei8CN3th.cjs.map +0 -1
  655. package/dist/next/Toolbar-Dv6focMM.cjs.map +0 -1
  656. package/dist/next/Toolbar-Dw__aR2C.js.map +0 -1
  657. package/dist/next/Tooltip-CnwS0tgW.cjs +0 -150
  658. package/dist/next/Tooltip-CnwS0tgW.cjs.map +0 -1
  659. package/dist/next/Tooltip-DhRckexD.js +0 -151
  660. package/dist/next/Tooltip-DhRckexD.js.map +0 -1
  661. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts +0 -24
  662. package/dist/types/components/Footer/next/ClientFooterWrapper.d.ts.map +0 -1
@@ -0,0 +1,311 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { I as IconButton } from "./IconButton-DY1ppFX-.js";
3
+ import { T as TextInput } from "./TextInput-D38TZ4Pl.js";
4
+ import { useId, useState, useRef, useEffect, useMemo } from "react";
5
+ import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
6
+ import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
7
+ import { c as capitalize } from "./capitalize-C0TSQSPh.js";
8
+ import { c as getDefaultSize, d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
9
+ const TagInputBase = ({
10
+ tags = [],
11
+ onChange,
12
+ fetchSuggestions,
13
+ debounceMs = 300,
14
+ placeholder = "Add a tag...",
15
+ theme = getDefaultTheme(),
16
+ state = "",
17
+ size = getDefaultSize(),
18
+ rounding = getDefaultRounding(),
19
+ shadow = getDefaultShadow(),
20
+ "data-testid": testId = "tag-input",
21
+ ariaDescription = "Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.",
22
+ classMap,
23
+ IconButton: IconButton2,
24
+ TextInput: TextInput2
25
+ }) => {
26
+ const uid = useId();
27
+ const inputId = `${testId}-input-${uid}`;
28
+ const descId = `${testId}-desc-${uid}`;
29
+ const labelId = `${testId}-label-${uid}`;
30
+ const listboxId = `${testId}-listbox-${uid}`;
31
+ const statusId = `${testId}-status-${uid}`;
32
+ const [inputValue, setInputValue] = useState("");
33
+ const [tagList, setTagList] = useState(tags);
34
+ const [lastAction, setLastAction] = useState("");
35
+ const [suggestions, setSuggestions] = useState([]);
36
+ const [open, setOpen] = useState(false);
37
+ const [activeIndex, setActiveIndex] = useState(-1);
38
+ const debounceRef = useRef(null);
39
+ const hasTag = (val) => tagList.some((t) => t.toLowerCase() === val.toLowerCase());
40
+ useEffect(() => {
41
+ if (!fetchSuggestions) {
42
+ setSuggestions([]);
43
+ setOpen(false);
44
+ return;
45
+ }
46
+ if (debounceRef.current) clearTimeout(debounceRef.current);
47
+ const query = inputValue.trim();
48
+ if (!query) {
49
+ setSuggestions([]);
50
+ setOpen(false);
51
+ setActiveIndex(-1);
52
+ return;
53
+ }
54
+ debounceRef.current = setTimeout(async () => {
55
+ try {
56
+ const result = await fetchSuggestions(query);
57
+ setSuggestions(result || []);
58
+ setOpen(((result == null ? void 0 : result.length) ?? 0) > 0);
59
+ setActiveIndex(((result == null ? void 0 : result.length) ?? 0) > 0 ? 0 : -1);
60
+ } catch {
61
+ setSuggestions([]);
62
+ setOpen(false);
63
+ setActiveIndex(-1);
64
+ }
65
+ }, debounceMs);
66
+ return () => {
67
+ if (debounceRef.current) clearTimeout(debounceRef.current);
68
+ };
69
+ }, [inputValue, fetchSuggestions, debounceMs]);
70
+ const addTag = (raw) => {
71
+ const newTag = raw.trim();
72
+ if (!newTag || hasTag(newTag)) return false;
73
+ const updated = [...tagList, newTag];
74
+ setTagList(updated);
75
+ onChange == null ? void 0 : onChange(updated);
76
+ setLastAction(`Added tag ${newTag}.`);
77
+ return true;
78
+ };
79
+ const removeTag = (tag) => {
80
+ const updated = tagList.filter((t) => t !== tag);
81
+ setTagList(updated);
82
+ onChange == null ? void 0 : onChange(updated);
83
+ setLastAction(`Removed tag ${tag}.`);
84
+ };
85
+ const handleKeyDown = (event) => {
86
+ const { key } = event;
87
+ if (open && suggestions.length > 0) {
88
+ if (key === "ArrowDown") {
89
+ event.preventDefault();
90
+ setActiveIndex((i) => (i + 1) % suggestions.length);
91
+ return;
92
+ }
93
+ if (key === "ArrowUp") {
94
+ event.preventDefault();
95
+ setActiveIndex(
96
+ (i) => (i - 1 + suggestions.length) % suggestions.length
97
+ );
98
+ return;
99
+ }
100
+ if (key === "Enter") {
101
+ event.preventDefault();
102
+ const choice = suggestions[activeIndex];
103
+ if (choice && addTag(choice)) {
104
+ setInputValue("");
105
+ }
106
+ setSuggestions([]);
107
+ setOpen(false);
108
+ setActiveIndex(-1);
109
+ return;
110
+ }
111
+ if (key === "Escape") {
112
+ event.preventDefault();
113
+ setSuggestions([]);
114
+ setOpen(false);
115
+ setActiveIndex(-1);
116
+ return;
117
+ }
118
+ }
119
+ if (key === "Enter" || key === ",") {
120
+ event.preventDefault();
121
+ if (addTag(inputValue)) setInputValue("");
122
+ setSuggestions([]);
123
+ setOpen(false);
124
+ setActiveIndex(-1);
125
+ return;
126
+ }
127
+ if (key === "Backspace" && inputValue === "" && tagList.length > 0) {
128
+ const last = tagList[tagList.length - 1];
129
+ removeTag(last);
130
+ }
131
+ };
132
+ const wrapperClass = useMemo(
133
+ () => combineClassNames(
134
+ classMap.tagInput,
135
+ classMap[theme],
136
+ classMap[state],
137
+ classMap[size]
138
+ ),
139
+ [classMap, theme, state, size]
140
+ );
141
+ const tagClass = useMemo(
142
+ () => combineClassNames(
143
+ classMap.tag,
144
+ shadow && classMap[`shadow${capitalize(shadow)}`],
145
+ rounding && classMap[`round${capitalize(rounding)}`]
146
+ ),
147
+ [classMap, shadow, rounding]
148
+ );
149
+ const handleSuggestionClick = (suggestion) => {
150
+ if (addTag(suggestion)) setInputValue("");
151
+ setSuggestions([]);
152
+ setOpen(false);
153
+ setActiveIndex(-1);
154
+ };
155
+ const activeOptionId = open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : void 0;
156
+ return /* @__PURE__ */ jsxs(
157
+ "div",
158
+ {
159
+ className: wrapperClass,
160
+ role: "group",
161
+ "aria-labelledby": labelId,
162
+ "aria-describedby": `${descId} ${statusId}`,
163
+ "data-testid": testId,
164
+ children: [
165
+ /* @__PURE__ */ jsx("label", { id: labelId, className: "sr_only", children: "Tag Input" }),
166
+ /* @__PURE__ */ jsx(
167
+ "div",
168
+ {
169
+ id: descId,
170
+ className: "sr_only",
171
+ "data-testid": `${testId}-description`,
172
+ children: ariaDescription
173
+ }
174
+ ),
175
+ /* @__PURE__ */ jsx("ul", { className: classMap.tagContainer, "data-testid": `${testId}-list`, children: tagList.map((tag, index) => /* @__PURE__ */ jsxs(
176
+ "li",
177
+ {
178
+ className: tagClass,
179
+ role: "listitem",
180
+ "data-testid": `${testId}-tag-${index}`,
181
+ children: [
182
+ /* @__PURE__ */ jsx("span", { className: classMap.tagLabel, children: tag }),
183
+ /* @__PURE__ */ jsx(
184
+ IconButton2,
185
+ {
186
+ type: "button",
187
+ "aria-label": `Remove tag ${tag}`,
188
+ className: classMap.removeButton,
189
+ onClick: () => removeTag(tag),
190
+ "data-testid": `${testId}-remove-${index}`,
191
+ icon: CloseIcon,
192
+ size: "small",
193
+ theme: "clear",
194
+ shadow: "none",
195
+ iconClassName: classMap.removeButtonIcon
196
+ }
197
+ )
198
+ ]
199
+ },
200
+ `${tag}-${index}`
201
+ )) }),
202
+ /* @__PURE__ */ jsx("div", { className: classMap.inputWrapper, children: /* @__PURE__ */ jsx(
203
+ TextInput2,
204
+ {
205
+ id: inputId,
206
+ type: "text",
207
+ theme,
208
+ state,
209
+ rounding,
210
+ shadow,
211
+ className: classMap.input,
212
+ value: inputValue,
213
+ placeholder: tagList.length === 0 ? placeholder : "",
214
+ onChange: (e) => setInputValue(e.target.value),
215
+ onKeyDown: handleKeyDown,
216
+ autoComplete: "off",
217
+ role: "combobox",
218
+ "aria-autocomplete": "list",
219
+ "aria-expanded": open,
220
+ "aria-controls": listboxId,
221
+ "aria-activedescendant": activeOptionId,
222
+ "aria-label": "Add new tag",
223
+ "aria-describedby": `${descId} ${statusId}`,
224
+ "data-testid": `${testId}-input`
225
+ }
226
+ ) }),
227
+ open && suggestions.length > 0 && /* @__PURE__ */ jsx(
228
+ "ul",
229
+ {
230
+ className: classMap.suggestionList,
231
+ role: "listbox",
232
+ id: listboxId,
233
+ "aria-label": "Tag suggestions",
234
+ "data-testid": `${testId}-suggestions`,
235
+ children: suggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
236
+ "li",
237
+ {
238
+ id: `${listboxId}-opt-${index}`,
239
+ className: combineClassNames(
240
+ classMap.suggestionItem,
241
+ index === activeIndex && (classMap.active || "")
242
+ ),
243
+ role: "option",
244
+ "aria-selected": index === activeIndex,
245
+ onMouseDown: (e) => e.preventDefault(),
246
+ onClick: () => handleSuggestionClick(suggestion),
247
+ "data-testid": `${testId}-suggestion-${index}`,
248
+ children: suggestion
249
+ },
250
+ `${suggestion}-${index}`
251
+ ))
252
+ }
253
+ ),
254
+ /* @__PURE__ */ jsxs("div", { id: statusId, "aria-live": "polite", className: "sr_only", children: [
255
+ open && suggestions.length > 0 ? `${suggestions.length} suggestion${suggestions.length === 1 ? "" : "s"} available.` : "",
256
+ lastAction
257
+ ] })
258
+ ]
259
+ }
260
+ );
261
+ };
262
+ TagInputBase.displayName = "TagInputBase";
263
+ const classes = {
264
+ tagInput: "tag_input",
265
+ tagContainer: "tag_input_tag_container",
266
+ tag: "tag_input_tag",
267
+ tagLabel: "tag_input_tag_label",
268
+ removeButton: "tag_input_remove_button",
269
+ removeButtonIcon: "tag_input_remove_button_icon",
270
+ inputWrapper: "tag_input_input_wrapper",
271
+ input: "tag_input_input",
272
+ suggestionList: "tag_input_suggestion_list",
273
+ suggestionItem: "tag_input_suggestion_item",
274
+ primary: "tag_input_primary",
275
+ secondary: "tag_input_secondary",
276
+ tertiary: "tag_input_tertiary",
277
+ quaternary: "tag_input_quaternary",
278
+ success: "tag_input_success",
279
+ warning: "tag_input_warning",
280
+ error: "tag_input_error",
281
+ clear: "tag_input_clear",
282
+ xs: "tag_input_xs",
283
+ small: "tag_input_small",
284
+ medium: "tag_input_medium",
285
+ large: "tag_input_large",
286
+ xl: "tag_input_xl",
287
+ shadowNone: "tag_shadow-None",
288
+ shadowLight: "tag_shadow-Light",
289
+ shadowMedium: "tag_shadow-Medium",
290
+ shadowStrong: "tag_shadow-Strong",
291
+ shadowIntense: "tag_shadow-Intense",
292
+ roundNone: "tag_round-None",
293
+ roundSmall: "tag_round-Small",
294
+ roundMedium: "tag_round-Medium",
295
+ roundLarge: "tag_round-Large"
296
+ };
297
+ const TagInput = (props) => {
298
+ return /* @__PURE__ */ jsx(
299
+ TagInputBase,
300
+ {
301
+ ...props,
302
+ classMap: classes,
303
+ IconButton,
304
+ TextInput
305
+ }
306
+ );
307
+ };
308
+ export {
309
+ TagInput as T
310
+ };
311
+ //# sourceMappingURL=Taginput-C_JJRoDF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Taginput-C_JJRoDF.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/Taginput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./Taginput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = [],\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const inputId = `${testId}-input-${uid}`;\r\n const descId = `${testId}-desc-${uid}`;\r\n const labelId = `${testId}-label-${uid}`;\r\n const listboxId = `${testId}-listbox-${uid}`;\r\n const statusId = `${testId}-status-${uid}`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n return;\r\n }\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length\r\n );\r\n return;\r\n }\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size]\r\n ),\r\n [classMap, theme, state, size]\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, shadow, rounding]\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string) => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={`${descId} ${statusId}`}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={`${descId} ${statusId}`}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label=\"Tag suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\")\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../Taginput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n removeButtonIcon: \"tag_input_remove_button_icon\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\n\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput"],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const IconButton = require("./IconButton-Cs4PHptF.cjs");
4
+ const TextInput = require("./TextInput-WY4O9Zya.cjs");
5
+ const React = require("react");
6
+ const CloseIcon = require("./CloseIcon-DSnN6ggf.cjs");
7
+ const classNames = require("./classNames-BcWMx052.cjs");
8
+ const capitalize = require("./capitalize-DoV-nOmN.cjs");
9
+ const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
10
+ const TagInputBase = ({
11
+ tags = [],
12
+ onChange,
13
+ fetchSuggestions,
14
+ debounceMs = 300,
15
+ placeholder = "Add a tag...",
16
+ theme = borealStyleConfig.getDefaultTheme(),
17
+ state = "",
18
+ size = borealStyleConfig.getDefaultSize(),
19
+ rounding = borealStyleConfig.getDefaultRounding(),
20
+ shadow = borealStyleConfig.getDefaultShadow(),
21
+ "data-testid": testId = "tag-input",
22
+ ariaDescription = "Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.",
23
+ classMap,
24
+ IconButton: IconButton2,
25
+ TextInput: TextInput2
26
+ }) => {
27
+ const uid = React.useId();
28
+ const inputId = `${testId}-input-${uid}`;
29
+ const descId = `${testId}-desc-${uid}`;
30
+ const labelId = `${testId}-label-${uid}`;
31
+ const listboxId = `${testId}-listbox-${uid}`;
32
+ const statusId = `${testId}-status-${uid}`;
33
+ const [inputValue, setInputValue] = React.useState("");
34
+ const [tagList, setTagList] = React.useState(tags);
35
+ const [lastAction, setLastAction] = React.useState("");
36
+ const [suggestions, setSuggestions] = React.useState([]);
37
+ const [open, setOpen] = React.useState(false);
38
+ const [activeIndex, setActiveIndex] = React.useState(-1);
39
+ const debounceRef = React.useRef(null);
40
+ const hasTag = (val) => tagList.some((t) => t.toLowerCase() === val.toLowerCase());
41
+ React.useEffect(() => {
42
+ if (!fetchSuggestions) {
43
+ setSuggestions([]);
44
+ setOpen(false);
45
+ return;
46
+ }
47
+ if (debounceRef.current) clearTimeout(debounceRef.current);
48
+ const query = inputValue.trim();
49
+ if (!query) {
50
+ setSuggestions([]);
51
+ setOpen(false);
52
+ setActiveIndex(-1);
53
+ return;
54
+ }
55
+ debounceRef.current = setTimeout(async () => {
56
+ try {
57
+ const result = await fetchSuggestions(query);
58
+ setSuggestions(result || []);
59
+ setOpen(((result == null ? void 0 : result.length) ?? 0) > 0);
60
+ setActiveIndex(((result == null ? void 0 : result.length) ?? 0) > 0 ? 0 : -1);
61
+ } catch {
62
+ setSuggestions([]);
63
+ setOpen(false);
64
+ setActiveIndex(-1);
65
+ }
66
+ }, debounceMs);
67
+ return () => {
68
+ if (debounceRef.current) clearTimeout(debounceRef.current);
69
+ };
70
+ }, [inputValue, fetchSuggestions, debounceMs]);
71
+ const addTag = (raw) => {
72
+ const newTag = raw.trim();
73
+ if (!newTag || hasTag(newTag)) return false;
74
+ const updated = [...tagList, newTag];
75
+ setTagList(updated);
76
+ onChange == null ? void 0 : onChange(updated);
77
+ setLastAction(`Added tag ${newTag}.`);
78
+ return true;
79
+ };
80
+ const removeTag = (tag) => {
81
+ const updated = tagList.filter((t) => t !== tag);
82
+ setTagList(updated);
83
+ onChange == null ? void 0 : onChange(updated);
84
+ setLastAction(`Removed tag ${tag}.`);
85
+ };
86
+ const handleKeyDown = (event) => {
87
+ const { key } = event;
88
+ if (open && suggestions.length > 0) {
89
+ if (key === "ArrowDown") {
90
+ event.preventDefault();
91
+ setActiveIndex((i) => (i + 1) % suggestions.length);
92
+ return;
93
+ }
94
+ if (key === "ArrowUp") {
95
+ event.preventDefault();
96
+ setActiveIndex(
97
+ (i) => (i - 1 + suggestions.length) % suggestions.length
98
+ );
99
+ return;
100
+ }
101
+ if (key === "Enter") {
102
+ event.preventDefault();
103
+ const choice = suggestions[activeIndex];
104
+ if (choice && addTag(choice)) {
105
+ setInputValue("");
106
+ }
107
+ setSuggestions([]);
108
+ setOpen(false);
109
+ setActiveIndex(-1);
110
+ return;
111
+ }
112
+ if (key === "Escape") {
113
+ event.preventDefault();
114
+ setSuggestions([]);
115
+ setOpen(false);
116
+ setActiveIndex(-1);
117
+ return;
118
+ }
119
+ }
120
+ if (key === "Enter" || key === ",") {
121
+ event.preventDefault();
122
+ if (addTag(inputValue)) setInputValue("");
123
+ setSuggestions([]);
124
+ setOpen(false);
125
+ setActiveIndex(-1);
126
+ return;
127
+ }
128
+ if (key === "Backspace" && inputValue === "" && tagList.length > 0) {
129
+ const last = tagList[tagList.length - 1];
130
+ removeTag(last);
131
+ }
132
+ };
133
+ const wrapperClass = React.useMemo(
134
+ () => classNames.combineClassNames(
135
+ classMap.tagInput,
136
+ classMap[theme],
137
+ classMap[state],
138
+ classMap[size]
139
+ ),
140
+ [classMap, theme, state, size]
141
+ );
142
+ const tagClass = React.useMemo(
143
+ () => classNames.combineClassNames(
144
+ classMap.tag,
145
+ shadow && classMap[`shadow${capitalize.capitalize(shadow)}`],
146
+ rounding && classMap[`round${capitalize.capitalize(rounding)}`]
147
+ ),
148
+ [classMap, shadow, rounding]
149
+ );
150
+ const handleSuggestionClick = (suggestion) => {
151
+ if (addTag(suggestion)) setInputValue("");
152
+ setSuggestions([]);
153
+ setOpen(false);
154
+ setActiveIndex(-1);
155
+ };
156
+ const activeOptionId = open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : void 0;
157
+ return /* @__PURE__ */ jsxRuntime.jsxs(
158
+ "div",
159
+ {
160
+ className: wrapperClass,
161
+ role: "group",
162
+ "aria-labelledby": labelId,
163
+ "aria-describedby": `${descId} ${statusId}`,
164
+ "data-testid": testId,
165
+ children: [
166
+ /* @__PURE__ */ jsxRuntime.jsx("label", { id: labelId, className: "sr_only", children: "Tag Input" }),
167
+ /* @__PURE__ */ jsxRuntime.jsx(
168
+ "div",
169
+ {
170
+ id: descId,
171
+ className: "sr_only",
172
+ "data-testid": `${testId}-description`,
173
+ children: ariaDescription
174
+ }
175
+ ),
176
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: classMap.tagContainer, "data-testid": `${testId}-list`, children: tagList.map((tag, index) => /* @__PURE__ */ jsxRuntime.jsxs(
177
+ "li",
178
+ {
179
+ className: tagClass,
180
+ role: "listitem",
181
+ "data-testid": `${testId}-tag-${index}`,
182
+ children: [
183
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: classMap.tagLabel, children: tag }),
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ IconButton2,
186
+ {
187
+ type: "button",
188
+ "aria-label": `Remove tag ${tag}`,
189
+ className: classMap.removeButton,
190
+ onClick: () => removeTag(tag),
191
+ "data-testid": `${testId}-remove-${index}`,
192
+ icon: CloseIcon.CloseIcon,
193
+ size: "small",
194
+ theme: "clear",
195
+ shadow: "none",
196
+ iconClassName: classMap.removeButtonIcon
197
+ }
198
+ )
199
+ ]
200
+ },
201
+ `${tag}-${index}`
202
+ )) }),
203
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classMap.inputWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(
204
+ TextInput2,
205
+ {
206
+ id: inputId,
207
+ type: "text",
208
+ theme,
209
+ state,
210
+ rounding,
211
+ shadow,
212
+ className: classMap.input,
213
+ value: inputValue,
214
+ placeholder: tagList.length === 0 ? placeholder : "",
215
+ onChange: (e) => setInputValue(e.target.value),
216
+ onKeyDown: handleKeyDown,
217
+ autoComplete: "off",
218
+ role: "combobox",
219
+ "aria-autocomplete": "list",
220
+ "aria-expanded": open,
221
+ "aria-controls": listboxId,
222
+ "aria-activedescendant": activeOptionId,
223
+ "aria-label": "Add new tag",
224
+ "aria-describedby": `${descId} ${statusId}`,
225
+ "data-testid": `${testId}-input`
226
+ }
227
+ ) }),
228
+ open && suggestions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
229
+ "ul",
230
+ {
231
+ className: classMap.suggestionList,
232
+ role: "listbox",
233
+ id: listboxId,
234
+ "aria-label": "Tag suggestions",
235
+ "data-testid": `${testId}-suggestions`,
236
+ children: suggestions.map((suggestion, index) => /* @__PURE__ */ jsxRuntime.jsx(
237
+ "li",
238
+ {
239
+ id: `${listboxId}-opt-${index}`,
240
+ className: classNames.combineClassNames(
241
+ classMap.suggestionItem,
242
+ index === activeIndex && (classMap.active || "")
243
+ ),
244
+ role: "option",
245
+ "aria-selected": index === activeIndex,
246
+ onMouseDown: (e) => e.preventDefault(),
247
+ onClick: () => handleSuggestionClick(suggestion),
248
+ "data-testid": `${testId}-suggestion-${index}`,
249
+ children: suggestion
250
+ },
251
+ `${suggestion}-${index}`
252
+ ))
253
+ }
254
+ ),
255
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { id: statusId, "aria-live": "polite", className: "sr_only", children: [
256
+ open && suggestions.length > 0 ? `${suggestions.length} suggestion${suggestions.length === 1 ? "" : "s"} available.` : "",
257
+ lastAction
258
+ ] })
259
+ ]
260
+ }
261
+ );
262
+ };
263
+ TagInputBase.displayName = "TagInputBase";
264
+ const classes = {
265
+ tagInput: "tag_input",
266
+ tagContainer: "tag_input_tag_container",
267
+ tag: "tag_input_tag",
268
+ tagLabel: "tag_input_tag_label",
269
+ removeButton: "tag_input_remove_button",
270
+ removeButtonIcon: "tag_input_remove_button_icon",
271
+ inputWrapper: "tag_input_input_wrapper",
272
+ input: "tag_input_input",
273
+ suggestionList: "tag_input_suggestion_list",
274
+ suggestionItem: "tag_input_suggestion_item",
275
+ primary: "tag_input_primary",
276
+ secondary: "tag_input_secondary",
277
+ tertiary: "tag_input_tertiary",
278
+ quaternary: "tag_input_quaternary",
279
+ success: "tag_input_success",
280
+ warning: "tag_input_warning",
281
+ error: "tag_input_error",
282
+ clear: "tag_input_clear",
283
+ xs: "tag_input_xs",
284
+ small: "tag_input_small",
285
+ medium: "tag_input_medium",
286
+ large: "tag_input_large",
287
+ xl: "tag_input_xl",
288
+ shadowNone: "tag_shadow-None",
289
+ shadowLight: "tag_shadow-Light",
290
+ shadowMedium: "tag_shadow-Medium",
291
+ shadowStrong: "tag_shadow-Strong",
292
+ shadowIntense: "tag_shadow-Intense",
293
+ roundNone: "tag_round-None",
294
+ roundSmall: "tag_round-Small",
295
+ roundMedium: "tag_round-Medium",
296
+ roundLarge: "tag_round-Large"
297
+ };
298
+ const TagInput = (props) => {
299
+ return /* @__PURE__ */ jsxRuntime.jsx(
300
+ TagInputBase,
301
+ {
302
+ ...props,
303
+ classMap: classes,
304
+ IconButton: IconButton.IconButton,
305
+ TextInput: TextInput.TextInput
306
+ }
307
+ );
308
+ };
309
+ exports.TagInput = TagInput;
310
+ //# sourceMappingURL=Taginput-kqeTeVJY.cjs.map