@bi-digital/react 0.8.0 → 0.10.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 (552) hide show
  1. package/README.md +0 -2
  2. package/dist/{alert-footer-BFTlBQCl.d.mts → alert-footer-42JbxJ0B.d.mts} +135 -151
  3. package/dist/components/alert/alert-footer.d.mts +1 -14
  4. package/dist/components/alert/alert-footer.mjs +15 -2
  5. package/dist/components/alert/alert-footer.mjs.map +1 -0
  6. package/dist/components/alert/alert.d.mts +1 -14
  7. package/dist/components/alert/alert.mjs +33 -2
  8. package/dist/components/alert/alert.mjs.map +1 -0
  9. package/dist/components/alert/index.d.mts +1 -14
  10. package/dist/components/alert/index.mjs +3 -5
  11. package/dist/components/avatar/avatar.d.mts +1 -14
  12. package/dist/components/avatar/avatar.mjs +37 -2
  13. package/dist/components/avatar/avatar.mjs.map +1 -0
  14. package/dist/components/avatar/index.d.mts +1 -14
  15. package/dist/components/avatar/index.mjs +2 -4
  16. package/dist/components/badge/badge.d.mts +1 -14
  17. package/dist/components/badge/badge.mjs +19 -2
  18. package/dist/components/badge/badge.mjs.map +1 -0
  19. package/dist/components/badge/index.d.mts +1 -14
  20. package/dist/components/badge/index.mjs +2 -4
  21. package/dist/components/button/button.d.mts +1 -14
  22. package/dist/components/button/button.mjs +39 -4
  23. package/dist/components/button/button.mjs.map +1 -0
  24. package/dist/components/button/index.d.mts +1 -14
  25. package/dist/components/button/index.mjs +2 -6
  26. package/dist/components/card/card-action.d.mts +1 -14
  27. package/dist/components/card/card-action.mjs +21 -6
  28. package/dist/components/card/card-action.mjs.map +1 -0
  29. package/dist/components/card/card-actions.d.mts +1 -14
  30. package/dist/components/card/card-actions.mjs +14 -2
  31. package/dist/components/card/card-actions.mjs.map +1 -0
  32. package/dist/components/card/card-content.d.mts +1 -14
  33. package/dist/components/card/card-content.mjs +15 -2
  34. package/dist/components/card/card-content.mjs.map +1 -0
  35. package/dist/components/card/card-date.d.mts +1 -14
  36. package/dist/components/card/card-date.mjs +14 -2
  37. package/dist/components/card/card-date.mjs.map +1 -0
  38. package/dist/components/card/card-header.d.mts +1 -14
  39. package/dist/components/card/card-header.mjs +37 -2
  40. package/dist/components/card/card-header.mjs.map +1 -0
  41. package/dist/components/card/card-media.d.mts +1 -14
  42. package/dist/components/card/card-media.mjs +17 -2
  43. package/dist/components/card/card-media.mjs.map +1 -0
  44. package/dist/components/card/card.d.mts +1 -14
  45. package/dist/components/card/card.mjs +19 -2
  46. package/dist/components/card/card.mjs.map +1 -0
  47. package/dist/components/card/index.d.mts +1 -14
  48. package/dist/components/card/index.mjs +8 -14
  49. package/dist/components/checkbox/checkbox-subsection.d.mts +1 -14
  50. package/dist/components/checkbox/checkbox-subsection.mjs +15 -2
  51. package/dist/components/checkbox/checkbox-subsection.mjs.map +1 -0
  52. package/dist/components/checkbox/checkbox.d.mts +1 -14
  53. package/dist/components/checkbox/checkbox.mjs +59 -11
  54. package/dist/components/checkbox/checkbox.mjs.map +1 -0
  55. package/dist/components/checkbox/index.d.mts +1 -14
  56. package/dist/components/checkbox/index.mjs +3 -14
  57. package/dist/components/chip/chip.d.mts +1 -14
  58. package/dist/components/chip/chip.mjs +24 -2
  59. package/dist/components/chip/chip.mjs.map +1 -0
  60. package/dist/components/chip/index.d.mts +1 -14
  61. package/dist/components/chip/index.mjs +2 -4
  62. package/dist/components/details/details-content.d.mts +1 -14
  63. package/dist/components/details/details-content.mjs +20 -2
  64. package/dist/components/details/details-content.mjs.map +1 -0
  65. package/dist/components/details/details-summary.d.mts +1 -14
  66. package/dist/components/details/details-summary.mjs +20 -2
  67. package/dist/components/details/details-summary.mjs.map +1 -0
  68. package/dist/components/details/details.d.mts +1 -14
  69. package/dist/components/details/details.mjs +33 -2
  70. package/dist/components/details/details.mjs.map +1 -0
  71. package/dist/components/details/index.d.mts +1 -14
  72. package/dist/components/details/index.mjs +4 -6
  73. package/dist/components/dialog/dialog-close-button.d.mts +1 -14
  74. package/dist/components/dialog/dialog-close-button.mjs +28 -6
  75. package/dist/components/dialog/dialog-close-button.mjs.map +1 -0
  76. package/dist/components/dialog/dialog-content.d.mts +1 -14
  77. package/dist/components/dialog/dialog-content.mjs +16 -2
  78. package/dist/components/dialog/dialog-content.mjs.map +1 -0
  79. package/dist/components/dialog/dialog-footer.d.mts +1 -14
  80. package/dist/components/dialog/dialog-footer.mjs +16 -2
  81. package/dist/components/dialog/dialog-footer.mjs.map +1 -0
  82. package/dist/components/dialog/dialog-header.d.mts +1 -14
  83. package/dist/components/dialog/dialog-header.mjs +16 -2
  84. package/dist/components/dialog/dialog-header.mjs.map +1 -0
  85. package/dist/components/dialog/dialog-trigger-context.d.mts +1 -1
  86. package/dist/components/dialog/dialog-trigger-context.mjs +21 -2
  87. package/dist/components/dialog/dialog-trigger-context.mjs.map +1 -0
  88. package/dist/components/dialog/dialog-trigger.d.mts +1 -14
  89. package/dist/components/dialog/dialog-trigger.mjs +20 -7
  90. package/dist/components/dialog/dialog-trigger.mjs.map +1 -0
  91. package/dist/components/dialog/dialog.d.mts +1 -14
  92. package/dist/components/dialog/dialog.mjs +62 -4
  93. package/dist/components/dialog/dialog.mjs.map +1 -0
  94. package/dist/components/dialog/index.d.mts +2 -14
  95. package/dist/components/dialog/index.mjs +8 -15
  96. package/dist/components/drawer/drawer-close-button.d.mts +1 -14
  97. package/dist/components/drawer/drawer-close-button.mjs +14 -15
  98. package/dist/components/drawer/drawer-close-button.mjs.map +1 -0
  99. package/dist/components/drawer/drawer-content.d.mts +1 -14
  100. package/dist/components/drawer/drawer-content.mjs +16 -15
  101. package/dist/components/drawer/drawer-content.mjs.map +1 -0
  102. package/dist/components/drawer/drawer-footer.d.mts +1 -14
  103. package/dist/components/drawer/drawer-footer.mjs +16 -15
  104. package/dist/components/drawer/drawer-footer.mjs.map +1 -0
  105. package/dist/components/drawer/drawer-header.d.mts +1 -14
  106. package/dist/components/drawer/drawer-header.mjs +16 -15
  107. package/dist/components/drawer/drawer-header.mjs.map +1 -0
  108. package/dist/components/drawer/drawer-trigger-context.d.mts +1 -1
  109. package/dist/components/drawer/drawer-trigger-context.mjs +11 -15
  110. package/dist/components/drawer/drawer-trigger-context.mjs.map +1 -0
  111. package/dist/components/drawer/drawer-trigger.d.mts +1 -14
  112. package/dist/components/drawer/drawer-trigger.mjs +14 -15
  113. package/dist/components/drawer/drawer-trigger.mjs.map +1 -0
  114. package/dist/components/drawer/drawer.d.mts +1 -14
  115. package/dist/components/drawer/drawer.mjs +47 -15
  116. package/dist/components/drawer/drawer.mjs.map +1 -0
  117. package/dist/components/drawer/index.d.mts +2 -14
  118. package/dist/components/drawer/index.mjs +8 -23
  119. package/dist/components/dropdown/dropdown-button.d.mts +1 -14
  120. package/dist/components/dropdown/dropdown-button.mjs +14 -6
  121. package/dist/components/dropdown/dropdown-button.mjs.map +1 -0
  122. package/dist/components/dropdown/dropdown-item.d.mts +1 -1
  123. package/dist/components/dropdown/dropdown-item.mjs +9 -2
  124. package/dist/components/dropdown/dropdown-item.mjs.map +1 -0
  125. package/dist/components/dropdown/dropdown-list.d.mts +1 -1
  126. package/dist/components/dropdown/dropdown-list.mjs +9 -2
  127. package/dist/components/dropdown/dropdown-list.mjs.map +1 -0
  128. package/dist/components/dropdown/dropdown-trigger-context.d.mts +1 -14
  129. package/dist/components/dropdown/dropdown-trigger-context.mjs +27 -12
  130. package/dist/components/dropdown/dropdown-trigger-context.mjs.map +1 -0
  131. package/dist/components/dropdown/dropdown-trigger.d.mts +1 -14
  132. package/dist/components/dropdown/dropdown-trigger.mjs +12 -12
  133. package/dist/components/dropdown/dropdown-trigger.mjs.map +1 -0
  134. package/dist/components/dropdown/dropdown.d.mts +1 -14
  135. package/dist/components/dropdown/dropdown.mjs +43 -12
  136. package/dist/components/dropdown/dropdown.mjs.map +1 -0
  137. package/dist/components/dropdown/index.d.mts +3 -14
  138. package/dist/components/dropdown/index.mjs +7 -19
  139. package/dist/components/field/field-affix.d.mts +1 -14
  140. package/dist/components/field/field-affix.mjs +43 -2
  141. package/dist/components/field/field-affix.mjs.map +1 -0
  142. package/dist/components/field/field-description.d.mts +1 -14
  143. package/dist/components/field/field-description.mjs +14 -2
  144. package/dist/components/field/field-description.mjs.map +1 -0
  145. package/dist/components/field/field.d.mts +1 -14
  146. package/dist/components/field/field.mjs +28 -2
  147. package/dist/components/field/field.mjs.map +1 -0
  148. package/dist/components/field/index.d.mts +1 -14
  149. package/dist/components/field/index.mjs +4 -6
  150. package/dist/components/fieldset/fieldset-description.d.mts +1 -14
  151. package/dist/components/fieldset/fieldset-description.mjs +12 -2
  152. package/dist/components/fieldset/fieldset-description.mjs.map +1 -0
  153. package/dist/components/fieldset/fieldset-legend.d.mts +1 -14
  154. package/dist/components/fieldset/fieldset-legend.mjs +18 -4
  155. package/dist/components/fieldset/fieldset-legend.mjs.map +1 -0
  156. package/dist/components/fieldset/fieldset.d.mts +1 -14
  157. package/dist/components/fieldset/fieldset.mjs +15 -2
  158. package/dist/components/fieldset/fieldset.mjs.map +1 -0
  159. package/dist/components/fieldset/index.d.mts +1 -14
  160. package/dist/components/fieldset/index.mjs +4 -8
  161. package/dist/components/filter-group/filter-group.d.mts +1 -14
  162. package/dist/components/filter-group/filter-group.mjs +38 -2
  163. package/dist/components/filter-group/filter-group.mjs.map +1 -0
  164. package/dist/components/filter-group/index.d.mts +1 -14
  165. package/dist/components/filter-group/index.mjs +2 -4
  166. package/dist/components/footer/footer-links.d.mts +1 -1
  167. package/dist/components/footer/footer-links.mjs +13 -2
  168. package/dist/components/footer/footer-links.mjs.map +1 -0
  169. package/dist/components/footer/footer.d.mts +1 -14
  170. package/dist/components/footer/footer.mjs +110 -6
  171. package/dist/components/footer/footer.mjs.map +1 -0
  172. package/dist/components/footer/index.d.mts +2 -14
  173. package/dist/components/footer/index.mjs +3 -9
  174. package/dist/components/index.d.mts +10 -15
  175. package/dist/components/index.mjs +112 -120
  176. package/dist/components/input/index.d.mts +1 -14
  177. package/dist/components/input/index.mjs +2 -4
  178. package/dist/components/input/input.d.mts +1 -14
  179. package/dist/components/input/input.mjs +23 -2
  180. package/dist/components/input/input.mjs.map +1 -0
  181. package/dist/components/label/index.d.mts +1 -14
  182. package/dist/components/label/index.mjs +2 -4
  183. package/dist/components/label/label.d.mts +1 -14
  184. package/dist/components/label/label.mjs +16 -2
  185. package/dist/components/label/label.mjs.map +1 -0
  186. package/dist/components/link/index.d.mts +1 -14
  187. package/dist/components/link/index.mjs +2 -4
  188. package/dist/components/link/link.d.mts +1 -14
  189. package/dist/components/link/link.mjs +17 -2
  190. package/dist/components/link/link.mjs.map +1 -0
  191. package/dist/components/logo/index.d.mts +1 -14
  192. package/dist/components/logo/index.mjs +2 -4
  193. package/dist/components/logo/logo.d.mts +1 -14
  194. package/dist/components/logo/logo.mjs +17 -2
  195. package/dist/components/logo/logo.mjs.map +1 -0
  196. package/dist/components/navbar/index.d.mts +1 -14
  197. package/dist/components/navbar/index.mjs +3 -13
  198. package/dist/components/navbar/navbar.d.mts +1 -14
  199. package/dist/components/navbar/navbar.mjs +22 -4
  200. package/dist/components/navbar/navbar.mjs.map +1 -0
  201. package/dist/components/navbar/sub-navbar.d.mts +1 -14
  202. package/dist/components/navbar/sub-navbar.mjs +27 -8
  203. package/dist/components/navbar/sub-navbar.mjs.map +1 -0
  204. package/dist/components/pagination/index.d.mts +2 -14
  205. package/dist/components/pagination/index.mjs +4 -10
  206. package/dist/components/pagination/pagination-button.d.mts +1 -14
  207. package/dist/components/pagination/pagination-button.mjs +13 -6
  208. package/dist/components/pagination/pagination-button.mjs.map +1 -0
  209. package/dist/components/pagination/pagination-item.d.mts +1 -1
  210. package/dist/components/pagination/pagination-item.mjs +13 -2
  211. package/dist/components/pagination/pagination-item.mjs.map +1 -0
  212. package/dist/components/pagination/pagination.d.mts +1 -14
  213. package/dist/components/pagination/pagination.mjs +15 -2
  214. package/dist/components/pagination/pagination.mjs.map +1 -0
  215. package/dist/components/popover/index.d.mts +2 -14
  216. package/dist/components/popover/index.mjs +4 -12
  217. package/dist/components/popover/popover-trigger-context.d.mts +1 -1
  218. package/dist/components/popover/popover-trigger-context.mjs +37 -2
  219. package/dist/components/popover/popover-trigger-context.mjs.map +1 -0
  220. package/dist/components/popover/popover-trigger.d.mts +1 -14
  221. package/dist/components/popover/popover-trigger.mjs +43 -7
  222. package/dist/components/popover/popover-trigger.mjs.map +1 -0
  223. package/dist/components/popover/popover.d.mts +1 -14
  224. package/dist/components/popover/popover.mjs +110 -5
  225. package/dist/components/popover/popover.mjs.map +1 -0
  226. package/dist/components/radio/index.d.mts +1 -14
  227. package/dist/components/radio/index.mjs +2 -12
  228. package/dist/components/radio/radio.d.mts +1 -14
  229. package/dist/components/radio/radio.mjs +46 -10
  230. package/dist/components/radio/radio.mjs.map +1 -0
  231. package/dist/components/search/index.d.mts +1 -14
  232. package/dist/components/search/index.mjs +2 -14
  233. package/dist/components/search/search.d.mts +1 -14
  234. package/dist/components/search/search.mjs +59 -12
  235. package/dist/components/search/search.mjs.map +1 -0
  236. package/dist/components/select/index.d.mts +1 -14
  237. package/dist/components/select/index.mjs +4 -6
  238. package/dist/components/select/select-optgroup.d.mts +1 -14
  239. package/dist/components/select/select-optgroup.mjs +12 -2
  240. package/dist/components/select/select-optgroup.mjs.map +1 -0
  241. package/dist/components/select/select-option.d.mts +1 -14
  242. package/dist/components/select/select-option.mjs +12 -2
  243. package/dist/components/select/select-option.mjs.map +1 -0
  244. package/dist/components/select/select.d.mts +1 -14
  245. package/dist/components/select/select.mjs +24 -2
  246. package/dist/components/select/select.mjs.map +1 -0
  247. package/dist/components/selectfield/index.d.mts +1 -14
  248. package/dist/components/selectfield/index.mjs +2 -16
  249. package/dist/components/selectfield/selectfield.d.mts +1 -14
  250. package/dist/components/selectfield/selectfield.mjs +55 -14
  251. package/dist/components/selectfield/selectfield.mjs.map +1 -0
  252. package/dist/components/skip-link/index.d.mts +1 -14
  253. package/dist/components/skip-link/index.mjs +2 -4
  254. package/dist/components/skip-link/skip-link.d.mts +1 -14
  255. package/dist/components/skip-link/skip-link.mjs +15 -2
  256. package/dist/components/skip-link/skip-link.mjs.map +1 -0
  257. package/dist/components/spinner/index.d.mts +1 -14
  258. package/dist/components/spinner/index.mjs +2 -4
  259. package/dist/components/spinner/spinner.d.mts +1 -14
  260. package/dist/components/spinner/spinner.mjs +15 -2
  261. package/dist/components/spinner/spinner.mjs.map +1 -0
  262. package/dist/components/sticky-header/index.d.mts +1 -2
  263. package/dist/components/sticky-header/index.mjs +2 -4
  264. package/dist/components/sticky-header/sticky-header.d.mts +1 -1
  265. package/dist/components/sticky-header/sticky-header.mjs +18 -2
  266. package/dist/components/sticky-header/sticky-header.mjs.map +1 -0
  267. package/dist/components/switch/index.d.mts +1 -14
  268. package/dist/components/switch/index.mjs +2 -12
  269. package/dist/components/switch/switch.d.mts +1 -14
  270. package/dist/components/switch/switch.mjs +35 -10
  271. package/dist/components/switch/switch.mjs.map +1 -0
  272. package/dist/components/tabs/index.d.mts +2 -15
  273. package/dist/components/tabs/index.mjs +5 -11
  274. package/dist/components/tabs/tab.d.mts +1 -14
  275. package/dist/components/tabs/tab.mjs +24 -6
  276. package/dist/components/tabs/tab.mjs.map +1 -0
  277. package/dist/components/tabs/tabs-list.d.mts +1 -14
  278. package/dist/components/tabs/tabs-list.mjs +14 -2
  279. package/dist/components/tabs/tabs-list.mjs.map +1 -0
  280. package/dist/components/tabs/tabs-panel.d.mts +1 -14
  281. package/dist/components/tabs/tabs-panel.mjs +18 -2
  282. package/dist/components/tabs/tabs-panel.mjs.map +1 -0
  283. package/dist/components/tabs/tabs.d.mts +2 -15
  284. package/dist/components/tabs/tabs.mjs +50 -2
  285. package/dist/components/tabs/tabs.mjs.map +1 -0
  286. package/dist/components/textarea/index.d.mts +1 -14
  287. package/dist/components/textarea/index.mjs +2 -4
  288. package/dist/components/textarea/textarea.d.mts +1 -14
  289. package/dist/components/textarea/textarea.mjs +15 -2
  290. package/dist/components/textarea/textarea.mjs.map +1 -0
  291. package/dist/components/textfield/index.d.mts +1 -14
  292. package/dist/components/textfield/index.mjs +2 -16
  293. package/dist/components/textfield/textfield.d.mts +1 -14
  294. package/dist/components/textfield/textfield.mjs +68 -14
  295. package/dist/components/textfield/textfield.mjs.map +1 -0
  296. package/dist/components/validation-message/index.d.mts +1 -14
  297. package/dist/components/validation-message/index.mjs +2 -4
  298. package/dist/components/validation-message/validation-message.d.mts +1 -14
  299. package/dist/components/validation-message/validation-message.mjs +16 -2
  300. package/dist/components/validation-message/validation-message.mjs.map +1 -0
  301. package/dist/dialog-trigger-context-CAC7jh1K.d.mts +20 -0
  302. package/dist/drawer-trigger-context-DxLBj5Xr.d.mts +16 -0
  303. package/dist/{dropdown-item-B9Toa4yI.d.mts → dropdown-item-B6MmulV_.d.mts} +3 -3
  304. package/dist/{dropdown-list-Ce8CUTGr.d.mts → dropdown-list-DKugDMKm.d.mts} +3 -3
  305. package/dist/{footer-links-B8XVWRnL.d.mts → footer-links-Dac3-Emr.d.mts} +3 -3
  306. package/dist/main.d.mts +16 -18
  307. package/dist/main.mjs +83 -121
  308. package/dist/{pagination-item-DBpTl8iP.d.mts → pagination-item-AQQSJ7GD.d.mts} +3 -3
  309. package/dist/{popover-trigger-context-HGF38PbW.d.mts → popover-trigger-context-BG1lPWXA.d.mts} +5 -5
  310. package/dist/{sticky-header-CQ10VPji.d.mts → sticky-header-C6gJlnzy.d.mts} +3 -3
  311. package/dist/{types-Biyhmxh9.d.mts → types-74lJC5tL.d.mts} +1 -1
  312. package/dist/{types-Bgj7p8nD.d.mts → types-BXsMIYrD.d.mts} +1 -1
  313. package/dist/types.d.mts +1 -1
  314. package/dist/types.mjs +1 -1
  315. package/dist/{useCheckboxGroup-BUpI46_M.d.mts → useCheckboxGroup-Boc_tLJ3.d.mts} +1 -1
  316. package/dist/{useIsElementAboveViewport-BcIGWQqn.d.mts → useIsElementAboveViewport-Cxt9TwLS.d.mts} +1 -1
  317. package/dist/{useIsomorphicLayoutEffect-gxToSQn7.d.mts → useIsomorphicLayoutEffect-DXCY5AxR.d.mts} +1 -1
  318. package/dist/{useMediaQuery-CIi3MXay.d.mts → useMediaQuery-Di0fXraw.d.mts} +1 -1
  319. package/dist/{useScrollDirection-Cm7w2CbB.d.mts → useScrollDirection-6pq5a8B3.d.mts} +1 -1
  320. package/dist/utilities/hooks/index.d.mts +6 -16
  321. package/dist/utilities/hooks/index.mjs +7 -9
  322. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.mts +1 -1
  323. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.mjs +16 -2
  324. package/dist/{useCheckboxGroup-B2Px3eiz.mjs.map → utilities/hooks/useCheckboxGroup/useCheckboxGroup.mjs.map} +1 -1
  325. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.d.mts +1 -1
  326. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.mjs +18 -2
  327. package/dist/{useIsElementAboveViewport-BaSLEYQk.mjs.map → utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.mjs.map} +1 -1
  328. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.mts +1 -1
  329. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +6 -2
  330. package/dist/{useIsomorphicLayoutEffect-Bn8aiGVW.mjs.map → utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs.map} +1 -1
  331. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.d.mts +1 -1
  332. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.mjs +42 -3
  333. package/dist/{useMediaQuery-BRGC6S33.mjs.map → utilities/hooks/useMediaQuery/useMediaQuery.mjs.map} +1 -1
  334. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.mjs +40 -2
  335. package/dist/{useMergeRefs-DeEL5hK6.mjs.map → utilities/hooks/useMergeRefs/useMergeRefs.mjs.map} +1 -1
  336. package/dist/utilities/hooks/usePagination/usePagination.d.mts +1 -14
  337. package/dist/utilities/hooks/usePagination/usePagination.mjs +95 -2
  338. package/dist/{usePagination-aBXSjQBp.mjs.map → utilities/hooks/usePagination/usePagination.mjs.map} +1 -1
  339. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.d.mts +1 -1
  340. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.mjs +26 -2
  341. package/dist/{useScrollDirection-C36-HP3S.mjs.map → utilities/hooks/useScrollDirection/useScrollDirection.mjs.map} +1 -1
  342. package/dist/utilities/index.d.mts +7 -17
  343. package/dist/utilities/index.mjs +8 -9
  344. package/dist/utilities/types.d.mts +1 -1
  345. package/dist/utilities/types.mjs +1 -1
  346. package/dist/vanilla/dropdown/index.mjs +2 -3
  347. package/dist/vanilla/dropdown/index.mjs.map +1 -1
  348. package/dist/vanilla/index.mjs +3 -3
  349. package/dist/vanilla/popover/index.mjs +83 -2
  350. package/dist/vanilla/popover/index.mjs.map +1 -0
  351. package/dist/vanilla/sub-navbar/index.mjs +1 -1
  352. package/dist/vanilla/sub-navbar/index.mjs.map +1 -1
  353. package/package.json +13 -18
  354. package/dist/alert-B-qfyhxc.mjs +0 -35
  355. package/dist/alert-B-qfyhxc.mjs.map +0 -1
  356. package/dist/alert-footer-CiXj-PGD.mjs +0 -17
  357. package/dist/alert-footer-CiXj-PGD.mjs.map +0 -1
  358. package/dist/alert-vOhEayej.mjs +0 -1
  359. package/dist/avatar-5e5_er9-.mjs +0 -1
  360. package/dist/avatar-BEjjwjRn.mjs +0 -39
  361. package/dist/avatar-BEjjwjRn.mjs.map +0 -1
  362. package/dist/badge-D6dJHxi2.mjs +0 -1
  363. package/dist/badge-tAjYsQEq.mjs +0 -21
  364. package/dist/badge-tAjYsQEq.mjs.map +0 -1
  365. package/dist/button-BoSub8TT.mjs +0 -1
  366. package/dist/button-CDtQwUfp.mjs +0 -40
  367. package/dist/button-CDtQwUfp.mjs.map +0 -1
  368. package/dist/card-BwkKWLCT.mjs +0 -21
  369. package/dist/card-BwkKWLCT.mjs.map +0 -1
  370. package/dist/card-action-CkWX8kB1.mjs +0 -22
  371. package/dist/card-action-CkWX8kB1.mjs.map +0 -1
  372. package/dist/card-actions-DQXkkGKI.mjs +0 -16
  373. package/dist/card-actions-DQXkkGKI.mjs.map +0 -1
  374. package/dist/card-content-zQQxsR9_.mjs +0 -17
  375. package/dist/card-content-zQQxsR9_.mjs.map +0 -1
  376. package/dist/card-date-PwKzeTzD.mjs +0 -16
  377. package/dist/card-date-PwKzeTzD.mjs.map +0 -1
  378. package/dist/card-header-DkKr5o8N.mjs +0 -39
  379. package/dist/card-header-DkKr5o8N.mjs.map +0 -1
  380. package/dist/card-media-Bv2VWU3K.mjs +0 -19
  381. package/dist/card-media-Bv2VWU3K.mjs.map +0 -1
  382. package/dist/card-qYOn8pIl.mjs +0 -1
  383. package/dist/checkbox-BPiURV39.mjs +0 -1
  384. package/dist/checkbox-DLGjrSt2.mjs +0 -58
  385. package/dist/checkbox-DLGjrSt2.mjs.map +0 -1
  386. package/dist/checkbox-subsection-Dq60blow.mjs +0 -17
  387. package/dist/checkbox-subsection-Dq60blow.mjs.map +0 -1
  388. package/dist/chip-BEnK1Tg4.mjs +0 -1
  389. package/dist/chip-BzRByPTB.mjs +0 -26
  390. package/dist/chip-BzRByPTB.mjs.map +0 -1
  391. package/dist/details-BFP82eFe.mjs +0 -35
  392. package/dist/details-BFP82eFe.mjs.map +0 -1
  393. package/dist/details-BTkav6FR.mjs +0 -1
  394. package/dist/details-content-B-YYBzuY.mjs +0 -22
  395. package/dist/details-content-B-YYBzuY.mjs.map +0 -1
  396. package/dist/details-summary-BiXSfZfC.mjs +0 -22
  397. package/dist/details-summary-BiXSfZfC.mjs.map +0 -1
  398. package/dist/dialog-CRNSJEfp.mjs +0 -91
  399. package/dist/dialog-CRNSJEfp.mjs.map +0 -1
  400. package/dist/dialog-DOBwB8ll.mjs +0 -1
  401. package/dist/dialog-close-button-BQiLlxh_.mjs +0 -24
  402. package/dist/dialog-close-button-BQiLlxh_.mjs.map +0 -1
  403. package/dist/dialog-content-CrbstN2A.mjs +0 -18
  404. package/dist/dialog-content-CrbstN2A.mjs.map +0 -1
  405. package/dist/dialog-footer-CFNIIiwS.mjs +0 -18
  406. package/dist/dialog-footer-CFNIIiwS.mjs.map +0 -1
  407. package/dist/dialog-header-Duz76tEF.mjs +0 -18
  408. package/dist/dialog-header-Duz76tEF.mjs.map +0 -1
  409. package/dist/dialog-trigger-BwjU9AQE.mjs +0 -22
  410. package/dist/dialog-trigger-BwjU9AQE.mjs.map +0 -1
  411. package/dist/dialog-trigger-context-BP2Q3KEA.d.mts +0 -15
  412. package/dist/dialog-trigger-context-DqM6S5V-.mjs +0 -16
  413. package/dist/dialog-trigger-context-DqM6S5V-.mjs.map +0 -1
  414. package/dist/drawer-DYVQZLML.mjs +0 -1
  415. package/dist/drawer-Ds2MkNjF.mjs +0 -46
  416. package/dist/drawer-Ds2MkNjF.mjs.map +0 -1
  417. package/dist/drawer-close-button-BzgfCB46.mjs +0 -12
  418. package/dist/drawer-close-button-BzgfCB46.mjs.map +0 -1
  419. package/dist/drawer-content-DxY9zj19.mjs +0 -14
  420. package/dist/drawer-content-DxY9zj19.mjs.map +0 -1
  421. package/dist/drawer-footer-DEZvKbZ9.mjs +0 -14
  422. package/dist/drawer-footer-DEZvKbZ9.mjs.map +0 -1
  423. package/dist/drawer-header-8MFxFbKD.mjs +0 -14
  424. package/dist/drawer-header-8MFxFbKD.mjs.map +0 -1
  425. package/dist/drawer-trigger-context-BuP2a1-8.d.mts +0 -13
  426. package/dist/drawer-trigger-context-DUYTD43h.mjs +0 -9
  427. package/dist/drawer-trigger-context-DUYTD43h.mjs.map +0 -1
  428. package/dist/drawer-trigger-uVwwMXt_.mjs +0 -12
  429. package/dist/drawer-trigger-uVwwMXt_.mjs.map +0 -1
  430. package/dist/dropdown-4m7NoRv7.mjs +0 -1
  431. package/dist/dropdown-BZZfp-oa.mjs +0 -44
  432. package/dist/dropdown-BZZfp-oa.mjs.map +0 -1
  433. package/dist/dropdown-button-B6EgzSgh.mjs +0 -15
  434. package/dist/dropdown-button-B6EgzSgh.mjs.map +0 -1
  435. package/dist/dropdown-item-rKVicLWJ.mjs +0 -11
  436. package/dist/dropdown-item-rKVicLWJ.mjs.map +0 -1
  437. package/dist/dropdown-list-CCnbpP3r.mjs +0 -11
  438. package/dist/dropdown-list-CCnbpP3r.mjs.map +0 -1
  439. package/dist/dropdown-trigger-8zD-9jXF.mjs +0 -13
  440. package/dist/dropdown-trigger-8zD-9jXF.mjs.map +0 -1
  441. package/dist/dropdown-trigger-context-DnY5awW2.mjs +0 -28
  442. package/dist/dropdown-trigger-context-DnY5awW2.mjs.map +0 -1
  443. package/dist/field-BIBlDQoi.mjs +0 -30
  444. package/dist/field-BIBlDQoi.mjs.map +0 -1
  445. package/dist/field-D8ZE0keC.mjs +0 -1
  446. package/dist/field-affix-DNZXWyx-.mjs +0 -45
  447. package/dist/field-affix-DNZXWyx-.mjs.map +0 -1
  448. package/dist/field-description-Dt2qLchF.mjs +0 -16
  449. package/dist/field-description-Dt2qLchF.mjs.map +0 -1
  450. package/dist/fieldset-CcTi6Dum.mjs +0 -17
  451. package/dist/fieldset-CcTi6Dum.mjs.map +0 -1
  452. package/dist/fieldset-EvlIWkNe.mjs +0 -1
  453. package/dist/fieldset-description-C2jSmnwk.mjs +0 -14
  454. package/dist/fieldset-description-C2jSmnwk.mjs.map +0 -1
  455. package/dist/fieldset-legend-CSlBCJxg.mjs +0 -19
  456. package/dist/fieldset-legend-CSlBCJxg.mjs.map +0 -1
  457. package/dist/filter-group-CqgWY3I1.mjs +0 -1
  458. package/dist/filter-group-Djsr79gi.mjs +0 -40
  459. package/dist/filter-group-Djsr79gi.mjs.map +0 -1
  460. package/dist/footer-CFU5m0uE.mjs +0 -1
  461. package/dist/footer-CMS77qh0.mjs +0 -111
  462. package/dist/footer-CMS77qh0.mjs.map +0 -1
  463. package/dist/footer-links-CE3T7evI.mjs +0 -15
  464. package/dist/footer-links-CE3T7evI.mjs.map +0 -1
  465. package/dist/hooks-DndqtgSU.mjs +0 -1
  466. package/dist/input-8Az-c2K1.mjs +0 -1
  467. package/dist/input-DU_8Z4cN.mjs +0 -25
  468. package/dist/input-DU_8Z4cN.mjs.map +0 -1
  469. package/dist/label-BrxPu7QD.mjs +0 -1
  470. package/dist/label-QZyUM8Df.mjs +0 -18
  471. package/dist/label-QZyUM8Df.mjs.map +0 -1
  472. package/dist/link-CU3kBJB8.mjs +0 -19
  473. package/dist/link-CU3kBJB8.mjs.map +0 -1
  474. package/dist/link-CYniSrWk.mjs +0 -1
  475. package/dist/logo-Cj67VFWL.mjs +0 -1
  476. package/dist/logo-d750FIud.mjs +0 -19
  477. package/dist/logo-d750FIud.mjs.map +0 -1
  478. package/dist/navbar-A1xgv5BY.mjs +0 -23
  479. package/dist/navbar-A1xgv5BY.mjs.map +0 -1
  480. package/dist/navbar-Ch7rJsaf.mjs +0 -1
  481. package/dist/pagination-BK24_vW3.mjs +0 -1
  482. package/dist/pagination-Drbd1147.mjs +0 -17
  483. package/dist/pagination-Drbd1147.mjs.map +0 -1
  484. package/dist/pagination-button-DT0m4mTM.mjs +0 -14
  485. package/dist/pagination-button-DT0m4mTM.mjs.map +0 -1
  486. package/dist/pagination-item-BfCHe-dC.mjs +0 -15
  487. package/dist/pagination-item-BfCHe-dC.mjs.map +0 -1
  488. package/dist/popover-B8P0dE2-.mjs +0 -85
  489. package/dist/popover-B8P0dE2-.mjs.map +0 -1
  490. package/dist/popover-CGqBsAam.mjs +0 -112
  491. package/dist/popover-CGqBsAam.mjs.map +0 -1
  492. package/dist/popover-C_lxbEYu.mjs +0 -1
  493. package/dist/popover-trigger-T4NXzZPy.mjs +0 -44
  494. package/dist/popover-trigger-T4NXzZPy.mjs.map +0 -1
  495. package/dist/popover-trigger-context-DZFORTLq.mjs +0 -39
  496. package/dist/popover-trigger-context-DZFORTLq.mjs.map +0 -1
  497. package/dist/radio-CikbRUIb.mjs +0 -45
  498. package/dist/radio-CikbRUIb.mjs.map +0 -1
  499. package/dist/radio-DoypqZjr.mjs +0 -1
  500. package/dist/search-B71qkkhd.mjs +0 -1
  501. package/dist/search-CTkPGLRm.mjs +0 -58
  502. package/dist/search-CTkPGLRm.mjs.map +0 -1
  503. package/dist/select-D80ba0X2.mjs +0 -1
  504. package/dist/select-optgroup-BzjAhfRU.mjs +0 -14
  505. package/dist/select-optgroup-BzjAhfRU.mjs.map +0 -1
  506. package/dist/select-option-DLslGIIp.mjs +0 -14
  507. package/dist/select-option-DLslGIIp.mjs.map +0 -1
  508. package/dist/select-vw7cl3d_.mjs +0 -26
  509. package/dist/select-vw7cl3d_.mjs.map +0 -1
  510. package/dist/selectfield-BrXuaiOJ.mjs +0 -53
  511. package/dist/selectfield-BrXuaiOJ.mjs.map +0 -1
  512. package/dist/selectfield-acG211WN.mjs +0 -1
  513. package/dist/skip-link-0SNs70lF.mjs +0 -17
  514. package/dist/skip-link-0SNs70lF.mjs.map +0 -1
  515. package/dist/skip-link-DtgRPO9V.mjs +0 -1
  516. package/dist/spinner-C4Z-GQVz.mjs +0 -1
  517. package/dist/spinner-xmvtWIZ0.mjs +0 -17
  518. package/dist/spinner-xmvtWIZ0.mjs.map +0 -1
  519. package/dist/sticky-header-Bwee74P6.mjs +0 -20
  520. package/dist/sticky-header-Bwee74P6.mjs.map +0 -1
  521. package/dist/sticky-header-j3zwZtj_.mjs +0 -1
  522. package/dist/sub-navbar-Dke7jNvB.mjs +0 -28
  523. package/dist/sub-navbar-Dke7jNvB.mjs.map +0 -1
  524. package/dist/switch-CJtJvYv6.mjs +0 -34
  525. package/dist/switch-CJtJvYv6.mjs.map +0 -1
  526. package/dist/switch-DZsMi5Uf.mjs +0 -1
  527. package/dist/tab-qLMKkR-4.mjs +0 -27
  528. package/dist/tab-qLMKkR-4.mjs.map +0 -1
  529. package/dist/tabs-BYYODpZJ.mjs +0 -24
  530. package/dist/tabs-BYYODpZJ.mjs.map +0 -1
  531. package/dist/tabs-Bdxundn7.mjs +0 -1
  532. package/dist/tabs-list-BAnPnTwx.mjs +0 -20
  533. package/dist/tabs-list-BAnPnTwx.mjs.map +0 -1
  534. package/dist/tabs-panel-GX2ZoOvH.mjs +0 -21
  535. package/dist/tabs-panel-GX2ZoOvH.mjs.map +0 -1
  536. package/dist/textarea-BDAr1Unx.mjs +0 -1
  537. package/dist/textarea-CHhlswpx.mjs +0 -17
  538. package/dist/textarea-CHhlswpx.mjs.map +0 -1
  539. package/dist/textfield-BFLLhYVI.mjs +0 -1
  540. package/dist/textfield-rcRRkfZB.mjs +0 -65
  541. package/dist/textfield-rcRRkfZB.mjs.map +0 -1
  542. package/dist/useCheckboxGroup-B2Px3eiz.mjs +0 -17
  543. package/dist/useIsElementAboveViewport-BaSLEYQk.mjs +0 -20
  544. package/dist/useIsomorphicLayoutEffect-Bn8aiGVW.mjs +0 -8
  545. package/dist/useMediaQuery-BRGC6S33.mjs +0 -44
  546. package/dist/useMergeRefs-DeEL5hK6.mjs +0 -42
  547. package/dist/usePagination-aBXSjQBp.mjs +0 -97
  548. package/dist/useScrollDirection-C36-HP3S.mjs +0 -28
  549. package/dist/validation-message-376E95cm.mjs +0 -18
  550. package/dist/validation-message-376E95cm.mjs.map +0 -1
  551. package/dist/validation-message-YHHHXfxE.mjs +0 -1
  552. /package/dist/{index-C3reD4RP.d.mts → index-Dc-SdpIe.d.mts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-item-BfCHe-dC.mjs","names":[],"sources":["../src/components/pagination/pagination-item.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { HTMLAttributes, Ref } from 'react';\n\nexport type PaginationItemProps = HTMLAttributes<HTMLLIElement> & {\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<HTMLLIElement>;\n};\n\nexport const PaginationItem = ({ ref, asChild, children, ...rest }: PaginationItemProps) => {\n const Component = asChild ? Slot : 'li';\n return (\n <Component ref={ref} {...rest}>\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;AAYA,MAAa,kBAAkB,EAAE,KAAK,SAAS,UAAU,GAAG,WAAgC;AAE1F,QACE,oBAFgB,UAAU,OAAO;EAEjB;EAAK,GAAI;EACtB;GACS"}
@@ -1,85 +0,0 @@
1
- import { autoUpdate, computePosition, flip, hide, offset, shift, size } from "@floating-ui/dom";
2
-
3
- //#region src/vanilla/popover/index.ts
4
- /**
5
- * Initializes the popover.
6
- * @param options - InitPopoverOptions
7
- * @returns A function to programmatically toggle the popover.
8
- */
9
- const initPopover = ({ id, disableAutoPlacement = false, placement = "top", positionMiddleware = [], padding = 20 }) => {
10
- let cleanup;
11
- const popover = document.getElementById(id);
12
- const triggerSelector = `[aria-controls="${id}"]`;
13
- const trigger = document.querySelector(triggerSelector);
14
- if (!popover || !trigger) return;
15
- const togglePopover = (open) => {
16
- if (open) {
17
- cleanup = autoUpdate(trigger, popover, () => {
18
- computePosition(trigger, popover, {
19
- middleware: [
20
- offset(padding),
21
- ...disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })],
22
- ...positionMiddleware,
23
- hide({ padding }),
24
- ...popover.dataset.arrow === "true" ? [arrowPseudoElement] : [],
25
- size({ apply({ rects, elements }) {
26
- elements.floating.style.setProperty("--bic-popover-trigger-width", `${rects.reference.width}px`);
27
- } })
28
- ],
29
- strategy: "fixed",
30
- placement
31
- }).then(({ x, y, middlewareData }) => {
32
- popover.style.translate = `${x}px ${y}px`;
33
- popover.style.visibility = middlewareData.hide?.referenceHidden ? "hidden" : "visible";
34
- });
35
- });
36
- popover.setAttribute("aria-hidden", "false");
37
- trigger.setAttribute("aria-expanded", "true");
38
- } else {
39
- cleanup?.();
40
- popover.setAttribute("aria-hidden", "true");
41
- trigger.setAttribute("aria-expanded", "false");
42
- }
43
- };
44
- document.addEventListener("click", (event) => {
45
- const el = event.target;
46
- const isTrigger = el?.closest?.(triggerSelector);
47
- const isOutside = !isTrigger && !popover.contains(el);
48
- const isOpen = popover.getAttribute("aria-hidden") === "false";
49
- if (isTrigger) togglePopover(!isOpen);
50
- if (isOutside && isOpen) togglePopover(false);
51
- }, true);
52
- return togglePopover;
53
- };
54
- const arrowPseudoElement = {
55
- name: "ArrowPseudoElement",
56
- fn(data) {
57
- const { elements, rects, placement } = data;
58
- let arrowX = `${Math.round(rects.reference.width / 2 + rects.reference.x - data.x)}px`;
59
- let arrowY = `${Math.round(rects.reference.height / 2 + rects.reference.y - data.y)}px`;
60
- if (rects.reference.width > rects.floating.width) arrowX = `${Math.round(rects.floating.width / 2)}px`;
61
- if (rects.reference.height > rects.floating.height) arrowY = `${Math.round(rects.floating.height / 2)}px`;
62
- switch (placement.split("-")[0]) {
63
- case "top":
64
- arrowY = "100%";
65
- break;
66
- case "right":
67
- arrowX = "0";
68
- break;
69
- case "bottom":
70
- arrowY = "0";
71
- break;
72
- case "left":
73
- arrowX = "100%";
74
- break;
75
- }
76
- elements.floating.setAttribute("data-placement", placement.split("-")[0]);
77
- elements.floating.style.setProperty("--bic-popover-arrow-x", arrowX);
78
- elements.floating.style.setProperty("--bic-popover-arrow-y", arrowY);
79
- return data;
80
- }
81
- };
82
-
83
- //#endregion
84
- export { initPopover as n, arrowPseudoElement as t };
85
- //# sourceMappingURL=popover-B8P0dE2-.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-B8P0dE2-.mjs","names":[],"sources":["../src/vanilla/popover/index.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift, hide, size } 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 size({\n apply({ rects, elements }) {\n elements.floating.style.setProperty('--bic-popover-trigger-width', `${rects.reference.width}px`);\n },\n }),\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,IAAI;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;MAChE,KAAK,EACH,MAAM,EAAE,OAAO,YAAY;AACzB,gBAAS,SAAS,MAAM,YAAY,+BAA+B,GAAG,MAAM,UAAU,MAAM,IAAI;SAEnG,CAAC;MACH;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,MAAa,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,112 +0,0 @@
1
- import { t as useMergeRefs } from "./useMergeRefs-DeEL5hK6.mjs";
2
- import { t as Context } from "./popover-trigger-context-DZFORTLq.mjs";
3
- import { t as arrowPseudoElement } from "./popover-B8P0dE2-.mjs";
4
- import clsx from "clsx/lite";
5
- import { Slot } from "@radix-ui/react-slot";
6
- import { jsx } from "react/jsx-runtime";
7
- import { use, useEffect, useRef } from "react";
8
- import { useControllableState } from "@radix-ui/react-use-controllable-state";
9
- import { autoUpdate, computePosition, flip, hide, offset, shift, size } from "@floating-ui/dom";
10
-
11
- //#region src/components/popover/popover.tsx
12
- /**
13
- * Popover component, used to display content in a popover over an element.
14
- *
15
- * @example with TriggerContext
16
- * <PopoverTriggerContext>
17
- * <PopoverTrigger>Open Popover</PopoverTrigger>
18
- * <Popover>
19
- * Content
20
- * </Popover>
21
- * </PopoverTriggerContext>
22
- *
23
- * @example without TriggerContext
24
- * <Button aria-controls="my-popover" aria-expanded={open}>Open Popover</Button>
25
- * <Popover open={open} onOpenChange={onOpenChange} id="my-popover">
26
- * Content
27
- * </Popover>
28
- */
29
- const Popover = ({ id, className, onOpenChange, open, placement = "top", disableAutoPlacement = false, positionMiddleware = [], padding = 20, dark = false, arrow = false, asChild = false, ref, ...rest }) => {
30
- const Component = asChild ? Slot : "div";
31
- const popoverRef = useRef(null);
32
- const isControlled = useRef(open !== void 0);
33
- const mergedRefs = useMergeRefs([popoverRef, ref]);
34
- const { popoverId, setPopoverId, popoverOpen, setPopoverOpen } = use(Context);
35
- const [isOpen, setIsOpen] = useControllableState({
36
- prop: isControlled.current ? open : popoverOpen,
37
- onChange: (val) => {
38
- onOpenChange?.(val);
39
- setPopoverOpen?.(val);
40
- },
41
- defaultProp: false,
42
- caller: "Popover"
43
- });
44
- useEffect(() => {
45
- const popover = popoverRef.current;
46
- const handleClick = (event) => {
47
- const el = event.target;
48
- if (!el?.closest?.(`[aria-controls="${popover?.id}"]`) && !popover?.contains(el)) setIsOpen(false);
49
- };
50
- const handleKeydown = (event) => {
51
- if (event.key !== "Escape" || !isOpen) return;
52
- event.preventDefault();
53
- setIsOpen(false);
54
- };
55
- document.addEventListener("click", handleClick, true);
56
- document.addEventListener("keydown", handleKeydown);
57
- return () => {
58
- document.removeEventListener("click", handleClick, true);
59
- document.removeEventListener("keydown", handleKeydown);
60
- };
61
- }, [isOpen, setIsOpen]);
62
- useEffect(() => {
63
- const popover = popoverRef.current;
64
- const trigger = document.querySelector(`[aria-controls="${popover?.id}"]`);
65
- if (popover && trigger && isOpen) return autoUpdate(trigger, popover, () => {
66
- computePosition(trigger, popover, {
67
- middleware: [
68
- offset(padding),
69
- ...disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })],
70
- ...positionMiddleware,
71
- hide({
72
- padding,
73
- strategy: "escaped"
74
- }),
75
- ...arrow ? [arrowPseudoElement] : [],
76
- size({ apply({ rects, elements }) {
77
- elements.floating.style.setProperty("--bic-popover-trigger-width", `${rects.reference.width}px`);
78
- } })
79
- ],
80
- strategy: "fixed",
81
- placement
82
- }).then(({ x, y, middlewareData }) => {
83
- popover.style.translate = `${x}px ${y}px`;
84
- popover.style.visibility = middlewareData.hide?.referenceHidden ? "hidden" : "visible";
85
- });
86
- });
87
- }, [
88
- isOpen,
89
- placement,
90
- id,
91
- disableAutoPlacement,
92
- positionMiddleware,
93
- padding,
94
- arrow
95
- ]);
96
- useEffect(() => {
97
- if (id) setPopoverId?.(id);
98
- }, [id, setPopoverId]);
99
- return /* @__PURE__ */ jsx(Component, {
100
- className: clsx("bi-popover", className),
101
- id: id || popoverId,
102
- "aria-hidden": !isOpen,
103
- "data-arrow": arrow || void 0,
104
- "data-dark": dark,
105
- ref: mergedRefs,
106
- ...rest
107
- });
108
- };
109
-
110
- //#endregion
111
- export { Popover as t };
112
- //# sourceMappingURL=popover-CGqBsAam.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-CGqBsAam.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, size } 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 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 size({\n apply({ rects, elements }) {\n elements.floating.style.setProperty('--bic-popover-trigger-width', `${rects.reference.width}px`);\n },\n }),\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;EAE/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;KACrC,KAAK,EACH,MAAM,EAAE,OAAO,YAAY;AACzB,eAAS,SAAS,MAAM,YAAY,+BAA+B,GAAG,MAAM,UAAU,MAAM,IAAI;QAEnG,CAAC;KACH;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
- export { };
@@ -1,44 +0,0 @@
1
- import { t as Button } from "./button-CDtQwUfp.mjs";
2
- import { t as Context } from "./popover-trigger-context-DZFORTLq.mjs";
3
- import { Slot } from "@radix-ui/react-slot";
4
- import { jsx } from "react/jsx-runtime";
5
- import { use } from "react";
6
-
7
- //#region src/components/popover/popover-trigger.tsx
8
- /**
9
- * PopoverTrigger component, used to trigger a popover.
10
- *
11
- * @example
12
- * <PopoverTriggerContext>
13
- * <PopoverTrigger>Open Popover</PopoverTrigger>
14
- * <Popover>
15
- * Content
16
- * </Popover>
17
- * </PopoverTriggerContext>
18
- *
19
- * @example inline
20
- * <PopoverTriggerContext>
21
- * <Paragraph>
22
- * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.
23
- * </Paragraph>
24
- * <Popover>
25
- * Content
26
- * </Popover>
27
- * </PopoverTriggerContext>
28
- */
29
- const PopoverTrigger = ({ id, inline, asChild, ref, ...rest }) => {
30
- const { popoverId, popoverOpen, setPopoverOpen } = use(Context);
31
- return /* @__PURE__ */ jsx(asChild ? Slot : inline ? "button" : Button, {
32
- ref,
33
- ...Object.assign({
34
- onClick: () => setPopoverOpen?.((prev) => !prev),
35
- "aria-controls": popoverId,
36
- "aria-expanded": popoverOpen,
37
- ...inline ? { "data-popover": "inline" } : {}
38
- }, rest)
39
- });
40
- };
41
-
42
- //#endregion
43
- export { PopoverTrigger as t };
44
- //# sourceMappingURL=popover-trigger-T4NXzZPy.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-trigger-T4NXzZPy.mjs","names":[],"sources":["../src/components/popover/popover-trigger.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { type HTMLAttributes, Ref, use } from 'react';\nimport type { DefaultProps } from '../../types';\nimport { Button, type ButtonProps } from '../button';\nimport { Context } from './popover-trigger-context';\n\nexport type PopoverTriggerProps =\n | ({\n /**\n * Will render the trigger as inline text.\n * @default false\n */\n inline?: true;\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<HTMLButtonElement>;\n } & HTMLAttributes<HTMLButtonElement> &\n DefaultProps)\n | ({\n /**\n * Will not render the trigger as inline text.\n * @default false\n */\n inline?: false;\n } & ButtonProps);\n\n/**\n * PopoverTrigger component, used to trigger a popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example inline\n * <PopoverTriggerContext>\n * <Paragraph>\n * We can use it <PopoverTrigger inline={true}>inline</PopoverTrigger>.\n * </Paragraph>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\n// oxlint-disable-next-line no-unused-vars\nexport const PopoverTrigger = ({ id, inline, asChild, ref, ...rest }: PopoverTriggerProps) => {\n const { popoverId, popoverOpen, setPopoverOpen } = use(Context);\n const Component = asChild ? Slot : inline ? 'button' : Button;\n\n const popoverProps = Object.assign(\n {\n onClick: () => setPopoverOpen?.((prev) => !prev),\n 'aria-controls': popoverId,\n 'aria-expanded': popoverOpen,\n ...(inline\n ? {\n 'data-popover': 'inline',\n }\n : {}),\n },\n rest,\n );\n\n return <Component ref={ref} {...popoverProps} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,MAAa,kBAAkB,EAAE,IAAI,QAAQ,SAAS,KAAK,GAAG,WAAgC;CAC5F,MAAM,EAAE,WAAW,aAAa,mBAAmB,IAAI,QAAQ;AAiB/D,QAAO,oBAhBW,UAAU,OAAO,SAAS,WAAW;EAgBhC;EAAK,GAdP,OAAO,OAC1B;GACE,eAAe,kBAAkB,SAAS,CAAC,KAAK;GAChD,iBAAiB;GACjB,iBAAiB;GACjB,GAAI,SACA,EACE,gBAAgB,UACjB,GACD,EAAE;GACP,EACD,KACD;GAE+C"}
@@ -1,39 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { createContext, useId, useState } from "react";
3
- import { useControllableState } from "@radix-ui/react-use-controllable-state";
4
-
5
- //#region src/components/popover/popover-trigger-context.tsx
6
- const Context = createContext({});
7
- /**
8
- * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.
9
- *
10
- * @example
11
- * <PopoverTriggerContext>
12
- * <PopoverTrigger>Open Popover</PopoverTrigger>
13
- * <Popover>
14
- * Content
15
- * </Popover>
16
- * </PopoverTriggerContext>
17
- */
18
- const PopoverTriggerContext = ({ children, open, onOpenChange }) => {
19
- const [popoverId, setPopoverId] = useState(useId());
20
- const [popoverOpen, setPopoverOpen] = useControllableState({
21
- prop: open,
22
- onChange: onOpenChange,
23
- defaultProp: false,
24
- caller: "PopoverTriggerContext"
25
- });
26
- return /* @__PURE__ */ jsx(Context, {
27
- value: {
28
- popoverId,
29
- setPopoverId,
30
- popoverOpen,
31
- setPopoverOpen
32
- },
33
- children
34
- });
35
- };
36
-
37
- //#endregion
38
- export { PopoverTriggerContext as n, Context as t };
39
- //# sourceMappingURL=popover-trigger-context-DZFORTLq.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-trigger-context-DZFORTLq.mjs","names":[],"sources":["../src/components/popover/popover-trigger-context.tsx"],"sourcesContent":["import { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { createContext, useId, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nexport const Context = createContext<{\n popoverId?: string;\n setPopoverId?: (id: string) => void;\n popoverOpen?: boolean;\n setPopoverOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n}>({});\n\nexport type PopoverTriggerContextProps = {\n children: ReactNode;\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\n/**\n * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\nexport const PopoverTriggerContext = ({ children, open, onOpenChange }: PopoverTriggerContextProps) => {\n const randomPopoverId = useId();\n const [popoverId, setPopoverId] = useState(randomPopoverId);\n const [popoverOpen, setPopoverOpen] = useControllableState({\n prop: open,\n onChange: onOpenChange,\n defaultProp: false,\n caller: 'PopoverTriggerContext',\n });\n\n return <Context value={{ popoverId, setPopoverId, popoverOpen, setPopoverOpen }}>{children}</Context>;\n};\n"],"mappings":";;;;;AAIA,MAAa,UAAU,cAKpB,EAAE,CAAC;;;;;;;;;;;;AA2BN,MAAa,yBAAyB,EAAE,UAAU,MAAM,mBAA+C;CAErG,MAAM,CAAC,WAAW,gBAAgB,SADV,OAAO,CAC4B;CAC3D,MAAM,CAAC,aAAa,kBAAkB,qBAAqB;EACzD,MAAM;EACN,UAAU;EACV,aAAa;EACb,QAAQ;EACT,CAAC;AAEF,QAAO,oBAAC;EAAQ,OAAO;GAAE;GAAW;GAAc;GAAa;GAAgB;EAAG;GAAmB"}
@@ -1,45 +0,0 @@
1
- import { t as Field } from "./field-BIBlDQoi.mjs";
2
- import { t as FieldDescription } from "./field-description-Dt2qLchF.mjs";
3
- import { t as Input } from "./input-DU_8Z4cN.mjs";
4
- import { t as Label } from "./label-QZyUM8Df.mjs";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
- import { useId } from "react";
7
-
8
- //#region src/components/radio/radio.tsx
9
- const Radio = ({ dark, label, description, error, fullwidth, style, className, ref, id, "aria-describedby": ariaDescribedByProp, ...props }) => {
10
- const descriptionId = useId();
11
- const ariaDescribedBy = [description ? descriptionId : "", ariaDescribedByProp].join(" ").trim() || void 0;
12
- return /* @__PURE__ */ jsx(Field, {
13
- className,
14
- "data-dark": dark,
15
- style,
16
- fullwidth,
17
- asChild: true,
18
- children: /* @__PURE__ */ jsxs("label", { children: [
19
- /* @__PURE__ */ jsx(Input, {
20
- type: "radio",
21
- id,
22
- ref,
23
- "aria-invalid": error || void 0,
24
- "aria-describedby": ariaDescribedBy,
25
- dark,
26
- ...props
27
- }),
28
- label && /* @__PURE__ */ jsx(Label, {
29
- weight: "medium",
30
- htmlFor: id,
31
- asChild: true,
32
- children: /* @__PURE__ */ jsx("span", { children: label })
33
- }),
34
- description && /* @__PURE__ */ jsx(FieldDescription, {
35
- "aria-hidden": "true",
36
- id: descriptionId,
37
- children: description
38
- })
39
- ] })
40
- });
41
- };
42
-
43
- //#endregion
44
- export { Radio as t };
45
- //# sourceMappingURL=radio-CikbRUIb.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio-CikbRUIb.mjs","names":[],"sources":["../src/components/radio/radio.tsx"],"sourcesContent":["import { useId, 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';\n\nexport type RadioProps = 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 radio. */\n error?: boolean;\n /** If true, the radio 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 Radio = ({\n dark,\n label,\n description,\n error,\n fullwidth,\n style,\n className,\n ref,\n id,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: RadioProps) => {\n const descriptionId = useId();\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='radio'\n id={id}\n ref={ref}\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":";;;;;;;;AAuBA,MAAa,SAAS,EACpB,MACA,OACA,aACA,OACA,WACA,OACA,WACA,KACA,IACA,oBAAoB,qBACpB,GAAG,YACa;CAChB,MAAM,gBAAgB,OAAO;CAE7B,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;IACC;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
- export { };
@@ -1 +0,0 @@
1
- export { };
@@ -1,58 +0,0 @@
1
- import { t as Button } from "./button-CDtQwUfp.mjs";
2
- import { t as Field } from "./field-BIBlDQoi.mjs";
3
- import { n as FieldAffixes, t as FieldAffix } from "./field-affix-DNZXWyx-.mjs";
4
- import { t as Input } from "./input-DU_8Z4cN.mjs";
5
- import clsx from "clsx/lite";
6
- import { CrossSmallIcon, MagnefyingGlassIcon } from "@bi-digital/icons";
7
- import { jsx, jsxs } from "react/jsx-runtime";
8
-
9
- //#region src/components/search/search.tsx
10
- const Search = ({ className, onSubmit, onReset, clearAriaLabel = "Clear", size = "medium", ref, dark, style, fullwidth, ...props }) => {
11
- const handleSubmit = (e) => {
12
- e.preventDefault();
13
- if (onSubmit) onSubmit(e.currentTarget.querySelector("input")?.value || "");
14
- };
15
- const handleReset = () => {
16
- if (onReset) onReset("");
17
- };
18
- return /* @__PURE__ */ jsx(Field, {
19
- className: clsx("bi-search", className),
20
- "data-dark": dark,
21
- style,
22
- fullwidth,
23
- asChild: true,
24
- children: /* @__PURE__ */ jsx("form", {
25
- onSubmit: handleSubmit,
26
- onReset: handleReset,
27
- children: /* @__PURE__ */ jsxs(FieldAffixes, { children: [
28
- /* @__PURE__ */ jsx(FieldAffix, { children: /* @__PURE__ */ jsx(MagnefyingGlassIcon, { size }) }),
29
- /* @__PURE__ */ jsx(Input, {
30
- type: "text",
31
- ref,
32
- size,
33
- dark,
34
- ...props
35
- }),
36
- /* @__PURE__ */ jsx(FieldAffix, {
37
- "aria-hidden": "false",
38
- children: /* @__PURE__ */ jsx(Button, {
39
- "aria-label": clearAriaLabel,
40
- icon: true,
41
- size,
42
- dark,
43
- variant: "text",
44
- type: "reset",
45
- children: /* @__PURE__ */ jsx(CrossSmallIcon, {
46
- size,
47
- "aria-hidden": "true"
48
- })
49
- })
50
- })
51
- ] })
52
- })
53
- });
54
- };
55
-
56
- //#endregion
57
- export { Search as t };
58
- //# sourceMappingURL=search-CTkPGLRm.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-CTkPGLRm.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 * @default '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"}
@@ -1 +0,0 @@
1
- export { };
@@ -1,14 +0,0 @@
1
- import { Slot } from "@radix-ui/react-slot";
2
- import { jsx } from "react/jsx-runtime";
3
-
4
- //#region src/components/select/select-optgroup.tsx
5
- const SelectOptgroup = ({ asChild, ref, ...props }) => {
6
- return /* @__PURE__ */ jsx(asChild ? Slot : "optgroup", {
7
- ...props,
8
- ref
9
- });
10
- };
11
-
12
- //#endregion
13
- export { SelectOptgroup as t };
14
- //# sourceMappingURL=select-optgroup-BzjAhfRU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-optgroup-BzjAhfRU.mjs","names":[],"sources":["../src/components/select/select-optgroup.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport type { OptgroupHTMLAttributes, Ref } from 'react';\nimport type { MergeRight } from '../../utilities';\nimport type { AsChildProps } from '../../types';\n\nexport type SelectOptgroupProps = MergeRight<\n AsChildProps & OptgroupHTMLAttributes<HTMLOptGroupElement>,\n {\n ref?: Ref<HTMLOptGroupElement>;\n }\n>;\n\nexport const SelectOptgroup = ({ asChild, ref, ...props }: SelectOptgroupProps) => {\n const Component = asChild ? Slot : 'optgroup';\n return <Component {...props} ref={ref} />;\n};\n"],"mappings":";;;;AAYA,MAAa,kBAAkB,EAAE,SAAS,KAAK,GAAG,YAAiC;AAEjF,QAAO,oBADW,UAAU,OAAO;EACjB,GAAI;EAAY;GAAO"}
@@ -1,14 +0,0 @@
1
- import { Slot } from "@radix-ui/react-slot";
2
- import { jsx } from "react/jsx-runtime";
3
-
4
- //#region src/components/select/select-option.tsx
5
- const SelectOption = ({ asChild, ref, ...props }) => {
6
- return /* @__PURE__ */ jsx(asChild ? Slot : "option", {
7
- ...props,
8
- ref
9
- });
10
- };
11
-
12
- //#endregion
13
- export { SelectOption as t };
14
- //# sourceMappingURL=select-option-DLslGIIp.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-option-DLslGIIp.mjs","names":[],"sources":["../src/components/select/select-option.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport type { OptionHTMLAttributes, Ref } from 'react';\nimport type { MergeRight } from '../../utilities';\nimport type { AsChildProps } from '../../types';\n\nexport type SelectOptionProps = MergeRight<\n AsChildProps & OptionHTMLAttributes<HTMLOptionElement>,\n {\n ref?: Ref<HTMLOptionElement>;\n }\n>;\n\nexport const SelectOption = ({ asChild, ref, ...props }: SelectOptionProps) => {\n const Component = asChild ? Slot : 'option';\n return <Component {...props} ref={ref} />;\n};\n"],"mappings":";;;;AAYA,MAAa,gBAAgB,EAAE,SAAS,KAAK,GAAG,YAA+B;AAE7E,QAAO,oBADW,UAAU,OAAO;EACjB,GAAI;EAAY;GAAO"}
@@ -1,26 +0,0 @@
1
- import clsx from "clsx/lite";
2
- import { jsx } from "react/jsx-runtime";
3
-
4
- //#region src/components/select/select.tsx
5
- const Select = ({ className, dark, onKeyDown, onMouseDown, size, ref, ...props }) => {
6
- return /* @__PURE__ */ jsx("select", {
7
- className: clsx("bi-input", className),
8
- "data-dark": dark,
9
- "data-size": size,
10
- ref,
11
- onKeyDown: (event) => {
12
- if (event.key === "Tab") return;
13
- if (props.readOnly) event.preventDefault();
14
- onKeyDown?.(event);
15
- },
16
- onMouseDown: (event) => {
17
- if (props.readOnly) event.preventDefault();
18
- onMouseDown?.(event);
19
- },
20
- ...props
21
- });
22
- };
23
-
24
- //#endregion
25
- export { Select as t };
26
- //# sourceMappingURL=select-vw7cl3d_.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-vw7cl3d_.mjs","names":[],"sources":["../src/components/select/select.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport type { Ref, SelectHTMLAttributes } from 'react';\nimport type { MergeRight } from '../../utilities';\nimport type { DefaultProps } from '../../types';\n\nexport type SelectProps = MergeRight<\n DefaultProps & Omit<SelectHTMLAttributes<HTMLSelectElement>, 'multiple' | 'size'>,\n {\n /**\n * Size of the select.\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Mark the select as readOnly */\n readOnly?: boolean;\n ref?: Ref<HTMLSelectElement>;\n }\n>;\n\nexport const Select = ({ className, dark, onKeyDown, onMouseDown, size, ref, ...props }: SelectProps) => {\n return (\n <select\n className={clsx('bi-input', className)}\n data-dark={dark}\n data-size={size}\n ref={ref}\n onKeyDown={(event) => {\n if (event.key === 'Tab') return;\n if (props.readOnly) event.preventDefault(); // Make readOnly work for select\n onKeyDown?.(event);\n }}\n onMouseDown={(event) => {\n if (props.readOnly) event.preventDefault(); // Make readOnly work for select\n onMouseDown?.(event);\n }}\n {...props}\n />\n );\n};\n"],"mappings":";;;;AAmBA,MAAa,UAAU,EAAE,WAAW,MAAM,WAAW,aAAa,MAAM,KAAK,GAAG,YAAyB;AACvG,QACE,oBAAC;EACC,WAAW,KAAK,YAAY,UAAU;EACtC,aAAW;EACX,aAAW;EACN;EACL,YAAY,UAAU;AACpB,OAAI,MAAM,QAAQ,MAAO;AACzB,OAAI,MAAM,SAAU,OAAM,gBAAgB;AAC1C,eAAY,MAAM;;EAEpB,cAAc,UAAU;AACtB,OAAI,MAAM,SAAU,OAAM,gBAAgB;AAC1C,iBAAc,MAAM;;EAEtB,GAAI;GACJ"}
@@ -1,53 +0,0 @@
1
- import { t as Field } from "./field-BIBlDQoi.mjs";
2
- import { t as FieldDescription } from "./field-description-Dt2qLchF.mjs";
3
- import { t as Label } from "./label-QZyUM8Df.mjs";
4
- import { t as Select } from "./select-vw7cl3d_.mjs";
5
- import { t as ValidationMessage } from "./validation-message-376E95cm.mjs";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- import { useId } from "react";
8
-
9
- //#region src/components/selectfield/selectfield.tsx
10
- const Selectfield = ({ children, dark, label, description, error, style, className, fullwidth, ref, id: idProp, "aria-describedby": ariaDescribedByProp, ...props }) => {
11
- const generatedId = useId();
12
- const descriptionId = useId();
13
- const validationId = useId();
14
- const id = idProp || generatedId;
15
- const ariaDescribedBy = [
16
- description ? descriptionId : "",
17
- error ? validationId : "",
18
- ariaDescribedByProp
19
- ].join(" ").trim() || void 0;
20
- return /* @__PURE__ */ jsxs(Field, {
21
- className,
22
- "data-dark": dark,
23
- style,
24
- fullwidth,
25
- children: [
26
- label && /* @__PURE__ */ jsx(Label, {
27
- htmlFor: id,
28
- children: label
29
- }),
30
- description && /* @__PURE__ */ jsx(FieldDescription, {
31
- id: descriptionId,
32
- children: description
33
- }),
34
- /* @__PURE__ */ jsx(Select, {
35
- id,
36
- ref,
37
- dark,
38
- "aria-invalid": Boolean(error) || void 0,
39
- "aria-describedby": ariaDescribedBy,
40
- ...props,
41
- children
42
- }),
43
- !!error && /* @__PURE__ */ jsx(ValidationMessage, {
44
- id: validationId,
45
- children: error
46
- })
47
- ]
48
- });
49
- };
50
-
51
- //#endregion
52
- export { Selectfield as t };
53
- //# sourceMappingURL=selectfield-BrXuaiOJ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectfield-BrXuaiOJ.mjs","names":[],"sources":["../src/components/selectfield/selectfield.tsx"],"sourcesContent":["import { useId, type ReactNode } from 'react';\n\nimport type { LabelRequiredProps } from '../../types';\nimport { Field, FieldDescription } from '../field';\nimport { Label } from '../label';\nimport { Select, type SelectProps } from '../select';\nimport { ValidationMessage } from '../validation-message';\nimport { MergeRight } from '../../utilities';\n\nexport type SelectfieldProps = MergeRight<\n LabelRequiredProps & SelectProps,\n {\n /** Description */\n description?: ReactNode;\n /** Error message for field */\n error?: ReactNode;\n /** If true, the selectfield will take up the full available width */\n fullwidth?: boolean;\n }\n>;\n\nexport const Selectfield = ({\n children,\n dark,\n label,\n description,\n error,\n style,\n className,\n fullwidth,\n ref,\n id: idProp,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: SelectfieldProps) => {\n const generatedId = useId();\n const descriptionId = useId();\n const validationId = useId();\n const id = idProp || generatedId;\n\n const ariaDescribedBy =\n [description ? descriptionId : '', error ? validationId : '', ariaDescribedByProp].join(' ').trim() || undefined;\n return (\n <Field className={className} data-dark={dark} style={style} fullwidth={fullwidth}>\n {label && <Label htmlFor={id}>{label}</Label>}\n {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}\n <Select\n id={id}\n ref={ref}\n dark={dark}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={ariaDescribedBy}\n {...props}\n >\n {children}\n </Select>\n {!!error && <ValidationMessage id={validationId}>{error}</ValidationMessage>}\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AAqBA,MAAa,eAAe,EAC1B,UACA,MACA,OACA,aACA,OACA,OACA,WACA,WACA,KACA,IAAI,QACJ,oBAAoB,qBACpB,GAAG,YACmB;CACtB,MAAM,cAAc,OAAO;CAC3B,MAAM,gBAAgB,OAAO;CAC7B,MAAM,eAAe,OAAO;CAC5B,MAAM,KAAK,UAAU;CAErB,MAAM,kBACJ;EAAC,cAAc,gBAAgB;EAAI,QAAQ,eAAe;EAAI;EAAoB,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI;AACzG,QACE,qBAAC;EAAiB;EAAW,aAAW;EAAa;EAAkB;;GACpE,SAAS,oBAAC;IAAM,SAAS;cAAK;KAAc;GAC5C,eAAe,oBAAC;IAAiB,IAAI;cAAgB;KAA+B;GACrF,oBAAC;IACK;IACC;IACC;IACN,gBAAc,QAAQ,MAAM,IAAI;IAChC,oBAAkB;IAClB,GAAI;IAEH;KACM;GACR,CAAC,CAAC,SAAS,oBAAC;IAAkB,IAAI;cAAe;KAA0B;;GACtE"}
@@ -1 +0,0 @@
1
- export { };
@@ -1,17 +0,0 @@
1
- import clsx from "clsx/lite";
2
- import { Slot } from "@radix-ui/react-slot";
3
- import { jsx } from "react/jsx-runtime";
4
-
5
- //#region src/components/skip-link/skip-link.tsx
6
- const SkipLink = ({ asChild, children, className, dark, ...props }) => {
7
- return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
8
- className: clsx("bi-skip-link", className),
9
- "data-dark": dark,
10
- ...props,
11
- children
12
- });
13
- };
14
-
15
- //#endregion
16
- export { SkipLink as t };
17
- //# sourceMappingURL=skip-link-0SNs70lF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skip-link-0SNs70lF.mjs","names":[],"sources":["../src/components/skip-link/skip-link.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport { Slot } from '@radix-ui/react-slot';\nimport type { MergeRight } from '../../utilities';\nimport type { AsChildProps, DefaultProps } from '../../types';\nimport type { AnchorHTMLAttributes, Ref } from 'react';\n\nexport type SkipLinkProps = MergeRight<\n DefaultProps & AsChildProps & AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n ref?: Ref<HTMLAnchorElement>;\n }\n>;\n\nexport const SkipLink = ({ asChild, children, className, dark, ...props }: SkipLinkProps) => {\n const Component = asChild ? Slot : 'a';\n return (\n <Component className={clsx('bi-skip-link', className)} data-dark={dark} {...props}>\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;AAaA,MAAa,YAAY,EAAE,SAAS,UAAU,WAAW,MAAM,GAAG,YAA2B;AAE3F,QACE,oBAFgB,UAAU,OAAO;EAEtB,WAAW,KAAK,gBAAgB,UAAU;EAAE,aAAW;EAAM,GAAI;EACzE;GACS"}
@@ -1 +0,0 @@
1
- export { };