boreal-ui 0.0.34 → 0.0.35

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 (313) hide show
  1. package/dist/core/{Card-BRExeyNd.js → Card-Bagax-bx.js} +2 -2
  2. package/dist/core/{Card-BRExeyNd.js.map → Card-Bagax-bx.js.map} +1 -1
  3. package/dist/core/{Card-jrGaJLdX.cjs → Card-DtHJdWNq.cjs} +2 -2
  4. package/dist/core/{Card-jrGaJLdX.cjs.map → Card-DtHJdWNq.cjs.map} +1 -1
  5. package/dist/core/Card.cjs.js +1 -1
  6. package/dist/core/Card.js +1 -1
  7. package/dist/core/{Chip-C6sk2qAd.cjs → Chip-C8spwPgH.cjs} +2 -2
  8. package/dist/core/{Chip-C6sk2qAd.cjs.map → Chip-C8spwPgH.cjs.map} +1 -1
  9. package/dist/core/{Chip-ByR2AKjl.js → Chip-DxwLK-G6.js} +2 -2
  10. package/dist/core/{Chip-ByR2AKjl.js.map → Chip-DxwLK-G6.js.map} +1 -1
  11. package/dist/core/Chip.cjs.js +1 -1
  12. package/dist/core/Chip.js +1 -1
  13. package/dist/core/{CommandPalette-KcMGDC0i.js → CommandPalette-Dmy5lWzv.js} +2 -2
  14. package/dist/core/{CommandPalette-KcMGDC0i.js.map → CommandPalette-Dmy5lWzv.js.map} +1 -1
  15. package/dist/core/{CommandPalette-IOV8q6GZ.cjs → CommandPalette-SxHF3-VM.cjs} +2 -2
  16. package/dist/core/{CommandPalette-IOV8q6GZ.cjs.map → CommandPalette-SxHF3-VM.cjs.map} +1 -1
  17. package/dist/core/CommandPalette.cjs.js +1 -1
  18. package/dist/core/CommandPalette.js +1 -1
  19. package/dist/core/{Dropdown-CJo6T9__.cjs → Dropdown-Dlo--tIl.cjs} +2 -2
  20. package/dist/core/{Dropdown-CJo6T9__.cjs.map → Dropdown-Dlo--tIl.cjs.map} +1 -1
  21. package/dist/core/{Dropdown-Dzjmt9gx.js → Dropdown-GA_yvFVS.js} +2 -2
  22. package/dist/core/{Dropdown-Dzjmt9gx.js.map → Dropdown-GA_yvFVS.js.map} +1 -1
  23. package/dist/core/Dropdown.cjs.js +1 -1
  24. package/dist/core/Dropdown.js +1 -1
  25. package/dist/core/{FileUpload-Bcu5v4TO.js → FileUpload-DJ1wI_Bm.js} +2 -2
  26. package/dist/core/{FileUpload-Bcu5v4TO.js.map → FileUpload-DJ1wI_Bm.js.map} +1 -1
  27. package/dist/core/{FileUpload-DrPV-Oiy.cjs → FileUpload-aqWEEHIW.cjs} +2 -2
  28. package/dist/core/{FileUpload-DrPV-Oiy.cjs.map → FileUpload-aqWEEHIW.cjs.map} +1 -1
  29. package/dist/core/FileUpload.cjs.js +1 -1
  30. package/dist/core/FileUpload.js +1 -1
  31. package/dist/core/{Footer-vLVfqKWf.js → Footer-9x3F5gZx.js} +2 -2
  32. package/dist/core/{Footer-vLVfqKWf.js.map → Footer-9x3F5gZx.js.map} +1 -1
  33. package/dist/core/{Footer-DrYZJObN.cjs → Footer-VpViLKN_.cjs} +2 -2
  34. package/dist/core/{Footer-DrYZJObN.cjs.map → Footer-VpViLKN_.cjs.map} +1 -1
  35. package/dist/core/Footer.cjs.js +1 -1
  36. package/dist/core/Footer.js +1 -1
  37. package/dist/core/{IconButton-D_W4nsPZ.cjs → IconButton-Bjjlbqiq.cjs} +4 -2
  38. package/dist/core/IconButton-Bjjlbqiq.cjs.map +1 -0
  39. package/dist/core/{IconButton-B9WWbeSM.js → IconButton-DgfUCfo9.js} +4 -2
  40. package/dist/core/IconButton-DgfUCfo9.js.map +1 -0
  41. package/dist/core/IconButton.cjs.js +1 -1
  42. package/dist/core/IconButton.js +1 -1
  43. package/dist/core/MessagePopUp.cjs.js +1 -1
  44. package/dist/core/MessagePopUp.js +1 -1
  45. package/dist/core/{MessagePopup-CIsMNnVM.cjs → MessagePopup-D2nlhTvG.cjs} +2 -2
  46. package/dist/core/{MessagePopup-CIsMNnVM.cjs.map → MessagePopup-D2nlhTvG.cjs.map} +1 -1
  47. package/dist/core/{MessagePopup-DiipcrNp.js → MessagePopup-eNK7XvUn.js} +2 -2
  48. package/dist/core/{MessagePopup-DiipcrNp.js.map → MessagePopup-eNK7XvUn.js.map} +1 -1
  49. package/dist/core/{Modal-BdxvP-Ei.cjs → Modal-B7IqleCB.cjs} +2 -2
  50. package/dist/core/{Modal-BdxvP-Ei.cjs.map → Modal-B7IqleCB.cjs.map} +1 -1
  51. package/dist/core/{Modal-Bi8OdWKS.js → Modal-Cy0AsPTV.js} +2 -2
  52. package/dist/core/{Modal-Bi8OdWKS.js.map → Modal-Cy0AsPTV.js.map} +1 -1
  53. package/dist/core/Modal.cjs.js +1 -1
  54. package/dist/core/Modal.js +1 -1
  55. package/dist/core/{NotificationCenter-BkoTAZCz.js → NotificationCenter-DgSWWT0G.js} +2 -2
  56. package/dist/core/{NotificationCenter-BkoTAZCz.js.map → NotificationCenter-DgSWWT0G.js.map} +1 -1
  57. package/dist/core/{NotificationCenter-DpdzdrPB.cjs → NotificationCenter-c99_Xq4J.cjs} +2 -2
  58. package/dist/core/{NotificationCenter-DpdzdrPB.cjs.map → NotificationCenter-c99_Xq4J.cjs.map} +1 -1
  59. package/dist/core/NotificationCenter.cjs.js +1 -1
  60. package/dist/core/NotificationCenter.js +1 -1
  61. package/dist/core/{Pager-CcIEdgIe.cjs → Pager-BWlXTFPR.cjs} +2 -2
  62. package/dist/core/{Pager-CcIEdgIe.cjs.map → Pager-BWlXTFPR.cjs.map} +1 -1
  63. package/dist/core/{Pager-De-awunI.js → Pager-Dr2H_Q5L.js} +2 -2
  64. package/dist/core/{Pager-De-awunI.js.map → Pager-Dr2H_Q5L.js.map} +1 -1
  65. package/dist/core/Pager.cjs.js +1 -1
  66. package/dist/core/Pager.js +1 -1
  67. package/dist/core/{Stepper-DNSzwiZR.js → Stepper-CxZGa2CS.js} +2 -2
  68. package/dist/core/{Stepper-DNSzwiZR.js.map → Stepper-CxZGa2CS.js.map} +1 -1
  69. package/dist/core/{Stepper-Cphvkx0O.cjs → Stepper-gvaKLuno.cjs} +2 -2
  70. package/dist/core/{Stepper-Cphvkx0O.cjs.map → Stepper-gvaKLuno.cjs.map} +1 -1
  71. package/dist/core/Stepper.cjs.js +1 -1
  72. package/dist/core/Stepper.js +1 -1
  73. package/dist/core/{Tabs-gpyaJFUs.js → Tabs-BaKDr0uF.js} +84 -36
  74. package/dist/core/Tabs-BaKDr0uF.js.map +1 -0
  75. package/dist/core/{Tabs-DptKFvPK.cjs → Tabs-C6lDM19i.cjs} +83 -35
  76. package/dist/core/Tabs-C6lDM19i.cjs.map +1 -0
  77. package/dist/core/Tabs.cjs.js +1 -1
  78. package/dist/core/Tabs.js +1 -1
  79. package/dist/core/TagInput.cjs.js +1 -1
  80. package/dist/core/TagInput.js +1 -1
  81. package/dist/core/Taginput-5LKYwPzy.js +311 -0
  82. package/dist/core/Taginput-5LKYwPzy.js.map +1 -0
  83. package/dist/core/Taginput-RYBBGWLK.cjs +310 -0
  84. package/dist/core/Taginput-RYBBGWLK.cjs.map +1 -0
  85. package/dist/core/{TextArea-Nj-eO3Pv.cjs → TextArea-BAFMXw6Y.cjs} +17 -6
  86. package/dist/core/TextArea-BAFMXw6Y.cjs.map +1 -0
  87. package/dist/core/{TextArea-DrU4oCj0.js → TextArea-C2S64tIN.js} +17 -6
  88. package/dist/core/TextArea-C2S64tIN.js.map +1 -0
  89. package/dist/core/TextArea.cjs.js +1 -1
  90. package/dist/core/TextArea.js +1 -1
  91. package/dist/core/{TextInput-B03e-LMT.cjs → TextInput-5Bpg7Tdt.cjs} +28 -11
  92. package/dist/core/TextInput-5Bpg7Tdt.cjs.map +1 -0
  93. package/dist/core/{TextInput-C8mNE1R4.js → TextInput-DQPZXEA2.js} +28 -11
  94. package/dist/core/TextInput-DQPZXEA2.js.map +1 -0
  95. package/dist/core/TextInput.cjs.js +1 -1
  96. package/dist/core/TextInput.js +1 -1
  97. package/dist/core/{Timeline-D7fd8-u_.js → Timeline-BfJd6flB.js} +22 -16
  98. package/dist/core/Timeline-BfJd6flB.js.map +1 -0
  99. package/dist/core/{Timeline-Dk0q-8BZ.cjs → Timeline-Bmnr7xnx.cjs} +22 -16
  100. package/dist/core/Timeline-Bmnr7xnx.cjs.map +1 -0
  101. package/dist/core/Timeline.cjs.js +1 -1
  102. package/dist/core/Timeline.js +1 -1
  103. package/dist/core/{Toggle-v31rt4Ya.cjs → Toggle-Dor7IEx3.cjs} +36 -15
  104. package/dist/core/Toggle-Dor7IEx3.cjs.map +1 -0
  105. package/dist/core/{Toggle-CZftIdc3.js → Toggle-sPyKNt4P.js} +38 -17
  106. package/dist/core/Toggle-sPyKNt4P.js.map +1 -0
  107. package/dist/core/Toggle.cjs.js +1 -1
  108. package/dist/core/Toggle.js +1 -1
  109. package/dist/core/{Toolbar-Tf01bUjT.js → Toolbar-CSDhcIPb.js} +15 -11
  110. package/dist/core/Toolbar-CSDhcIPb.js.map +1 -0
  111. package/dist/core/{Toolbar-zZrwUT66.cjs → Toolbar-xot4FSLU.cjs} +15 -11
  112. package/dist/core/Toolbar-xot4FSLU.cjs.map +1 -0
  113. package/dist/core/Toolbar.cjs.js +1 -1
  114. package/dist/core/Toolbar.js +1 -1
  115. package/dist/core/Tooltip-BzmV7ztl.cjs +120 -0
  116. package/dist/core/Tooltip-BzmV7ztl.cjs.map +1 -0
  117. package/dist/core/Tooltip-iUp73wB4.js +121 -0
  118. package/dist/core/Tooltip-iUp73wB4.js.map +1 -0
  119. package/dist/core/Tooltip.cjs.js +1 -1
  120. package/dist/core/Tooltip.js +1 -1
  121. package/dist/core/index.cjs.js +20 -20
  122. package/dist/core/index.js +20 -20
  123. package/dist/core/style.css +20 -10
  124. package/dist/next/{Card-BQTJkNCL.cjs → Card-CAH-CrbH.cjs} +2 -2
  125. package/dist/next/{Card-BQTJkNCL.cjs.map → Card-CAH-CrbH.cjs.map} +1 -1
  126. package/dist/next/{Card-B9EjkoVy.js → Card-KFr31XTs.js} +2 -2
  127. package/dist/next/{Card-B9EjkoVy.js.map → Card-KFr31XTs.js.map} +1 -1
  128. package/dist/next/Card.cjs.js +1 -1
  129. package/dist/next/Card.js +1 -1
  130. package/dist/next/{Chip-CfJ473TI.cjs → Chip-C7w9CTed.cjs} +2 -2
  131. package/dist/next/{Chip-CfJ473TI.cjs.map → Chip-C7w9CTed.cjs.map} +1 -1
  132. package/dist/next/{Chip-CekCQRke.js → Chip-Qa_1km99.js} +2 -2
  133. package/dist/next/{Chip-CekCQRke.js.map → Chip-Qa_1km99.js.map} +1 -1
  134. package/dist/next/Chip.cjs.js +1 -1
  135. package/dist/next/Chip.js +1 -1
  136. package/dist/next/{CommandPalette-BEDyY7vY.js → CommandPalette-D6ZeGNWl.js} +2 -2
  137. package/dist/next/{CommandPalette-BEDyY7vY.js.map → CommandPalette-D6ZeGNWl.js.map} +1 -1
  138. package/dist/next/{CommandPalette-DhyChRCJ.cjs → CommandPalette-DHTJFymB.cjs} +2 -2
  139. package/dist/next/{CommandPalette-DhyChRCJ.cjs.map → CommandPalette-DHTJFymB.cjs.map} +1 -1
  140. package/dist/next/CommandPalette.cjs.js +1 -1
  141. package/dist/next/CommandPalette.js +1 -1
  142. package/dist/next/{Dropdown-qvuelg8z.cjs → Dropdown-BbdsK4H6.cjs} +2 -2
  143. package/dist/next/{Dropdown-qvuelg8z.cjs.map → Dropdown-BbdsK4H6.cjs.map} +1 -1
  144. package/dist/next/{Dropdown-DqYjIelJ.js → Dropdown-BvUfz8G7.js} +2 -2
  145. package/dist/next/{Dropdown-DqYjIelJ.js.map → Dropdown-BvUfz8G7.js.map} +1 -1
  146. package/dist/next/Dropdown.cjs.js +1 -1
  147. package/dist/next/Dropdown.js +1 -1
  148. package/dist/next/{FileUpload-BSqFdKZD.js → FileUpload-BxmKK5BE.js} +2 -2
  149. package/dist/next/{FileUpload-BSqFdKZD.js.map → FileUpload-BxmKK5BE.js.map} +1 -1
  150. package/dist/next/{FileUpload-DpxmgS-B.cjs → FileUpload-C95H9D4N.cjs} +2 -2
  151. package/dist/next/{FileUpload-DpxmgS-B.cjs.map → FileUpload-C95H9D4N.cjs.map} +1 -1
  152. package/dist/next/FileUpload.cjs.js +1 -1
  153. package/dist/next/FileUpload.js +1 -1
  154. package/dist/next/{Footer-CukKL1zM.cjs → Footer-C98DQNB3.cjs} +2 -2
  155. package/dist/next/{Footer-CukKL1zM.cjs.map → Footer-C98DQNB3.cjs.map} +1 -1
  156. package/dist/next/{Footer-CD8eu471.js → Footer-DhBE3lNY.js} +2 -2
  157. package/dist/next/{Footer-CD8eu471.js.map → Footer-DhBE3lNY.js.map} +1 -1
  158. package/dist/next/Footer.cjs.js +1 -1
  159. package/dist/next/Footer.js +1 -1
  160. package/dist/next/{IconButton-B1r838wY.js → IconButton-B_j-S10f.js} +4 -2
  161. package/dist/next/IconButton-B_j-S10f.js.map +1 -0
  162. package/dist/next/{IconButton--X_Bqn4g.cjs → IconButton-C3WpabtT.cjs} +4 -2
  163. package/dist/next/IconButton-C3WpabtT.cjs.map +1 -0
  164. package/dist/next/IconButton.cjs.js +1 -1
  165. package/dist/next/IconButton.js +1 -1
  166. package/dist/next/MessagePopUp.cjs.js +1 -1
  167. package/dist/next/MessagePopUp.js +1 -1
  168. package/dist/next/{MessagePopup-Bjgods-d.js → MessagePopup-BFKRiymY.js} +2 -2
  169. package/dist/next/{MessagePopup-Bjgods-d.js.map → MessagePopup-BFKRiymY.js.map} +1 -1
  170. package/dist/next/{MessagePopup-BL7842Cu.cjs → MessagePopup-CcM5nRAG.cjs} +2 -2
  171. package/dist/next/{MessagePopup-BL7842Cu.cjs.map → MessagePopup-CcM5nRAG.cjs.map} +1 -1
  172. package/dist/next/{Modal-BddVxoXY.js → Modal-DIZf7sgL.js} +2 -2
  173. package/dist/next/{Modal-BddVxoXY.js.map → Modal-DIZf7sgL.js.map} +1 -1
  174. package/dist/next/{Modal-Bauehvf1.cjs → Modal-hk84_P6s.cjs} +2 -2
  175. package/dist/next/{Modal-Bauehvf1.cjs.map → Modal-hk84_P6s.cjs.map} +1 -1
  176. package/dist/next/Modal.cjs.js +1 -1
  177. package/dist/next/Modal.js +1 -1
  178. package/dist/next/{NotificationCenter-dkrHsIKr.cjs → NotificationCenter-CLMiEWUG.cjs} +2 -2
  179. package/dist/next/{NotificationCenter-dkrHsIKr.cjs.map → NotificationCenter-CLMiEWUG.cjs.map} +1 -1
  180. package/dist/next/{NotificationCenter-DlbqVzzr.js → NotificationCenter-D3Eucn9z.js} +2 -2
  181. package/dist/next/{NotificationCenter-DlbqVzzr.js.map → NotificationCenter-D3Eucn9z.js.map} +1 -1
  182. package/dist/next/NotificationCenter.cjs.js +1 -1
  183. package/dist/next/NotificationCenter.js +1 -1
  184. package/dist/next/{Pager-jPCTdMIg.cjs → Pager-BpTg_723.cjs} +2 -2
  185. package/dist/next/{Pager-jPCTdMIg.cjs.map → Pager-BpTg_723.cjs.map} +1 -1
  186. package/dist/next/{Pager-CGqvekhJ.js → Pager-nKqhRoht.js} +2 -2
  187. package/dist/next/{Pager-CGqvekhJ.js.map → Pager-nKqhRoht.js.map} +1 -1
  188. package/dist/next/Pager.cjs.js +1 -1
  189. package/dist/next/Pager.js +1 -1
  190. package/dist/next/{Stepper-kC6EOZ_b.cjs → Stepper-CWXKcAae.cjs} +2 -2
  191. package/dist/next/{Stepper-kC6EOZ_b.cjs.map → Stepper-CWXKcAae.cjs.map} +1 -1
  192. package/dist/next/{Stepper-BzItximd.js → Stepper-b-0SYFcE.js} +2 -2
  193. package/dist/next/{Stepper-BzItximd.js.map → Stepper-b-0SYFcE.js.map} +1 -1
  194. package/dist/next/Stepper.cjs.js +1 -1
  195. package/dist/next/Stepper.js +1 -1
  196. package/dist/next/{Tabs-CuF_JTan.js → Tabs-B94nrX75.js} +84 -36
  197. package/dist/next/Tabs-B94nrX75.js.map +1 -0
  198. package/dist/next/{Tabs-DhQgzZKQ.cjs → Tabs-Dom5sh_U.cjs} +83 -35
  199. package/dist/next/Tabs-Dom5sh_U.cjs.map +1 -0
  200. package/dist/next/Tabs.cjs.js +1 -1
  201. package/dist/next/Tabs.js +1 -1
  202. package/dist/next/{TagInput-DuvUD94J.cjs → TagInput-B6PAcCaw.cjs} +152 -87
  203. package/dist/next/TagInput-B6PAcCaw.cjs.map +1 -0
  204. package/dist/next/{TagInput-CJ2XdMU0.js → TagInput-C8hyzJ7f.js} +153 -88
  205. package/dist/next/TagInput-C8hyzJ7f.js.map +1 -0
  206. package/dist/next/TagInput.cjs.js +1 -1
  207. package/dist/next/TagInput.js +1 -1
  208. package/dist/next/{TextArea-Bmkg-d0v.js → TextArea-C9VGM6pu.js} +17 -6
  209. package/dist/next/TextArea-C9VGM6pu.js.map +1 -0
  210. package/dist/next/{TextArea-OpFozktU.cjs → TextArea-Cn2q5KhJ.cjs} +17 -6
  211. package/dist/next/TextArea-Cn2q5KhJ.cjs.map +1 -0
  212. package/dist/next/TextArea.cjs.js +1 -1
  213. package/dist/next/TextArea.js +1 -1
  214. package/dist/next/{TextInput-CpbTf99E.cjs → TextInput-CUBY6wCB.cjs} +66 -49
  215. package/dist/next/TextInput-CUBY6wCB.cjs.map +1 -0
  216. package/dist/next/{TextInput-G1Pvtebv.js → TextInput-Zywm-WEW.js} +66 -49
  217. package/dist/next/TextInput-Zywm-WEW.js.map +1 -0
  218. package/dist/next/TextInput.cjs.js +1 -1
  219. package/dist/next/TextInput.js +1 -1
  220. package/dist/next/{Timeline-jmKmKwxD.cjs → Timeline-BWx1ROuN.cjs} +22 -16
  221. package/dist/next/Timeline-BWx1ROuN.cjs.map +1 -0
  222. package/dist/next/{Timeline-WHRPqD31.js → Timeline-CQxYIXCz.js} +22 -16
  223. package/dist/next/Timeline-CQxYIXCz.js.map +1 -0
  224. package/dist/next/Timeline.cjs.js +1 -1
  225. package/dist/next/Timeline.js +1 -1
  226. package/dist/next/{Toggle-D1vM9KrI.js → Toggle-Br6GTHrq.js} +38 -17
  227. package/dist/next/Toggle-Br6GTHrq.js.map +1 -0
  228. package/dist/next/{Toggle-ei8CN3th.cjs → Toggle-Cs4ail9L.cjs} +36 -15
  229. package/dist/next/Toggle-Cs4ail9L.cjs.map +1 -0
  230. package/dist/next/Toggle.cjs.js +1 -1
  231. package/dist/next/Toggle.js +1 -1
  232. package/dist/next/{Toolbar-Dv6focMM.cjs → Toolbar-CyjJbHtq.cjs} +15 -11
  233. package/dist/next/Toolbar-CyjJbHtq.cjs.map +1 -0
  234. package/dist/next/{Toolbar-Dw__aR2C.js → Toolbar-DgiSHpuZ.js} +15 -11
  235. package/dist/next/Toolbar-DgiSHpuZ.js.map +1 -0
  236. package/dist/next/Toolbar.cjs.js +1 -1
  237. package/dist/next/Toolbar.js +1 -1
  238. package/dist/next/Tooltip-1m3gCuRE.cjs +165 -0
  239. package/dist/next/Tooltip-1m3gCuRE.cjs.map +1 -0
  240. package/dist/next/Tooltip-D5_lSH1z.js +166 -0
  241. package/dist/next/Tooltip-D5_lSH1z.js.map +1 -0
  242. package/dist/next/Tooltip.cjs.js +1 -1
  243. package/dist/next/Tooltip.js +1 -1
  244. package/dist/next/index.cjs.js +20 -20
  245. package/dist/next/index.js +20 -20
  246. package/dist/next/style.css +82 -71
  247. package/dist/tsconfig.build.tsbuildinfo +1 -1
  248. package/dist/types/components/IconButton/IconButton.types.d.ts +2 -0
  249. package/dist/types/components/IconButton/IconButton.types.d.ts.map +1 -1
  250. package/dist/types/components/IconButton/IconButtonBase.d.ts.map +1 -1
  251. package/dist/types/components/Tabs/Tabs.types.d.ts +5 -0
  252. package/dist/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  253. package/dist/types/components/Tabs/TabsBase.d.ts +2 -4
  254. package/dist/types/components/Tabs/TabsBase.d.ts.map +1 -1
  255. package/dist/types/components/TagInput/TagInputBase.d.ts +2 -6
  256. package/dist/types/components/TagInput/TagInputBase.d.ts.map +1 -1
  257. package/dist/types/components/TagInput/Taginput.types.d.ts +5 -0
  258. package/dist/types/components/TagInput/Taginput.types.d.ts.map +1 -1
  259. package/dist/types/components/TagInput/core/Taginput.d.ts.map +1 -1
  260. package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
  261. package/dist/types/components/TextInput/TextInputBase.d.ts.map +1 -1
  262. package/dist/types/components/Timeline/TimelineBase.d.ts.map +1 -1
  263. package/dist/types/components/Toggle/Toggle.types.d.ts +3 -0
  264. package/dist/types/components/Toggle/Toggle.types.d.ts.map +1 -1
  265. package/dist/types/components/Toggle/ToggleBase.d.ts +1 -4
  266. package/dist/types/components/Toggle/ToggleBase.d.ts.map +1 -1
  267. package/dist/types/components/Toolbar/ToolbarBase.d.ts +2 -1
  268. package/dist/types/components/Toolbar/ToolbarBase.d.ts.map +1 -1
  269. package/dist/types/components/Tooltip/TooltipBase.d.ts +4 -2
  270. package/dist/types/components/Tooltip/TooltipBase.d.ts.map +1 -1
  271. package/package.json +1 -1
  272. package/dist/core/IconButton-B9WWbeSM.js.map +0 -1
  273. package/dist/core/IconButton-D_W4nsPZ.cjs.map +0 -1
  274. package/dist/core/Tabs-DptKFvPK.cjs.map +0 -1
  275. package/dist/core/Tabs-gpyaJFUs.js.map +0 -1
  276. package/dist/core/Taginput-BNZg4SGI.cjs +0 -244
  277. package/dist/core/Taginput-BNZg4SGI.cjs.map +0 -1
  278. package/dist/core/Taginput-D0wKEzGh.js +0 -245
  279. package/dist/core/Taginput-D0wKEzGh.js.map +0 -1
  280. package/dist/core/TextArea-DrU4oCj0.js.map +0 -1
  281. package/dist/core/TextArea-Nj-eO3Pv.cjs.map +0 -1
  282. package/dist/core/TextInput-B03e-LMT.cjs.map +0 -1
  283. package/dist/core/TextInput-C8mNE1R4.js.map +0 -1
  284. package/dist/core/Timeline-D7fd8-u_.js.map +0 -1
  285. package/dist/core/Timeline-Dk0q-8BZ.cjs.map +0 -1
  286. package/dist/core/Toggle-CZftIdc3.js.map +0 -1
  287. package/dist/core/Toggle-v31rt4Ya.cjs.map +0 -1
  288. package/dist/core/Toolbar-Tf01bUjT.js.map +0 -1
  289. package/dist/core/Toolbar-zZrwUT66.cjs.map +0 -1
  290. package/dist/core/Tooltip-5SfsTZvz.cjs +0 -105
  291. package/dist/core/Tooltip-5SfsTZvz.cjs.map +0 -1
  292. package/dist/core/Tooltip-XfsZnGgV.js +0 -106
  293. package/dist/core/Tooltip-XfsZnGgV.js.map +0 -1
  294. package/dist/next/IconButton--X_Bqn4g.cjs.map +0 -1
  295. package/dist/next/IconButton-B1r838wY.js.map +0 -1
  296. package/dist/next/Tabs-CuF_JTan.js.map +0 -1
  297. package/dist/next/Tabs-DhQgzZKQ.cjs.map +0 -1
  298. package/dist/next/TagInput-CJ2XdMU0.js.map +0 -1
  299. package/dist/next/TagInput-DuvUD94J.cjs.map +0 -1
  300. package/dist/next/TextArea-Bmkg-d0v.js.map +0 -1
  301. package/dist/next/TextArea-OpFozktU.cjs.map +0 -1
  302. package/dist/next/TextInput-CpbTf99E.cjs.map +0 -1
  303. package/dist/next/TextInput-G1Pvtebv.js.map +0 -1
  304. package/dist/next/Timeline-WHRPqD31.js.map +0 -1
  305. package/dist/next/Timeline-jmKmKwxD.cjs.map +0 -1
  306. package/dist/next/Toggle-D1vM9KrI.js.map +0 -1
  307. package/dist/next/Toggle-ei8CN3th.cjs.map +0 -1
  308. package/dist/next/Toolbar-Dv6focMM.cjs.map +0 -1
  309. package/dist/next/Toolbar-Dw__aR2C.js.map +0 -1
  310. package/dist/next/Tooltip-CnwS0tgW.cjs +0 -150
  311. package/dist/next/Tooltip-CnwS0tgW.cjs.map +0 -1
  312. package/dist/next/Tooltip-DhRckexD.js +0 -151
  313. package/dist/next/Tooltip-DhRckexD.js.map +0 -1
@@ -4,7 +4,7 @@ import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
5
  import { a as getDefaultRounding, b as getDefaultShadow, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
6
6
  /* empty css */
7
- import { I as IconButton } from "./IconButton-B9WWbeSM.js";
7
+ import { I as IconButton } from "./IconButton-DgfUCfo9.js";
8
8
  const EyeIcon = (props) => /* @__PURE__ */ jsxs(
9
9
  "svg",
10
10
  {
@@ -118,8 +118,17 @@ const TextInputBase = forwardRef(
118
118
  ...rest
119
119
  }, ref) => {
120
120
  const [showPassword, setShowPassword] = useState(false);
121
- const inputId = useId();
122
- const descId = `${inputId}-description`;
121
+ const autoId = useId();
122
+ const {
123
+ id: idProp,
124
+ required,
125
+ autoComplete: autoCompleteProp,
126
+ ...restInput
127
+ } = rest;
128
+ const inputId = idProp || autoId;
129
+ const descId = ariaDescription ? `${inputId}-description` : void 0;
130
+ const isError = state === "error";
131
+ const computedAutoComplete = autoCompleteProp ?? (autocomplete ? password ? "current-password" : "on" : "off");
123
132
  const togglePasswordVisibility = () => setShowPassword((prev) => !prev);
124
133
  const wrapperClass = useMemo(
125
134
  () => combineClassNames(
@@ -132,14 +141,15 @@ const TextInputBase = forwardRef(
132
141
  rounding && classMap[`round${capitalize(rounding)}`],
133
142
  className
134
143
  ),
135
- [classMap, theme, state, outline, disabled]
144
+ [classMap, theme, state, outline, disabled, shadow, rounding, className]
136
145
  );
146
+ const computedLabel = ariaLabel || placeholder;
137
147
  return /* @__PURE__ */ jsxs(
138
148
  "div",
139
149
  {
140
150
  className: wrapperClass,
141
151
  "data-testid": `${testId}-wrapper`,
142
- "aria-disabled": disabled,
152
+ "aria-disabled": disabled || void 0,
143
153
  children: [
144
154
  Icon && /* @__PURE__ */ jsx(
145
155
  "div",
@@ -147,7 +157,7 @@ const TextInputBase = forwardRef(
147
157
  className: classMap.iconContainer,
148
158
  "aria-hidden": "true",
149
159
  "data-testid": `${testId}-icon`,
150
- children: /* @__PURE__ */ jsx(Icon, {})
160
+ children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true" })
151
161
  }
152
162
  ),
153
163
  /* @__PURE__ */ jsx(
@@ -158,13 +168,18 @@ const TextInputBase = forwardRef(
158
168
  type: password && !showPassword ? "password" : "text",
159
169
  className: `${classMap.textInput} ${classMap[theme]}`,
160
170
  placeholder,
161
- "aria-label": ariaLabel || placeholder,
162
- "aria-describedby": ariaDescription ? descId : void 0,
163
- autoComplete: autocomplete ? "on" : "off",
171
+ "aria-label": computedLabel,
172
+ "aria-describedby": descId,
173
+ "aria-invalid": isError || void 0,
174
+ "aria-required": required || void 0,
175
+ "aria-readonly": readOnly || void 0,
176
+ "aria-disabled": disabled || void 0,
177
+ autoComplete: computedAutoComplete,
164
178
  readOnly,
165
179
  disabled,
180
+ required,
166
181
  "data-testid": testId,
167
- ...rest
182
+ ...restInput
168
183
  }
169
184
  ),
170
185
  password && /* @__PURE__ */ jsx(
@@ -174,7 +189,9 @@ const TextInputBase = forwardRef(
174
189
  className: classMap.togglePassword,
175
190
  onClick: togglePasswordVisibility,
176
191
  theme: "clear",
192
+ shadow: "none",
177
193
  "aria-label": showPassword ? "Hide password" : "Show password",
194
+ "aria-pressed": showPassword,
178
195
  "data-testid": `${testId}-password-toggle`,
179
196
  icon: showPassword ? EyeIcon : EyeSlashIcon
180
197
  }
@@ -239,4 +256,4 @@ TextInput.displayName = "TextInput";
239
256
  export {
240
257
  TextInput as T
241
258
  };
242
- //# sourceMappingURL=TextInput-C8mNE1R4.js.map
259
+ //# sourceMappingURL=TextInput-DQPZXEA2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextInput-DQPZXEA2.js","sources":["../../src/Icons/EyeIcon.tsx","../../src/Icons/EyeSlashIcon.tsx","../../src/components/TextInput/TextInputBase.tsx","../../src/components/TextInput/core/TextInput.tsx"],"sourcesContent":["const EyeIcon: 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 strokeWidth=\"1.5\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 13C6.6 5 17.4 5 21 13\"\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=\"M12 17C10.3431 17 9 15.6569 9 14C9 12.3431 10.3431 11 12 11C13.6569 11 15 12.3431 15 14C15 15.6569 13.6569 17 12 17Z\"\r\n fill=\"currentColor\"\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 EyeIcon;\r\n","const EyeSlashIcon: 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=\"M19.5 16L17.0248 12.6038\"\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=\"M12 17.5V14\"\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=\"M4.5 16L6.96895 12.6124\"\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=\"M3 8C6.6 16 17.4 16 21 8\"\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 EyeSlashIcon;\r\n","import {\r\n forwardRef,\r\n useState,\r\n useId,\r\n InputHTMLAttributes,\r\n useMemo,\r\n} from \"react\";\r\nimport { EyeIcon, EyeSlashIcon } from \"../../Icons\";\r\nimport { TextInputProps } from \"./TextInput.types\";\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 TextInputBase = forwardRef<\r\n HTMLInputElement,\r\n TextInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n }\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n placeholder = \"Enter text\",\r\n password = false,\r\n readOnly = false,\r\n ariaLabel,\r\n ariaDescription,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n disabled = false,\r\n autocomplete = false,\r\n \"data-testid\": testId = \"text-input\",\r\n classMap,\r\n outline = false,\r\n IconButton,\r\n className = \"\",\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const autoId = useId();\r\n const {\r\n id: idProp,\r\n required,\r\n autoComplete: autoCompleteProp,\r\n ...restInput\r\n } = rest as InputHTMLAttributes<HTMLInputElement>;\r\n const inputId = idProp || autoId;\r\n\r\n const descId = ariaDescription ? `${inputId}-description` : undefined;\r\n const isError = state === \"error\";\r\n\r\n const computedAutoComplete =\r\n autoCompleteProp ??\r\n (autocomplete ? (password ? \"current-password\" : \"on\") : \"off\");\r\n\r\n const togglePasswordVisibility = () => setShowPassword((prev) => !prev);\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, theme, state, outline, disabled, shadow, rounding, className]\r\n );\r\n\r\n const computedLabel = ariaLabel || placeholder;\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n data-testid={`${testId}-wrapper`}\r\n aria-disabled={disabled || undefined}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.iconContainer}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon aria-hidden=\"true\" />\r\n </div>\r\n )}\r\n\r\n <input\r\n ref={ref}\r\n id={inputId}\r\n type={password && !showPassword ? \"password\" : \"text\"}\r\n className={`${classMap.textInput} ${classMap[theme]}`}\r\n placeholder={placeholder}\r\n aria-label={computedLabel}\r\n aria-describedby={descId}\r\n aria-invalid={isError || undefined}\r\n aria-required={required || undefined}\r\n aria-readonly={readOnly || undefined}\r\n aria-disabled={disabled || undefined}\r\n autoComplete={computedAutoComplete}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n required={required}\r\n data-testid={testId}\r\n {...restInput}\r\n />\r\n\r\n {password && (\r\n <IconButton\r\n type=\"button\"\r\n className={classMap.togglePassword}\r\n onClick={togglePasswordVisibility}\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n aria-label={showPassword ? \"Hide password\" : \"Show password\"}\r\n aria-pressed={showPassword}\r\n data-testid={`${testId}-password-toggle`}\r\n icon={showPassword ? EyeIcon : EyeSlashIcon}\r\n />\r\n )}\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-input-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nTextInputBase.displayName = \"TextInputBase\";\r\nexport default TextInputBase;\r\n","import { forwardRef } from \"react\";\r\nimport \"./TextInput.scss\";\r\nimport { TextInputProps } from \"../TextInput.types\";\r\nimport TextInputBase from \"../TextInputBase\";\r\nimport { IconButton } from \"@/index.core\";\r\n\r\nconst classes = {\r\n container: \"textInput_container\",\r\n textInput: \"textInput\",\r\n iconContainer: \"textInput_icon_container\",\r\n togglePassword: \"textInput_togglePassword\",\r\n\r\n primary: \"textInput_primary\",\r\n secondary: \"textInput_secondary\",\r\n tertiary: \"textInput_tertiary\",\r\n quaternary: \"textInput_quaternary\",\r\n\r\n success: \"textInput_success\",\r\n warning: \"textInput_warning\",\r\n error: \"textInput_error\",\r\n\r\n clear: \"textInput_clear\",\r\n\r\n xs: \"textInput_xs\",\r\n xl: \"textInput_xl\",\r\n small: \"textInput_small\",\r\n medium: \"textInput_medium\",\r\n large: \"textInput_large\",\r\n\r\n outline: \"textInput_outline\",\r\n disabled: \"textInput_disabled\",\r\n\r\n shadowNone: \"textInput_shadow-None\",\r\n shadowLight: \"textInput_shadow-Light\",\r\n shadowMedium: \"textInput_shadow-Medium\",\r\n shadowStrong: \"textInput_shadow-Strong\",\r\n shadowIntense: \"textInput_shadow-Intense\",\r\n\r\n roundNone: \"textInput_round-None\",\r\n roundSmall: \"textInput_round-Small\",\r\n roundMedium: \"textInput_round-Medium\",\r\n roundLarge: \"textInput_round-Large\",\r\n};\r\n\r\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, ref) => {\r\n return (\r\n <TextInputBase\r\n {...props}\r\n IconButton={IconButton}\r\n ref={ref}\r\n classMap={classes}\r\n />\r\n );\r\n});\r\n\r\nTextInput.displayName = \"TextInput\";\r\nexport default TextInput;\r\n"],"names":["IconButton"],"mappings":";;;;;;;AAAA,MAAM,UAAmD,CAAC,UACxD;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACN,aAAY;AAAA,IACX,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EAAA;AACH;AC1BF,MAAM,eAAwD,CAAC,UAC7D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EAAA;AACH;ACtBF,MAAM,gBAAgB;AAAA,EAOpB,CACE;AAAA,IACE,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,QAAQ,gBAAA;AAAA,IACR,WAAW,mBAAA;AAAA,IACX,SAAS,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe;AAAA,IACf,eAAe,SAAS;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,IACV,YAAAA;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,UAAM,SAAS,MAAA;AACf,UAAM;AAAA,MACJ,IAAI;AAAA,MACJ;AAAA,MACA,cAAc;AAAA,MACd,GAAG;AAAA,IAAA,IACD;AACJ,UAAM,UAAU,UAAU;AAE1B,UAAM,SAAS,kBAAkB,GAAG,OAAO,iBAAiB;AAC5D,UAAM,UAAU,UAAU;AAE1B,UAAM,uBACJ,qBACC,eAAgB,WAAW,qBAAqB,OAAQ;AAE3D,UAAM,2BAA2B,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI;AAEtE,UAAM,eAAe;AAAA,MACnB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,WAAW,SAAS;AAAA,QACpB,YAAY,SAAS;AAAA,QACrB,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD;AAAA,MAAA;AAAA,MAEJ,CAAC,UAAU,OAAO,OAAO,SAAS,UAAU,QAAQ,UAAU,SAAS;AAAA,IAAA;AAGzE,UAAM,gBAAgB,aAAa;AAEnC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QACtB,iBAAe,YAAY;AAAA,QAE1B,UAAA;AAAA,UAAA,QACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW,SAAS;AAAA,cACpB,eAAY;AAAA,cACZ,eAAa,GAAG,MAAM;AAAA,cAEtB,UAAA,oBAAC,MAAA,EAAK,eAAY,OAAA,CAAO;AAAA,YAAA;AAAA,UAAA;AAAA,UAI7B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA,IAAI;AAAA,cACJ,MAAM,YAAY,CAAC,eAAe,aAAa;AAAA,cAC/C,WAAW,GAAG,SAAS,SAAS,IAAI,SAAS,KAAK,CAAC;AAAA,cACnD;AAAA,cACA,cAAY;AAAA,cACZ,oBAAkB;AAAA,cAClB,gBAAc,WAAW;AAAA,cACzB,iBAAe,YAAY;AAAA,cAC3B,iBAAe,YAAY;AAAA,cAC3B,iBAAe,YAAY;AAAA,cAC3B,cAAc;AAAA,cACd;AAAA,cACA;AAAA,cACA;AAAA,cACA,eAAa;AAAA,cACZ,GAAG;AAAA,YAAA;AAAA,UAAA;AAAA,UAGL,YACC;AAAA,YAACA;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAW,SAAS;AAAA,cACpB,SAAS;AAAA,cACT,OAAM;AAAA,cACN,QAAO;AAAA,cACP,cAAY,eAAe,kBAAkB;AAAA,cAC7C,gBAAc;AAAA,cACd,eAAa,GAAG,MAAM;AAAA,cACtB,MAAM,eAAe,UAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAIlC,mBACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,WAAU;AAAA,cACV,eAAa,GAAG,MAAM;AAAA,cAErB,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,cAAc,cAAc;AC9I5B,MAAM,UAAU;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAEhB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EAEP,SAAS;AAAA,EACT,UAAU;AAAA,EAEV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,YAAY,WAA6C,CAAC,OAAO,QAAQ;AAC7E,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB,CAAC;AAED,UAAU,cAAc;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const TextInput = require("./TextInput-B03e-LMT.cjs");
2
+ const TextInput = require("./TextInput-5Bpg7Tdt.cjs");
3
3
  module.exports = TextInput.TextInput;
4
4
  //# sourceMappingURL=TextInput.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { T } from "./TextInput-C8mNE1R4.js";
1
+ import { T } from "./TextInput-DQPZXEA2.js";
2
2
  export {
3
3
  T as default
4
4
  };
@@ -20,7 +20,7 @@ const TimelineBase = ({
20
20
  classMap[theme],
21
21
  className
22
22
  ),
23
- [classMap, orientation, theme, shadow, rounding]
23
+ [classMap, orientation, theme, className]
24
24
  );
25
25
  const itemClassName = useMemo(
26
26
  () => combineClassNames(classMap.item, classMap[orientation], classMap[theme]),
@@ -33,7 +33,7 @@ const TimelineBase = ({
33
33
  classMap[orientation],
34
34
  shadow && classMap[`shadow${capitalize(shadow)}`]
35
35
  ),
36
- [classMap, orientation, theme, shadow]
36
+ [classMap, theme, orientation, shadow]
37
37
  );
38
38
  const contentClassName = useMemo(
39
39
  () => combineClassNames(
@@ -44,29 +44,42 @@ const TimelineBase = ({
44
44
  ),
45
45
  [classMap, orientation, shadow, rounding]
46
46
  );
47
+ const setSize = items.length;
47
48
  return /* @__PURE__ */ jsx("ul", { className: outerWrapper, "data-testid": testId, "aria-label": "Timeline", children: items.map((item, index) => {
48
49
  const IconComponent = item.icon;
49
50
  const itemTestId = `${testId}-item-${index}`;
50
51
  const labelId = `${itemTestId}-title`;
52
+ const hasTitle = Boolean(item.title);
53
+ let dateTimeAttr;
54
+ if (item.date) {
55
+ const dateObj = new Date(item.date);
56
+ if (!isNaN(dateObj.getTime())) {
57
+ dateTimeAttr = dateObj.toISOString();
58
+ }
59
+ }
51
60
  return /* @__PURE__ */ jsxs(
52
61
  "li",
53
62
  {
54
63
  className: itemClassName,
55
64
  "data-testid": itemTestId,
56
- "aria-labelledby": labelId,
65
+ "aria-labelledby": hasTitle ? labelId : void 0,
66
+ "aria-label": !hasTitle ? `Timeline item ${index + 1}` : void 0,
67
+ "aria-posinset": index + 1,
68
+ "aria-setsize": setSize,
57
69
  children: [
58
70
  /* @__PURE__ */ jsx(
59
71
  "div",
60
72
  {
61
73
  className: markerClassName,
62
74
  "data-testid": `${itemTestId}-marker`,
63
- "aria-hidden": IconComponent ? "true" : void 0,
75
+ "aria-hidden": true,
64
76
  children: IconComponent ? /* @__PURE__ */ jsx(
65
77
  "div",
66
78
  {
67
79
  className: classMap.icon,
68
80
  "data-testid": `${itemTestId}-icon`,
69
- children: /* @__PURE__ */ jsx(IconComponent, {})
81
+ "aria-hidden": true,
82
+ children: /* @__PURE__ */ jsx(IconComponent, { "aria-hidden": "true" })
70
83
  }
71
84
  ) : /* @__PURE__ */ jsx(
72
85
  "div",
@@ -84,16 +97,8 @@ const TimelineBase = ({
84
97
  className: contentClassName,
85
98
  "data-testid": `${itemTestId}-content`,
86
99
  children: [
87
- /* @__PURE__ */ jsx("h3", { id: labelId, className: classMap.title, children: item.title }),
88
- item.date && /* @__PURE__ */ jsx(
89
- "p",
90
- {
91
- className: classMap.date,
92
- "data-testid": `${itemTestId}-date`,
93
- "aria-label": `Date: ${item.date}`,
94
- children: item.date
95
- }
96
- ),
100
+ hasTitle && /* @__PURE__ */ jsx("h3", { id: labelId, className: classMap.title, children: item.title }),
101
+ item.date && /* @__PURE__ */ jsx("p", { className: classMap.date, "data-testid": `${itemTestId}-date`, children: /* @__PURE__ */ jsx("time", { dateTime: dateTimeAttr, children: item.date }) }),
97
102
  item.description && /* @__PURE__ */ jsx(
98
103
  "p",
99
104
  {
@@ -111,6 +116,7 @@ const TimelineBase = ({
111
116
  );
112
117
  }) });
113
118
  };
119
+ TimelineBase.displayName = "TimelineBase";
114
120
  const classes = {
115
121
  timeline: "timeline",
116
122
  item: "timeline_item",
@@ -144,4 +150,4 @@ const Timeline = (props) => {
144
150
  export {
145
151
  Timeline as T
146
152
  };
147
- //# sourceMappingURL=Timeline-D7fd8-u_.js.map
153
+ //# sourceMappingURL=Timeline-BfJd6flB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline-BfJd6flB.js","sources":["../../src/components/Timeline/TimelineBase.tsx","../../src/components/Timeline/core/Timeline.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { TimelineProps } from \"./Timeline.types\";\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 TimelineBase: React.FC<\r\n TimelineProps & { classMap: Record<string, string> }\r\n> = ({\r\n items,\r\n orientation = \"vertical\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"timeline\",\r\n}) => {\r\n const outerWrapper = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.timeline,\r\n classMap[orientation],\r\n classMap[theme],\r\n className\r\n ),\r\n [classMap, orientation, theme, className]\r\n );\r\n\r\n const itemClassName = useMemo(\r\n () =>\r\n combineClassNames(classMap.item, classMap[orientation], classMap[theme]),\r\n [classMap, orientation, theme]\r\n );\r\n\r\n const markerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.marker,\r\n classMap[theme],\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n ),\r\n [classMap, theme, orientation, shadow]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.content,\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, orientation, shadow, rounding]\r\n );\r\n\r\n const setSize = items.length;\r\n\r\n return (\r\n <ul className={outerWrapper} data-testid={testId} aria-label=\"Timeline\">\r\n {items.map((item, index) => {\r\n const IconComponent = item.icon;\r\n const itemTestId = `${testId}-item-${index}`;\r\n const labelId = `${itemTestId}-title`;\r\n const hasTitle = Boolean(item.title);\r\n\r\n let dateTimeAttr: string | undefined;\r\n if (item.date) {\r\n const dateObj = new Date(item.date);\r\n if (!isNaN(dateObj.getTime())) {\r\n dateTimeAttr = dateObj.toISOString();\r\n }\r\n }\r\n\r\n return (\r\n <li\r\n key={index}\r\n className={itemClassName}\r\n data-testid={itemTestId}\r\n aria-labelledby={hasTitle ? labelId : undefined}\r\n aria-label={!hasTitle ? `Timeline item ${index + 1}` : undefined}\r\n aria-posinset={index + 1}\r\n aria-setsize={setSize}\r\n >\r\n <div\r\n className={markerClassName}\r\n data-testid={`${itemTestId}-marker`}\r\n aria-hidden={true}\r\n >\r\n {IconComponent ? (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${itemTestId}-icon`}\r\n aria-hidden={true}\r\n >\r\n <IconComponent aria-hidden=\"true\" />\r\n </div>\r\n ) : (\r\n <div\r\n className={classMap.dot}\r\n data-testid={`${itemTestId}-dot`}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </div>\r\n\r\n <div\r\n className={contentClassName}\r\n data-testid={`${itemTestId}-content`}\r\n >\r\n {hasTitle && (\r\n <h3 id={labelId} className={classMap.title}>\r\n {item.title}\r\n </h3>\r\n )}\r\n\r\n {item.date && (\r\n <p className={classMap.date} data-testid={`${itemTestId}-date`}>\r\n <time dateTime={dateTimeAttr}>{item.date}</time>\r\n </p>\r\n )}\r\n\r\n {item.description && (\r\n <p\r\n className={classMap.description}\r\n data-testid={`${itemTestId}-description`}\r\n >\r\n {item.description}\r\n </p>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n\r\nTimelineBase.displayName = \"TimelineBase\";\r\nexport default TimelineBase;\r\n","import React from \"react\";\r\nimport \"./Timeline.scss\";\r\nimport TimelineBase from \"../TimelineBase\";\r\nimport { TimelineProps } from \"../Timeline.types\";\r\n\r\nconst classes = {\r\n timeline: \"timeline\",\r\n item: \"timeline_item\",\r\n marker: \"timeline_marker\",\r\n icon: \"timeline_icon\",\r\n dot: \"timeline_dot\",\r\n content: \"timeline_content\",\r\n title: \"timeline_title\",\r\n date: \"timeline_date\",\r\n description: \"timeline_description\",\r\n\r\n vertical: \"timeline_vertical\",\r\n horizontal: \"timeline_horizontal\",\r\n\r\n primary: \"timeline_primary\",\r\n secondary: \"timeline_secondary\",\r\n tertiary: \"timeline_tertiary\",\r\n quaternary: \"timeline_quaternary\",\r\n\r\n clear: \"timeline_clear\",\r\n\r\n shadowNone: \"timeline_shadow-None\",\r\n shadowLight: \"timeline_shadow-Light\",\r\n shadowMedium: \"timeline_shadow-Medium\",\r\n shadowStrong: \"timeline_shadow-Strong\",\r\n shadowIntense: \"timeline_shadow-Intense\",\r\n\r\n roundNone: \"timeline_round-None\",\r\n roundSmall: \"timeline_round-Small\",\r\n roundMedium: \"timeline_round-Medium\",\r\n roundLarge: \"timeline_round-Large\",\r\n};\r\n\r\nconst Timeline: React.FC<TimelineProps> = (props) => {\r\n return <TimelineBase {...props} classMap={classes} />;\r\n};\r\n\r\nexport default Timeline;\r\n"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ const TimelineBase = ({
21
21
  classMap[theme],
22
22
  className
23
23
  ),
24
- [classMap, orientation, theme, shadow, rounding]
24
+ [classMap, orientation, theme, className]
25
25
  );
26
26
  const itemClassName = React.useMemo(
27
27
  () => classNames.combineClassNames(classMap.item, classMap[orientation], classMap[theme]),
@@ -34,7 +34,7 @@ const TimelineBase = ({
34
34
  classMap[orientation],
35
35
  shadow && classMap[`shadow${capitalize.capitalize(shadow)}`]
36
36
  ),
37
- [classMap, orientation, theme, shadow]
37
+ [classMap, theme, orientation, shadow]
38
38
  );
39
39
  const contentClassName = React.useMemo(
40
40
  () => classNames.combineClassNames(
@@ -45,29 +45,42 @@ const TimelineBase = ({
45
45
  ),
46
46
  [classMap, orientation, shadow, rounding]
47
47
  );
48
+ const setSize = items.length;
48
49
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: outerWrapper, "data-testid": testId, "aria-label": "Timeline", children: items.map((item, index) => {
49
50
  const IconComponent = item.icon;
50
51
  const itemTestId = `${testId}-item-${index}`;
51
52
  const labelId = `${itemTestId}-title`;
53
+ const hasTitle = Boolean(item.title);
54
+ let dateTimeAttr;
55
+ if (item.date) {
56
+ const dateObj = new Date(item.date);
57
+ if (!isNaN(dateObj.getTime())) {
58
+ dateTimeAttr = dateObj.toISOString();
59
+ }
60
+ }
52
61
  return /* @__PURE__ */ jsxRuntime.jsxs(
53
62
  "li",
54
63
  {
55
64
  className: itemClassName,
56
65
  "data-testid": itemTestId,
57
- "aria-labelledby": labelId,
66
+ "aria-labelledby": hasTitle ? labelId : void 0,
67
+ "aria-label": !hasTitle ? `Timeline item ${index + 1}` : void 0,
68
+ "aria-posinset": index + 1,
69
+ "aria-setsize": setSize,
58
70
  children: [
59
71
  /* @__PURE__ */ jsxRuntime.jsx(
60
72
  "div",
61
73
  {
62
74
  className: markerClassName,
63
75
  "data-testid": `${itemTestId}-marker`,
64
- "aria-hidden": IconComponent ? "true" : void 0,
76
+ "aria-hidden": true,
65
77
  children: IconComponent ? /* @__PURE__ */ jsxRuntime.jsx(
66
78
  "div",
67
79
  {
68
80
  className: classMap.icon,
69
81
  "data-testid": `${itemTestId}-icon`,
70
- children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {})
82
+ "aria-hidden": true,
83
+ children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { "aria-hidden": "true" })
71
84
  }
72
85
  ) : /* @__PURE__ */ jsxRuntime.jsx(
73
86
  "div",
@@ -85,16 +98,8 @@ const TimelineBase = ({
85
98
  className: contentClassName,
86
99
  "data-testid": `${itemTestId}-content`,
87
100
  children: [
88
- /* @__PURE__ */ jsxRuntime.jsx("h3", { id: labelId, className: classMap.title, children: item.title }),
89
- item.date && /* @__PURE__ */ jsxRuntime.jsx(
90
- "p",
91
- {
92
- className: classMap.date,
93
- "data-testid": `${itemTestId}-date`,
94
- "aria-label": `Date: ${item.date}`,
95
- children: item.date
96
- }
97
- ),
101
+ hasTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { id: labelId, className: classMap.title, children: item.title }),
102
+ item.date && /* @__PURE__ */ jsxRuntime.jsx("p", { className: classMap.date, "data-testid": `${itemTestId}-date`, children: /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: dateTimeAttr, children: item.date }) }),
98
103
  item.description && /* @__PURE__ */ jsxRuntime.jsx(
99
104
  "p",
100
105
  {
@@ -112,6 +117,7 @@ const TimelineBase = ({
112
117
  );
113
118
  }) });
114
119
  };
120
+ TimelineBase.displayName = "TimelineBase";
115
121
  const classes = {
116
122
  timeline: "timeline",
117
123
  item: "timeline_item",
@@ -143,4 +149,4 @@ const Timeline = (props) => {
143
149
  return /* @__PURE__ */ jsxRuntime.jsx(TimelineBase, { ...props, classMap: classes });
144
150
  };
145
151
  exports.Timeline = Timeline;
146
- //# sourceMappingURL=Timeline-Dk0q-8BZ.cjs.map
152
+ //# sourceMappingURL=Timeline-Bmnr7xnx.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timeline-Bmnr7xnx.cjs","sources":["../../src/components/Timeline/TimelineBase.tsx","../../src/components/Timeline/core/Timeline.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { TimelineProps } from \"./Timeline.types\";\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 TimelineBase: React.FC<\r\n TimelineProps & { classMap: Record<string, string> }\r\n> = ({\r\n items,\r\n orientation = \"vertical\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"timeline\",\r\n}) => {\r\n const outerWrapper = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.timeline,\r\n classMap[orientation],\r\n classMap[theme],\r\n className\r\n ),\r\n [classMap, orientation, theme, className]\r\n );\r\n\r\n const itemClassName = useMemo(\r\n () =>\r\n combineClassNames(classMap.item, classMap[orientation], classMap[theme]),\r\n [classMap, orientation, theme]\r\n );\r\n\r\n const markerClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.marker,\r\n classMap[theme],\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`]\r\n ),\r\n [classMap, theme, orientation, shadow]\r\n );\r\n\r\n const contentClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.content,\r\n classMap[orientation],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, orientation, shadow, rounding]\r\n );\r\n\r\n const setSize = items.length;\r\n\r\n return (\r\n <ul className={outerWrapper} data-testid={testId} aria-label=\"Timeline\">\r\n {items.map((item, index) => {\r\n const IconComponent = item.icon;\r\n const itemTestId = `${testId}-item-${index}`;\r\n const labelId = `${itemTestId}-title`;\r\n const hasTitle = Boolean(item.title);\r\n\r\n let dateTimeAttr: string | undefined;\r\n if (item.date) {\r\n const dateObj = new Date(item.date);\r\n if (!isNaN(dateObj.getTime())) {\r\n dateTimeAttr = dateObj.toISOString();\r\n }\r\n }\r\n\r\n return (\r\n <li\r\n key={index}\r\n className={itemClassName}\r\n data-testid={itemTestId}\r\n aria-labelledby={hasTitle ? labelId : undefined}\r\n aria-label={!hasTitle ? `Timeline item ${index + 1}` : undefined}\r\n aria-posinset={index + 1}\r\n aria-setsize={setSize}\r\n >\r\n <div\r\n className={markerClassName}\r\n data-testid={`${itemTestId}-marker`}\r\n aria-hidden={true}\r\n >\r\n {IconComponent ? (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${itemTestId}-icon`}\r\n aria-hidden={true}\r\n >\r\n <IconComponent aria-hidden=\"true\" />\r\n </div>\r\n ) : (\r\n <div\r\n className={classMap.dot}\r\n data-testid={`${itemTestId}-dot`}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </div>\r\n\r\n <div\r\n className={contentClassName}\r\n data-testid={`${itemTestId}-content`}\r\n >\r\n {hasTitle && (\r\n <h3 id={labelId} className={classMap.title}>\r\n {item.title}\r\n </h3>\r\n )}\r\n\r\n {item.date && (\r\n <p className={classMap.date} data-testid={`${itemTestId}-date`}>\r\n <time dateTime={dateTimeAttr}>{item.date}</time>\r\n </p>\r\n )}\r\n\r\n {item.description && (\r\n <p\r\n className={classMap.description}\r\n data-testid={`${itemTestId}-description`}\r\n >\r\n {item.description}\r\n </p>\r\n )}\r\n </div>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n};\r\n\r\nTimelineBase.displayName = \"TimelineBase\";\r\nexport default TimelineBase;\r\n","import React from \"react\";\r\nimport \"./Timeline.scss\";\r\nimport TimelineBase from \"../TimelineBase\";\r\nimport { TimelineProps } from \"../Timeline.types\";\r\n\r\nconst classes = {\r\n timeline: \"timeline\",\r\n item: \"timeline_item\",\r\n marker: \"timeline_marker\",\r\n icon: \"timeline_icon\",\r\n dot: \"timeline_dot\",\r\n content: \"timeline_content\",\r\n title: \"timeline_title\",\r\n date: \"timeline_date\",\r\n description: \"timeline_description\",\r\n\r\n vertical: \"timeline_vertical\",\r\n horizontal: \"timeline_horizontal\",\r\n\r\n primary: \"timeline_primary\",\r\n secondary: \"timeline_secondary\",\r\n tertiary: \"timeline_tertiary\",\r\n quaternary: \"timeline_quaternary\",\r\n\r\n clear: \"timeline_clear\",\r\n\r\n shadowNone: \"timeline_shadow-None\",\r\n shadowLight: \"timeline_shadow-Light\",\r\n shadowMedium: \"timeline_shadow-Medium\",\r\n shadowStrong: \"timeline_shadow-Strong\",\r\n shadowIntense: \"timeline_shadow-Intense\",\r\n\r\n roundNone: \"timeline_round-None\",\r\n roundSmall: \"timeline_round-Small\",\r\n roundMedium: \"timeline_round-Medium\",\r\n roundLarge: \"timeline_round-Large\",\r\n};\r\n\r\nconst Timeline: React.FC<TimelineProps> = (props) => {\r\n return <TimelineBase {...props} classMap={classes} />;\r\n};\r\n\r\nexport default Timeline;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","jsxs"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Timeline = require("./Timeline-Dk0q-8BZ.cjs");
2
+ const Timeline = require("./Timeline-Bmnr7xnx.cjs");
3
3
  module.exports = Timeline.Timeline;
4
4
  //# sourceMappingURL=Timeline.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { T } from "./Timeline-D7fd8-u_.js";
1
+ import { T } from "./Timeline-BfJd6flB.js";
2
2
  export {
3
3
  T as default
4
4
  };
@@ -19,13 +19,29 @@ const ToggleBase = React.forwardRef(
19
19
  className,
20
20
  "data-testid": testId = "toggle"
21
21
  }, ref) => {
22
- const handleToggle = () => {
23
- if (!disabled) onChange(!checked);
22
+ const uid = React.useId();
23
+ const buttonId = `${testId}-button-${uid}`;
24
+ const labelId = label ? `${testId}-label-${uid}` : void 0;
25
+ const setOn = (next) => {
26
+ if (!disabled && next !== checked) onChange(next);
24
27
  };
28
+ const toggle = () => setOn(!checked);
25
29
  const handleKeyDown = (e) => {
26
- if ((e.key === "Enter" || e.key === " ") && !disabled) {
27
- e.preventDefault();
28
- handleToggle();
30
+ if (disabled) return;
31
+ switch (e.key) {
32
+ case " ":
33
+ case "Enter":
34
+ e.preventDefault();
35
+ toggle();
36
+ break;
37
+ case "ArrowRight":
38
+ e.preventDefault();
39
+ setOn(true);
40
+ break;
41
+ case "ArrowLeft":
42
+ e.preventDefault();
43
+ setOn(false);
44
+ break;
29
45
  }
30
46
  };
31
47
  const containerClass = React.useMemo(
@@ -34,11 +50,10 @@ const ToggleBase = React.forwardRef(
34
50
  classMap[theme],
35
51
  classMap[state],
36
52
  classMap[size],
37
- rounding && classMap[`round${capitalize.capitalize(rounding)}`],
38
53
  disabled && classMap.disabled,
39
54
  className
40
55
  ),
41
- [classMap, size, disabled, shadow, rounding, theme, state]
56
+ [classMap, theme, state, size, disabled, className]
42
57
  );
43
58
  const toggleClass = React.useMemo(
44
59
  () => classNames.combineClassNames(
@@ -47,33 +62,39 @@ const ToggleBase = React.forwardRef(
47
62
  shadow && classMap[`shadow${capitalize.capitalize(shadow)}`],
48
63
  rounding && classMap[`round${capitalize.capitalize(rounding)}`]
49
64
  ),
50
- [classMap, checked, rounding]
65
+ [classMap, checked, shadow, rounding]
51
66
  );
52
- const labelId = label ? `${testId}-label` : void 0;
53
67
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: containerClass, "data-testid": `${testId}-wrapper`, children: [
54
68
  /* @__PURE__ */ jsxRuntime.jsx(
55
69
  "button",
56
70
  {
57
71
  ref,
58
- id: `${testId}-button`,
72
+ id: buttonId,
59
73
  className: toggleClass,
60
74
  role: "switch",
61
75
  "aria-checked": checked,
62
- "aria-labelledby": labelId,
76
+ "aria-labelledby": label ? labelId : void 0,
63
77
  "aria-label": label ? void 0 : "Toggle switch",
64
78
  type: "button",
65
79
  disabled,
66
- onClick: handleToggle,
80
+ onClick: toggle,
67
81
  onKeyDown: handleKeyDown,
68
82
  "data-testid": testId,
69
- children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classMap.slider, "data-testid": `${testId}-slider` })
83
+ children: /* @__PURE__ */ jsxRuntime.jsx(
84
+ "span",
85
+ {
86
+ className: classMap.slider,
87
+ "aria-hidden": "true",
88
+ "data-testid": `${testId}-slider`
89
+ }
90
+ )
70
91
  }
71
92
  ),
72
93
  label && /* @__PURE__ */ jsxRuntime.jsx(
73
94
  "label",
74
95
  {
75
96
  id: labelId,
76
- htmlFor: `${testId}-button`,
97
+ htmlFor: buttonId,
77
98
  className: classMap.label,
78
99
  "data-testid": `${testId}-label`,
79
100
  children: label
@@ -117,4 +138,4 @@ const Toggle = (props) => {
117
138
  return /* @__PURE__ */ jsxRuntime.jsx(ToggleBase, { ...props, classMap: classes });
118
139
  };
119
140
  exports.Toggle = Toggle;
120
- //# sourceMappingURL=Toggle-v31rt4Ya.cjs.map
141
+ //# sourceMappingURL=Toggle-Dor7IEx3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle-Dor7IEx3.cjs","sources":["../../src/components/Toggle/ToggleBase.tsx","../../src/components/Toggle/core/Toggle.tsx"],"sourcesContent":["import { forwardRef, KeyboardEvent, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ToggleBaseProps } from \"./Toggle.types\";\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 ToggleBase = forwardRef<HTMLButtonElement, ToggleBaseProps>(\r\n (\r\n {\r\n checked,\r\n onChange,\r\n label,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n disabled = false,\r\n classMap,\r\n className,\r\n \"data-testid\": testId = \"toggle\",\r\n },\r\n ref\r\n ) => {\r\n const uid = useId();\r\n const buttonId = `${testId}-button-${uid}`;\r\n const labelId = label ? `${testId}-label-${uid}` : undefined;\r\n\r\n const setOn = (next: boolean) => {\r\n if (!disabled && next !== checked) onChange(next);\r\n };\r\n const toggle = () => setOn(!checked);\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\r\n if (disabled) return;\r\n switch (e.key) {\r\n case \" \":\r\n case \"Enter\":\r\n e.preventDefault();\r\n toggle();\r\n break;\r\n case \"ArrowRight\":\r\n e.preventDefault();\r\n setOn(true);\r\n break;\r\n case \"ArrowLeft\":\r\n e.preventDefault();\r\n setOn(false);\r\n break;\r\n }\r\n };\r\n\r\n const containerClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.container,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [classMap, theme, state, size, disabled, className]\r\n );\r\n\r\n const toggleClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.toggle,\r\n checked && classMap.active,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, checked, shadow, rounding]\r\n );\r\n\r\n return (\r\n <div className={containerClass} data-testid={`${testId}-wrapper`}>\r\n <button\r\n ref={ref}\r\n id={buttonId}\r\n className={toggleClass}\r\n role=\"switch\"\r\n aria-checked={checked}\r\n aria-labelledby={label ? labelId : undefined}\r\n aria-label={label ? undefined : \"Toggle switch\"}\r\n type=\"button\"\r\n disabled={disabled}\r\n onClick={toggle}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n >\r\n <span\r\n className={classMap.slider}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-slider`}\r\n />\r\n </button>\r\n\r\n {label && (\r\n <label\r\n id={labelId}\r\n htmlFor={buttonId}\r\n className={classMap.label}\r\n data-testid={`${testId}-label`}\r\n >\r\n {label}\r\n </label>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nToggleBase.displayName = \"ToggleBase\";\r\nexport default ToggleBase;\r\n","import React from \"react\";\r\nimport \"./Toggle.scss\";\r\nimport ToggleBase from \"../ToggleBase\";\r\nimport { ToggleProps } from \"../Toggle.types\";\r\n\r\nconst classes = {\r\n container: \"container\",\r\n toggle: \"toggle\",\r\n active: \"toggle_active\",\r\n slider: \"toggle_slider\",\r\n label: \"toggle_label\",\r\n\r\n primary: \"toggle_primary\",\r\n secondary: \"toggle_secondary\",\r\n tertiary: \"toggle_tertiary\",\r\n quaternary: \"toggle_quaternary\",\r\n\r\n success: \"toggle_success\",\r\n warning: \"toggle_warning\",\r\n error: \"toggle_error\",\r\n\r\n clear: \"toggle_clear\",\r\n\r\n disabled: \"toggle_disabled\",\r\n\r\n xs: \"toggle_xs\",\r\n small: \"toggle_small\",\r\n medium: \"toggle_medium\",\r\n large: \"toggle_large\",\r\n xl: \"toggle_xl\",\r\n\r\n shadowNone: \"toggle_shadow-None\",\r\n shadowLight: \"toggle_shadow-Light\",\r\n shadowMedium: \"toggle_shadow-Medium\",\r\n shadowStrong: \"toggle_shadow-Strong\",\r\n shadowIntense: \"toggle_shadow-Intense\",\r\n\r\n roundNone: \"toggle_round-None\",\r\n roundSmall: \"toggle_round-Small\",\r\n roundMedium: \"toggle_round-Medium\",\r\n roundLarge: \"toggle_round-Large\",\r\n};\r\n\r\nconst Toggle: React.FC<ToggleProps> = (props) => {\r\n return <ToggleBase {...props} classMap={classes} />;\r\n};\r\n\r\nexport default Toggle;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","getDefaultSize","useId","useMemo","combineClassNames","capitalize","jsx"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { forwardRef, useMemo } from "react";
2
+ import { forwardRef, useId, useMemo } from "react";
3
3
  import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
4
4
  import { c as capitalize } from "./capitalize-C0TSQSPh.js";
5
- import { a as getDefaultRounding, c as getDefaultSize, d as getDefaultTheme, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
5
+ import { c as getDefaultSize, d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-BILmxkZG.js";
6
6
  const ToggleBase = forwardRef(
7
7
  ({
8
8
  checked,
@@ -18,13 +18,29 @@ const ToggleBase = forwardRef(
18
18
  className,
19
19
  "data-testid": testId = "toggle"
20
20
  }, ref) => {
21
- const handleToggle = () => {
22
- if (!disabled) onChange(!checked);
21
+ const uid = useId();
22
+ const buttonId = `${testId}-button-${uid}`;
23
+ const labelId = label ? `${testId}-label-${uid}` : void 0;
24
+ const setOn = (next) => {
25
+ if (!disabled && next !== checked) onChange(next);
23
26
  };
27
+ const toggle = () => setOn(!checked);
24
28
  const handleKeyDown = (e) => {
25
- if ((e.key === "Enter" || e.key === " ") && !disabled) {
26
- e.preventDefault();
27
- handleToggle();
29
+ if (disabled) return;
30
+ switch (e.key) {
31
+ case " ":
32
+ case "Enter":
33
+ e.preventDefault();
34
+ toggle();
35
+ break;
36
+ case "ArrowRight":
37
+ e.preventDefault();
38
+ setOn(true);
39
+ break;
40
+ case "ArrowLeft":
41
+ e.preventDefault();
42
+ setOn(false);
43
+ break;
28
44
  }
29
45
  };
30
46
  const containerClass = useMemo(
@@ -33,11 +49,10 @@ const ToggleBase = forwardRef(
33
49
  classMap[theme],
34
50
  classMap[state],
35
51
  classMap[size],
36
- rounding && classMap[`round${capitalize(rounding)}`],
37
52
  disabled && classMap.disabled,
38
53
  className
39
54
  ),
40
- [classMap, size, disabled, shadow, rounding, theme, state]
55
+ [classMap, theme, state, size, disabled, className]
41
56
  );
42
57
  const toggleClass = useMemo(
43
58
  () => combineClassNames(
@@ -46,33 +61,39 @@ const ToggleBase = forwardRef(
46
61
  shadow && classMap[`shadow${capitalize(shadow)}`],
47
62
  rounding && classMap[`round${capitalize(rounding)}`]
48
63
  ),
49
- [classMap, checked, rounding]
64
+ [classMap, checked, shadow, rounding]
50
65
  );
51
- const labelId = label ? `${testId}-label` : void 0;
52
66
  return /* @__PURE__ */ jsxs("div", { className: containerClass, "data-testid": `${testId}-wrapper`, children: [
53
67
  /* @__PURE__ */ jsx(
54
68
  "button",
55
69
  {
56
70
  ref,
57
- id: `${testId}-button`,
71
+ id: buttonId,
58
72
  className: toggleClass,
59
73
  role: "switch",
60
74
  "aria-checked": checked,
61
- "aria-labelledby": labelId,
75
+ "aria-labelledby": label ? labelId : void 0,
62
76
  "aria-label": label ? void 0 : "Toggle switch",
63
77
  type: "button",
64
78
  disabled,
65
- onClick: handleToggle,
79
+ onClick: toggle,
66
80
  onKeyDown: handleKeyDown,
67
81
  "data-testid": testId,
68
- children: /* @__PURE__ */ jsx("span", { className: classMap.slider, "data-testid": `${testId}-slider` })
82
+ children: /* @__PURE__ */ jsx(
83
+ "span",
84
+ {
85
+ className: classMap.slider,
86
+ "aria-hidden": "true",
87
+ "data-testid": `${testId}-slider`
88
+ }
89
+ )
69
90
  }
70
91
  ),
71
92
  label && /* @__PURE__ */ jsx(
72
93
  "label",
73
94
  {
74
95
  id: labelId,
75
- htmlFor: `${testId}-button`,
96
+ htmlFor: buttonId,
76
97
  className: classMap.label,
77
98
  "data-testid": `${testId}-label`,
78
99
  children: label
@@ -118,4 +139,4 @@ const Toggle = (props) => {
118
139
  export {
119
140
  Toggle as T
120
141
  };
121
- //# sourceMappingURL=Toggle-CZftIdc3.js.map
142
+ //# sourceMappingURL=Toggle-sPyKNt4P.js.map