@bi-digital/react 0.2.22 → 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 (393) hide show
  1. package/dist/{alert-footer-CmqpWEov.d.ts → alert-footer-Cqr42-cW.d.ts} +116 -85
  2. package/dist/{checkbox-CxA8UXr6.js → checkbox-ZR1Z2PCF.js} +2 -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 +16 -15
  9. package/dist/components/alert/alert.d.ts +16 -15
  10. package/dist/components/alert/index.d.ts +16 -15
  11. package/dist/components/avatar/avatar.d.ts +16 -15
  12. package/dist/components/avatar/index.d.ts +16 -15
  13. package/dist/components/badge/badge.d.ts +16 -15
  14. package/dist/components/badge/index.d.ts +16 -15
  15. package/dist/components/button/button.d.ts +16 -15
  16. package/dist/components/button/index.d.ts +16 -15
  17. package/dist/components/card/card-action.d.ts +16 -15
  18. package/dist/components/card/card-actions.d.ts +16 -15
  19. package/dist/components/card/card-content.d.ts +16 -15
  20. package/dist/components/card/card-date.d.ts +16 -15
  21. package/dist/components/card/card-header.d.ts +16 -15
  22. package/dist/components/card/card-media.d.ts +16 -15
  23. package/dist/components/card/card.d.ts +16 -15
  24. package/dist/components/card/index.d.ts +16 -15
  25. package/dist/components/checkbox/checkbox-subsection.d.ts +16 -15
  26. package/dist/components/checkbox/checkbox-subsection.js +1 -1
  27. package/dist/components/checkbox/checkbox.d.ts +16 -15
  28. package/dist/components/checkbox/checkbox.js +2 -6
  29. package/dist/components/checkbox/index.d.ts +16 -15
  30. package/dist/components/checkbox/index.js +4 -8
  31. package/dist/components/chip/chip.d.ts +16 -15
  32. package/dist/components/chip/chip.js +1 -1
  33. package/dist/components/chip/index.d.ts +16 -15
  34. package/dist/components/chip/index.js +2 -2
  35. package/dist/components/dialog/dialog-close-button.d.ts +16 -15
  36. package/dist/components/dialog/dialog-close-button.js +1 -1
  37. package/dist/components/dialog/dialog-content.d.ts +16 -15
  38. package/dist/components/dialog/dialog-content.js +1 -1
  39. package/dist/components/dialog/dialog-footer.d.ts +16 -15
  40. package/dist/components/dialog/dialog-footer.js +1 -1
  41. package/dist/components/dialog/dialog-header.d.ts +16 -15
  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 +16 -15
  46. package/dist/components/dialog/dialog-trigger.js +2 -2
  47. package/dist/components/dialog/dialog.d.ts +16 -15
  48. package/dist/components/dialog/dialog.js +3 -7
  49. package/dist/components/dialog/index.d.ts +16 -15
  50. package/dist/components/dialog/index.js +9 -13
  51. package/dist/components/drawer/drawer-close-button.d.ts +16 -15
  52. package/dist/components/drawer/drawer-close-button.js +10 -14
  53. package/dist/components/drawer/drawer-content.d.ts +16 -15
  54. package/dist/components/drawer/drawer-content.js +10 -14
  55. package/dist/components/drawer/drawer-footer.d.ts +16 -15
  56. package/dist/components/drawer/drawer-footer.js +10 -14
  57. package/dist/components/drawer/drawer-header.d.ts +16 -15
  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 +16 -15
  62. package/dist/components/drawer/drawer-trigger.js +10 -14
  63. package/dist/components/drawer/drawer.d.ts +16 -15
  64. package/dist/components/drawer/drawer.js +10 -14
  65. package/dist/components/drawer/index.d.ts +16 -15
  66. package/dist/components/drawer/index.js +17 -21
  67. package/dist/components/dropdown/dropdown-button.d.ts +16 -15
  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 +16 -15
  76. package/dist/components/dropdown/dropdown-trigger.js +6 -10
  77. package/dist/components/dropdown/dropdown.d.ts +16 -15
  78. package/dist/components/dropdown/dropdown.js +6 -10
  79. package/dist/components/dropdown/index.d.ts +16 -15
  80. package/dist/components/dropdown/index.js +12 -16
  81. package/dist/components/field/field-affix.d.ts +16 -15
  82. package/dist/components/field/field-description.d.ts +16 -15
  83. package/dist/components/field/field.d.ts +16 -15
  84. package/dist/components/field/index.d.ts +16 -15
  85. package/dist/components/fieldset/fieldset-description.d.ts +16 -15
  86. package/dist/components/fieldset/fieldset-description.js +1 -1
  87. package/dist/components/fieldset/fieldset-legend.d.ts +16 -15
  88. package/dist/components/fieldset/fieldset-legend.js +1 -1
  89. package/dist/components/fieldset/fieldset.d.ts +16 -15
  90. package/dist/components/fieldset/fieldset.js +1 -1
  91. package/dist/components/fieldset/index.d.ts +16 -15
  92. package/dist/components/fieldset/index.js +4 -4
  93. package/dist/components/filter-group/filter-group.d.ts +16 -15
  94. package/dist/components/filter-group/filter-group.js +1 -1
  95. package/dist/components/filter-group/index.d.ts +16 -15
  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 +16 -15
  100. package/dist/components/footer/footer.js +1 -1
  101. package/dist/components/footer/index.d.ts +16 -15
  102. package/dist/components/footer/index.js +3 -3
  103. package/dist/components/index.d.ts +16 -15
  104. package/dist/components/index.js +84 -83
  105. package/dist/components/input/index.d.ts +16 -15
  106. package/dist/components/input/input.d.ts +16 -15
  107. package/dist/components/label/index.d.ts +16 -15
  108. package/dist/components/label/label.d.ts +16 -15
  109. package/dist/components/link/index.d.ts +16 -15
  110. package/dist/components/link/index.js +2 -2
  111. package/dist/components/link/link.d.ts +16 -15
  112. package/dist/components/link/link.js +1 -1
  113. package/dist/components/logo/index.d.ts +16 -15
  114. package/dist/components/logo/index.js +2 -2
  115. package/dist/components/logo/logo.d.ts +16 -15
  116. package/dist/components/logo/logo.js +1 -1
  117. package/dist/components/navbar/index.d.ts +16 -15
  118. package/dist/components/navbar/index.js +12 -7
  119. package/dist/components/navbar/navbar.d.ts +16 -15
  120. package/dist/components/navbar/navbar.js +3 -3
  121. package/dist/components/navbar/sub-navbar.d.ts +16 -15
  122. package/dist/components/navbar/sub-navbar.js +8 -3
  123. package/dist/components/pagination/index.d.ts +16 -15
  124. package/dist/components/pagination/index.js +4 -4
  125. package/dist/components/pagination/pagination-button.d.ts +16 -15
  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 +16 -15
  130. package/dist/components/pagination/pagination.js +1 -1
  131. package/dist/components/popover/index.d.ts +16 -15
  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 +16 -15
  136. package/dist/components/popover/popover-trigger.js +2 -2
  137. package/dist/components/popover/popover.d.ts +16 -15
  138. package/dist/components/popover/popover.js +3 -7
  139. package/dist/components/radio/index.d.ts +16 -15
  140. package/dist/components/radio/index.js +2 -2
  141. package/dist/components/radio/radio.d.ts +16 -15
  142. package/dist/components/radio/radio.js +1 -1
  143. package/dist/components/search/index.d.ts +16 -15
  144. package/dist/components/search/index.js +2 -2
  145. package/dist/components/search/search.d.ts +16 -15
  146. package/dist/components/search/search.js +1 -1
  147. package/dist/components/select/index.d.ts +16 -15
  148. package/dist/components/select/index.js +4 -4
  149. package/dist/components/select/select-optgroup.d.ts +16 -15
  150. package/dist/components/select/select-optgroup.js +1 -1
  151. package/dist/components/select/select-option.d.ts +16 -15
  152. package/dist/components/select/select-option.js +1 -1
  153. package/dist/components/select/select.d.ts +16 -15
  154. package/dist/components/select/select.js +1 -1
  155. package/dist/components/skip-link/index.d.ts +16 -15
  156. package/dist/components/skip-link/index.js +2 -2
  157. package/dist/components/skip-link/skip-link.d.ts +16 -15
  158. package/dist/components/skip-link/skip-link.js +1 -1
  159. package/dist/components/spinner/index.d.ts +16 -15
  160. package/dist/components/spinner/spinner.d.ts +16 -15
  161. package/dist/components/sticky-header/index.d.ts +1 -1
  162. package/dist/components/sticky-header/index.js +2 -2
  163. package/dist/components/sticky-header/sticky-header.d.ts +1 -1
  164. package/dist/components/sticky-header/sticky-header.js +1 -1
  165. package/dist/components/tabs/index.d.ts +16 -15
  166. package/dist/components/tabs/index.js +5 -5
  167. package/dist/components/tabs/tab.d.ts +16 -15
  168. package/dist/components/tabs/tab.js +1 -1
  169. package/dist/components/tabs/tabs-list.d.ts +16 -15
  170. package/dist/components/tabs/tabs-list.js +1 -1
  171. package/dist/components/tabs/tabs-panel.d.ts +16 -15
  172. package/dist/components/tabs/tabs-panel.js +1 -1
  173. package/dist/components/tabs/tabs.d.ts +16 -15
  174. package/dist/components/tabs/tabs.js +1 -1
  175. package/dist/components/textarea/index.d.ts +16 -15
  176. package/dist/components/textarea/index.js +2 -2
  177. package/dist/components/textarea/textarea.d.ts +16 -15
  178. package/dist/components/textarea/textarea.js +1 -1
  179. package/dist/components/textfield/index.d.ts +16 -15
  180. package/dist/components/textfield/index.js +6 -6
  181. package/dist/components/textfield/textfield.d.ts +16 -15
  182. package/dist/components/textfield/textfield.js +5 -5
  183. package/dist/components/validation-message/index.d.ts +16 -15
  184. package/dist/components/validation-message/index.js +2 -2
  185. package/dist/components/validation-message/validation-message.d.ts +16 -15
  186. package/dist/components/validation-message/validation-message.js +1 -1
  187. package/dist/{dialog-WgEtFqJD.js → dialog-DzGRZgbP.js} +3 -3
  188. package/dist/dialog-DzGRZgbP.js.map +1 -0
  189. package/dist/{dialog-close-button-8n-DBvH4.js → dialog-close-button-B4zf0hvt.js} +1 -1
  190. package/dist/{dialog-close-button-8n-DBvH4.js.map → dialog-close-button-B4zf0hvt.js.map} +1 -1
  191. package/dist/{dialog-content-CU346luZ.js → dialog-content-R35XpbSj.js} +1 -1
  192. package/dist/{dialog-content-CU346luZ.js.map → dialog-content-R35XpbSj.js.map} +1 -1
  193. package/dist/{dialog-footer-BPCalxtL.js → dialog-footer-AoiCz_Uj.js} +1 -1
  194. package/dist/{dialog-footer-BPCalxtL.js.map → dialog-footer-AoiCz_Uj.js.map} +1 -1
  195. package/dist/{dialog-header-DsLpGnOf.js → dialog-header-Bbq9DcHX.js} +1 -1
  196. package/dist/{dialog-header-DsLpGnOf.js.map → dialog-header-Bbq9DcHX.js.map} +1 -1
  197. package/dist/{dialog-trigger-Q9Y5EG0H.js → dialog-trigger-DinHpkua.js} +2 -2
  198. package/dist/{dialog-trigger-Q9Y5EG0H.js.map → dialog-trigger-DinHpkua.js.map} +1 -1
  199. package/dist/{dialog-trigger-context-B41wR-bM.js → dialog-trigger-context-51mA5fz3.js} +1 -1
  200. package/dist/{dialog-trigger-context-B41wR-bM.js.map → dialog-trigger-context-51mA5fz3.js.map} +1 -1
  201. package/dist/{dialog-trigger-context-CedfUYNj.d.ts → dialog-trigger-context-DwmhJNzA.d.ts} +5 -5
  202. package/dist/{drawer-B8xyMitJ.js → drawer-CZ05Lizo.js} +2 -2
  203. package/dist/{drawer-B8xyMitJ.js.map → drawer-CZ05Lizo.js.map} +1 -1
  204. package/dist/{drawer-close-button-CqDqQGHP.js → drawer-close-button-DigcuqLc.js} +2 -2
  205. package/dist/{drawer-close-button-CqDqQGHP.js.map → drawer-close-button-DigcuqLc.js.map} +1 -1
  206. package/dist/{drawer-content-Dp__eciN.js → drawer-content-CFc-rxBo.js} +2 -2
  207. package/dist/{drawer-content-Dp__eciN.js.map → drawer-content-CFc-rxBo.js.map} +1 -1
  208. package/dist/{drawer-footer-qYHvZEl_.js → drawer-footer-CfHjfvEg.js} +2 -2
  209. package/dist/{drawer-footer-qYHvZEl_.js.map → drawer-footer-CfHjfvEg.js.map} +1 -1
  210. package/dist/{drawer-header-fQaZQuIY.js → drawer-header-DK4XoaaW.js} +2 -2
  211. package/dist/{drawer-header-fQaZQuIY.js.map → drawer-header-DK4XoaaW.js.map} +1 -1
  212. package/dist/{drawer-trigger-BvjTEl5N.js → drawer-trigger-Do9Htx5M.js} +2 -2
  213. package/dist/{drawer-trigger-BvjTEl5N.js.map → drawer-trigger-Do9Htx5M.js.map} +1 -1
  214. package/dist/{drawer-trigger-context-DHYdt3sB.js → drawer-trigger-context-BUWPPdas.js} +2 -2
  215. package/dist/{drawer-trigger-context-DHYdt3sB.js.map → drawer-trigger-context-BUWPPdas.js.map} +1 -1
  216. package/dist/{drawer-trigger-context-V67j5GyK.d.ts → drawer-trigger-context-BoS9ZcVF.d.ts} +3 -3
  217. package/dist/dropdown-A1PW0OoQ.js +19 -0
  218. package/dist/{dropdown-D-dX5PAl.js.map → dropdown-A1PW0OoQ.js.map} +1 -1
  219. package/dist/{dropdown-D54kcMt_.js → dropdown-b7acNLZb.js} +2 -2
  220. package/dist/{dropdown-D54kcMt_.js.map → dropdown-b7acNLZb.js.map} +1 -1
  221. package/dist/{dropdown-button-CKPaLMBh.js → dropdown-button-FQqIwqdp.js} +1 -1
  222. package/dist/{dropdown-button-CKPaLMBh.js.map → dropdown-button-FQqIwqdp.js.map} +1 -1
  223. package/dist/{dropdown-item-CnQfwJGB.d.ts → dropdown-item-CKKjumy3.d.ts} +3 -3
  224. package/dist/{dropdown-item-BnnEFIq3.js → dropdown-item-DQQXQC4J.js} +1 -1
  225. package/dist/{dropdown-item-BnnEFIq3.js.map → dropdown-item-DQQXQC4J.js.map} +1 -1
  226. package/dist/{dropdown-list-BWW85rXi.js → dropdown-list-DB1mST67.js} +1 -1
  227. package/dist/{dropdown-list-BWW85rXi.js.map → dropdown-list-DB1mST67.js.map} +1 -1
  228. package/dist/{dropdown-list-DK4FJAqB.d.ts → dropdown-list-vVhxG14z.d.ts} +3 -3
  229. package/dist/{dropdown-trigger-DfHyg_D7.js → dropdown-trigger-Fwrigwtg.js} +2 -2
  230. package/dist/{dropdown-trigger-DfHyg_D7.js.map → dropdown-trigger-Fwrigwtg.js.map} +1 -1
  231. package/dist/{dropdown-trigger-context-BpYBk_xf.js → dropdown-trigger-context-BCcyoZEx.js} +6 -3
  232. package/dist/dropdown-trigger-context-BCcyoZEx.js.map +1 -0
  233. package/dist/{fieldset-DGB7cvdz.js → fieldset-Bpu4CRKG.js} +1 -1
  234. package/dist/{fieldset-DGB7cvdz.js.map → fieldset-Bpu4CRKG.js.map} +1 -1
  235. package/dist/{fieldset-description-oNKwCGnW.js → fieldset-description-DiHvcLh-.js} +1 -1
  236. package/dist/{fieldset-description-oNKwCGnW.js.map → fieldset-description-DiHvcLh-.js.map} +1 -1
  237. package/dist/{fieldset-legend-Dseni7XM.js → fieldset-legend-CR4srn2-.js} +1 -1
  238. package/dist/{fieldset-legend-Dseni7XM.js.map → fieldset-legend-CR4srn2-.js.map} +1 -1
  239. package/dist/{filter-group-BKO5sgGt.js → filter-group-DMSPaCQt.js} +1 -1
  240. package/dist/{filter-group-BKO5sgGt.js.map → filter-group-DMSPaCQt.js.map} +1 -1
  241. package/dist/{footer-CXKRhzUT.js → footer-CU7LdbPO.js} +1 -1
  242. package/dist/{footer-CXKRhzUT.js.map → footer-CU7LdbPO.js.map} +1 -1
  243. package/dist/{footer-links-Dz1UwVuf.js → footer-links-BIUrxu38.js} +1 -1
  244. package/dist/{footer-links-Dz1UwVuf.js.map → footer-links-BIUrxu38.js.map} +1 -1
  245. package/dist/{footer-links-C9v9gcuW.d.ts → footer-links-Drm2LFnw.d.ts} +3 -3
  246. package/dist/index-CjnsNUdv.d.ts +23 -0
  247. package/dist/{index-B-0iSMVN.d.ts → index-DV9bEW_1.d.ts} +14 -3
  248. package/dist/{index-CXV3nvLQ.d.ts → index-SaA0V19q.d.ts} +14 -3
  249. package/dist/{link-BdmxFMOF.js → link-BqDeZAJF.js} +1 -1
  250. package/dist/{link-BdmxFMOF.js.map → link-BqDeZAJF.js.map} +1 -1
  251. package/dist/{logo-cfY7Ilvc.js → logo-QKrYvRFP.js} +1 -1
  252. package/dist/{logo-cfY7Ilvc.js.map → logo-QKrYvRFP.js.map} +1 -1
  253. package/dist/main.d.ts +17 -16
  254. package/dist/main.js +86 -85
  255. package/dist/{navbar-DJJMercW.js → navbar-Dxv7GQO0.js} +2 -2
  256. package/dist/{navbar-DJJMercW.js.map → navbar-Dxv7GQO0.js.map} +1 -1
  257. package/dist/{pagination-DxXjiIgC.js → pagination-DH6vZYMO.js} +1 -1
  258. package/dist/{pagination-DxXjiIgC.js.map → pagination-DH6vZYMO.js.map} +1 -1
  259. package/dist/{pagination-button-CjEZPPC8.js → pagination-button-CMSNwkeT.js} +1 -1
  260. package/dist/{pagination-button-CjEZPPC8.js.map → pagination-button-CMSNwkeT.js.map} +1 -1
  261. package/dist/{pagination-item-DXnI0BWj.js → pagination-item-DzskmZxf.js} +1 -1
  262. package/dist/{pagination-item-DXnI0BWj.js.map → pagination-item-DzskmZxf.js.map} +1 -1
  263. package/dist/{pagination-item-CEfdaSuS.d.ts → pagination-item-mKQyvHV9.d.ts} +3 -3
  264. package/dist/{popover-CGvBn3q9.js → popover-DmA4qMtu.js} +7 -7
  265. package/dist/popover-DmA4qMtu.js.map +1 -0
  266. package/dist/{popover-COi7S9pJ.js → popover-MUiGENkr.js} +8 -3
  267. package/dist/popover-MUiGENkr.js.map +1 -0
  268. package/dist/{popover-trigger-BLnIukvY.js → popover-trigger-Chi8uvRM.js} +2 -2
  269. package/dist/{popover-trigger-BLnIukvY.js.map → popover-trigger-Chi8uvRM.js.map} +1 -1
  270. package/dist/{popover-trigger-context-CGJlUS_N.js → popover-trigger-context-Cre9Mczn.js} +9 -3
  271. package/dist/popover-trigger-context-Cre9Mczn.js.map +1 -0
  272. package/dist/{popover-trigger-context-CQKQbCmr.d.ts → popover-trigger-context-D6z-_uL5.d.ts} +18 -6
  273. package/dist/{radio-Cn3PqpMt.js → radio-DAC5mhl3.js} +1 -1
  274. package/dist/{radio-Cn3PqpMt.js.map → radio-DAC5mhl3.js.map} +1 -1
  275. package/dist/{search-CdV5su_L.js → search-DRgmqncD.js} +1 -1
  276. package/dist/{search-CdV5su_L.js.map → search-DRgmqncD.js.map} +1 -1
  277. package/dist/{select-DCZV6wZu.js → select-R87VdG5U.js} +1 -1
  278. package/dist/{select-DCZV6wZu.js.map → select-R87VdG5U.js.map} +1 -1
  279. package/dist/{select-optgroup-BUaB9Yz-.js → select-optgroup-jowSQvbc.js} +1 -1
  280. package/dist/{select-optgroup-BUaB9Yz-.js.map → select-optgroup-jowSQvbc.js.map} +1 -1
  281. package/dist/{select-option-BByWq34J.js → select-option-WAhhr82L.js} +1 -1
  282. package/dist/{select-option-BByWq34J.js.map → select-option-WAhhr82L.js.map} +1 -1
  283. package/dist/{skip-link-DwuiIAvE.js → skip-link-CTmIHesZ.js} +1 -1
  284. package/dist/{skip-link-DwuiIAvE.js.map → skip-link-CTmIHesZ.js.map} +1 -1
  285. package/dist/{sticky-header-DxtaS2U0.d.ts → sticky-header-CPHxBupp.d.ts} +3 -3
  286. package/dist/{sticky-header-DWAJUj20.js → sticky-header-Dki5mPis.js} +1 -1
  287. package/dist/{sticky-header-DWAJUj20.js.map → sticky-header-Dki5mPis.js.map} +1 -1
  288. package/dist/{sub-navbar-DEudSxfj.js → sub-navbar-DkxQv0WJ.js} +4 -4
  289. package/dist/sub-navbar-DkxQv0WJ.js.map +1 -0
  290. package/dist/sub-navbar-qSNpTABT.js +120 -0
  291. package/dist/sub-navbar-qSNpTABT.js.map +1 -0
  292. package/dist/{tab-9qkzsjIT.js → tab-78y6QR5H.js} +1 -1
  293. package/dist/{tab-9qkzsjIT.js.map → tab-78y6QR5H.js.map} +1 -1
  294. package/dist/{tabs-CpaYfphj.js → tabs-UA0wAjuH.js} +1 -1
  295. package/dist/{tabs-CpaYfphj.js.map → tabs-UA0wAjuH.js.map} +1 -1
  296. package/dist/{tabs-list-UDrgmCSx.js → tabs-list-BykXXSuq.js} +1 -1
  297. package/dist/{tabs-list-UDrgmCSx.js.map → tabs-list-BykXXSuq.js.map} +1 -1
  298. package/dist/{tabs-panel-DeVzvQQw.js → tabs-panel-B8knWcZY.js} +1 -1
  299. package/dist/{tabs-panel-DeVzvQQw.js.map → tabs-panel-B8knWcZY.js.map} +1 -1
  300. package/dist/{textarea-C580HmQX.js → textarea-DUqVsdL4.js} +1 -1
  301. package/dist/{textarea-C580HmQX.js.map → textarea-DUqVsdL4.js.map} +1 -1
  302. package/dist/{textfield-CdqVq5R0.js → textfield-Di-19dz-.js} +3 -3
  303. package/dist/{textfield-CdqVq5R0.js.map → textfield-Di-19dz-.js.map} +1 -1
  304. package/dist/{types-Mj1poXVf.d.ts → types-BiKqUD4X.d.ts} +1 -1
  305. package/dist/{types-DC-FPmDA.d.ts → types-BiXTaZLc.d.ts} +1 -1
  306. package/dist/types.d.ts +1 -1
  307. package/dist/{useCheckboxGroup-rTVawmvi.js → useCheckboxGroup-BDH3ewt8.js} +1 -1
  308. package/dist/{useCheckboxGroup-rTVawmvi.js.map → useCheckboxGroup-BDH3ewt8.js.map} +1 -1
  309. package/dist/{useCheckboxGroup-DRhqch1m.d.ts → useCheckboxGroup-DyHY-wHm.d.ts} +1 -1
  310. package/dist/useIsElementAboveViewport-V1lc14eB.d.ts +8 -0
  311. package/dist/{useElementScrolledPastObserver-DjzJ4Mn-.js → useIsElementAboveViewport-lmdnXDdc.js} +6 -6
  312. package/dist/useIsElementAboveViewport-lmdnXDdc.js.map +1 -0
  313. package/dist/{useIsomorphicLayoutEffect-BMdz-mee.d.ts → useIsomorphicLayoutEffect-BtM0-_Y8.d.ts} +1 -1
  314. package/dist/{useIsomorphicLayoutEffect-B5btmYlF.js → useIsomorphicLayoutEffect-odKYwQAV.js} +1 -1
  315. package/dist/{useIsomorphicLayoutEffect-B5btmYlF.js.map → useIsomorphicLayoutEffect-odKYwQAV.js.map} +1 -1
  316. package/dist/useMediaQuery-B2wgHq1a.d.ts +32 -0
  317. package/dist/useMediaQuery-ICPWsO_p.js +44 -0
  318. package/dist/useMediaQuery-ICPWsO_p.js.map +1 -0
  319. package/dist/{useMergeRefs-CcJMoo46.js → useMergeRefs-DC710CHX.js} +1 -1
  320. package/dist/{useMergeRefs-CcJMoo46.js.map → useMergeRefs-DC710CHX.js.map} +1 -1
  321. package/dist/{usePagination-DNqO-ob2.js → usePagination-DQR72JNE.js} +1 -1
  322. package/dist/{usePagination-DNqO-ob2.js.map → usePagination-DQR72JNE.js.map} +1 -1
  323. package/dist/{useScrollDirection-BLgp51hx.js → useScrollDirection-C2EmQi0U.js} +1 -1
  324. package/dist/{useScrollDirection-BLgp51hx.js.map → useScrollDirection-C2EmQi0U.js.map} +1 -1
  325. package/dist/useScrollDirection-CDsglrZR.d.ts +11 -0
  326. package/dist/utilities/hooks/index.d.ts +17 -16
  327. package/dist/utilities/hooks/index.js +8 -6
  328. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +1 -1
  329. package/dist/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +1 -1
  330. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.d.ts +2 -0
  331. package/dist/utilities/hooks/useIsElementAboveViewport/useIsElementAboveViewport.js +3 -0
  332. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +1 -1
  333. package/dist/utilities/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  334. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.d.ts +2 -0
  335. package/dist/utilities/hooks/useMediaQuery/useMediaQuery.js +4 -0
  336. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.d.ts +11 -2
  337. package/dist/utilities/hooks/useMergeRefs/useMergeRefs.js +1 -1
  338. package/dist/utilities/hooks/usePagination/usePagination.d.ts +16 -15
  339. package/dist/utilities/hooks/usePagination/usePagination.js +1 -1
  340. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.d.ts +2 -11
  341. package/dist/utilities/hooks/useScrollDirection/useScrollDirection.js +1 -1
  342. package/dist/utilities/index.d.ts +17 -16
  343. package/dist/utilities/index.js +9 -7
  344. package/dist/utilities/types.d.ts +1 -1
  345. package/dist/{validation-message-6AQTIup_.js → validation-message-C3CmzFMz.js} +1 -1
  346. package/dist/{validation-message-6AQTIup_.js.map → validation-message-C3CmzFMz.js.map} +1 -1
  347. package/dist/vanilla/dropdown/index.d.ts +1 -1
  348. package/dist/vanilla/dropdown/index.js +2 -2
  349. package/dist/vanilla/index.d.ts +4 -3
  350. package/dist/vanilla/index.js +4 -3
  351. package/dist/vanilla/popover/index.d.ts +1 -1
  352. package/dist/vanilla/popover/index.js +1 -1
  353. package/dist/vanilla/sub-navbar/index.d.ts +2 -0
  354. package/dist/vanilla/sub-navbar/index.js +3 -0
  355. package/package.json +4 -4
  356. package/dist/checkbox-CxA8UXr6.js.map +0 -1
  357. package/dist/dialog-WgEtFqJD.js.map +0 -1
  358. package/dist/dropdown-D-dX5PAl.js +0 -15
  359. package/dist/dropdown-trigger-context-BpYBk_xf.js.map +0 -1
  360. package/dist/dropdown-trigger-context-C51vPffs.d.ts +0 -29
  361. package/dist/popover-CGvBn3q9.js.map +0 -1
  362. package/dist/popover-COi7S9pJ.js.map +0 -1
  363. package/dist/popover-trigger-context-CGJlUS_N.js.map +0 -1
  364. package/dist/sub-navbar-DEudSxfj.js.map +0 -1
  365. package/dist/useElementScrolledPastObserver-DjzJ4Mn-.js.map +0 -1
  366. package/dist/useMergeRefs-iCenhgmf.d.ts +0 -11
  367. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.d.ts +0 -8
  368. package/dist/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.js +0 -3
  369. /package/dist/{checkbox-DdQn64cR.js → checkbox-BNKPLC2A.js} +0 -0
  370. /package/dist/{chip-6KumidQL.js → chip-CotWEWjj.js} +0 -0
  371. /package/dist/{components-CUDHzsYh.js → components-BKbhmG9u.js} +0 -0
  372. /package/dist/{dialog-B6bZOPYF.js → dialog-CCde3DPt.js} +0 -0
  373. /package/dist/{drawer-sfOVHFWA.js → drawer-Cc670B_f.js} +0 -0
  374. /package/dist/{dropdown-DR0Lif3r.js → dropdown-BecLkiCE.js} +0 -0
  375. /package/dist/{fieldset-Ds2WiAnj.js → fieldset-D5HSCHPA.js} +0 -0
  376. /package/dist/{filter-group-MjaWbeZO.js → filter-group-C-q_L0lS.js} +0 -0
  377. /package/dist/{footer-Cq6w0v2j.js → footer-BThmhXy7.js} +0 -0
  378. /package/dist/{hooks-BmaG9QJW.js → hooks-A8EMc2jd.js} +0 -0
  379. /package/dist/{link-CKJeUW0o.js → link-oWcjwJYP.js} +0 -0
  380. /package/dist/{logo-CIDSfhf9.js → logo-Dx-VZMJu.js} +0 -0
  381. /package/dist/{navbar-BuFLsqCZ.js → navbar-CgY7xCrh.js} +0 -0
  382. /package/dist/{pagination-DUyQRuUE.js → pagination-DP8yM-lj.js} +0 -0
  383. /package/dist/{popover-C4QdJkKG.js → popover-Ch_2ehYy.js} +0 -0
  384. /package/dist/{radio-Uyx2D7dl.js → radio-CqUVAF9T.js} +0 -0
  385. /package/dist/{search-VYIc3wFh.js → search-DPfMkuMX.js} +0 -0
  386. /package/dist/{select-D1X9tdeH.js → select-COon86Fr.js} +0 -0
  387. /package/dist/{skip-link-CGmg3TAi.js → skip-link-Cl5tUnjp.js} +0 -0
  388. /package/dist/{sticky-header-CII-Yy5M.js → sticky-header-B1bz37dV.js} +0 -0
  389. /package/dist/{tabs-CYBqn2Kj.js → tabs-Gam5A0Jd.js} +0 -0
  390. /package/dist/{textarea-D37K5D86.js → textarea-SnVkE05Y.js} +0 -0
  391. /package/dist/{textfield-CWoUw1b2.js → textfield-vutZ4Ch8.js} +0 -0
  392. /package/dist/{utilities-JoKvbhOy.js → utilities-CScrp2iY.js} +0 -0
  393. /package/dist/{validation-message-B4lI2a0K.js → validation-message-CtPYa33u.js} +0 -0
@@ -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-CmqpWEov.js";
6
- import "../../dialog-trigger-context-CedfUYNj.js";
7
- import "../../drawer-trigger-context-V67j5GyK.js";
8
- import "../../popover-trigger-context-CQKQbCmr.js";
9
- import "../../dropdown-item-CnQfwJGB.js";
10
- import "../../dropdown-list-DK4FJAqB.js";
11
- import "../../dropdown-trigger-context-C51vPffs.js";
12
- import "../../footer-links-C9v9gcuW.js";
13
- import "../../pagination-item-CEfdaSuS.js";
14
- import "../../sticky-header-DxtaS2U0.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";
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-CmqpWEov.js";
6
- import "../../../dialog-trigger-context-CedfUYNj.js";
7
- import "../../../drawer-trigger-context-V67j5GyK.js";
8
- import "../../../popover-trigger-context-CQKQbCmr.js";
9
- import "../../../dropdown-item-CnQfwJGB.js";
10
- import "../../../dropdown-list-DK4FJAqB.js";
11
- import "../../../dropdown-trigger-context-C51vPffs.js";
12
- import "../../../footer-links-C9v9gcuW.js";
13
- import "../../../pagination-item-CEfdaSuS.js";
14
- import "../../../sticky-header-DxtaS2U0.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";
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 };
@@ -1,11 +1,2 @@
1
- //#region src/utilities/hooks/useScrollDirection/useScrollDirection.d.ts
2
- /**
3
- * A custom React hook that detects the vertical scroll direction of the page.
4
- *
5
- * @returns {'up' | 'down' | null} The current scroll direction. Returns `null` on the initial render.
6
- * The direction is only updated if the scroll distance exceeds a 5px threshold to prevent sensitivity to minor scroll jitter.
7
- */
8
- declare const useScrollDirection: () => "up" | "down" | null;
9
- //#endregion
10
- export { useScrollDirection };
11
- //# sourceMappingURL=useScrollDirection.d.ts.map
1
+ import { useScrollDirection } from "../../../useScrollDirection-CDsglrZR.js";
2
+ export { useScrollDirection };
@@ -1,3 +1,3 @@
1
- import { useScrollDirection } from "../../../useScrollDirection-BLgp51hx.js";
1
+ import { useScrollDirection } from "../../../useScrollDirection-C2EmQi0U.js";
2
2
 
3
3
  export { useScrollDirection };
@@ -1,17 +1,18 @@
1
- import { UseCheckboxGroupOptions, useCheckboxGroup } from "../useCheckboxGroup-DRhqch1m.js";
2
- import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-BMdz-mee.js";
3
- import "../useMergeRefs-iCenhgmf.js";
4
- import "../types-Mj1poXVf.js";
5
- import { UsePaginationProps, usePagination } from "../alert-footer-CmqpWEov.js";
6
- import "../dialog-trigger-context-CedfUYNj.js";
7
- import "../drawer-trigger-context-V67j5GyK.js";
8
- import "../popover-trigger-context-CQKQbCmr.js";
9
- import "../dropdown-item-CnQfwJGB.js";
10
- import "../dropdown-list-DK4FJAqB.js";
11
- import "../dropdown-trigger-context-C51vPffs.js";
12
- import "../footer-links-C9v9gcuW.js";
13
- import "../pagination-item-CEfdaSuS.js";
14
- import "../sticky-header-DxtaS2U0.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";
12
+ import "../sticky-header-CPHxBupp.js";
15
13
  import "../index-CTw2zfCM.js";
16
- import { MergeRight } from "../types-DC-FPmDA.js";
17
- export { MergeRight, UseCheckboxGroupOptions, UsePaginationProps, useCheckboxGroup, useIsomorphicLayoutEffect, 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 { MergeRight } from "../types-BiXTaZLc.js";
18
+ export { MergeRight, UseCheckboxGroupOptions, UseMediaQueryOptions, UsePaginationProps, useCheckboxGroup, useIsElementAboveViewport, useIsomorphicLayoutEffect, useMediaQuery, usePagination, useScrollDirection };
@@ -1,8 +1,10 @@
1
- import { useCheckboxGroup } from "../useCheckboxGroup-rTVawmvi.js";
2
- import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect-B5btmYlF.js";
3
- import "../useMergeRefs-CcJMoo46.js";
4
- import { usePagination } from "../usePagination-DNqO-ob2.js";
5
- import "../hooks-BmaG9QJW.js";
6
- import "../utilities-JoKvbhOy.js";
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";
8
+ import "../utilities-CScrp2iY.js";
7
9
 
8
- export { useCheckboxGroup, useIsomorphicLayoutEffect, usePagination };
10
+ export { useCheckboxGroup, useIsElementAboveViewport, useIsomorphicLayoutEffect, useMediaQuery, usePagination, useScrollDirection };
@@ -1,2 +1,2 @@
1
- import { MergeRight } from "../types-DC-FPmDA.js";
1
+ import { MergeRight } from "../types-BiXTaZLc.js";
2
2
  export { MergeRight };
@@ -16,4 +16,4 @@ const ValidationMessage = ({ children, className, icon, asChild, ref,...props })
16
16
 
17
17
  //#endregion
18
18
  export { ValidationMessage };
19
- //# sourceMappingURL=validation-message-6AQTIup_.js.map
19
+ //# sourceMappingURL=validation-message-C3CmzFMz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-message-6AQTIup_.js","names":[],"sources":["../src/components/validation-message/validation-message.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { AsChildProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { BiIconError } from '@bi-digital/icons-react';\n\nexport type ValidationMessageProps = MergeRight<\n AsChildProps & HTMLAttributes<HTMLParagraphElement>,\n {\n /** Override the default warning icon. Must be a BiIcon to work correctly. */\n icon?: ReactNode;\n ref?: Ref<HTMLParagraphElement>;\n }\n>;\n\nexport const ValidationMessage = ({ children, className, icon, asChild, ref, ...props }: ValidationMessageProps) => {\n const Component = asChild ? Slot : 'p';\n\n return (\n <Component className={clsx('bi-validation-message', className)} ref={ref} {...props}>\n {icon || <BiIconError />}\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAgBA,MAAa,oBAAoB,CAAC,EAAE,UAAU,WAAW,MAAM,SAAS,IAAK,GAAG,OAA+B,KAAK;CAClH,MAAM,YAAY,UAAU,OAAO;AAEnC,wBACE,KAAC;EAAU,WAAW,KAAK,yBAAyB,UAAU;EAAO;EAAK,GAAI;aAC3E,wBAAQ,IAAC,gBAAc,EACvB;GACS;AAEf"}
1
+ {"version":3,"file":"validation-message-C3CmzFMz.js","names":[],"sources":["../src/components/validation-message/validation-message.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { AsChildProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { BiIconError } from '@bi-digital/icons-react';\n\nexport type ValidationMessageProps = MergeRight<\n AsChildProps & HTMLAttributes<HTMLParagraphElement>,\n {\n /** Override the default warning icon. Must be a BiIcon to work correctly. */\n icon?: ReactNode;\n ref?: Ref<HTMLParagraphElement>;\n }\n>;\n\nexport const ValidationMessage = ({ children, className, icon, asChild, ref, ...props }: ValidationMessageProps) => {\n const Component = asChild ? Slot : 'p';\n\n return (\n <Component className={clsx('bi-validation-message', className)} ref={ref} {...props}>\n {icon || <BiIconError />}\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAgBA,MAAa,oBAAoB,CAAC,EAAE,UAAU,WAAW,MAAM,SAAS,IAAK,GAAG,OAA+B,KAAK;CAClH,MAAM,YAAY,UAAU,OAAO;AAEnC,wBACE,KAAC;EAAU,WAAW,KAAK,yBAAyB,UAAU;EAAO;EAAK,GAAI;aAC3E,wBAAQ,IAAC,gBAAc,EACvB;GACS;AAEf"}
@@ -1,2 +1,2 @@
1
- import { InitDropdownOptions, initDropdown } from "../../index-B-0iSMVN.js";
1
+ import { InitDropdownOptions, initDropdown } from "../../index-DV9bEW_1.js";
2
2
  export { InitDropdownOptions, initDropdown };
@@ -1,4 +1,4 @@
1
- import "../../popover-COi7S9pJ.js";
2
- import { initDropdown } from "../../dropdown-D-dX5PAl.js";
1
+ import "../../popover-MUiGENkr.js";
2
+ import { initDropdown } from "../../dropdown-A1PW0OoQ.js";
3
3
 
4
4
  export { initDropdown };
@@ -1,3 +1,4 @@
1
- import { InitDropdownOptions, initDropdown } from "../index-B-0iSMVN.js";
2
- import { InitPopoverOptions, initPopover } from "../index-CXV3nvLQ.js";
3
- export { InitDropdownOptions, InitPopoverOptions, initDropdown, initPopover };
1
+ import { InitDropdownOptions, initDropdown } from "../index-DV9bEW_1.js";
2
+ import { InitPopoverOptions, initPopover } from "../index-SaA0V19q.js";
3
+ import { InitSubNavbarOptions, initSubNavbar } from "../index-CjnsNUdv.js";
4
+ export { InitDropdownOptions, InitPopoverOptions, InitSubNavbarOptions, initDropdown, initPopover, initSubNavbar };
@@ -1,4 +1,5 @@
1
- import { initPopover } from "../popover-COi7S9pJ.js";
2
- import { initDropdown } from "../dropdown-D-dX5PAl.js";
1
+ import { initPopover } from "../popover-MUiGENkr.js";
2
+ import { initDropdown } from "../dropdown-A1PW0OoQ.js";
3
+ import { initSubNavbar } from "../sub-navbar-qSNpTABT.js";
3
4
 
4
- export { initDropdown, initPopover };
5
+ export { initDropdown, initPopover, initSubNavbar };
@@ -1,2 +1,2 @@
1
- import { InitPopoverOptions, initPopover } from "../../index-CXV3nvLQ.js";
1
+ import { InitPopoverOptions, initPopover } from "../../index-SaA0V19q.js";
2
2
  export { InitPopoverOptions, initPopover };
@@ -1,3 +1,3 @@
1
- import { initPopover } from "../../popover-COi7S9pJ.js";
1
+ import { initPopover } from "../../popover-MUiGENkr.js";
2
2
 
3
3
  export { initPopover };
@@ -0,0 +1,2 @@
1
+ import { InitSubNavbarOptions, initSubNavbar } from "../../index-CjnsNUdv.js";
2
+ export { InitSubNavbarOptions, initSubNavbar };
@@ -0,0 +1,3 @@
1
+ import { initSubNavbar } from "../../sub-navbar-qSNpTABT.js";
2
+
3
+ export { initSubNavbar };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bi-digital/react",
3
- "version": "0.2.22",
3
+ "version": "0.2.23",
4
4
  "type": "module",
5
5
  "description": "React components from BI Digital",
6
6
  "author": "BI Digital",
@@ -47,13 +47,13 @@
47
47
  "tsdown": "^0.12.7",
48
48
  "typescript": "^5.7.2",
49
49
  "vitest": "^3.2.1",
50
- "@bi-digital/icons-react": "0.2.22"
50
+ "@bi-digital/icons-react": "0.2.23"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^19",
54
54
  "react-dom": "^19",
55
- "@bi-digital/css": "0.2.22",
56
- "@bi-digital/icons-react": "0.2.22"
55
+ "@bi-digital/css": "0.2.23",
56
+ "@bi-digital/icons-react": "0.2.23"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsdown",
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-CxA8UXr6.js","names":["input: HTMLInputElement | null"],"sources":["../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { useEffect, useId, useRef, type ReactNode, type Ref } from 'react';\n\nimport type { LabelRequiredProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Field, FieldDescription } from '../field';\nimport { Input, type InputProps } from '../input';\nimport { Label } from '../label';\nimport { useMergeRefs } from '../../utilities/hooks';\n\nexport type CheckboxProps = MergeRight<\n LabelRequiredProps & Omit<InputProps, 'type' | 'role' | 'size'>,\n {\n /** Label */\n label?: ReactNode;\n /** Description */\n description?: ReactNode;\n /** Add error indication to the checkbox. */\n error?: boolean;\n /** Specify whether the Checkbox is indeterminate */\n indeterminate?: boolean;\n /** If true, the checkbox will take up the full width of the container, and not just \"fit-content\" which is default */\n fullwidth?: boolean;\n ref?: Ref<HTMLInputElement>;\n }\n>;\n\nexport const Checkbox = ({\n dark,\n label,\n description,\n error,\n fullwidth,\n style,\n className,\n indeterminate,\n ref,\n id,\n 'aria-describedby': ariaDescribedByProp,\n ...props\n}: CheckboxProps) => {\n const checkRef = useRef<HTMLInputElement>(null);\n const refs = useMergeRefs([checkRef, ref]);\n const descriptionId = useId();\n\n useEffect(() => {\n let input: HTMLInputElement | null;\n if (ref && typeof ref !== 'function') {\n input = ref.current;\n } else {\n input = checkRef.current;\n }\n\n if (input) {\n input.indeterminate = indeterminate || false;\n }\n }, [indeterminate, checkRef, ref]);\n\n const ariaDescribedBy = [description ? descriptionId : '', ariaDescribedByProp].join(' ').trim() || undefined;\n\n return (\n <Field className={className} data-dark={dark} style={style} fullwidth={fullwidth} asChild>\n <label>\n <Input\n type='checkbox'\n id={id}\n ref={refs}\n aria-invalid={error || undefined}\n aria-describedby={ariaDescribedBy}\n dark={dark}\n {...props}\n />\n {label && (\n <Label weight='medium' htmlFor={id} asChild>\n <span>{label}</span>\n </Label>\n )}\n {description && (\n // Aria-hidden is used to prevent screen readers from reading the description twice:\n // once as part of the label and once from being connected through aria-describedby.\n <FieldDescription aria-hidden='true' id={descriptionId}>\n {description}\n </FieldDescription>\n )}\n </label>\n </Field>\n );\n};\n"],"mappings":";;;;;;;;;AA0BA,MAAa,WAAW,CAAC,EACvB,MACA,OACA,aACA,OACA,WACA,OACA,WACA,eACA,KACA,IACA,oBAAoB,oBACpB,GAAG,OACW,KAAK;CACnB,MAAM,WAAW,OAAyB,KAAK;CAC/C,MAAM,OAAO,aAAa,CAAC,UAAU,GAAI,EAAC;CAC1C,MAAM,gBAAgB,OAAO;AAE7B,WAAU,MAAM;EACd,IAAIA;AACJ,MAAI,cAAc,QAAQ,WACxB,SAAQ,IAAI;MAEZ,SAAQ,SAAS;AAGnB,MAAI,MACF,OAAM,gBAAgB,iBAAiB;CAE1C,GAAE;EAAC;EAAe;EAAU;CAAI,EAAC;CAElC,MAAM,kBAAkB,CAAC,cAAc,gBAAgB,IAAI,mBAAoB,EAAC,KAAK,IAAI,CAAC,MAAM;AAEhG,wBACE,IAAC;EAAiB;EAAW,aAAW;EAAa;EAAkB;EAAW;4BAChF,KAAC;mBACC,IAAC;IACC,MAAK;IACD;IACJ,KAAK;IACL,gBAAc;IACd,oBAAkB;IACZ;IACN,GAAI;KACJ;GACD,yBACC,IAAC;IAAM,QAAO;IAAS,SAAS;IAAI;8BAClC,IAAC,oBAAM,QAAa;KACd;GAET,+BAGC,IAAC;IAAiB,eAAY;IAAO,IAAI;cACtC;KACgB;MAEf;GACF;AAEX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog-WgEtFqJD.js","names":["event: Event"],"sources":["../src/components/dialog/dialog.tsx"],"sourcesContent":["// Thanks to Designsystemet:\n// https://github.com/digdir/designsystemet/blob/42d3f327edb87a1455e8257200c838b55295ed82/packages/react/src/components/Dialog/Dialog.tsx\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx/lite';\nimport type { DialogHTMLAttributes, Ref } from 'react';\nimport { useContext, useEffect, useRef } from 'react';\nimport { useMergeRefs } from '../../utilities/hooks';\n\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { Context } from './dialog-trigger-context';\n\nexport type DialogProps = MergeRight<\n DefaultProps & DialogHTMLAttributes<HTMLDialogElement>,\n {\n /**\n * Dismiss behavior.\n *\n * - `closedby=\"any\"`: Close dialog on close button click, backdrop click or ESC key.\n * - `closedby=\"closerequest\"`: Close dialog on close button click or ESC key.\n * - `closedby=\"none\"`: Close dialog on close button click.\n *\n * @default 'any'\n */\n closedby?: 'none' | 'closerequest' | 'any';\n /**\n * Determines if the dialog is open or not.\n */\n open?: boolean;\n /**\n * Callback that is called when the dialog is closed.\n */\n onClose?: (event: Event) => 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<HTMLDialogElement>;\n }\n>;\n\n/**\n * Dialog component, used to display a dialog.\n *\n * @example With TriggerContext:\n * <DialogTriggerContext>\n * <DialogTrigger>Open Dialog</DialogTrigger>\n * <Dialog>\n * <DialogHeader>Dialog Header</DialogHeader>\n * <DialogContent>Dialog Content</DialogContent>\n * <DialogFooter>\n * <Button variant='text'>Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </Dialog>\n * </DialogTriggerContext>\n *\n * @example Without TriggerContext:\n * const dialogRef = useRef<HTMLDialogElement>(null);\n *\n * ...\n *\n * <Button onClick={() => dialogRef.current?.showModal()}>Open Dialog</Button>\n * <Dialog ref={dialogRef}>\n * <DialogHeader>Dialog Header</DialogHeader>\n * <DialogContent>Dialog Content</DialogContent>\n * <DialogFooter>\n * <Button variant='text'>Cancel</Button>\n * <Button>Confirm</Button>\n * </DialogFooter>\n * </Dialog>\n */\nexport const Dialog = ({\n asChild,\n children,\n className,\n closedby = 'any',\n onClose,\n open,\n dark,\n ref,\n ...rest\n}: DialogProps) => {\n const contextRef = useContext(Context);\n const dialogRef = useRef<HTMLDialogElement>(null); // This local ref is used to make sure the dialog works without a DialogTriggerContext\n const Component = asChild ? Slot : 'dialog';\n const mergedRefs = useMergeRefs([contextRef, ref, dialogRef]);\n\n useEffect(() => dialogRef.current?.[open ? 'showModal' : 'close'](), [open]); // Toggle open based on prop\n\n useEffect(() => {\n const dialog = dialogRef.current;\n const handleClosedby = (event: Event) => {\n const { clientY: y, clientX: x, target } = event as MouseEvent;\n if (event instanceof KeyboardEvent)\n return closedby === 'none' && event.key === 'Escape' && event.preventDefault(); // Skip ESC-key if closedby=\"none\"\n if (window.getSelection()?.toString()) return; // Fix bug where if you select text spanning two divs it thinks you clicked outside\n if (dialog && target === dialog && closedby === 'any') {\n const { top, left, right, bottom } = dialog.getBoundingClientRect();\n const isInDialog = top <= y && y <= bottom && left <= x && x <= right;\n\n if (!isInDialog) dialog?.close(); // Both <dialog> and ::backdrop is considered same event.target\n }\n };\n\n const handleAutoFocus = () => {\n const autofocus = dialog?.querySelector<HTMLElement>('[autofocus]');\n if (document.activeElement !== autofocus) autofocus?.focus();\n };\n\n dialog?.addEventListener('animationend', handleAutoFocus);\n dialog?.addEventListener('click', handleClosedby);\n dialog?.addEventListener('keydown', handleClosedby);\n return () => {\n dialog?.removeEventListener('animationend', handleAutoFocus);\n dialog?.removeEventListener('click', handleClosedby);\n dialog?.removeEventListener('keydown', handleClosedby);\n };\n }, [closedby]);\n\n /* handle closing */\n useEffect(() => {\n const dialog = dialogRef.current;\n const handleClose = (event: Event) => onClose?.(event);\n\n dialog?.addEventListener('close', handleClose);\n return () => dialog?.removeEventListener('close', handleClose);\n }, [onClose]);\n\n return (\n <Component className={clsx('bi-dialog', className)} data-dark={dark} ref={mergedRefs} {...rest}>\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA,MAAa,SAAS,CAAC,EACrB,SACA,UACA,WACA,WAAW,OACX,SACA,MACA,MACA,IACA,GAAG,MACS,KAAK;CACjB,MAAM,aAAa,WAAW,QAAQ;CACtC,MAAM,YAAY,OAA0B,KAAK;CACjD,MAAM,YAAY,UAAU,OAAO;CACnC,MAAM,aAAa,aAAa;EAAC;EAAY;EAAK;CAAU,EAAC;AAE7D,WAAU,MAAM,UAAU,UAAU,OAAO,cAAc,UAAU,EAAE,CAAC,IAAK,EAAC;AAE5E,WAAU,MAAM;EACd,MAAM,SAAS,UAAU;EACzB,MAAM,iBAAiB,CAACA,UAAiB;GACvC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG;AAC3C,OAAI,iBAAiB,cACnB,QAAO,aAAa,UAAU,MAAM,QAAQ,YAAY,MAAM,gBAAgB;AAChF,OAAI,OAAO,cAAc,EAAE,UAAU,CAAE;AACvC,OAAI,UAAU,WAAW,UAAU,aAAa,OAAO;IACrD,MAAM,EAAE,KAAK,MAAM,OAAO,QAAQ,GAAG,OAAO,uBAAuB;IACnE,MAAM,aAAa,OAAO,KAAK,KAAK,UAAU,QAAQ,KAAK,KAAK;AAEhE,SAAK,WAAY,SAAQ,OAAO;GACjC;EACF;EAED,MAAM,kBAAkB,MAAM;GAC5B,MAAM,YAAY,QAAQ,cAA2B,cAAc;AACnE,OAAI,SAAS,kBAAkB,UAAW,YAAW,OAAO;EAC7D;AAED,UAAQ,iBAAiB,gBAAgB,gBAAgB;AACzD,UAAQ,iBAAiB,SAAS,eAAe;AACjD,UAAQ,iBAAiB,WAAW,eAAe;AACnD,SAAO,MAAM;AACX,WAAQ,oBAAoB,gBAAgB,gBAAgB;AAC5D,WAAQ,oBAAoB,SAAS,eAAe;AACpD,WAAQ,oBAAoB,WAAW,eAAe;EACvD;CACF,GAAE,CAAC,QAAS,EAAC;AAGd,WAAU,MAAM;EACd,MAAM,SAAS,UAAU;EACzB,MAAM,cAAc,CAACA,UAAiB,UAAU,MAAM;AAEtD,UAAQ,iBAAiB,SAAS,YAAY;AAC9C,SAAO,MAAM,QAAQ,oBAAoB,SAAS,YAAY;CAC/D,GAAE,CAAC,OAAQ,EAAC;AAEb,wBACE,IAAC;EAAU,WAAW,KAAK,aAAa,UAAU;EAAE,aAAW;EAAM,KAAK;EAAY,GAAI;EACvF;GACS;AAEf"}
@@ -1,15 +0,0 @@
1
- import { initPopover } from "./popover-COi7S9pJ.js";
2
-
3
- //#region src/vanilla/dropdown/index.ts
4
- const initDropdown = ({ id, disableAutoPlacement = false, placement = "bottom", positionMiddleware = [] }) => {
5
- initPopover({
6
- id,
7
- disableAutoPlacement,
8
- placement,
9
- positionMiddleware
10
- });
11
- };
12
-
13
- //#endregion
14
- export { initDropdown };
15
- //# sourceMappingURL=dropdown-D-dX5PAl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-trigger-context-BpYBk_xf.js","names":[],"sources":["../src/components/dropdown/dropdown-trigger-context.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { PopoverTriggerContext } from '../popover';\n\nexport type DropdownTriggerContextProps = {\n children: ReactNode;\n};\n\n/**\n * DropdownTriggerContext component, use to wrap a DropdownTrigger and Dropdown.\n *\n * @example\n * <DropdownTriggerContext>\n * <DropdownTrigger>Dropdown</DropdownTrigger>\n * <Dropdown>\n * <DropdownHeading>Heading</DropdownHeading>\n * <DropdownList>\n * <DropdownItem>\n * <DropdownButton>Button</DropdownButton>\n * </DropdownItem>\n * </DropdownList>\n * </Dropdown>\n * </DropdownTriggerContext>\n */\nexport const DropdownTriggerContext = ({ children }: DropdownTriggerContextProps) => (\n <PopoverTriggerContext>{children}</PopoverTriggerContext>\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,MAAa,yBAAyB,CAAC,EAAE,UAAuC,qBAC9E,IAAC,yBAAuB,WAAiC"}
@@ -1,29 +0,0 @@
1
- import * as react_jsx_runtime32 from "react/jsx-runtime";
2
- import { ReactNode } from "react";
3
-
4
- //#region src/components/dropdown/dropdown-trigger-context.d.ts
5
- type DropdownTriggerContextProps = {
6
- children: ReactNode;
7
- };
8
- /**
9
- * DropdownTriggerContext component, use to wrap a DropdownTrigger and Dropdown.
10
- *
11
- * @example
12
- * <DropdownTriggerContext>
13
- * <DropdownTrigger>Dropdown</DropdownTrigger>
14
- * <Dropdown>
15
- * <DropdownHeading>Heading</DropdownHeading>
16
- * <DropdownList>
17
- * <DropdownItem>
18
- * <DropdownButton>Button</DropdownButton>
19
- * </DropdownItem>
20
- * </DropdownList>
21
- * </Dropdown>
22
- * </DropdownTriggerContext>
23
- */
24
- declare const DropdownTriggerContext: ({
25
- children
26
- }: DropdownTriggerContextProps) => react_jsx_runtime32.JSX.Element;
27
- //#endregion
28
- export { DropdownTriggerContext, DropdownTriggerContextProps };
29
- //# sourceMappingURL=dropdown-trigger-context-C51vPffs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-CGvBn3q9.js","names":["event: MouseEvent","event: KeyboardEvent"],"sources":["../src/components/popover/popover.tsx"],"sourcesContent":["// Thanks to Designsystemet:\n// https://github.com/digdir/designsystemet/blob/8aa6dc274e5b0338d15572f44b5dd3fab6fa4eb1/packages/react/src/components/Popover/Popover.tsx\n\nimport { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\nimport { Slot } from '@radix-ui/react-slot';\nimport cl from 'clsx/lite';\nimport { use, useRef } from 'react';\nimport type { HTMLAttributes, Ref } from 'react';\nimport { useEffect } from 'react';\nimport type { DefaultProps } from '../../types';\nimport type { MergeRight } from '../../utilities';\nimport { useMergeRefs } from '../../utilities/hooks';\nimport { Context } from './popover-trigger-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nconst padding = 20;\n\nexport type PopoverProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n /**\n * `id` to connect the trigger with the popover - required when not using PopoverContext.\n */\n id?: string;\n /**\n * Placement of the popover on the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * When a boolean is provided, the popover will be controlled.\n * @default undefined\n */\n open?: boolean;\n /**\n * Callback when the open state changes.\n * @param open - The new open state of the popover.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware={[\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n ref?: Ref<HTMLDivElement>;\n }\n>;\n\n/**\n * Popover component, used to display content in a popover over an element.\n *\n * @example with TriggerContext\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n *\n * @example without TriggerContext\n * <Button aria-controls=\"my-popover\" aria-expanded={open}>Open Popover</Button>\n * <Popover open={open} onOpenChange={onOpenChange} id=\"my-popover\">\n * Content\n * </Popover>\n */\nexport const Popover = ({\n id,\n className,\n onOpenChange,\n open,\n placement = 'top',\n disableAutoPlacement = false,\n positionMiddleware = [],\n dark = false,\n asChild = false,\n ref,\n ...rest\n}: PopoverProps) => {\n const Component = asChild ? Slot : 'div';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const isControlled = useRef(open !== undefined);\n const mergedRefs = useMergeRefs([popoverRef, ref]);\n const { popoverId, setPopoverId, popoverOpen, setPopoverOpen } = use(Context);\n\n const [isOpen, setIsOpen] = useControllableState({\n prop: isControlled.current ? open : popoverOpen,\n onChange: (val) => {\n onOpenChange?.(val);\n setPopoverOpen?.(val);\n },\n defaultProp: false,\n caller: 'Popover',\n });\n\n useEffect(() => {\n const popover = popoverRef.current;\n const handleClick = (event: MouseEvent) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(`[aria-controls=\"${popover?.id}\"]`);\n const isOutside = !isTrigger && !popover?.contains(el as Node);\n\n if (isOutside) {\n setIsOpen(false);\n }\n };\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !isOpen) return;\n event.preventDefault(); // Prevent closing fullscreen in Safari\n setIsOpen(false);\n };\n\n document.addEventListener('click', handleClick, true); // Use capture to execute before React event API\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('click', handleClick, true);\n document.removeEventListener('keydown', handleKeydown);\n };\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n const popover = popoverRef.current;\n const trigger = document.querySelector(`[aria-controls=\"${popover?.id}\"]`);\n\n if (popover && trigger && isOpen)\n return autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding, strategy: 'escaped' }),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n }, [isOpen, placement, id, disableAutoPlacement, positionMiddleware]);\n\n // Update context with id\n useEffect(() => {\n if (id) setPopoverId?.(id);\n }, [id, setPopoverId]);\n\n return (\n <Component\n className={cl('bi-popover', className)}\n id={id || popoverId}\n aria-hidden={!isOpen}\n data-dark={dark}\n ref={mergedRefs}\n {...rest}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,UAAU;;;;;;;;;;;;;;;;;;AA4EhB,MAAa,UAAU,CAAC,EACtB,IACA,WACA,cACA,MACA,YAAY,OACZ,uBAAuB,OACvB,qBAAqB,CAAE,GACvB,OAAO,OACP,UAAU,OACV,IACA,GAAG,MACU,KAAK;CAClB,MAAM,YAAY,UAAU,OAAO;CAEnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAO,gBAAmB;CAC/C,MAAM,aAAa,aAAa,CAAC,YAAY,GAAI,EAAC;CAClD,MAAM,EAAE,WAAW,cAAc,aAAa,gBAAgB,GAAG,IAAI,QAAQ;CAE7E,MAAM,CAAC,QAAQ,UAAU,GAAG,qBAAqB;EAC/C,MAAM,aAAa,UAAU,OAAO;EACpC,UAAU,CAAC,QAAQ;AACjB,kBAAe,IAAI;AACnB,oBAAiB,IAAI;EACtB;EACD,aAAa;EACb,QAAQ;CACT,EAAC;AAEF,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,cAAc,CAACA,UAAsB;GACzC,MAAM,KAAK,MAAM;GACjB,MAAM,YAAY,IAAI,WAAW,kBAAkB,SAAS,GAAG,IAAI;GACnE,MAAM,aAAa,cAAc,SAAS,SAAS,GAAW;AAE9D,OAAI,UACF,WAAU,MAAM;EAEnB;EAED,MAAM,gBAAgB,CAACC,UAAyB;AAC9C,OAAI,MAAM,QAAQ,aAAa,OAAQ;AACvC,SAAM,gBAAgB;AACtB,aAAU,MAAM;EACjB;AAED,WAAS,iBAAiB,SAAS,aAAa,KAAK;AACrD,WAAS,iBAAiB,WAAW,cAAc;AACnD,SAAO,MAAM;AACX,YAAS,oBAAoB,SAAS,aAAa,KAAK;AACxD,YAAS,oBAAoB,WAAW,cAAc;EACvD;CACF,GAAE,CAAC,QAAQ,SAAU,EAAC;AAEvB,WAAU,MAAM;EACd,MAAM,UAAU,WAAW;EAC3B,MAAM,UAAU,SAAS,eAAe,kBAAkB,SAAS,GAAG,IAAI;AAE1E,MAAI,WAAW,WAAW,OACxB,QAAO,WAAW,SAAS,SAAS,MAAM;AACxC,mBAAgB,SAAS,SAAS;IAChC,YAAY;KACV,OAAO,QAAQ;KACf,GAAI,uBAAuB,CAAE,IAAG,CAAC,KAAK,EAAE,QAAS,EAAC,EAAE,MAAM,EAAE,QAAS,EAAC,AAAC;KACvE,GAAG;KACH,KAAK;MAAE;MAAS,UAAU;KAAW,EAAC;IACvC;IACD,UAAU;IACV;GACD,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,gBAAgB,KAAK;AACpC,YAAQ,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE;AACtC,YAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;GAC9E,EAAC;EACH,EAAC;CACL,GAAE;EAAC;EAAQ;EAAW;EAAI;EAAsB;CAAmB,EAAC;AAGrE,WAAU,MAAM;AACd,MAAI,GAAI,gBAAe,GAAG;CAC3B,GAAE,CAAC,IAAI,YAAa,EAAC;AAEtB,wBACE,IAAC;EACC,WAAW,KAAG,cAAc,UAAU;EACtC,IAAI,MAAM;EACV,gBAAc;EACd,aAAW;EACX,KAAK;EACL,GAAI;GACJ;AAEL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-COi7S9pJ.js","names":["cleanup: (() => void) | undefined","open: boolean"],"sources":["../src/vanilla/popover/index.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift, hide } from '@floating-ui/dom';\nimport type { Middleware, Placement } from '@floating-ui/dom';\n\nconst padding = 20;\n\nexport type InitPopoverOptions = {\n /** The id of the popover to initialize. The trigger element should have a `aria-controls` attribute with the same id. */\n id: string;\n /**\n * Placement of the popover relative to the trigger.\n * @default 'top'\n */\n placement?: Placement;\n /**\n * Additional middleware to use for positioning the popover.\n *\n * @example\n * Prevent the popover from overflowing the navbar by using the `size` middleware:\n * ```ts\n * positionMiddleware: [\n * size({\n * apply: ({ availableHeight, elements, ...state }) => {\n * const available = `${Math.max(0, availableHeight)}px`;\n * const maxHeight = state.placement.includes('top')\n * ? `calc(${available} - var(--bi-layout-navbar-height, 0))`\n * : available;\n * elements.floating.style.maxHeight = maxHeight;\n * },\n * padding,\n * })\n * ]}\n * ```\n */\n positionMiddleware?: Middleware[];\n /**\n * Whether to disable auto placement.\n * @default false\n */\n disableAutoPlacement?: boolean;\n};\n\nexport const initPopover = ({\n id,\n disableAutoPlacement = false,\n placement = 'top',\n positionMiddleware = [],\n}: InitPopoverOptions) => {\n // let isOpen = false;\n let cleanup: (() => void) | undefined;\n const popover = document.getElementById(id);\n const triggerSelector = `[aria-controls=\"${id}\"]`;\n const trigger = document.querySelector(triggerSelector);\n\n if (!popover || !trigger) return;\n\n const togglePopover = (open: boolean) => {\n if (open) {\n cleanup = autoUpdate(trigger, popover, () => {\n computePosition(trigger, popover, {\n middleware: [\n offset(padding),\n ...(disableAutoPlacement ? [] : [flip({ padding }), shift({ padding })]),\n ...positionMiddleware,\n hide({ padding }),\n ],\n strategy: 'fixed',\n placement,\n }).then(({ x, y, middlewareData }) => {\n popover.style.translate = `${x}px ${y}px`;\n popover.style.visibility = middlewareData.hide?.referenceHidden ? 'hidden' : 'visible';\n });\n });\n popover.setAttribute('aria-hidden', 'false');\n trigger.setAttribute('aria-expanded', 'true');\n } else {\n cleanup?.();\n popover.setAttribute('aria-hidden', 'true');\n trigger.setAttribute('aria-expanded', 'false');\n }\n };\n\n document.addEventListener(\n 'click',\n (event) => {\n const el = event.target as Element | null;\n const isTrigger = el?.closest?.(triggerSelector);\n const isOutside = !isTrigger && !popover.contains(el as Node);\n const isOpen = popover.getAttribute('aria-hidden') === 'false';\n\n if (isTrigger) {\n togglePopover(!isOpen);\n }\n if (isOutside && isOpen) {\n togglePopover(false);\n }\n },\n true,\n );\n};\n"],"mappings":";;;AAGA,MAAM,UAAU;AAsChB,MAAa,cAAc,CAAC,EAC1B,IACA,uBAAuB,OACvB,YAAY,OACZ,qBAAqB,CAAE,GACJ,KAAK;CAExB,IAAIA;CACJ,MAAM,UAAU,SAAS,eAAe,GAAG;CAC3C,MAAM,mBAAmB,kBAAkB,GAAG;CAC9C,MAAM,UAAU,SAAS,cAAc,gBAAgB;AAEvD,MAAK,YAAY,QAAS;CAE1B,MAAM,gBAAgB,CAACC,SAAkB;AACvC,MAAI,MAAM;AACR,aAAU,WAAW,SAAS,SAAS,MAAM;AAC3C,oBAAgB,SAAS,SAAS;KAChC,YAAY;MACV,OAAO,QAAQ;MACf,GAAI,uBAAuB,CAAE,IAAG,CAAC,KAAK,EAAE,QAAS,EAAC,EAAE,MAAM,EAAE,QAAS,EAAC,AAAC;MACvE,GAAG;MACH,KAAK,EAAE,QAAS,EAAC;KAClB;KACD,UAAU;KACV;IACD,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,gBAAgB,KAAK;AACpC,aAAQ,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE;AACtC,aAAQ,MAAM,aAAa,eAAe,MAAM,kBAAkB,WAAW;IAC9E,EAAC;GACH,EAAC;AACF,WAAQ,aAAa,eAAe,QAAQ;AAC5C,WAAQ,aAAa,iBAAiB,OAAO;EAC9C,OAAM;AACL,cAAW;AACX,WAAQ,aAAa,eAAe,OAAO;AAC3C,WAAQ,aAAa,iBAAiB,QAAQ;EAC/C;CACF;AAED,UAAS,iBACP,SACA,CAAC,UAAU;EACT,MAAM,KAAK,MAAM;EACjB,MAAM,YAAY,IAAI,UAAU,gBAAgB;EAChD,MAAM,aAAa,cAAc,QAAQ,SAAS,GAAW;EAC7D,MAAM,SAAS,QAAQ,aAAa,cAAc,KAAK;AAEvD,MAAI,UACF,gBAAe,OAAO;AAExB,MAAI,aAAa,OACf,eAAc,MAAM;CAEvB,GACD,KACD;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-trigger-context-CGJlUS_N.js","names":[],"sources":["../src/components/popover/popover-trigger-context.tsx"],"sourcesContent":["import { createContext, useId, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nexport const Context = createContext<{\n popoverId?: string;\n setPopoverId?: (id: string) => void;\n popoverOpen?: boolean;\n setPopoverOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n}>({});\n\nexport type PopoverTriggerContextProps = {\n children: ReactNode;\n};\n\n/**\n * PopoverTriggerContext component, use to wrap a PopoverTrigger and Popover.\n *\n * @example\n * <PopoverTriggerContext>\n * <PopoverTrigger>Open Popover</PopoverTrigger>\n * <Popover>\n * Content\n * </Popover>\n * </PopoverTriggerContext>\n */\nexport const PopoverTriggerContext = ({ children }: PopoverTriggerContextProps) => {\n const randomPopoverId = useId();\n const [popoverId, setPopoverId] = useState(randomPopoverId);\n const [popoverOpen, setPopoverOpen] = useState(false);\n\n return <Context value={{ popoverId, setPopoverId, popoverOpen, setPopoverOpen }}>{children}</Context>;\n};\n"],"mappings":";;;;AAGA,MAAa,UAAU,cAKpB,CAAE,EAAC;;;;;;;;;;;;AAiBN,MAAa,wBAAwB,CAAC,EAAE,UAAsC,KAAK;CACjF,MAAM,kBAAkB,OAAO;CAC/B,MAAM,CAAC,WAAW,aAAa,GAAG,SAAS,gBAAgB;CAC3D,MAAM,CAAC,aAAa,eAAe,GAAG,SAAS,MAAM;AAErD,wBAAO,IAAC;EAAQ,OAAO;GAAE;GAAW;GAAc;GAAa;EAAgB;EAAG;GAAmB;AACtG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sub-navbar-DEudSxfj.js","names":[],"sources":["../src/components/navbar/sub-navbar.tsx"],"sourcesContent":["import clsx from 'clsx/lite';\nimport { useRef, type HTMLAttributes, type Ref } from 'react';\nimport type { MergeRight } from '../../utilities';\nimport type { DefaultProps } from '../../types';\nimport { useElementScrolledPastObserver } from '../../utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver';\nimport { useScrollDirection } from '../../utilities/hooks/useScrollDirection/useScrollDirection';\n\nexport type SubNavbarProps = MergeRight<\n DefaultProps & HTMLAttributes<HTMLDivElement>,\n {\n ref?: Ref<HTMLElement>;\n }\n>;\n\nexport const SubNavbar = ({ dark = false, children, className, ref, ...props }: SubNavbarProps) => {\n const elementRef = useRef<HTMLDivElement>(null);\n const fixed = useElementScrolledPastObserver(elementRef);\n const scrollDirection = useScrollDirection();\n\n return (\n <div className='bi-sub-navbar--wrapper'>\n <div ref={elementRef} />\n <nav\n className={clsx('bi-sub-navbar', className)}\n data-fixed={fixed}\n data-scroll-dir={fixed ? scrollDirection : undefined}\n data-dark={dark}\n {...props}\n ref={ref}\n >\n {children}\n </nav>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAcA,MAAa,YAAY,CAAC,EAAE,OAAO,OAAO,UAAU,WAAW,IAAK,GAAG,OAAuB,KAAK;CACjG,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,QAAQ,+BAA+B,WAAW;CACxD,MAAM,kBAAkB,oBAAoB;AAE5C,wBACE,KAAC;EAAI,WAAU;6BACb,IAAC,SAAI,KAAK,aAAc,kBACxB,IAAC;GACC,WAAW,KAAK,iBAAiB,UAAU;GAC3C,cAAY;GACZ,mBAAiB,QAAQ;GACzB,aAAW;GACX,GAAI;GACC;GAEJ;IACG;GACF;AAET"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useElementScrolledPastObserver-DjzJ4Mn-.js","names":["elementRef: RefObject<HTMLElement | null>"],"sources":["../src/utilities/hooks/useElementScrolledPastObserver/useElementScrolledPastObserver.tsx"],"sourcesContent":["import { useEffect, useState, type RefObject } from 'react';\n\n/** Detects when an element's is scrolled past and is no longer in the viewport. */\nexport const useElementScrolledPastObserver = (elementRef: RefObject<HTMLElement | null>): boolean => {\n const [isPast, setIsPast] = useState(false);\n\n useEffect(() => {\n const observer = new IntersectionObserver(([entry]) => setIsPast(entry.boundingClientRect.y < 0), {\n threshold: [0],\n });\n const currentRef = elementRef.current;\n if (currentRef) observer.observe(currentRef);\n return () => {\n if (currentRef) observer.unobserve(currentRef);\n };\n }, [elementRef]);\n return isPast;\n};\n"],"mappings":";;;;AAGA,MAAa,iCAAiC,CAACA,eAAuD;CACpG,MAAM,CAAC,QAAQ,UAAU,GAAG,SAAS,MAAM;AAE3C,WAAU,MAAM;EACd,MAAM,WAAW,IAAI,qBAAqB,CAAC,CAAC,MAAM,KAAK,UAAU,MAAM,mBAAmB,IAAI,EAAE,EAAE,EAChG,WAAW,CAAC,CAAE,EACf;EACD,MAAM,aAAa,WAAW;AAC9B,MAAI,WAAY,UAAS,QAAQ,WAAW;AAC5C,SAAO,MAAM;AACX,OAAI,WAAY,UAAS,UAAU,WAAW;EAC/C;CACF,GAAE,CAAC,UAAW,EAAC;AAChB,QAAO;AACR"}
@@ -1,11 +0,0 @@
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-iCenhgmf.d.ts.map