@bi-digital/react 0.2.21 → 0.2.23

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 (390) hide show
  1. package/dist/{alert-footer-KRDyyLma.d.ts → alert-footer-Cqr42-cW.d.ts} +63 -32
  2. package/dist/{checkbox-CXVZj5Vv.js → checkbox-ZR1Z2PCF.js} +3 -2
  3. package/dist/checkbox-ZR1Z2PCF.js.map +1 -0
  4. package/dist/{checkbox-subsection-CGXgII6v.js → checkbox-subsection-BPe5aj-W.js} +1 -1
  5. package/dist/{checkbox-subsection-CGXgII6v.js.map → checkbox-subsection-BPe5aj-W.js.map} +1 -1
  6. package/dist/{chip-CRcC9TkL.js → chip-b9xUiF7_.js} +1 -1
  7. package/dist/{chip-CRcC9TkL.js.map → chip-b9xUiF7_.js.map} +1 -1
  8. package/dist/components/alert/alert-footer.d.ts +15 -14
  9. package/dist/components/alert/alert.d.ts +15 -14
  10. package/dist/components/alert/index.d.ts +15 -14
  11. package/dist/components/avatar/avatar.d.ts +15 -14
  12. package/dist/components/avatar/index.d.ts +15 -14
  13. package/dist/components/badge/badge.d.ts +15 -14
  14. package/dist/components/badge/index.d.ts +15 -14
  15. package/dist/components/button/button.d.ts +15 -14
  16. package/dist/components/button/index.d.ts +15 -14
  17. package/dist/components/card/card-action.d.ts +15 -14
  18. package/dist/components/card/card-actions.d.ts +15 -14
  19. package/dist/components/card/card-content.d.ts +15 -14
  20. package/dist/components/card/card-date.d.ts +15 -14
  21. package/dist/components/card/card-header.d.ts +15 -14
  22. package/dist/components/card/card-media.d.ts +15 -14
  23. package/dist/components/card/card.d.ts +15 -14
  24. package/dist/components/card/index.d.ts +15 -14
  25. package/dist/components/checkbox/checkbox-subsection.d.ts +15 -14
  26. package/dist/components/checkbox/checkbox-subsection.js +1 -1
  27. package/dist/components/checkbox/checkbox.d.ts +15 -14
  28. package/dist/components/checkbox/checkbox.js +2 -6
  29. package/dist/components/checkbox/index.d.ts +15 -14
  30. package/dist/components/checkbox/index.js +4 -8
  31. package/dist/components/chip/chip.d.ts +15 -14
  32. package/dist/components/chip/chip.js +1 -1
  33. package/dist/components/chip/index.d.ts +15 -14
  34. package/dist/components/chip/index.js +2 -2
  35. package/dist/components/dialog/dialog-close-button.d.ts +15 -14
  36. package/dist/components/dialog/dialog-close-button.js +1 -1
  37. package/dist/components/dialog/dialog-content.d.ts +15 -14
  38. package/dist/components/dialog/dialog-content.js +1 -1
  39. package/dist/components/dialog/dialog-footer.d.ts +15 -14
  40. package/dist/components/dialog/dialog-footer.js +1 -1
  41. package/dist/components/dialog/dialog-header.d.ts +15 -14
  42. package/dist/components/dialog/dialog-header.js +1 -1
  43. package/dist/components/dialog/dialog-trigger-context.d.ts +1 -1
  44. package/dist/components/dialog/dialog-trigger-context.js +1 -1
  45. package/dist/components/dialog/dialog-trigger.d.ts +15 -14
  46. package/dist/components/dialog/dialog-trigger.js +2 -2
  47. package/dist/components/dialog/dialog.d.ts +15 -14
  48. package/dist/components/dialog/dialog.js +3 -7
  49. package/dist/components/dialog/index.d.ts +15 -14
  50. package/dist/components/dialog/index.js +9 -13
  51. package/dist/components/drawer/drawer-close-button.d.ts +15 -14
  52. package/dist/components/drawer/drawer-close-button.js +10 -14
  53. package/dist/components/drawer/drawer-content.d.ts +15 -14
  54. package/dist/components/drawer/drawer-content.js +10 -14
  55. package/dist/components/drawer/drawer-footer.d.ts +15 -14
  56. package/dist/components/drawer/drawer-footer.js +10 -14
  57. package/dist/components/drawer/drawer-header.d.ts +15 -14
  58. package/dist/components/drawer/drawer-header.js +10 -14
  59. package/dist/components/drawer/drawer-trigger-context.d.ts +1 -1
  60. package/dist/components/drawer/drawer-trigger-context.js +10 -14
  61. package/dist/components/drawer/drawer-trigger.d.ts +15 -14
  62. package/dist/components/drawer/drawer-trigger.js +10 -14
  63. package/dist/components/drawer/drawer.d.ts +15 -14
  64. package/dist/components/drawer/drawer.js +10 -14
  65. package/dist/components/drawer/index.d.ts +15 -14
  66. package/dist/components/drawer/index.js +17 -21
  67. package/dist/components/dropdown/dropdown-button.d.ts +15 -14
  68. package/dist/components/dropdown/dropdown-button.js +1 -1
  69. package/dist/components/dropdown/dropdown-item.d.ts +1 -1
  70. package/dist/components/dropdown/dropdown-item.js +1 -1
  71. package/dist/components/dropdown/dropdown-list.d.ts +1 -1
  72. package/dist/components/dropdown/dropdown-list.js +1 -1
  73. package/dist/components/dropdown/dropdown-trigger-context.d.ts +17 -1
  74. package/dist/components/dropdown/dropdown-trigger-context.js +6 -10
  75. package/dist/components/dropdown/dropdown-trigger.d.ts +15 -14
  76. package/dist/components/dropdown/dropdown-trigger.js +6 -10
  77. package/dist/components/dropdown/dropdown.d.ts +15 -14
  78. package/dist/components/dropdown/dropdown.js +6 -10
  79. package/dist/components/dropdown/index.d.ts +15 -14
  80. package/dist/components/dropdown/index.js +12 -16
  81. package/dist/components/field/field-affix.d.ts +15 -14
  82. package/dist/components/field/field-description.d.ts +15 -14
  83. package/dist/components/field/field.d.ts +15 -14
  84. package/dist/components/field/index.d.ts +15 -14
  85. package/dist/components/fieldset/fieldset-description.d.ts +15 -14
  86. package/dist/components/fieldset/fieldset-description.js +1 -1
  87. package/dist/components/fieldset/fieldset-legend.d.ts +15 -14
  88. package/dist/components/fieldset/fieldset-legend.js +1 -1
  89. package/dist/components/fieldset/fieldset.d.ts +15 -14
  90. package/dist/components/fieldset/fieldset.js +1 -1
  91. package/dist/components/fieldset/index.d.ts +15 -14
  92. package/dist/components/fieldset/index.js +4 -4
  93. package/dist/components/filter-group/filter-group.d.ts +15 -14
  94. package/dist/components/filter-group/filter-group.js +1 -1
  95. package/dist/components/filter-group/index.d.ts +15 -14
  96. package/dist/components/filter-group/index.js +2 -2
  97. package/dist/components/footer/footer-links.d.ts +1 -1
  98. package/dist/components/footer/footer-links.js +1 -1
  99. package/dist/components/footer/footer.d.ts +15 -14
  100. package/dist/components/footer/footer.js +1 -1
  101. package/dist/components/footer/index.d.ts +15 -14
  102. package/dist/components/footer/index.js +3 -3
  103. package/dist/components/index.d.ts +15 -14
  104. package/dist/components/index.js +84 -83
  105. package/dist/components/input/index.d.ts +15 -14
  106. package/dist/components/input/input.d.ts +15 -14
  107. package/dist/components/label/index.d.ts +15 -14
  108. package/dist/components/label/label.d.ts +15 -14
  109. package/dist/components/link/index.d.ts +15 -14
  110. package/dist/components/link/index.js +2 -2
  111. package/dist/components/link/link.d.ts +15 -14
  112. package/dist/components/link/link.js +1 -1
  113. package/dist/components/logo/index.d.ts +15 -14
  114. package/dist/components/logo/index.js +2 -2
  115. package/dist/components/logo/logo.d.ts +15 -14
  116. package/dist/components/logo/logo.js +1 -1
  117. package/dist/components/navbar/index.d.ts +15 -14
  118. package/dist/components/navbar/index.js +12 -7
  119. package/dist/components/navbar/navbar.d.ts +15 -14
  120. package/dist/components/navbar/navbar.js +3 -3
  121. package/dist/components/navbar/sub-navbar.d.ts +15 -14
  122. package/dist/components/navbar/sub-navbar.js +8 -3
  123. package/dist/components/pagination/index.d.ts +15 -14
  124. package/dist/components/pagination/index.js +4 -4
  125. package/dist/components/pagination/pagination-button.d.ts +15 -14
  126. package/dist/components/pagination/pagination-button.js +1 -1
  127. package/dist/components/pagination/pagination-item.d.ts +1 -1
  128. package/dist/components/pagination/pagination-item.js +1 -1
  129. package/dist/components/pagination/pagination.d.ts +15 -14
  130. package/dist/components/pagination/pagination.js +1 -1
  131. package/dist/components/popover/index.d.ts +15 -14
  132. package/dist/components/popover/index.js +5 -9
  133. package/dist/components/popover/popover-trigger-context.d.ts +1 -1
  134. package/dist/components/popover/popover-trigger-context.js +1 -1
  135. package/dist/components/popover/popover-trigger.d.ts +15 -14
  136. package/dist/components/popover/popover-trigger.js +2 -2
  137. package/dist/components/popover/popover.d.ts +15 -14
  138. package/dist/components/popover/popover.js +3 -7
  139. package/dist/components/radio/index.d.ts +15 -14
  140. package/dist/components/radio/index.js +2 -2
  141. package/dist/components/radio/radio.d.ts +15 -14
  142. package/dist/components/radio/radio.js +1 -1
  143. package/dist/components/search/index.d.ts +15 -14
  144. package/dist/components/search/index.js +2 -2
  145. package/dist/components/search/search.d.ts +15 -14
  146. package/dist/components/search/search.js +1 -1
  147. package/dist/components/select/index.d.ts +15 -14
  148. package/dist/components/select/index.js +4 -4
  149. package/dist/components/select/select-optgroup.d.ts +15 -14
  150. package/dist/components/select/select-optgroup.js +1 -1
  151. package/dist/components/select/select-option.d.ts +15 -14
  152. package/dist/components/select/select-option.js +1 -1
  153. package/dist/components/select/select.d.ts +15 -14
  154. package/dist/components/select/select.js +1 -1
  155. package/dist/components/skip-link/index.d.ts +15 -14
  156. package/dist/components/skip-link/index.js +2 -2
  157. package/dist/components/skip-link/skip-link.d.ts +15 -14
  158. package/dist/components/skip-link/skip-link.js +1 -1
  159. package/dist/components/spinner/index.d.ts +15 -14
  160. package/dist/components/spinner/spinner.d.ts +15 -14
  161. package/dist/components/sticky-header/index.js +2 -2
  162. package/dist/components/sticky-header/sticky-header.js +1 -1
  163. package/dist/components/tabs/index.d.ts +15 -14
  164. package/dist/components/tabs/index.js +5 -5
  165. package/dist/components/tabs/tab.d.ts +15 -14
  166. package/dist/components/tabs/tab.js +1 -1
  167. package/dist/components/tabs/tabs-list.d.ts +15 -14
  168. package/dist/components/tabs/tabs-list.js +1 -1
  169. package/dist/components/tabs/tabs-panel.d.ts +15 -14
  170. package/dist/components/tabs/tabs-panel.js +1 -1
  171. package/dist/components/tabs/tabs.d.ts +15 -14
  172. package/dist/components/tabs/tabs.js +1 -1
  173. package/dist/components/textarea/index.d.ts +15 -14
  174. package/dist/components/textarea/index.js +2 -2
  175. package/dist/components/textarea/textarea.d.ts +15 -14
  176. package/dist/components/textarea/textarea.js +1 -1
  177. package/dist/components/textfield/index.d.ts +15 -14
  178. package/dist/components/textfield/index.js +6 -6
  179. package/dist/components/textfield/textfield.d.ts +15 -14
  180. package/dist/components/textfield/textfield.js +5 -5
  181. package/dist/components/validation-message/index.d.ts +15 -14
  182. package/dist/components/validation-message/index.js +2 -2
  183. package/dist/components/validation-message/validation-message.d.ts +15 -14
  184. package/dist/components/validation-message/validation-message.js +1 -1
  185. package/dist/{dialog-WgEtFqJD.js → dialog-DzGRZgbP.js} +3 -3
  186. package/dist/dialog-DzGRZgbP.js.map +1 -0
  187. package/dist/{dialog-close-button-8n-DBvH4.js → dialog-close-button-B4zf0hvt.js} +1 -1
  188. package/dist/{dialog-close-button-8n-DBvH4.js.map → dialog-close-button-B4zf0hvt.js.map} +1 -1
  189. package/dist/{dialog-content-CU346luZ.js → dialog-content-R35XpbSj.js} +1 -1
  190. package/dist/{dialog-content-CU346luZ.js.map → dialog-content-R35XpbSj.js.map} +1 -1
  191. package/dist/{dialog-footer-BPCalxtL.js → dialog-footer-AoiCz_Uj.js} +1 -1
  192. package/dist/{dialog-footer-BPCalxtL.js.map → dialog-footer-AoiCz_Uj.js.map} +1 -1
  193. package/dist/{dialog-header-DsLpGnOf.js → dialog-header-Bbq9DcHX.js} +1 -1
  194. package/dist/{dialog-header-DsLpGnOf.js.map → dialog-header-Bbq9DcHX.js.map} +1 -1
  195. package/dist/{dialog-trigger-Q9Y5EG0H.js → dialog-trigger-DinHpkua.js} +2 -2
  196. package/dist/{dialog-trigger-Q9Y5EG0H.js.map → dialog-trigger-DinHpkua.js.map} +1 -1
  197. package/dist/{dialog-trigger-context-B41wR-bM.js → dialog-trigger-context-51mA5fz3.js} +1 -1
  198. package/dist/{dialog-trigger-context-B41wR-bM.js.map → dialog-trigger-context-51mA5fz3.js.map} +1 -1
  199. package/dist/{dialog-trigger-context-BkQSJ-rX.d.ts → dialog-trigger-context-DwmhJNzA.d.ts} +1 -1
  200. package/dist/{drawer-B8xyMitJ.js → drawer-CZ05Lizo.js} +2 -2
  201. package/dist/{drawer-B8xyMitJ.js.map → drawer-CZ05Lizo.js.map} +1 -1
  202. package/dist/{drawer-close-button-CqDqQGHP.js → drawer-close-button-DigcuqLc.js} +2 -2
  203. package/dist/{drawer-close-button-CqDqQGHP.js.map → drawer-close-button-DigcuqLc.js.map} +1 -1
  204. package/dist/{drawer-content-Dp__eciN.js → drawer-content-CFc-rxBo.js} +2 -2
  205. package/dist/{drawer-content-Dp__eciN.js.map → drawer-content-CFc-rxBo.js.map} +1 -1
  206. package/dist/{drawer-footer-qYHvZEl_.js → drawer-footer-CfHjfvEg.js} +2 -2
  207. package/dist/{drawer-footer-qYHvZEl_.js.map → drawer-footer-CfHjfvEg.js.map} +1 -1
  208. package/dist/{drawer-header-fQaZQuIY.js → drawer-header-DK4XoaaW.js} +2 -2
  209. package/dist/{drawer-header-fQaZQuIY.js.map → drawer-header-DK4XoaaW.js.map} +1 -1
  210. package/dist/{drawer-trigger-BvjTEl5N.js → drawer-trigger-Do9Htx5M.js} +2 -2
  211. package/dist/{drawer-trigger-BvjTEl5N.js.map → drawer-trigger-Do9Htx5M.js.map} +1 -1
  212. package/dist/{drawer-trigger-context-DHYdt3sB.js → drawer-trigger-context-BUWPPdas.js} +2 -2
  213. package/dist/{drawer-trigger-context-DHYdt3sB.js.map → drawer-trigger-context-BUWPPdas.js.map} +1 -1
  214. package/dist/{drawer-trigger-context-B3X3kUrY.d.ts → drawer-trigger-context-BoS9ZcVF.d.ts} +1 -1
  215. package/dist/dropdown-A1PW0OoQ.js +19 -0
  216. package/dist/{dropdown-D-dX5PAl.js.map → dropdown-A1PW0OoQ.js.map} +1 -1
  217. package/dist/{dropdown-D54kcMt_.js → dropdown-b7acNLZb.js} +2 -2
  218. package/dist/{dropdown-D54kcMt_.js.map → dropdown-b7acNLZb.js.map} +1 -1
  219. package/dist/{dropdown-button-CKPaLMBh.js → dropdown-button-FQqIwqdp.js} +1 -1
  220. package/dist/{dropdown-button-CKPaLMBh.js.map → dropdown-button-FQqIwqdp.js.map} +1 -1
  221. package/dist/{dropdown-item-Bhw9nhOp.d.ts → dropdown-item-CKKjumy3.d.ts} +1 -1
  222. package/dist/{dropdown-item-BnnEFIq3.js → dropdown-item-DQQXQC4J.js} +1 -1
  223. package/dist/{dropdown-item-BnnEFIq3.js.map → dropdown-item-DQQXQC4J.js.map} +1 -1
  224. package/dist/{dropdown-list-BWW85rXi.js → dropdown-list-DB1mST67.js} +1 -1
  225. package/dist/{dropdown-list-BWW85rXi.js.map → dropdown-list-DB1mST67.js.map} +1 -1
  226. package/dist/{dropdown-list-XN8RJ-SS.d.ts → dropdown-list-vVhxG14z.d.ts} +1 -1
  227. package/dist/{dropdown-trigger-DfHyg_D7.js → dropdown-trigger-Fwrigwtg.js} +2 -2
  228. package/dist/{dropdown-trigger-DfHyg_D7.js.map → dropdown-trigger-Fwrigwtg.js.map} +1 -1
  229. package/dist/{dropdown-trigger-context-BpYBk_xf.js → dropdown-trigger-context-BCcyoZEx.js} +6 -3
  230. package/dist/dropdown-trigger-context-BCcyoZEx.js.map +1 -0
  231. package/dist/{fieldset-DGB7cvdz.js → fieldset-Bpu4CRKG.js} +1 -1
  232. package/dist/{fieldset-DGB7cvdz.js.map → fieldset-Bpu4CRKG.js.map} +1 -1
  233. package/dist/{fieldset-description-oNKwCGnW.js → fieldset-description-DiHvcLh-.js} +1 -1
  234. package/dist/{fieldset-description-oNKwCGnW.js.map → fieldset-description-DiHvcLh-.js.map} +1 -1
  235. package/dist/{fieldset-legend-Dseni7XM.js → fieldset-legend-CR4srn2-.js} +1 -1
  236. package/dist/{fieldset-legend-Dseni7XM.js.map → fieldset-legend-CR4srn2-.js.map} +1 -1
  237. package/dist/{filter-group-BKO5sgGt.js → filter-group-DMSPaCQt.js} +1 -1
  238. package/dist/{filter-group-BKO5sgGt.js.map → filter-group-DMSPaCQt.js.map} +1 -1
  239. package/dist/{footer-CXKRhzUT.js → footer-CU7LdbPO.js} +1 -1
  240. package/dist/{footer-CXKRhzUT.js.map → footer-CU7LdbPO.js.map} +1 -1
  241. package/dist/{footer-links-Dz1UwVuf.js → footer-links-BIUrxu38.js} +1 -1
  242. package/dist/{footer-links-Dz1UwVuf.js.map → footer-links-BIUrxu38.js.map} +1 -1
  243. package/dist/{footer-links-B237uv2H.d.ts → footer-links-Drm2LFnw.d.ts} +3 -3
  244. package/dist/index-CjnsNUdv.d.ts +23 -0
  245. package/dist/{index-B-0iSMVN.d.ts → index-DV9bEW_1.d.ts} +14 -3
  246. package/dist/{index-CXV3nvLQ.d.ts → index-SaA0V19q.d.ts} +14 -3
  247. package/dist/{link-BdmxFMOF.js → link-BqDeZAJF.js} +1 -1
  248. package/dist/{link-BdmxFMOF.js.map → link-BqDeZAJF.js.map} +1 -1
  249. package/dist/{logo-cfY7Ilvc.js → logo-QKrYvRFP.js} +1 -1
  250. package/dist/{logo-cfY7Ilvc.js.map → logo-QKrYvRFP.js.map} +1 -1
  251. package/dist/main.d.ts +16 -15
  252. package/dist/main.js +86 -85
  253. package/dist/{navbar-DJJMercW.js → navbar-Dxv7GQO0.js} +2 -2
  254. package/dist/{navbar-DJJMercW.js.map → navbar-Dxv7GQO0.js.map} +1 -1
  255. package/dist/{pagination-DxXjiIgC.js → pagination-DH6vZYMO.js} +1 -1
  256. package/dist/{pagination-DxXjiIgC.js.map → pagination-DH6vZYMO.js.map} +1 -1
  257. package/dist/{pagination-button-CjEZPPC8.js → pagination-button-CMSNwkeT.js} +1 -1
  258. package/dist/{pagination-button-CjEZPPC8.js.map → pagination-button-CMSNwkeT.js.map} +1 -1
  259. package/dist/{pagination-item-DXnI0BWj.js → pagination-item-DzskmZxf.js} +1 -1
  260. package/dist/{pagination-item-DXnI0BWj.js.map → pagination-item-DzskmZxf.js.map} +1 -1
  261. package/dist/{pagination-item-CEfdaSuS.d.ts → pagination-item-mKQyvHV9.d.ts} +3 -3
  262. package/dist/{popover-CGvBn3q9.js → popover-DmA4qMtu.js} +7 -7
  263. package/dist/popover-DmA4qMtu.js.map +1 -0
  264. package/dist/{popover-COi7S9pJ.js → popover-MUiGENkr.js} +8 -3
  265. package/dist/popover-MUiGENkr.js.map +1 -0
  266. package/dist/{popover-trigger-BLnIukvY.js → popover-trigger-Chi8uvRM.js} +2 -2
  267. package/dist/{popover-trigger-BLnIukvY.js.map → popover-trigger-Chi8uvRM.js.map} +1 -1
  268. package/dist/{popover-trigger-context-CGJlUS_N.js → popover-trigger-context-Cre9Mczn.js} +9 -3
  269. package/dist/popover-trigger-context-Cre9Mczn.js.map +1 -0
  270. package/dist/{popover-trigger-context-CQKQbCmr.d.ts → popover-trigger-context-D6z-_uL5.d.ts} +18 -6
  271. package/dist/{radio-ulWuU7RE.js → radio-DAC5mhl3.js} +2 -1
  272. package/dist/{radio-ulWuU7RE.js.map → radio-DAC5mhl3.js.map} +1 -1
  273. package/dist/{search-Cqnboh3z.js → search-DRgmqncD.js} +2 -1
  274. package/dist/{search-Cqnboh3z.js.map → search-DRgmqncD.js.map} +1 -1
  275. package/dist/{select-DCZV6wZu.js → select-R87VdG5U.js} +1 -1
  276. package/dist/{select-DCZV6wZu.js.map → select-R87VdG5U.js.map} +1 -1
  277. package/dist/{select-optgroup-BUaB9Yz-.js → select-optgroup-jowSQvbc.js} +1 -1
  278. package/dist/{select-optgroup-BUaB9Yz-.js.map → select-optgroup-jowSQvbc.js.map} +1 -1
  279. package/dist/{select-option-BByWq34J.js → select-option-WAhhr82L.js} +1 -1
  280. package/dist/{select-option-BByWq34J.js.map → select-option-WAhhr82L.js.map} +1 -1
  281. package/dist/{skip-link-DwuiIAvE.js → skip-link-CTmIHesZ.js} +1 -1
  282. package/dist/{skip-link-DwuiIAvE.js.map → skip-link-CTmIHesZ.js.map} +1 -1
  283. package/dist/{sticky-header-DWAJUj20.js → sticky-header-Dki5mPis.js} +1 -1
  284. package/dist/{sticky-header-DWAJUj20.js.map → sticky-header-Dki5mPis.js.map} +1 -1
  285. package/dist/{sub-navbar-DEudSxfj.js → sub-navbar-DkxQv0WJ.js} +4 -4
  286. package/dist/sub-navbar-DkxQv0WJ.js.map +1 -0
  287. package/dist/sub-navbar-qSNpTABT.js +120 -0
  288. package/dist/sub-navbar-qSNpTABT.js.map +1 -0
  289. package/dist/{tab-9qkzsjIT.js → tab-78y6QR5H.js} +1 -1
  290. package/dist/{tab-9qkzsjIT.js.map → tab-78y6QR5H.js.map} +1 -1
  291. package/dist/{tabs-CpaYfphj.js → tabs-UA0wAjuH.js} +1 -1
  292. package/dist/{tabs-CpaYfphj.js.map → tabs-UA0wAjuH.js.map} +1 -1
  293. package/dist/{tabs-list-UDrgmCSx.js → tabs-list-BykXXSuq.js} +1 -1
  294. package/dist/{tabs-list-UDrgmCSx.js.map → tabs-list-BykXXSuq.js.map} +1 -1
  295. package/dist/{tabs-panel-DeVzvQQw.js → tabs-panel-B8knWcZY.js} +1 -1
  296. package/dist/{tabs-panel-DeVzvQQw.js.map → tabs-panel-B8knWcZY.js.map} +1 -1
  297. package/dist/{textarea-C580HmQX.js → textarea-DUqVsdL4.js} +1 -1
  298. package/dist/{textarea-C580HmQX.js.map → textarea-DUqVsdL4.js.map} +1 -1
  299. package/dist/{textfield-D9Ssbb43.js → textfield-Di-19dz-.js} +5 -3
  300. package/dist/{textfield-D9Ssbb43.js.map → textfield-Di-19dz-.js.map} +1 -1
  301. package/dist/{types-Mj1poXVf.d.ts → types-BiKqUD4X.d.ts} +1 -1
  302. package/dist/{types-DC-FPmDA.d.ts → types-BiXTaZLc.d.ts} +1 -1
  303. package/dist/types.d.ts +1 -1
  304. package/dist/{useCheckboxGroup-rTVawmvi.js → useCheckboxGroup-BDH3ewt8.js} +1 -1
  305. package/dist/{useCheckboxGroup-rTVawmvi.js.map → useCheckboxGroup-BDH3ewt8.js.map} +1 -1
  306. package/dist/{useCheckboxGroup-DRhqch1m.d.ts → useCheckboxGroup-DyHY-wHm.d.ts} +1 -1
  307. package/dist/useIsElementAboveViewport-V1lc14eB.d.ts +8 -0
  308. package/dist/{useElementScrolledPastObserver-DjzJ4Mn-.js → useIsElementAboveViewport-lmdnXDdc.js} +6 -6
  309. package/dist/useIsElementAboveViewport-lmdnXDdc.js.map +1 -0
  310. package/dist/{useIsomorphicLayoutEffect-BMdz-mee.d.ts → useIsomorphicLayoutEffect-BtM0-_Y8.d.ts} +1 -1
  311. package/dist/{useIsomorphicLayoutEffect-B5btmYlF.js → useIsomorphicLayoutEffect-odKYwQAV.js} +1 -1
  312. package/dist/{useIsomorphicLayoutEffect-B5btmYlF.js.map → useIsomorphicLayoutEffect-odKYwQAV.js.map} +1 -1
  313. package/dist/useMediaQuery-B2wgHq1a.d.ts +32 -0
  314. package/dist/useMediaQuery-ICPWsO_p.js +44 -0
  315. package/dist/useMediaQuery-ICPWsO_p.js.map +1 -0
  316. package/dist/{useMergeRefs-CcJMoo46.js → useMergeRefs-DC710CHX.js} +1 -1
  317. package/dist/{useMergeRefs-CcJMoo46.js.map → useMergeRefs-DC710CHX.js.map} +1 -1
  318. package/dist/{usePagination-DNqO-ob2.js → usePagination-DQR72JNE.js} +1 -1
  319. package/dist/{usePagination-DNqO-ob2.js.map → usePagination-DQR72JNE.js.map} +1 -1
  320. package/dist/{useScrollDirection-BLgp51hx.js → useScrollDirection-C2EmQi0U.js} +1 -1
  321. package/dist/{useScrollDirection-BLgp51hx.js.map → useScrollDirection-C2EmQi0U.js.map} +1 -1
  322. package/dist/useScrollDirection-CDsglrZR.d.ts +11 -0
  323. package/dist/utilities/hooks/index.d.ts +16 -15
  324. package/dist/utilities/hooks/index.js +8 -6
  325. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +1 -1
  326. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +1 -1
  327. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.d.ts +2 -0
  328. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.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/useMediaQuery/useMediaQuery.d.ts +2 -0
  332. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.js +4 -0
  333. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.d.ts +11 -2
  334. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.js +1 -1
  335. package/dist/utilities/hooks/usePagination/usePagination.d.ts +15 -14
  336. package/dist/utilities/hooks/usePagination/usePagination.js +1 -1
  337. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.d.ts +2 -11
  338. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.js +1 -1
  339. package/dist/utilities/index.d.ts +16 -15
  340. package/dist/utilities/index.js +9 -7
  341. package/dist/utilities/types.d.ts +1 -1
  342. package/dist/{validation-message-6AQTIup_.js → validation-message-C3CmzFMz.js} +1 -1
  343. package/dist/{validation-message-6AQTIup_.js.map → validation-message-C3CmzFMz.js.map} +1 -1
  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 +4 -3
  347. package/dist/vanilla/index.js +4 -3
  348. package/dist/vanilla/popover/index.d.ts +1 -1
  349. package/dist/vanilla/popover/index.js +1 -1
  350. package/dist/vanilla/sub-navbar/index.d.ts +2 -0
  351. package/dist/vanilla/sub-navbar/index.js +3 -0
  352. package/package.json +4 -4
  353. package/dist/checkbox-CXVZj5Vv.js.map +0 -1
  354. package/dist/dialog-WgEtFqJD.js.map +0 -1
  355. package/dist/dropdown-D-dX5PAl.js +0 -15
  356. package/dist/dropdown-trigger-context-BpYBk_xf.js.map +0 -1
  357. package/dist/dropdown-trigger-context-D0QMaRYY.d.ts +0 -29
  358. package/dist/popover-CGvBn3q9.js.map +0 -1
  359. package/dist/popover-COi7S9pJ.js.map +0 -1
  360. package/dist/popover-trigger-context-CGJlUS_N.js.map +0 -1
  361. package/dist/sub-navbar-DEudSxfj.js.map +0 -1
  362. package/dist/useElementScrolledPastObserver-DjzJ4Mn-.js.map +0 -1
  363. package/dist/useMergeRefs-iCenhgmf.d.ts +0 -11
  364. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.d.ts +0 -8
  365. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.js +0 -3
  366. /package/dist/{checkbox-DdQn64cR.js → checkbox-BNKPLC2A.js} +0 -0
  367. /package/dist/{chip-6KumidQL.js → chip-CotWEWjj.js} +0 -0
  368. /package/dist/{components-CUDHzsYh.js → components-BKbhmG9u.js} +0 -0
  369. /package/dist/{dialog-B6bZOPYF.js → dialog-CCde3DPt.js} +0 -0
  370. /package/dist/{drawer-sfOVHFWA.js → drawer-Cc670B_f.js} +0 -0
  371. /package/dist/{dropdown-DR0Lif3r.js → dropdown-BecLkiCE.js} +0 -0
  372. /package/dist/{fieldset-Ds2WiAnj.js → fieldset-D5HSCHPA.js} +0 -0
  373. /package/dist/{filter-group-MjaWbeZO.js → filter-group-C-q_L0lS.js} +0 -0
  374. /package/dist/{footer-Cq6w0v2j.js → footer-BThmhXy7.js} +0 -0
  375. /package/dist/{hooks-BmaG9QJW.js → hooks-A8EMc2jd.js} +0 -0
  376. /package/dist/{link-CKJeUW0o.js → link-oWcjwJYP.js} +0 -0
  377. /package/dist/{logo-CIDSfhf9.js → logo-Dx-VZMJu.js} +0 -0
  378. /package/dist/{navbar-BuFLsqCZ.js → navbar-CgY7xCrh.js} +0 -0
  379. /package/dist/{pagination-DUyQRuUE.js → pagination-DP8yM-lj.js} +0 -0
  380. /package/dist/{popover-C4QdJkKG.js → popover-Ch_2ehYy.js} +0 -0
  381. /package/dist/{radio-Uyx2D7dl.js → radio-CqUVAF9T.js} +0 -0
  382. /package/dist/{search-VYIc3wFh.js → search-DPfMkuMX.js} +0 -0
  383. /package/dist/{select-D1X9tdeH.js → select-COon86Fr.js} +0 -0
  384. /package/dist/{skip-link-CGmg3TAi.js → skip-link-Cl5tUnjp.js} +0 -0
  385. /package/dist/{sticky-header-CII-Yy5M.js → sticky-header-B1bz37dV.js} +0 -0
  386. /package/dist/{tabs-CYBqn2Kj.js → tabs-Gam5A0Jd.js} +0 -0
  387. /package/dist/{textarea-D37K5D86.js → textarea-SnVkE05Y.js} +0 -0
  388. /package/dist/{textfield-CWoUw1b2.js → textfield-vutZ4Ch8.js} +0 -0
  389. /package/dist/{utilities-JoKvbhOy.js → utilities-CScrp2iY.js} +0 -0
  390. /package/dist/{validation-message-B4lI2a0K.js → validation-message-CtPYa33u.js} +0 -0
@@ -21,4 +21,4 @@ const Tabs = ({ activationMode = "automatic", orientation = "horizontal", defaul
21
21
 
22
22
  //#endregion
23
23
  export { Tabs };
24
- //# sourceMappingURL=tabs-CpaYfphj.js.map
24
+ //# sourceMappingURL=tabs-UA0wAjuH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-CpaYfphj.js","names":[],"sources":["../src/components/tabs/tabs.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Root } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /**\n * When `automatic`, tabs are activated when receiving focus. When `manual`, tabs are activated when clicked.\n * @default 'automatic'\n */\n activationMode?: 'manual' | 'automatic';\n /**\n * The orientation of the component.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /** The value of the tab that should be active when initially rendered. Use when you do not need to control the state of the tabs. */\n defaultValue?: string;\n /** The controlled value of the tab to activate. Should be used together with `onChange`. */\n value?: string;\n /** Event handler called when the value changes. */\n onChange?: (value: string) => void;\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\nexport const Tabs = ({\n activationMode = 'automatic',\n orientation = 'horizontal',\n defaultValue,\n value,\n onChange,\n children,\n className,\n asChild,\n dark,\n ref,\n ...props\n}: TabsProps) => {\n return (\n <Root\n className={clsx('bi-tabs', className)}\n activationMode={activationMode}\n orientation={orientation}\n defaultValue={defaultValue}\n value={value}\n onValueChange={onChange}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </Root>\n );\n};\n"],"mappings":";;;;;AAkCA,MAAa,OAAO,CAAC,EACnB,iBAAiB,aACjB,cAAc,cACd,cACA,OACA,UACA,UACA,WACA,SACA,MACA,IACA,GAAG,OACO,KAAK;AACf,wBACE,IAAC;EACC,WAAW,KAAK,WAAW,UAAU;EACrB;EACH;EACC;EACP;EACP,eAAe;EACN;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACI;AAEV"}
1
+ {"version":3,"file":"tabs-UA0wAjuH.js","names":[],"sources":["../src/components/tabs/tabs.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Root } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /**\n * When `automatic`, tabs are activated when receiving focus. When `manual`, tabs are activated when clicked.\n * @default 'automatic'\n */\n activationMode?: 'manual' | 'automatic';\n /**\n * The orientation of the component.\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /** The value of the tab that should be active when initially rendered. Use when you do not need to control the state of the tabs. */\n defaultValue?: string;\n /** The controlled value of the tab to activate. Should be used together with `onChange`. */\n value?: string;\n /** Event handler called when the value changes. */\n onChange?: (value: string) => void;\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\nexport const Tabs = ({\n activationMode = 'automatic',\n orientation = 'horizontal',\n defaultValue,\n value,\n onChange,\n children,\n className,\n asChild,\n dark,\n ref,\n ...props\n}: TabsProps) => {\n return (\n <Root\n className={clsx('bi-tabs', className)}\n activationMode={activationMode}\n orientation={orientation}\n defaultValue={defaultValue}\n value={value}\n onValueChange={onChange}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </Root>\n );\n};\n"],"mappings":";;;;;AAkCA,MAAa,OAAO,CAAC,EACnB,iBAAiB,aACjB,cAAc,cACd,cACA,OACA,UACA,UACA,WACA,SACA,MACA,IACA,GAAG,OACO,KAAK;AACf,wBACE,IAAC;EACC,WAAW,KAAK,WAAW,UAAU;EACrB;EACH;EACC;EACP;EACP,eAAe;EACN;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACI;AAEV"}
@@ -17,4 +17,4 @@ const TabsList = ({ className, loop = true, children, asChild, dark, ref,...prop
17
17
 
18
18
  //#endregion
19
19
  export { TabsList };
20
- //# sourceMappingURL=tabs-list-UDrgmCSx.js.map
20
+ //# sourceMappingURL=tabs-list-BykXXSuq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-list-UDrgmCSx.js","names":[],"sources":["../src/components/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { List } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsListProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /**\n * When `true`, keyboard navigation will loop from last tab to first, and vice versa.\n * @default true\n */\n loop?: 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\nexport const TabsList = ({ className, loop = true, children, asChild, dark, ref, ...props }: TabsListProps) => {\n return (\n <List\n className={clsx('bi-tabs--list', className)}\n loop={loop}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </List>\n );\n};\n"],"mappings":";;;;;AAuBA,MAAa,WAAW,CAAC,EAAE,WAAW,OAAO,MAAM,UAAU,SAAS,MAAM,IAAK,GAAG,OAAsB,KAAK;AAC7G,wBACE,IAAC;EACC,WAAW,KAAK,iBAAiB,UAAU;EACrC;EACG;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACI;AAEV"}
1
+ {"version":3,"file":"tabs-list-BykXXSuq.js","names":[],"sources":["../src/components/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { List } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsListProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /**\n * When `true`, keyboard navigation will loop from last tab to first, and vice versa.\n * @default true\n */\n loop?: 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\nexport const TabsList = ({ className, loop = true, children, asChild, dark, ref, ...props }: TabsListProps) => {\n return (\n <List\n className={clsx('bi-tabs--list', className)}\n loop={loop}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </List>\n );\n};\n"],"mappings":";;;;;AAuBA,MAAa,WAAW,CAAC,EAAE,WAAW,OAAO,MAAM,UAAU,SAAS,MAAM,IAAK,GAAG,OAAsB,KAAK;AAC7G,wBACE,IAAC;EACC,WAAW,KAAK,iBAAiB,UAAU;EACrC;EACG;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACI;AAEV"}
@@ -18,4 +18,4 @@ const TabsPanel = ({ className, value, forceMount, children, asChild, dark, ref,
18
18
 
19
19
  //#endregion
20
20
  export { TabsPanel };
21
- //# sourceMappingURL=tabs-panel-DeVzvQQw.js.map
21
+ //# sourceMappingURL=tabs-panel-B8knWcZY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel-DeVzvQQw.js","names":[],"sources":["../src/components/tabs/tabs-panel.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Content } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsPanelProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /** A unique value that associates the content with a trigger. */\n value: string;\n /** Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. */\n forceMount?: 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\nexport const TabsPanel = ({ className, value, forceMount, children, asChild, dark, ref, ...props }: TabsPanelProps) => {\n return (\n <Content\n className={clsx('bi-tabs--panel', className)}\n value={value}\n forceMount={forceMount || undefined}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </Content>\n );\n};\n"],"mappings":";;;;;AAsBA,MAAa,YAAY,CAAC,EAAE,WAAW,OAAO,YAAY,UAAU,SAAS,MAAM,IAAK,GAAG,OAAuB,KAAK;AACrH,wBACE,IAAC;EACC,WAAW,KAAK,kBAAkB,UAAU;EACrC;EACP,YAAY;EACH;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACO;AAEb"}
1
+ {"version":3,"file":"tabs-panel-B8knWcZY.js","names":[],"sources":["../src/components/tabs/tabs-panel.tsx"],"sourcesContent":["import type { HTMLAttributes, Ref } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Content } from '@radix-ui/react-tabs';\nimport clsx from 'clsx/lite';\n\nexport type TabsPanelProps = MergeRight<\n DefaultProps & Omit<HTMLAttributes<HTMLDivElement>, 'dir'>,\n {\n /** A unique value that associates the content with a trigger. */\n value: string;\n /** Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. */\n forceMount?: 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\nexport const TabsPanel = ({ className, value, forceMount, children, asChild, dark, ref, ...props }: TabsPanelProps) => {\n return (\n <Content\n className={clsx('bi-tabs--panel', className)}\n value={value}\n forceMount={forceMount || undefined}\n asChild={asChild}\n data-dark={dark}\n ref={ref}\n {...props}\n >\n {children}\n </Content>\n );\n};\n"],"mappings":";;;;;AAsBA,MAAa,YAAY,CAAC,EAAE,WAAW,OAAO,YAAY,UAAU,SAAS,MAAM,IAAK,GAAG,OAAuB,KAAK;AACrH,wBACE,IAAC;EACC,WAAW,KAAK,kBAAkB,UAAU;EACrC;EACP,YAAY;EACH;EACT,aAAW;EACN;EACL,GAAI;EAEH;GACO;AAEb"}
@@ -14,4 +14,4 @@ const Textarea = ({ className, dark, size, ref,...props }) => {
14
14
 
15
15
  //#endregion
16
16
  export { Textarea };
17
- //# sourceMappingURL=textarea-C580HmQX.js.map
17
+ //# sourceMappingURL=textarea-DUqVsdL4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea-C580HmQX.js","names":[],"sources":["../src/components/textarea/textarea.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport type { Ref, TextareaHTMLAttributes } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\n\nexport type TextareaProps = MergeRight<\n DefaultProps & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'prefix'>,\n {\n /**\n * Size of the textarea.\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n ref?: Ref<HTMLTextAreaElement>;\n }\n>;\n\nexport const Textarea = ({ className, dark, size, ref, ...props }: TextareaProps) => {\n return <textarea className={clsx('bi-input', className)} data-dark={dark} data-size={size} ref={ref} {...props} />;\n};\n"],"mappings":";;;;AAiBA,MAAa,WAAW,CAAC,EAAE,WAAW,MAAM,MAAM,IAAK,GAAG,OAAsB,KAAK;AACnF,wBAAO,IAAC;EAAS,WAAW,KAAK,YAAY,UAAU;EAAE,aAAW;EAAM,aAAW;EAAW;EAAK,GAAI;GAAS;AACnH"}
1
+ {"version":3,"file":"textarea-DUqVsdL4.js","names":[],"sources":["../src/components/textarea/textarea.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport type { Ref, TextareaHTMLAttributes } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\n\nexport type TextareaProps = MergeRight<\n DefaultProps & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'prefix'>,\n {\n /**\n * Size of the textarea.\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n ref?: Ref<HTMLTextAreaElement>;\n }\n>;\n\nexport const Textarea = ({ className, dark, size, ref, ...props }: TextareaProps) => {\n return <textarea className={clsx('bi-input', className)} data-dark={dark} data-size={size} ref={ref} {...props} />;\n};\n"],"mappings":";;;;AAiBA,MAAa,WAAW,CAAC,EAAE,WAAW,MAAM,MAAM,IAAK,GAAG,OAAsB,KAAK;AACnF,wBAAO,IAAC;EAAS,WAAW,KAAK,YAAY,UAAU;EAAE,aAAW;EAAM,aAAW;EAAW;EAAK,GAAI;GAAS;AACnH"}
@@ -3,8 +3,8 @@ import { FieldDescription } from "./field-description-Dhm1VA08.js";
3
3
  import { FieldAffix, FieldAffixes } from "./field-affix-npc6m7XL.js";
4
4
  import { Input } from "./input-Dr7BnTyd.js";
5
5
  import { Label } from "./label-DUzvAx-T.js";
6
- import { Textarea } from "./textarea-C580HmQX.js";
7
- import { ValidationMessage } from "./validation-message-6AQTIup_.js";
6
+ import { Textarea } from "./textarea-DUqVsdL4.js";
7
+ import { ValidationMessage } from "./validation-message-C3CmzFMz.js";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { useId } from "react";
10
10
 
@@ -39,12 +39,14 @@ const Textfield = ({ dark, label, description, error, multiline, prefix, suffix,
39
39
  ref,
40
40
  "aria-invalid": Boolean(error) || void 0,
41
41
  "aria-describedby": ariaDescribedBy,
42
+ dark,
42
43
  ...props
43
44
  }) : /* @__PURE__ */ jsx(Input, {
44
45
  id,
45
46
  ref,
46
47
  "aria-invalid": Boolean(error) || void 0,
47
48
  "aria-describedby": ariaDescribedBy,
49
+ dark,
48
50
  ...props
49
51
  }),
50
52
  suffix && /* @__PURE__ */ jsx(FieldAffix, { children: suffix })
@@ -59,4 +61,4 @@ const Textfield = ({ dark, label, description, error, multiline, prefix, suffix,
59
61
 
60
62
  //#endregion
61
63
  export { Textfield };
62
- //# sourceMappingURL=textfield-D9Ssbb43.js.map
64
+ //# sourceMappingURL=textfield-Di-19dz-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textfield-D9Ssbb43.js","names":[],"sources":["../src/components/textfield/textfield.tsx"],"sourcesContent":["import { useId, type ReactNode, type Ref } from 'react';\n\nimport type { DefaultProps, LabelRequiredProps } from '../../types';\nimport { Field, FieldAffix, FieldAffixes, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\nimport { Textarea, type TextareaProps } from '../textarea';\nimport { ValidationMessage } from '../validation-message';\n\ntype InputPropsFiltered = Omit<InputProps, 'prefix' | 'className' | 'style'>;\ntype TextareaPropsFiltered = Omit<TextareaProps, 'prefix' | 'className' | 'style'>;\n\ntype BaseTextfieldProps = LabelRequiredProps &\n DefaultProps & {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Prefix */\n prefix?: string;\n /** Suffix */\n suffix?: string;\n /** Error message for field */\n error?: ReactNode;\n /** `className` for the `Field` element */\n className?: InputProps['className'];\n /** `style` for the `Field` element */\n style?: InputProps['style'];\n };\n\ntype TextfieldTextareaProps = {\n /** Render `Textarea` instead of a `Input`. The `Textarea` has support for multiple rows of input. */\n multiline: true;\n} & TextareaPropsFiltered;\n\ntype TextfieldInputProps = {\n /** Render `Textarea` instead of a `Input`. The `Textarea` has support for multiple rows of input. */\n multiline?: never | false;\n} & InputPropsFiltered;\n\nexport type TextfieldProps = BaseTextfieldProps &\n // We use either Textarea or Input props, depending on the `multiline` prop.\n (TextfieldTextareaProps | TextfieldInputProps) & {\n ref?: Ref<HTMLInputElement | HTMLTextAreaElement>;\n };\n\nexport const Textfield = ({\n dark,\n label,\n description,\n error,\n multiline,\n prefix,\n suffix,\n style,\n className,\n ref,\n id: idProp,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: TextfieldProps) => {\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}>\n {label && <Label htmlFor={id}>{label}</Label>}\n {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}\n <FieldAffixes>\n {prefix && <FieldAffix>{prefix}</FieldAffix>}\n {multiline ? (\n <Textarea\n id={id}\n ref={ref as Ref<HTMLTextAreaElement>}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={ariaDescribedBy}\n {...(props as TextareaPropsFiltered)}\n />\n ) : (\n <Input\n id={id}\n ref={ref as Ref<HTMLInputElement>}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={ariaDescribedBy}\n {...(props as InputPropsFiltered)}\n />\n )}\n {suffix && <FieldAffix>{suffix}</FieldAffix>}\n </FieldAffixes>\n {!!error && <ValidationMessage id={validationId}>{error}</ValidationMessage>}\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;;;AA8CA,MAAa,YAAY,CAAC,EACxB,MACA,OACA,aACA,OACA,WACA,QACA,QACA,OACA,WACA,KACA,IAAI,QACJ,oBAAoB,oBACpB,GAAG,OACY,KAAK;CACpB,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;CAAoB,EAAC,KAAK,IAAI,CAAC,MAAM;AACrG,wBACE,KAAC;EAAiB;EAAW,aAAW;EAAa;;GAClD,yBAAS,IAAC;IAAM,SAAS;cAAK;KAAc;GAC5C,+BAAe,IAAC;IAAiB,IAAI;cAAgB;KAA+B;mBACrF,KAAC;IACE,0BAAU,IAAC,wBAAY,SAAoB;IAC3C,4BACC,IAAC;KACK;KACC;KACL,gBAAc,QAAQ,MAAM;KAC5B,oBAAkB;KAClB,GAAK;MACL,mBAEF,IAAC;KACK;KACC;KACL,gBAAc,QAAQ,MAAM;KAC5B,oBAAkB;KAClB,GAAK;MACL;IAEH,0BAAU,IAAC,wBAAY,SAAoB;OAC/B;KACZ,yBAAS,IAAC;IAAkB,IAAI;cAAe;KAA0B;;GACtE;AAEX"}
1
+ {"version":3,"file":"textfield-Di-19dz-.js","names":[],"sources":["../src/components/textfield/textfield.tsx"],"sourcesContent":["import { useId, type ReactNode, type Ref } from 'react';\n\nimport type { DefaultProps, LabelRequiredProps } from '../../types';\nimport { Field, FieldAffix, FieldAffixes, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\nimport { Textarea, type TextareaProps } from '../textarea';\nimport { ValidationMessage } from '../validation-message';\n\ntype InputPropsFiltered = Omit<InputProps, 'prefix' | 'className' | 'style'>;\ntype TextareaPropsFiltered = Omit<TextareaProps, 'prefix' | 'className' | 'style'>;\n\ntype BaseTextfieldProps = LabelRequiredProps &\n DefaultProps & {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Prefix */\n prefix?: string;\n /** Suffix */\n suffix?: string;\n /** Error message for field */\n error?: ReactNode;\n /** `className` for the `Field` element */\n className?: InputProps['className'];\n /** `style` for the `Field` element */\n style?: InputProps['style'];\n };\n\ntype TextfieldTextareaProps = {\n /** Render `Textarea` instead of a `Input`. The `Textarea` has support for multiple rows of input. */\n multiline: true;\n} & TextareaPropsFiltered;\n\ntype TextfieldInputProps = {\n /** Render `Textarea` instead of a `Input`. The `Textarea` has support for multiple rows of input. */\n multiline?: never | false;\n} & InputPropsFiltered;\n\nexport type TextfieldProps = BaseTextfieldProps &\n // We use either Textarea or Input props, depending on the `multiline` prop.\n (TextfieldTextareaProps | TextfieldInputProps) & {\n ref?: Ref<HTMLInputElement | HTMLTextAreaElement>;\n };\n\nexport const Textfield = ({\n dark,\n label,\n description,\n error,\n multiline,\n prefix,\n suffix,\n style,\n className,\n ref,\n id: idProp,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: TextfieldProps) => {\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}>\n {label && <Label htmlFor={id}>{label}</Label>}\n {description && <FieldDescription id={descriptionId}>{description}</FieldDescription>}\n <FieldAffixes>\n {prefix && <FieldAffix>{prefix}</FieldAffix>}\n {multiline ? (\n <Textarea\n id={id}\n ref={ref as Ref<HTMLTextAreaElement>}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={ariaDescribedBy}\n dark={dark}\n {...(props as TextareaPropsFiltered)}\n />\n ) : (\n <Input\n id={id}\n ref={ref as Ref<HTMLInputElement>}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={ariaDescribedBy}\n dark={dark}\n {...(props as InputPropsFiltered)}\n />\n )}\n {suffix && <FieldAffix>{suffix}</FieldAffix>}\n </FieldAffixes>\n {!!error && <ValidationMessage id={validationId}>{error}</ValidationMessage>}\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;;;AA8CA,MAAa,YAAY,CAAC,EACxB,MACA,OACA,aACA,OACA,WACA,QACA,QACA,OACA,WACA,KACA,IAAI,QACJ,oBAAoB,oBACpB,GAAG,OACY,KAAK;CACpB,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;CAAoB,EAAC,KAAK,IAAI,CAAC,MAAM;AACrG,wBACE,KAAC;EAAiB;EAAW,aAAW;EAAa;;GAClD,yBAAS,IAAC;IAAM,SAAS;cAAK;KAAc;GAC5C,+BAAe,IAAC;IAAiB,IAAI;cAAgB;KAA+B;mBACrF,KAAC;IACE,0BAAU,IAAC,wBAAY,SAAoB;IAC3C,4BACC,IAAC;KACK;KACC;KACL,gBAAc,QAAQ,MAAM;KAC5B,oBAAkB;KACZ;KACN,GAAK;MACL,mBAEF,IAAC;KACK;KACC;KACL,gBAAc,QAAQ,MAAM;KAC5B,oBAAkB;KACZ;KACN,GAAK;MACL;IAEH,0BAAU,IAAC,wBAAY,SAAoB;OAC/B;KACZ,yBAAS,IAAC;IAAkB,IAAI;cAAe;KAA0B;;GACtE;AAEX"}
@@ -31,4 +31,4 @@ type LabelRequiredProps = {
31
31
  };
32
32
  //#endregion
33
33
  export { AsChildProps, DefaultProps, LabelRequiredProps };
34
- //# sourceMappingURL=types-Mj1poXVf.d.ts.map
34
+ //# sourceMappingURL=types-BiKqUD4X.d.ts.map
@@ -6,4 +6,4 @@
6
6
  type MergeRight<T1, T2> = Omit<T1, keyof T2> & T2;
7
7
  //#endregion
8
8
  export { MergeRight };
9
- //# sourceMappingURL=types-DC-FPmDA.d.ts.map
9
+ //# sourceMappingURL=types-BiXTaZLc.d.ts.map
package/dist/types.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { AsChildProps, DefaultProps, LabelRequiredProps } from "./types-Mj1poXVf.js";
1
+ import { AsChildProps, DefaultProps, LabelRequiredProps } from "./types-BiKqUD4X.js";
2
2
  export { AsChildProps, DefaultProps, LabelRequiredProps };
@@ -15,4 +15,4 @@ const useCheckboxGroup = ({ options, updateOptions }) => {
15
15
 
16
16
  //#endregion
17
17
  export { useCheckboxGroup };
18
- //# sourceMappingURL=useCheckboxGroup-rTVawmvi.js.map
18
+ //# sourceMappingURL=useCheckboxGroup-BDH3ewt8.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"useCheckboxGroup-BDH3ewt8.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"}
@@ -19,4 +19,4 @@ declare const useCheckboxGroup: ({
19
19
  }: UseCheckboxGroupOptions) => UseCheckboxGroupReturn;
20
20
  //#endregion
21
21
  export { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup };
22
- //# sourceMappingURL=useCheckboxGroup-DRhqch1m.d.ts.map
22
+ //# sourceMappingURL=useCheckboxGroup-DyHY-wHm.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { RefObject } from "react";
2
+
3
+ //#region src/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.d.ts
4
+ /** Detects when an element's is scrolled past and is no longer in the viewport. */
5
+ declare const useIsElementAboveViewport: (elementRef: RefObject<HTMLElement | null>) => boolean;
6
+ //#endregion
7
+ export { useIsElementAboveViewport };
8
+ //# sourceMappingURL=useIsElementAboveViewport-V1lc14eB.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { useEffect, useState } from "react";
2
2
 
3
- //#region src/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.tsx
3
+ //#region src/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.tsx
4
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);
5
+ const useIsElementAboveViewport = (elementRef) => {
6
+ const [isAboveViewport, setIsPast] = useState(false);
7
7
  useEffect(() => {
8
8
  const observer = new IntersectionObserver(([entry]) => setIsPast(entry.boundingClientRect.y < 0), { threshold: [0] });
9
9
  const currentRef = elementRef.current;
@@ -12,9 +12,9 @@ const useElementScrolledPastObserver = (elementRef) => {
12
12
  if (currentRef) observer.unobserve(currentRef);
13
13
  };
14
14
  }, [elementRef]);
15
- return isPast;
15
+ return isAboveViewport;
16
16
  };
17
17
 
18
18
  //#endregion
19
- export { useElementScrolledPastObserver };
20
- //# sourceMappingURL=useElementScrolledPastObserver-DjzJ4Mn-.js.map
19
+ export { useIsElementAboveViewport };
20
+ //# sourceMappingURL=useIsElementAboveViewport-lmdnXDdc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsElementAboveViewport-lmdnXDdc.js","names":["elementRef: RefObject<HTMLElement | null>"],"sources":["../src/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.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 useIsElementAboveViewport = (elementRef: RefObject<HTMLElement | null>): boolean => {\n const [isAboveViewport, 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 isAboveViewport;\n};\n"],"mappings":";;;;AAGA,MAAa,4BAA4B,CAACA,eAAuD;CAC/F,MAAM,CAAC,iBAAiB,UAAU,GAAG,SAAS,MAAM;AAEpD,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"}
@@ -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-BMdz-mee.d.ts.map
7
+ //# sourceMappingURL=useIsomorphicLayoutEffect-BtM0-_Y8.d.ts.map
@@ -5,4 +5,4 @@ const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffec
5
5
 
6
6
  //#endregion
7
7
  export { useIsomorphicLayoutEffect };
8
- //# sourceMappingURL=useIsomorphicLayoutEffect-B5btmYlF.js.map
8
+ //# sourceMappingURL=useIsomorphicLayoutEffect-odKYwQAV.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"useIsomorphicLayoutEffect-odKYwQAV.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"}
@@ -0,0 +1,32 @@
1
+ //#region src/utilities/hooks/useMediaQuery/useMediaQuery.d.ts
2
+ /** Hook options. */
3
+ type UseMediaQueryOptions = {
4
+ /**
5
+ * The default value to return if the hook is being run on the server.
6
+ * @default false
7
+ */
8
+ defaultValue?: boolean;
9
+ /**
10
+ * If `true` (default), the hook will initialize reading the media query. In SSR, you should set it to `false`, returning `options.defaultValue` or `false` initially.
11
+ * @default true
12
+ */
13
+ initializeWithValue?: boolean;
14
+ };
15
+ /**
16
+ * Custom hook that tracks the state of a media query using the [`Match Media API`](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia).
17
+ * @param {string} query - The media query to track.
18
+ * @param {?UseMediaQueryOptions} [options] - The options for customizing the behavior of the hook (optional).
19
+ * @returns {boolean} The current state of the media query (true if the query matches, false otherwise).
20
+ * @example
21
+ * ```tsx
22
+ * const isSmallScreen = useMediaQuery('(max-width: 600px)');
23
+ * // Use `isSmallScreen` to conditionally apply styles or logic based on the screen size.
24
+ * ```
25
+ */
26
+ declare function useMediaQuery(query: string, {
27
+ defaultValue,
28
+ initializeWithValue
29
+ }?: UseMediaQueryOptions): boolean;
30
+ //#endregion
31
+ export { UseMediaQueryOptions, useMediaQuery };
32
+ //# sourceMappingURL=useMediaQuery-B2wgHq1a.d.ts.map
@@ -0,0 +1,44 @@
1
+ import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect-odKYwQAV.js";
2
+ import { useState } from "react";
3
+
4
+ //#region src/utilities/hooks/useMediaQuery/useMediaQuery.tsx
5
+ const IS_SERVER = typeof window === "undefined";
6
+ /**
7
+ * Custom hook that tracks the state of a media query using the [`Match Media API`](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia).
8
+ * @param {string} query - The media query to track.
9
+ * @param {?UseMediaQueryOptions} [options] - The options for customizing the behavior of the hook (optional).
10
+ * @returns {boolean} The current state of the media query (true if the query matches, false otherwise).
11
+ * @example
12
+ * ```tsx
13
+ * const isSmallScreen = useMediaQuery('(max-width: 600px)');
14
+ * // Use `isSmallScreen` to conditionally apply styles or logic based on the screen size.
15
+ * ```
16
+ */
17
+ function useMediaQuery(query, { defaultValue = false, initializeWithValue = true } = {}) {
18
+ const getMatches = (query$1) => {
19
+ if (IS_SERVER) return defaultValue;
20
+ return window.matchMedia(query$1).matches;
21
+ };
22
+ const [matches, setMatches] = useState(() => {
23
+ if (initializeWithValue) return getMatches(query);
24
+ return defaultValue;
25
+ });
26
+ function handleChange() {
27
+ setMatches(getMatches(query));
28
+ }
29
+ useIsomorphicLayoutEffect(() => {
30
+ const matchMedia = window.matchMedia(query);
31
+ handleChange();
32
+ if (matchMedia.addListener) matchMedia.addListener(handleChange);
33
+ else matchMedia.addEventListener("change", handleChange);
34
+ return () => {
35
+ if (matchMedia.removeListener) matchMedia.removeListener(handleChange);
36
+ else matchMedia.removeEventListener("change", handleChange);
37
+ };
38
+ }, [query]);
39
+ return matches;
40
+ }
41
+
42
+ //#endregion
43
+ export { useMediaQuery };
44
+ //# sourceMappingURL=useMediaQuery-ICPWsO_p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery-ICPWsO_p.js","names":["query: string","query"],"sources":["../src/utilities/hooks/useMediaQuery/useMediaQuery.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** Hook options. */\nexport type UseMediaQueryOptions = {\n /**\n * The default value to return if the hook is being run on the server.\n * @default false\n */\n defaultValue?: boolean;\n /**\n * If `true` (default), the hook will initialize reading the media query. In SSR, you should set it to `false`, returning `options.defaultValue` or `false` initially.\n * @default true\n */\n initializeWithValue?: boolean;\n};\n\nconst IS_SERVER = typeof window === 'undefined';\n\n/**\n * Custom hook that tracks the state of a media query using the [`Match Media API`](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia).\n * @param {string} query - The media query to track.\n * @param {?UseMediaQueryOptions} [options] - The options for customizing the behavior of the hook (optional).\n * @returns {boolean} The current state of the media query (true if the query matches, false otherwise).\n * @example\n * ```tsx\n * const isSmallScreen = useMediaQuery('(max-width: 600px)');\n * // Use `isSmallScreen` to conditionally apply styles or logic based on the screen size.\n * ```\n */\nexport function useMediaQuery(\n query: string,\n { defaultValue = false, initializeWithValue = true }: UseMediaQueryOptions = {},\n): boolean {\n const getMatches = (query: string): boolean => {\n if (IS_SERVER) {\n return defaultValue;\n }\n return window.matchMedia(query).matches;\n };\n\n const [matches, setMatches] = useState<boolean>(() => {\n if (initializeWithValue) {\n return getMatches(query);\n }\n return defaultValue;\n });\n\n // Handles the change event of the media query.\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useIsomorphicLayoutEffect(() => {\n const matchMedia = window.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Use deprecated `addListener` and `removeListener` to support Safari < 14\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener('change', handleChange);\n }\n\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener('change', handleChange);\n }\n };\n }, [query]);\n\n return matches;\n}\n"],"mappings":";;;;AAkBA,MAAM,mBAAmB,WAAW;;;;;;;;;;;;AAapC,SAAgB,cACdA,OACA,EAAE,eAAe,OAAO,sBAAsB,MAA4B,GAAG,CAAE,GACtE;CACT,MAAM,aAAa,CAACA,YAA2B;AAC7C,MAAI,UACF,QAAO;AAET,SAAO,OAAO,WAAWC,QAAM,CAAC;CACjC;CAED,MAAM,CAAC,SAAS,WAAW,GAAG,SAAkB,MAAM;AACpD,MAAI,oBACF,QAAO,WAAW,MAAM;AAE1B,SAAO;CACR,EAAC;CAGF,SAAS,eAAe;AACtB,aAAW,WAAW,MAAM,CAAC;CAC9B;AAED,2BAA0B,MAAM;EAC9B,MAAM,aAAa,OAAO,WAAW,MAAM;AAG3C,gBAAc;AAGd,MAAI,WAAW,YACb,YAAW,YAAY,aAAa;MAEpC,YAAW,iBAAiB,UAAU,aAAa;AAGrD,SAAO,MAAM;AACX,OAAI,WAAW,eACb,YAAW,eAAe,aAAa;OAEvC,YAAW,oBAAoB,UAAU,aAAa;EAEzD;CACF,GAAE,CAAC,KAAM,EAAC;AAEX,QAAO;AACR"}
@@ -39,4 +39,4 @@ function useMergeRefs(refs) {
39
39
 
40
40
  //#endregion
41
41
  export { useMergeRefs };
42
- //# sourceMappingURL=useMergeRefs-CcJMoo46.js.map
42
+ //# sourceMappingURL=useMergeRefs-DC710CHX.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"useMergeRefs-DC710CHX.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"}
@@ -94,4 +94,4 @@ const usePagination = ({ count, page: pageProp, defaultPage, boundaryCount = 1,
94
94
 
95
95
  //#endregion
96
96
  export { usePagination };
97
- //# sourceMappingURL=usePagination-DNqO-ob2.js.map
97
+ //# sourceMappingURL=usePagination-DQR72JNE.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"usePagination-DQR72JNE.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"}
@@ -25,4 +25,4 @@ const useScrollDirection = () => {
25
25
 
26
26
  //#endregion
27
27
  export { useScrollDirection };
28
- //# sourceMappingURL=useScrollDirection-BLgp51hx.js.map
28
+ //# sourceMappingURL=useScrollDirection-C2EmQi0U.js.map
@@ -1 +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
+ {"version":3,"file":"useScrollDirection-C2EmQi0U.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"}
@@ -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-CDsglrZR.d.ts.map
@@ -1,17 +1,18 @@
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-KRDyyLma.js";
6
- import "../../dialog-trigger-context-BkQSJ-rX.js";
7
- import "../../drawer-trigger-context-B3X3kUrY.js";
8
- import "../../popover-trigger-context-CQKQbCmr.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-B237uv2H.js";
13
- import "../../pagination-item-CEfdaSuS.js";
1
+ import { UseCheckboxGroupOptions, useCheckboxGroup } from "../../useCheckboxGroup-DyHY-wHm.js";
2
+ import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-BtM0-_Y8.js";
3
+ import "../../types-BiKqUD4X.js";
4
+ import { UsePaginationProps, usePagination } from "../../alert-footer-Cqr42-cW.js";
5
+ import "../../dialog-trigger-context-DwmhJNzA.js";
6
+ import "../../drawer-trigger-context-BoS9ZcVF.js";
7
+ import "../../popover-trigger-context-D6z-_uL5.js";
8
+ import "../../dropdown-item-CKKjumy3.js";
9
+ import "../../dropdown-list-vVhxG14z.js";
10
+ import "../../footer-links-Drm2LFnw.js";
11
+ import "../../pagination-item-mKQyvHV9.js";
14
12
  import "../../sticky-header-CPHxBupp.js";
15
13
  import "../../index-CTw2zfCM.js";
16
- import "../../types-DC-FPmDA.js";
17
- export { UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
14
+ import { useIsElementAboveViewport } from "../../useIsElementAboveViewport-V1lc14eB.js";
15
+ import { useScrollDirection } from "../../useScrollDirection-CDsglrZR.js";
16
+ import { UseMediaQueryOptions, useMediaQuery } from "../../useMediaQuery-B2wgHq1a.js";
17
+ import "../../types-BiXTaZLc.js";
18
+ export { UseCheckboxGroupOptions, UseMediaQueryOptions, UsePaginationProps, useCheckboxGroup, useIsElementAboveViewport, useIsomorphicLayoutEffect, useMediaQuery, usePagination, useScrollDirection };
@@ -1,7 +1,9 @@
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";
1
+ import { useCheckboxGroup } from "../../useCheckboxGroup-BDH3ewt8.js";
2
+ import { useIsomorphicLayoutEffect } from "../../useIsomorphicLayoutEffect-odKYwQAV.js";
3
+ import { usePagination } from "../../usePagination-DQR72JNE.js";
4
+ import { useIsElementAboveViewport } from "../../useIsElementAboveViewport-lmdnXDdc.js";
5
+ import { useScrollDirection } from "../../useScrollDirection-C2EmQi0U.js";
6
+ import { useMediaQuery } from "../../useMediaQuery-ICPWsO_p.js";
7
+ import "../../hooks-A8EMc2jd.js";
6
8
 
7
- export { useCheckboxGroup, useIsomorphicLayoutEffect, useMergeRefs, usePagination };
9
+ export { useCheckboxGroup, useIsElementAboveViewport, useIsomorphicLayoutEffect, useMediaQuery, usePagination, useScrollDirection };
@@ -1,2 +1,2 @@
1
- import { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup } from "../../../useCheckboxGroup-DRhqch1m.js";
1
+ import { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup } from "../../../useCheckboxGroup-DyHY-wHm.js";
2
2
  export { UseCheckboxGroupOptions, UseCheckboxGroupReturn, useCheckboxGroup };
@@ -1,3 +1,3 @@
1
- import { useCheckboxGroup } from "../../../useCheckboxGroup-rTVawmvi.js";
1
+ import { useCheckboxGroup } from "../../../useCheckboxGroup-BDH3ewt8.js";
2
2
 
3
3
  export { useCheckboxGroup };
@@ -0,0 +1,2 @@
1
+ import { useIsElementAboveViewport } from "../../../useIsElementAboveViewport-V1lc14eB.js";
2
+ export { useIsElementAboveViewport };
@@ -0,0 +1,3 @@
1
+ import { useIsElementAboveViewport } from "../../../useIsElementAboveViewport-lmdnXDdc.js";
2
+
3
+ export { useIsElementAboveViewport };
@@ -1,2 +1,2 @@
1
- import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-BMdz-mee.js";
1
+ import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-BtM0-_Y8.js";
2
2
  export { useIsomorphicLayoutEffect };
@@ -1,3 +1,3 @@
1
- import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-B5btmYlF.js";
1
+ import { useIsomorphicLayoutEffect } from "../../../useIsomorphicLayoutEffect-odKYwQAV.js";
2
2
 
3
3
  export { useIsomorphicLayoutEffect };
@@ -0,0 +1,2 @@
1
+ import { UseMediaQueryOptions, useMediaQuery } from "../../../useMediaQuery-B2wgHq1a.js";
2
+ export { UseMediaQueryOptions, useMediaQuery };
@@ -0,0 +1,4 @@
1
+ import "../../../useIsomorphicLayoutEffect-odKYwQAV.js";
2
+ import { useMediaQuery } from "../../../useMediaQuery-ICPWsO_p.js";
3
+
4
+ export { useMediaQuery };
@@ -1,2 +1,11 @@
1
- import { useMergeRefs } from "../../../useMergeRefs-iCenhgmf.js";
2
- export { useMergeRefs };
1
+ import { Ref, RefCallback } from "react";
2
+
3
+ //#region src/utilities/hooks/useMergeRefs/useMergeRefs.d.ts
4
+
5
+ /**
6
+ * Merges an array of refs into a single memoized callback ref or `null`.
7
+ */
8
+ declare function useMergeRefs<Instance>(refs: Array<Ref<Instance> | undefined>): null | RefCallback<Instance>;
9
+ //#endregion
10
+ export { useMergeRefs };
11
+ //# sourceMappingURL=useMergeRefs.d.ts.map
@@ -1,3 +1,3 @@
1
- import { useMergeRefs } from "../../../useMergeRefs-CcJMoo46.js";
1
+ import { useMergeRefs } from "../../../useMergeRefs-DC710CHX.js";
2
2
 
3
3
  export { useMergeRefs };
@@ -1,17 +1,18 @@
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-KRDyyLma.js";
6
- import "../../../dialog-trigger-context-BkQSJ-rX.js";
7
- import "../../../drawer-trigger-context-B3X3kUrY.js";
8
- import "../../../popover-trigger-context-CQKQbCmr.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-B237uv2H.js";
13
- import "../../../pagination-item-CEfdaSuS.js";
1
+ import "../../../useCheckboxGroup-DyHY-wHm.js";
2
+ import "../../../useIsomorphicLayoutEffect-BtM0-_Y8.js";
3
+ import "../../../types-BiKqUD4X.js";
4
+ import { UsePaginationProps, usePagination } from "../../../alert-footer-Cqr42-cW.js";
5
+ import "../../../dialog-trigger-context-DwmhJNzA.js";
6
+ import "../../../drawer-trigger-context-BoS9ZcVF.js";
7
+ import "../../../popover-trigger-context-D6z-_uL5.js";
8
+ import "../../../dropdown-item-CKKjumy3.js";
9
+ import "../../../dropdown-list-vVhxG14z.js";
10
+ import "../../../footer-links-Drm2LFnw.js";
11
+ import "../../../pagination-item-mKQyvHV9.js";
14
12
  import "../../../sticky-header-CPHxBupp.js";
15
13
  import "../../../index-CTw2zfCM.js";
16
- import "../../../types-DC-FPmDA.js";
14
+ import "../../../useIsElementAboveViewport-V1lc14eB.js";
15
+ import "../../../useScrollDirection-CDsglrZR.js";
16
+ import "../../../useMediaQuery-B2wgHq1a.js";
17
+ import "../../../types-BiXTaZLc.js";
17
18
  export { UsePaginationProps, usePagination };
@@ -1,3 +1,3 @@
1
- import { usePagination } from "../../../usePagination-DNqO-ob2.js";
1
+ import { usePagination } from "../../../usePagination-DQR72JNE.js";
2
2
 
3
3
  export { usePagination };