@customafk/lunas-ui 0.2.33 → 0.2.34

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 (365) hide show
  1. package/dist/{alert-mTjrFpkB.d.cts → alert-BFLT5Jqg.d.cts} +7 -7
  2. package/dist/{alert-BC5Nss8t.mjs → alert-BbInRLt4.mjs} +1 -1
  3. package/dist/{alert-BC5Nss8t.mjs.map → alert-BbInRLt4.mjs.map} +1 -1
  4. package/dist/{alert-V73ULWoO.d.mts → alert-DmaYqfy7.d.mts} +7 -7
  5. package/dist/{avatar-CK1R4r0j.mjs → avatar-1SuFoI5h.mjs} +1 -1
  6. package/dist/{avatar-CK1R4r0j.mjs.map → avatar-1SuFoI5h.mjs.map} +1 -1
  7. package/dist/{badge-utjRo-lW.mjs → badge-Bhbhmsic.mjs} +1 -1
  8. package/dist/{badge-utjRo-lW.mjs.map → badge-Bhbhmsic.mjs.map} +1 -1
  9. package/dist/{badge-DcQUUKY0.d.mts → badge-CSMgaMwT.d.cts} +6 -6
  10. package/dist/{badge-Cwb0fmkw.d.cts → badge-Dxewfuj8.d.mts} +7 -7
  11. package/dist/{button-BqxBQ4Kr.mjs → button-CfPTDyoq.mjs} +2 -2
  12. package/dist/{button-BqxBQ4Kr.mjs.map → button-CfPTDyoq.mjs.map} +1 -1
  13. package/dist/{button-Bc-MAOOY.d.cts → button-DeBpvNFE.d.mts} +7 -7
  14. package/dist/{button-W7L4JgMw.d.mts → button-soF3CKai.d.cts} +7 -7
  15. package/dist/{button.variants-CwcJHcI5.mjs → button.variants-B8aRZ52K.mjs} +1 -1
  16. package/dist/{button.variants-CwcJHcI5.mjs.map → button.variants-B8aRZ52K.mjs.map} +1 -1
  17. package/dist/{calendar-D8aRFw_F.mjs → calendar-CqeVe3HO.mjs} +2 -2
  18. package/dist/{calendar-D8aRFw_F.mjs.map → calendar-CqeVe3HO.mjs.map} +1 -1
  19. package/dist/cards/grid-product-card.mjs +1 -1
  20. package/dist/cards/product-card.mjs +1 -1
  21. package/dist/cards/simple-card.d.mts +2 -2
  22. package/dist/cards/simple-card.mjs +1 -1
  23. package/dist/{checkbox-CJsl9OjF.mjs → checkbox-CrZ80dV_.mjs} +1 -1
  24. package/dist/{checkbox-CJsl9OjF.mjs.map → checkbox-CrZ80dV_.mjs.map} +1 -1
  25. package/dist/{close-BMhGSmGs.mjs → close-DTBepcqW.mjs} +1 -1
  26. package/dist/{close-BMhGSmGs.mjs.map → close-DTBepcqW.mjs.map} +1 -1
  27. package/dist/{cms-layout-DHzRHAoI.mjs → cms-layout-BvaYr6rb.mjs} +2 -2
  28. package/dist/{cms-layout-DHzRHAoI.mjs.map → cms-layout-BvaYr6rb.mjs.map} +1 -1
  29. package/dist/{command-CTdjZi1F.cjs → command-B7DO73K0.cjs} +2 -2
  30. package/dist/{command-CTdjZi1F.cjs.map → command-B7DO73K0.cjs.map} +1 -1
  31. package/dist/{command-Bvauothg.mjs → command-YngzaaGP.mjs} +2 -2
  32. package/dist/{command-Bvauothg.mjs.map → command-YngzaaGP.mjs.map} +1 -1
  33. package/dist/data-display/country.d.cts +1 -1
  34. package/dist/data-display/country.d.mts +1 -1
  35. package/dist/data-display/country.mjs +1 -1
  36. package/dist/data-display/date-tooltip.mjs +1 -1
  37. package/dist/data-display/date.mjs +1 -1
  38. package/dist/data-display/name.mjs +1 -1
  39. package/dist/data-display/phone-number.mjs +1 -1
  40. package/dist/data-display/role-badge.d.cts +1 -1
  41. package/dist/data-display/role-badge.d.mts +1 -1
  42. package/dist/data-display/role-badge.mjs +1 -1
  43. package/dist/data-display/statistic.d.cts +1 -1
  44. package/dist/data-display/statistic.d.mts +4 -4
  45. package/dist/data-display/user.mjs +1 -1
  46. package/dist/{date-BQ0c19uk.mjs → date-CFgc7pK3.mjs} +1 -1
  47. package/dist/{date-BQ0c19uk.mjs.map → date-CFgc7pK3.mjs.map} +1 -1
  48. package/dist/{dialog-B8CvBgRs.d.mts → dialog-BQTnKhUH.d.cts} +12 -12
  49. package/dist/dialog-Bly2YImt.mjs +2 -0
  50. package/dist/dialog-Bly2YImt.mjs.map +1 -0
  51. package/dist/{dialog-CxPqgAES.d.cts → dialog-DDiSHKlc.d.mts} +12 -12
  52. package/dist/dialog-DhO0dkO3.cjs +2 -0
  53. package/dist/dialog-DhO0dkO3.cjs.map +1 -0
  54. package/dist/dialogs/confirm-dialog.mjs +1 -1
  55. package/dist/dialogs/detail-dialog/components/sidebar.d.cts +27 -27
  56. package/dist/dialogs/detail-dialog/components/sidebar.d.mts +27 -27
  57. package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -1
  58. package/dist/dialogs/detail-dialog/index.mjs +1 -1
  59. package/dist/dialogs/error-dialog.mjs +1 -1
  60. package/dist/dialogs/loading-dialog.cjs +1 -1
  61. package/dist/dialogs/loading-dialog.mjs +1 -1
  62. package/dist/{dist-DdGJ50nX.mjs → dist-BQGL-YKY.mjs} +1 -1
  63. package/dist/{dist-DdGJ50nX.mjs.map → dist-BQGL-YKY.mjs.map} +1 -1
  64. package/dist/{drawer-j9wcVE50.mjs → drawer-B3GpKBZs.mjs} +1 -1
  65. package/dist/{drawer-j9wcVE50.mjs.map → drawer-B3GpKBZs.mjs.map} +1 -1
  66. package/dist/{dropdown-menu-B_uBxY94.mjs → dropdown-menu-BjckWIZH.mjs} +1 -1
  67. package/dist/{dropdown-menu-B_uBxY94.mjs.map → dropdown-menu-BjckWIZH.mjs.map} +1 -1
  68. package/dist/features/descriptions/index.d.cts +7 -7
  69. package/dist/features/descriptions/index.d.mts +5 -5
  70. package/dist/features/descriptions/index.mjs +1 -1
  71. package/dist/features/search-modal/index.cjs +1 -1
  72. package/dist/features/search-modal/index.d.cts +2 -2
  73. package/dist/features/search-modal/index.d.mts +2 -2
  74. package/dist/features/search-modal/index.mjs +1 -1
  75. package/dist/features/tables/index.cjs +1 -1
  76. package/dist/features/tables/index.d.cts +1 -1
  77. package/dist/features/tables/index.d.mts +2 -2
  78. package/dist/features/tables/index.mjs +1 -1
  79. package/dist/features/tanstack-form/index.cjs +1 -1
  80. package/dist/features/tanstack-form/index.d.cts +1 -1
  81. package/dist/features/tanstack-form/index.d.mts +1 -1
  82. package/dist/features/tanstack-form/index.mjs +1 -1
  83. package/dist/features/text-editor/index.d.cts +1 -1
  84. package/dist/features/text-editor/index.d.mts +1 -1
  85. package/dist/features/text-editor/index.mjs +1 -1
  86. package/dist/{field-B8RhxRCu.mjs → field-0SZIwI1Q.mjs} +2 -2
  87. package/dist/{field-B8RhxRCu.mjs.map → field-0SZIwI1Q.mjs.map} +1 -1
  88. package/dist/{field-BxFpcOV1.cjs → field-ThrHQOAI.cjs} +2 -2
  89. package/dist/{field-BxFpcOV1.cjs.map → field-ThrHQOAI.cjs.map} +1 -1
  90. package/dist/{flex-Bl5yzx6g.mjs → flex-BAcvp4lB.mjs} +1 -1
  91. package/dist/{flex-Bl5yzx6g.mjs.map → flex-BAcvp4lB.mjs.map} +1 -1
  92. package/dist/{heading-B1t9baTw.mjs → heading-woRh-IC7.mjs} +1 -1
  93. package/dist/{heading-B1t9baTw.mjs.map → heading-woRh-IC7.mjs.map} +1 -1
  94. package/dist/{image-C4gMBmyV.mjs → image-D2U1SBw5.mjs} +2 -2
  95. package/dist/{image-C4gMBmyV.mjs.map → image-D2U1SBw5.mjs.map} +1 -1
  96. package/dist/{index-cSJtvD9W.d.mts → index-B4tGZDYR.d.cts} +6 -6
  97. package/dist/{index-BQEmU6gw.d.cts → index-BFFBdGdv.d.mts} +411 -411
  98. package/dist/{index-DMUr1T2A.d.cts → index-BUi04v_-.d.mts} +6 -6
  99. package/dist/{index-3rfnp-Kj.d.mts → index-Btd0a1HO.d.cts} +28 -28
  100. package/dist/{index-CE6WacAh.d.mts → index-Cvjgsouk.d.cts} +411 -411
  101. package/dist/{index-B0tpV7YG.d.cts → index-DWJlXfCi.d.mts} +28 -28
  102. package/dist/index.cjs +1 -1
  103. package/dist/index.d.cts +9 -10
  104. package/dist/index.d.mts +9 -10
  105. package/dist/index.mjs +1 -1
  106. package/dist/{input-DgwlkE9s.d.cts → input-DHBWjFPA.d.cts} +7 -7
  107. package/dist/{input-CKFQdvqY.mjs → input-ESg91VId.mjs} +1 -1
  108. package/dist/{input-CKFQdvqY.mjs.map → input-ESg91VId.mjs.map} +1 -1
  109. package/dist/{input-BkbJ_jDH.d.mts → input-wQP8YLOp.d.mts} +7 -7
  110. package/dist/{label-BHbqbBtO.cjs → label-BzfsTrVt.cjs} +1 -1
  111. package/dist/{label-BHbqbBtO.cjs.map → label-BzfsTrVt.cjs.map} +1 -1
  112. package/dist/{label-CE2m0U_j.mjs → label-Cig7a9ON.mjs} +1 -1
  113. package/dist/{label-CE2m0U_j.mjs.map → label-Cig7a9ON.mjs.map} +1 -1
  114. package/dist/layouts/cms-layout/index.mjs +1 -1
  115. package/dist/layouts/flex.d.cts +9 -9
  116. package/dist/layouts/flex.d.mts +9 -9
  117. package/dist/layouts/flex.mjs +1 -1
  118. package/dist/layouts/payment-layout/index.cjs +1 -1
  119. package/dist/layouts/payment-layout/index.mjs +1 -1
  120. package/dist/pages/FeatureDeveloping.d.cts +2 -2
  121. package/dist/pages/FeatureDeveloping.d.mts +2 -2
  122. package/dist/pages/FeatureDeveloping.mjs +1 -1
  123. package/dist/pages/FeatureFixing.d.cts +2 -2
  124. package/dist/pages/FeatureFixing.d.mts +2 -2
  125. package/dist/pages/FeatureFixing.mjs +1 -1
  126. package/dist/pages/LoginPage.cjs +1 -1
  127. package/dist/pages/LoginPage.d.cts +2 -2
  128. package/dist/pages/LoginPage.d.mts +2 -2
  129. package/dist/pages/LoginPage.mjs +1 -1
  130. package/dist/pages/NotAuthorized.d.cts +2 -2
  131. package/dist/pages/NotAuthorized.d.mts +2 -2
  132. package/dist/pages/NotAuthorized.mjs +1 -1
  133. package/dist/pages/NotFound.d.cts +2 -2
  134. package/dist/pages/NotFound.d.mts +2 -2
  135. package/dist/pages/NotFound.mjs +1 -1
  136. package/dist/pages/RegisterPage.cjs +1 -1
  137. package/dist/pages/RegisterPage.d.cts +2 -2
  138. package/dist/pages/RegisterPage.d.mts +2 -2
  139. package/dist/pages/RegisterPage.mjs +1 -1
  140. package/dist/pages/VerifyEmailPage.cjs +1 -1
  141. package/dist/pages/VerifyEmailPage.d.cts +2 -2
  142. package/dist/pages/VerifyEmailPage.d.mts +2 -2
  143. package/dist/pages/VerifyEmailPage.mjs +1 -1
  144. package/dist/{paragraph-J_QbLq9_.mjs → paragraph-CjstaJFj.mjs} +1 -1
  145. package/dist/{paragraph-J_QbLq9_.mjs.map → paragraph-CjstaJFj.mjs.map} +1 -1
  146. package/dist/{payment-layout-RldJzRGP.mjs → payment-layout-Bd4B4jhp.mjs} +2 -2
  147. package/dist/{payment-layout-RldJzRGP.mjs.map → payment-layout-Bd4B4jhp.mjs.map} +1 -1
  148. package/dist/{payment-layout-RVPi4-1C.cjs → payment-layout-kh0lLq71.cjs} +2 -2
  149. package/dist/{payment-layout-RVPi4-1C.cjs.map → payment-layout-kh0lLq71.cjs.map} +1 -1
  150. package/dist/{popover-BCzVvfnV.mjs → popover-BXktOcLz.mjs} +2 -2
  151. package/dist/{popover-BCzVvfnV.mjs.map → popover-BXktOcLz.mjs.map} +1 -1
  152. package/dist/{popover-Bnrgg4do.cjs → popover-DACS7x0e.cjs} +1 -1
  153. package/dist/{popover-Bnrgg4do.cjs.map → popover-DACS7x0e.cjs.map} +1 -1
  154. package/dist/{progress-BcEEbgJJ.mjs → progress-bJYAFoHE.mjs} +1 -1
  155. package/dist/{progress-BcEEbgJJ.mjs.map → progress-bJYAFoHE.mjs.map} +1 -1
  156. package/dist/{radio-group-KR6Ck-B9.mjs → radio-group-CTILro-C.mjs} +1 -1
  157. package/dist/{radio-group-KR6Ck-B9.mjs.map → radio-group-CTILro-C.mjs.map} +1 -1
  158. package/dist/{resizable-em2svgMz.mjs → resizable-BNYc7hFd.mjs} +1 -1
  159. package/dist/{resizable-em2svgMz.mjs.map → resizable-BNYc7hFd.mjs.map} +1 -1
  160. package/dist/{search-modal-zmavzZRx.cjs → search-modal-CsYUvnWi.cjs} +2 -2
  161. package/dist/{search-modal-zmavzZRx.cjs.map → search-modal-CsYUvnWi.cjs.map} +1 -1
  162. package/dist/{search-modal-DyOsqK-4.mjs → search-modal-D4ESSOU-.mjs} +2 -2
  163. package/dist/{search-modal-DyOsqK-4.mjs.map → search-modal-D4ESSOU-.mjs.map} +1 -1
  164. package/dist/{select-DHiTqZeX.cjs → select-D0m78xbd.cjs} +1 -1
  165. package/dist/{select-DHiTqZeX.cjs.map → select-D0m78xbd.cjs.map} +1 -1
  166. package/dist/{select-C2Ro2wmj.mjs → select-DMGFb8TB.mjs} +1 -1
  167. package/dist/{select-C2Ro2wmj.mjs.map → select-DMGFb8TB.mjs.map} +1 -1
  168. package/dist/{separator-yTKDuMWb.mjs → separator-DVaVWuNc.mjs} +1 -1
  169. package/dist/{separator-yTKDuMWb.mjs.map → separator-DVaVWuNc.mjs.map} +1 -1
  170. package/dist/{sheet-DDBCHwn6.mjs → sheet-BoulTUHV.mjs} +1 -1
  171. package/dist/{sheet-DDBCHwn6.mjs.map → sheet-BoulTUHV.mjs.map} +1 -1
  172. package/dist/{sidebar-De1RZMAG.mjs → sidebar-xWo_Rfi-.mjs} +2 -2
  173. package/dist/{sidebar-De1RZMAG.mjs.map → sidebar-xWo_Rfi-.mjs.map} +1 -1
  174. package/dist/{skeleton-Czl96pWA.mjs → skeleton-DupQ91XW.mjs} +1 -1
  175. package/dist/{skeleton-Czl96pWA.mjs.map → skeleton-DupQ91XW.mjs.map} +1 -1
  176. package/dist/{spinner-CWUvnJQw.mjs → spinner-C2tF8jQt.mjs} +1 -1
  177. package/dist/{spinner-CWUvnJQw.mjs.map → spinner-C2tF8jQt.mjs.map} +1 -1
  178. package/dist/{switch-DHsjxnFP.mjs → switch-CY25L6l0.mjs} +1 -1
  179. package/dist/{switch-DHsjxnFP.mjs.map → switch-CY25L6l0.mjs.map} +1 -1
  180. package/dist/tables-BvdD0_el.mjs +4 -0
  181. package/dist/{tables-BQ-QiA1V.mjs.map → tables-BvdD0_el.mjs.map} +1 -1
  182. package/dist/{tables-LRWPOv2a.cjs → tables-D1SMzDFu.cjs} +2 -2
  183. package/dist/{tables-LRWPOv2a.cjs.map → tables-D1SMzDFu.cjs.map} +1 -1
  184. package/dist/{tanstack-form-Be6aIYAW.mjs → tanstack-form-Bof1jeRB.mjs} +2 -2
  185. package/dist/{tanstack-form-Be6aIYAW.mjs.map → tanstack-form-Bof1jeRB.mjs.map} +1 -1
  186. package/dist/{tanstack-form-CDgTokmf.cjs → tanstack-form-BulYI2bY.cjs} +2 -2
  187. package/dist/{tanstack-form-CDgTokmf.cjs.map → tanstack-form-BulYI2bY.cjs.map} +1 -1
  188. package/dist/{text-editor-CqC44BkO.mjs → text-editor-D61C1dng.mjs} +1 -1
  189. package/dist/{text-editor-CqC44BkO.mjs.map → text-editor-D61C1dng.mjs.map} +1 -1
  190. package/dist/{textarea-D0-Gltw6.mjs → textarea-B8eQoQaZ.mjs} +1 -1
  191. package/dist/{textarea-D0-Gltw6.mjs.map → textarea-B8eQoQaZ.mjs.map} +1 -1
  192. package/dist/{tooltip-BMdzWaaH.mjs → tooltip-BfBJRYpc.mjs} +1 -1
  193. package/dist/{tooltip-BMdzWaaH.mjs.map → tooltip-BfBJRYpc.mjs.map} +1 -1
  194. package/dist/{types-CuAlMviO.mjs → types-CFXgrpTm.mjs} +1 -1
  195. package/dist/{types-CuAlMviO.mjs.map → types-CFXgrpTm.mjs.map} +1 -1
  196. package/dist/{types-B2PQbMJL.d.mts → types-Cc_mLRAn.d.cts} +1 -1
  197. package/dist/{types-CLkAmCre.d.cts → types-DmTyKdm7.d.mts} +1 -1
  198. package/dist/typography/paragraph.d.cts +5 -5
  199. package/dist/typography/paragraph.d.mts +3 -3
  200. package/dist/typography/paragraph.mjs +1 -1
  201. package/dist/ui/alert-dialog.d.cts +12 -12
  202. package/dist/ui/alert-dialog.d.mts +12 -12
  203. package/dist/ui/alert-dialog.mjs +1 -1
  204. package/dist/ui/alert.d.cts +1 -1
  205. package/dist/ui/alert.d.mts +1 -1
  206. package/dist/ui/alert.mjs +1 -1
  207. package/dist/ui/aspect-ratio.d.cts +2 -2
  208. package/dist/ui/aspect-ratio.d.mts +2 -2
  209. package/dist/ui/avatar.d.cts +4 -4
  210. package/dist/ui/avatar.d.mts +4 -4
  211. package/dist/ui/avatar.mjs +1 -1
  212. package/dist/ui/badge.d.cts +1 -1
  213. package/dist/ui/badge.d.mts +1 -1
  214. package/dist/ui/badge.mjs +1 -1
  215. package/dist/ui/breadcrumb.d.cts +8 -8
  216. package/dist/ui/breadcrumb.d.mts +8 -8
  217. package/dist/ui/breadcrumb.mjs +1 -1
  218. package/dist/ui/button-group.d.cts +7 -7
  219. package/dist/ui/button-group.d.mts +7 -7
  220. package/dist/ui/button-group.mjs +1 -1
  221. package/dist/ui/button.d.cts +1 -1
  222. package/dist/ui/button.d.mts +1 -1
  223. package/dist/ui/button.mjs +1 -1
  224. package/dist/ui/buttons/add-new.mjs +1 -1
  225. package/dist/ui/buttons/edit.mjs +1 -1
  226. package/dist/ui/buttons/refresh.mjs +1 -1
  227. package/dist/ui/buttons/trash.mjs +1 -1
  228. package/dist/ui/buttons/upload-image.mjs +1 -1
  229. package/dist/ui/calendar.d.cts +4 -4
  230. package/dist/ui/calendar.d.mts +4 -4
  231. package/dist/ui/calendar.mjs +1 -1
  232. package/dist/ui/card.d.cts +8 -8
  233. package/dist/ui/card.d.mts +8 -8
  234. package/dist/ui/card.mjs +1 -1
  235. package/dist/ui/carousel.d.cts +7 -7
  236. package/dist/ui/carousel.d.mts +7 -7
  237. package/dist/ui/carousel.mjs +1 -1
  238. package/dist/ui/checkbox.d.cts +2 -2
  239. package/dist/ui/checkbox.d.mts +2 -2
  240. package/dist/ui/checkbox.mjs +1 -1
  241. package/dist/ui/collapsible.d.cts +4 -4
  242. package/dist/ui/collapsible.d.mts +4 -4
  243. package/dist/ui/command.cjs +1 -1
  244. package/dist/ui/command.d.cts +11 -11
  245. package/dist/ui/command.d.mts +11 -11
  246. package/dist/ui/command.mjs +1 -1
  247. package/dist/ui/context-menu.d.cts +16 -16
  248. package/dist/ui/context-menu.d.mts +16 -16
  249. package/dist/ui/dialog.cjs +1 -1
  250. package/dist/ui/dialog.d.cts +1 -1
  251. package/dist/ui/dialog.d.mts +1 -1
  252. package/dist/ui/dialog.mjs +1 -1
  253. package/dist/ui/drawer.d.cts +11 -11
  254. package/dist/ui/drawer.d.mts +11 -11
  255. package/dist/ui/drawer.mjs +1 -1
  256. package/dist/ui/dropdown-menu.d.cts +16 -16
  257. package/dist/ui/dropdown-menu.d.mts +16 -16
  258. package/dist/ui/dropdown-menu.mjs +1 -1
  259. package/dist/ui/empty.d.cts +9 -9
  260. package/dist/ui/empty.d.mts +9 -9
  261. package/dist/ui/field.cjs +1 -1
  262. package/dist/ui/field.d.cts +24 -24
  263. package/dist/ui/field.d.mts +24 -24
  264. package/dist/ui/field.mjs +1 -1
  265. package/dist/ui/file-uploader.d.cts +2 -2
  266. package/dist/ui/file-uploader.d.mts +2 -2
  267. package/dist/ui/file-uploader.mjs +1 -1
  268. package/dist/ui/form.cjs +1 -1
  269. package/dist/ui/form.d.cts +10 -10
  270. package/dist/ui/form.d.mts +10 -10
  271. package/dist/ui/form.mjs +1 -1
  272. package/dist/ui/hover-card.d.cts +4 -4
  273. package/dist/ui/hover-card.d.mts +4 -4
  274. package/dist/ui/image.mjs +1 -1
  275. package/dist/ui/input-otp.d.cts +5 -5
  276. package/dist/ui/input-otp.d.mts +5 -5
  277. package/dist/ui/input.d.cts +1 -1
  278. package/dist/ui/input.d.mts +1 -1
  279. package/dist/ui/input.mjs +1 -1
  280. package/dist/ui/inputs/search-input.d.cts +3 -3
  281. package/dist/ui/inputs/search-input.d.mts +3 -3
  282. package/dist/ui/inputs/search-input.mjs +1 -1
  283. package/dist/ui/item.d.cts +17 -17
  284. package/dist/ui/item.d.mts +17 -17
  285. package/dist/ui/item.mjs +1 -1
  286. package/dist/ui/label.cjs +1 -1
  287. package/dist/ui/label.d.cts +2 -2
  288. package/dist/ui/label.d.mts +2 -2
  289. package/dist/ui/label.mjs +1 -1
  290. package/dist/ui/menubar.d.cts +17 -17
  291. package/dist/ui/menubar.d.mts +17 -17
  292. package/dist/ui/multi-select.cjs +1 -1
  293. package/dist/ui/multi-select.d.cts +2 -2
  294. package/dist/ui/multi-select.d.mts +3 -3
  295. package/dist/ui/multi-select.mjs +1 -1
  296. package/dist/ui/navigation-menu.d.cts +11 -11
  297. package/dist/ui/navigation-menu.d.mts +11 -11
  298. package/dist/ui/pagination.d.cts +9 -9
  299. package/dist/ui/pagination.d.mts +9 -9
  300. package/dist/ui/pagination.mjs +1 -1
  301. package/dist/ui/popover.cjs +1 -1
  302. package/dist/ui/popover.d.cts +6 -6
  303. package/dist/ui/popover.d.mts +6 -6
  304. package/dist/ui/popover.mjs +1 -1
  305. package/dist/ui/progress.d.cts +2 -2
  306. package/dist/ui/progress.d.mts +2 -2
  307. package/dist/ui/progress.mjs +1 -1
  308. package/dist/ui/radio-group.d.cts +3 -3
  309. package/dist/ui/radio-group.d.mts +3 -3
  310. package/dist/ui/radio-group.mjs +1 -1
  311. package/dist/ui/resizable.d.cts +9 -9
  312. package/dist/ui/resizable.d.mts +9 -9
  313. package/dist/ui/resizable.mjs +1 -1
  314. package/dist/ui/scroll-area.d.cts +5 -5
  315. package/dist/ui/scroll-area.d.mts +5 -5
  316. package/dist/ui/select.cjs +1 -1
  317. package/dist/ui/select.d.cts +9 -9
  318. package/dist/ui/select.d.mts +9 -9
  319. package/dist/ui/select.mjs +1 -1
  320. package/dist/ui/separator.d.cts +2 -2
  321. package/dist/ui/separator.d.mts +2 -2
  322. package/dist/ui/separator.mjs +1 -1
  323. package/dist/ui/sheet.d.cts +9 -9
  324. package/dist/ui/sheet.d.mts +9 -9
  325. package/dist/ui/sheet.mjs +1 -1
  326. package/dist/ui/skeleton.d.cts +2 -2
  327. package/dist/ui/skeleton.d.mts +2 -2
  328. package/dist/ui/skeleton.mjs +1 -1
  329. package/dist/ui/slider.d.cts +2 -2
  330. package/dist/ui/slider.d.mts +2 -2
  331. package/dist/ui/sonner.d.mts +2 -2
  332. package/dist/ui/spinner.d.cts +2 -2
  333. package/dist/ui/spinner.d.mts +2 -2
  334. package/dist/ui/spinner.mjs +1 -1
  335. package/dist/ui/switch.d.cts +2 -2
  336. package/dist/ui/switch.d.mts +2 -2
  337. package/dist/ui/switch.mjs +1 -1
  338. package/dist/ui/table.d.cts +17 -17
  339. package/dist/ui/table.d.mts +17 -17
  340. package/dist/ui/tabs.d.cts +5 -5
  341. package/dist/ui/tabs.d.mts +5 -5
  342. package/dist/ui/textarea.d.cts +2 -2
  343. package/dist/ui/textarea.d.mts +2 -2
  344. package/dist/ui/textarea.mjs +1 -1
  345. package/dist/ui/toggle-group.d.cts +3 -3
  346. package/dist/ui/toggle-group.d.mts +3 -3
  347. package/dist/ui/toggle.d.cts +5 -5
  348. package/dist/ui/toggle.d.mts +5 -5
  349. package/dist/ui/tooltip.d.cts +5 -5
  350. package/dist/ui/tooltip.d.mts +5 -5
  351. package/dist/ui/tooltip.mjs +1 -1
  352. package/dist/{user-DexjSvGZ.mjs → user-Cif7yb1w.mjs} +2 -2
  353. package/dist/{user-DexjSvGZ.mjs.map → user-Cif7yb1w.mjs.map} +1 -1
  354. package/package.json +1 -5
  355. package/dist/dialog-DEnyBH2X.cjs +0 -2
  356. package/dist/dialog-DEnyBH2X.cjs.map +0 -1
  357. package/dist/dialog-jqiIqxlm.mjs +0 -2
  358. package/dist/dialog-jqiIqxlm.mjs.map +0 -1
  359. package/dist/tables-BQ-QiA1V.mjs +0 -4
  360. package/dist/ui/sidebar.cjs +0 -2
  361. package/dist/ui/sidebar.cjs.map +0 -1
  362. package/dist/ui/sidebar.d.cts +0 -264
  363. package/dist/ui/sidebar.d.mts +0 -264
  364. package/dist/ui/sidebar.mjs +0 -2
  365. package/dist/ui/sidebar.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar.cjs","names":["open","TooltipProvider","Drawer","DrawerContent","DrawerHeader","DrawerDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../../packages/components/ui/sidebar.tsx"],"sourcesContent":["'use client';\nimport { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\nimport { Drawer, DrawerContent, DrawerDescription, DrawerHeader } from './drawer';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = createContext<SidebarContextProps | null>(null);\n\n/**\n * Hook that returns the current sidebar state and control methods from the nearest SidebarProvider.\n * Must be used within a `<SidebarProvider>`.\n */\nfunction useSidebar() {\n const context = use(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/**\n * Context provider that manages sidebar open/collapsed state, mobile drawer, keyboard shortcut (Ctrl+B), and CSS variables for all child Sidebar components.\n *\n * @example\n * ```tsx\n * import {\n * SidebarProvider, Sidebar, SidebarHeader, SidebarContent,\n * SidebarMenu, SidebarMenuItem, SidebarMenuButton,\n * SidebarInset, SidebarTrigger,\n * } from '@customafk/lunas-ui/ui/sidebar';\n *\n * <SidebarProvider>\n * <Sidebar>\n * <SidebarHeader>Logo</SidebarHeader>\n * <SidebarContent>\n * <SidebarMenu>\n * <SidebarMenuItem>\n * <SidebarMenuButton asChild isActive>\n * <a href=\"/dashboard\">Dashboard</a>\n * </SidebarMenuButton>\n * </SidebarMenuItem>\n * </SidebarMenu>\n * </SidebarContent>\n * </Sidebar>\n * <SidebarInset>\n * <SidebarTrigger />\n * <main>Page content</main>\n * </SidebarInset>\n * </SidebarProvider>\n * ```\n */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n /** Whether the sidebar starts expanded. @default true */\n defaultOpen?: boolean;\n /** Controlled open state. */\n open?: boolean;\n /** Callback fired when the open state changes. */\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n state,\n isMobile,\n\n toggleSidebar,\n\n open,\n setOpen,\n\n openMobile,\n setOpenMobile,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn('group/sidebar-wrapper', 'has-data-[variant=inset]:bg-sidebar', 'flex h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/**\n * The main sidebar panel; renders as a Drawer on mobile and a fixed `<aside>` on desktop with optional collapse behavior.\n *\n * @param side - Which edge of the viewport the sidebar attaches to. @default `'left'`\n * @param variant - Visual style: `'sidebar'` (default), `'floating'`, or `'inset'`.\n * @param collapsible - Collapse mode: `'offcanvas'` (slides out), `'icon'` (icon-only), or `'none'` (always visible).\n */\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <aside\n data-slot=\"sidebar\"\n className={cn('bg-sidebar', 'text-sidebar-foreground', 'flex h-full w-(--sidebar-width) flex-col', 'border-r', className)}\n {...props}\n >\n {children}\n </aside>\n );\n }\n\n if (isMobile) {\n return (\n <Drawer open={openMobile} onOpenChange={setOpenMobile} direction=\"left\">\n <DrawerContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n // side={side}\n >\n <DrawerHeader className=\"sr-only\">\n <DrawerContent>Sidebar</DrawerContent>\n <DrawerDescription>Displays the mobile sidebar.</DrawerDescription>\n </DrawerHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </DrawerContent>\n </Drawer>\n );\n }\n\n return (\n <aside\n className=\"group peer text-sidebar-foreground bg-card hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative',\n 'bg-transparent',\n 'transition-[width] duration-200 ease-linear',\n 'h-14 w-(--sidebar-width)',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'hidden md:flex',\n 'fixed inset-y-0 top-14 z-10',\n 'h-[calc(100dvh-3.5rem)] w-(--sidebar-width)',\n 'border-r',\n 'transition-[left,right,width] duration-200 ease-linear',\n side === 'left' && 'left-0',\n side === 'left' && 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]',\n side === 'right' && 'right-0',\n side === 'right' && 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'flex size-full flex-col',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:shadow-sm'\n )}\n >\n {children}\n </div>\n </div>\n </aside>\n );\n}\n\n/** Icon button that toggles the sidebar open/collapsed state. */\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-10 rounded-full', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon className=\"!size-6\" />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/** Invisible drag-rail along the sidebar edge that toggles collapse on click. */\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2',\n 'after:w-0.5',\n 'group-data-[side=left]:-right-4',\n 'group-data-[side=right]:left-0',\n 'in-data-[side=left]:cursor-w-resize',\n 'in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize',\n '[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:after:bg-sidebar-border',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n 'group-data-[collapsible=offcanvas]:translate-x-0',\n 'group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\n/** The main content area that sits beside the Sidebar; expands to fill the remaining viewport width. */\nfunction SidebarInset({ className, children, ...props }: React.ComponentProps<'main'>) {\n return (\n <main data-slot=\"sidebar-inset\" className={cn('w-full', 'relative', 'flex flex-1 flex-col', className)} {...props}>\n <div className=\"h-14 w-full\" />\n <div className={cn('flex-1 inset-shadow-sm')}>{children}</div>\n </main>\n );\n}\n\n/** A compact search input styled for use inside a sidebar header. */\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return <Input data-slot=\"sidebar-input\" data-sidebar=\"input\" className={cn('bg-background h-8 w-full shadow-none', className)} {...props} />;\n}\n\n/** Sticky top section of the Sidebar, typically holding a logo or workspace switcher. */\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\n/** Sticky bottom section of the Sidebar, typically holding user account info or settings. */\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\n/** A horizontal Separator styled for use between sections inside a Sidebar. */\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />;\n}\n\n/** Scrollable middle section of the Sidebar that grows to fill available space. */\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n}\n\n/** A logical section within SidebarContent, grouping related SidebarMenu items. */\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\n}\n\n/**\n * Small all-caps heading label at the top of a SidebarGroup; hidden automatically in icon-only collapse mode.\n *\n * @param asChild - When true, renders as the child element via Radix Slot.\n */\nfunction SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70',\n 'ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8',\n 'group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Action button (e.g. \"Add\") positioned absolutely at the top-right of a SidebarGroup label.\n *\n * @param asChild - When true, renders as the child element via Radix Slot.\n */\nfunction SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\n/** The content area of a SidebarGroup, typically wrapping a SidebarMenu. */\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />;\n}\n\n/** Vertical list `<ul>` that holds SidebarMenuItems. */\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n}\n\n/** A single `<li>` entry in a SidebarMenu that may include a button, action, and badge. */\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-accent-foreground',\n 'data-[state=open]:hover:bg-sidebar-accent',\n 'data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8!',\n 'group-data-[collapsible=icon]:p-2!',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\n/**\n * The primary clickable button within a SidebarMenuItem; collapses to an icon-only view when the sidebar is in icon-collapse mode and optionally shows a tooltip.\n *\n * @param asChild - When true, renders as the child element via Radix Slot (useful for router links).\n * @param isActive - Marks the button as the currently active route.\n * @param tooltip - A string or TooltipContent props shown when the sidebar is collapsed to icon-only mode.\n * @param variant - `'default'` or `'outline'`.\n * @param size - `'default'`, `'sm'`, or `'lg'`.\n */\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n}\n\n/**\n * An icon action button (e.g. more-options) positioned at the right of a SidebarMenuButton.\n *\n * @param asChild - When true, renders as the child element via Radix Slot.\n * @param showOnHover - When true, the action is only visible on hover or when the menu item is focused.\n */\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n showOnHover && 'group-focus-within/menu-item:opacity-100',\n showOnHover && 'group-hover/menu-item:opacity-100',\n showOnHover && 'data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\n/** Small numeric or text badge rendered at the right of a SidebarMenuButton (e.g. unread count). */\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\n/**\n * Placeholder skeleton row rendered in place of a SidebarMenuButton while menu items are loading.\n *\n * @param showIcon - When true, also renders a small square skeleton for the icon slot.\n */\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div data-slot=\"sidebar-menu-skeleton\" data-sidebar=\"menu-skeleton\" className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)} {...props}>\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\n/** Indented nested list of SidebarMenuSubItems rendered below a parent SidebarMenuItem. */\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\n/** A single `<li>` entry inside a SidebarMenuSub. */\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />;\n}\n\n/**\n * The clickable link/button for a nested sub-menu entry inside a SidebarMenuSub.\n *\n * @param asChild - When true, renders as the child element via Radix Slot.\n * @param size - `'sm'` for smaller text, `'md'` for normal text.\n * @param isActive - Highlights the button as the currently active sub-route.\n */\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n};\n"],"mappings":"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"}
@@ -1,264 +0,0 @@
1
- import { t as Button } from "../button-Bc-MAOOY.cjs";
2
- import { Separator } from "./separator.cjs";
3
- import { TooltipContent } from "./tooltip.cjs";
4
- import { t as Input } from "../input-DgwlkE9s.cjs";
5
- import * as react206 from "react";
6
- import * as class_variance_authority_types9 from "class-variance-authority/types";
7
- import { VariantProps } from "class-variance-authority";
8
-
9
- //#region packages/components/ui/sidebar.d.ts
10
- type SidebarContextProps = {
11
- state: 'expanded' | 'collapsed';
12
- open: boolean;
13
- setOpen: (open: boolean) => void;
14
- openMobile: boolean;
15
- setOpenMobile: (open: boolean) => void;
16
- isMobile: boolean;
17
- toggleSidebar: () => void;
18
- };
19
- /**
20
- * Hook that returns the current sidebar state and control methods from the nearest SidebarProvider.
21
- * Must be used within a `<SidebarProvider>`.
22
- */
23
- declare function useSidebar(): SidebarContextProps;
24
- /**
25
- * Context provider that manages sidebar open/collapsed state, mobile drawer, keyboard shortcut (Ctrl+B), and CSS variables for all child Sidebar components.
26
- *
27
- * @example
28
- * ```tsx
29
- * import {
30
- * SidebarProvider, Sidebar, SidebarHeader, SidebarContent,
31
- * SidebarMenu, SidebarMenuItem, SidebarMenuButton,
32
- * SidebarInset, SidebarTrigger,
33
- * } from '@customafk/lunas-ui/ui/sidebar';
34
- *
35
- * <SidebarProvider>
36
- * <Sidebar>
37
- * <SidebarHeader>Logo</SidebarHeader>
38
- * <SidebarContent>
39
- * <SidebarMenu>
40
- * <SidebarMenuItem>
41
- * <SidebarMenuButton asChild isActive>
42
- * <a href="/dashboard">Dashboard</a>
43
- * </SidebarMenuButton>
44
- * </SidebarMenuItem>
45
- * </SidebarMenu>
46
- * </SidebarContent>
47
- * </Sidebar>
48
- * <SidebarInset>
49
- * <SidebarTrigger />
50
- * <main>Page content</main>
51
- * </SidebarInset>
52
- * </SidebarProvider>
53
- * ```
54
- */
55
- declare function SidebarProvider({
56
- defaultOpen,
57
- open: openProp,
58
- onOpenChange: setOpenProp,
59
- className,
60
- style,
61
- children,
62
- ...props
63
- }: React.ComponentProps<'div'> & {
64
- /** Whether the sidebar starts expanded. @default true */
65
- defaultOpen?: boolean;
66
- /** Controlled open state. */
67
- open?: boolean;
68
- /** Callback fired when the open state changes. */
69
- onOpenChange?: (open: boolean) => void;
70
- }): react206.JSX.Element;
71
- /**
72
- * The main sidebar panel; renders as a Drawer on mobile and a fixed `<aside>` on desktop with optional collapse behavior.
73
- *
74
- * @param side - Which edge of the viewport the sidebar attaches to. @default `'left'`
75
- * @param variant - Visual style: `'sidebar'` (default), `'floating'`, or `'inset'`.
76
- * @param collapsible - Collapse mode: `'offcanvas'` (slides out), `'icon'` (icon-only), or `'none'` (always visible).
77
- */
78
- declare function Sidebar({
79
- side,
80
- variant,
81
- collapsible,
82
- className,
83
- children,
84
- ...props
85
- }: React.ComponentProps<'div'> & {
86
- side?: 'left' | 'right';
87
- variant?: 'sidebar' | 'floating' | 'inset';
88
- collapsible?: 'offcanvas' | 'icon' | 'none';
89
- }): react206.JSX.Element;
90
- /** Icon button that toggles the sidebar open/collapsed state. */
91
- declare function SidebarTrigger({
92
- className,
93
- onClick,
94
- ...props
95
- }: React.ComponentProps<typeof Button>): react206.JSX.Element;
96
- /** Invisible drag-rail along the sidebar edge that toggles collapse on click. */
97
- declare function SidebarRail({
98
- className,
99
- ...props
100
- }: React.ComponentProps<'button'>): react206.JSX.Element;
101
- /** The main content area that sits beside the Sidebar; expands to fill the remaining viewport width. */
102
- declare function SidebarInset({
103
- className,
104
- children,
105
- ...props
106
- }: React.ComponentProps<'main'>): react206.JSX.Element;
107
- /** A compact search input styled for use inside a sidebar header. */
108
- declare function SidebarInput({
109
- className,
110
- ...props
111
- }: React.ComponentProps<typeof Input>): react206.JSX.Element;
112
- /** Sticky top section of the Sidebar, typically holding a logo or workspace switcher. */
113
- declare function SidebarHeader({
114
- className,
115
- ...props
116
- }: React.ComponentProps<'div'>): react206.JSX.Element;
117
- /** Sticky bottom section of the Sidebar, typically holding user account info or settings. */
118
- declare function SidebarFooter({
119
- className,
120
- ...props
121
- }: React.ComponentProps<'div'>): react206.JSX.Element;
122
- /** A horizontal Separator styled for use between sections inside a Sidebar. */
123
- declare function SidebarSeparator({
124
- className,
125
- ...props
126
- }: React.ComponentProps<typeof Separator>): react206.JSX.Element;
127
- /** Scrollable middle section of the Sidebar that grows to fill available space. */
128
- declare function SidebarContent({
129
- className,
130
- ...props
131
- }: React.ComponentProps<'div'>): react206.JSX.Element;
132
- /** A logical section within SidebarContent, grouping related SidebarMenu items. */
133
- declare function SidebarGroup({
134
- className,
135
- ...props
136
- }: React.ComponentProps<'div'>): react206.JSX.Element;
137
- /**
138
- * Small all-caps heading label at the top of a SidebarGroup; hidden automatically in icon-only collapse mode.
139
- *
140
- * @param asChild - When true, renders as the child element via Radix Slot.
141
- */
142
- declare function SidebarGroupLabel({
143
- className,
144
- asChild,
145
- ...props
146
- }: React.ComponentProps<'div'> & {
147
- asChild?: boolean;
148
- }): react206.JSX.Element;
149
- /**
150
- * Action button (e.g. "Add") positioned absolutely at the top-right of a SidebarGroup label.
151
- *
152
- * @param asChild - When true, renders as the child element via Radix Slot.
153
- */
154
- declare function SidebarGroupAction({
155
- className,
156
- asChild,
157
- ...props
158
- }: React.ComponentProps<'button'> & {
159
- asChild?: boolean;
160
- }): react206.JSX.Element;
161
- /** The content area of a SidebarGroup, typically wrapping a SidebarMenu. */
162
- declare function SidebarGroupContent({
163
- className,
164
- ...props
165
- }: React.ComponentProps<'div'>): react206.JSX.Element;
166
- /** Vertical list `<ul>` that holds SidebarMenuItems. */
167
- declare function SidebarMenu({
168
- className,
169
- ...props
170
- }: React.ComponentProps<'ul'>): react206.JSX.Element;
171
- /** A single `<li>` entry in a SidebarMenu that may include a button, action, and badge. */
172
- declare function SidebarMenuItem({
173
- className,
174
- ...props
175
- }: React.ComponentProps<'li'>): react206.JSX.Element;
176
- declare const sidebarMenuButtonVariants: (props?: ({
177
- variant?: "default" | "outline" | null | undefined;
178
- size?: "sm" | "lg" | "default" | null | undefined;
179
- } & class_variance_authority_types9.ClassProp) | undefined) => string;
180
- /**
181
- * The primary clickable button within a SidebarMenuItem; collapses to an icon-only view when the sidebar is in icon-collapse mode and optionally shows a tooltip.
182
- *
183
- * @param asChild - When true, renders as the child element via Radix Slot (useful for router links).
184
- * @param isActive - Marks the button as the currently active route.
185
- * @param tooltip - A string or TooltipContent props shown when the sidebar is collapsed to icon-only mode.
186
- * @param variant - `'default'` or `'outline'`.
187
- * @param size - `'default'`, `'sm'`, or `'lg'`.
188
- */
189
- declare function SidebarMenuButton({
190
- asChild,
191
- isActive,
192
- variant,
193
- size,
194
- tooltip,
195
- className,
196
- ...props
197
- }: React.ComponentProps<'button'> & {
198
- asChild?: boolean;
199
- isActive?: boolean;
200
- tooltip?: string | React.ComponentProps<typeof TooltipContent>;
201
- } & VariantProps<typeof sidebarMenuButtonVariants>): react206.JSX.Element;
202
- /**
203
- * An icon action button (e.g. more-options) positioned at the right of a SidebarMenuButton.
204
- *
205
- * @param asChild - When true, renders as the child element via Radix Slot.
206
- * @param showOnHover - When true, the action is only visible on hover or when the menu item is focused.
207
- */
208
- declare function SidebarMenuAction({
209
- className,
210
- asChild,
211
- showOnHover,
212
- ...props
213
- }: React.ComponentProps<'button'> & {
214
- asChild?: boolean;
215
- showOnHover?: boolean;
216
- }): react206.JSX.Element;
217
- /** Small numeric or text badge rendered at the right of a SidebarMenuButton (e.g. unread count). */
218
- declare function SidebarMenuBadge({
219
- className,
220
- ...props
221
- }: React.ComponentProps<'div'>): react206.JSX.Element;
222
- /**
223
- * Placeholder skeleton row rendered in place of a SidebarMenuButton while menu items are loading.
224
- *
225
- * @param showIcon - When true, also renders a small square skeleton for the icon slot.
226
- */
227
- declare function SidebarMenuSkeleton({
228
- className,
229
- showIcon,
230
- ...props
231
- }: React.ComponentProps<'div'> & {
232
- showIcon?: boolean;
233
- }): react206.JSX.Element;
234
- /** Indented nested list of SidebarMenuSubItems rendered below a parent SidebarMenuItem. */
235
- declare function SidebarMenuSub({
236
- className,
237
- ...props
238
- }: React.ComponentProps<'ul'>): react206.JSX.Element;
239
- /** A single `<li>` entry inside a SidebarMenuSub. */
240
- declare function SidebarMenuSubItem({
241
- className,
242
- ...props
243
- }: React.ComponentProps<'li'>): react206.JSX.Element;
244
- /**
245
- * The clickable link/button for a nested sub-menu entry inside a SidebarMenuSub.
246
- *
247
- * @param asChild - When true, renders as the child element via Radix Slot.
248
- * @param size - `'sm'` for smaller text, `'md'` for normal text.
249
- * @param isActive - Highlights the button as the currently active sub-route.
250
- */
251
- declare function SidebarMenuSubButton({
252
- asChild,
253
- size,
254
- isActive,
255
- className,
256
- ...props
257
- }: React.ComponentProps<'a'> & {
258
- asChild?: boolean;
259
- size?: 'sm' | 'md';
260
- isActive?: boolean;
261
- }): react206.JSX.Element;
262
- //#endregion
263
- export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };
264
- //# sourceMappingURL=sidebar.d.cts.map
@@ -1,264 +0,0 @@
1
- import { t as Button } from "../button-W7L4JgMw.mjs";
2
- import { Separator } from "./separator.mjs";
3
- import { TooltipContent } from "./tooltip.mjs";
4
- import { t as Input } from "../input-BkbJ_jDH.mjs";
5
- import * as react272 from "react";
6
- import { VariantProps } from "class-variance-authority";
7
- import * as class_variance_authority_types10 from "class-variance-authority/types";
8
-
9
- //#region packages/components/ui/sidebar.d.ts
10
- type SidebarContextProps = {
11
- state: 'expanded' | 'collapsed';
12
- open: boolean;
13
- setOpen: (open: boolean) => void;
14
- openMobile: boolean;
15
- setOpenMobile: (open: boolean) => void;
16
- isMobile: boolean;
17
- toggleSidebar: () => void;
18
- };
19
- /**
20
- * Hook that returns the current sidebar state and control methods from the nearest SidebarProvider.
21
- * Must be used within a `<SidebarProvider>`.
22
- */
23
- declare function useSidebar(): SidebarContextProps;
24
- /**
25
- * Context provider that manages sidebar open/collapsed state, mobile drawer, keyboard shortcut (Ctrl+B), and CSS variables for all child Sidebar components.
26
- *
27
- * @example
28
- * ```tsx
29
- * import {
30
- * SidebarProvider, Sidebar, SidebarHeader, SidebarContent,
31
- * SidebarMenu, SidebarMenuItem, SidebarMenuButton,
32
- * SidebarInset, SidebarTrigger,
33
- * } from '@customafk/lunas-ui/ui/sidebar';
34
- *
35
- * <SidebarProvider>
36
- * <Sidebar>
37
- * <SidebarHeader>Logo</SidebarHeader>
38
- * <SidebarContent>
39
- * <SidebarMenu>
40
- * <SidebarMenuItem>
41
- * <SidebarMenuButton asChild isActive>
42
- * <a href="/dashboard">Dashboard</a>
43
- * </SidebarMenuButton>
44
- * </SidebarMenuItem>
45
- * </SidebarMenu>
46
- * </SidebarContent>
47
- * </Sidebar>
48
- * <SidebarInset>
49
- * <SidebarTrigger />
50
- * <main>Page content</main>
51
- * </SidebarInset>
52
- * </SidebarProvider>
53
- * ```
54
- */
55
- declare function SidebarProvider({
56
- defaultOpen,
57
- open: openProp,
58
- onOpenChange: setOpenProp,
59
- className,
60
- style,
61
- children,
62
- ...props
63
- }: React.ComponentProps<'div'> & {
64
- /** Whether the sidebar starts expanded. @default true */
65
- defaultOpen?: boolean;
66
- /** Controlled open state. */
67
- open?: boolean;
68
- /** Callback fired when the open state changes. */
69
- onOpenChange?: (open: boolean) => void;
70
- }): react272.JSX.Element;
71
- /**
72
- * The main sidebar panel; renders as a Drawer on mobile and a fixed `<aside>` on desktop with optional collapse behavior.
73
- *
74
- * @param side - Which edge of the viewport the sidebar attaches to. @default `'left'`
75
- * @param variant - Visual style: `'sidebar'` (default), `'floating'`, or `'inset'`.
76
- * @param collapsible - Collapse mode: `'offcanvas'` (slides out), `'icon'` (icon-only), or `'none'` (always visible).
77
- */
78
- declare function Sidebar({
79
- side,
80
- variant,
81
- collapsible,
82
- className,
83
- children,
84
- ...props
85
- }: React.ComponentProps<'div'> & {
86
- side?: 'left' | 'right';
87
- variant?: 'sidebar' | 'floating' | 'inset';
88
- collapsible?: 'offcanvas' | 'icon' | 'none';
89
- }): react272.JSX.Element;
90
- /** Icon button that toggles the sidebar open/collapsed state. */
91
- declare function SidebarTrigger({
92
- className,
93
- onClick,
94
- ...props
95
- }: React.ComponentProps<typeof Button>): react272.JSX.Element;
96
- /** Invisible drag-rail along the sidebar edge that toggles collapse on click. */
97
- declare function SidebarRail({
98
- className,
99
- ...props
100
- }: React.ComponentProps<'button'>): react272.JSX.Element;
101
- /** The main content area that sits beside the Sidebar; expands to fill the remaining viewport width. */
102
- declare function SidebarInset({
103
- className,
104
- children,
105
- ...props
106
- }: React.ComponentProps<'main'>): react272.JSX.Element;
107
- /** A compact search input styled for use inside a sidebar header. */
108
- declare function SidebarInput({
109
- className,
110
- ...props
111
- }: React.ComponentProps<typeof Input>): react272.JSX.Element;
112
- /** Sticky top section of the Sidebar, typically holding a logo or workspace switcher. */
113
- declare function SidebarHeader({
114
- className,
115
- ...props
116
- }: React.ComponentProps<'div'>): react272.JSX.Element;
117
- /** Sticky bottom section of the Sidebar, typically holding user account info or settings. */
118
- declare function SidebarFooter({
119
- className,
120
- ...props
121
- }: React.ComponentProps<'div'>): react272.JSX.Element;
122
- /** A horizontal Separator styled for use between sections inside a Sidebar. */
123
- declare function SidebarSeparator({
124
- className,
125
- ...props
126
- }: React.ComponentProps<typeof Separator>): react272.JSX.Element;
127
- /** Scrollable middle section of the Sidebar that grows to fill available space. */
128
- declare function SidebarContent({
129
- className,
130
- ...props
131
- }: React.ComponentProps<'div'>): react272.JSX.Element;
132
- /** A logical section within SidebarContent, grouping related SidebarMenu items. */
133
- declare function SidebarGroup({
134
- className,
135
- ...props
136
- }: React.ComponentProps<'div'>): react272.JSX.Element;
137
- /**
138
- * Small all-caps heading label at the top of a SidebarGroup; hidden automatically in icon-only collapse mode.
139
- *
140
- * @param asChild - When true, renders as the child element via Radix Slot.
141
- */
142
- declare function SidebarGroupLabel({
143
- className,
144
- asChild,
145
- ...props
146
- }: React.ComponentProps<'div'> & {
147
- asChild?: boolean;
148
- }): react272.JSX.Element;
149
- /**
150
- * Action button (e.g. "Add") positioned absolutely at the top-right of a SidebarGroup label.
151
- *
152
- * @param asChild - When true, renders as the child element via Radix Slot.
153
- */
154
- declare function SidebarGroupAction({
155
- className,
156
- asChild,
157
- ...props
158
- }: React.ComponentProps<'button'> & {
159
- asChild?: boolean;
160
- }): react272.JSX.Element;
161
- /** The content area of a SidebarGroup, typically wrapping a SidebarMenu. */
162
- declare function SidebarGroupContent({
163
- className,
164
- ...props
165
- }: React.ComponentProps<'div'>): react272.JSX.Element;
166
- /** Vertical list `<ul>` that holds SidebarMenuItems. */
167
- declare function SidebarMenu({
168
- className,
169
- ...props
170
- }: React.ComponentProps<'ul'>): react272.JSX.Element;
171
- /** A single `<li>` entry in a SidebarMenu that may include a button, action, and badge. */
172
- declare function SidebarMenuItem({
173
- className,
174
- ...props
175
- }: React.ComponentProps<'li'>): react272.JSX.Element;
176
- declare const sidebarMenuButtonVariants: (props?: ({
177
- variant?: "default" | "outline" | null | undefined;
178
- size?: "sm" | "lg" | "default" | null | undefined;
179
- } & class_variance_authority_types10.ClassProp) | undefined) => string;
180
- /**
181
- * The primary clickable button within a SidebarMenuItem; collapses to an icon-only view when the sidebar is in icon-collapse mode and optionally shows a tooltip.
182
- *
183
- * @param asChild - When true, renders as the child element via Radix Slot (useful for router links).
184
- * @param isActive - Marks the button as the currently active route.
185
- * @param tooltip - A string or TooltipContent props shown when the sidebar is collapsed to icon-only mode.
186
- * @param variant - `'default'` or `'outline'`.
187
- * @param size - `'default'`, `'sm'`, or `'lg'`.
188
- */
189
- declare function SidebarMenuButton({
190
- asChild,
191
- isActive,
192
- variant,
193
- size,
194
- tooltip,
195
- className,
196
- ...props
197
- }: React.ComponentProps<'button'> & {
198
- asChild?: boolean;
199
- isActive?: boolean;
200
- tooltip?: string | React.ComponentProps<typeof TooltipContent>;
201
- } & VariantProps<typeof sidebarMenuButtonVariants>): react272.JSX.Element;
202
- /**
203
- * An icon action button (e.g. more-options) positioned at the right of a SidebarMenuButton.
204
- *
205
- * @param asChild - When true, renders as the child element via Radix Slot.
206
- * @param showOnHover - When true, the action is only visible on hover or when the menu item is focused.
207
- */
208
- declare function SidebarMenuAction({
209
- className,
210
- asChild,
211
- showOnHover,
212
- ...props
213
- }: React.ComponentProps<'button'> & {
214
- asChild?: boolean;
215
- showOnHover?: boolean;
216
- }): react272.JSX.Element;
217
- /** Small numeric or text badge rendered at the right of a SidebarMenuButton (e.g. unread count). */
218
- declare function SidebarMenuBadge({
219
- className,
220
- ...props
221
- }: React.ComponentProps<'div'>): react272.JSX.Element;
222
- /**
223
- * Placeholder skeleton row rendered in place of a SidebarMenuButton while menu items are loading.
224
- *
225
- * @param showIcon - When true, also renders a small square skeleton for the icon slot.
226
- */
227
- declare function SidebarMenuSkeleton({
228
- className,
229
- showIcon,
230
- ...props
231
- }: React.ComponentProps<'div'> & {
232
- showIcon?: boolean;
233
- }): react272.JSX.Element;
234
- /** Indented nested list of SidebarMenuSubItems rendered below a parent SidebarMenuItem. */
235
- declare function SidebarMenuSub({
236
- className,
237
- ...props
238
- }: React.ComponentProps<'ul'>): react272.JSX.Element;
239
- /** A single `<li>` entry inside a SidebarMenuSub. */
240
- declare function SidebarMenuSubItem({
241
- className,
242
- ...props
243
- }: React.ComponentProps<'li'>): react272.JSX.Element;
244
- /**
245
- * The clickable link/button for a nested sub-menu entry inside a SidebarMenuSub.
246
- *
247
- * @param asChild - When true, renders as the child element via Radix Slot.
248
- * @param size - `'sm'` for smaller text, `'md'` for normal text.
249
- * @param isActive - Highlights the button as the currently active sub-route.
250
- */
251
- declare function SidebarMenuSubButton({
252
- asChild,
253
- size,
254
- isActive,
255
- className,
256
- ...props
257
- }: React.ComponentProps<'a'> & {
258
- asChild?: boolean;
259
- size?: 'sm' | 'md';
260
- isActive?: boolean;
261
- }): react272.JSX.Element;
262
- //#endregion
263
- export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };
264
- //# sourceMappingURL=sidebar.d.mts.map
@@ -1,2 +0,0 @@
1
- "use client";import"../button.variants-CwcJHcI5.mjs";import{t as e}from"../button-BqxBQ4Kr.mjs";import{t}from"../skeleton-Czl96pWA.mjs";import{i as n,n as r,r as i,t as a}from"../tooltip-BMdzWaaH.mjs";import{t as o}from"../separator-yTKDuMWb.mjs";import{t as s}from"../input-CKFQdvqY.mjs";import{i as c,o as l,r as u,t as d}from"../drawer-j9wcVE50.mjs";import{MenuIcon as f}from"lucide-react";import{createContext as p,use as m,useCallback as h,useEffect as g,useMemo as _,useState as v}from"react";import{cn as y}from"@customafk/react-toolkit/utils";import{cva as b}from"class-variance-authority";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{Slot as C}from"radix-ui";import{useIsMobile as w}from"@customafk/react-toolkit/hooks/useMobile";const T=p(null);function E(){let e=m(T);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function D({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let c=w(),[l,u]=v(!1),[d,f]=v(e),p=t??d,m=h(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[n,p]),b=h(()=>c?u(e=>!e):m(e=>!e),[c,m,u]);g(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[b]);let S=p?`expanded`:`collapsed`,C=_(()=>({state:S,isMobile:c,toggleSidebar:b,open:p,setOpen:m,openMobile:l,setOpenMobile:u}),[S,p,m,c,l,u,b]);return x(T.Provider,{value:C,children:x(i,{delayDuration:0,children:x(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:y(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex h-dvh w-full`,r),...s,children:o})})})}function O({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{isMobile:o,state:s,openMobile:f,setOpenMobile:p}=E();return n===`none`?x(`aside`,{"data-slot":`sidebar`,className:y(`bg-sidebar`,`text-sidebar-foreground`,`flex h-full w-(--sidebar-width) flex-col`,`border-r`,r),...a,children:i}):o?x(d,{open:f,onOpenChange:p,direction:`left`,children:S(u,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:{"--sidebar-width":`18rem`},children:[S(l,{className:`sr-only`,children:[x(u,{children:`Sidebar`}),x(c,{children:`Displays the mobile sidebar.`})]}),x(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):S(`aside`,{className:`group peer text-sidebar-foreground bg-card hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[x(`div`,{"data-slot":`sidebar-gap`,className:y(`relative`,`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-14 w-(--sidebar-width)`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),x(`div`,{"data-slot":`sidebar-container`,className:y(`hidden md:flex`,`fixed inset-y-0 top-14 z-10`,`h-[calc(100dvh-3.5rem)] w-(--sidebar-width)`,`border-r`,`transition-[left,right,width] duration-200 ease-linear`,e===`left`&&`left-0`,e===`left`&&`group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`,e===`right`&&`right-0`,e===`right`&&`group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,r),...a,children:x(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:y(`flex size-full flex-col`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function k({className:t,onClick:n,...r}){let{toggleSidebar:i}=E();return S(e,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:y(`size-10 rounded-full`,t),onClick:e=>{n?.(e),i()},...r,children:[x(f,{className:`!size-6`}),x(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function A({className:e,...t}){let{toggleSidebar:n}=E();return x(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:y(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2`,`after:w-0.5`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:after:bg-sidebar-border`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})}function j({className:e,children:t,...n}){return S(`main`,{"data-slot":`sidebar-inset`,className:y(`w-full`,`relative`,`flex flex-1 flex-col`,e),...n,children:[x(`div`,{className:`h-14 w-full`}),x(`div`,{className:y(`flex-1 inset-shadow-sm`),children:t})]})}function M({className:e,...t}){return x(s,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:y(`bg-background h-8 w-full shadow-none`,e),...t})}function N({className:e,...t}){return x(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:y(`flex flex-col gap-2 p-2`,e),...t})}function P({className:e,...t}){return x(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:y(`flex flex-col gap-2 p-2`,e),...t})}function F({className:e,...t}){return x(o,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:y(`bg-sidebar-border mx-2 w-auto`,e),...t})}function I({className:e,...t}){return x(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:y(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function L({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:y(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function R({className:e,asChild:t=!1,...n}){return x(t?C.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:y(`text-sidebar-foreground/70`,`ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8`,`group-data-[collapsible=icon]:opacity-0`,e),...n})}function z({className:e,asChild:t=!1,...n}){return x(t?C.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:y(`text-sidebar-foreground ring-sidebar-ring`,`absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function B({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:y(`w-full text-sm`,e),...t})}function V({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:y(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function H({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:y(`group/menu-item relative`,e),...t})}const U=b([`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-accent-foreground`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`],{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function W({asChild:e=!1,isActive:t=!1,variant:i=`default`,size:o=`default`,tooltip:s,className:c,...l}){let u=e?C.Slot:`button`,{isMobile:d,state:f}=E(),p=x(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":o,"data-active":t,className:y(U({variant:i,size:o}),c),...l});return s?(typeof s==`string`&&(s={children:s}),S(a,{children:[x(n,{asChild:!0,children:p}),x(r,{side:`right`,align:`center`,hidden:f!==`collapsed`||d,...s})]})):p}function G({className:e,asChild:t=!1,showOnHover:n=!1,...r}){return x(t?C.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:y(`text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,n&&`group-focus-within/menu-item:opacity-100`,n&&`group-hover/menu-item:opacity-100`,n&&`data-[state=open]:opacity-100 md:opacity-0`,e),...r})}function K({className:e,...t}){return x(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:y(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground`,`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function q({className:e,showIcon:n=!1,...r}){let i=_(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return S(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:y(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[n&&x(t,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),x(t,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function J({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:y(`border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function Y({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:y(`group/menu-sub-item relative`,e),...t})}function X({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){return x(e?C.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:y(`text-sidebar-foreground ring-sidebar-ring`,`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`disabled:pointer-events-none`,`disabled:opacity-50`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:text-sidebar-accent-foreground`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,r),...i})}export{O as Sidebar,I as SidebarContent,P as SidebarFooter,L as SidebarGroup,z as SidebarGroupAction,B as SidebarGroupContent,R as SidebarGroupLabel,N as SidebarHeader,M as SidebarInput,j as SidebarInset,V as SidebarMenu,G as SidebarMenuAction,K as SidebarMenuBadge,W as SidebarMenuButton,H as SidebarMenuItem,q as SidebarMenuSkeleton,J as SidebarMenuSub,X as SidebarMenuSubButton,Y as SidebarMenuSubItem,D as SidebarProvider,A as SidebarRail,F as SidebarSeparator,k as SidebarTrigger,E as useSidebar};
2
- //# sourceMappingURL=sidebar.mjs.map