@bi-digital/react 0.0.0-experimental-ca10f7e → 0.0.0-experimental-2ec4984

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 (375) hide show
  1. package/README.md +1 -1
  2. package/dist/{alert-footer-BaB0tSHl.d.ts → alert-footer-DO4EmxdJ.d.ts} +154 -92
  3. package/dist/{checkbox-Bx9n-4ar.js → checkbox-CK2lV4pu.js} +2 -2
  4. package/dist/{checkbox-Bx9n-4ar.js.map → checkbox-CK2lV4pu.js.map} +1 -1
  5. package/dist/checkbox-subsection-CGXgII6v.js +17 -0
  6. package/dist/checkbox-subsection-CGXgII6v.js.map +1 -0
  7. package/dist/{chip-DFAARDd0.js → chip-CRcC9TkL.js} +1 -1
  8. package/dist/{chip-DFAARDd0.js.map → chip-CRcC9TkL.js.map} +1 -1
  9. package/dist/components/alert/alert-footer.d.ts +16 -13
  10. package/dist/components/alert/alert.d.ts +16 -13
  11. package/dist/components/alert/index.d.ts +16 -13
  12. package/dist/components/avatar/avatar.d.ts +16 -13
  13. package/dist/components/avatar/index.d.ts +16 -13
  14. package/dist/components/badge/badge.d.ts +16 -13
  15. package/dist/components/badge/index.d.ts +16 -13
  16. package/dist/components/button/button.d.ts +16 -13
  17. package/dist/components/button/index.d.ts +16 -13
  18. package/dist/components/card/card-action.d.ts +16 -13
  19. package/dist/components/card/card-actions.d.ts +16 -13
  20. package/dist/components/card/card-content.d.ts +16 -13
  21. package/dist/components/card/card-date.d.ts +16 -13
  22. package/dist/components/card/card-header.d.ts +16 -13
  23. package/dist/components/card/card-media.d.ts +16 -13
  24. package/dist/components/card/card.d.ts +16 -13
  25. package/dist/components/card/index.d.ts +16 -13
  26. package/dist/components/checkbox/checkbox-subsection.d.ts +17 -0
  27. package/dist/components/checkbox/checkbox-subsection.js +3 -0
  28. package/dist/components/checkbox/checkbox.d.ts +16 -13
  29. package/dist/components/checkbox/checkbox.js +6 -5
  30. package/dist/components/checkbox/index.d.ts +17 -14
  31. package/dist/components/checkbox/index.js +9 -7
  32. package/dist/components/chip/chip.d.ts +16 -13
  33. package/dist/components/chip/chip.js +1 -1
  34. package/dist/components/chip/index.d.ts +16 -13
  35. package/dist/components/chip/index.js +2 -2
  36. package/dist/components/dialog/dialog-close-button.d.ts +16 -13
  37. package/dist/components/dialog/dialog-close-button.js +1 -1
  38. package/dist/components/dialog/dialog-content.d.ts +16 -13
  39. package/dist/components/dialog/dialog-content.js +1 -1
  40. package/dist/components/dialog/dialog-footer.d.ts +16 -13
  41. package/dist/components/dialog/dialog-footer.js +1 -1
  42. package/dist/components/dialog/dialog-header.d.ts +16 -13
  43. package/dist/components/dialog/dialog-header.js +1 -1
  44. package/dist/components/dialog/dialog-trigger-context.d.ts +1 -1
  45. package/dist/components/dialog/dialog-trigger-context.js +1 -1
  46. package/dist/components/dialog/dialog-trigger.d.ts +16 -13
  47. package/dist/components/dialog/dialog-trigger.js +2 -2
  48. package/dist/components/dialog/dialog.d.ts +16 -13
  49. package/dist/components/dialog/dialog.js +7 -6
  50. package/dist/components/dialog/index.d.ts +16 -13
  51. package/dist/components/dialog/index.js +13 -12
  52. package/dist/components/drawer/drawer-close-button.d.ts +16 -13
  53. package/dist/components/drawer/drawer-close-button.js +14 -13
  54. package/dist/components/drawer/drawer-content.d.ts +16 -13
  55. package/dist/components/drawer/drawer-content.js +14 -13
  56. package/dist/components/drawer/drawer-footer.d.ts +16 -13
  57. package/dist/components/drawer/drawer-footer.js +14 -13
  58. package/dist/components/drawer/drawer-header.d.ts +16 -13
  59. package/dist/components/drawer/drawer-header.js +14 -13
  60. package/dist/components/drawer/drawer-trigger-context.d.ts +1 -1
  61. package/dist/components/drawer/drawer-trigger-context.js +14 -13
  62. package/dist/components/drawer/drawer-trigger.d.ts +16 -13
  63. package/dist/components/drawer/drawer-trigger.js +14 -13
  64. package/dist/components/drawer/drawer.d.ts +16 -13
  65. package/dist/components/drawer/drawer.js +14 -13
  66. package/dist/components/drawer/index.d.ts +16 -13
  67. package/dist/components/drawer/index.js +21 -20
  68. package/dist/components/dropdown/dropdown-button.d.ts +16 -13
  69. package/dist/components/dropdown/dropdown-button.js +1 -1
  70. package/dist/components/dropdown/dropdown-item.d.ts +1 -1
  71. package/dist/components/dropdown/dropdown-item.js +1 -1
  72. package/dist/components/dropdown/dropdown-list.d.ts +1 -1
  73. package/dist/components/dropdown/dropdown-list.js +1 -1
  74. package/dist/components/dropdown/dropdown-trigger-context.d.ts +1 -1
  75. package/dist/components/dropdown/dropdown-trigger-context.js +10 -9
  76. package/dist/components/dropdown/dropdown-trigger.d.ts +16 -13
  77. package/dist/components/dropdown/dropdown-trigger.js +10 -9
  78. package/dist/components/dropdown/dropdown.d.ts +16 -13
  79. package/dist/components/dropdown/dropdown.js +10 -9
  80. package/dist/components/dropdown/index.d.ts +16 -13
  81. package/dist/components/dropdown/index.js +16 -15
  82. package/dist/components/field/field-affix.d.ts +16 -13
  83. package/dist/components/field/field-description.d.ts +16 -13
  84. package/dist/components/field/field.d.ts +16 -13
  85. package/dist/components/field/index.d.ts +16 -13
  86. package/dist/components/fieldset/fieldset-description.d.ts +16 -13
  87. package/dist/components/fieldset/fieldset-description.js +1 -1
  88. package/dist/components/fieldset/fieldset-legend.d.ts +16 -13
  89. package/dist/components/fieldset/fieldset-legend.js +1 -1
  90. package/dist/components/fieldset/fieldset.d.ts +16 -13
  91. package/dist/components/fieldset/fieldset.js +1 -1
  92. package/dist/components/fieldset/index.d.ts +16 -13
  93. package/dist/components/fieldset/index.js +4 -4
  94. package/dist/components/filter-group/filter-group.d.ts +17 -0
  95. package/dist/components/filter-group/filter-group.js +3 -0
  96. package/dist/components/filter-group/index.d.ts +17 -0
  97. package/dist/components/filter-group/index.js +4 -0
  98. package/dist/components/footer/footer-links.d.ts +1 -1
  99. package/dist/components/footer/footer-links.js +1 -1
  100. package/dist/components/footer/footer.d.ts +16 -13
  101. package/dist/components/footer/footer.js +1 -1
  102. package/dist/components/footer/index.d.ts +16 -13
  103. package/dist/components/footer/index.js +3 -3
  104. package/dist/components/index.d.ts +17 -14
  105. package/dist/components/index.js +84 -73
  106. package/dist/components/input/index.d.ts +16 -13
  107. package/dist/components/input/input.d.ts +16 -13
  108. package/dist/components/label/index.d.ts +16 -13
  109. package/dist/components/label/label.d.ts +16 -13
  110. package/dist/components/link/index.d.ts +16 -13
  111. package/dist/components/link/index.js +2 -2
  112. package/dist/components/link/link.d.ts +16 -13
  113. package/dist/components/link/link.js +1 -1
  114. package/dist/components/logo/index.d.ts +16 -13
  115. package/dist/components/logo/index.js +2 -2
  116. package/dist/components/logo/logo.d.ts +16 -13
  117. package/dist/components/logo/logo.js +1 -1
  118. package/dist/components/navbar/index.d.ts +17 -14
  119. package/dist/components/navbar/index.js +8 -5
  120. package/dist/components/navbar/navbar.d.ts +16 -13
  121. package/dist/components/navbar/navbar.js +3 -3
  122. package/dist/components/navbar/sub-navbar.d.ts +17 -0
  123. package/dist/components/navbar/sub-navbar.js +5 -0
  124. package/dist/components/pagination/index.d.ts +16 -13
  125. package/dist/components/pagination/index.js +4 -4
  126. package/dist/components/pagination/pagination-button.d.ts +16 -13
  127. package/dist/components/pagination/pagination-button.js +1 -1
  128. package/dist/components/pagination/pagination-item.d.ts +1 -1
  129. package/dist/components/pagination/pagination-item.js +1 -1
  130. package/dist/components/pagination/pagination.d.ts +16 -13
  131. package/dist/components/pagination/pagination.js +1 -1
  132. package/dist/components/popover/index.d.ts +16 -13
  133. package/dist/components/popover/index.js +9 -8
  134. package/dist/components/popover/popover-trigger-context.d.ts +1 -1
  135. package/dist/components/popover/popover-trigger-context.js +1 -1
  136. package/dist/components/popover/popover-trigger.d.ts +16 -13
  137. package/dist/components/popover/popover-trigger.js +2 -2
  138. package/dist/components/popover/popover.d.ts +16 -13
  139. package/dist/components/popover/popover.js +7 -6
  140. package/dist/components/radio/index.d.ts +16 -13
  141. package/dist/components/radio/index.js +2 -2
  142. package/dist/components/radio/radio.d.ts +16 -13
  143. package/dist/components/radio/radio.js +1 -1
  144. package/dist/components/search/index.d.ts +16 -13
  145. package/dist/components/search/index.js +2 -2
  146. package/dist/components/search/search.d.ts +16 -13
  147. package/dist/components/search/search.js +1 -1
  148. package/dist/components/select/index.d.ts +16 -13
  149. package/dist/components/select/index.js +4 -4
  150. package/dist/components/select/select-optgroup.d.ts +16 -13
  151. package/dist/components/select/select-optgroup.js +1 -1
  152. package/dist/components/select/select-option.d.ts +16 -13
  153. package/dist/components/select/select-option.js +1 -1
  154. package/dist/components/select/select.d.ts +16 -13
  155. package/dist/components/select/select.js +1 -1
  156. package/dist/components/skip-link/index.d.ts +17 -0
  157. package/dist/components/skip-link/index.js +4 -0
  158. package/dist/components/skip-link/skip-link.d.ts +17 -0
  159. package/dist/components/skip-link/skip-link.js +3 -0
  160. package/dist/components/spinner/index.d.ts +16 -13
  161. package/dist/components/spinner/spinner.d.ts +16 -13
  162. package/dist/components/sticky-header/index.d.ts +3 -0
  163. package/dist/components/sticky-header/index.js +4 -0
  164. package/dist/components/sticky-header/sticky-header.d.ts +2 -0
  165. package/dist/components/sticky-header/sticky-header.js +3 -0
  166. package/dist/components/tabs/index.d.ts +16 -13
  167. package/dist/components/tabs/index.js +5 -5
  168. package/dist/components/tabs/tab.d.ts +16 -13
  169. package/dist/components/tabs/tab.js +1 -1
  170. package/dist/components/tabs/tabs-list.d.ts +16 -13
  171. package/dist/components/tabs/tabs-list.js +1 -1
  172. package/dist/components/tabs/tabs-panel.d.ts +16 -13
  173. package/dist/components/tabs/tabs-panel.js +1 -1
  174. package/dist/components/tabs/tabs.d.ts +16 -13
  175. package/dist/components/tabs/tabs.js +1 -1
  176. package/dist/components/textarea/index.d.ts +16 -13
  177. package/dist/components/textarea/index.js +2 -2
  178. package/dist/components/textarea/textarea.d.ts +16 -13
  179. package/dist/components/textarea/textarea.js +1 -1
  180. package/dist/components/textfield/index.d.ts +16 -13
  181. package/dist/components/textfield/index.js +6 -6
  182. package/dist/components/textfield/textfield.d.ts +16 -13
  183. package/dist/components/textfield/textfield.js +5 -5
  184. package/dist/components/validation-message/index.d.ts +16 -13
  185. package/dist/components/validation-message/index.js +2 -2
  186. package/dist/components/validation-message/validation-message.d.ts +16 -13
  187. package/dist/components/validation-message/validation-message.js +1 -1
  188. package/dist/{dialog-Msiu7H3h.js → dialog-WgEtFqJD.js} +3 -3
  189. package/dist/{dialog-Msiu7H3h.js.map → dialog-WgEtFqJD.js.map} +1 -1
  190. package/dist/{dialog-close-button-BhzM8xy4.js → dialog-close-button-8n-DBvH4.js} +1 -1
  191. package/dist/{dialog-close-button-BhzM8xy4.js.map → dialog-close-button-8n-DBvH4.js.map} +1 -1
  192. package/dist/{dialog-content-BNHkYsxn.js → dialog-content-CU346luZ.js} +1 -1
  193. package/dist/{dialog-content-BNHkYsxn.js.map → dialog-content-CU346luZ.js.map} +1 -1
  194. package/dist/{dialog-footer-B63OYnj7.js → dialog-footer-BPCalxtL.js} +1 -1
  195. package/dist/{dialog-footer-B63OYnj7.js.map → dialog-footer-BPCalxtL.js.map} +1 -1
  196. package/dist/{dialog-header-CRcBLINN.js → dialog-header-DsLpGnOf.js} +1 -1
  197. package/dist/{dialog-header-CRcBLINN.js.map → dialog-header-DsLpGnOf.js.map} +1 -1
  198. package/dist/{dialog-trigger-XPMx1psz.js → dialog-trigger-Q9Y5EG0H.js} +2 -2
  199. package/dist/{dialog-trigger-XPMx1psz.js.map → dialog-trigger-Q9Y5EG0H.js.map} +1 -1
  200. package/dist/{dialog-trigger-context-B5d-o0K7.js → dialog-trigger-context-B41wR-bM.js} +1 -1
  201. package/dist/{dialog-trigger-context-B5d-o0K7.js.map → dialog-trigger-context-B41wR-bM.js.map} +1 -1
  202. package/dist/{dialog-trigger-context-BP03jmAI.d.ts → dialog-trigger-context-BkQSJ-rX.d.ts} +5 -5
  203. package/dist/{drawer-DeggzxN8.js → drawer-B8xyMitJ.js} +2 -2
  204. package/dist/{drawer-DeggzxN8.js.map → drawer-B8xyMitJ.js.map} +1 -1
  205. package/dist/{drawer-close-button-dDQvoj0O.js → drawer-close-button-CqDqQGHP.js} +2 -2
  206. package/dist/{drawer-close-button-dDQvoj0O.js.map → drawer-close-button-CqDqQGHP.js.map} +1 -1
  207. package/dist/{drawer-content-Cqz_MZFW.js → drawer-content-Dp__eciN.js} +2 -2
  208. package/dist/{drawer-content-Cqz_MZFW.js.map → drawer-content-Dp__eciN.js.map} +1 -1
  209. package/dist/{drawer-footer-GbcH-B8w.js → drawer-footer-qYHvZEl_.js} +2 -2
  210. package/dist/{drawer-footer-GbcH-B8w.js.map → drawer-footer-qYHvZEl_.js.map} +1 -1
  211. package/dist/{drawer-header-CS9x6xOi.js → drawer-header-fQaZQuIY.js} +2 -2
  212. package/dist/{drawer-header-CS9x6xOi.js.map → drawer-header-fQaZQuIY.js.map} +1 -1
  213. package/dist/{drawer-trigger-AT7qYJPw.js → drawer-trigger-BvjTEl5N.js} +2 -2
  214. package/dist/{drawer-trigger-AT7qYJPw.js.map → drawer-trigger-BvjTEl5N.js.map} +1 -1
  215. package/dist/{drawer-trigger-context-BDcc94cu.d.ts → drawer-trigger-context-B3X3kUrY.d.ts} +3 -3
  216. package/dist/{drawer-trigger-context-EHdOLF0U.js → drawer-trigger-context-DHYdt3sB.js} +2 -2
  217. package/dist/{drawer-trigger-context-EHdOLF0U.js.map → drawer-trigger-context-DHYdt3sB.js.map} +1 -1
  218. package/dist/{dropdown-C1hpsZcN.js → dropdown-D-dX5PAl.js} +2 -2
  219. package/dist/{dropdown-C1hpsZcN.js.map → dropdown-D-dX5PAl.js.map} +1 -1
  220. package/dist/{dropdown-BhdWlVMW.js → dropdown-D54kcMt_.js} +2 -2
  221. package/dist/{dropdown-BhdWlVMW.js.map → dropdown-D54kcMt_.js.map} +1 -1
  222. package/dist/{dropdown-button-Btuo7J5R.js → dropdown-button-CKPaLMBh.js} +1 -1
  223. package/dist/{dropdown-button-Btuo7J5R.js.map → dropdown-button-CKPaLMBh.js.map} +1 -1
  224. package/dist/{dropdown-item-bMZ3-43Z.d.ts → dropdown-item-Bhw9nhOp.d.ts} +3 -3
  225. package/dist/{dropdown-item-yyt1nBlo.js → dropdown-item-BnnEFIq3.js} +1 -1
  226. package/dist/{dropdown-item-yyt1nBlo.js.map → dropdown-item-BnnEFIq3.js.map} +1 -1
  227. package/dist/{dropdown-list-BMkiVIDL.js → dropdown-list-BWW85rXi.js} +1 -1
  228. package/dist/{dropdown-list-BMkiVIDL.js.map → dropdown-list-BWW85rXi.js.map} +1 -1
  229. package/dist/{dropdown-list-DenWbmcv.d.ts → dropdown-list-XN8RJ-SS.d.ts} +3 -3
  230. package/dist/{dropdown-trigger-DG-mnw2U.js → dropdown-trigger-DfHyg_D7.js} +2 -2
  231. package/dist/{dropdown-trigger-DG-mnw2U.js.map → dropdown-trigger-DfHyg_D7.js.map} +1 -1
  232. package/dist/{dropdown-trigger-context-Ce6Z9VPK.js → dropdown-trigger-context-BpYBk_xf.js} +2 -2
  233. package/dist/{dropdown-trigger-context-Ce6Z9VPK.js.map → dropdown-trigger-context-BpYBk_xf.js.map} +1 -1
  234. package/dist/{dropdown-trigger-context-BabMM_7k.d.ts → dropdown-trigger-context-D0QMaRYY.d.ts} +3 -3
  235. package/dist/{fieldset-DemHknom.js → fieldset-DGB7cvdz.js} +1 -1
  236. package/dist/{fieldset-DemHknom.js.map → fieldset-DGB7cvdz.js.map} +1 -1
  237. package/dist/{fieldset-description-CqUMEhib.js → fieldset-description-oNKwCGnW.js} +1 -1
  238. package/dist/{fieldset-description-CqUMEhib.js.map → fieldset-description-oNKwCGnW.js.map} +1 -1
  239. package/dist/{fieldset-legend-C6D6hE4v.js → fieldset-legend-Dseni7XM.js} +1 -1
  240. package/dist/{fieldset-legend-C6D6hE4v.js.map → fieldset-legend-Dseni7XM.js.map} +1 -1
  241. package/dist/filter-group-BKO5sgGt.js +40 -0
  242. package/dist/filter-group-BKO5sgGt.js.map +1 -0
  243. package/dist/{footer-CU7LdbPO.js → footer-CXKRhzUT.js} +1 -1
  244. package/dist/{footer-CU7LdbPO.js.map → footer-CXKRhzUT.js.map} +1 -1
  245. package/dist/{footer-links-sRD7teEv.d.ts → footer-links-Drm2LFnw.d.ts} +3 -3
  246. package/dist/{footer-links-BIUrxu38.js → footer-links-Dz1UwVuf.js} +1 -1
  247. package/dist/{footer-links-BIUrxu38.js.map → footer-links-Dz1UwVuf.js.map} +1 -1
  248. package/dist/{index-qXXUizvD.d.ts → index-B-0iSMVN.d.ts} +1 -1
  249. package/dist/index-CTw2zfCM.d.ts +1 -0
  250. package/dist/{index-CRy7A5Iq.d.ts → index-CXV3nvLQ.d.ts} +1 -1
  251. package/dist/{link-lNn9wvQf.js → link-ZiUFZak1.js} +1 -1
  252. package/dist/{link-lNn9wvQf.js.map → link-ZiUFZak1.js.map} +1 -1
  253. package/dist/{logo-QKrYvRFP.js → logo-cfY7Ilvc.js} +1 -1
  254. package/dist/{logo-QKrYvRFP.js.map → logo-cfY7Ilvc.js.map} +1 -1
  255. package/dist/main.d.ts +17 -14
  256. package/dist/main.js +85 -74
  257. package/dist/navbar-DJJMercW.js +23 -0
  258. package/dist/navbar-DJJMercW.js.map +1 -0
  259. package/dist/{pagination-u6Z1LYwY.js → pagination-DxXjiIgC.js} +1 -1
  260. package/dist/{pagination-u6Z1LYwY.js.map → pagination-DxXjiIgC.js.map} +1 -1
  261. package/dist/{pagination-button-CG_QfJHY.js → pagination-button-CjEZPPC8.js} +1 -1
  262. package/dist/{pagination-button-CG_QfJHY.js.map → pagination-button-CjEZPPC8.js.map} +1 -1
  263. package/dist/{pagination-item-DntsLLMC.js → pagination-item-DXnI0BWj.js} +1 -1
  264. package/dist/{pagination-item-DntsLLMC.js.map → pagination-item-DXnI0BWj.js.map} +1 -1
  265. package/dist/{pagination-item-hMN-34PX.d.ts → pagination-item-mKQyvHV9.d.ts} +3 -3
  266. package/dist/{popover-WJoHXecW.js → popover-CGvBn3q9.js} +3 -3
  267. package/dist/{popover-WJoHXecW.js.map → popover-CGvBn3q9.js.map} +1 -1
  268. package/dist/{popover-CGNoywPj.js → popover-COi7S9pJ.js} +1 -1
  269. package/dist/{popover-CGNoywPj.js.map → popover-COi7S9pJ.js.map} +1 -1
  270. package/dist/{popover-trigger-CjEKeJwY.js → popover-trigger-BLnIukvY.js} +2 -2
  271. package/dist/{popover-trigger-CjEKeJwY.js.map → popover-trigger-BLnIukvY.js.map} +1 -1
  272. package/dist/{popover-trigger-context-DQy9nKB2.d.ts → popover-trigger-context-C3QaiCth.d.ts} +5 -5
  273. package/dist/{popover-trigger-context-CNUJbbBn.js → popover-trigger-context-CGJlUS_N.js} +1 -1
  274. package/dist/{popover-trigger-context-CNUJbbBn.js.map → popover-trigger-context-CGJlUS_N.js.map} +1 -1
  275. package/dist/{radio-C_Zbb4CF.js → radio-ClWd10lc.js} +1 -1
  276. package/dist/{radio-C_Zbb4CF.js.map → radio-ClWd10lc.js.map} +1 -1
  277. package/dist/{search-Dg6xvCDB.js → search-Dhdq8_sk.js} +6 -2
  278. package/dist/search-Dhdq8_sk.js.map +1 -0
  279. package/dist/{select-B1e494BO.js → select-DCZV6wZu.js} +1 -1
  280. package/dist/{select-B1e494BO.js.map → select-DCZV6wZu.js.map} +1 -1
  281. package/dist/{select-optgroup-D7Gd7ioS.js → select-optgroup-BUaB9Yz-.js} +1 -1
  282. package/dist/{select-optgroup-D7Gd7ioS.js.map → select-optgroup-BUaB9Yz-.js.map} +1 -1
  283. package/dist/{select-option-DUfDzvNN.js → select-option-BByWq34J.js} +1 -1
  284. package/dist/{select-option-DUfDzvNN.js.map → select-option-BByWq34J.js.map} +1 -1
  285. package/dist/skip-link-DwuiIAvE.js +18 -0
  286. package/dist/skip-link-DwuiIAvE.js.map +1 -0
  287. package/dist/sticky-header-CPHxBupp.d.ts +19 -0
  288. package/dist/sticky-header-DWAJUj20.js +21 -0
  289. package/dist/sticky-header-DWAJUj20.js.map +1 -0
  290. package/dist/sub-navbar-DEudSxfj.js +28 -0
  291. package/dist/sub-navbar-DEudSxfj.js.map +1 -0
  292. package/dist/{tab-D-OGgeAb.js → tab-9qkzsjIT.js} +1 -1
  293. package/dist/{tab-D-OGgeAb.js.map → tab-9qkzsjIT.js.map} +1 -1
  294. package/dist/{tabs-DzRc-Y8t.js → tabs-CpaYfphj.js} +1 -1
  295. package/dist/{tabs-DzRc-Y8t.js.map → tabs-CpaYfphj.js.map} +1 -1
  296. package/dist/{tabs-list-qH_cJgYi.js → tabs-list-UDrgmCSx.js} +1 -1
  297. package/dist/{tabs-list-qH_cJgYi.js.map → tabs-list-UDrgmCSx.js.map} +1 -1
  298. package/dist/{tabs-panel-DtHr9i79.js → tabs-panel-DeVzvQQw.js} +1 -1
  299. package/dist/{tabs-panel-DtHr9i79.js.map → tabs-panel-DeVzvQQw.js.map} +1 -1
  300. package/dist/{textarea-CEUafYI-.js → textarea-C580HmQX.js} +1 -1
  301. package/dist/{textarea-CEUafYI-.js.map → textarea-C580HmQX.js.map} +1 -1
  302. package/dist/textfield-CWoUw1b2.js +0 -0
  303. package/dist/{textfield-DwBJIap9.js → textfield-e06UoQC8.js} +3 -3
  304. package/dist/{textfield-DwBJIap9.js.map → textfield-e06UoQC8.js.map} +1 -1
  305. package/dist/{types-CAwE6h3H.d.ts → types-DC-FPmDA.d.ts} +1 -1
  306. package/dist/{types-BTJlwWCQ.d.ts → types-Mj1poXVf.d.ts} +1 -1
  307. package/dist/types.d.ts +1 -1
  308. package/dist/useCheckboxGroup-DRhqch1m.d.ts +22 -0
  309. package/dist/useCheckboxGroup-rTVawmvi.js +18 -0
  310. package/dist/useCheckboxGroup-rTVawmvi.js.map +1 -0
  311. package/dist/useElementScrolledPastObserver-DjzJ4Mn-.js +20 -0
  312. package/dist/useElementScrolledPastObserver-DjzJ4Mn-.js.map +1 -0
  313. package/dist/{useIsomorphicLayoutEffect-DCaf_yI4.js → useIsomorphicLayoutEffect-B5btmYlF.js} +1 -1
  314. package/dist/{useIsomorphicLayoutEffect-DCaf_yI4.js.map → useIsomorphicLayoutEffect-B5btmYlF.js.map} +1 -1
  315. package/dist/{useIsomorphicLayoutEffect-D3y6bHpX.d.ts → useIsomorphicLayoutEffect-BMdz-mee.d.ts} +1 -1
  316. package/dist/{useMergeRefs-Cz-t7gpp.js → useMergeRefs-CcJMoo46.js} +1 -1
  317. package/dist/{useMergeRefs-Cz-t7gpp.js.map → useMergeRefs-CcJMoo46.js.map} +1 -1
  318. package/dist/{useMergeRefs-BTgz9pcs.d.ts → useMergeRefs-iCenhgmf.d.ts} +1 -1
  319. package/dist/{usePagination-afWMXp7h.js → usePagination-DNqO-ob2.js} +1 -1
  320. package/dist/{usePagination-afWMXp7h.js.map → usePagination-DNqO-ob2.js.map} +1 -1
  321. package/dist/useScrollDirection-BLgp51hx.js +28 -0
  322. package/dist/useScrollDirection-BLgp51hx.js.map +1 -0
  323. package/dist/utilities/hooks/index.d.ts +17 -14
  324. package/dist/utilities/hooks/index.js +6 -5
  325. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +2 -0
  326. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +3 -0
  327. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.d.ts +8 -0
  328. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.js +3 -0
  329. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +1 -1
  330. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  331. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.d.ts +1 -1
  332. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.js +1 -1
  333. package/dist/utilities/hooks/usePagination/usePagination.d.ts +16 -13
  334. package/dist/utilities/hooks/usePagination/usePagination.js +1 -1
  335. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.d.ts +11 -0
  336. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.js +3 -0
  337. package/dist/utilities/index.d.ts +17 -14
  338. package/dist/utilities/index.js +7 -6
  339. package/dist/utilities/types.d.ts +1 -1
  340. package/dist/utilities-JoKvbhOy.js +0 -0
  341. package/dist/{validation-message-DjATM7g-.js → validation-message-6AQTIup_.js} +1 -1
  342. package/dist/{validation-message-DjATM7g-.js.map → validation-message-6AQTIup_.js.map} +1 -1
  343. package/dist/validation-message-B4lI2a0K.js +0 -0
  344. package/dist/vanilla/dropdown/index.d.ts +1 -1
  345. package/dist/vanilla/dropdown/index.js +2 -2
  346. package/dist/vanilla/index.d.ts +2 -2
  347. package/dist/vanilla/index.js +2 -2
  348. package/dist/vanilla/popover/index.d.ts +1 -1
  349. package/dist/vanilla/popover/index.js +1 -1
  350. package/package.json +4 -4
  351. package/dist/navbar-Dm9lM6Xr.js +0 -31
  352. package/dist/navbar-Dm9lM6Xr.js.map +0 -1
  353. package/dist/search-Dg6xvCDB.js.map +0 -1
  354. /package/dist/{checkbox-DXGZ7D3M.js → checkbox-DdQn64cR.js} +0 -0
  355. /package/dist/{chip-CopwfoBo.js → chip-6KumidQL.js} +0 -0
  356. /package/dist/{components-CtNCeoXN.js → components-CUDHzsYh.js} +0 -0
  357. /package/dist/{dialog-Cva1W11M.js → dialog-B6bZOPYF.js} +0 -0
  358. /package/dist/{drawer-D0EFrwju.js → drawer-sfOVHFWA.js} +0 -0
  359. /package/dist/{dropdown-mQ8x9_NH.js → dropdown-DR0Lif3r.js} +0 -0
  360. /package/dist/{fieldset-BhCAsBCv.js → fieldset-Ds2WiAnj.js} +0 -0
  361. /package/dist/{footer-BThmhXy7.js → filter-group-MjaWbeZO.js} +0 -0
  362. /package/dist/{hooks-CQ4fud3K.js → footer-Cq6w0v2j.js} +0 -0
  363. /package/dist/{link-oWcjwJYP.js → hooks-BmaG9QJW.js} +0 -0
  364. /package/dist/{logo-Dx-VZMJu.js → link-CKJeUW0o.js} +0 -0
  365. /package/dist/{navbar-DvT5z7E0.js → logo-CIDSfhf9.js} +0 -0
  366. /package/dist/{pagination-DrIF_DVv.js → navbar-BuFLsqCZ.js} +0 -0
  367. /package/dist/{popover-3oBuiK3l.js → pagination-DUyQRuUE.js} +0 -0
  368. /package/dist/{radio-h9AAOfEn.js → popover-C4QdJkKG.js} +0 -0
  369. /package/dist/{search-D6IdbNO6.js → radio-Uyx2D7dl.js} +0 -0
  370. /package/dist/{select-Dg_OZVWF.js → search-VYIc3wFh.js} +0 -0
  371. /package/dist/{tabs-DXmy9wEs.js → select-D1X9tdeH.js} +0 -0
  372. /package/dist/{textarea-YZQSw01C.js → skip-link-CGmg3TAi.js} +0 -0
  373. /package/dist/{textfield-BJszUges.js → sticky-header-CII-Yy5M.js} +0 -0
  374. /package/dist/{utilities-DO_q6EB3.js → tabs-CYBqn2Kj.js} +0 -0
  375. /package/dist/{validation-message-fz0dNgdm.js → textarea-D37K5D86.js} +0 -0
@@ -0,0 +1,18 @@
1
+ //#region src/utilities/hooks/useCheckboxGroup/useCheckboxGroup.tsx
2
+ const useCheckboxGroup = ({ options, updateOptions }) => {
3
+ const checked = options.every((option) => option);
4
+ const indeterminate = options.some((option) => option) && !checked;
5
+ const onChange = (e) => {
6
+ const newChecked = e.target.indeterminate ? true : e.target.checked;
7
+ updateOptions(newChecked);
8
+ };
9
+ return { checkboxGroupProps: {
10
+ checked,
11
+ indeterminate,
12
+ onChange
13
+ } };
14
+ };
15
+
16
+ //#endregion
17
+ export { useCheckboxGroup };
18
+ //# sourceMappingURL=useCheckboxGroup-rTVawmvi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCheckboxGroup-rTVawmvi.js","names":["e: ChangeEvent<HTMLInputElement>"],"sources":["../src/utilities/hooks/useCheckboxGroup/useCheckboxGroup.tsx"],"sourcesContent":["import type { ChangeEvent } from 'react';\n\nexport type UseCheckboxGroupOptions = {\n options: boolean[];\n updateOptions: (checked: boolean) => void;\n};\n\nexport type UseCheckboxGroupReturn = {\n /** Spread this on the \"parent\" checkbox */\n checkboxGroupProps: {\n checked: boolean;\n indeterminate: boolean;\n onChange: (e: ChangeEvent<HTMLInputElement>) => void;\n };\n};\n\nexport const useCheckboxGroup = ({ options, updateOptions }: UseCheckboxGroupOptions): UseCheckboxGroupReturn => {\n const checked = options.every((option) => option);\n const indeterminate = options.some((option) => option) && !checked;\n\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newChecked = e.target.indeterminate ? true : e.target.checked;\n updateOptions(newChecked);\n };\n\n return {\n checkboxGroupProps: {\n checked,\n indeterminate,\n onChange,\n },\n };\n};\n"],"mappings":";AAgBA,MAAa,mBAAmB,CAAC,EAAE,SAAS,eAAwC,KAA6B;CAC/G,MAAM,UAAU,QAAQ,MAAM,CAAC,WAAW,OAAO;CACjD,MAAM,gBAAgB,QAAQ,KAAK,CAAC,WAAW,OAAO,KAAK;CAE3D,MAAM,WAAW,CAACA,MAAqC;EACrD,MAAM,aAAa,EAAE,OAAO,gBAAgB,OAAO,EAAE,OAAO;AAC5D,gBAAc,WAAW;CAC1B;AAED,QAAO,EACL,oBAAoB;EAClB;EACA;EACA;CACD,EACF;AACF"}
@@ -0,0 +1,20 @@
1
+ import { useEffect, useState } from "react";
2
+
3
+ //#region src/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.tsx
4
+ /** Detects when an element's is scrolled past and is no longer in the viewport. */
5
+ const useElementScrolledPastObserver = (elementRef) => {
6
+ const [isPast, setIsPast] = useState(false);
7
+ useEffect(() => {
8
+ const observer = new IntersectionObserver(([entry]) => setIsPast(entry.boundingClientRect.y < 0), { threshold: [0] });
9
+ const currentRef = elementRef.current;
10
+ if (currentRef) observer.observe(currentRef);
11
+ return () => {
12
+ if (currentRef) observer.unobserve(currentRef);
13
+ };
14
+ }, [elementRef]);
15
+ return isPast;
16
+ };
17
+
18
+ //#endregion
19
+ export { useElementScrolledPastObserver };
20
+ //# sourceMappingURL=useElementScrolledPastObserver-DjzJ4Mn-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementScrolledPastObserver-DjzJ4Mn-.js","names":["elementRef: RefObject<HTMLElement | null>"],"sources":["../src/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.tsx"],"sourcesContent":["import { useEffect, useState, type RefObject } from 'react';\n\n/** Detects when an element's is scrolled past and is no longer in the viewport. */\nexport const useElementScrolledPastObserver = (elementRef: RefObject<HTMLElement | null>): boolean => {\n const [isPast, setIsPast] = useState(false);\n\n useEffect(() => {\n const observer = new IntersectionObserver(([entry]) => setIsPast(entry.boundingClientRect.y < 0), {\n threshold: [0],\n });\n const currentRef = elementRef.current;\n if (currentRef) observer.observe(currentRef);\n return () => {\n if (currentRef) observer.unobserve(currentRef);\n };\n }, [elementRef]);\n return isPast;\n};\n"],"mappings":";;;;AAGA,MAAa,iCAAiC,CAACA,eAAuD;CACpG,MAAM,CAAC,QAAQ,UAAU,GAAG,SAAS,MAAM;AAE3C,WAAU,MAAM;EACd,MAAM,WAAW,IAAI,qBAAqB,CAAC,CAAC,MAAM,KAAK,UAAU,MAAM,mBAAmB,IAAI,EAAE,EAAE,EAChG,WAAW,CAAC,CAAE,EACf;EACD,MAAM,aAAa,WAAW;AAC9B,MAAI,WAAY,UAAS,QAAQ,WAAW;AAC5C,SAAO,MAAM;AACX,OAAI,WAAY,UAAS,UAAU,WAAW;EAC/C;CACF,GAAE,CAAC,UAAW,EAAC;AAChB,QAAO;AACR"}
@@ -5,4 +5,4 @@ const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffec
5
5
 
6
6
  //#endregion
7
7
  export { useIsomorphicLayoutEffect };
8
- //# sourceMappingURL=useIsomorphicLayoutEffect-DCaf_yI4.js.map
8
+ //# sourceMappingURL=useIsomorphicLayoutEffect-B5btmYlF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsomorphicLayoutEffect-DCaf_yI4.js","names":[],"sources":["../src/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts"],"sourcesContent":["// https://usehooks-ts.com/react-hook/use-isomorphic-layout-effect\n\nimport { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n"],"mappings":";;;AAIA,MAAa,mCAAmC,WAAW,cAAc,kBAAkB"}
1
+ {"version":3,"file":"useIsomorphicLayoutEffect-B5btmYlF.js","names":[],"sources":["../src/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts"],"sourcesContent":["// https://usehooks-ts.com/react-hook/use-isomorphic-layout-effect\n\nimport { useEffect, useLayoutEffect } from 'react';\n\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n"],"mappings":";;;AAIA,MAAa,mCAAmC,WAAW,cAAc,kBAAkB"}
@@ -4,4 +4,4 @@ import { useLayoutEffect } from "react";
4
4
  declare const useIsomorphicLayoutEffect: typeof useLayoutEffect;
5
5
  //#endregion
6
6
  export { useIsomorphicLayoutEffect };
7
- //# sourceMappingURL=useIsomorphicLayoutEffect-D3y6bHpX.d.ts.map
7
+ //# sourceMappingURL=useIsomorphicLayoutEffect-BMdz-mee.d.ts.map
@@ -39,4 +39,4 @@ function useMergeRefs(refs) {
39
39
 
40
40
  //#endregion
41
41
  export { useMergeRefs };
42
- //# sourceMappingURL=useMergeRefs-Cz-t7gpp.js.map
42
+ //# sourceMappingURL=useMergeRefs-CcJMoo46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMergeRefs-Cz-t7gpp.js","names":["refs: Array<Ref<Instance> | undefined>","instance: Instance | null","refCleanup: void | (() => void)"],"sources":["../src/utilities/hooks/useMergeRefs/useMergeRefs.ts"],"sourcesContent":["// https://github.com/floating-ui/floating-ui/blob/master/packages/react/src/hooks/useMergeRefs.ts\nimport { useCallback, useMemo, useRef } from 'react';\nimport type { Ref, RefCallback, RefObject } from 'react';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n */\nexport function useMergeRefs<Instance>(refs: Array<Ref<Instance> | undefined>): null | RefCallback<Instance> {\n const cleanupRef = useRef<undefined | (() => void)>(undefined);\n\n const refEffect = useCallback((instance: Instance | null) => {\n const cleanups = refs.map((ref) => {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n const refCallback = ref;\n // biome-ignore lint/suspicious/noConfusingVoidType: @types-react wants `void` here\n const refCleanup: void | (() => void) = refCallback(instance);\n return typeof refCleanup === 'function'\n ? refCleanup\n : () => {\n refCallback(null);\n };\n }\n\n (ref as RefObject<Instance | null>).current = instance;\n return () => {\n (ref as RefObject<Instance | null>).current = null;\n };\n });\n\n return () => {\n for (const refCleanup of cleanups) {\n refCleanup?.();\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n\n return useMemo(() => {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n\n return (value) => {\n if (cleanupRef.current) {\n cleanupRef.current();\n (cleanupRef as RefObject<undefined | (() => void)>).current = undefined;\n }\n\n if (value != null) {\n (cleanupRef as RefObject<undefined | (() => void)>).current = refEffect(value);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n"],"mappings":";;;;;;AAOA,SAAgB,aAAuBA,MAAsE;CAC3G,MAAM,aAAa,cAA2C;CAE9D,MAAM,YAAY,YAAY,CAACC,aAA8B;EAC3D,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AACjC,OAAI,OAAO,KACT;AAGF,cAAW,QAAQ,YAAY;IAC7B,MAAM,cAAc;IAEpB,MAAMC,aAAkC,YAAY,SAAS;AAC7D,kBAAc,eAAe,aACzB,aACA,MAAM;AACJ,iBAAY,KAAK;IAClB;GACN;AAED,GAAC,IAAmC,UAAU;AAC9C,UAAO,MAAM;AACX,IAAC,IAAmC,UAAU;GAC/C;EACF,EAAC;AAEF,SAAO,MAAM;AACX,QAAK,MAAM,cAAc,SACvB,eAAc;EAEjB;CAEF,GAAE,KAAK;AAER,QAAO,QAAQ,MAAM;AACnB,MAAI,KAAK,MAAM,CAAC,QAAQ,OAAO,KAAK,CAClC,QAAO;AAGT,SAAO,CAAC,UAAU;AAChB,OAAI,WAAW,SAAS;AACtB,eAAW,SAAS;AACpB,IAAC,WAAmD;GACrD;AAED,OAAI,SAAS,KACX,CAAC,WAAmD,UAAU,UAAU,MAAM;EAEjF;CAEF,GAAE,KAAK;AACT"}
1
+ {"version":3,"file":"useMergeRefs-CcJMoo46.js","names":["refs: Array<Ref<Instance> | undefined>","instance: Instance | null","refCleanup: void | (() => void)"],"sources":["../src/utilities/hooks/useMergeRefs/useMergeRefs.ts"],"sourcesContent":["// https://github.com/floating-ui/floating-ui/blob/master/packages/react/src/hooks/useMergeRefs.ts\nimport { useCallback, useMemo, useRef } from 'react';\nimport type { Ref, RefCallback, RefObject } from 'react';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n */\nexport function useMergeRefs<Instance>(refs: Array<Ref<Instance> | undefined>): null | RefCallback<Instance> {\n const cleanupRef = useRef<undefined | (() => void)>(undefined);\n\n const refEffect = useCallback((instance: Instance | null) => {\n const cleanups = refs.map((ref) => {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n const refCallback = ref;\n // biome-ignore lint/suspicious/noConfusingVoidType: @types-react wants `void` here\n const refCleanup: void | (() => void) = refCallback(instance);\n return typeof refCleanup === 'function'\n ? refCleanup\n : () => {\n refCallback(null);\n };\n }\n\n (ref as RefObject<Instance | null>).current = instance;\n return () => {\n (ref as RefObject<Instance | null>).current = null;\n };\n });\n\n return () => {\n for (const refCleanup of cleanups) {\n refCleanup?.();\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n\n return useMemo(() => {\n if (refs.every((ref) => ref == null)) {\n return null;\n }\n\n return (value) => {\n if (cleanupRef.current) {\n cleanupRef.current();\n (cleanupRef as RefObject<undefined | (() => void)>).current = undefined;\n }\n\n if (value != null) {\n (cleanupRef as RefObject<undefined | (() => void)>).current = refEffect(value);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n"],"mappings":";;;;;;AAOA,SAAgB,aAAuBA,MAAsE;CAC3G,MAAM,aAAa,cAA2C;CAE9D,MAAM,YAAY,YAAY,CAACC,aAA8B;EAC3D,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AACjC,OAAI,OAAO,KACT;AAGF,cAAW,QAAQ,YAAY;IAC7B,MAAM,cAAc;IAEpB,MAAMC,aAAkC,YAAY,SAAS;AAC7D,kBAAc,eAAe,aACzB,aACA,MAAM;AACJ,iBAAY,KAAK;IAClB;GACN;AAED,GAAC,IAAmC,UAAU;AAC9C,UAAO,MAAM;AACX,IAAC,IAAmC,UAAU;GAC/C;EACF,EAAC;AAEF,SAAO,MAAM;AACX,QAAK,MAAM,cAAc,SACvB,eAAc;EAEjB;CAEF,GAAE,KAAK;AAER,QAAO,QAAQ,MAAM;AACnB,MAAI,KAAK,MAAM,CAAC,QAAQ,OAAO,KAAK,CAClC,QAAO;AAGT,SAAO,CAAC,UAAU;AAChB,OAAI,WAAW,SAAS;AACtB,eAAW,SAAS;AACpB,IAAC,WAAmD;GACrD;AAED,OAAI,SAAS,KACX,CAAC,WAAmD,UAAU,UAAU,MAAM;EAEjF;CAEF,GAAE,KAAK;AACT"}
@@ -8,4 +8,4 @@ import { Ref, RefCallback } from "react";
8
8
  declare function useMergeRefs<Instance>(refs: Array<Ref<Instance> | undefined>): null | RefCallback<Instance>;
9
9
  //#endregion
10
10
  export { useMergeRefs };
11
- //# sourceMappingURL=useMergeRefs-BTgz9pcs.d.ts.map
11
+ //# sourceMappingURL=useMergeRefs-iCenhgmf.d.ts.map
@@ -94,4 +94,4 @@ const usePagination = ({ count, page: pageProp, defaultPage, boundaryCount = 1,
94
94
 
95
95
  //#endregion
96
96
  export { usePagination };
97
- //# sourceMappingURL=usePagination-afWMXp7h.js.map
97
+ //# sourceMappingURL=usePagination-DNqO-ob2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePagination-afWMXp7h.js","names":["start: number","end: number","itemList: (number | 'ellipsis')[]"],"sources":["../src/utilities/hooks/usePagination/usePagination.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { PaginationButtonProps } from '../../../components';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nconst range = (start: number, end: number) => {\n const length = end - start + 1;\n return Array.from({ length }, (_, i) => start + i);\n};\n\nexport type UsePaginationProps = {\n /**\n * The number of pages\n */\n count: number;\n /*\n * The current page. The numbering starts from `1`, if controlled\n * @default 1\n */\n page?: number;\n /*\n * The current page. The numbering starts from `1`, if uncontrolled\n * @default 1\n */\n defaultPage?: number;\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount?: number;\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled?: boolean;\n /** Callback when the page changes */\n onPageChange?: (page: number) => void;\n};\n\n/**\n * Hook to help manage pagination state of a Pagination component.\n *\n * @example\n * const { pages, nextButtonProps, prevButtonProps } = usePagination({\n * page,\n * count: 10,\n * showPages: 7,\n * boundaryCount: 1,\n * siblingCount: 1,\n * })\n *\n * <Pagination>\n * <PaginationItem>\n * <PaginationButton {...prevButtonProps}>Previous</PaginationButton>\n * </PaginationItem>\n * {pages.map(({ page, itemKey, buttonProps }) => (\n * <PaginationItem key={itemKey}>\n * {typeof page === 'number' && (\n * <PaginationButton {...buttonProps} aria-label={`Page ${page}`}>\n * {page}\n * </PaginationButton>\n * )}\n * </PaginationItem>\n * ))}\n * <PaginationItem>\n * <PaginationButton {...nextButtonProps}>Next</PaginationButton>\n * </PaginationItem>\n * </Pagination>\n **/\nexport const usePagination = ({\n count,\n page: pageProp,\n defaultPage,\n boundaryCount = 1,\n siblingCount = 1,\n disabled = false,\n onPageChange,\n}: UsePaginationProps) => {\n const [page, setPage] = useControllableState({\n prop: pageProp,\n onChange: onPageChange,\n defaultProp: defaultPage ?? 1,\n caller: 'Pagination',\n });\n\n return useMemo(() => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(\n // Natural start\n page - siblingCount,\n // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1,\n ),\n // Greater than startPages\n boundaryCount + 2,\n );\n\n const siblingsEnd = Math.min(\n Math.max(\n // Natural end\n page + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2,\n ),\n // Less than endPages\n count - boundaryCount - 1,\n );\n\n // Basic list of items to render, for example: itemList = ['previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next']\n const itemList: (number | 'ellipsis')[] = [\n ...startPages,\n\n // Start ellipsis\n ...(siblingsStart > boundaryCount + 2\n ? (['ellipsis'] as const)\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n\n // End ellipsis\n ...(siblingsEnd < count - boundaryCount - 1\n ? (['ellipsis'] as const)\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n\n ...endPages,\n ];\n\n const hasNext = page < count;\n const hasPrev = page !== 1;\n\n return {\n /** Items and pages to be displayed */\n pages: itemList.map((item, index) => ({\n /** Page number, \"ellipsis\" for ellipsis items */\n page: item,\n /** Unique key for the item */\n key: typeof item === 'number' ? `page-${item}` : `ellipsis-${index}`,\n /** Properties to spread on PaginationButton */\n buttonProps: (typeof item === 'number'\n ? {\n 'aria-current': item === page ? 'page' : undefined,\n onClick: () => setPage(item),\n variant: 'text',\n }\n : null) satisfies PaginationButtonProps | null,\n })),\n /** Properties to spread on PaginationButton used for previous navigation */\n prevButtonProps: {\n disabled: disabled || !hasPrev,\n 'aria-disabled': disabled || !hasPrev, // Using aria-disabled to support all HTML elements if asChild is used\n onClick: () => setPage(page - 1),\n variant: 'text',\n } as PaginationButtonProps,\n /** Properties to spread on PaginationButton used for next naviagation */\n nextButtonProps: {\n disabled: disabled || !hasNext,\n 'aria-disabled': disabled || !hasNext, // Using aria-disabled to support all HTML elements if asChild is used\n onClick: () => setPage(page + 1),\n variant: 'text',\n } as PaginationButtonProps,\n /** If previous page action should be shown */\n hasPrev,\n /** If next page action should be shown */\n hasNext,\n };\n }, [boundaryCount, count, disabled, page, setPage, siblingCount]);\n};\n"],"mappings":";;;;AAIA,MAAM,QAAQ,CAACA,OAAeC,QAAgB;CAC5C,MAAM,SAAS,MAAM,QAAQ;AAC7B,QAAO,MAAM,KAAK,EAAE,OAAQ,GAAE,CAAC,GAAG,MAAM,QAAQ,EAAE;AACnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkED,MAAa,gBAAgB,CAAC,EAC5B,OACA,MAAM,UACN,aACA,gBAAgB,GAChB,eAAe,GACf,WAAW,OACX,cACmB,KAAK;CACxB,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAqB;EAC3C,MAAM;EACN,UAAU;EACV,aAAa,eAAe;EAC5B,QAAQ;CACT,EAAC;AAEF,QAAO,QAAQ,MAAM;EACnB,MAAM,aAAa,MAAM,GAAG,KAAK,IAAI,eAAe,MAAM,CAAC;EAC3D,MAAM,WAAW,MAAM,KAAK,IAAI,QAAQ,gBAAgB,GAAG,gBAAgB,EAAE,EAAE,MAAM;EAErF,MAAM,gBAAgB,KAAK,IACzB,KAAK,IAEH,OAAO,cAEP,QAAQ,gBAAgB,eAAe,IAAI,EAC5C,EAED,gBAAgB,EACjB;EAED,MAAM,cAAc,KAAK,IACvB,KAAK,IAEH,OAAO,cAEP,gBAAgB,eAAe,IAAI,EACpC,EAED,QAAQ,gBAAgB,EACzB;EAGD,MAAMC,WAAoC;GACxC,GAAG;GAGH,GAAI,gBAAgB,gBAAgB,IAC/B,CAAC,UAAW,IACb,gBAAgB,IAAI,QAAQ,gBAC1B,CAAC,gBAAgB,CAAE,IACnB,CAAE;GAGR,GAAG,MAAM,eAAe,YAAY;GAGpC,GAAI,cAAc,QAAQ,gBAAgB,IACrC,CAAC,UAAW,IACb,QAAQ,gBAAgB,gBACtB,CAAC,QAAQ,aAAc,IACvB,CAAE;GAER,GAAG;EACJ;EAED,MAAM,UAAU,OAAO;EACvB,MAAM,UAAU,SAAS;AAEzB,SAAO;GAEL,OAAO,SAAS,IAAI,CAAC,MAAM,WAAW;IAEpC,MAAM;IAEN,YAAY,SAAS,YAAY,OAAO,KAAK,KAAK,WAAW,MAAM;IAEnE,oBAAqB,SAAS,WAC1B;KACE,gBAAgB,SAAS,OAAO;KAChC,SAAS,MAAM,QAAQ,KAAK;KAC5B,SAAS;IACV,IACD;GACL,GAAE;GAEH,iBAAiB;IACf,UAAU,aAAa;IACvB,iBAAiB,aAAa;IAC9B,SAAS,MAAM,QAAQ,OAAO,EAAE;IAChC,SAAS;GACV;GAED,iBAAiB;IACf,UAAU,aAAa;IACvB,iBAAiB,aAAa;IAC9B,SAAS,MAAM,QAAQ,OAAO,EAAE;IAChC,SAAS;GACV;GAED;GAEA;EACD;CACF,GAAE;EAAC;EAAe;EAAO;EAAU;EAAM;EAAS;CAAa,EAAC;AAClE"}
1
+ {"version":3,"file":"usePagination-DNqO-ob2.js","names":["start: number","end: number","itemList: (number | 'ellipsis')[]"],"sources":["../src/utilities/hooks/usePagination/usePagination.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport type { PaginationButtonProps } from '../../../components';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nconst range = (start: number, end: number) => {\n const length = end - start + 1;\n return Array.from({ length }, (_, i) => start + i);\n};\n\nexport type UsePaginationProps = {\n /**\n * The number of pages\n */\n count: number;\n /*\n * The current page. The numbering starts from `1`, if controlled\n * @default 1\n */\n page?: number;\n /*\n * The current page. The numbering starts from `1`, if uncontrolled\n * @default 1\n */\n defaultPage?: number;\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount?: number;\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount?: number;\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled?: boolean;\n /** Callback when the page changes */\n onPageChange?: (page: number) => void;\n};\n\n/**\n * Hook to help manage pagination state of a Pagination component.\n *\n * @example\n * const { pages, nextButtonProps, prevButtonProps } = usePagination({\n * page,\n * count: 10,\n * showPages: 7,\n * boundaryCount: 1,\n * siblingCount: 1,\n * })\n *\n * <Pagination>\n * <PaginationItem>\n * <PaginationButton {...prevButtonProps}>Previous</PaginationButton>\n * </PaginationItem>\n * {pages.map(({ page, itemKey, buttonProps }) => (\n * <PaginationItem key={itemKey}>\n * {typeof page === 'number' && (\n * <PaginationButton {...buttonProps} aria-label={`Page ${page}`}>\n * {page}\n * </PaginationButton>\n * )}\n * </PaginationItem>\n * ))}\n * <PaginationItem>\n * <PaginationButton {...nextButtonProps}>Next</PaginationButton>\n * </PaginationItem>\n * </Pagination>\n **/\nexport const usePagination = ({\n count,\n page: pageProp,\n defaultPage,\n boundaryCount = 1,\n siblingCount = 1,\n disabled = false,\n onPageChange,\n}: UsePaginationProps) => {\n const [page, setPage] = useControllableState({\n prop: pageProp,\n onChange: onPageChange,\n defaultProp: defaultPage ?? 1,\n caller: 'Pagination',\n });\n\n return useMemo(() => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(\n // Natural start\n page - siblingCount,\n // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1,\n ),\n // Greater than startPages\n boundaryCount + 2,\n );\n\n const siblingsEnd = Math.min(\n Math.max(\n // Natural end\n page + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2,\n ),\n // Less than endPages\n count - boundaryCount - 1,\n );\n\n // Basic list of items to render, for example: itemList = ['previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next']\n const itemList: (number | 'ellipsis')[] = [\n ...startPages,\n\n // Start ellipsis\n ...(siblingsStart > boundaryCount + 2\n ? (['ellipsis'] as const)\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n\n // End ellipsis\n ...(siblingsEnd < count - boundaryCount - 1\n ? (['ellipsis'] as const)\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n\n ...endPages,\n ];\n\n const hasNext = page < count;\n const hasPrev = page !== 1;\n\n return {\n /** Items and pages to be displayed */\n pages: itemList.map((item, index) => ({\n /** Page number, \"ellipsis\" for ellipsis items */\n page: item,\n /** Unique key for the item */\n key: typeof item === 'number' ? `page-${item}` : `ellipsis-${index}`,\n /** Properties to spread on PaginationButton */\n buttonProps: (typeof item === 'number'\n ? {\n 'aria-current': item === page ? 'page' : undefined,\n onClick: () => setPage(item),\n variant: 'text',\n }\n : null) satisfies PaginationButtonProps | null,\n })),\n /** Properties to spread on PaginationButton used for previous navigation */\n prevButtonProps: {\n disabled: disabled || !hasPrev,\n 'aria-disabled': disabled || !hasPrev, // Using aria-disabled to support all HTML elements if asChild is used\n onClick: () => setPage(page - 1),\n variant: 'text',\n } as PaginationButtonProps,\n /** Properties to spread on PaginationButton used for next naviagation */\n nextButtonProps: {\n disabled: disabled || !hasNext,\n 'aria-disabled': disabled || !hasNext, // Using aria-disabled to support all HTML elements if asChild is used\n onClick: () => setPage(page + 1),\n variant: 'text',\n } as PaginationButtonProps,\n /** If previous page action should be shown */\n hasPrev,\n /** If next page action should be shown */\n hasNext,\n };\n }, [boundaryCount, count, disabled, page, setPage, siblingCount]);\n};\n"],"mappings":";;;;AAIA,MAAM,QAAQ,CAACA,OAAeC,QAAgB;CAC5C,MAAM,SAAS,MAAM,QAAQ;AAC7B,QAAO,MAAM,KAAK,EAAE,OAAQ,GAAE,CAAC,GAAG,MAAM,QAAQ,EAAE;AACnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkED,MAAa,gBAAgB,CAAC,EAC5B,OACA,MAAM,UACN,aACA,gBAAgB,GAChB,eAAe,GACf,WAAW,OACX,cACmB,KAAK;CACxB,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAqB;EAC3C,MAAM;EACN,UAAU;EACV,aAAa,eAAe;EAC5B,QAAQ;CACT,EAAC;AAEF,QAAO,QAAQ,MAAM;EACnB,MAAM,aAAa,MAAM,GAAG,KAAK,IAAI,eAAe,MAAM,CAAC;EAC3D,MAAM,WAAW,MAAM,KAAK,IAAI,QAAQ,gBAAgB,GAAG,gBAAgB,EAAE,EAAE,MAAM;EAErF,MAAM,gBAAgB,KAAK,IACzB,KAAK,IAEH,OAAO,cAEP,QAAQ,gBAAgB,eAAe,IAAI,EAC5C,EAED,gBAAgB,EACjB;EAED,MAAM,cAAc,KAAK,IACvB,KAAK,IAEH,OAAO,cAEP,gBAAgB,eAAe,IAAI,EACpC,EAED,QAAQ,gBAAgB,EACzB;EAGD,MAAMC,WAAoC;GACxC,GAAG;GAGH,GAAI,gBAAgB,gBAAgB,IAC/B,CAAC,UAAW,IACb,gBAAgB,IAAI,QAAQ,gBAC1B,CAAC,gBAAgB,CAAE,IACnB,CAAE;GAGR,GAAG,MAAM,eAAe,YAAY;GAGpC,GAAI,cAAc,QAAQ,gBAAgB,IACrC,CAAC,UAAW,IACb,QAAQ,gBAAgB,gBACtB,CAAC,QAAQ,aAAc,IACvB,CAAE;GAER,GAAG;EACJ;EAED,MAAM,UAAU,OAAO;EACvB,MAAM,UAAU,SAAS;AAEzB,SAAO;GAEL,OAAO,SAAS,IAAI,CAAC,MAAM,WAAW;IAEpC,MAAM;IAEN,YAAY,SAAS,YAAY,OAAO,KAAK,KAAK,WAAW,MAAM;IAEnE,oBAAqB,SAAS,WAC1B;KACE,gBAAgB,SAAS,OAAO;KAChC,SAAS,MAAM,QAAQ,KAAK;KAC5B,SAAS;IACV,IACD;GACL,GAAE;GAEH,iBAAiB;IACf,UAAU,aAAa;IACvB,iBAAiB,aAAa;IAC9B,SAAS,MAAM,QAAQ,OAAO,EAAE;IAChC,SAAS;GACV;GAED,iBAAiB;IACf,UAAU,aAAa;IACvB,iBAAiB,aAAa;IAC9B,SAAS,MAAM,QAAQ,OAAO,EAAE;IAChC,SAAS;GACV;GAED;GAEA;EACD;CACF,GAAE;EAAC;EAAe;EAAO;EAAU;EAAM;EAAS;CAAa,EAAC;AAClE"}
@@ -0,0 +1,28 @@
1
+ import { useEffect, useState } from "react";
2
+
3
+ //#region src/utilities/hooks/useScrollDirection/useScrollDirection.tsx
4
+ /**
5
+ * A custom React hook that detects the vertical scroll direction of the page.
6
+ *
7
+ * @returns {'up' | 'down' | null} The current scroll direction. Returns `null` on the initial render.
8
+ * The direction is only updated if the scroll distance exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.
9
+ */
10
+ const useScrollDirection = () => {
11
+ const [scrollDirection, setScrollDirection] = useState(null);
12
+ useEffect(() => {
13
+ let lastScrollY = window.pageYOffset;
14
+ const updateScrollDirection = () => {
15
+ const scrollY = window.pageYOffset;
16
+ const direction = scrollY > lastScrollY ? "down" : "up";
17
+ if (direction !== scrollDirection && (scrollY - lastScrollY > 5 || scrollY - lastScrollY < -5)) setScrollDirection(direction);
18
+ lastScrollY = scrollY > 0 ? scrollY : 0;
19
+ };
20
+ window.addEventListener("scroll", updateScrollDirection);
21
+ return () => window.removeEventListener("scroll", updateScrollDirection);
22
+ }, [scrollDirection]);
23
+ return scrollDirection;
24
+ };
25
+
26
+ //#endregion
27
+ export { useScrollDirection };
28
+ //# sourceMappingURL=useScrollDirection-BLgp51hx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollDirection-BLgp51hx.js","names":[],"sources":["../src/utilities/hooks/useScrollDirection/useScrollDirection.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * A custom React hook that detects the vertical scroll direction of the page.\n *\n * @returns {'up' | 'down' | null} The current scroll direction. Returns `null` on the initial render.\n * The direction is only updated if the scroll distance exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.\n */\nexport const useScrollDirection = () => {\n const [scrollDirection, setScrollDirection] = useState<'up' | 'down' | null>(null);\n useEffect(() => {\n let lastScrollY = window.pageYOffset;\n const updateScrollDirection = () => {\n const scrollY = window.pageYOffset;\n const direction = scrollY > lastScrollY ? 'down' : 'up';\n if (direction !== scrollDirection && (scrollY - lastScrollY > 5 || scrollY - lastScrollY < -5)) {\n setScrollDirection(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n window.addEventListener('scroll', updateScrollDirection);\n return () => window.removeEventListener('scroll', updateScrollDirection);\n }, [scrollDirection]);\n\n return scrollDirection;\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,qBAAqB,MAAM;CACtC,MAAM,CAAC,iBAAiB,mBAAmB,GAAG,SAA+B,KAAK;AAClF,WAAU,MAAM;EACd,IAAI,cAAc,OAAO;EACzB,MAAM,wBAAwB,MAAM;GAClC,MAAM,UAAU,OAAO;GACvB,MAAM,YAAY,UAAU,cAAc,SAAS;AACnD,OAAI,cAAc,oBAAoB,UAAU,cAAc,KAAK,UAAU,cAAc,IACzF,oBAAmB,UAAU;AAE/B,iBAAc,UAAU,IAAI,UAAU;EACvC;AACD,SAAO,iBAAiB,UAAU,sBAAsB;AACxD,SAAO,MAAM,OAAO,oBAAoB,UAAU,sBAAsB;CACzE,GAAE,CAAC,eAAgB,EAAC;AAErB,QAAO;AACR"}
@@ -1,14 +1,17 @@
1
- import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-D3y6bHpX.js";
2
- import { useMergeRefs } from "../../useMergeRefs-BTgz9pcs.js";
3
- import "../../types-BTJlwWCQ.js";
4
- import { UsePaginationProps, usePagination } from "../../alert-footer-BaB0tSHl.js";
5
- import "../../dialog-trigger-context-BP03jmAI.js";
6
- import "../../drawer-trigger-context-BDcc94cu.js";
7
- import "../../popover-trigger-context-DQy9nKB2.js";
8
- import "../../dropdown-item-bMZ3-43Z.js";
9
- import "../../dropdown-list-DenWbmcv.js";
10
- import "../../dropdown-trigger-context-BabMM_7k.js";
11
- import "../../footer-links-sRD7teEv.js";
12
- import "../../pagination-item-hMN-34PX.js";
13
- import "../../types-CAwE6h3H.js";
14
- export { UsePaginationProps, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
1
+ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../../useCheckboxGroup-DRhqch1m.js";
2
+ import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
+ import { useMergeRefs } from "../../useMergeRefs-iCenhgmf.js";
4
+ import "../../types-Mj1poXVf.js";
5
+ import { UsePaginationProps, usePagination } from "../../alert-footer-DO4EmxdJ.js";
6
+ import "../../dialog-trigger-context-BkQSJ-rX.js";
7
+ import "../../drawer-trigger-context-B3X3kUrY.js";
8
+ import "../../popover-trigger-context-C3QaiCth.js";
9
+ import "../../dropdown-item-Bhw9nhOp.js";
10
+ import "../../dropdown-list-XN8RJ-SS.js";
11
+ import "../../dropdown-trigger-context-D0QMaRYY.js";
12
+ import "../../footer-links-Drm2LFnw.js";
13
+ import "../../pagination-item-mKQyvHV9.js";
14
+ import "../../sticky-header-CPHxBupp.js";
15
+ import "../../index-CTw2zfCM.js";
16
+ import "../../types-DC-FPmDA.js";
17
+ export { UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
@@ -1,6 +1,7 @@
1
- import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-DCaf_yI4.js";
2
- import { useMergeRefs } from "../../useMergeRefs-Cz-t7gpp.js";
3
- import { usePagination } from "../../usePagination-afWMXp7h.js";
4
- import "../../hooks-CQ4fud3K.js";
1
+ import { useCheckboxGroup } from "../../useCheckboxGroup-rTVawmvi.js";
2
+ import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-B5btmYlF.js";
3
+ import { useMergeRefs } from "../../useMergeRefs-CcJMoo46.js";
4
+ import { usePagination } from "../../usePagination-DNqO-ob2.js";
5
+ import "../../hooks-BmaG9QJW.js";
5
6
 
6
- export { useIsomorphicLayoutEffect, useMergeRefs, usePagination };
7
+ export { useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
@@ -0,0 +1,2 @@
1
+ import { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup } from "../../../useCheckboxGroup-DRhqch1m.js";
2
+ export { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup };
@@ -0,0 +1,3 @@
1
+ import { useCheckboxGroup } from "../../../useCheckboxGroup-rTVawmvi.js";
2
+
3
+ export { useCheckboxGroup };
@@ -0,0 +1,8 @@
1
+ import { RefObject } from "react";
2
+
3
+ //#region src/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.d.ts
4
+ /** Detects when an element's is scrolled past and is no longer in the viewport. */
5
+ declare const useElementScrolledPastObserver: (elementRef: RefObject<HTMLElement | null>) => boolean;
6
+ //#endregion
7
+ export { useElementScrolledPastObserver };
8
+ //# sourceMappingURL=useElementScrolledPastObserver.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { useElementScrolledPastObserver } from "../../../useElementScrolledPastObserver-DjzJ4Mn-.js";
2
+
3
+ export { useElementScrolledPastObserver };
@@ -1,2 +1,2 @@
1
- import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-D3y6bHpX.js";
1
+ import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-BMdz-mee.js";
2
2
  export { useIsomorphicLayoutEffect };
@@ -1,3 +1,3 @@
1
- import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-DCaf_yI4.js";
1
+ import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-B5btmYlF.js";
2
2
 
3
3
  export { useIsomorphicLayoutEffect };
@@ -1,2 +1,2 @@
1
- import { useMergeRefs } from "../../../useMergeRefs-BTgz9pcs.js";
1
+ import { useMergeRefs } from "../../../useMergeRefs-iCenhgmf.js";
2
2
  export { useMergeRefs };
@@ -1,3 +1,3 @@
1
- import { useMergeRefs } from "../../../useMergeRefs-Cz-t7gpp.js";
1
+ import { useMergeRefs } from "../../../useMergeRefs-CcJMoo46.js";
2
2
 
3
3
  export { useMergeRefs };
@@ -1,14 +1,17 @@
1
- import "../../../useIsomorphicLayoutEffect-D3y6bHpX.js";
2
- import "../../../useMergeRefs-BTgz9pcs.js";
3
- import "../../../types-BTJlwWCQ.js";
4
- import { UsePaginationProps, usePagination } from "../../../alert-footer-BaB0tSHl.js";
5
- import "../../../dialog-trigger-context-BP03jmAI.js";
6
- import "../../../drawer-trigger-context-BDcc94cu.js";
7
- import "../../../popover-trigger-context-DQy9nKB2.js";
8
- import "../../../dropdown-item-bMZ3-43Z.js";
9
- import "../../../dropdown-list-DenWbmcv.js";
10
- import "../../../dropdown-trigger-context-BabMM_7k.js";
11
- import "../../../footer-links-sRD7teEv.js";
12
- import "../../../pagination-item-hMN-34PX.js";
13
- import "../../../types-CAwE6h3H.js";
1
+ import "../../../useCheckboxGroup-DRhqch1m.js";
2
+ import "../../../useIsomorphicLayoutEffect-BMdz-mee.js";
3
+ import "../../../useMergeRefs-iCenhgmf.js";
4
+ import "../../../types-Mj1poXVf.js";
5
+ import { UsePaginationProps, usePagination } from "../../../alert-footer-DO4EmxdJ.js";
6
+ import "../../../dialog-trigger-context-BkQSJ-rX.js";
7
+ import "../../../drawer-trigger-context-B3X3kUrY.js";
8
+ import "../../../popover-trigger-context-C3QaiCth.js";
9
+ import "../../../dropdown-item-Bhw9nhOp.js";
10
+ import "../../../dropdown-list-XN8RJ-SS.js";
11
+ import "../../../dropdown-trigger-context-D0QMaRYY.js";
12
+ import "../../../footer-links-Drm2LFnw.js";
13
+ import "../../../pagination-item-mKQyvHV9.js";
14
+ import "../../../sticky-header-CPHxBupp.js";
15
+ import "../../../index-CTw2zfCM.js";
16
+ import "../../../types-DC-FPmDA.js";
14
17
  export { UsePaginationProps, usePagination };
@@ -1,3 +1,3 @@
1
- import { usePagination } from "../../../usePagination-afWMXp7h.js";
1
+ import { usePagination } from "../../../usePagination-DNqO-ob2.js";
2
2
 
3
3
  export { usePagination };
@@ -0,0 +1,11 @@
1
+ //#region src/utilities/hooks/useScrollDirection/useScrollDirection.d.ts
2
+ /**
3
+ * A custom React hook that detects the vertical scroll direction of the page.
4
+ *
5
+ * @returns {'up' | 'down' | null} The current scroll direction. Returns `null` on the initial render.
6
+ * The direction is only updated if the scroll distance exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.
7
+ */
8
+ declare const useScrollDirection: () => "up" | "down" | null;
9
+ //#endregion
10
+ export { useScrollDirection };
11
+ //# sourceMappingURL=useScrollDirection.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { useScrollDirection } from "../../../useScrollDirection-BLgp51hx.js";
2
+
3
+ export { useScrollDirection };
@@ -1,14 +1,17 @@
1
- import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-D3y6bHpX.js";
2
- import "../useMergeRefs-BTgz9pcs.js";
3
- import "../types-BTJlwWCQ.js";
4
- import { UsePaginationProps, usePagination } from "../alert-footer-BaB0tSHl.js";
5
- import "../dialog-trigger-context-BP03jmAI.js";
6
- import "../drawer-trigger-context-BDcc94cu.js";
7
- import "../popover-trigger-context-DQy9nKB2.js";
8
- import "../dropdown-item-bMZ3-43Z.js";
9
- import "../dropdown-list-DenWbmcv.js";
10
- import "../dropdown-trigger-context-BabMM_7k.js";
11
- import "../footer-links-sRD7teEv.js";
12
- import "../pagination-item-hMN-34PX.js";
13
- import { MergeRight } from "../types-CAwE6h3H.js";
14
- export { MergeRight, UsePaginationProps, useIsomorphicLayoutEffect, usePagination };
1
+ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../useCheckboxGroup-DRhqch1m.js";
2
+ import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-BMdz-mee.js";
3
+ import "../useMergeRefs-iCenhgmf.js";
4
+ import "../types-Mj1poXVf.js";
5
+ import { UsePaginationProps, usePagination } from "../alert-footer-DO4EmxdJ.js";
6
+ import "../dialog-trigger-context-BkQSJ-rX.js";
7
+ import "../drawer-trigger-context-B3X3kUrY.js";
8
+ import "../popover-trigger-context-C3QaiCth.js";
9
+ import "../dropdown-item-Bhw9nhOp.js";
10
+ import "../dropdown-list-XN8RJ-SS.js";
11
+ import "../dropdown-trigger-context-D0QMaRYY.js";
12
+ import "../footer-links-Drm2LFnw.js";
13
+ import "../pagination-item-mKQyvHV9.js";
14
+ import "../sticky-header-CPHxBupp.js";
15
+ import "../index-CTw2zfCM.js";
16
+ import { MergeRight } from "../types-DC-FPmDA.js";
17
+ export { MergeRight, UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, usePagination };
@@ -1,7 +1,8 @@
1
- import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-DCaf_yI4.js";
2
- import "../useMergeRefs-Cz-t7gpp.js";
3
- import { usePagination } from "../usePagination-afWMXp7h.js";
4
- import "../hooks-CQ4fud3K.js";
5
- import "../utilities-DO_q6EB3.js";
1
+ import { useCheckboxGroup } from "../useCheckboxGroup-rTVawmvi.js";
2
+ import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-B5btmYlF.js";
3
+ import "../useMergeRefs-CcJMoo46.js";
4
+ import { usePagination } from "../usePagination-DNqO-ob2.js";
5
+ import "../hooks-BmaG9QJW.js";
6
+ import "../utilities-JoKvbhOy.js";
6
7
 
7
- export { useIsomorphicLayoutEffect, usePagination };
8
+ export { useCheckboxGroup, useIsomorphicLayoutEffect, usePagination };
@@ -1,2 +1,2 @@
1
- import { MergeRight } from "../types-CAwE6h3H.js";
1
+ import { MergeRight } from "../types-DC-FPmDA.js";
2
2
  export { MergeRight };
File without changes
@@ -16,4 +16,4 @@ const ValidationMessage = ({ children, className, icon, asChild, ref,...props })
16
16
 
17
17
  //#endregion
18
18
  export { ValidationMessage };
19
- //# sourceMappingURL=validation-message-DjATM7g-.js.map
19
+ //# sourceMappingURL=validation-message-6AQTIup_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-message-DjATM7g-.js","names":[],"sources":["../src/components/validation-message/validation-message.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { AsChildProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { BiIconError } from '@bi-digital/icons-react';\n\nexport type ValidationMessageProps = MergeRight<\n AsChildProps & HTMLAttributes<HTMLParagraphElement>,\n {\n /** Override the default warning icon. Must be a BiIcon to work correctly. */\n icon?: ReactNode;\n ref?: Ref<HTMLParagraphElement>;\n }\n>;\n\nexport const ValidationMessage = ({ children, className, icon, asChild, ref, ...props }: ValidationMessageProps) => {\n const Component = asChild ? Slot : 'p';\n\n return (\n <Component className={clsx('bi-validation-message', className)} ref={ref} {...props}>\n {icon || <BiIconError />}\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAgBA,MAAa,oBAAoB,CAAC,EAAE,UAAU,WAAW,MAAM,SAAS,IAAK,GAAG,OAA+B,KAAK;CAClH,MAAM,YAAY,UAAU,OAAO;AAEnC,wBACE,KAAC;EAAU,WAAW,KAAK,yBAAyB,UAAU;EAAO;EAAK,GAAI;aAC3E,wBAAQ,IAAC,gBAAc,EACvB;GACS;AAEf"}
1
+ {"version":3,"file":"validation-message-6AQTIup_.js","names":[],"sources":["../src/components/validation-message/validation-message.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { AsChildProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { BiIconError } from '@bi-digital/icons-react';\n\nexport type ValidationMessageProps = MergeRight<\n AsChildProps & HTMLAttributes<HTMLParagraphElement>,\n {\n /** Override the default warning icon. Must be a BiIcon to work correctly. */\n icon?: ReactNode;\n ref?: Ref<HTMLParagraphElement>;\n }\n>;\n\nexport const ValidationMessage = ({ children, className, icon, asChild, ref, ...props }: ValidationMessageProps) => {\n const Component = asChild ? Slot : 'p';\n\n return (\n <Component className={clsx('bi-validation-message', className)} ref={ref} {...props}>\n {icon || <BiIconError />}\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAgBA,MAAa,oBAAoB,CAAC,EAAE,UAAU,WAAW,MAAM,SAAS,IAAK,GAAG,OAA+B,KAAK;CAClH,MAAM,YAAY,UAAU,OAAO;AAEnC,wBACE,KAAC;EAAU,WAAW,KAAK,yBAAyB,UAAU;EAAO;EAAK,GAAI;aAC3E,wBAAQ,IAAC,gBAAc,EACvB;GACS;AAEf"}
File without changes
@@ -1,2 +1,2 @@
1
- import { InitDropdownOptions, initDropdown } from "../../index-qXXUizvD.js";
1
+ import { InitDropdownOptions, initDropdown } from "../../index-B-0iSMVN.js";
2
2
  export { InitDropdownOptions, initDropdown };
@@ -1,4 +1,4 @@
1
- import "../../popover-CGNoywPj.js";
2
- import { initDropdown } from "../../dropdown-C1hpsZcN.js";
1
+ import "../../popover-COi7S9pJ.js";
2
+ import { initDropdown } from "../../dropdown-D-dX5PAl.js";
3
3
 
4
4
  export { initDropdown };
@@ -1,3 +1,3 @@
1
- import { InitDropdownOptions, initDropdown } from "../index-qXXUizvD.js";
2
- import { InitPopoverOptions, initPopover } from "../index-CRy7A5Iq.js";
1
+ import { InitDropdownOptions, initDropdown } from "../index-B-0iSMVN.js";
2
+ import { InitPopoverOptions, initPopover } from "../index-CXV3nvLQ.js";
3
3
  export { InitDropdownOptions, InitPopoverOptions, initDropdown, initPopover };
@@ -1,4 +1,4 @@
1
- import { initPopover } from "../popover-CGNoywPj.js";
2
- import { initDropdown } from "../dropdown-C1hpsZcN.js";
1
+ import { initPopover } from "../popover-COi7S9pJ.js";
2
+ import { initDropdown } from "../dropdown-D-dX5PAl.js";
3
3
 
4
4
  export { initDropdown, initPopover };
@@ -1,2 +1,2 @@
1
- import { InitPopoverOptions, initPopover } from "../../index-CRy7A5Iq.js";
1
+ import { InitPopoverOptions, initPopover } from "../../index-CXV3nvLQ.js";
2
2
  export { InitPopoverOptions, initPopover };
@@ -1,3 +1,3 @@
1
- import { initPopover } from "../../popover-CGNoywPj.js";
1
+ import { initPopover } from "../../popover-COi7S9pJ.js";
2
2
 
3
3
  export { initPopover };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bi-digital/react",
3
- "version": "0.0.0-experimental-ca10f7e",
3
+ "version": "0.0.0-experimental-2ec4984",
4
4
  "type": "module",
5
5
  "description": "React components from BI Digital",
6
6
  "author": "BI Digital",
@@ -47,13 +47,13 @@
47
47
  "tsdown": "^0.12.7",
48
48
  "typescript": "^5.7.2",
49
49
  "vitest": "^3.2.1",
50
- "@bi-digital/icons-react": "0.0.0-experimental-ca10f7e"
50
+ "@bi-digital/icons-react": "0.0.0-experimental-2ec4984"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^19",
54
54
  "react-dom": "^19",
55
- "@bi-digital/css": "0.0.0-experimental-ca10f7e",
56
- "@bi-digital/icons-react": "0.0.0-experimental-ca10f7e"
55
+ "@bi-digital/css": "0.0.0-experimental-2ec4984",
56
+ "@bi-digital/icons-react": "0.0.0-experimental-2ec4984"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsdown",
@@ -1,31 +0,0 @@
1
- import { Logo } from "./logo-QKrYvRFP.js";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import clsx from "clsx";
4
-
5
- //#region src/components/navbar/navbar.tsx
6
- const Navbar = ({ dark = false, fixed = false, menuAreaLabel, homeAriaLabel, skipLink, homeHref, logo, children, className, ref,...props }) => {
7
- return /* @__PURE__ */ jsxs("nav", {
8
- ...props,
9
- className: clsx("bi-navbar", className),
10
- "data-fixed": fixed,
11
- "data-dark": dark,
12
- ref,
13
- children: [skipLink && /* @__PURE__ */ jsx("a", {
14
- className: "bi-navbar__skip-link",
15
- href: skipLink.href,
16
- children: skipLink.label
17
- }), /* @__PURE__ */ jsxs("header", {
18
- className: "bi-navbar__header",
19
- "aria-label": menuAreaLabel,
20
- children: [/* @__PURE__ */ jsx("a", {
21
- "aria-label": homeAriaLabel,
22
- href: homeHref,
23
- children: logo || /* @__PURE__ */ jsx(Logo, { dark })
24
- }), children]
25
- })]
26
- });
27
- };
28
-
29
- //#endregion
30
- export { Navbar };
31
- //# sourceMappingURL=navbar-Dm9lM6Xr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navbar-Dm9lM6Xr.js","names":[],"sources":["../src/components/navbar/navbar.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport { Logo } from '../logo';\nimport type { MergeRight } from '../../utilities';\nimport type { DefaultProps } from '../../types';\n\nexport type NavbarProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * Skip link.\n */\n skipLink?: { label: string; href: string };\n /**\n * Text for menu area label.\n */\n menuAreaLabel: string;\n /**\n * Determines if the navbar should be fixed.\n * @default false\n */\n fixed?: boolean;\n /**\n * Aria label for the home link.\n */\n homeAriaLabel: string;\n /**\n * Href for the home link.\n */\n homeHref: string;\n /**\n * Override the default logo\n */\n logo?: ReactNode;\n ref?: Ref<HTMLElement>;\n }\n>;\n\nexport const Navbar = ({\n dark = false,\n fixed = false,\n menuAreaLabel,\n homeAriaLabel,\n skipLink,\n homeHref,\n logo,\n children,\n className,\n ref,\n ...props\n}: NavbarProps) => {\n return (\n <nav {...props} className={clsx('bi-navbar', className)} data-fixed={fixed} data-dark={dark} ref={ref}>\n {skipLink && (\n <a className='bi-navbar__skip-link' href={skipLink.href}>\n {skipLink.label}\n </a>\n )}\n <header className='bi-navbar__header' aria-label={menuAreaLabel}>\n <a aria-label={homeAriaLabel} href={homeHref}>\n {logo || <Logo dark={dark} />}\n </a>\n {children}\n </header>\n </nav>\n );\n};\n"],"mappings":";;;;;AAsCA,MAAa,SAAS,CAAC,EACrB,OAAO,OACP,QAAQ,OACR,eACA,eACA,UACA,UACA,MACA,UACA,WACA,IACA,GAAG,OACS,KAAK;AACjB,wBACE,KAAC;EAAI,GAAI;EAAO,WAAW,KAAK,aAAa,UAAU;EAAE,cAAY;EAAO,aAAW;EAAW;aAC/F,4BACC,IAAC;GAAE,WAAU;GAAuB,MAAM,SAAS;aAChD,SAAS;IACR,kBAEN,KAAC;GAAO,WAAU;GAAoB,cAAY;8BAChD,IAAC;IAAE,cAAY;IAAe,MAAM;cACjC,wBAAQ,IAAC,QAAW,OAAQ;KAC3B,EACH;IACM;GACL;AAET"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-Dg6xvCDB.js","names":["e: React.FormEvent<HTMLFormElement>"],"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 { BiIconCrossSmall, BiIconMagnefyingGlass } from '@bi-digital/icons-react';\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 /**\n * Aria-label for the clear button.\n * @defaultValue 'Clear'\n */\n clearAriaLabel?: string;\n }\n>;\n\nexport const Search = ({\n className,\n onSubmit,\n clearAriaLabel = 'Clear',\n size = 'medium',\n ref,\n dark,\n style,\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 return (\n <Field className={clsx('bi-search', className)} data-dark={dark} style={style} asChild>\n <form onSubmit={handleSubmit}>\n <FieldAffixes>\n <FieldAffix>\n <BiIconMagnefyingGlass size={size} />\n </FieldAffix>\n <Input type='text' ref={ref} size={size} {...props} />\n <FieldAffix aria-hidden='false'>\n <Button aria-label={clearAriaLabel} icon size={size} dark={dark} variant='text' type='reset'>\n <BiIconCrossSmall size={size} aria-hidden='true' />\n </Button>\n </FieldAffix>\n </FieldAffixes>\n </form>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AAyBA,MAAa,SAAS,CAAC,EACrB,WACA,UACA,iBAAiB,SACjB,OAAO,UACP,KACA,MACA,MACA,GAAG,OACS,KAAK;CACjB,MAAM,eAAe,CAACA,MAAwC;AAC5D,IAAE,gBAAgB;AAClB,MAAI,UAAU;GACZ,MAAM,QAAQ,EAAE,cAAc,cAAc,QAAQ;AACpD,YAAS,OAAO,SAAS,GAAG;EAC7B;CACF;AACD,wBACE,IAAC;EAAM,WAAW,KAAK,aAAa,UAAU;EAAE,aAAW;EAAa;EAAO;4BAC7E,IAAC;GAAK,UAAU;6BACd,KAAC;oBACC,IAAC,wCACC,IAAC,yBAA4B,OAAQ,GAC1B;oBACb,IAAC;KAAM,MAAK;KAAY;KAAW;KAAM,GAAI;MAAS;oBACtD,IAAC;KAAW,eAAY;+BACtB,IAAC;MAAO,cAAY;MAAgB;MAAW;MAAY;MAAM,SAAQ;MAAO,MAAK;gCACnF,IAAC;OAAuB;OAAM,eAAY;QAAS;OAC5C;MACE;OACA;IACV;GACD;AAEX"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes