@customafk/lunas-ui 0.0.72 → 0.0.73

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 (357) hide show
  1. package/dist/{add-new-C7ZMHWcR.cjs → add-new-BaA0yy6U.cjs} +2 -2
  2. package/dist/{add-new-C7ZMHWcR.cjs.map → add-new-BaA0yy6U.cjs.map} +1 -1
  3. package/dist/{add-new-Czl4AL65.js → add-new-_5opEbrI.js} +2 -2
  4. package/dist/{add-new-Czl4AL65.js.map → add-new-_5opEbrI.js.map} +1 -1
  5. package/dist/{alert-dialog-BGXInZ89.js → alert-dialog-DcQKEgVC.js} +1 -1
  6. package/dist/{alert-dialog-BGXInZ89.js.map → alert-dialog-DcQKEgVC.js.map} +1 -1
  7. package/dist/{alert-dialog-DO5oai_F.cjs → alert-dialog-brXudt77.cjs} +1 -1
  8. package/dist/{alert-dialog-DO5oai_F.cjs.map → alert-dialog-brXudt77.cjs.map} +1 -1
  9. package/dist/{avatar-Do65Vzm-.cjs → avatar-B4pklWJt.cjs} +1 -1
  10. package/dist/{avatar-Do65Vzm-.cjs.map → avatar-B4pklWJt.cjs.map} +1 -1
  11. package/dist/{avatar-BDeoLWSP.js → avatar-iX5Jhj8E.js} +1 -1
  12. package/dist/{avatar-BDeoLWSP.js.map → avatar-iX5Jhj8E.js.map} +1 -1
  13. package/dist/{badge-i1kDdcPx.cjs → badge-CsA-JCDX.cjs} +1 -1
  14. package/dist/{badge-i1kDdcPx.cjs.map → badge-CsA-JCDX.cjs.map} +1 -1
  15. package/dist/{badge-BsaF-oBX.js → badge-tjlLdDGl.js} +1 -1
  16. package/dist/{badge-BsaF-oBX.js.map → badge-tjlLdDGl.js.map} +1 -1
  17. package/dist/{button-CcW3s4Yg.d.ts → button-DikL7zwS.d.ts} +3 -3
  18. package/dist/{button-CXKXt24w.d.cts → button-DoAx4aaD.d.cts} +3 -3
  19. package/dist/{calendar-CaZB4tkk.cjs → calendar-DGqBIV7n.cjs} +1 -1
  20. package/dist/{calendar-CaZB4tkk.cjs.map → calendar-DGqBIV7n.cjs.map} +1 -1
  21. package/dist/{calendar-BHFsJa4w.js → calendar-DdIUj5Dk.js} +1 -1
  22. package/dist/{calendar-BHFsJa4w.js.map → calendar-DdIUj5Dk.js.map} +1 -1
  23. package/dist/cards/simple-card.d.ts +2 -2
  24. package/dist/{command-DYwws5ny.d.ts → command-BUBPlGK4.d.ts} +12 -12
  25. package/dist/{command-55V9WeIE.cjs → command-BaW_SRkQ.cjs} +2 -2
  26. package/dist/{command-55V9WeIE.cjs.map → command-BaW_SRkQ.cjs.map} +1 -1
  27. package/dist/{command-BvHe__3s.js → command-CRNFM6Sb.js} +2 -2
  28. package/dist/{command-BvHe__3s.js.map → command-CRNFM6Sb.js.map} +1 -1
  29. package/dist/{command-CbW3sxOZ.d.cts → command-rxs0v832.d.cts} +12 -12
  30. package/dist/data-display/country.cjs +1 -1
  31. package/dist/data-display/country.js +1 -1
  32. package/dist/data-display/data-list.cjs +1 -1
  33. package/dist/data-display/data-list.js +1 -1
  34. package/dist/data-display/date-tooltip.cjs +1 -1
  35. package/dist/data-display/date-tooltip.js +1 -1
  36. package/dist/data-display/date.cjs +1 -1
  37. package/dist/data-display/date.js +1 -1
  38. package/dist/data-display/empty.cjs +1 -1
  39. package/dist/data-display/empty.d.cts +2 -2
  40. package/dist/data-display/empty.d.ts +2 -2
  41. package/dist/data-display/empty.js +1 -1
  42. package/dist/data-display/name.cjs +1 -1
  43. package/dist/data-display/name.js +1 -1
  44. package/dist/data-display/phone-number.cjs +1 -1
  45. package/dist/data-display/phone-number.js +1 -1
  46. package/dist/data-display/role-badge.cjs +1 -1
  47. package/dist/data-display/role-badge.js +1 -1
  48. package/dist/data-display/statistic.cjs +1 -1
  49. package/dist/data-display/statistic.d.cts +2 -2
  50. package/dist/data-display/statistic.d.ts +2 -2
  51. package/dist/data-display/statistic.js +1 -1
  52. package/dist/data-display/user.cjs +1 -1
  53. package/dist/data-display/user.js +1 -1
  54. package/dist/{date-BeXyaUes.cjs → date-2wue8L-1.cjs} +1 -1
  55. package/dist/{date-BeXyaUes.cjs.map → date-2wue8L-1.cjs.map} +1 -1
  56. package/dist/{date-B4Sx6C5P.js → date-BuPl--Fc.js} +1 -1
  57. package/dist/{date-B4Sx6C5P.js.map → date-BuPl--Fc.js.map} +1 -1
  58. package/dist/{dialog-MCM90IpD.d.cts → dialog-BBDmpwtY.d.cts} +12 -12
  59. package/dist/{dialog-YRbIPpUZ.cjs → dialog-DGbWt3A4.cjs} +1 -1
  60. package/dist/{dialog-YRbIPpUZ.cjs.map → dialog-DGbWt3A4.cjs.map} +1 -1
  61. package/dist/{dialog-umfxj9v3.d.ts → dialog-DUEQa9I5.d.ts} +12 -12
  62. package/dist/{dialog-OTHc6G5i.js → dialog-SbX5GvMK.js} +1 -1
  63. package/dist/{dialog-OTHc6G5i.js.map → dialog-SbX5GvMK.js.map} +1 -1
  64. package/dist/dialogs/confirm-dialog.cjs +1 -1
  65. package/dist/dialogs/confirm-dialog.js +1 -1
  66. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  67. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +28 -28
  68. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +3 -3
  69. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  70. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  71. package/dist/dialogs/detail-dialog/index.js +1 -1
  72. package/dist/dialogs/error-dialog.cjs +1 -1
  73. package/dist/dialogs/error-dialog.js +1 -1
  74. package/dist/dialogs/form-dialog.cjs +1 -1
  75. package/dist/dialogs/form-dialog.d.cts +2 -2
  76. package/dist/dialogs/form-dialog.d.ts +2 -2
  77. package/dist/dialogs/form-dialog.js +1 -1
  78. package/dist/dialogs/loading-dialog.cjs +1 -1
  79. package/dist/dialogs/loading-dialog.js +1 -1
  80. package/dist/{drawer-CY1b-uAY.cjs → drawer-CaX-sUvZ.cjs} +1 -1
  81. package/dist/{drawer-CY1b-uAY.cjs.map → drawer-CaX-sUvZ.cjs.map} +1 -1
  82. package/dist/{drawer-DRC3X2-U.js → drawer-hi51Beoq.js} +1 -1
  83. package/dist/{drawer-DRC3X2-U.js.map → drawer-hi51Beoq.js.map} +1 -1
  84. package/dist/{error-dialog-C-QmLnGd.js → error-dialog-BeYJOtSH.js} +2 -2
  85. package/dist/{error-dialog-C-QmLnGd.js.map → error-dialog-BeYJOtSH.js.map} +1 -1
  86. package/dist/{error-dialog-CKAUvqn7.cjs → error-dialog-DMbJhWyk.cjs} +2 -2
  87. package/dist/{error-dialog-CKAUvqn7.cjs.map → error-dialog-DMbJhWyk.cjs.map} +1 -1
  88. package/dist/{flex-Dngi9Umy.js → flex-D6XrXRQW.js} +1 -1
  89. package/dist/{flex-Dngi9Umy.js.map → flex-D6XrXRQW.js.map} +1 -1
  90. package/dist/{flex-tfa5B9qc.cjs → flex-DS4mxjtf.cjs} +1 -1
  91. package/dist/{flex-tfa5B9qc.cjs.map → flex-DS4mxjtf.cjs.map} +1 -1
  92. package/dist/{form-nFp50GQa.js → form-BT1TbgK6.js} +2 -2
  93. package/dist/{form-nFp50GQa.js.map → form-BT1TbgK6.js.map} +1 -1
  94. package/dist/{form-LlBR5CH6.cjs → form-DyH5iWq7.cjs} +2 -2
  95. package/dist/{form-LlBR5CH6.cjs.map → form-DyH5iWq7.cjs.map} +1 -1
  96. package/dist/{form-wrapper-DIsYQSTr.js → form-wrapper-CFcpJdfv.js} +2 -2
  97. package/dist/{form-wrapper-DIsYQSTr.js.map → form-wrapper-CFcpJdfv.js.map} +1 -1
  98. package/dist/{form-wrapper-BEPDnGJT.cjs → form-wrapper-bC0IEtWT.cjs} +2 -2
  99. package/dist/{form-wrapper-BEPDnGJT.cjs.map → form-wrapper-bC0IEtWT.cjs.map} +1 -1
  100. package/dist/forms/combobox-field.cjs +1 -1
  101. package/dist/forms/combobox-field.d.cts +2 -2
  102. package/dist/forms/combobox-field.js +1 -1
  103. package/dist/forms/date-field.cjs +1 -1
  104. package/dist/forms/date-field.d.cts +2 -2
  105. package/dist/forms/date-field.d.ts +2 -2
  106. package/dist/forms/date-field.js +1 -1
  107. package/dist/forms/form-wrapper.cjs +1 -1
  108. package/dist/forms/form-wrapper.d.cts +2 -2
  109. package/dist/forms/form-wrapper.d.ts +2 -2
  110. package/dist/forms/form-wrapper.js +1 -1
  111. package/dist/forms/multi-select-field.cjs +1 -1
  112. package/dist/forms/multi-select-field.cjs.map +1 -1
  113. package/dist/forms/multi-select-field.d.cts +2 -2
  114. package/dist/forms/multi-select-field.d.ts +2 -2
  115. package/dist/forms/multi-select-field.js +1 -1
  116. package/dist/forms/number-field.cjs +1 -1
  117. package/dist/forms/number-field.d.cts +2 -2
  118. package/dist/forms/number-field.d.ts +2 -2
  119. package/dist/forms/number-field.js +1 -1
  120. package/dist/forms/password-field.cjs +1 -1
  121. package/dist/forms/password-field.d.cts +2 -2
  122. package/dist/forms/password-field.d.ts +2 -2
  123. package/dist/forms/password-field.js +1 -1
  124. package/dist/forms/select-field.cjs +1 -1
  125. package/dist/forms/select-field.d.cts +2 -2
  126. package/dist/forms/select-field.d.ts +2 -2
  127. package/dist/forms/select-field.js +1 -1
  128. package/dist/forms/switch-field.cjs +1 -1
  129. package/dist/forms/switch-field.d.cts +2 -2
  130. package/dist/forms/switch-field.d.ts +2 -2
  131. package/dist/forms/switch-field.js +1 -1
  132. package/dist/forms/text-field.cjs +1 -1
  133. package/dist/forms/text-field.d.cts +2 -2
  134. package/dist/forms/text-field.d.ts +2 -2
  135. package/dist/forms/text-field.js +1 -1
  136. package/dist/forms/textarea-field.cjs +1 -1
  137. package/dist/forms/textarea-field.d.cts +2 -2
  138. package/dist/forms/textarea-field.d.ts +2 -2
  139. package/dist/forms/textarea-field.js +1 -1
  140. package/dist/{input-C5NrcQAm.d.cts → input-DomGaN2h.d.ts} +3 -3
  141. package/dist/{input-DkiBw_X9.d.ts → input-DvX75CSu.d.cts} +3 -3
  142. package/dist/{input-jNmC92mW.cjs → input-GHXBt6hz.cjs} +1 -1
  143. package/dist/{input-jNmC92mW.cjs.map → input-GHXBt6hz.cjs.map} +1 -1
  144. package/dist/{input-CBsg9Cmq.js → input-ZyZ1HKHN.js} +1 -1
  145. package/dist/{input-CBsg9Cmq.js.map → input-ZyZ1HKHN.js.map} +1 -1
  146. package/dist/{label-BR3QQSIp.cjs → label-CHNSlaoz.cjs} +1 -1
  147. package/dist/{label-BR3QQSIp.cjs.map → label-CHNSlaoz.cjs.map} +1 -1
  148. package/dist/{label-CRhvNQY4.js → label-CdrxlBJ8.js} +1 -1
  149. package/dist/{label-CRhvNQY4.js.map → label-CdrxlBJ8.js.map} +1 -1
  150. package/dist/layouts/app-layout/index.cjs +1 -1
  151. package/dist/layouts/app-layout/index.d.cts +28 -28
  152. package/dist/layouts/app-layout/index.d.ts +2 -2
  153. package/dist/layouts/app-layout/index.js +1 -1
  154. package/dist/layouts/flex.cjs +1 -1
  155. package/dist/layouts/flex.d.cts +2 -2
  156. package/dist/layouts/flex.d.ts +2 -2
  157. package/dist/layouts/flex.js +1 -1
  158. package/dist/layouts/service-layout/index.cjs +1 -1
  159. package/dist/layouts/service-layout/index.d.cts +15 -15
  160. package/dist/layouts/service-layout/index.d.ts +2 -2
  161. package/dist/layouts/service-layout/index.js +1 -1
  162. package/dist/layouts/service-layout/index.js.map +1 -1
  163. package/dist/{multi-select-C-ZC1KVO.cjs → multi-select-DIZCHmU4.cjs} +2 -2
  164. package/dist/{multi-select-C-ZC1KVO.cjs.map → multi-select-DIZCHmU4.cjs.map} +1 -1
  165. package/dist/{multi-select-s7a7w_UG.js → multi-select-DzKtuSER.js} +2 -2
  166. package/dist/{multi-select-s7a7w_UG.js.map → multi-select-DzKtuSER.js.map} +1 -1
  167. package/dist/{paragraph-CaBn7ADD.js → paragraph-B9fp9JaI.js} +1 -1
  168. package/dist/{paragraph-CaBn7ADD.js.map → paragraph-B9fp9JaI.js.map} +1 -1
  169. package/dist/{paragraph-DHasUGpR.cjs → paragraph-BLvW7xdo.cjs} +1 -1
  170. package/dist/{paragraph-DHasUGpR.cjs.map → paragraph-BLvW7xdo.cjs.map} +1 -1
  171. package/dist/{popover-DTO7qZcM.cjs → popover-DLbTz02b.cjs} +1 -1
  172. package/dist/{popover-DTO7qZcM.cjs.map → popover-DLbTz02b.cjs.map} +1 -1
  173. package/dist/{popover-C_4MwCJv.js → popover-DvXi2pyH.js} +1 -1
  174. package/dist/{popover-C_4MwCJv.js.map → popover-DvXi2pyH.js.map} +1 -1
  175. package/dist/{refresh-DTTjph2a.js → refresh-BHjc0ETv.js} +2 -2
  176. package/dist/{refresh-DTTjph2a.js.map → refresh-BHjc0ETv.js.map} +1 -1
  177. package/dist/{refresh-N_fOqhT5.cjs → refresh-Bt9GEyuC.cjs} +2 -2
  178. package/dist/{refresh-N_fOqhT5.cjs.map → refresh-Bt9GEyuC.cjs.map} +1 -1
  179. package/dist/scroll-area-BKJYk4zH.js +2 -0
  180. package/dist/scroll-area-BKJYk4zH.js.map +1 -0
  181. package/dist/scroll-area-bTF4NokG.cjs +2 -0
  182. package/dist/scroll-area-bTF4NokG.cjs.map +1 -0
  183. package/dist/{search-input-DP1Cjt6h.cjs → search-input-DFgHJyOp.cjs} +2 -2
  184. package/dist/{search-input-DP1Cjt6h.cjs.map → search-input-DFgHJyOp.cjs.map} +1 -1
  185. package/dist/{search-input-BZfmsfdx.js → search-input-DM9ePMxA.js} +2 -2
  186. package/dist/{search-input-BZfmsfdx.js.map → search-input-DM9ePMxA.js.map} +1 -1
  187. package/dist/{select-D1_qKCK7.js → select---jN6Yy0.js} +1 -1
  188. package/dist/{select-D1_qKCK7.js.map → select---jN6Yy0.js.map} +1 -1
  189. package/dist/{select-CmbH9nni.cjs → select-CvPIAeWb.cjs} +1 -1
  190. package/dist/{select-CmbH9nni.cjs.map → select-CvPIAeWb.cjs.map} +1 -1
  191. package/dist/{separator-B3UjKJ91.d.cts → separator-B0ekl2cm.d.cts} +3 -3
  192. package/dist/{sidebar-jB4Qk0gk.cjs → sidebar-BF_5REY5.cjs} +2 -2
  193. package/dist/{sidebar-jB4Qk0gk.cjs.map → sidebar-BF_5REY5.cjs.map} +1 -1
  194. package/dist/{sidebar-D4pxYfhY.js → sidebar-BgOz0zZh.js} +2 -2
  195. package/dist/{sidebar-D4pxYfhY.js.map → sidebar-BgOz0zZh.js.map} +1 -1
  196. package/dist/{switch-ClwAKGC0.cjs → switch-BLfDkOOl.cjs} +1 -1
  197. package/dist/{switch-ClwAKGC0.cjs.map → switch-BLfDkOOl.cjs.map} +1 -1
  198. package/dist/{switch-BWRzY3i2.js → switch-C8OMYLfj.js} +1 -1
  199. package/dist/{switch-BWRzY3i2.js.map → switch-C8OMYLfj.js.map} +1 -1
  200. package/dist/table/index.cjs +1 -1
  201. package/dist/table/index.cjs.map +1 -1
  202. package/dist/table/index.d.cts +2 -0
  203. package/dist/table/index.d.ts +4 -2
  204. package/dist/table/index.js +1 -1
  205. package/dist/table/index.js.map +1 -1
  206. package/dist/{textarea-Rob6xodm.js → textarea-Br_DX1wm.js} +1 -1
  207. package/dist/{textarea-Rob6xodm.js.map → textarea-Br_DX1wm.js.map} +1 -1
  208. package/dist/{textarea-B0agR4V-.cjs → textarea-jrCmozqt.cjs} +1 -1
  209. package/dist/{textarea-B0agR4V-.cjs.map → textarea-jrCmozqt.cjs.map} +1 -1
  210. package/dist/{toggle-BuzXQXHg.d.cts → toggle-C2H0HKpd.d.cts} +5 -5
  211. package/dist/{toggle-Cs4NAdZh.d.ts → toggle-vH-BH18X.d.ts} +5 -5
  212. package/dist/{tooltip-B6P3IKFE.js → tooltip-BTrjCwd8.js} +1 -1
  213. package/dist/{tooltip-B6P3IKFE.js.map → tooltip-BTrjCwd8.js.map} +1 -1
  214. package/dist/{tooltip-BxTaXvVn.d.cts → tooltip-BhypOt39.d.cts} +6 -6
  215. package/dist/{tooltip-B6BWVv0X.cjs → tooltip-DXvcPsvM.cjs} +1 -1
  216. package/dist/{tooltip-B6BWVv0X.cjs.map → tooltip-DXvcPsvM.cjs.map} +1 -1
  217. package/dist/{tooltip-Bi4jcrSu.d.ts → tooltip-Dibm3gcf.d.ts} +6 -6
  218. package/dist/{types-BjbTiGi6.js → types-BiiGENwa.js} +1 -1
  219. package/dist/{types-BjbTiGi6.js.map → types-BiiGENwa.js.map} +1 -1
  220. package/dist/{types-D4UBBo-V.cjs → types-D32qXHff.cjs} +1 -1
  221. package/dist/{types-D4UBBo-V.cjs.map → types-D32qXHff.cjs.map} +1 -1
  222. package/dist/typography/paragraph.cjs +1 -1
  223. package/dist/typography/paragraph.d.cts +2 -2
  224. package/dist/typography/paragraph.d.ts +2 -2
  225. package/dist/typography/paragraph.js +1 -1
  226. package/dist/typography/title.d.cts +2 -2
  227. package/dist/typography/title.d.ts +2 -2
  228. package/dist/ui/alert-dialog.cjs +1 -1
  229. package/dist/ui/alert-dialog.d.cts +12 -12
  230. package/dist/ui/alert-dialog.d.ts +12 -12
  231. package/dist/ui/alert-dialog.js +1 -1
  232. package/dist/ui/alert.d.cts +4 -4
  233. package/dist/ui/alert.d.ts +4 -4
  234. package/dist/ui/aspect-ratio.d.cts +2 -2
  235. package/dist/ui/aspect-ratio.d.ts +2 -2
  236. package/dist/ui/avatar.cjs +1 -1
  237. package/dist/ui/avatar.d.cts +4 -4
  238. package/dist/ui/avatar.d.ts +4 -4
  239. package/dist/ui/avatar.js +1 -1
  240. package/dist/ui/badge.cjs +1 -1
  241. package/dist/ui/badge.d.cts +2 -2
  242. package/dist/ui/badge.d.ts +2 -2
  243. package/dist/ui/badge.js +1 -1
  244. package/dist/ui/breadcrumb.d.cts +8 -8
  245. package/dist/ui/button.d.cts +1 -1
  246. package/dist/ui/button.d.ts +1 -1
  247. package/dist/ui/buttons/add-new.cjs +1 -1
  248. package/dist/ui/buttons/add-new.js +1 -1
  249. package/dist/ui/buttons/refresh.cjs +1 -1
  250. package/dist/ui/buttons/refresh.js +1 -1
  251. package/dist/ui/calendar.cjs +1 -1
  252. package/dist/ui/calendar.d.cts +4 -4
  253. package/dist/ui/calendar.d.ts +4 -4
  254. package/dist/ui/calendar.js +1 -1
  255. package/dist/ui/card.d.cts +8 -8
  256. package/dist/ui/card.d.ts +8 -8
  257. package/dist/ui/carousel.d.cts +7 -7
  258. package/dist/ui/carousel.d.ts +7 -7
  259. package/dist/ui/collapsible.d.cts +4 -4
  260. package/dist/ui/collapsible.d.ts +4 -4
  261. package/dist/ui/command.cjs +1 -1
  262. package/dist/ui/command.d.cts +2 -2
  263. package/dist/ui/command.d.ts +2 -2
  264. package/dist/ui/command.js +1 -1
  265. package/dist/ui/context-menu.d.cts +16 -16
  266. package/dist/ui/context-menu.d.ts +16 -16
  267. package/dist/ui/dialog.cjs +1 -1
  268. package/dist/ui/dialog.d.cts +1 -1
  269. package/dist/ui/dialog.d.ts +1 -1
  270. package/dist/ui/dialog.js +1 -1
  271. package/dist/ui/dropdown-menu.d.cts +16 -16
  272. package/dist/ui/dropdown-menu.d.ts +16 -16
  273. package/dist/ui/file-uploader.d.cts +2 -2
  274. package/dist/ui/file-uploader.d.ts +2 -2
  275. package/dist/ui/form.cjs +1 -1
  276. package/dist/ui/form.d.cts +7 -7
  277. package/dist/ui/form.d.ts +7 -7
  278. package/dist/ui/form.js +1 -1
  279. package/dist/ui/hover-card.d.cts +4 -4
  280. package/dist/ui/hover-card.d.ts +4 -4
  281. package/dist/ui/input-otp.d.cts +5 -5
  282. package/dist/ui/input-otp.d.ts +5 -5
  283. package/dist/ui/input.cjs +1 -1
  284. package/dist/ui/input.d.cts +1 -1
  285. package/dist/ui/input.d.ts +1 -1
  286. package/dist/ui/input.js +1 -1
  287. package/dist/ui/inputs/search-input.cjs +1 -1
  288. package/dist/ui/inputs/search-input.d.cts +3 -3
  289. package/dist/ui/inputs/search-input.d.ts +1 -1
  290. package/dist/ui/inputs/search-input.js +1 -1
  291. package/dist/ui/label.cjs +1 -1
  292. package/dist/ui/label.d.cts +2 -2
  293. package/dist/ui/label.d.ts +2 -2
  294. package/dist/ui/label.js +1 -1
  295. package/dist/ui/menubar.d.cts +17 -17
  296. package/dist/ui/menubar.d.ts +17 -17
  297. package/dist/ui/multi-select.cjs +1 -1
  298. package/dist/ui/multi-select.d.cts +2 -2
  299. package/dist/ui/multi-select.d.ts +2 -2
  300. package/dist/ui/multi-select.js +1 -1
  301. package/dist/ui/navigation-menu.d.cts +11 -11
  302. package/dist/ui/navigation-menu.d.ts +9 -9
  303. package/dist/ui/pagination.d.cts +9 -9
  304. package/dist/ui/pagination.d.ts +9 -9
  305. package/dist/ui/popover.cjs +1 -1
  306. package/dist/ui/popover.d.cts +5 -5
  307. package/dist/ui/popover.d.ts +5 -5
  308. package/dist/ui/popover.js +1 -1
  309. package/dist/ui/progress.d.cts +2 -2
  310. package/dist/ui/progress.d.ts +2 -2
  311. package/dist/ui/radio-group.d.cts +3 -3
  312. package/dist/ui/radio-group.d.ts +3 -3
  313. package/dist/ui/resizable.d.cts +4 -4
  314. package/dist/ui/resizable.d.ts +4 -4
  315. package/dist/ui/scroll-area.cjs +1 -1
  316. package/dist/ui/scroll-area.d.cts +4 -3
  317. package/dist/ui/scroll-area.d.ts +4 -3
  318. package/dist/ui/scroll-area.js +1 -1
  319. package/dist/ui/select.cjs +1 -1
  320. package/dist/ui/select.d.cts +11 -11
  321. package/dist/ui/select.js +1 -1
  322. package/dist/ui/separator.d.cts +1 -1
  323. package/dist/ui/sheet.d.cts +9 -9
  324. package/dist/ui/sidebar.cjs +1 -1
  325. package/dist/ui/sidebar.d.cts +28 -28
  326. package/dist/ui/sidebar.d.ts +29 -29
  327. package/dist/ui/sidebar.js +1 -1
  328. package/dist/ui/skeleton.d.cts +2 -2
  329. package/dist/ui/skeleton.d.ts +2 -2
  330. package/dist/ui/slider.d.cts +2 -2
  331. package/dist/ui/slider.d.ts +2 -2
  332. package/dist/ui/sonner.d.cts +2 -2
  333. package/dist/ui/switch.cjs +1 -1
  334. package/dist/ui/switch.d.cts +2 -2
  335. package/dist/ui/switch.d.ts +2 -2
  336. package/dist/ui/switch.js +1 -1
  337. package/dist/ui/table.d.cts +9 -9
  338. package/dist/ui/table.d.ts +9 -9
  339. package/dist/ui/tabs.d.cts +5 -5
  340. package/dist/ui/tabs.d.ts +5 -5
  341. package/dist/ui/textarea.cjs +1 -1
  342. package/dist/ui/textarea.d.cts +2 -2
  343. package/dist/ui/textarea.d.ts +2 -2
  344. package/dist/ui/textarea.js +1 -1
  345. package/dist/ui/toggle-group.d.cts +4 -4
  346. package/dist/ui/toggle-group.d.ts +4 -4
  347. package/dist/ui/toggle.d.cts +1 -1
  348. package/dist/ui/toggle.d.ts +1 -1
  349. package/dist/ui/tooltip.cjs +1 -1
  350. package/dist/ui/tooltip.d.cts +1 -1
  351. package/dist/ui/tooltip.d.ts +1 -1
  352. package/dist/ui/tooltip.js +1 -1
  353. package/package.json +1 -1
  354. package/dist/scroll-area-BFGH4GB0.cjs +0 -2
  355. package/dist/scroll-area-BFGH4GB0.cjs.map +0 -1
  356. package/dist/scroll-area-Dx6r4DRY.js +0 -2
  357. package/dist/scroll-area-Dx6r4DRY.js.map +0 -1
@@ -1,2 +1,2 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./button-CuV2l4ge.cjs`),n=require(`./skeleton-BA-3d3bn.cjs`),r=require(`./input-jNmC92mW.cjs`),i=require(`./tooltip-B6BWVv0X.cjs`),a=require(`./separator-WF5zTNGS.cjs`),o=require(`./sheet-cjXJAfUE.cjs`),s=e.__toESM(require(`lucide-react`)),c=e.__toESM(require(`@customafk/react-toolkit/utils`)),l=e.__toESM(require(`react`)),u=e.__toESM(require(`react/jsx-runtime`)),d=e.__toESM(require(`class-variance-authority`)),f=e.__toESM(require(`radix-ui`)),p=e.__toESM(require(`@customafk/react-toolkit/hooks/useMobile`)),m=`detai_dialog_sidebar_state`,h=3600*24*7,g=`16rem`,_=`18rem`,v=`3rem`,y=`p`,b=(0,l.createContext)(null);function x(){let e=(0,l.useContext)(b);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function S({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let d=(0,p.useIsMobile)(),[f,m]=(0,l.useState)(!1),[h,g]=(0,l.useState)(e),_=t??h,v=(0,l.useCallback)(e=>{let t=typeof e==`function`?e(_):e;n?n(t):g(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,_]),y=(0,l.useCallback)(()=>d?m(e=>!e):v(e=>!e),[d,v]);(0,l.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let x=_?`expanded`:`collapsed`,S=(0,l.useMemo)(()=>({state:x,isMobile:d,toggleSidebar:y,open:_,setOpen:v,openMobile:f,setOpenMobile:m}),[x,_,v,f,m,y]);return(0,u.jsx)(b.Provider,{value:S,children:(0,u.jsx)(i.TooltipProvider,{delayDuration:0,children:(0,u.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:(0,c.cn)(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,r),...s,children:o})})})}function C({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:s,isMobile:l,openMobile:d,setOpenMobile:f}=x();return n===`none`?(0,u.jsx)(`div`,{"data-slot":`sidebar`,className:(0,c.cn)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):l?(0,u.jsx)(o.Sheet,{open:d,onOpenChange:f,...a,children:(0,u.jsxs)(o.SheetContent,{"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`},side:e,children:[(0,u.jsxs)(o.SheetHeader,{className:`sr-only`,children:[(0,u.jsx)(o.SheetTitle,{children:`Sidebar`}),(0,u.jsx)(o.SheetDescription,{children:`Displays the mobile sidebar.`})]}),(0,u.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,u.jsxs)(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,u.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,c.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`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)`)}),(0,u.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,c.cn)(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 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)`,r),...a,children:(0,u.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:(0,c.cn)(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function w({className:e,onClick:n,...r}){let{toggleSidebar:i}=x();return(0,u.jsxs)(t.Button,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,c.cn)(`size-10 rounded-full [&_svg]:!size-6`,e),onClick:e=>{n?.(e),i()},...r,children:[(0,u.jsx)(s.MenuIcon,{}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function T({className:e,...t}){let{toggleSidebar:n}=x();return(0,u.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:(0,c.cn)(`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`,`hover:after:bg-sidebar-border`,`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: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 E({className:e,...t}){return(0,u.jsx)(`main`,{"data-slot":`sidebar-inset`,className:(0,c.cn)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function D({className:e,...t}){return(0,u.jsx)(r.Input,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:(0,c.cn)(`bg-background h-8 w-full shadow-none`,e),...t})}function O({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,c.cn)(`flex flex-col gap-2 p-2`,e),...t})}function k({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,c.cn)(`flex flex-col gap-2 p-2`,e),...t})}function A({className:e,...t}){return(0,u.jsx)(a.Separator,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:(0,c.cn)(`bg-sidebar-border mx-2 w-auto`,e),...t})}function j({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,c.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function M({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:(0,c.cn)(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function N({className:e,asChild:t=!1,...n}){let r=t?f.Slot.Slot:`div`;return(0,u.jsx)(r,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:(0,c.cn)(`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 P({className:e,asChild:t=!1,...n}){let r=t?f.Slot.Slot:`button`;return(0,u.jsx)(r,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:(0,c.cn)(`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`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function F({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:(0,c.cn)(`w-full text-sm`,e),...t})}function I({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,c.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function L({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,c.cn)(`group/menu-item relative`,e),...t})}const R=(0,d.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`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-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`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!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,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 z({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:r=`default`,tooltip:a,className:o,...s}){let l=e?f.Slot.Slot:`button`,{state:d}=x(),p=(0,u.jsx)(l,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":r,"data-active":t,className:(0,c.cn)(R({variant:n,size:r}),o),...s});return a?(typeof a==`string`&&(a={children:a}),(0,u.jsxs)(i.Tooltip,{children:[(0,u.jsx)(i.TooltipTrigger,{asChild:!0,children:p}),(0,u.jsx)(i.TooltipContent,{side:`right`,align:`center`,hidden:d!==`collapsed`,...a})]})):p}function B({className:e,asChild:t=!1,showOnHover:n=!1,...r}){let i=t?f.Slot.Slot:`button`;return(0,u.jsx)(i,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:(0,c.cn)(`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 V({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:(0,c.cn)(`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 H({className:e,showIcon:t=!1,...r}){let i=(0,l.useMemo)(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,u.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:(0,c.cn)(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[t&&(0,u.jsx)(n.Skeleton,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,u.jsx)(n.Skeleton,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function U({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:(0,c.cn)(`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 W({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:(0,c.cn)(`group/menu-sub-item relative`,e),...t})}function G({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){let a=e?f.Slot.Slot:`a`;return(0,u.jsx)(a,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:(0,c.cn)(`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`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}Object.defineProperty(exports,`DetailDialogSidebarContent`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`DetailDialogSidebarFooter`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`DetailDialogSidebarGroup`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`DetailDialogSidebarGroupAction`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`DetailDialogSidebarGroupContent`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`DetailDialogSidebarGroupLabel`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`DetailDialogSidebarHeader`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`DetailDialogSidebarMenu`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`DetailDialogSidebarMenuAction`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`DetailDialogSidebarMenuBadge`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`DetailDialogSidebarMenuButton`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`DetailDialogSidebarMenuItem`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSkeleton`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSub`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSubButton`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSubItem`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`DetailDialogSidebarRail`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`DetailDialogSidebarSeparator`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`DetailDialogSidebarTrigger`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`Sidebar`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`SidebarInput`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`SidebarInset`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`SidebarProvider`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`useSidebar`,{enumerable:!0,get:function(){return x}});
2
- //# sourceMappingURL=sidebar-jB4Qk0gk.cjs.map
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./button-CuV2l4ge.cjs`),n=require(`./skeleton-BA-3d3bn.cjs`),r=require(`./tooltip-DXvcPsvM.cjs`),i=require(`./input-GHXBt6hz.cjs`),a=require(`./separator-WF5zTNGS.cjs`),o=require(`./sheet-cjXJAfUE.cjs`),s=e.__toESM(require(`lucide-react`)),c=e.__toESM(require(`@customafk/react-toolkit/utils`)),l=e.__toESM(require(`react`)),u=e.__toESM(require(`react/jsx-runtime`)),d=e.__toESM(require(`class-variance-authority`)),f=e.__toESM(require(`radix-ui`)),p=e.__toESM(require(`@customafk/react-toolkit/hooks/useMobile`)),m=`detai_dialog_sidebar_state`,h=3600*24*7,g=`16rem`,_=`18rem`,v=`3rem`,y=`p`,b=(0,l.createContext)(null);function x(){let e=(0,l.useContext)(b);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function S({defaultOpen:e=!0,open:t,onOpenChange:n,className:i,style:a,children:o,...s}){let d=(0,p.useIsMobile)(),[f,m]=(0,l.useState)(!1),[h,g]=(0,l.useState)(e),_=t??h,v=(0,l.useCallback)(e=>{let t=typeof e==`function`?e(_):e;n?n(t):g(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,_]),y=(0,l.useCallback)(()=>d?m(e=>!e):v(e=>!e),[d,v]);(0,l.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let x=_?`expanded`:`collapsed`,S=(0,l.useMemo)(()=>({state:x,isMobile:d,toggleSidebar:y,open:_,setOpen:v,openMobile:f,setOpenMobile:m}),[x,_,v,f,m,y]);return(0,u.jsx)(b.Provider,{value:S,children:(0,u.jsx)(r.TooltipProvider,{delayDuration:0,children:(0,u.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:(0,c.cn)(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,i),...s,children:o})})})}function C({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:s,isMobile:l,openMobile:d,setOpenMobile:f}=x();return n===`none`?(0,u.jsx)(`div`,{"data-slot":`sidebar`,className:(0,c.cn)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):l?(0,u.jsx)(o.Sheet,{open:d,onOpenChange:f,...a,children:(0,u.jsxs)(o.SheetContent,{"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`},side:e,children:[(0,u.jsxs)(o.SheetHeader,{className:`sr-only`,children:[(0,u.jsx)(o.SheetTitle,{children:`Sidebar`}),(0,u.jsx)(o.SheetDescription,{children:`Displays the mobile sidebar.`})]}),(0,u.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,u.jsxs)(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,u.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,c.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`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)`)}),(0,u.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,c.cn)(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 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)`,r),...a,children:(0,u.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:(0,c.cn)(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function w({className:e,onClick:n,...r}){let{toggleSidebar:i}=x();return(0,u.jsxs)(t.Button,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,c.cn)(`size-10 rounded-full [&_svg]:!size-6`,e),onClick:e=>{n?.(e),i()},...r,children:[(0,u.jsx)(s.MenuIcon,{}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function T({className:e,...t}){let{toggleSidebar:n}=x();return(0,u.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:(0,c.cn)(`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`,`hover:after:bg-sidebar-border`,`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: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 E({className:e,...t}){return(0,u.jsx)(`main`,{"data-slot":`sidebar-inset`,className:(0,c.cn)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function D({className:e,...t}){return(0,u.jsx)(i.Input,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:(0,c.cn)(`bg-background h-8 w-full shadow-none`,e),...t})}function O({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,c.cn)(`flex flex-col gap-2 p-2`,e),...t})}function k({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,c.cn)(`flex flex-col gap-2 p-2`,e),...t})}function A({className:e,...t}){return(0,u.jsx)(a.Separator,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:(0,c.cn)(`bg-sidebar-border mx-2 w-auto`,e),...t})}function j({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,c.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function M({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:(0,c.cn)(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function N({className:e,asChild:t=!1,...n}){let r=t?f.Slot.Slot:`div`;return(0,u.jsx)(r,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:(0,c.cn)(`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 P({className:e,asChild:t=!1,...n}){let r=t?f.Slot.Slot:`button`;return(0,u.jsx)(r,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:(0,c.cn)(`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`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function F({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:(0,c.cn)(`w-full text-sm`,e),...t})}function I({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,c.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function L({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,c.cn)(`group/menu-item relative`,e),...t})}const R=(0,d.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`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-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`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!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,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 z({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:i=`default`,tooltip:a,className:o,...s}){let l=e?f.Slot.Slot:`button`,{state:d}=x(),p=(0,u.jsx)(l,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":i,"data-active":t,className:(0,c.cn)(R({variant:n,size:i}),o),...s});return a?(typeof a==`string`&&(a={children:a}),(0,u.jsxs)(r.Tooltip,{children:[(0,u.jsx)(r.TooltipTrigger,{asChild:!0,children:p}),(0,u.jsx)(r.TooltipContent,{side:`right`,align:`center`,hidden:d!==`collapsed`,...a})]})):p}function B({className:e,asChild:t=!1,showOnHover:n=!1,...r}){let i=t?f.Slot.Slot:`button`;return(0,u.jsx)(i,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:(0,c.cn)(`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 V({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:(0,c.cn)(`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 H({className:e,showIcon:t=!1,...r}){let i=(0,l.useMemo)(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,u.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:(0,c.cn)(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[t&&(0,u.jsx)(n.Skeleton,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,u.jsx)(n.Skeleton,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function U({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:(0,c.cn)(`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 W({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:(0,c.cn)(`group/menu-sub-item relative`,e),...t})}function G({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){let a=e?f.Slot.Slot:`a`;return(0,u.jsx)(a,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:(0,c.cn)(`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`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}Object.defineProperty(exports,`DetailDialogSidebarContent`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`DetailDialogSidebarFooter`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`DetailDialogSidebarGroup`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`DetailDialogSidebarGroupAction`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`DetailDialogSidebarGroupContent`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`DetailDialogSidebarGroupLabel`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`DetailDialogSidebarHeader`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`DetailDialogSidebarMenu`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`DetailDialogSidebarMenuAction`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`DetailDialogSidebarMenuBadge`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`DetailDialogSidebarMenuButton`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`DetailDialogSidebarMenuItem`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSkeleton`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSub`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSubButton`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`DetailDialogSidebarMenuSubItem`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`DetailDialogSidebarRail`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`DetailDialogSidebarSeparator`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`DetailDialogSidebarTrigger`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`Sidebar`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`SidebarInput`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`SidebarInset`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`SidebarProvider`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`useSidebar`,{enumerable:!0,get:function(){return x}});
2
+ //# sourceMappingURL=sidebar-BF_5REY5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-jB4Qk0gk.cjs","names":["open","TooltipProvider","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { MenuIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot as SlotPrimitive } from 'radix-ui'\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_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 = 'p'\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\nfunction useSidebar() {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\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 defaultOpen?: boolean\n open?: boolean\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])\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 // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, 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 min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\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 { state, isMobile, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\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 <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground 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 w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\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 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 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)',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction DetailDialogSidebarTrigger({ 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 color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction DetailDialogSidebarRail({ 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 after:w-0.5',\n 'hover:after:bg-sidebar-border',\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: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\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className,\n )}\n {...props}\n />\n )\n}\n\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\nfunction DetailDialogSidebarHeader({ 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\nfunction DetailDialogSidebarFooter({ 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\nfunction DetailDialogSidebarSeparator({ 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\nfunction DetailDialogSidebarContent({ 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\nfunction DetailDialogSidebarGroup({ 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\nfunction DetailDialogSidebarGroupLabel({ 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 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\nfunction DetailDialogSidebarGroupAction({ 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 absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\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',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DetailDialogSidebarGroupContent({ 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\nfunction DetailDialogSidebarMenu({ 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\nfunction DetailDialogSidebarMenuItem({ 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',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\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-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\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 '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\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\nfunction DetailDialogSidebarMenuButton({\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 { 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'} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction DetailDialogSidebarMenuAction({\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',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '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\nfunction DetailDialogSidebarMenuBadge({ 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\nfunction DetailDialogSidebarMenuSkeleton({\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\nfunction DetailDialogSidebarMenuSub({ 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\nfunction DetailDialogSidebarMenuSubItem({ 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\nfunction DetailDialogSidebarMenuSubButton({\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 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-BF_5REY5.cjs","names":["open","TooltipProvider","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { MenuIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot as SlotPrimitive } from 'radix-ui'\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_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 = 'p'\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\nfunction useSidebar() {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\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 defaultOpen?: boolean\n open?: boolean\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])\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 // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, 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 min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\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 { state, isMobile, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\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 <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground 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 w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\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 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 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)',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction DetailDialogSidebarTrigger({ 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 color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction DetailDialogSidebarRail({ 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 after:w-0.5',\n 'hover:after:bg-sidebar-border',\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: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\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className,\n )}\n {...props}\n />\n )\n}\n\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\nfunction DetailDialogSidebarHeader({ 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\nfunction DetailDialogSidebarFooter({ 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\nfunction DetailDialogSidebarSeparator({ 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\nfunction DetailDialogSidebarContent({ 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\nfunction DetailDialogSidebarGroup({ 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\nfunction DetailDialogSidebarGroupLabel({ 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 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\nfunction DetailDialogSidebarGroupAction({ 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 absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\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',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DetailDialogSidebarGroupContent({ 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\nfunction DetailDialogSidebarMenu({ 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\nfunction DetailDialogSidebarMenuItem({ 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',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\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-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\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 '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\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\nfunction DetailDialogSidebarMenuButton({\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 { 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'} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction DetailDialogSidebarMenuAction({\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',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '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\nfunction DetailDialogSidebarMenuBadge({ 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\nfunction DetailDialogSidebarMenuSkeleton({\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\nfunction DetailDialogSidebarMenuSub({ 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\nfunction DetailDialogSidebarMenuSubItem({ 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\nfunction DetailDialogSidebarMenuSubButton({\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 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"./button-DhQJ9Ey8.js";import{Skeleton as t}from"./skeleton-ByN-MrQO.js";import{Input as n}from"./input-CBsg9Cmq.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"./tooltip-B6P3IKFE.js";import{Separator as s}from"./separator-C7HQ2ThL.js";import{Sheet as c,SheetContent as l,SheetDescription as u,SheetHeader as d,SheetTitle as f}from"./sheet-E0gvN9Gp.js";import{MenuIcon as p}from"lucide-react";import{cn as m}from"@customafk/react-toolkit/utils";import{createContext as h,useCallback as g,useContext as _,useEffect as v,useMemo as y,useState as b}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{cva as C}from"class-variance-authority";import{Slot as w}from"radix-ui";import{useIsMobile as T}from"@customafk/react-toolkit/hooks/useMobile";const E=h(null);function D(){let e=_(E);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function O({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:o,...s}){let c=T(),[l,u]=b(!1),[d,f]=b(e),p=t??d,h=g(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,p]),_=g(()=>c?u(e=>!e):h(e=>!e),[c,h]);v(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let S=p?`expanded`:`collapsed`,C=y(()=>({state:S,isMobile:c,toggleSidebar:_,open:p,setOpen:h,openMobile:l,setOpenMobile:u}),[S,p,h,l,u,_]);return x(E.Provider,{value:C,children:x(a,{delayDuration:0,children:x(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...i},className:m(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,r),...s,children:o})})})}function k({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:o,isMobile:s,openMobile:p,setOpenMobile:h}=D();return n===`none`?x(`div`,{"data-slot":`sidebar`,className:m(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):s?x(c,{open:p,onOpenChange:h,...a,children:S(l,{"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`},side:e,children:[S(d,{className:`sr-only`,children:[x(f,{children:`Sidebar`}),x(u,{children:`Displays the mobile sidebar.`})]}),x(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):S(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":o,"data-collapsible":o===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[x(`div`,{"data-slot":`sidebar-gap`,className:m(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`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:m(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 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)`,r),...a,children:x(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:m(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function A({className:t,onClick:n,...r}){let{toggleSidebar:i}=D();return S(e,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:m(`size-10 rounded-full [&_svg]:!size-6`,t),onClick:e=>{n?.(e),i()},...r,children:[x(p,{}),x(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function j({className:e,...t}){let{toggleSidebar:n}=D();return x(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:m(`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`,`hover:after:bg-sidebar-border`,`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: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 M({className:e,...t}){return x(`main`,{"data-slot":`sidebar-inset`,className:m(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function N({className:e,...t}){return x(n,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:m(`bg-background h-8 w-full shadow-none`,e),...t})}function P({className:e,...t}){return x(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:m(`flex flex-col gap-2 p-2`,e),...t})}function F({className:e,...t}){return x(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:m(`flex flex-col gap-2 p-2`,e),...t})}function I({className:e,...t}){return x(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:m(`bg-sidebar-border mx-2 w-auto`,e),...t})}function L({className:e,...t}){return x(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:m(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function R({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:m(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function z({className:e,asChild:t=!1,...n}){let r=t?w.Slot:`div`;return x(r,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:m(`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 B({className:e,asChild:t=!1,...n}){let r=t?w.Slot:`button`;return x(r,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:m(`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`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function V({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:m(`w-full text-sm`,e),...t})}function H({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:m(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function U({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:m(`group/menu-item relative`,e),...t})}const W=C([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`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-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`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!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,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 G({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:a=`default`,tooltip:s,className:c,...l}){let u=e?w.Slot:`button`,{state:d}=D(),f=x(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":a,"data-active":t,className:m(W({variant:n,size:a}),c),...l});return s?(typeof s==`string`&&(s={children:s}),S(r,{children:[x(o,{asChild:!0,children:f}),x(i,{side:`right`,align:`center`,hidden:d!==`collapsed`,...s})]})):f}function K({className:e,asChild:t=!1,showOnHover:n=!1,...r}){let i=t?w.Slot:`button`;return x(i,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:m(`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 q({className:e,...t}){return x(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:m(`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 J({className:e,showIcon:n=!1,...r}){let i=y(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return S(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:m(`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 Y({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:m(`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 X({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:m(`group/menu-sub-item relative`,e),...t})}function Z({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){let a=e?w.Slot:`a`;return x(a,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:m(`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`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}export{L as DetailDialogSidebarContent,F as DetailDialogSidebarFooter,R as DetailDialogSidebarGroup,B as DetailDialogSidebarGroupAction,V as DetailDialogSidebarGroupContent,z as DetailDialogSidebarGroupLabel,P as DetailDialogSidebarHeader,H as DetailDialogSidebarMenu,K as DetailDialogSidebarMenuAction,q as DetailDialogSidebarMenuBadge,G as DetailDialogSidebarMenuButton,U as DetailDialogSidebarMenuItem,J as DetailDialogSidebarMenuSkeleton,Y as DetailDialogSidebarMenuSub,Z as DetailDialogSidebarMenuSubButton,X as DetailDialogSidebarMenuSubItem,j as DetailDialogSidebarRail,I as DetailDialogSidebarSeparator,A as DetailDialogSidebarTrigger,k as Sidebar,N as SidebarInput,M as SidebarInset,O as SidebarProvider,D as useSidebar};
2
- //# sourceMappingURL=sidebar-D4pxYfhY.js.map
1
+ import{Button as e}from"./button-DhQJ9Ey8.js";import{Skeleton as t}from"./skeleton-ByN-MrQO.js";import{Tooltip as n,TooltipContent as r,TooltipProvider as i,TooltipTrigger as a}from"./tooltip-BTrjCwd8.js";import{Input as o}from"./input-ZyZ1HKHN.js";import{Separator as s}from"./separator-C7HQ2ThL.js";import{Sheet as c,SheetContent as l,SheetDescription as u,SheetHeader as d,SheetTitle as f}from"./sheet-E0gvN9Gp.js";import{MenuIcon as p}from"lucide-react";import{cn as m}from"@customafk/react-toolkit/utils";import{createContext as h,useCallback as g,useContext as _,useEffect as v,useMemo as y,useState as b}from"react";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{cva as C}from"class-variance-authority";import{Slot as w}from"radix-ui";import{useIsMobile as T}from"@customafk/react-toolkit/hooks/useMobile";const E=h(null);function D(){let e=_(E);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function O({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let c=T(),[l,u]=b(!1),[d,f]=b(e),p=t??d,h=g(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,p]),_=g(()=>c?u(e=>!e):h(e=>!e),[c,h]);v(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let S=p?`expanded`:`collapsed`,C=y(()=>({state:S,isMobile:c,toggleSidebar:_,open:p,setOpen:h,openMobile:l,setOpenMobile:u}),[S,p,h,l,u,_]);return x(E.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:m(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,r),...s,children:o})})})}function k({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:o,isMobile:s,openMobile:p,setOpenMobile:h}=D();return n===`none`?x(`div`,{"data-slot":`sidebar`,className:m(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):s?x(c,{open:p,onOpenChange:h,...a,children:S(l,{"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`},side:e,children:[S(d,{className:`sr-only`,children:[x(f,{children:`Sidebar`}),x(u,{children:`Displays the mobile sidebar.`})]}),x(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):S(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":o,"data-collapsible":o===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[x(`div`,{"data-slot":`sidebar-gap`,className:m(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`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:m(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 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)`,r),...a,children:x(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:m(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function A({className:t,onClick:n,...r}){let{toggleSidebar:i}=D();return S(e,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:m(`size-10 rounded-full [&_svg]:!size-6`,t),onClick:e=>{n?.(e),i()},...r,children:[x(p,{}),x(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function j({className:e,...t}){let{toggleSidebar:n}=D();return x(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:m(`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`,`hover:after:bg-sidebar-border`,`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: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 M({className:e,...t}){return x(`main`,{"data-slot":`sidebar-inset`,className:m(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function N({className:e,...t}){return x(o,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:m(`bg-background h-8 w-full shadow-none`,e),...t})}function P({className:e,...t}){return x(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:m(`flex flex-col gap-2 p-2`,e),...t})}function F({className:e,...t}){return x(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:m(`flex flex-col gap-2 p-2`,e),...t})}function I({className:e,...t}){return x(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:m(`bg-sidebar-border mx-2 w-auto`,e),...t})}function L({className:e,...t}){return x(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:m(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function R({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:m(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function z({className:e,asChild:t=!1,...n}){let r=t?w.Slot:`div`;return x(r,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:m(`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 B({className:e,asChild:t=!1,...n}){let r=t?w.Slot:`button`;return x(r,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:m(`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`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function V({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:m(`w-full text-sm`,e),...t})}function H({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:m(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function U({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:m(`group/menu-item relative`,e),...t})}const W=C([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`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-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`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!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,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 G({asChild:e=!1,isActive:t=!1,variant:i=`default`,size:o=`default`,tooltip:s,className:c,...l}){let u=e?w.Slot:`button`,{state:d}=D(),f=x(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":o,"data-active":t,className:m(W({variant:i,size:o}),c),...l});return s?(typeof s==`string`&&(s={children:s}),S(n,{children:[x(a,{asChild:!0,children:f}),x(r,{side:`right`,align:`center`,hidden:d!==`collapsed`,...s})]})):f}function K({className:e,asChild:t=!1,showOnHover:n=!1,...r}){let i=t?w.Slot:`button`;return x(i,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:m(`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 q({className:e,...t}){return x(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:m(`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 J({className:e,showIcon:n=!1,...r}){let i=y(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return S(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:m(`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 Y({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:m(`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 X({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:m(`group/menu-sub-item relative`,e),...t})}function Z({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){let a=e?w.Slot:`a`;return x(a,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:m(`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`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}export{L as DetailDialogSidebarContent,F as DetailDialogSidebarFooter,R as DetailDialogSidebarGroup,B as DetailDialogSidebarGroupAction,V as DetailDialogSidebarGroupContent,z as DetailDialogSidebarGroupLabel,P as DetailDialogSidebarHeader,H as DetailDialogSidebarMenu,K as DetailDialogSidebarMenuAction,q as DetailDialogSidebarMenuBadge,G as DetailDialogSidebarMenuButton,U as DetailDialogSidebarMenuItem,J as DetailDialogSidebarMenuSkeleton,Y as DetailDialogSidebarMenuSub,Z as DetailDialogSidebarMenuSubButton,X as DetailDialogSidebarMenuSubItem,j as DetailDialogSidebarRail,I as DetailDialogSidebarSeparator,A as DetailDialogSidebarTrigger,k as Sidebar,N as SidebarInput,M as SidebarInset,O as SidebarProvider,D as useSidebar};
2
+ //# sourceMappingURL=sidebar-BgOz0zZh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-D4pxYfhY.js","names":["open","Separator","SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { MenuIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot as SlotPrimitive } from 'radix-ui'\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_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 = 'p'\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\nfunction useSidebar() {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\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 defaultOpen?: boolean\n open?: boolean\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])\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 // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, 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 min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\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 { state, isMobile, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\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 <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground 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 w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\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 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 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)',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction DetailDialogSidebarTrigger({ 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 color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction DetailDialogSidebarRail({ 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 after:w-0.5',\n 'hover:after:bg-sidebar-border',\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: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\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className,\n )}\n {...props}\n />\n )\n}\n\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\nfunction DetailDialogSidebarHeader({ 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\nfunction DetailDialogSidebarFooter({ 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\nfunction DetailDialogSidebarSeparator({ 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\nfunction DetailDialogSidebarContent({ 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\nfunction DetailDialogSidebarGroup({ 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\nfunction DetailDialogSidebarGroupLabel({ 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 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\nfunction DetailDialogSidebarGroupAction({ 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 absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\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',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DetailDialogSidebarGroupContent({ 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\nfunction DetailDialogSidebarMenu({ 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\nfunction DetailDialogSidebarMenuItem({ 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',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\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-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\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 '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\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\nfunction DetailDialogSidebarMenuButton({\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 { 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'} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction DetailDialogSidebarMenuAction({\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',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '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\nfunction DetailDialogSidebarMenuBadge({ 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\nfunction DetailDialogSidebarMenuSkeleton({\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\nfunction DetailDialogSidebarMenuSub({ 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\nfunction DetailDialogSidebarMenuSubItem({ 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\nfunction DetailDialogSidebarMenuSubButton({\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 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-BgOz0zZh.js","names":["open","Separator","SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { MenuIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot as SlotPrimitive } from 'radix-ui'\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_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 = 'p'\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\nfunction useSidebar() {\n const context = useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\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 defaultOpen?: boolean\n open?: boolean\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])\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 // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, 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 min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\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 { state, isMobile, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\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 <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground 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 w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\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 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 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)',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction DetailDialogSidebarTrigger({ 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 color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction DetailDialogSidebarRail({ 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 after:w-0.5',\n 'hover:after:bg-sidebar-border',\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: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\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className,\n )}\n {...props}\n />\n )\n}\n\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\nfunction DetailDialogSidebarHeader({ 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\nfunction DetailDialogSidebarFooter({ 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\nfunction DetailDialogSidebarSeparator({ 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\nfunction DetailDialogSidebarContent({ 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\nfunction DetailDialogSidebarGroup({ 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\nfunction DetailDialogSidebarGroupLabel({ 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 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\nfunction DetailDialogSidebarGroupAction({ 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 absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\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',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DetailDialogSidebarGroupContent({ 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\nfunction DetailDialogSidebarMenu({ 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\nfunction DetailDialogSidebarMenuItem({ 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',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\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-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\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 '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\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\nfunction DetailDialogSidebarMenuButton({\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 { 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'} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction DetailDialogSidebarMenuAction({\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',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '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\nfunction DetailDialogSidebarMenuBadge({ 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\nfunction DetailDialogSidebarMenuSkeleton({\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\nfunction DetailDialogSidebarMenuSub({ 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\nfunction DetailDialogSidebarMenuSubItem({ 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\nfunction DetailDialogSidebarMenuSubButton({\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 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"uzBAiBA,MAiBM,EAAiB,EAA0C,MAEjE,SAAS,GAAa,CACpB,IAAM,EAAU,EAAW,GAC3B,GAAI,CAAC,EACH,MAAU,MAAM,qDAGlB,OAAO,EAGT,SAAS,EAAgB,CACvB,cAAc,GACd,KAAM,EACN,aAAc,EACd,YACA,QACA,WACA,GAAG,GAKF,CACD,IAAM,EAAW,IACX,CAAC,EAAY,GAAiB,EAAS,IAIvC,CAAC,EAAO,GAAY,EAAS,GAC7B,EAAO,GAAY,EACnB,EAAU,EACb,GAAmD,CAClD,IAAM,EAAY,OAAO,GAAU,WAAa,EAAM,GAAQ,EAC1D,EACF,EAAY,GAEZ,EAAS,GAIX,SAAS,OAAS,8BAA0B,EAAU,2BAExD,CAAC,EAAa,IAIV,EAAgB,MACb,EAAW,EAAe,GAAS,CAACA,GAAQ,EAAS,GAAS,CAACA,GACrE,CAAC,EAAU,IAGd,MAAgB,CACd,IAAM,EAAiB,GAAyB,CAC1C,EAAM,MAAQ,MAA8B,EAAM,SAAW,EAAM,WACrE,EAAM,iBACN,MAKJ,OADA,OAAO,iBAAiB,UAAW,OACtB,OAAO,oBAAoB,UAAW,IAClD,CAAC,IAIJ,IAAM,EAAQ,EAAO,WAAa,YAE5B,EAAe,OACZ,CACL,QACA,WAEA,gBAEA,OACA,UAEA,aACA,kBAGF,CAAC,EAAO,EAAM,EAAS,EAAY,EAAe,IAGpD,OACE,EAAC,EAAe,SAAA,CAAS,MAAO,WAC9B,EAAC,EAAA,CAAgB,cAAe,WAC9B,EAAC,MAAA,CACC,YAAU,kBACV,MACE,CACE,kBAAmB,QACnB,uBAAwB,OACxB,GAAG,GAGP,UAAW,EAAG,wBAAyB,sCAAuC,wBAAyB,GACvG,GAAI,EAEH,iBAOX,SAAS,EAAQ,CACf,OAAO,OACP,UAAU,UACV,cAAc,YACd,YACA,WACA,GAAG,GAKF,CACD,GAAM,CAAE,QAAO,WAAU,aAAY,iBAAkB,IAmCvD,OAjCI,IAAgB,OAEhB,EAAC,MAAA,CAAI,YAAU,UAAU,UAAW,EAAG,8EAA+E,GAAY,GAAI,EACnI,aAKH,EAEA,EAAC,EAAA,CAAM,KAAM,EAAY,aAAc,EAAe,GAAI,WACxD,EAAC,EAAA,CACC,eAAa,UACb,YAAU,UACV,cAAY,OACZ,UAAU,+EACV,MACE,CACE,kBAAmB,SAGjB,iBAEN,EAAC,EAAA,CAAY,UAAU,oBACrB,EAAC,EAAA,CAAA,SAAW,YACZ,EAAC,EAAA,CAAA,SAAiB,oCAEpB,EAAC,MAAA,CAAI,UAAU,8BAA+B,kBAOpD,EAAC,MAAA,CACC,UAAU,qDACV,aAAY,EACZ,mBAAkB,IAAU,YAAc,EAAc,GACxD,eAAc,EACd,YAAW,EACX,YAAU,oBAGV,EAAC,MAAA,CACC,YAAU,cACV,UAAW,EACT,0FACA,yCACA,qCACA,IAAY,YAAc,IAAY,QAClC,mFACA,4DAGR,EAAC,MAAA,CACC,YAAU,oBACV,UAAW,EACT,+GACA,IAAS,OACL,iFACA,mFAEJ,IAAY,YAAc,IAAY,QAClC,2FACA,yDACJ,GAEF,GAAI,WAEJ,EAAC,MAAA,CACC,eAAa,UACb,YAAU,gBACV,UAAW,EACT,qCACA,sDACA,2CACA,uCACA,2CAGD,kBAOX,SAAS,EAA2B,CAAE,YAAW,UAAS,GAAG,GAA8C,CACzG,GAAM,CAAE,iBAAkB,IAE1B,OACE,EAAC,EAAA,CACC,eAAa,UACb,YAAU,kBACV,QAAQ,QACR,MAAM,YACN,KAAK,OACL,UAAW,EAAG,uCAAwC,GACtD,QAAU,GAAU,CAClB,IAAU,GACV,KAEF,GAAI,YAEJ,EAAC,EAAA,IACD,EAAC,OAAA,CAAK,UAAU,mBAAU,sBAKhC,SAAS,EAAwB,CAAE,YAAW,GAAG,GAAyC,CACxF,GAAM,CAAE,iBAAkB,IAE1B,OACE,EAAC,SAAA,CACC,eAAa,OACb,YAAU,eACV,aAAW,iBACX,SAAU,GACV,QAAS,EACT,MAAM,iBACN,UAAW,EACT,yFACA,iBACA,kBACA,6BACA,gCACA,kCACA,iCACA,sCACA,uCACA,6DACA,8DACA,sDACA,mDACA,qDACA,4DACA,4DACA,GAEF,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAAuC,CAC3E,OACE,EAAC,OAAA,CACC,YAAU,gBACV,UAAW,EACT,qDACA,mCACA,oCACA,0CACA,yCACA,gEACA,GAEF,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAA6C,CACjF,OAAO,EAAC,EAAA,CAAM,YAAU,gBAAgB,eAAa,QAAQ,UAAW,EAAG,uCAAwC,GAAY,GAAI,IAGrI,SAAS,EAA0B,CAAE,YAAW,GAAG,GAAsC,CACvF,OAAO,EAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAW,EAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAA0B,CAAE,YAAW,GAAG,GAAsC,CACvF,OAAO,EAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAW,EAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAA6B,CAAE,YAAW,GAAG,GAAiD,CACrG,OAAO,EAACC,EAAAA,CAAU,YAAU,oBAAoB,eAAa,YAAY,UAAW,EAAG,gCAAiC,GAAY,GAAI,IAG1I,SAAS,EAA2B,CAAE,YAAW,GAAG,GAAsC,CACxF,OACE,EAAC,MAAA,CACC,YAAU,kBACV,eAAa,UACb,UAAW,EAAG,mDAAoD,gDAAiD,GACnH,GAAI,IAKV,SAAS,EAAyB,CAAE,YAAW,GAAG,GAAsC,CACtF,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,eAAa,QAAQ,UAAW,EAAG,4CAA6C,GAAY,GAAI,IAGxI,SAAS,EAA8B,CAAE,YAAW,UAAU,GAAO,GAAG,GAA8D,CACpI,IAAM,EAAO,EAAUC,EAAc,KAAO,MAE5C,OACE,EAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAW,EACT,sLACA,uBACA,iBACA,mBACA,sCACA,0CACA,GAEF,GAAI,IAKV,SAAS,EAA+B,CAAE,YAAW,UAAU,GAAO,GAAG,GAAiE,CACxI,IAAM,EAAO,EAAUA,EAAc,KAAO,SAE5C,OACE,EAAC,EAAA,CACC,YAAU,uBACV,eAAa,eACb,UAAW,EACT,2KACA,+DACA,uBACA,iBACA,mBAEA,iBACA,iBACA,kBACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAgC,CAAE,YAAW,GAAG,GAAsC,CAC7F,OAAO,EAAC,MAAA,CAAI,YAAU,wBAAwB,eAAa,gBAAgB,UAAW,EAAG,iBAAkB,GAAY,GAAI,IAG7H,SAAS,EAAwB,CAAE,YAAW,GAAG,GAAqC,CACpF,OAAO,EAAC,KAAA,CAAG,YAAU,eAAe,eAAa,OAAO,UAAW,EAAG,qCAAsC,GAAY,GAAI,IAG9H,SAAS,EAA4B,CAAE,YAAW,GAAG,GAAqC,CACxF,OAAO,EAAC,KAAA,CAAG,YAAU,oBAAoB,eAAa,YAAY,UAAW,EAAG,2BAA4B,GAAY,GAAI,IAG9H,MAAM,EAA4B,EAChC,CACE,mBACA,iBACA,iCACA,gDACA,qBACA,0CACA,0BACA,uCACA,2BACA,wCACA,+BACA,sBACA,sDACA,oCACA,2BACA,8CACA,iCACA,0CACA,4CACA,yDACA,wCACA,qCACA,iBACA,mBACA,gCAEF,CACE,SAAU,CACR,QAAS,CACP,QAAS,qEACT,QACE,gLAEJ,KAAM,CACJ,QAAS,cACT,GAAI,cACJ,GAAI,oDAGR,gBAAiB,CACf,QAAS,UACT,KAAM,aAKZ,SAAS,EAA8B,CACrC,UAAU,GACV,WAAW,GACX,UAAU,UACV,OAAO,UACP,UACA,YACA,GAAG,GAK+C,CAClD,IAAM,EAAO,EAAUA,EAAc,KAAO,SACtC,CAAE,SAAU,IAEZ,EACJ,EAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,YAAW,EACX,cAAa,EACb,UAAW,EAAG,EAA0B,CAAE,UAAS,SAAS,GAC5D,GAAI,IAcR,OAVK,GAID,OAAO,GAAY,WACrB,EAAU,CACR,SAAU,IAKZ,EAACC,EAAAA,CAAAA,SAAAA,CACC,EAAC,EAAA,CAAe,QAAA,YAAS,IACzB,EAAC,EAAA,CAAe,KAAK,QAAQ,MAAM,SAAS,OAAQ,IAAU,YAAa,GAAI,QAZ1E,EAiBX,SAAS,EAA8B,CACrC,YACA,UAAU,GACV,cAAc,GACd,GAAG,GAIF,CACD,IAAM,EAAO,EAAUD,EAAc,KAAO,SAE5C,OACE,EAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAW,EACT,4CACA,0BACA,uCACA,uLACA,uBACA,iBACA,mBAEA,gDACA,wCACA,+CACA,0CACA,uCACA,GAAe,qEACf,GAAe,4CACf,GAAe,oCACf,GAAe,6CACf,GAEF,GAAI,IAKV,SAAS,EAA6B,CAAE,YAAW,GAAG,GAAsC,CAC1F,OACE,EAAC,MAAA,CACC,YAAU,qBACV,eAAa,aACb,UAAW,EACT,yKACA,wDACA,qEACA,wCACA,+CACA,0CACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAgC,CACvC,YACA,WAAW,GACX,GAAG,GAGF,CAED,IAAM,EAAQ,MACL,GAAG,KAAK,MAAM,KAAK,SAAW,IAAM,GAAG,GAC7C,IAEH,OACE,EAAC,MAAA,CAAI,YAAU,wBAAwB,eAAa,gBAAgB,UAAW,EAAG,8CAA+C,GAAY,GAAI,YAC9I,GAAY,EAAC,EAAA,CAAS,UAAU,oBAAoB,eAAa,uBAClE,EAAC,EAAA,CACC,UAAU,sCACV,eAAa,qBACb,MACE,CACE,mBAAoB,QAQhC,SAAS,EAA2B,CAAE,YAAW,GAAG,GAAqC,CACvF,OACE,EAAC,KAAA,CACC,YAAU,mBACV,eAAa,WACb,UAAW,EACT,iGACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAA+B,CAAE,YAAW,GAAG,GAAqC,CAC3F,OAAO,EAAC,KAAA,CAAG,YAAU,wBAAwB,eAAa,gBAAgB,UAAW,EAAG,+BAAgC,GAAY,GAAI,IAG1I,SAAS,EAAiC,CACxC,UAAU,GACV,OAAO,KACP,WAAW,GACX,YACA,GAAG,GAKF,CACD,IAAM,EAAO,EAAUA,EAAc,KAAO,IAE5C,OACE,EAAC,EAAA,CACC,YAAU,0BACV,eAAa,kBACb,YAAW,EACX,cAAa,EACb,UAAW,EACT,4CACA,qGACA,0BACA,uCACA,2BACA,wCACA,uBACA,+BACA,sBACA,oCACA,2BACA,+BACA,iBACA,mBACA,yCACA,uCACA,oDACA,uCACA,IAAS,MAAQ,UACjB,IAAS,MAAQ,UACjB,GAEF,GAAI"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`@customafk/react-toolkit/utils`)),n=e.__toESM(require(`react/jsx-runtime`)),r=e.__toESM(require(`radix-ui`));function i({className:e,...i}){return(0,n.jsx)(r.Switch.Root,{"data-slot":`switch`,className:(0,t.cn)(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,e),...i,children:(0,n.jsx)(r.Switch.Thumb,{"data-slot":`switch-thumb`,className:(0,t.cn)(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}Object.defineProperty(exports,`Switch`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=switch-ClwAKGC0.cjs.map
2
+ //# sourceMappingURL=switch-BLfDkOOl.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch-ClwAKGC0.cjs","names":["SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"0KAKA,SAAS,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,SACV,WAAA,EAAA,EAAA,IACE,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CACf,YAAU,eACV,WAAA,EAAA,EAAA,IACE,gBACA,4EACA,oDACA"}
1
+ {"version":3,"file":"switch-BLfDkOOl.cjs","names":["SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"0KAKA,SAAS,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,SACV,WAAA,EAAA,EAAA,IACE,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CACf,YAAU,eACV,WAAA,EAAA,EAAA,IACE,gBACA,4EACA,oDACA"}
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Switch as n}from"radix-ui";function r({className:r,...i}){return t(n.Root,{"data-slot":`switch`,className:e(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,r),...i,children:t(n.Thumb,{"data-slot":`switch-thumb`,className:e(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}export{r as Switch};
2
- //# sourceMappingURL=switch-BWRzY3i2.js.map
2
+ //# sourceMappingURL=switch-C8OMYLfj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch-BWRzY3i2.js","names":["Switch","SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"8HAKA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAACC,EAAgB,KAAA,CACf,YAAU,SACV,UAAW,EACT,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,WAEJ,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,UAAW,EACT,gBACA,4EACA,oDACA"}
1
+ {"version":3,"file":"switch-C8OMYLfj.js","names":["Switch","SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client'\nimport { cn } from '@customafk/react-toolkit/utils'\n\nimport { Switch as SwitchPrimitive } from 'radix-ui'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"mappings":"8HAKA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAACC,EAAgB,KAAA,CACf,YAAU,SACV,UAAW,EACT,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,GAEF,GAAI,WAEJ,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,UAAW,EACT,gBACA,4EACA,oDACA"}
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-CUT6urMc.cjs`);require(`../dist-D0uO1qIz.cjs`),require(`../button-variants-CCiseNSC.cjs`);const t=require(`../button-CuV2l4ge.cjs`);require(`../input-jNmC92mW.cjs`);const n=require(`../flex-tfa5B9qc.cjs`);require(`../paragraph-DHasUGpR.cjs`);const r=require(`../dropdown-menu-Djtt8w9D.cjs`),i=require(`../scroll-area-BFGH4GB0.cjs`),a=require(`../table-3FiYZeab.cjs`),o=require(`../add-new-C7ZMHWcR.cjs`),s=require(`../refresh-N_fOqhT5.cjs`),c=require(`../search-input-DP1Cjt6h.cjs`),l=e.__toESM(require(`lucide-react`)),u=e.__toESM(require(`@customafk/react-toolkit/utils`)),d=e.__toESM(require(`react`)),f=e.__toESM(require(`react/jsx-runtime`)),p=e.__toESM(require(`@tanstack/react-table`)),m=e.__toESM(require(`@tanstack/react-virtual`)),h=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),zIndex:t?1:0}},g=(0,d.memo)(({column:e})=>{let t=e.getIsSorted(),n=(0,d.useMemo)(()=>({asc:(0,f.jsx)(l.ChevronUp,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`}),desc:(0,f.jsx)(l.ChevronDown,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`})}),[]);return t?n[t]:null});g.displayName=`SortingIndicator`;const _=(0,d.memo)(({column:e})=>{let n=typeof e.columnDef.header==`string`?e.columnDef.header:`Column`,i=(0,d.useCallback)(()=>e.pin(!1),[e]),a=(0,d.useCallback)(()=>e.pin(`left`),[e]),o=(0,d.useCallback)(()=>e.pin(`right`),[e]);return e.getCanPin()?e.getIsPinned()?(0,f.jsx)(t.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none`,"aria-label":`Unpin ${n} column`,title:`Unpin ${n} column`,onClick:i,children:(0,f.jsx)(l.PinOffIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})}):(0,f.jsxs)(r.DropdownMenu,{children:[(0,f.jsx)(r.DropdownMenuTrigger,{asChild:!0,children:(0,f.jsx)(t.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`size-7 shadow-none`,"aria-label":`Pin options for ${n} column`,title:`Pin options for ${n} column`,children:(0,f.jsx)(l.EllipsisIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})})}),(0,f.jsxs)(r.DropdownMenuContent,{align:`end`,children:[(0,f.jsxs)(r.DropdownMenuItem,{onClick:a,children:[(0,f.jsx)(l.ArrowLeftToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to left`]}),(0,f.jsxs)(r.DropdownMenuItem,{onClick:o,children:[(0,f.jsx)(l.ArrowRightToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to right`]})]})]}):null});_.displayName=`PinControls`;const v=(0,d.memo)(({header:e})=>{let{column:t}=e,n=(0,d.useCallback)(e=>{t.getCanSort()&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.getToggleSortingHandler()?.(e))},[t]),r=t.getToggleSortingHandler();return e.isPlaceholder?(0,f.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`}):(0,f.jsxs)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:[(0,f.jsxs)(`div`,{className:(0,u.cn)(t.getCanSort()&&`flex h-full cursor-pointer items-center justify-between gap-2 select-none`),onClick:r,onKeyDown:n,tabIndex:t.getCanSort()?0:void 0,role:t.getCanSort()?`button`:void 0,children:[(0,f.jsx)(`span`,{className:`truncate`,children:(0,p.flexRender)(t.columnDef.header,e.getContext())}),(0,f.jsx)(g,{column:t})]}),(0,f.jsx)(_,{column:t})]})});v.displayName=`HeaderContent`;const y=(0,d.memo)(({row:e,measureElement:t,virtualRow:n,onClickRow:r})=>{let i=(0,d.useCallback)(()=>{r&&r(e.id)},[e.id,r]);return(0,f.jsx)(a.TableRow,{"data-index":n.index,ref:e=>t(e),className:`absolute flex w-full cursor-pointer focus:outline-none`,style:{transform:`translateY(${n.start}px)`},onClick:i,tabIndex:r?0:void 0,role:r?`button`:void 0,children:e.getVisibleCells().map(e=>{let t=e.column.getIsPinned(),n=t===`left`&&e.column.getIsLastColumn(`left`),r=t===`right`&&e.column.getIsFirstColumn(`right`);return(0,f.jsx)(a.TableCell,{"data-pinned":t||void 0,"data-last-col":n?`left`:r?`right`:void 0,style:{...h(e.column),width:e.column.getSize()},className:(0,u.cn)(`flex overflow-hidden py-2.5`,`data-pinned:bg-background/90`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right][data-last-col=right]]:border-l`),children:(0,p.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})})});y.displayName=`DataTableRow`;const b=({table:e,isLoading:t,isFetching:n,allowFetchMore:r=!0,onClickRow:o,onFetchNextPage:s})=>{let c=(0,d.useRef)(null),{rows:p}=e.getRowModel(),g=(0,m.useVirtualizer)({count:p.length,getScrollElement:()=>c.current,estimateSize:()=>37,measureElement:e=>e?.getBoundingClientRect().height??void 0,overscan:5}),_=(0,d.useCallback)(e=>{if(!e)return;let{scrollHeight:t,scrollTop:i,clientHeight:a}=e;t-i-a<120&&!n&&r&&s&&s()},[r,n,s]);return(0,d.useEffect)(()=>{let e=setTimeout(()=>{_(c.current)},100);return()=>clearTimeout(e)},[_]),(0,f.jsxs)(i.ScrollArea,{ref:c,className:`border-border-weak bg-background relative w-full overflow-auto rounded-lg border`,children:[(0,f.jsxs)(a.Table,{className:(0,u.cn)(`!w-full`,`grid`,`border-separate border-spacing-0`,`[&_td]:border-border-weak`,`[&_th]:border-border-weak`,`[&_th]:border-b`,`[&_th]:border-b-border-weak`,`[&_tfoot_td]:border-t`),children:[(0,f.jsx)(a.TableHeader,{className:`sticky top-0 z-10 backdrop-blur-xs`,children:e.getHeaderGroups().map(e=>(0,f.jsx)(a.TableRow,{className:`flex w-full border-none`,children:e.headers.map(e=>{let{column:t}=e,n=t.getIsPinned(),r=n===`left`&&t.getIsLastColumn(`left`),i=n===`right`&&t.getIsFirstColumn(`right`),o=n||void 0,s=r?`left`:i?`right`:void 0,c={width:e.getSize(),...h(e.column)};return(0,f.jsx)(a.TableHead,{"data-pinned":o,"data-last-col":s,className:(0,u.cn)(`relative flex h-9 font-semibold select-none`,`data-pinned:backdrop-blur-xs`,`data-pinned:bg-muted-weak`,`[&>.cursor-col-resize]:last:opacity-0`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=right][data-last-col=right]]:border-l`),colSpan:e.colSpan,style:c,children:(0,f.jsx)(v,{header:e})},e.id)})},e.id))}),(0,f.jsx)(a.TableBody,{style:{height:`${g.getTotalSize()}px`},className:(0,u.cn)(`relative grid w-full`,t&&`h-36`,p?.length===0&&`h-48`),children:t?(0,f.jsx)(a.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,f.jsx)(a.TableCell,{children:`loading...`})}):(0,f.jsx)(f.Fragment,{children:g.getVirtualItems().map(e=>{let t=p[e.index],n=t?.id||(t.original&&`id`in t.original?String(t.original.id):null)||(t.original&&`uuid`in t.original?String(t.original.uuid):null);return(0,f.jsx)(y,{id:n??String(e.index),row:t,measureElement:g.measureElement,virtualRow:e,onClickRow:o},n??e.index)})})}),n&&(0,f.jsx)(a.TableFooter,{children:(0,f.jsx)(`div`,{className:`flex w-full justify-center py-2`,children:(0,f.jsx)(l.LoaderIcon,{size:16,className:`animate-spin`,"aria-label":`Loading more data`})})})]}),(0,f.jsx)(i.ScrollBar,{orientation:`horizontal`})]})},x=({onAdd:e,onRefresh:t})=>(0,f.jsxs)(n.Flex,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,f.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,f.jsx)(c.SearchInput,{placeholder:`Search...`})}),(0,f.jsxs)(n.Flex,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,f.jsx)(o.AddNewBtn,{onClick:e}),(0,f.jsx)(s.RefreshBtn,{onClick:t})]})]});function S({data:e,totalCount:t,isLoading:r,columns:i,onAdd:a,onRefresh:o,onClickRow:s,onFetchNextPage:c}){"use no memo";let[l,u]=(0,d.useState)({}),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)([]),[v,y]=(0,d.useState)({}),S=(0,d.useMemo)(()=>({columnPinning:{right:[`actions`,`update`,`delete`]}}),[]),C=(0,p.useReactTable)({initialState:S,data:e,columns:i,rowCount:t,columnResizeMode:`onChange`,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,p.getCoreRowModel)(),getSortedRowModel:(0,p.getSortedRowModel)(),getFilteredRowModel:(0,p.getFilteredRowModel)(),getFacetedRowModel:(0,p.getFacetedRowModel)(),getFacetedUniqueValues:(0,p.getFacetedUniqueValues)(),getRowId:e=>e.id||e.uuid,state:{rowSelection:l,sorting:m,columnVisibility:v,columnFilters:g},onRowSelectionChange:u,onSortingChange:h,onColumnVisibilityChange:y,onColumnFiltersChange:_});return(0,f.jsxs)(n.Flex,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full overflow-y-auto pt-1`,children:[(0,f.jsx)(x,{onAdd:a,onRefresh:o}),(0,f.jsx)(n.Flex,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:(0,f.jsx)(b,{table:C,isLoading:r,onClickRow:s,onFetchNextPage:c})})]})}exports.Table=S;
1
+ const e=require(`../chunk-CUT6urMc.cjs`);require(`../dist-D0uO1qIz.cjs`),require(`../button-variants-CCiseNSC.cjs`);const t=require(`../button-CuV2l4ge.cjs`),n=require(`../flex-DS4mxjtf.cjs`);require(`../paragraph-BLvW7xdo.cjs`),require(`../input-GHXBt6hz.cjs`);const r=require(`../dropdown-menu-Djtt8w9D.cjs`),i=require(`../scroll-area-bTF4NokG.cjs`),a=require(`../table-3FiYZeab.cjs`),o=require(`../add-new-BaA0yy6U.cjs`),s=require(`../refresh-Bt9GEyuC.cjs`),c=require(`../search-input-DFgHJyOp.cjs`),l=e.__toESM(require(`lucide-react`)),u=e.__toESM(require(`@customafk/react-toolkit/utils`)),d=e.__toESM(require(`react`)),f=e.__toESM(require(`react/jsx-runtime`)),p=e.__toESM(require(`@tanstack/react-table`)),m=e.__toESM(require(`@tanstack/react-virtual`)),h=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),zIndex:t?1:0}},g=(0,d.memo)(({column:e})=>{let t=e.getIsSorted(),n=(0,d.useMemo)(()=>({asc:(0,f.jsx)(l.ChevronUp,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`}),desc:(0,f.jsx)(l.ChevronDown,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`})}),[]);return t?n[t]:null});g.displayName=`SortingIndicator`;const _=(0,d.memo)(({column:e})=>{let n=typeof e.columnDef.header==`string`?e.columnDef.header:`Column`,i=(0,d.useCallback)(()=>e.pin(!1),[e]),a=(0,d.useCallback)(()=>e.pin(`left`),[e]),o=(0,d.useCallback)(()=>e.pin(`right`),[e]);return e.getCanPin()?e.getIsPinned()?(0,f.jsx)(t.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none`,"aria-label":`Unpin ${n} column`,title:`Unpin ${n} column`,onClick:i,children:(0,f.jsx)(l.PinOffIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})}):(0,f.jsxs)(r.DropdownMenu,{children:[(0,f.jsx)(r.DropdownMenuTrigger,{asChild:!0,children:(0,f.jsx)(t.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`size-7 shadow-none`,"aria-label":`Pin options for ${n} column`,title:`Pin options for ${n} column`,children:(0,f.jsx)(l.EllipsisIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})})}),(0,f.jsxs)(r.DropdownMenuContent,{align:`end`,children:[(0,f.jsxs)(r.DropdownMenuItem,{onClick:a,children:[(0,f.jsx)(l.ArrowLeftToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to left`]}),(0,f.jsxs)(r.DropdownMenuItem,{onClick:o,children:[(0,f.jsx)(l.ArrowRightToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to right`]})]})]}):null});_.displayName=`PinControls`;const v=(0,d.memo)(({header:e})=>{let{column:t}=e,n=(0,d.useCallback)(e=>{t.getCanSort()&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.getToggleSortingHandler()?.(e))},[t]),r=t.getToggleSortingHandler();return e.isPlaceholder?(0,f.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`}):(0,f.jsxs)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:[(0,f.jsxs)(`div`,{className:(0,u.cn)(t.getCanSort()&&`flex h-full cursor-pointer items-center justify-between gap-2 select-none`),onClick:r,onKeyDown:n,tabIndex:t.getCanSort()?0:void 0,role:t.getCanSort()?`button`:void 0,children:[(0,f.jsx)(`span`,{className:`truncate`,children:(0,p.flexRender)(t.columnDef.header,e.getContext())}),(0,f.jsx)(g,{column:t})]}),(0,f.jsx)(_,{column:t})]})});v.displayName=`HeaderContent`;const y=(0,d.memo)(({row:e,measureElement:t,virtualRow:n,onClickRow:r})=>{let i=(0,d.useCallback)(()=>{r&&r(e.id)},[e.id,r]);return(0,f.jsx)(a.TableRow,{"data-index":n.index,ref:e=>t(e),className:`absolute flex w-full cursor-pointer focus:outline-none`,style:{transform:`translateY(${n.start}px)`},onClick:i,tabIndex:r?0:void 0,role:r?`button`:void 0,children:e.getVisibleCells().map(e=>{let t=e.column.getIsPinned(),n=t===`left`&&e.column.getIsLastColumn(`left`),r=t===`right`&&e.column.getIsFirstColumn(`right`);return(0,f.jsx)(a.TableCell,{"data-pinned":t||void 0,"data-last-col":n?`left`:r?`right`:void 0,style:{...h(e.column),width:e.column.getSize()},className:(0,u.cn)(`flex overflow-hidden py-2.5`,`data-pinned:bg-background/90`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right][data-last-col=right]]:border-l`),children:(0,p.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})})});y.displayName=`DataTableRow`;const b=({table:e,isLoading:t,isFetching:n,allowFetchMore:r=!0,onClickRow:o,onFetchNextPage:s})=>{let c=(0,d.useRef)(null),{rows:p}=e.getRowModel(),g=(0,m.useVirtualizer)({count:p.length,getScrollElement:()=>c.current,estimateSize:()=>37,measureElement:e=>e?.getBoundingClientRect().height??void 0,overscan:5}),_=(0,d.useCallback)(e=>{if(!e)return;let{scrollHeight:t,scrollTop:i,clientHeight:a}=e;t-i-a<500&&!n&&r&&s&&s()},[r,n,s]),b=(0,d.useCallback)(e=>{_(e.currentTarget)},[_]);return(0,d.useEffect)(()=>{let e=setTimeout(()=>{_(c.current)},100);return()=>clearTimeout(e)},[_]),(0,f.jsxs)(i.ScrollArea,{ref:c,className:`border-border-weak bg-background relative w-full overflow-auto rounded-lg border`,onScroll:b,children:[(0,f.jsxs)(a.Table,{className:(0,u.cn)(`!w-full`,`grid`,`border-separate border-spacing-0`,`[&_td]:border-border-weak`,`[&_th]:border-border-weak`,`[&_th]:border-b`,`[&_th]:border-b-border-weak`,`[&_tfoot_td]:border-t`),children:[(0,f.jsx)(a.TableHeader,{className:`sticky top-0 z-10 backdrop-blur-xs`,children:e.getHeaderGroups().map(e=>(0,f.jsx)(a.TableRow,{className:`flex w-full border-none`,children:e.headers.map(e=>{let{column:t}=e,n=t.getIsPinned(),r=n===`left`&&t.getIsLastColumn(`left`),i=n===`right`&&t.getIsFirstColumn(`right`),o=n||void 0,s=r?`left`:i?`right`:void 0,c={width:e.getSize(),...h(e.column)};return(0,f.jsx)(a.TableHead,{"data-pinned":o,"data-last-col":s,className:(0,u.cn)(`relative flex h-9 font-semibold select-none`,`data-pinned:backdrop-blur-xs`,`data-pinned:bg-muted-weak`,`[&>.cursor-col-resize]:last:opacity-0`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=right][data-last-col=right]]:border-l`),colSpan:e.colSpan,style:c,children:(0,f.jsx)(v,{header:e})},e.id)})},e.id))}),(0,f.jsx)(a.TableBody,{style:{height:`${g.getTotalSize()}px`},className:(0,u.cn)(`relative grid w-full`,t&&`h-36`,p?.length===0&&`h-48`),children:t?(0,f.jsx)(a.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,f.jsx)(a.TableCell,{children:`loading...`})}):(0,f.jsx)(f.Fragment,{children:g.getVirtualItems().map(e=>{let t=p[e.index],n=t?.id||(t.original&&`id`in t.original?String(t.original.id):null)||(t.original&&`uuid`in t.original?String(t.original.uuid):null);return(0,f.jsx)(y,{id:n??String(e.index),row:t,measureElement:g.measureElement,virtualRow:e,onClickRow:o},n??e.index)})})}),n&&(0,f.jsx)(a.TableFooter,{children:(0,f.jsx)(`div`,{className:`flex w-full justify-center py-2`,children:(0,f.jsx)(l.LoaderIcon,{size:16,className:`animate-spin`,"aria-label":`Loading more data`})})})]}),(0,f.jsx)(i.ScrollBar,{orientation:`horizontal`})]})},x=({onAdd:e,onRefresh:t})=>(0,f.jsxs)(n.Flex,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,f.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,f.jsx)(c.SearchInput,{placeholder:`Search...`})}),(0,f.jsxs)(n.Flex,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,f.jsx)(o.AddNewBtn,{onClick:e}),(0,f.jsx)(s.RefreshBtn,{onClick:t})]})]});function S({data:e,totalCount:t,isLoading:r,isFetching:i,columns:a,onAdd:o,onRefresh:s,onClickRow:c,onFetchNextPage:l}){"use no memo";let[u,m]=(0,d.useState)({}),[h,g]=(0,d.useState)([]),[_,v]=(0,d.useState)([]),[y,S]=(0,d.useState)({}),C=(0,d.useMemo)(()=>({columnPinning:{right:[`actions`,`update`,`delete`]}}),[]),w=(0,p.useReactTable)({initialState:C,data:e,columns:a,rowCount:t,columnResizeMode:`onChange`,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,p.getCoreRowModel)(),getSortedRowModel:(0,p.getSortedRowModel)(),getFilteredRowModel:(0,p.getFilteredRowModel)(),getFacetedRowModel:(0,p.getFacetedRowModel)(),getFacetedUniqueValues:(0,p.getFacetedUniqueValues)(),getRowId:e=>e.id||e.uuid,state:{rowSelection:u,sorting:h,columnVisibility:y,columnFilters:_},onRowSelectionChange:m,onSortingChange:g,onColumnVisibilityChange:S,onColumnFiltersChange:v});return(0,f.jsxs)(n.Flex,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full overflow-y-auto pt-1`,children:[(0,f.jsx)(x,{onAdd:o,onRefresh:s}),(0,f.jsx)(n.Flex,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:(0,f.jsx)(b,{table:w,isLoading:r,isFetching:i,onClickRow:c,onFetchNextPage:l})})]})}exports.Table=S;
2
2
  //# sourceMappingURL=index.cjs.map