@bi-digital/react 0.6.8 → 0.7.0

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 (494) hide show
  1. package/dist/{alert-Bum6ZbI7.mjs → alert-B-qfyhxc.mjs} +1 -1
  2. package/dist/alert-B-qfyhxc.mjs.map +1 -0
  3. package/dist/{alert-footer-CNN2bers.d.mts → alert-footer-BpkOdCCs.d.mts} +148 -187
  4. package/dist/{alert-footer-COFh0OoL.mjs → alert-footer-CiXj-PGD.mjs} +1 -1
  5. package/dist/{alert-footer-COFh0OoL.mjs.map → alert-footer-CiXj-PGD.mjs.map} +1 -1
  6. package/dist/{avatar-C8TCUOWX.mjs → avatar-BEjjwjRn.mjs} +1 -1
  7. package/dist/{avatar-C8TCUOWX.mjs.map → avatar-BEjjwjRn.mjs.map} +1 -1
  8. package/dist/{badge-DggKwNG4.mjs → badge-tAjYsQEq.mjs} +1 -1
  9. package/dist/{badge-DggKwNG4.mjs.map → badge-tAjYsQEq.mjs.map} +1 -1
  10. package/dist/{button-BPjELOOl.mjs → button-CDtQwUfp.mjs} +2 -2
  11. package/dist/{button-BPjELOOl.mjs.map → button-CDtQwUfp.mjs.map} +1 -1
  12. package/dist/{card-BARb4rQ8.mjs → card-BwkKWLCT.mjs} +1 -1
  13. package/dist/{card-BARb4rQ8.mjs.map → card-BwkKWLCT.mjs.map} +1 -1
  14. package/dist/{card-action-D5Zx9ivO.mjs → card-action-CkWX8kB1.mjs} +2 -2
  15. package/dist/{card-action-D5Zx9ivO.mjs.map → card-action-CkWX8kB1.mjs.map} +1 -1
  16. package/dist/{card-actions-DvYboJqJ.mjs → card-actions-DQXkkGKI.mjs} +1 -1
  17. package/dist/{card-actions-DvYboJqJ.mjs.map → card-actions-DQXkkGKI.mjs.map} +1 -1
  18. package/dist/{card-content-DUQMNwyh.mjs → card-content-zQQxsR9_.mjs} +1 -1
  19. package/dist/{card-content-DUQMNwyh.mjs.map → card-content-zQQxsR9_.mjs.map} +1 -1
  20. package/dist/{card-date-NWd0dVbl.mjs → card-date-PwKzeTzD.mjs} +1 -1
  21. package/dist/{card-date-NWd0dVbl.mjs.map → card-date-PwKzeTzD.mjs.map} +1 -1
  22. package/dist/{card-header-CD_mgNrX.mjs → card-header-DkKr5o8N.mjs} +1 -1
  23. package/dist/{card-header-CD_mgNrX.mjs.map → card-header-DkKr5o8N.mjs.map} +1 -1
  24. package/dist/{card-media-ArjdUm3p.mjs → card-media-Bv2VWU3K.mjs} +1 -1
  25. package/dist/{card-media-ArjdUm3p.mjs.map → card-media-Bv2VWU3K.mjs.map} +1 -1
  26. package/dist/{checkbox-fZxh8_fU.mjs → checkbox-DLGjrSt2.mjs} +6 -6
  27. package/dist/checkbox-DLGjrSt2.mjs.map +1 -0
  28. package/dist/{checkbox-subsection-pxXG4B64.mjs → checkbox-subsection-Dq60blow.mjs} +1 -1
  29. package/dist/{checkbox-subsection-pxXG4B64.mjs.map → checkbox-subsection-Dq60blow.mjs.map} +1 -1
  30. package/dist/{chip-9M4g-Ln1.mjs → chip-BzRByPTB.mjs} +1 -1
  31. package/dist/{chip-9M4g-Ln1.mjs.map → chip-BzRByPTB.mjs.map} +1 -1
  32. package/dist/components/alert/alert-footer.d.mts +14 -14
  33. package/dist/components/alert/alert-footer.mjs +1 -1
  34. package/dist/components/alert/alert.d.mts +14 -14
  35. package/dist/components/alert/alert.mjs +1 -1
  36. package/dist/components/alert/index.d.mts +14 -14
  37. package/dist/components/alert/index.mjs +3 -3
  38. package/dist/components/avatar/avatar.d.mts +14 -14
  39. package/dist/components/avatar/avatar.mjs +1 -1
  40. package/dist/components/avatar/index.d.mts +14 -14
  41. package/dist/components/avatar/index.mjs +2 -2
  42. package/dist/components/badge/badge.d.mts +14 -14
  43. package/dist/components/badge/badge.mjs +1 -1
  44. package/dist/components/badge/index.d.mts +14 -14
  45. package/dist/components/badge/index.mjs +2 -2
  46. package/dist/components/button/button.d.mts +14 -14
  47. package/dist/components/button/button.mjs +3 -3
  48. package/dist/components/button/index.d.mts +14 -14
  49. package/dist/components/button/index.mjs +4 -4
  50. package/dist/components/card/card-action.d.mts +14 -14
  51. package/dist/components/card/card-action.mjs +5 -5
  52. package/dist/components/card/card-actions.d.mts +14 -14
  53. package/dist/components/card/card-actions.mjs +1 -1
  54. package/dist/components/card/card-content.d.mts +14 -14
  55. package/dist/components/card/card-content.mjs +1 -1
  56. package/dist/components/card/card-date.d.mts +14 -14
  57. package/dist/components/card/card-date.mjs +1 -1
  58. package/dist/components/card/card-header.d.mts +14 -14
  59. package/dist/components/card/card-header.mjs +1 -1
  60. package/dist/components/card/card-media.d.mts +14 -14
  61. package/dist/components/card/card-media.mjs +1 -1
  62. package/dist/components/card/card.d.mts +14 -14
  63. package/dist/components/card/card.mjs +1 -1
  64. package/dist/components/card/index.d.mts +14 -14
  65. package/dist/components/card/index.mjs +12 -12
  66. package/dist/components/checkbox/checkbox-subsection.d.mts +14 -14
  67. package/dist/components/checkbox/checkbox-subsection.mjs +1 -1
  68. package/dist/components/checkbox/checkbox.d.mts +14 -14
  69. package/dist/components/checkbox/checkbox.mjs +10 -10
  70. package/dist/components/checkbox/index.d.mts +14 -14
  71. package/dist/components/checkbox/index.mjs +12 -12
  72. package/dist/components/chip/chip.d.mts +14 -14
  73. package/dist/components/chip/chip.mjs +1 -1
  74. package/dist/components/chip/index.d.mts +14 -14
  75. package/dist/components/chip/index.mjs +2 -2
  76. package/dist/components/details/details-content.d.mts +14 -14
  77. package/dist/components/details/details-content.mjs +1 -1
  78. package/dist/components/details/details-summary.d.mts +14 -14
  79. package/dist/components/details/details-summary.mjs +1 -1
  80. package/dist/components/details/details.d.mts +14 -14
  81. package/dist/components/details/details.mjs +1 -1
  82. package/dist/components/details/index.d.mts +14 -14
  83. package/dist/components/details/index.mjs +4 -4
  84. package/dist/components/dialog/dialog-close-button.d.mts +14 -14
  85. package/dist/components/dialog/dialog-close-button.mjs +5 -5
  86. package/dist/components/dialog/dialog-content.d.mts +14 -14
  87. package/dist/components/dialog/dialog-content.mjs +1 -1
  88. package/dist/components/dialog/dialog-footer.d.mts +14 -14
  89. package/dist/components/dialog/dialog-footer.mjs +1 -1
  90. package/dist/components/dialog/dialog-header.d.mts +14 -14
  91. package/dist/components/dialog/dialog-header.mjs +1 -1
  92. package/dist/components/dialog/dialog-trigger-context.d.mts +1 -1
  93. package/dist/components/dialog/dialog-trigger-context.mjs +1 -1
  94. package/dist/components/dialog/dialog-trigger.d.mts +14 -14
  95. package/dist/components/dialog/dialog-trigger.mjs +6 -6
  96. package/dist/components/dialog/dialog.d.mts +14 -14
  97. package/dist/components/dialog/dialog.mjs +3 -3
  98. package/dist/components/dialog/index.d.mts +14 -14
  99. package/dist/components/dialog/index.mjs +13 -13
  100. package/dist/components/drawer/drawer-close-button.d.mts +14 -14
  101. package/dist/components/drawer/drawer-close-button.mjs +14 -14
  102. package/dist/components/drawer/drawer-content.d.mts +14 -14
  103. package/dist/components/drawer/drawer-content.mjs +14 -14
  104. package/dist/components/drawer/drawer-footer.d.mts +14 -14
  105. package/dist/components/drawer/drawer-footer.mjs +14 -14
  106. package/dist/components/drawer/drawer-header.d.mts +14 -14
  107. package/dist/components/drawer/drawer-header.mjs +14 -14
  108. package/dist/components/drawer/drawer-trigger-context.d.mts +1 -1
  109. package/dist/components/drawer/drawer-trigger-context.mjs +14 -14
  110. package/dist/components/drawer/drawer-trigger.d.mts +14 -14
  111. package/dist/components/drawer/drawer-trigger.mjs +14 -14
  112. package/dist/components/drawer/drawer.d.mts +14 -14
  113. package/dist/components/drawer/drawer.mjs +14 -14
  114. package/dist/components/drawer/index.d.mts +14 -14
  115. package/dist/components/drawer/index.mjs +21 -21
  116. package/dist/components/dropdown/dropdown-button.d.mts +14 -14
  117. package/dist/components/dropdown/dropdown-button.mjs +5 -5
  118. package/dist/components/dropdown/dropdown-item.d.mts +1 -1
  119. package/dist/components/dropdown/dropdown-item.mjs +1 -1
  120. package/dist/components/dropdown/dropdown-list.d.mts +1 -1
  121. package/dist/components/dropdown/dropdown-list.mjs +1 -1
  122. package/dist/components/dropdown/dropdown-trigger-context.d.mts +14 -14
  123. package/dist/components/dropdown/dropdown-trigger-context.mjs +11 -11
  124. package/dist/components/dropdown/dropdown-trigger.d.mts +14 -14
  125. package/dist/components/dropdown/dropdown-trigger.mjs +11 -11
  126. package/dist/components/dropdown/dropdown.d.mts +14 -14
  127. package/dist/components/dropdown/dropdown.mjs +11 -11
  128. package/dist/components/dropdown/index.d.mts +14 -14
  129. package/dist/components/dropdown/index.mjs +17 -17
  130. package/dist/components/field/field-affix.d.mts +14 -14
  131. package/dist/components/field/field-affix.mjs +1 -1
  132. package/dist/components/field/field-description.d.mts +14 -14
  133. package/dist/components/field/field-description.mjs +1 -1
  134. package/dist/components/field/field.d.mts +14 -14
  135. package/dist/components/field/field.mjs +1 -1
  136. package/dist/components/field/index.d.mts +14 -14
  137. package/dist/components/field/index.mjs +4 -4
  138. package/dist/components/fieldset/fieldset-description.d.mts +14 -14
  139. package/dist/components/fieldset/fieldset-description.mjs +1 -1
  140. package/dist/components/fieldset/fieldset-legend.d.mts +14 -14
  141. package/dist/components/fieldset/fieldset-legend.mjs +3 -3
  142. package/dist/components/fieldset/fieldset.d.mts +14 -14
  143. package/dist/components/fieldset/fieldset.mjs +1 -1
  144. package/dist/components/fieldset/index.d.mts +14 -14
  145. package/dist/components/fieldset/index.mjs +6 -6
  146. package/dist/components/filter-group/filter-group.d.mts +14 -14
  147. package/dist/components/filter-group/filter-group.mjs +1 -1
  148. package/dist/components/filter-group/index.d.mts +14 -14
  149. package/dist/components/filter-group/index.mjs +2 -2
  150. package/dist/components/footer/footer-links.d.mts +1 -1
  151. package/dist/components/footer/footer-links.mjs +1 -1
  152. package/dist/components/footer/footer.d.mts +14 -14
  153. package/dist/components/footer/footer.mjs +5 -5
  154. package/dist/components/footer/index.d.mts +14 -14
  155. package/dist/components/footer/index.mjs +7 -7
  156. package/dist/components/index.d.mts +15 -15
  157. package/dist/components/index.mjs +119 -118
  158. package/dist/components/input/index.d.mts +14 -14
  159. package/dist/components/input/index.mjs +2 -2
  160. package/dist/components/input/input.d.mts +14 -14
  161. package/dist/components/input/input.mjs +1 -1
  162. package/dist/components/label/index.d.mts +14 -14
  163. package/dist/components/label/index.mjs +2 -2
  164. package/dist/components/label/label.d.mts +14 -14
  165. package/dist/components/label/label.mjs +1 -1
  166. package/dist/components/link/index.d.mts +14 -14
  167. package/dist/components/link/index.mjs +2 -2
  168. package/dist/components/link/link.d.mts +14 -14
  169. package/dist/components/link/link.mjs +1 -1
  170. package/dist/components/logo/index.d.mts +14 -14
  171. package/dist/components/logo/index.mjs +2 -2
  172. package/dist/components/logo/logo.d.mts +14 -14
  173. package/dist/components/logo/logo.mjs +1 -1
  174. package/dist/components/navbar/index.d.mts +14 -14
  175. package/dist/components/navbar/index.mjs +11 -11
  176. package/dist/components/navbar/navbar.d.mts +14 -14
  177. package/dist/components/navbar/navbar.mjs +3 -3
  178. package/dist/components/navbar/sub-navbar.d.mts +14 -14
  179. package/dist/components/navbar/sub-navbar.mjs +7 -7
  180. package/dist/components/pagination/index.d.mts +14 -14
  181. package/dist/components/pagination/index.mjs +8 -8
  182. package/dist/components/pagination/pagination-button.d.mts +14 -14
  183. package/dist/components/pagination/pagination-button.mjs +5 -5
  184. package/dist/components/pagination/pagination-item.d.mts +1 -1
  185. package/dist/components/pagination/pagination-item.mjs +1 -1
  186. package/dist/components/pagination/pagination.d.mts +14 -14
  187. package/dist/components/pagination/pagination.mjs +1 -1
  188. package/dist/components/popover/index.d.mts +14 -14
  189. package/dist/components/popover/index.mjs +10 -10
  190. package/dist/components/popover/popover-trigger-context.d.mts +1 -1
  191. package/dist/components/popover/popover-trigger-context.mjs +1 -1
  192. package/dist/components/popover/popover-trigger.d.mts +14 -14
  193. package/dist/components/popover/popover-trigger.mjs +6 -6
  194. package/dist/components/popover/popover.d.mts +14 -14
  195. package/dist/components/popover/popover.mjs +4 -4
  196. package/dist/components/radio/index.d.mts +14 -14
  197. package/dist/components/radio/index.mjs +10 -10
  198. package/dist/components/radio/radio.d.mts +14 -14
  199. package/dist/components/radio/radio.mjs +9 -9
  200. package/dist/components/search/index.d.mts +14 -14
  201. package/dist/components/search/index.mjs +12 -12
  202. package/dist/components/search/search.d.mts +14 -14
  203. package/dist/components/search/search.mjs +11 -11
  204. package/dist/components/select/index.d.mts +14 -14
  205. package/dist/components/select/index.mjs +4 -4
  206. package/dist/components/select/select-optgroup.d.mts +14 -14
  207. package/dist/components/select/select-optgroup.mjs +1 -1
  208. package/dist/components/select/select-option.d.mts +14 -14
  209. package/dist/components/select/select-option.mjs +1 -1
  210. package/dist/components/select/select.d.mts +14 -14
  211. package/dist/components/select/select.mjs +1 -1
  212. package/dist/components/selectfield/index.d.mts +14 -14
  213. package/dist/components/selectfield/index.mjs +14 -14
  214. package/dist/components/selectfield/selectfield.d.mts +14 -14
  215. package/dist/components/selectfield/selectfield.mjs +13 -13
  216. package/dist/components/skip-link/index.d.mts +14 -14
  217. package/dist/components/skip-link/index.mjs +2 -2
  218. package/dist/components/skip-link/skip-link.d.mts +14 -14
  219. package/dist/components/skip-link/skip-link.mjs +1 -1
  220. package/dist/components/spinner/index.d.mts +14 -14
  221. package/dist/components/spinner/index.mjs +2 -2
  222. package/dist/components/spinner/spinner.d.mts +14 -14
  223. package/dist/components/spinner/spinner.mjs +1 -1
  224. package/dist/components/sticky-header/index.d.mts +2 -2
  225. package/dist/components/sticky-header/index.mjs +2 -2
  226. package/dist/components/sticky-header/sticky-header.d.mts +1 -1
  227. package/dist/components/sticky-header/sticky-header.mjs +1 -1
  228. package/dist/components/switch/index.d.mts +15 -0
  229. package/dist/components/switch/index.mjs +12 -0
  230. package/dist/components/switch/switch.d.mts +15 -0
  231. package/dist/components/switch/switch.mjs +11 -0
  232. package/dist/components/tabs/index.d.mts +14 -14
  233. package/dist/components/tabs/index.mjs +9 -9
  234. package/dist/components/tabs/tab.d.mts +14 -14
  235. package/dist/components/tabs/tab.mjs +5 -5
  236. package/dist/components/tabs/tabs-list.d.mts +14 -14
  237. package/dist/components/tabs/tabs-list.mjs +1 -1
  238. package/dist/components/tabs/tabs-panel.d.mts +14 -14
  239. package/dist/components/tabs/tabs-panel.mjs +1 -1
  240. package/dist/components/tabs/tabs.d.mts +14 -14
  241. package/dist/components/tabs/tabs.mjs +1 -1
  242. package/dist/components/textarea/index.d.mts +14 -14
  243. package/dist/components/textarea/index.mjs +2 -2
  244. package/dist/components/textarea/textarea.d.mts +14 -14
  245. package/dist/components/textarea/textarea.mjs +1 -1
  246. package/dist/components/textfield/index.d.mts +14 -14
  247. package/dist/components/textfield/index.mjs +14 -14
  248. package/dist/components/textfield/textfield.d.mts +14 -14
  249. package/dist/components/textfield/textfield.mjs +13 -13
  250. package/dist/components/validation-message/index.d.mts +14 -14
  251. package/dist/components/validation-message/index.mjs +2 -2
  252. package/dist/components/validation-message/validation-message.d.mts +14 -14
  253. package/dist/components/validation-message/validation-message.mjs +1 -1
  254. package/dist/{details-D4VH6E0R.mjs → details-BFP82eFe.mjs} +1 -1
  255. package/dist/{details-D4VH6E0R.mjs.map → details-BFP82eFe.mjs.map} +1 -1
  256. package/dist/{details-content-B7ok4sGK.mjs → details-content-B-YYBzuY.mjs} +1 -1
  257. package/dist/{details-content-B7ok4sGK.mjs.map → details-content-B-YYBzuY.mjs.map} +1 -1
  258. package/dist/{details-summary-DYKjcdQr.mjs → details-summary-BiXSfZfC.mjs} +1 -1
  259. package/dist/{details-summary-DYKjcdQr.mjs.map → details-summary-BiXSfZfC.mjs.map} +1 -1
  260. package/dist/{dialog-CkZ4LOv1.mjs → dialog-CRNSJEfp.mjs} +3 -3
  261. package/dist/{dialog-CkZ4LOv1.mjs.map → dialog-CRNSJEfp.mjs.map} +1 -1
  262. package/dist/{dialog-close-button-BPOMOrmU.mjs → dialog-close-button-BQiLlxh_.mjs} +2 -2
  263. package/dist/dialog-close-button-BQiLlxh_.mjs.map +1 -0
  264. package/dist/{dialog-content-DCqxHQ2D.mjs → dialog-content-CrbstN2A.mjs} +1 -1
  265. package/dist/{dialog-content-DCqxHQ2D.mjs.map → dialog-content-CrbstN2A.mjs.map} +1 -1
  266. package/dist/{dialog-footer-D97z516F.mjs → dialog-footer-CFNIIiwS.mjs} +1 -1
  267. package/dist/{dialog-footer-D97z516F.mjs.map → dialog-footer-CFNIIiwS.mjs.map} +1 -1
  268. package/dist/{dialog-header-BDTiP8hv.mjs → dialog-header-Duz76tEF.mjs} +1 -1
  269. package/dist/{dialog-header-BDTiP8hv.mjs.map → dialog-header-Duz76tEF.mjs.map} +1 -1
  270. package/dist/{dialog-trigger-BHEji57K.mjs → dialog-trigger-BwjU9AQE.mjs} +3 -3
  271. package/dist/{dialog-trigger-BHEji57K.mjs.map → dialog-trigger-BwjU9AQE.mjs.map} +1 -1
  272. package/dist/{dialog-trigger-context-BwUYBtJQ.d.mts → dialog-trigger-context-DTtpry85.d.mts} +3 -3
  273. package/dist/{dialog-trigger-context-12u8rF2F.mjs → dialog-trigger-context-DqM6S5V-.mjs} +1 -1
  274. package/dist/{dialog-trigger-context-12u8rF2F.mjs.map → dialog-trigger-context-DqM6S5V-.mjs.map} +1 -1
  275. package/dist/{drawer-Cyj5ZzZy.mjs → drawer-Ds2MkNjF.mjs} +2 -2
  276. package/dist/{drawer-Cyj5ZzZy.mjs.map → drawer-Ds2MkNjF.mjs.map} +1 -1
  277. package/dist/{drawer-close-button-CfpcB-sx.mjs → drawer-close-button-BzgfCB46.mjs} +2 -2
  278. package/dist/{drawer-close-button-CfpcB-sx.mjs.map → drawer-close-button-BzgfCB46.mjs.map} +1 -1
  279. package/dist/{drawer-content-CmLUocox.mjs → drawer-content-DxY9zj19.mjs} +2 -2
  280. package/dist/{drawer-content-CmLUocox.mjs.map → drawer-content-DxY9zj19.mjs.map} +1 -1
  281. package/dist/{drawer-footer-BpdPP7SJ.mjs → drawer-footer-DEZvKbZ9.mjs} +2 -2
  282. package/dist/{drawer-footer-BpdPP7SJ.mjs.map → drawer-footer-DEZvKbZ9.mjs.map} +1 -1
  283. package/dist/{drawer-header-vrtnI3iU.mjs → drawer-header-8MFxFbKD.mjs} +2 -2
  284. package/dist/{drawer-header-vrtnI3iU.mjs.map → drawer-header-8MFxFbKD.mjs.map} +1 -1
  285. package/dist/{drawer-trigger-context-BgA9dHWF.d.mts → drawer-trigger-context-B9FQbPQM.d.mts} +3 -3
  286. package/dist/{drawer-trigger-context-ByEQE1R2.mjs → drawer-trigger-context-DUYTD43h.mjs} +2 -2
  287. package/dist/{drawer-trigger-context-ByEQE1R2.mjs.map → drawer-trigger-context-DUYTD43h.mjs.map} +1 -1
  288. package/dist/{drawer-trigger-7r4hkhE8.mjs → drawer-trigger-uVwwMXt_.mjs} +2 -2
  289. package/dist/{drawer-trigger-7r4hkhE8.mjs.map → drawer-trigger-uVwwMXt_.mjs.map} +1 -1
  290. package/dist/{dropdown-Bfh8dKIl.mjs → dropdown-Cpj49-R5.mjs} +2 -2
  291. package/dist/{dropdown-Bfh8dKIl.mjs.map → dropdown-Cpj49-R5.mjs.map} +1 -1
  292. package/dist/{dropdown-button-DTwImr6G.mjs → dropdown-button-B6EgzSgh.mjs} +2 -2
  293. package/dist/{dropdown-button-DTwImr6G.mjs.map → dropdown-button-B6EgzSgh.mjs.map} +1 -1
  294. package/dist/{dropdown-item-Drtfezem.d.mts → dropdown-item-DXKNHOz3.d.mts} +3 -3
  295. package/dist/{dropdown-item-B7WklCax.mjs → dropdown-item-rKVicLWJ.mjs} +1 -1
  296. package/dist/{dropdown-item-B7WklCax.mjs.map → dropdown-item-rKVicLWJ.mjs.map} +1 -1
  297. package/dist/{dropdown-list-7a62Yp_9.d.mts → dropdown-list-C0ayMUa0.d.mts} +3 -3
  298. package/dist/{dropdown-list-7Y5EUloM.mjs → dropdown-list-CCnbpP3r.mjs} +1 -1
  299. package/dist/{dropdown-list-7Y5EUloM.mjs.map → dropdown-list-CCnbpP3r.mjs.map} +1 -1
  300. package/dist/{dropdown-trigger-idFkFkds.mjs → dropdown-trigger-8zD-9jXF.mjs} +2 -2
  301. package/dist/{dropdown-trigger-idFkFkds.mjs.map → dropdown-trigger-8zD-9jXF.mjs.map} +1 -1
  302. package/dist/{dropdown-trigger-context-DcIe8cXy.mjs → dropdown-trigger-context-DnY5awW2.mjs} +2 -2
  303. package/dist/{dropdown-trigger-context-DcIe8cXy.mjs.map → dropdown-trigger-context-DnY5awW2.mjs.map} +1 -1
  304. package/dist/{field-BCZ3EqOp.mjs → field-BIBlDQoi.mjs} +1 -1
  305. package/dist/{field-BCZ3EqOp.mjs.map → field-BIBlDQoi.mjs.map} +1 -1
  306. package/dist/{field-affix-C4X9hVtO.mjs → field-affix-DNZXWyx-.mjs} +1 -1
  307. package/dist/{field-affix-C4X9hVtO.mjs.map → field-affix-DNZXWyx-.mjs.map} +1 -1
  308. package/dist/{field-description-XJjYxMvw.mjs → field-description-Dt2qLchF.mjs} +1 -1
  309. package/dist/{field-description-XJjYxMvw.mjs.map → field-description-Dt2qLchF.mjs.map} +1 -1
  310. package/dist/{fieldset-Be8MGUGl.mjs → fieldset-CcTi6Dum.mjs} +1 -1
  311. package/dist/{fieldset-Be8MGUGl.mjs.map → fieldset-CcTi6Dum.mjs.map} +1 -1
  312. package/dist/{fieldset-description-BEJMhT5N.mjs → fieldset-description-C2jSmnwk.mjs} +1 -1
  313. package/dist/{fieldset-description-BEJMhT5N.mjs.map → fieldset-description-C2jSmnwk.mjs.map} +1 -1
  314. package/dist/{fieldset-legend-6wSBIqEK.mjs → fieldset-legend-CSlBCJxg.mjs} +2 -2
  315. package/dist/{fieldset-legend-6wSBIqEK.mjs.map → fieldset-legend-CSlBCJxg.mjs.map} +1 -1
  316. package/dist/{filter-group-VUtoYeik.mjs → filter-group-Djsr79gi.mjs} +1 -1
  317. package/dist/{filter-group-VUtoYeik.mjs.map → filter-group-Djsr79gi.mjs.map} +1 -1
  318. package/dist/{footer-BUYDMkxQ.mjs → footer-CMS77qh0.mjs} +2 -2
  319. package/dist/{footer-BUYDMkxQ.mjs.map → footer-CMS77qh0.mjs.map} +1 -1
  320. package/dist/{footer-links-DZ3bP7L0.mjs → footer-links-CE3T7evI.mjs} +1 -1
  321. package/dist/{footer-links-DZ3bP7L0.mjs.map → footer-links-CE3T7evI.mjs.map} +1 -1
  322. package/dist/{footer-links-CR5Ykrg9.d.mts → footer-links-DHz69lVl.d.mts} +3 -3
  323. package/dist/{input-npZkJQsL.mjs → input-DU_8Z4cN.mjs} +1 -1
  324. package/dist/input-DU_8Z4cN.mjs.map +1 -0
  325. package/dist/{label-CLZYAwXB.mjs → label-QZyUM8Df.mjs} +1 -1
  326. package/dist/{label-CLZYAwXB.mjs.map → label-QZyUM8Df.mjs.map} +1 -1
  327. package/dist/{link-Bskmvnx5.mjs → link-CU3kBJB8.mjs} +1 -1
  328. package/dist/{link-Bskmvnx5.mjs.map → link-CU3kBJB8.mjs.map} +1 -1
  329. package/dist/{logo-RC98BG2F.mjs → logo-d750FIud.mjs} +1 -1
  330. package/dist/{logo-RC98BG2F.mjs.map → logo-d750FIud.mjs.map} +1 -1
  331. package/dist/main.d.mts +18 -18
  332. package/dist/main.mjs +122 -120
  333. package/dist/{navbar-BrMRw8N2.mjs → navbar-A1xgv5BY.mjs} +2 -2
  334. package/dist/{navbar-BrMRw8N2.mjs.map → navbar-A1xgv5BY.mjs.map} +1 -1
  335. package/dist/{pagination-BVsDp6Md.mjs → pagination-Drbd1147.mjs} +1 -1
  336. package/dist/{pagination-BVsDp6Md.mjs.map → pagination-Drbd1147.mjs.map} +1 -1
  337. package/dist/{pagination-button-DV7GBbhq.mjs → pagination-button-DT0m4mTM.mjs} +2 -2
  338. package/dist/{pagination-button-DV7GBbhq.mjs.map → pagination-button-DT0m4mTM.mjs.map} +1 -1
  339. package/dist/{pagination-item-OR2QSk7T.mjs → pagination-item-BfCHe-dC.mjs} +1 -1
  340. package/dist/{pagination-item-OR2QSk7T.mjs.map → pagination-item-BfCHe-dC.mjs.map} +1 -1
  341. package/dist/{pagination-item-mlFMhLnc.d.mts → pagination-item-Cvl83z9g.d.mts} +3 -3
  342. package/dist/{popover-ChAkuQdg.mjs → popover-BJuqdEHo.mjs} +1 -1
  343. package/dist/popover-BJuqdEHo.mjs.map +1 -0
  344. package/dist/{popover-DXYtGiZI.mjs → popover-Dqhgmd9j.mjs} +4 -4
  345. package/dist/popover-Dqhgmd9j.mjs.map +1 -0
  346. package/dist/{popover-trigger-Brt5Ctq5.mjs → popover-trigger-T4NXzZPy.mjs} +3 -3
  347. package/dist/{popover-trigger-Brt5Ctq5.mjs.map → popover-trigger-T4NXzZPy.mjs.map} +1 -1
  348. package/dist/{popover-trigger-context-DNeTrjFx.d.mts → popover-trigger-context-BfMeXz8y.d.mts} +3 -3
  349. package/dist/{popover-trigger-context-jE5SJQHq.mjs → popover-trigger-context-DZFORTLq.mjs} +1 -1
  350. package/dist/{popover-trigger-context-jE5SJQHq.mjs.map → popover-trigger-context-DZFORTLq.mjs.map} +1 -1
  351. package/dist/{radio-CZhM8bv4.mjs → radio-CikbRUIb.mjs} +5 -5
  352. package/dist/{radio-CZhM8bv4.mjs.map → radio-CikbRUIb.mjs.map} +1 -1
  353. package/dist/{search-DtEa73Zz.mjs → search-CTkPGLRm.mjs} +5 -5
  354. package/dist/search-CTkPGLRm.mjs.map +1 -0
  355. package/dist/{select-optgroup-BIIeTki5.mjs → select-optgroup-BzjAhfRU.mjs} +1 -1
  356. package/dist/{select-optgroup-BIIeTki5.mjs.map → select-optgroup-BzjAhfRU.mjs.map} +1 -1
  357. package/dist/{select-option-D1fvKZzA.mjs → select-option-DLslGIIp.mjs} +1 -1
  358. package/dist/{select-option-D1fvKZzA.mjs.map → select-option-DLslGIIp.mjs.map} +1 -1
  359. package/dist/{select-DJY40TIK.mjs → select-vw7cl3d_.mjs} +1 -1
  360. package/dist/{select-DJY40TIK.mjs.map → select-vw7cl3d_.mjs.map} +1 -1
  361. package/dist/{selectfield-Ddsq_Xbt.mjs → selectfield-BrXuaiOJ.mjs} +6 -6
  362. package/dist/{selectfield-Ddsq_Xbt.mjs.map → selectfield-BrXuaiOJ.mjs.map} +1 -1
  363. package/dist/{skip-link-B42C5TY2.mjs → skip-link-0SNs70lF.mjs} +1 -1
  364. package/dist/{skip-link-B42C5TY2.mjs.map → skip-link-0SNs70lF.mjs.map} +1 -1
  365. package/dist/{spinner-RXF3iel_.mjs → spinner-xmvtWIZ0.mjs} +1 -1
  366. package/dist/{spinner-RXF3iel_.mjs.map → spinner-xmvtWIZ0.mjs.map} +1 -1
  367. package/dist/{sticky-header-C2_uIzAY.d.mts → sticky-header-BRlM-wit.d.mts} +3 -3
  368. package/dist/{sticky-header-CPzI8Eft.mjs → sticky-header-Bwee74P6.mjs} +1 -1
  369. package/dist/{sticky-header-CPzI8Eft.mjs.map → sticky-header-Bwee74P6.mjs.map} +1 -1
  370. package/dist/{sub-navbar-BKSTicOx.mjs → sub-navbar-Dke7jNvB.mjs} +3 -3
  371. package/dist/{sub-navbar-BKSTicOx.mjs.map → sub-navbar-Dke7jNvB.mjs.map} +1 -1
  372. package/dist/switch-CJtJvYv6.mjs +34 -0
  373. package/dist/switch-CJtJvYv6.mjs.map +1 -0
  374. package/dist/{tab-CmqJjQPm.mjs → tab-qLMKkR-4.mjs} +2 -2
  375. package/dist/{tab-CmqJjQPm.mjs.map → tab-qLMKkR-4.mjs.map} +1 -1
  376. package/dist/{tabs-T1uV7M_a.mjs → tabs-BYYODpZJ.mjs} +1 -1
  377. package/dist/{tabs-T1uV7M_a.mjs.map → tabs-BYYODpZJ.mjs.map} +1 -1
  378. package/dist/{tabs-list-B_hWkbZq.mjs → tabs-list-BAnPnTwx.mjs} +1 -1
  379. package/dist/{tabs-list-B_hWkbZq.mjs.map → tabs-list-BAnPnTwx.mjs.map} +1 -1
  380. package/dist/{tabs-panel-DkjUXjIX.mjs → tabs-panel-GX2ZoOvH.mjs} +1 -1
  381. package/dist/{tabs-panel-DkjUXjIX.mjs.map → tabs-panel-GX2ZoOvH.mjs.map} +1 -1
  382. package/dist/{textarea-Bl9YoeRB.mjs → textarea-CHhlswpx.mjs} +1 -1
  383. package/dist/{textarea-Bl9YoeRB.mjs.map → textarea-CHhlswpx.mjs.map} +1 -1
  384. package/dist/{textfield-nFlOsghw.mjs → textfield-rcRRkfZB.mjs} +8 -8
  385. package/dist/{textfield-nFlOsghw.mjs.map → textfield-rcRRkfZB.mjs.map} +1 -1
  386. package/dist/{types-BcT-ov7S.d.mts → types-Bgj7p8nD.d.mts} +1 -1
  387. package/dist/{types-Bljf8GkA.d.mts → types-Biyhmxh9.d.mts} +1 -1
  388. package/dist/types.d.mts +1 -1
  389. package/dist/{useCheckboxGroup-DWqqNSFY.mjs → useCheckboxGroup-B2Px3eiz.mjs} +1 -1
  390. package/dist/{useCheckboxGroup-DWqqNSFY.mjs.map → useCheckboxGroup-B2Px3eiz.mjs.map} +1 -1
  391. package/dist/{useCheckboxGroup-DBBHH8cS.d.mts → useCheckboxGroup-BUpI46_M.d.mts} +2 -3
  392. package/dist/{useIsElementAboveViewport-DTgaSPiF.mjs → useIsElementAboveViewport-BaSLEYQk.mjs} +1 -1
  393. package/dist/{useIsElementAboveViewport-DTgaSPiF.mjs.map → useIsElementAboveViewport-BaSLEYQk.mjs.map} +1 -1
  394. package/dist/{useIsElementAboveViewport-Dm5KwNnK.d.mts → useIsElementAboveViewport-BcIGWQqn.d.mts} +1 -1
  395. package/dist/{useIsomorphicLayoutEffect-B9zYV7Dq.mjs → useIsomorphicLayoutEffect-Bn8aiGVW.mjs} +1 -1
  396. package/dist/{useIsomorphicLayoutEffect-B9zYV7Dq.mjs.map → useIsomorphicLayoutEffect-Bn8aiGVW.mjs.map} +1 -1
  397. package/dist/useIsomorphicLayoutEffect-gxToSQn7.d.mts +7 -0
  398. package/dist/{useMediaQuery-I2eiGl9n.mjs → useMediaQuery-BRGC6S33.mjs} +4 -4
  399. package/dist/useMediaQuery-BRGC6S33.mjs.map +1 -0
  400. package/dist/{useMediaQuery-CRVu5ZHm.d.mts → useMediaQuery-CIi3MXay.d.mts} +1 -1
  401. package/dist/{useMergeRefs-B7Ew7-l-.mjs → useMergeRefs-DeEL5hK6.mjs} +1 -1
  402. package/dist/useMergeRefs-DeEL5hK6.mjs.map +1 -0
  403. package/dist/{usePagination-9ht6tr5V.mjs → usePagination-aBXSjQBp.mjs} +1 -1
  404. package/dist/usePagination-aBXSjQBp.mjs.map +1 -0
  405. package/dist/{useScrollDirection-D7_FOiXc.mjs → useScrollDirection-C36-HP3S.mjs} +1 -1
  406. package/dist/{useScrollDirection-D7_FOiXc.mjs.map → useScrollDirection-C36-HP3S.mjs.map} +1 -1
  407. package/dist/{useScrollDirection-D8-lMWT2.d.mts → useScrollDirection-Cm7w2CbB.d.mts} +1 -1
  408. package/dist/utilities/hooks/index.d.mts +16 -16
  409. package/dist/utilities/hooks/index.mjs +7 -7
  410. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.mts +1 -1
  411. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.mjs +1 -1
  412. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.d.mts +1 -1
  413. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.mjs +1 -1
  414. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.mts +1 -1
  415. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +1 -1
  416. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.d.mts +1 -1
  417. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.mjs +2 -2
  418. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.d.mts +0 -1
  419. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.mjs +1 -1
  420. package/dist/utilities/hooks/usePagination/usePagination.d.mts +14 -14
  421. package/dist/utilities/hooks/usePagination/usePagination.mjs +1 -1
  422. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.d.mts +1 -1
  423. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.mjs +1 -1
  424. package/dist/utilities/index.d.mts +17 -17
  425. package/dist/utilities/index.mjs +7 -8
  426. package/dist/utilities/types.d.mts +1 -1
  427. package/dist/{validation-message-C60moOAJ.mjs → validation-message-376E95cm.mjs} +1 -1
  428. package/dist/{validation-message-C60moOAJ.mjs.map → validation-message-376E95cm.mjs.map} +1 -1
  429. package/dist/vanilla/dropdown/index.d.mts +57 -2
  430. package/dist/vanilla/dropdown/index.mjs +18 -3
  431. package/dist/vanilla/dropdown/index.mjs.map +1 -0
  432. package/dist/vanilla/index.d.mts +3 -3
  433. package/dist/vanilla/index.mjs +3 -3
  434. package/dist/vanilla/popover/index.d.mts +58 -2
  435. package/dist/vanilla/popover/index.mjs +1 -1
  436. package/dist/vanilla/sub-navbar/index.d.mts +23 -2
  437. package/dist/vanilla/sub-navbar/index.mjs +117 -2
  438. package/dist/vanilla/sub-navbar/index.mjs.map +1 -0
  439. package/package.json +6 -7
  440. package/dist/alert-Bum6ZbI7.mjs.map +0 -1
  441. package/dist/checkbox-fZxh8_fU.mjs.map +0 -1
  442. package/dist/dialog-close-button-BPOMOrmU.mjs.map +0 -1
  443. package/dist/dropdown-DuZCbT-j.mjs +0 -19
  444. package/dist/dropdown-DuZCbT-j.mjs.map +0 -1
  445. package/dist/index-8YuwT3Gl.d.mts +0 -58
  446. package/dist/index-CjIbpoNY.d.mts +0 -59
  447. package/dist/index-O2Stf8CC.d.mts +0 -23
  448. package/dist/input-npZkJQsL.mjs.map +0 -1
  449. package/dist/popover-ChAkuQdg.mjs.map +0 -1
  450. package/dist/popover-DXYtGiZI.mjs.map +0 -1
  451. package/dist/search-DtEa73Zz.mjs.map +0 -1
  452. package/dist/sub-navbar-Cnnpg72B.mjs +0 -118
  453. package/dist/sub-navbar-Cnnpg72B.mjs.map +0 -1
  454. package/dist/useIsomorphicLayoutEffect-DpkpaE5o.d.mts +0 -7
  455. package/dist/useMediaQuery-I2eiGl9n.mjs.map +0 -1
  456. package/dist/useMergeRefs-B7Ew7-l-.mjs.map +0 -1
  457. package/dist/usePagination-9ht6tr5V.mjs.map +0 -1
  458. package/dist/validation-message-DhhtmfvD.mjs +0 -1
  459. /package/dist/{alert-Bgw2AxD8.mjs → alert-vOhEayej.mjs} +0 -0
  460. /package/dist/{avatar-Cr72YJ-L.mjs → avatar-5e5_er9-.mjs} +0 -0
  461. /package/dist/{badge-7ifU6bwK.mjs → badge-D6dJHxi2.mjs} +0 -0
  462. /package/dist/{button-CIGArw6Y.mjs → button-BoSub8TT.mjs} +0 -0
  463. /package/dist/{card-DuST6i3I.mjs → card-qYOn8pIl.mjs} +0 -0
  464. /package/dist/{checkbox-3DfTi0ce.mjs → checkbox-BPiURV39.mjs} +0 -0
  465. /package/dist/{chip-DgFUa5Ye.mjs → chip-BEnK1Tg4.mjs} +0 -0
  466. /package/dist/{components-BdkN-_Ml.mjs → details-BTkav6FR.mjs} +0 -0
  467. /package/dist/{details-CIzGUfEu.mjs → dialog-DOBwB8ll.mjs} +0 -0
  468. /package/dist/{dialog-C1SXP0W_.mjs → drawer-DYVQZLML.mjs} +0 -0
  469. /package/dist/{drawer-DMnKXJLc.mjs → dropdown-4m7NoRv7.mjs} +0 -0
  470. /package/dist/{dropdown-CywQTysC.mjs → field-D8ZE0keC.mjs} +0 -0
  471. /package/dist/{field-dlY6POMz.mjs → fieldset-EvlIWkNe.mjs} +0 -0
  472. /package/dist/{fieldset-BwzFUZoW.mjs → filter-group-CqgWY3I1.mjs} +0 -0
  473. /package/dist/{filter-group-Dg6HgIEt.mjs → footer-CFU5m0uE.mjs} +0 -0
  474. /package/dist/{footer-otE7lgPI.mjs → hooks-DndqtgSU.mjs} +0 -0
  475. /package/dist/{index-9o7w1k2p.d.mts → index-C3reD4RP.d.mts} +0 -0
  476. /package/dist/{hooks-DHUUJnUb.mjs → input-8Az-c2K1.mjs} +0 -0
  477. /package/dist/{input-B45q_QJe.mjs → label-BrxPu7QD.mjs} +0 -0
  478. /package/dist/{label-BsNVBUdF.mjs → link-CYniSrWk.mjs} +0 -0
  479. /package/dist/{link-DHnBZB44.mjs → logo-Cj67VFWL.mjs} +0 -0
  480. /package/dist/{logo-BefTu0Vy.mjs → navbar-Ch7rJsaf.mjs} +0 -0
  481. /package/dist/{navbar-Cypkd4U3.mjs → pagination-BK24_vW3.mjs} +0 -0
  482. /package/dist/{pagination-C5SJFVIg.mjs → popover-C_lxbEYu.mjs} +0 -0
  483. /package/dist/{popover-8vTBTV78.mjs → radio-DoypqZjr.mjs} +0 -0
  484. /package/dist/{radio-CxXWLUKN.mjs → search-B71qkkhd.mjs} +0 -0
  485. /package/dist/{search-Cprk0LkD.mjs → select-D80ba0X2.mjs} +0 -0
  486. /package/dist/{select-DoRxDJyZ.mjs → selectfield-acG211WN.mjs} +0 -0
  487. /package/dist/{selectfield-DxSdNYcd.mjs → skip-link-DtgRPO9V.mjs} +0 -0
  488. /package/dist/{skip-link-B_bGWDKA.mjs → spinner-C4Z-GQVz.mjs} +0 -0
  489. /package/dist/{spinner-AVbCkbaj.mjs → sticky-header-j3zwZtj_.mjs} +0 -0
  490. /package/dist/{sticky-header-DtFcfpHJ.mjs → switch-DZsMi5Uf.mjs} +0 -0
  491. /package/dist/{tabs-IvYkQ0JK.mjs → tabs-Bdxundn7.mjs} +0 -0
  492. /package/dist/{textarea-Cd80tzk3.mjs → textarea-BDAr1Unx.mjs} +0 -0
  493. /package/dist/{textfield-CB6b8VQQ.mjs → textfield-BFLLhYVI.mjs} +0 -0
  494. /package/dist/{utilities-D-mDqsCm.mjs → validation-message-YHHHXfxE.mjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/vanilla/dropdown/index.ts"],"sourcesContent":["import type { Middleware, Placement } from '@floating-ui/dom';\nimport { initPopover } from '../popover';\n\nexport type InitDropdownOptions = {\n /** The id of the dropdown to initialize. The trigger element should have a `aria-controls` attribute with the same id. */\n id: string;\n /**\n * Placement of the dropdown relative to the trigger.\n * @default 'bottom'\n */\n placement?: Placement;\n /**\n * Additional middleware to use for positioning the dropdown.\n *\n * @example\n * Prevent the dropdown from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware: [\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * The padding used by the `offset` middleware.\n * @default '20'\n */\n padding?: number;\n};\n\n/**\n * Initializes the dropdown.\n * @param options - InitDropdownOptions\n * @returns A function to programmatically toggle the dropdown.\n */\nexport const initDropdown = ({\n id,\n disableAutoPlacement = false,\n placement = 'bottom',\n positionMiddleware = [],\n padding,\n}: InitDropdownOptions) => initPopover({ id, disableAutoPlacement, placement, positionMiddleware, padding });\n"],"mappings":";;;;;;;;AAiDA,MAAa,gBAAgB,EAC3B,IACA,uBAAuB,OACvB,YAAY,UACZ,qBAAqB,EAAE,EACvB,cACyB,YAAY;CAAE;CAAI;CAAsB;CAAW;CAAoB;CAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { n as initDropdown, t as InitDropdownOptions } from "../index-8YuwT3Gl.mjs";
2
- import { n as arrowPseudoElement, r as initPopover, t as InitPopoverOptions } from "../index-CjIbpoNY.mjs";
3
- import { n as initSubNavbar, t as InitSubNavbarOptions } from "../index-O2Stf8CC.mjs";
1
+ import { InitDropdownOptions, initDropdown } from "./dropdown/index.mjs";
2
+ import { InitPopoverOptions, arrowPseudoElement, initPopover } from "./popover/index.mjs";
3
+ import { InitSubNavbarOptions, initSubNavbar } from "./sub-navbar/index.mjs";
4
4
  export { InitDropdownOptions, InitPopoverOptions, InitSubNavbarOptions, arrowPseudoElement, initDropdown, initPopover, initSubNavbar };
@@ -1,5 +1,5 @@
1
- import { n as initPopover, t as arrowPseudoElement } from "../popover-ChAkuQdg.mjs";
2
- import { t as initDropdown } from "../dropdown-DuZCbT-j.mjs";
3
- import { t as initSubNavbar } from "../sub-navbar-Cnnpg72B.mjs";
1
+ import { n as initPopover, t as arrowPseudoElement } from "../popover-BJuqdEHo.mjs";
2
+ import { initDropdown } from "./dropdown/index.mjs";
3
+ import { initSubNavbar } from "./sub-navbar/index.mjs";
4
4
 
5
5
  export { arrowPseudoElement, initDropdown, initPopover, initSubNavbar };
@@ -1,2 +1,58 @@
1
- import { n as arrowPseudoElement, r as initPopover, t as InitPopoverOptions } from "../../index-CjIbpoNY.mjs";
2
- export { InitPopoverOptions, arrowPseudoElement, initPopover };
1
+ import { Middleware, Placement } from "@floating-ui/dom";
2
+
3
+ //#region src/vanilla/popover/index.d.ts
4
+ type InitPopoverOptions = {
5
+ /** The id of the popover to initialize. The trigger element should have a `aria-controls` attribute with the same id. */id: string;
6
+ /**
7
+ * Placement of the popover relative to the trigger.
8
+ * @default 'top'
9
+ */
10
+ placement?: Placement;
11
+ /**
12
+ * Additional middleware to use for positioning the popover.
13
+ *
14
+ * @example
15
+ * Prevent the popover from overflowing the navbar by using the `size` middleware:
16
+ * ```ts
17
+ * positionMiddleware: [
18
+ * size({
19
+ * apply: ({ availableHeight, elements, ...state }) => {
20
+ * const available = `${Math.max(0, availableHeight)}px`;
21
+ * const maxHeight = state.placement.includes('top')
22
+ * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`
23
+ * : available;
24
+ * elements.floating.style.maxHeight = maxHeight;
25
+ * },
26
+ * padding,
27
+ * })
28
+ * ]}
29
+ * ```
30
+ */
31
+ positionMiddleware?: Middleware[];
32
+ /**
33
+ * Whether to disable auto placement.
34
+ * @default false
35
+ */
36
+ disableAutoPlacement?: boolean;
37
+ /**
38
+ * The padding used by the `offset` middleware.
39
+ * @default '20'
40
+ */
41
+ padding?: number;
42
+ };
43
+ /**
44
+ * Initializes the popover.
45
+ * @param options - InitPopoverOptions
46
+ * @returns A function to programmatically toggle the popover.
47
+ */
48
+ declare const initPopover: ({
49
+ id,
50
+ disableAutoPlacement,
51
+ placement,
52
+ positionMiddleware,
53
+ padding
54
+ }: InitPopoverOptions) => ((open: boolean) => void) | undefined;
55
+ declare const arrowPseudoElement: Middleware;
56
+ //#endregion
57
+ export { InitPopoverOptions, arrowPseudoElement, initPopover };
58
+ //# sourceMappingURL=index.d.mts.map
@@ -1,3 +1,3 @@
1
- import { n as initPopover, t as arrowPseudoElement } from "../../popover-ChAkuQdg.mjs";
1
+ import { n as initPopover, t as arrowPseudoElement } from "../../popover-BJuqdEHo.mjs";
2
2
 
3
3
  export { arrowPseudoElement, initPopover };
@@ -1,2 +1,23 @@
1
- import { n as initSubNavbar, t as InitSubNavbarOptions } from "../../index-O2Stf8CC.mjs";
2
- export { InitSubNavbarOptions, initSubNavbar };
1
+ //#region src/vanilla/sub-navbar/index.d.ts
2
+ type InitSubNavbarOptions = {
3
+ /**
4
+ * Custom selector to find sub-navbars.
5
+ * @default '.bi-sub-navbar'
6
+ */
7
+ selector?: string;
8
+ };
9
+ /**
10
+ * Initializes all sub-navbars on the page to handle scroll-based behavior.
11
+ * This includes:
12
+ * - Setting data-fixed attribute when the navbar is scrolled past
13
+ * - Setting data-scroll-dir attribute based on scroll direction when fixed
14
+ *
15
+ * @param options Configuration options
16
+ * @returns Cleanup function to remove all event listeners and observers
17
+ */
18
+ declare const initSubNavbar: ({
19
+ selector
20
+ }?: InitSubNavbarOptions) => () => void;
21
+ //#endregion
22
+ export { InitSubNavbarOptions, initSubNavbar };
23
+ //# sourceMappingURL=index.d.mts.map
@@ -1,3 +1,118 @@
1
- import { t as initSubNavbar } from "../../sub-navbar-Cnnpg72B.mjs";
1
+ //#region src/vanilla/sub-navbar/index.ts
2
+ /**
3
+ * Detects the vertical scroll direction of the page.
4
+ * Returns 'up' | 'down' | null. The direction is only updated if the scroll distance
5
+ * exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.
6
+ */
7
+ var ScrollDirectionTracker = class {
8
+ constructor() {
9
+ this.scrollDirection = null;
10
+ this.lastScrollY = window.pageYOffset;
11
+ this.callbacks = /* @__PURE__ */ new Set();
12
+ this.updateScrollDirection = this.updateScrollDirection.bind(this);
13
+ window.addEventListener("scroll", this.updateScrollDirection);
14
+ }
15
+ updateScrollDirection() {
16
+ const scrollY = window.pageYOffset;
17
+ const direction = scrollY > this.lastScrollY ? "down" : "up";
18
+ if (direction !== this.scrollDirection && (scrollY - this.lastScrollY > 5 || scrollY - this.lastScrollY < -5)) {
19
+ this.scrollDirection = direction;
20
+ this.callbacks.forEach((callback) => callback(this.scrollDirection));
21
+ }
22
+ this.lastScrollY = scrollY > 0 ? scrollY : 0;
23
+ }
24
+ subscribe(callback) {
25
+ this.callbacks.add(callback);
26
+ return () => this.callbacks.delete(callback);
27
+ }
28
+ destroy() {
29
+ window.removeEventListener("scroll", this.updateScrollDirection);
30
+ this.callbacks.clear();
31
+ }
32
+ getCurrentDirection() {
33
+ return this.scrollDirection;
34
+ }
35
+ };
36
+ /**
37
+ * Detects when an element is scrolled past and is no longer in the viewport.
38
+ */
39
+ var ElementAboveViewportTracker = class {
40
+ constructor(element) {
41
+ this.element = element;
42
+ this.isAboveViewport = false;
43
+ this.callbacks = /* @__PURE__ */ new Set();
44
+ this.observer = new IntersectionObserver(([entry]) => {
45
+ const newIsAbove = entry.boundingClientRect.y < 0;
46
+ if (newIsAbove !== this.isAboveViewport) {
47
+ this.isAboveViewport = newIsAbove;
48
+ this.callbacks.forEach((callback) => callback(this.isAboveViewport));
49
+ }
50
+ }, { threshold: [0] });
51
+ this.observer.observe(this.element);
52
+ }
53
+ subscribe(callback) {
54
+ this.callbacks.add(callback);
55
+ return () => this.callbacks.delete(callback);
56
+ }
57
+ destroy() {
58
+ this.observer.disconnect();
59
+ this.callbacks.clear();
60
+ }
61
+ getIsAboveViewport() {
62
+ return this.isAboveViewport;
63
+ }
64
+ };
65
+ /**
66
+ * Initializes all sub-navbars on the page to handle scroll-based behavior.
67
+ * This includes:
68
+ * - Setting data-fixed attribute when the navbar is scrolled past
69
+ * - Setting data-scroll-dir attribute based on scroll direction when fixed
70
+ *
71
+ * @param options Configuration options
72
+ * @returns Cleanup function to remove all event listeners and observers
73
+ */
74
+ const initSubNavbar = ({ selector = ".bi-sub-navbar" } = {}) => {
75
+ const subNavbars = document.querySelectorAll(selector);
76
+ if (subNavbars.length === 0) {
77
+ console.warn(`No elements found with selector: ${selector}`);
78
+ return () => {};
79
+ }
80
+ const scrollTracker = new ScrollDirectionTracker();
81
+ const cleanupFunctions = [];
82
+ subNavbars.forEach((navbar) => {
83
+ const wrapper = navbar.closest(".bi-sub-navbar--wrapper");
84
+ if (!wrapper) {
85
+ console.warn("Sub-navbar must be wrapped in an element with class \"bi-sub-navbar--wrapper\"");
86
+ return;
87
+ }
88
+ let referenceElement = wrapper.querySelector("div:first-child");
89
+ if (!referenceElement || referenceElement === navbar) {
90
+ referenceElement = document.createElement("div");
91
+ wrapper.insertBefore(referenceElement, navbar);
92
+ }
93
+ const viewportTracker = new ElementAboveViewportTracker(referenceElement);
94
+ const unsubscribeViewport = viewportTracker.subscribe((isAbove) => {
95
+ navbar.setAttribute("data-fixed", String(isAbove));
96
+ if (isAbove) {
97
+ const currentDirection = scrollTracker.getCurrentDirection();
98
+ if (currentDirection) navbar.setAttribute("data-scroll-dir", currentDirection);
99
+ } else navbar.removeAttribute("data-scroll-dir");
100
+ });
101
+ const unsubscribeScroll = scrollTracker.subscribe((direction) => {
102
+ if (navbar.getAttribute("data-fixed") === "true" && direction) navbar.setAttribute("data-scroll-dir", direction);
103
+ });
104
+ cleanupFunctions.push(() => {
105
+ unsubscribeViewport();
106
+ unsubscribeScroll();
107
+ viewportTracker.destroy();
108
+ });
109
+ });
110
+ return () => {
111
+ cleanupFunctions.forEach((cleanup) => cleanup());
112
+ scrollTracker.destroy();
113
+ };
114
+ };
2
115
 
3
- export { initSubNavbar };
116
+ //#endregion
117
+ export { initSubNavbar };
118
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/vanilla/sub-navbar/index.ts"],"sourcesContent":["/**\n * Detects the vertical scroll direction of the page.\n * Returns 'up' | 'down' | null. The direction is only updated if the scroll distance\n * exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.\n */\nclass ScrollDirectionTracker {\n private scrollDirection: 'up' | 'down' | null = null;\n private lastScrollY = window.pageYOffset;\n private callbacks = new Set<(direction: 'up' | 'down' | null) => void>();\n\n constructor() {\n this.updateScrollDirection = this.updateScrollDirection.bind(this);\n window.addEventListener('scroll', this.updateScrollDirection);\n }\n\n private updateScrollDirection() {\n const scrollY = window.pageYOffset;\n const direction = scrollY > this.lastScrollY ? 'down' : 'up';\n\n if (direction !== this.scrollDirection && (scrollY - this.lastScrollY > 5 || scrollY - this.lastScrollY < -5)) {\n this.scrollDirection = direction;\n this.callbacks.forEach((callback) => callback(this.scrollDirection));\n }\n\n this.lastScrollY = scrollY > 0 ? scrollY : 0;\n }\n\n subscribe(callback: (direction: 'up' | 'down' | null) => void) {\n this.callbacks.add(callback);\n return () => this.callbacks.delete(callback);\n }\n\n destroy() {\n window.removeEventListener('scroll', this.updateScrollDirection);\n this.callbacks.clear();\n }\n\n getCurrentDirection() {\n return this.scrollDirection;\n }\n}\n\n/**\n * Detects when an element is scrolled past and is no longer in the viewport.\n */\nclass ElementAboveViewportTracker {\n private isAboveViewport = false;\n private observer: IntersectionObserver;\n private callbacks = new Set<(isAbove: boolean) => void>();\n\n constructor(private element: HTMLElement) {\n this.observer = new IntersectionObserver(\n ([entry]) => {\n const newIsAbove = entry.boundingClientRect.y < 0;\n if (newIsAbove !== this.isAboveViewport) {\n this.isAboveViewport = newIsAbove;\n this.callbacks.forEach((callback) => callback(this.isAboveViewport));\n }\n },\n { threshold: [0] },\n );\n\n this.observer.observe(this.element);\n }\n\n subscribe(callback: (isAbove: boolean) => void) {\n this.callbacks.add(callback);\n return () => this.callbacks.delete(callback);\n }\n\n destroy() {\n this.observer.disconnect();\n this.callbacks.clear();\n }\n\n getIsAboveViewport() {\n return this.isAboveViewport;\n }\n}\n\nexport type InitSubNavbarOptions = {\n /**\n * Custom selector to find sub-navbars.\n * @default '.bi-sub-navbar'\n */\n selector?: string;\n};\n\n/**\n * Initializes all sub-navbars on the page to handle scroll-based behavior.\n * This includes:\n * - Setting data-fixed attribute when the navbar is scrolled past\n * - Setting data-scroll-dir attribute based on scroll direction when fixed\n *\n * @param options Configuration options\n * @returns Cleanup function to remove all event listeners and observers\n */\nexport const initSubNavbar = ({ selector = '.bi-sub-navbar' }: InitSubNavbarOptions = {}) => {\n const subNavbars = document.querySelectorAll<HTMLElement>(selector);\n\n if (subNavbars.length === 0) {\n console.warn(`No elements found with selector: ${selector}`);\n return () => {};\n }\n\n const scrollTracker = new ScrollDirectionTracker();\n const cleanupFunctions: (() => void)[] = [];\n\n subNavbars.forEach((navbar) => {\n const wrapper = navbar.closest('.bi-sub-navbar--wrapper') as HTMLElement;\n if (!wrapper) {\n console.warn('Sub-navbar must be wrapped in an element with class \"bi-sub-navbar--wrapper\"');\n return;\n }\n\n // Find or create the reference element (empty div) that acts as the scroll trigger\n let referenceElement = wrapper.querySelector<HTMLElement>('div:first-child');\n if (!referenceElement || referenceElement === navbar) {\n referenceElement = document.createElement('div');\n wrapper.insertBefore(referenceElement, navbar);\n }\n\n const viewportTracker = new ElementAboveViewportTracker(referenceElement);\n\n // Subscribe to viewport changes\n const unsubscribeViewport = viewportTracker.subscribe((isAbove) => {\n navbar.setAttribute('data-fixed', String(isAbove));\n\n // Only set scroll direction when fixed\n if (isAbove) {\n const currentDirection = scrollTracker.getCurrentDirection();\n if (currentDirection) {\n navbar.setAttribute('data-scroll-dir', currentDirection);\n }\n } else {\n navbar.removeAttribute('data-scroll-dir');\n }\n });\n\n // Subscribe to scroll direction changes\n const unsubscribeScroll = scrollTracker.subscribe((direction) => {\n const isFixed = navbar.getAttribute('data-fixed') === 'true';\n if (isFixed && direction) {\n navbar.setAttribute('data-scroll-dir', direction);\n }\n });\n\n cleanupFunctions.push(() => {\n unsubscribeViewport();\n unsubscribeScroll();\n viewportTracker.destroy();\n });\n });\n\n // Return cleanup function\n return () => {\n cleanupFunctions.forEach((cleanup) => cleanup());\n scrollTracker.destroy();\n };\n};\n"],"mappings":";;;;;;AAKA,IAAM,yBAAN,MAA6B;CAK3B,cAAc;yBAJkC;qBAC1B,OAAO;mCACT,IAAI,KAAgD;AAGtE,OAAK,wBAAwB,KAAK,sBAAsB,KAAK,KAAK;AAClE,SAAO,iBAAiB,UAAU,KAAK,sBAAsB;;CAG/D,AAAQ,wBAAwB;EAC9B,MAAM,UAAU,OAAO;EACvB,MAAM,YAAY,UAAU,KAAK,cAAc,SAAS;AAExD,MAAI,cAAc,KAAK,oBAAoB,UAAU,KAAK,cAAc,KAAK,UAAU,KAAK,cAAc,KAAK;AAC7G,QAAK,kBAAkB;AACvB,QAAK,UAAU,SAAS,aAAa,SAAS,KAAK,gBAAgB,CAAC;;AAGtE,OAAK,cAAc,UAAU,IAAI,UAAU;;CAG7C,UAAU,UAAqD;AAC7D,OAAK,UAAU,IAAI,SAAS;AAC5B,eAAa,KAAK,UAAU,OAAO,SAAS;;CAG9C,UAAU;AACR,SAAO,oBAAoB,UAAU,KAAK,sBAAsB;AAChE,OAAK,UAAU,OAAO;;CAGxB,sBAAsB;AACpB,SAAO,KAAK;;;;;;AAOhB,IAAM,8BAAN,MAAkC;CAKhC,YAAY,AAAQ,SAAsB;EAAtB;yBAJM;mCAEN,IAAI,KAAiC;AAGvD,OAAK,WAAW,IAAI,sBACjB,CAAC,WAAW;GACX,MAAM,aAAa,MAAM,mBAAmB,IAAI;AAChD,OAAI,eAAe,KAAK,iBAAiB;AACvC,SAAK,kBAAkB;AACvB,SAAK,UAAU,SAAS,aAAa,SAAS,KAAK,gBAAgB,CAAC;;KAGxE,EAAE,WAAW,CAAC,EAAE,EAAE,CACnB;AAED,OAAK,SAAS,QAAQ,KAAK,QAAQ;;CAGrC,UAAU,UAAsC;AAC9C,OAAK,UAAU,IAAI,SAAS;AAC5B,eAAa,KAAK,UAAU,OAAO,SAAS;;CAG9C,UAAU;AACR,OAAK,SAAS,YAAY;AAC1B,OAAK,UAAU,OAAO;;CAGxB,qBAAqB;AACnB,SAAO,KAAK;;;;;;;;;;;;AAqBhB,MAAa,iBAAiB,EAAE,WAAW,qBAA2C,EAAE,KAAK;CAC3F,MAAM,aAAa,SAAS,iBAA8B,SAAS;AAEnE,KAAI,WAAW,WAAW,GAAG;AAC3B,UAAQ,KAAK,oCAAoC,WAAW;AAC5D,eAAa;;CAGf,MAAM,gBAAgB,IAAI,wBAAwB;CAClD,MAAM,mBAAmC,EAAE;AAE3C,YAAW,SAAS,WAAW;EAC7B,MAAM,UAAU,OAAO,QAAQ,0BAA0B;AACzD,MAAI,CAAC,SAAS;AACZ,WAAQ,KAAK,iFAA+E;AAC5F;;EAIF,IAAI,mBAAmB,QAAQ,cAA2B,kBAAkB;AAC5E,MAAI,CAAC,oBAAoB,qBAAqB,QAAQ;AACpD,sBAAmB,SAAS,cAAc,MAAM;AAChD,WAAQ,aAAa,kBAAkB,OAAO;;EAGhD,MAAM,kBAAkB,IAAI,4BAA4B,iBAAiB;EAGzE,MAAM,sBAAsB,gBAAgB,WAAW,YAAY;AACjE,UAAO,aAAa,cAAc,OAAO,QAAQ,CAAC;AAGlD,OAAI,SAAS;IACX,MAAM,mBAAmB,cAAc,qBAAqB;AAC5D,QAAI,iBACF,QAAO,aAAa,mBAAmB,iBAAiB;SAG1D,QAAO,gBAAgB,kBAAkB;IAE3C;EAGF,MAAM,oBAAoB,cAAc,WAAW,cAAc;AAE/D,OADgB,OAAO,aAAa,aAAa,KAAK,UACvC,UACb,QAAO,aAAa,mBAAmB,UAAU;IAEnD;AAEF,mBAAiB,WAAW;AAC1B,wBAAqB;AACrB,sBAAmB;AACnB,mBAAgB,SAAS;IACzB;GACF;AAGF,cAAa;AACX,mBAAiB,SAAS,YAAY,SAAS,CAAC;AAChD,gBAAc,SAAS"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bi-digital/react",
3
3
  "type": "module",
4
- "version": "0.6.8",
4
+ "version": "0.7.0",
5
5
  "engines": {
6
6
  "node": "^20.19.0 || >=22.12.0"
7
7
  },
@@ -41,7 +41,7 @@
41
41
  "@radix-ui/react-tabs": "^1.1.13",
42
42
  "@radix-ui/react-use-controllable-state": "^1.2.2",
43
43
  "clsx": "^2.1.1",
44
- "@bi-digital/icons": "0.6.8"
44
+ "@bi-digital/icons": "0.7.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@testing-library/dom": "^10.4.1",
@@ -51,23 +51,22 @@
51
51
  "@types/react": "^19.2.3",
52
52
  "@types/react-dom": "^19.2.3",
53
53
  "@vitest/coverage-v8": "^4.0.8",
54
- "@vitest/expect": "^4.0.15",
55
- "jsdom": "^27.2.0",
54
+ "@vitest/expect": "^4.0.18",
55
+ "jsdom": "^28.0.0",
56
56
  "react": "^19.2.0",
57
57
  "react-dom": "^19.2.0",
58
58
  "tsconfck": "^3.1.6",
59
- "tsdown": "^0.17.0",
59
+ "tsdown": "^0.20.1",
60
60
  "vitest": "^4.0.8"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "react": "^19",
64
64
  "react-dom": "^19",
65
- "@bi-digital/css": "0.6.8"
65
+ "@bi-digital/css": "0.7.0"
66
66
  },
67
67
  "scripts": {
68
68
  "build": "tsdown",
69
69
  "dev": "tsdown --watch ./src",
70
- "lint": "eslint .",
71
70
  "test": "vitest run"
72
71
  }
73
72
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert-Bum6ZbI7.mjs","names":["variantIcons: Record<NonNullable<AlertProps['variant']>, React.ComponentType>"],"sources":["../src/components/alert/alert.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport { Slot } from '@radix-ui/react-slot';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { CheckmarkSmallIcon, ErrorIcon, InfoIcon, WarningIcon } from '@bi-digital/icons';\n\nexport type AlertProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * The alert variant.\n * @default 'primary'\n */\n variant?: 'info' | 'success' | 'warning' | 'alert' | 'primary' | 'neutral';\n /**\n * Size of the alert.\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Custom close button. It's your responsibility to make the button close the alert. */\n closeButton?: ReactNode;\n /** Override the default icon which is decided by the `variant`. Set to `null` to remove the icon. */\n icon?: ReactNode;\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\nconst variantIcons: Record<NonNullable<AlertProps['variant']>, React.ComponentType> = {\n info: InfoIcon,\n success: CheckmarkSmallIcon,\n warning: WarningIcon,\n alert: ErrorIcon,\n primary: InfoIcon,\n neutral: InfoIcon,\n};\n\nexport const Alert = ({\n className,\n children,\n closeButton,\n variant = 'primary',\n icon,\n asChild,\n dark,\n size,\n ref,\n ...rest\n}: AlertProps) => {\n const Component = asChild ? Slot : 'div';\n const DefaultIcon = variantIcons[variant];\n return (\n <Component\n className={clsx('bi-alert', className)}\n data-variant={variant}\n data-size={size}\n data-dark={dark}\n ref={ref}\n {...rest}\n >\n {icon === null ? null : (icon ?? <DefaultIcon />)}\n {children}\n {closeButton}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAiCA,MAAMA,eAAgF;CACpF,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;CACP,SAAS;CACT,SAAS;CACV;AAED,MAAa,SAAS,EACpB,WACA,UACA,aACA,UAAU,WACV,MACA,SACA,MACA,MACA,KACA,GAAG,WACa;CAChB,MAAM,YAAY,UAAU,OAAO;CACnC,MAAM,cAAc,aAAa;AACjC,QACE,qBAAC;EACC,WAAW,KAAK,YAAY,UAAU;EACtC,gBAAc;EACd,aAAW;EACX,aAAW;EACN;EACL,GAAI;;GAEH,SAAS,OAAO,OAAQ,QAAQ,oBAAC,gBAAc;GAC/C;GACA;;GACS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-fZxh8_fU.mjs","names":["input: HTMLInputElement | null"],"sources":["../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ReactNode, type Ref } from 'react';\n\nimport type { LabelRequiredProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Field, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\nimport { useMergeRefs } from '../../utilities/hooks/useMergeRefs/useMergeRefs';\n\nexport type CheckboxProps = MergeRight<\n LabelRequiredProps & Omit<InputProps, 'type' | 'role' | 'size'>,\n {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Add error indication to the checkbox. */\n error?: boolean;\n /** Specify whether the Checkbox is indeterminate */\n indeterminate?: boolean;\n /** If true, the checkbox will take up the full width of the container, and not just \"fit-content\" which is default */\n fullwidth?: boolean;\n ref?: Ref<HTMLInputElement>;\n }\n>;\n\nexport const Checkbox = ({\n dark,\n label,\n description,\n error,\n fullwidth,\n style,\n className,\n indeterminate,\n ref,\n id,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: CheckboxProps) => {\n const checkRef = useRef<HTMLInputElement>(null);\n const refs = useMergeRefs([checkRef, ref]);\n const descriptionId = useId();\n\n useEffect(() => {\n let input: HTMLInputElement | null;\n if (ref && typeof ref !== 'function') {\n input = ref.current;\n } else {\n input = checkRef.current;\n }\n\n if (input) {\n input.indeterminate = indeterminate || false;\n }\n }, [indeterminate, checkRef, ref]);\n\n const ariaDescribedBy = [description ? descriptionId : '', ariaDescribedByProp].join(' ').trim() || undefined;\n\n return (\n <Field className={className} data-dark={dark} style={style} fullwidth={fullwidth} asChild>\n <label>\n <Input\n type='checkbox'\n id={id}\n ref={refs}\n aria-invalid={error || undefined}\n aria-describedby={ariaDescribedBy}\n dark={dark}\n {...props}\n />\n {label && (\n <Label weight='medium' htmlFor={id} asChild>\n <span>{label}</span>\n </Label>\n )}\n {description && (\n // Aria-hidden is used to prevent screen readers from reading the description twice:\n // once as part of the label and once from being connected through aria-describedby.\n <FieldDescription aria-hidden='true' id={descriptionId}>\n {description}\n </FieldDescription>\n )}\n </label>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AA0BA,MAAa,YAAY,EACvB,MACA,OACA,aACA,OACA,WACA,OACA,WACA,eACA,KACA,IACA,oBAAoB,qBACpB,GAAG,YACgB;CACnB,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,OAAO,aAAa,CAAC,UAAU,IAAI,CAAC;CAC1C,MAAM,gBAAgB,OAAO;AAE7B,iBAAgB;EACd,IAAIA;AACJ,MAAI,OAAO,OAAO,QAAQ,WACxB,SAAQ,IAAI;MAEZ,SAAQ,SAAS;AAGnB,MAAI,MACF,OAAM,gBAAgB,iBAAiB;IAExC;EAAC;EAAe;EAAU;EAAI,CAAC;CAElC,MAAM,kBAAkB,CAAC,cAAc,gBAAgB,IAAI,oBAAoB,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI;AAEpG,QACE,oBAAC;EAAiB;EAAW,aAAW;EAAa;EAAkB;EAAW;YAChF,qBAAC;GACC,oBAAC;IACC,MAAK;IACD;IACJ,KAAK;IACL,gBAAc,SAAS;IACvB,oBAAkB;IACZ;IACN,GAAI;KACJ;GACD,SACC,oBAAC;IAAM,QAAO;IAAS,SAAS;IAAI;cAClC,oBAAC,oBAAM,QAAa;KACd;GAET,eAGC,oBAAC;IAAiB,eAAY;IAAO,IAAI;cACtC;KACgB;MAEf;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog-close-button-BPOMOrmU.mjs","names":[],"sources":["../src/components/dialog/dialog-close-button.tsx"],"sourcesContent":["import { CrossSmallIcon } from '@bi-digital/icons';\nimport { Button, type ButtonProps } from '../button';\n\nexport type DialogCloseButtonProps = Omit<ButtonProps, 'asChild' | 'type' | 'name'>;\n\nexport const DialogCloseButton = ({ children, ref, ...props }: DialogCloseButtonProps) => {\n return (\n <form method='dialog'>\n <Button ref={ref} autoFocus icon name='close' type='submit' variant='text' {...props}>\n {children || <CrossSmallIcon aria-hidden='true' />}\n </Button>\n </form>\n );\n};\n"],"mappings":";;;;;AAKA,MAAa,qBAAqB,EAAE,UAAU,KAAK,GAAG,YAAoC;AACxF,QACE,oBAAC;EAAK,QAAO;YACX,oBAAC;GAAY;GAAK;GAAU;GAAK,MAAK;GAAQ,MAAK;GAAS,SAAQ;GAAO,GAAI;aAC5E,YAAY,oBAAC,kBAAe,eAAY,SAAS;IAC3C;GACJ"}
@@ -1,19 +0,0 @@
1
- import { n as initPopover } from "./popover-ChAkuQdg.mjs";
2
-
3
- //#region src/vanilla/dropdown/index.ts
4
- /**
5
- * Initializes the dropdown.
6
- * @param options - InitDropdownOptions
7
- * @returns A function to programmatically toggle the dropdown.
8
- */
9
- const initDropdown = ({ id, disableAutoPlacement = false, placement = "bottom", positionMiddleware = [], padding }) => initPopover({
10
- id,
11
- disableAutoPlacement,
12
- placement,
13
- positionMiddleware,
14
- padding
15
- });
16
-
17
- //#endregion
18
- export { initDropdown as t };
19
- //# sourceMappingURL=dropdown-DuZCbT-j.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-DuZCbT-j.mjs","names":[],"sources":["../src/vanilla/dropdown/index.ts"],"sourcesContent":["import type { Middleware, Placement } from '@floating-ui/dom';\nimport { initPopover } from '../popover';\n\nexport type InitDropdownOptions = {\n /** The id of the dropdown to initialize. The trigger element should have a `aria-controls` attribute with the same id. */\n id: string;\n /**\n * Placement of the dropdown relative to the trigger.\n * @default 'bottom'\n */\n placement?: Placement;\n /**\n * Additional middleware to use for positioning the dropdown.\n *\n * @example\n * Prevent the dropdown from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware: [\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * The padding used by the `offset` middleware.\n * @default '20'\n */\n padding?: number;\n};\n\n/**\n * Initializes the dropdown.\n * @param options - InitDropdownOptions\n * @returns A function to programmatically toggle the dropdown.\n */\nexport const initDropdown = ({\n id,\n disableAutoPlacement = false,\n placement = 'bottom',\n positionMiddleware = [],\n padding,\n}: InitDropdownOptions) => initPopover({ id, disableAutoPlacement, placement, positionMiddleware, padding });\n"],"mappings":";;;;;;;;AAiDA,MAAa,gBAAgB,EAC3B,IACA,uBAAuB,OACvB,YAAY,UACZ,qBAAqB,EAAE,EACvB,cACyB,YAAY;CAAE;CAAI;CAAsB;CAAW;CAAoB;CAAS,CAAC"}
@@ -1,58 +0,0 @@
1
- import { Middleware, Placement } from "@floating-ui/dom";
2
-
3
- //#region src/vanilla/dropdown/index.d.ts
4
- type InitDropdownOptions = {
5
- /** The id of the dropdown to initialize. The trigger element should have a `aria-controls` attribute with the same id. */
6
- id: string;
7
- /**
8
- * Placement of the dropdown relative to the trigger.
9
- * @default 'bottom'
10
- */
11
- placement?: Placement;
12
- /**
13
- * Additional middleware to use for positioning the dropdown.
14
- *
15
- * @example
16
- * Prevent the dropdown from overflowing the navbar by using the `size` middleware:
17
- * ```ts
18
- * positionMiddleware: [
19
- * size({
20
- * apply: ({ availableHeight, elements, ...state }) => {
21
- * const available = `${Math.max(0, availableHeight)}px`;
22
- * const maxHeight = state.placement.includes('top')
23
- * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`
24
- * : available;
25
- * elements.floating.style.maxHeight = maxHeight;
26
- * },
27
- * padding,
28
- * })
29
- * ]}
30
- * ```
31
- */
32
- positionMiddleware?: Middleware[];
33
- /**
34
- * Whether to disable auto placement.
35
- * @default false
36
- */
37
- disableAutoPlacement?: boolean;
38
- /**
39
- * The padding used by the `offset` middleware.
40
- * @default '20'
41
- */
42
- padding?: number;
43
- };
44
- /**
45
- * Initializes the dropdown.
46
- * @param options - InitDropdownOptions
47
- * @returns A function to programmatically toggle the dropdown.
48
- */
49
- declare const initDropdown: ({
50
- id,
51
- disableAutoPlacement,
52
- placement,
53
- positionMiddleware,
54
- padding
55
- }: InitDropdownOptions) => ((open: boolean) => void) | undefined;
56
- //#endregion
57
- export { initDropdown as n, InitDropdownOptions as t };
58
- //# sourceMappingURL=index-8YuwT3Gl.d.mts.map
@@ -1,59 +0,0 @@
1
- import { Middleware, Placement } from "@floating-ui/dom";
2
-
3
- //#region src/vanilla/popover/index.d.ts
4
- type InitPopoverOptions = {
5
- /** The id of the popover to initialize. The trigger element should have a `aria-controls` attribute with the same id. */
6
- id: string;
7
- /**
8
- * Placement of the popover relative to the trigger.
9
- * @default 'top'
10
- */
11
- placement?: Placement;
12
- /**
13
- * Additional middleware to use for positioning the popover.
14
- *
15
- * @example
16
- * Prevent the popover from overflowing the navbar by using the `size` middleware:
17
- * ```ts
18
- * positionMiddleware: [
19
- * size({
20
- * apply: ({ availableHeight, elements, ...state }) => {
21
- * const available = `${Math.max(0, availableHeight)}px`;
22
- * const maxHeight = state.placement.includes('top')
23
- * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`
24
- * : available;
25
- * elements.floating.style.maxHeight = maxHeight;
26
- * },
27
- * padding,
28
- * })
29
- * ]}
30
- * ```
31
- */
32
- positionMiddleware?: Middleware[];
33
- /**
34
- * Whether to disable auto placement.
35
- * @default false
36
- */
37
- disableAutoPlacement?: boolean;
38
- /**
39
- * The padding used by the `offset` middleware.
40
- * @default '20'
41
- */
42
- padding?: number;
43
- };
44
- /**
45
- * Initializes the popover.
46
- * @param options - InitPopoverOptions
47
- * @returns A function to programmatically toggle the popover.
48
- */
49
- declare const initPopover: ({
50
- id,
51
- disableAutoPlacement,
52
- placement,
53
- positionMiddleware,
54
- padding
55
- }: InitPopoverOptions) => ((open: boolean) => void) | undefined;
56
- declare const arrowPseudoElement: Middleware;
57
- //#endregion
58
- export { arrowPseudoElement as n, initPopover as r, InitPopoverOptions as t };
59
- //# sourceMappingURL=index-CjIbpoNY.d.mts.map
@@ -1,23 +0,0 @@
1
- //#region src/vanilla/sub-navbar/index.d.ts
2
- type InitSubNavbarOptions = {
3
- /**
4
- * Custom selector to find sub-navbars.
5
- * @default '.bi-sub-navbar'
6
- */
7
- selector?: string;
8
- };
9
- /**
10
- * Initializes all sub-navbars on the page to handle scroll-based behavior.
11
- * This includes:
12
- * - Setting data-fixed attribute when the navbar is scrolled past
13
- * - Setting data-scroll-dir attribute based on scroll direction when fixed
14
- *
15
- * @param options Configuration options
16
- * @returns Cleanup function to remove all event listeners and observers
17
- */
18
- declare const initSubNavbar: ({
19
- selector
20
- }?: InitSubNavbarOptions) => () => void;
21
- //#endregion
22
- export { initSubNavbar as n, InitSubNavbarOptions as t };
23
- //# sourceMappingURL=index-O2Stf8CC.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-npZkJQsL.mjs","names":[],"sources":["../src/components/input/input.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport type { InputHTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\n\nexport type InputProps = MergeRight<\n DefaultProps & Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'type'>,\n {\n /**\n * Size of the input field.\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /**\n * The `input` type\n * @default 'text'\n * */\n type?:\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n /** Set the visible width, in characters, of the `Input` component. */\n visibleWidth?: number;\n /**\n * Disable the element\n * @note Avoid using if possible for accessibility purposes\n */\n disabled?: boolean;\n /** Toggle `readOnly` */\n readOnly?: boolean;\n ref?: Ref<HTMLInputElement>;\n }\n>;\n\nexport const Input = ({\n type = 'text',\n size = 'medium',\n visibleWidth,\n className,\n onChange,\n onClick,\n dark,\n readOnly,\n ref,\n ...props\n}: InputProps) => {\n return (\n <input\n className={clsx('bi-input', className)}\n data-dark={dark}\n data-size={size}\n ref={ref}\n type={type}\n readOnly={readOnly}\n onChange={(event) => readOnly || onChange?.(event)} // Make readonly work for [type=\"checkbox\"]/[type=\"radio\"]\n onClick={(event) => {\n if (readOnly) event.preventDefault(); // Make readonly work for [type=\"checkbox\"]/[type=\"radio\"]\n onClick?.(event);\n }}\n size={visibleWidth}\n {...props}\n />\n );\n};\n"],"mappings":";;;;AAgDA,MAAa,SAAS,EACpB,OAAO,QACP,OAAO,UACP,cACA,WACA,UACA,SACA,MACA,UACA,KACA,GAAG,YACa;AAChB,QACE,oBAAC;EACC,WAAW,KAAK,YAAY,UAAU;EACtC,aAAW;EACX,aAAW;EACN;EACC;EACI;EACV,WAAW,UAAU,YAAY,WAAW,MAAM;EAClD,UAAU,UAAU;AAClB,OAAI,SAAU,OAAM,gBAAgB;AACpC,aAAU,MAAM;;EAElB,MAAM;EACN,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-ChAkuQdg.mjs","names":["cleanup: (() => void) | undefined","arrowPseudoElement: Middleware"],"sources":["../src/vanilla/popover/index.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\n\nexport type InitPopoverOptions = {\n /** The id of the popover to initialize. The trigger element should have a `aria-controls` attribute with the same id. */\n id: string;\n /**\n * Placement of the popover relative to the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware: [\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * The padding used by the `offset` middleware.\n * @default '20'\n */\n padding?: number;\n};\n\n/**\n * Initializes the popover.\n * @param options - InitPopoverOptions\n * @returns A function to programmatically toggle the popover.\n */\nexport const initPopover = ({\n id,\n disableAutoPlacement = false,\n placement = 'top',\n positionMiddleware = [],\n padding = 20,\n}: InitPopoverOptions) => {\n let cleanup: (() => void) | undefined;\n const popover = document.getElementById(id);\n const triggerSelector = `[aria-controls=\"${id}\"]`;\n const trigger = document.querySelector(triggerSelector);\n\n if (!popover || !trigger) return;\n\n const togglePopover = (open: boolean) => {\n if (open) {\n cleanup = autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding }),\n ...(popover.dataset.arrow === 'true' ? [arrowPseudoElement] : []),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n popover.setAttribute('aria-hidden', 'false');\n trigger.setAttribute('aria-expanded', 'true');\n } else {\n cleanup?.();\n popover.setAttribute('aria-hidden', 'true');\n trigger.setAttribute('aria-expanded', 'false');\n }\n };\n\n document.addEventListener(\n 'click',\n (event) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(triggerSelector);\n const isOutside = !isTrigger && !popover.contains(el as Node);\n const isOpen = popover.getAttribute('aria-hidden') === 'false';\n\n if (isTrigger) {\n togglePopover(!isOpen);\n }\n if (isOutside && isOpen) {\n togglePopover(false);\n }\n },\n true,\n );\n\n return togglePopover;\n};\n\nexport const arrowPseudoElement: Middleware = {\n name: 'ArrowPseudoElement',\n fn(data) {\n const { elements, rects, placement } = data;\n\n let arrowX = `${Math.round(rects.reference.width / 2 + rects.reference.x - data.x)}px`;\n let arrowY = `${Math.round(rects.reference.height / 2 + rects.reference.y - data.y)}px`;\n\n if (rects.reference.width > rects.floating.width) {\n arrowX = `${Math.round(rects.floating.width / 2)}px`;\n }\n\n if (rects.reference.height > rects.floating.height) {\n arrowY = `${Math.round(rects.floating.height / 2)}px`;\n }\n\n switch (placement.split('-')[0]) {\n case 'top':\n arrowY = '100%';\n break;\n case 'right':\n arrowX = '0';\n break;\n case 'bottom':\n arrowY = '0';\n break;\n case 'left':\n arrowX = '100%';\n break;\n }\n\n elements.floating.setAttribute('data-placement', placement.split('-')[0]); // We only need top/left/right/bottom\n elements.floating.style.setProperty('--bic-popover-arrow-x', arrowX);\n elements.floating.style.setProperty('--bic-popover-arrow-y', arrowY);\n return data;\n },\n};\n"],"mappings":";;;;;;;;AAiDA,MAAa,eAAe,EAC1B,IACA,uBAAuB,OACvB,YAAY,OACZ,qBAAqB,EAAE,EACvB,UAAU,SACc;CACxB,IAAIA;CACJ,MAAM,UAAU,SAAS,eAAe,GAAG;CAC3C,MAAM,kBAAkB,mBAAmB,GAAG;CAC9C,MAAM,UAAU,SAAS,cAAc,gBAAgB;AAEvD,KAAI,CAAC,WAAW,CAAC,QAAS;CAE1B,MAAM,iBAAiB,SAAkB;AACvC,MAAI,MAAM;AACR,aAAU,WAAW,SAAS,eAAe;AAC3C,oBAAgB,SAAS,SAAS;KAChC,YAAY;MACV,OAAO,QAAQ;MACf,GAAI,uBAAuB,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;MACvE,GAAG;MACH,KAAK,EAAE,SAAS,CAAC;MACjB,GAAI,QAAQ,QAAQ,UAAU,SAAS,CAAC,mBAAmB,GAAG,EAAE;MACjE;KACD,UAAU;KACV;KACD,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,qBAAqB;AACpC,aAAQ,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE;AACtC,aAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;MAC7E;KACF;AACF,WAAQ,aAAa,eAAe,QAAQ;AAC5C,WAAQ,aAAa,iBAAiB,OAAO;SACxC;AACL,cAAW;AACX,WAAQ,aAAa,eAAe,OAAO;AAC3C,WAAQ,aAAa,iBAAiB,QAAQ;;;AAIlD,UAAS,iBACP,UACC,UAAU;EACT,MAAM,KAAK,MAAM;EACjB,MAAM,YAAY,IAAI,UAAU,gBAAgB;EAChD,MAAM,YAAY,CAAC,aAAa,CAAC,QAAQ,SAAS,GAAW;EAC7D,MAAM,SAAS,QAAQ,aAAa,cAAc,KAAK;AAEvD,MAAI,UACF,eAAc,CAAC,OAAO;AAExB,MAAI,aAAa,OACf,eAAc,MAAM;IAGxB,KACD;AAED,QAAO;;AAGT,MAAaC,qBAAiC;CAC5C,MAAM;CACN,GAAG,MAAM;EACP,MAAM,EAAE,UAAU,OAAO,cAAc;EAEvC,IAAI,SAAS,GAAG,KAAK,MAAM,MAAM,UAAU,QAAQ,IAAI,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;EACnF,IAAI,SAAS,GAAG,KAAK,MAAM,MAAM,UAAU,SAAS,IAAI,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;AAEpF,MAAI,MAAM,UAAU,QAAQ,MAAM,SAAS,MACzC,UAAS,GAAG,KAAK,MAAM,MAAM,SAAS,QAAQ,EAAE,CAAC;AAGnD,MAAI,MAAM,UAAU,SAAS,MAAM,SAAS,OAC1C,UAAS,GAAG,KAAK,MAAM,MAAM,SAAS,SAAS,EAAE,CAAC;AAGpD,UAAQ,UAAU,MAAM,IAAI,CAAC,IAA7B;GACE,KAAK;AACH,aAAS;AACT;GACF,KAAK;AACH,aAAS;AACT;GACF,KAAK;AACH,aAAS;AACT;GACF,KAAK;AACH,aAAS;AACT;;AAGJ,WAAS,SAAS,aAAa,kBAAkB,UAAU,MAAM,IAAI,CAAC,GAAG;AACzE,WAAS,SAAS,MAAM,YAAY,yBAAyB,OAAO;AACpE,WAAS,SAAS,MAAM,YAAY,yBAAyB,OAAO;AACpE,SAAO;;CAEV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-DXYtGiZI.mjs","names":["cl"],"sources":["../src/components/popover/popover.tsx"],"sourcesContent":["// Thanks to Designsystemet:\n// https://github.com/digdir/designsystemet/blob/8aa6dc274e5b0338d15572f44b5dd3fab6fa4eb1/packages/react/src/components/Popover/Popover.tsx\n\nimport { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\nimport { Slot } from '@radix-ui/react-slot';\nimport cl from 'clsx/lite';\nimport { use, useRef } from 'react';\nimport type { HTMLAttributes, Ref } from 'react';\nimport { useEffect } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { useMergeRefs } from '../../utilities/hooks/useMergeRefs/useMergeRefs';\nimport { Context } from './popover-trigger-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { arrowPseudoElement } from '../../vanilla/popover';\n\nexport type PopoverProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * `id` to connect the trigger with the popover - required when not using PopoverContext.\n */\n id?: string;\n /**\n * Placement of the popover on the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * When a boolean is provided, the popover will be controlled.\n * @default undefined\n */\n open?: boolean;\n /**\n * Callback when the open state changes.\n * @param open - The new open state of the popover.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware={[\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * The padding used by the `offset` middleware.\n * @default '20'\n */\n padding?: number;\n /**\n * Show an arrow on the popover, pointing toward the center of the reference element.\n * @default false\n */\n arrow?: boolean;\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\n/**\n * Popover component, used to display content in a popover over an element.\n *\n * @example with TriggerContext\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example without TriggerContext\n * <Button aria-controls=\"my-popover\" aria-expanded={open}>Open Popover</Button>\n * <Popover open={open} onOpenChange={onOpenChange} id=\"my-popover\">\n * Content\n * </Popover>\n */\nexport const Popover = ({\n id,\n className,\n onOpenChange,\n open,\n placement = 'top',\n disableAutoPlacement = false,\n positionMiddleware = [],\n padding = 20,\n dark = false,\n arrow = false,\n asChild = false,\n ref,\n ...rest\n}: PopoverProps) => {\n const Component = asChild ? Slot : 'div';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const isControlled = useRef(open !== undefined);\n const mergedRefs = useMergeRefs([popoverRef, ref]);\n const { popoverId, setPopoverId, popoverOpen, setPopoverOpen } = use(Context);\n\n const [isOpen, setIsOpen] = useControllableState({\n // False positive: isControlled will never change, but is just used to store the initial controlled state\n // eslint-disable-next-line react-hooks/refs\n prop: isControlled.current ? open : popoverOpen,\n onChange: (val) => {\n onOpenChange?.(val);\n setPopoverOpen?.(val);\n },\n defaultProp: false,\n caller: 'Popover',\n });\n\n useEffect(() => {\n const popover = popoverRef.current;\n const handleClick = (event: MouseEvent) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(`[aria-controls=\"${popover?.id}\"]`);\n const isOutside = !isTrigger && !popover?.contains(el as Node);\n\n if (isOutside) {\n setIsOpen(false);\n }\n };\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !isOpen) return;\n event.preventDefault(); // Prevent closing fullscreen in Safari\n setIsOpen(false);\n };\n\n document.addEventListener('click', handleClick, true); // Use capture to execute before React event API\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('click', handleClick, true);\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n const popover = popoverRef.current;\n const trigger = document.querySelector(`[aria-controls=\"${popover?.id}\"]`);\n\n if (popover && trigger && isOpen)\n return autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding, strategy: 'escaped' }),\n ...(arrow ? [arrowPseudoElement] : []),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n }, [isOpen, placement, id, disableAutoPlacement, positionMiddleware, padding, arrow]);\n\n // Update context with id\n useEffect(() => {\n if (id) setPopoverId?.(id);\n }, [id, setPopoverId]);\n\n return (\n <Component\n className={cl('bi-popover', className)}\n id={id || popoverId}\n aria-hidden={!isOpen}\n data-arrow={arrow || undefined}\n data-dark={dark}\n ref={mergedRefs}\n {...rest}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGA,MAAa,WAAW,EACtB,IACA,WACA,cACA,MACA,YAAY,OACZ,uBAAuB,OACvB,qBAAqB,EAAE,EACvB,UAAU,IACV,OAAO,OACP,QAAQ,OACR,UAAU,OACV,KACA,GAAG,WACe;CAClB,MAAM,YAAY,UAAU,OAAO;CAEnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAO,SAAS,OAAU;CAC/C,MAAM,aAAa,aAAa,CAAC,YAAY,IAAI,CAAC;CAClD,MAAM,EAAE,WAAW,cAAc,aAAa,mBAAmB,IAAI,QAAQ;CAE7E,MAAM,CAAC,QAAQ,aAAa,qBAAqB;EAG/C,MAAM,aAAa,UAAU,OAAO;EACpC,WAAW,QAAQ;AACjB,kBAAe,IAAI;AACnB,oBAAiB,IAAI;;EAEvB,aAAa;EACb,QAAQ;EACT,CAAC;AAEF,iBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,eAAe,UAAsB;GACzC,MAAM,KAAK,MAAM;AAIjB,OAFkB,CADA,IAAI,UAAU,mBAAmB,SAAS,GAAG,IAAI,IACnC,CAAC,SAAS,SAAS,GAAW,CAG5D,WAAU,MAAM;;EAIpB,MAAM,iBAAiB,UAAyB;AAC9C,OAAI,MAAM,QAAQ,YAAY,CAAC,OAAQ;AACvC,SAAM,gBAAgB;AACtB,aAAU,MAAM;;AAGlB,WAAS,iBAAiB,SAAS,aAAa,KAAK;AACrD,WAAS,iBAAiB,WAAW,cAAc;AACnD,eAAa;AACX,YAAS,oBAAoB,SAAS,aAAa,KAAK;AACxD,YAAS,oBAAoB,WAAW,cAAc;;IAEvD,CAAC,QAAQ,UAAU,CAAC;AAEvB,iBAAgB;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,UAAU,SAAS,cAAc,mBAAmB,SAAS,GAAG,IAAI;AAE1E,MAAI,WAAW,WAAW,OACxB,QAAO,WAAW,SAAS,eAAe;AACxC,mBAAgB,SAAS,SAAS;IAChC,YAAY;KACV,OAAO,QAAQ;KACf,GAAI,uBAAuB,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;KACvE,GAAG;KACH,KAAK;MAAE;MAAS,UAAU;MAAW,CAAC;KACtC,GAAI,QAAQ,CAAC,mBAAmB,GAAG,EAAE;KACtC;IACD,UAAU;IACV;IACD,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,qBAAqB;AACpC,YAAQ,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE;AACtC,YAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;KAC7E;IACF;IACH;EAAC;EAAQ;EAAW;EAAI;EAAsB;EAAoB;EAAS;EAAM,CAAC;AAGrF,iBAAgB;AACd,MAAI,GAAI,gBAAe,GAAG;IACzB,CAAC,IAAI,aAAa,CAAC;AAEtB,QACE,oBAAC;EACC,WAAWA,KAAG,cAAc,UAAU;EACtC,IAAI,MAAM;EACV,eAAa,CAAC;EACd,cAAY,SAAS;EACrB,aAAW;EACX,KAAK;EACL,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-DtEa73Zz.mjs","names":[],"sources":["../src/components/search/search.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport { Field, FieldAffixes, FieldAffix } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { CrossSmallIcon, MagnefyingGlassIcon } from '@bi-digital/icons';\nimport type { MergeRight } from '../../utilities';\nimport { Button } from '../button';\n\nexport type SearchProps = MergeRight<\n Omit<InputProps, 'type' | 'size'>,\n {\n /**\n * Size of the search.\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Called when the user presses enter. You can use this to for example navigate on submit. */\n onSubmit?: (value: string) => void;\n /** Called when the user resets the search input. */\n onReset?: (value: string) => void;\n /**\n * Aria-label for the clear button.\n * @defaultValue 'Clear'\n */\n clearAriaLabel?: string;\n /** If true, the selectfield will take up the full available width */\n fullwidth?: boolean;\n }\n>;\n\nexport const Search = ({\n className,\n onSubmit,\n onReset,\n clearAriaLabel = 'Clear',\n size = 'medium',\n ref,\n dark,\n style,\n fullwidth,\n ...props\n}: SearchProps) => {\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (onSubmit) {\n const input = e.currentTarget.querySelector('input');\n onSubmit(input?.value || '');\n }\n };\n const handleReset = () => {\n if (onReset) {\n onReset('');\n }\n };\n return (\n <Field className={clsx('bi-search', className)} data-dark={dark} style={style} fullwidth={fullwidth} asChild>\n <form onSubmit={handleSubmit} onReset={handleReset}>\n <FieldAffixes>\n <FieldAffix>\n <MagnefyingGlassIcon size={size} />\n </FieldAffix>\n <Input type='text' ref={ref} size={size} dark={dark} {...props} />\n <FieldAffix aria-hidden='false'>\n <Button aria-label={clearAriaLabel} icon size={size} dark={dark} variant='text' type='reset'>\n <CrossSmallIcon size={size} aria-hidden='true' />\n </Button>\n </FieldAffix>\n </FieldAffixes>\n </form>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AA6BA,MAAa,UAAU,EACrB,WACA,UACA,SACA,iBAAiB,SACjB,OAAO,UACP,KACA,MACA,OACA,WACA,GAAG,YACc;CACjB,MAAM,gBAAgB,MAAwC;AAC5D,IAAE,gBAAgB;AAClB,MAAI,SAEF,UADc,EAAE,cAAc,cAAc,QAAQ,EACpC,SAAS,GAAG;;CAGhC,MAAM,oBAAoB;AACxB,MAAI,QACF,SAAQ,GAAG;;AAGf,QACE,oBAAC;EAAM,WAAW,KAAK,aAAa,UAAU;EAAE,aAAW;EAAa;EAAkB;EAAW;YACnG,oBAAC;GAAK,UAAU;GAAc,SAAS;aACrC,qBAAC;IACC,oBAAC,wBACC,oBAAC,uBAA0B,OAAQ,GACxB;IACb,oBAAC;KAAM,MAAK;KAAY;KAAW;KAAY;KAAM,GAAI;MAAS;IAClE,oBAAC;KAAW,eAAY;eACtB,oBAAC;MAAO,cAAY;MAAgB;MAAW;MAAY;MAAM,SAAQ;MAAO,MAAK;gBACnF,oBAAC;OAAqB;OAAM,eAAY;QAAS;OAC1C;MACE;OACA;IACV;GACD"}