@customafk/lunas-ui 0.0.30 → 0.0.32

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 (469) hide show
  1. package/dist/add-new-DN1gIKY3.js +2 -0
  2. package/dist/add-new-DN1gIKY3.js.map +1 -0
  3. package/dist/add-new-xS6skbx-.cjs +2 -0
  4. package/dist/add-new-xS6skbx-.cjs.map +1 -0
  5. package/dist/{alert-dialog-DTGhE9eE.cjs → alert-dialog-CDkk0pu6.cjs} +2 -2
  6. package/dist/{alert-dialog-DTGhE9eE.cjs.map → alert-dialog-CDkk0pu6.cjs.map} +1 -1
  7. package/dist/{alert-dialog-Dj-AZiuo.js → alert-dialog-sZgsVmHQ.js} +2 -2
  8. package/dist/{alert-dialog-Dj-AZiuo.js.map → alert-dialog-sZgsVmHQ.js.map} +1 -1
  9. package/dist/{badge-bLqn3EB9.js → badge-DVsw3QBx.js} +2 -2
  10. package/dist/{badge-bLqn3EB9.js.map → badge-DVsw3QBx.js.map} +1 -1
  11. package/dist/{badge-DHRQ-uwY.cjs → badge-Z4Ilpic1.cjs} +2 -2
  12. package/dist/{badge-DHRQ-uwY.cjs.map → badge-Z4Ilpic1.cjs.map} +1 -1
  13. package/dist/button-Bux-wVsx.cjs +2 -0
  14. package/dist/button-Bux-wVsx.cjs.map +1 -0
  15. package/dist/{button-BGdpEKfJ.d.cts → button-CW3uac34.d.ts} +5 -5
  16. package/dist/{button-CcHoaGqq.d.ts → button-DS3TloNb.d.cts} +6 -6
  17. package/dist/button-k365f5HA.js +2 -0
  18. package/dist/button-k365f5HA.js.map +1 -0
  19. package/dist/{calendar-quj5auud.cjs → calendar-2P8RXz57.cjs} +2 -2
  20. package/dist/{calendar-quj5auud.cjs.map → calendar-2P8RXz57.cjs.map} +1 -1
  21. package/dist/{calendar-D9fvi_0R.js → calendar-Bk2fba-V.js} +2 -2
  22. package/dist/{calendar-D9fvi_0R.js.map → calendar-Bk2fba-V.js.map} +1 -1
  23. package/dist/{card-CgQjctUE.js → card-CBX9KFaT.js} +1 -1
  24. package/dist/{card-CgQjctUE.js.map → card-CBX9KFaT.js.map} +1 -1
  25. package/dist/{card-DYVCumPc.cjs → card-DadColF9.cjs} +1 -1
  26. package/dist/{card-DYVCumPc.cjs.map → card-DadColF9.cjs.map} +1 -1
  27. package/dist/cards/simple-card.cjs +1 -1
  28. package/dist/cards/simple-card.d.cts +2 -2
  29. package/dist/cards/simple-card.d.ts +2 -2
  30. package/dist/cards/simple-card.js +1 -1
  31. package/dist/{command-Cnlve_5K.d.cts → command-DiAu-f2T.d.cts} +12 -12
  32. package/dist/{command-C2l3hJPZ.d.ts → command-lCWgB6gY.d.ts} +12 -12
  33. package/dist/{command-CISAX79b.js → command-rOYjhGsH.js} +2 -2
  34. package/dist/{command-CISAX79b.js.map → command-rOYjhGsH.js.map} +1 -1
  35. package/dist/{command-EoZTr9rZ.cjs → command-uFfTLVLB.cjs} +2 -2
  36. package/dist/{command-EoZTr9rZ.cjs.map → command-uFfTLVLB.cjs.map} +1 -1
  37. package/dist/data-display/country.cjs +1 -1
  38. package/dist/data-display/country.js +1 -1
  39. package/dist/data-display/data-list.cjs +1 -1
  40. package/dist/data-display/data-list.js +1 -1
  41. package/dist/data-display/date-tooltip.cjs +1 -1
  42. package/dist/data-display/date-tooltip.js +1 -1
  43. package/dist/data-display/date.cjs +1 -1
  44. package/dist/data-display/date.js +1 -1
  45. package/dist/data-display/empty.cjs +1 -1
  46. package/dist/data-display/empty.d.cts +2 -2
  47. package/dist/data-display/empty.d.ts +2 -2
  48. package/dist/data-display/empty.js +1 -1
  49. package/dist/data-display/name.cjs +1 -1
  50. package/dist/data-display/name.js +1 -1
  51. package/dist/data-display/phone-number.cjs +1 -1
  52. package/dist/data-display/phone-number.js +1 -1
  53. package/dist/data-display/role-badge.cjs +1 -1
  54. package/dist/data-display/role-badge.js +1 -1
  55. package/dist/data-display/statistic.cjs +1 -1
  56. package/dist/data-display/statistic.d.cts +2 -2
  57. package/dist/data-display/statistic.d.ts +2 -2
  58. package/dist/data-display/statistic.js +1 -1
  59. package/dist/{date-B1g1OMYc.js → date-CNMmc1dw.js} +1 -1
  60. package/dist/{date-B1g1OMYc.js.map → date-CNMmc1dw.js.map} +1 -1
  61. package/dist/{date-Cw6Jf7k6.cjs → date-DipuxrP1.cjs} +1 -1
  62. package/dist/{date-Cw6Jf7k6.cjs.map → date-DipuxrP1.cjs.map} +1 -1
  63. package/dist/{dialog-C-DYoapJ.d.ts → dialog-BgHMBAZR.d.ts} +12 -12
  64. package/dist/dialog-CQ7VFVqq.js +2 -0
  65. package/dist/{dialog-DRy8_ncT.js.map → dialog-CQ7VFVqq.js.map} +1 -1
  66. package/dist/{dialog-DI0dG1nN.d.cts → dialog-CyrANigE.d.cts} +12 -12
  67. package/dist/{dialog-DC692QO6.cjs → dialog-D15fYo-V.cjs} +2 -2
  68. package/dist/{dialog-DC692QO6.cjs.map → dialog-D15fYo-V.cjs.map} +1 -1
  69. package/dist/dialogs/confirm-dialog.cjs +1 -1
  70. package/dist/dialogs/confirm-dialog.js +1 -1
  71. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  72. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +28 -28
  73. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +28 -28
  74. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  75. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  76. package/dist/dialogs/detail-dialog/index.js +1 -1
  77. package/dist/dialogs/error-dialog.cjs +1 -1
  78. package/dist/dialogs/error-dialog.js +1 -1
  79. package/dist/dialogs/form-dialog.cjs +1 -1
  80. package/dist/dialogs/form-dialog.cjs.map +1 -1
  81. package/dist/dialogs/form-dialog.d.cts +2 -2
  82. package/dist/dialogs/form-dialog.d.ts +2 -2
  83. package/dist/dialogs/form-dialog.js +1 -1
  84. package/dist/dialogs/form-dialog.js.map +1 -1
  85. package/dist/dialogs/loading-dialog.cjs +1 -1
  86. package/dist/dialogs/loading-dialog.js +1 -1
  87. package/dist/{dropdown-menu-DAKBQ6Kb.cjs → dropdown-menu-D61L7wHT.cjs} +2 -2
  88. package/dist/{dropdown-menu-DAKBQ6Kb.cjs.map → dropdown-menu-D61L7wHT.cjs.map} +1 -1
  89. package/dist/{dropdown-menu-D7EGmhwP.js → dropdown-menu-DLg0SDyR.js} +2 -2
  90. package/dist/{dropdown-menu-D7EGmhwP.js.map → dropdown-menu-DLg0SDyR.js.map} +1 -1
  91. package/dist/error-dialog-BUsOIdF7.cjs +2 -0
  92. package/dist/{error-dialog-CIjefl0s.cjs.map → error-dialog-BUsOIdF7.cjs.map} +1 -1
  93. package/dist/error-dialog-HL0trgFF.js +2 -0
  94. package/dist/{error-dialog-CNl7iWC2.js.map → error-dialog-HL0trgFF.js.map} +1 -1
  95. package/dist/{flex-B5MQmxX8.cjs → flex-BuUVu_Lf.cjs} +2 -2
  96. package/dist/{flex-B5MQmxX8.cjs.map → flex-BuUVu_Lf.cjs.map} +1 -1
  97. package/dist/{flex-CBAzUoXK.js → flex-uO6z0kNw.js} +2 -2
  98. package/dist/{flex-CBAzUoXK.js.map → flex-uO6z0kNw.js.map} +1 -1
  99. package/dist/form-BURcRgfV.js +2 -0
  100. package/dist/{form-DZqGhxta.js.map → form-BURcRgfV.js.map} +1 -1
  101. package/dist/{form-D13wOyun.cjs → form-DxHTpatW.cjs} +2 -2
  102. package/dist/{form-D13wOyun.cjs.map → form-DxHTpatW.cjs.map} +1 -1
  103. package/dist/form-wrapper-CRvx6rtV.js +2 -0
  104. package/dist/{form-wrapper-BoiiM9r2.js.map → form-wrapper-CRvx6rtV.js.map} +1 -1
  105. package/dist/form-wrapper-DlT1h1BU.cjs +2 -0
  106. package/dist/{form-wrapper-BBWW9lmj.cjs.map → form-wrapper-DlT1h1BU.cjs.map} +1 -1
  107. package/dist/forms/combobox-field.cjs +1 -1
  108. package/dist/forms/combobox-field.js +1 -1
  109. package/dist/forms/date-field.cjs +1 -1
  110. package/dist/forms/date-field.d.cts +2 -2
  111. package/dist/forms/date-field.d.ts +2 -2
  112. package/dist/forms/date-field.js +1 -1
  113. package/dist/forms/form-wrapper.cjs +1 -1
  114. package/dist/forms/form-wrapper.d.cts +2 -2
  115. package/dist/forms/form-wrapper.d.ts +2 -2
  116. package/dist/forms/form-wrapper.js +1 -1
  117. package/dist/forms/multi-select-field.cjs +1 -1
  118. package/dist/forms/multi-select-field.d.cts +2 -2
  119. package/dist/forms/multi-select-field.d.ts +2 -2
  120. package/dist/forms/multi-select-field.js +1 -1
  121. package/dist/forms/number-field.cjs +1 -1
  122. package/dist/forms/number-field.d.cts +2 -2
  123. package/dist/forms/number-field.d.ts +2 -2
  124. package/dist/forms/number-field.js +1 -1
  125. package/dist/forms/password-field.cjs +1 -1
  126. package/dist/forms/password-field.d.cts +2 -2
  127. package/dist/forms/password-field.d.ts +2 -2
  128. package/dist/forms/password-field.js +1 -1
  129. package/dist/forms/select-field.cjs +1 -1
  130. package/dist/forms/select-field.d.cts +2 -2
  131. package/dist/forms/select-field.d.ts +2 -2
  132. package/dist/forms/select-field.js +1 -1
  133. package/dist/forms/switch-field.cjs +1 -1
  134. package/dist/forms/switch-field.d.cts +2 -2
  135. package/dist/forms/switch-field.d.ts +2 -2
  136. package/dist/forms/switch-field.js +1 -1
  137. package/dist/forms/text-field.cjs +1 -1
  138. package/dist/forms/text-field.d.cts +2 -2
  139. package/dist/forms/text-field.d.ts +2 -2
  140. package/dist/forms/text-field.js +1 -1
  141. package/dist/forms/textarea-field.cjs +1 -1
  142. package/dist/forms/textarea-field.d.cts +2 -2
  143. package/dist/forms/textarea-field.d.ts +2 -2
  144. package/dist/forms/textarea-field.js +1 -1
  145. package/dist/{input-I0UFVeRe.d.cts → input-CGh5d1fe.d.cts} +3 -3
  146. package/dist/{input-Cv7gHIMB.cjs → input-DahIflvq.cjs} +1 -1
  147. package/dist/{input-Cv7gHIMB.cjs.map → input-DahIflvq.cjs.map} +1 -1
  148. package/dist/{input-BJeCqZVs.js → input-YG15tKEM.js} +1 -1
  149. package/dist/{input-BJeCqZVs.js.map → input-YG15tKEM.js.map} +1 -1
  150. package/dist/{input-ixyBDLIa.d.ts → input-kLb5KdnV.d.ts} +3 -3
  151. package/dist/{label-CW94D639.cjs → label-BJkXZ3TJ.cjs} +2 -2
  152. package/dist/{label-CW94D639.cjs.map → label-BJkXZ3TJ.cjs.map} +1 -1
  153. package/dist/{label-DuddAB1p.js → label-D6HPmJBN.js} +2 -2
  154. package/dist/{label-DuddAB1p.js.map → label-D6HPmJBN.js.map} +1 -1
  155. package/dist/layouts/app-layout/index.cjs +1 -1
  156. package/dist/layouts/app-layout/index.d.cts +3 -3
  157. package/dist/layouts/app-layout/index.d.ts +26 -26
  158. package/dist/layouts/app-layout/index.js +1 -1
  159. package/dist/layouts/flex.cjs +1 -1
  160. package/dist/layouts/flex.d.cts +3 -3
  161. package/dist/layouts/flex.d.ts +3 -3
  162. package/dist/layouts/flex.js +1 -1
  163. package/dist/layouts/main/index.cjs +1 -1
  164. package/dist/layouts/main/index.d.ts +4 -4
  165. package/dist/layouts/main/index.js +1 -1
  166. package/dist/{multi-select-Djn-5l_V.cjs → multi-select-Ccun4tko.cjs} +2 -2
  167. package/dist/{multi-select-Djn-5l_V.cjs.map → multi-select-Ccun4tko.cjs.map} +1 -1
  168. package/dist/{multi-select-CslsZ7yw.js → multi-select-orMSloDe.js} +2 -2
  169. package/dist/{multi-select-CslsZ7yw.js.map → multi-select-orMSloDe.js.map} +1 -1
  170. package/dist/paragraph-C7lEumt1.cjs +2 -0
  171. package/dist/{paragraph-JXci2Ihg.cjs.map → paragraph-C7lEumt1.cjs.map} +1 -1
  172. package/dist/paragraph-DdDkztSr.js +2 -0
  173. package/dist/{paragraph-C0KfolV0.js.map → paragraph-DdDkztSr.js.map} +1 -1
  174. package/dist/{popover-DyoAfuhi.js → popover-Bm8yrn27.js} +2 -2
  175. package/dist/{popover-DyoAfuhi.js.map → popover-Bm8yrn27.js.map} +1 -1
  176. package/dist/{popover-ByzBl1kH.cjs → popover-CZqrOSLU.cjs} +2 -2
  177. package/dist/{popover-ByzBl1kH.cjs.map → popover-CZqrOSLU.cjs.map} +1 -1
  178. package/dist/{progress-DLxh7x1P.cjs → progress-BN-Us1HI.cjs} +2 -2
  179. package/dist/{progress-DLxh7x1P.cjs.map → progress-BN-Us1HI.cjs.map} +1 -1
  180. package/dist/{progress-DWrtxJv0.js → progress-DI4g21bW.js} +2 -2
  181. package/dist/{progress-DWrtxJv0.js.map → progress-DI4g21bW.js.map} +1 -1
  182. package/dist/refresh-DD8oIITt.js +2 -0
  183. package/dist/refresh-DD8oIITt.js.map +1 -0
  184. package/dist/refresh-DQYWPM4I.cjs +2 -0
  185. package/dist/refresh-DQYWPM4I.cjs.map +1 -0
  186. package/dist/scroll-area-C2rZa7Ua.js +2 -0
  187. package/dist/{scroll-area-C0KQbcG0.js.map → scroll-area-C2rZa7Ua.js.map} +1 -1
  188. package/dist/{scroll-area-CBq8XL4c.cjs → scroll-area-Cc6UjeXy.cjs} +2 -2
  189. package/dist/{scroll-area-CBq8XL4c.cjs.map → scroll-area-Cc6UjeXy.cjs.map} +1 -1
  190. package/dist/{search-input-DG3ivvbv.js → search-input-BWd4Nofw.js} +2 -2
  191. package/dist/{search-input-DG3ivvbv.js.map → search-input-BWd4Nofw.js.map} +1 -1
  192. package/dist/{search-input-Donhb2DT.cjs → search-input-tuRulq_7.cjs} +2 -2
  193. package/dist/{search-input-Donhb2DT.cjs.map → search-input-tuRulq_7.cjs.map} +1 -1
  194. package/dist/{select-C0ZL0jnr.cjs → select-AvmLfchI.cjs} +2 -2
  195. package/dist/{select-C0ZL0jnr.cjs.map → select-AvmLfchI.cjs.map} +1 -1
  196. package/dist/{select-D8FXzl09.js → select-CFwOPSRe.js} +2 -2
  197. package/dist/{select-D8FXzl09.js.map → select-CFwOPSRe.js.map} +1 -1
  198. package/dist/{separator-Cigaqna1.cjs → separator-BT-ElB51.cjs} +2 -2
  199. package/dist/{separator-Cigaqna1.cjs.map → separator-BT-ElB51.cjs.map} +1 -1
  200. package/dist/{separator-DHBhn7Y8.d.cts → separator-BprGaC5W.d.cts} +3 -3
  201. package/dist/{separator-aLdI4FQe.js → separator-CMpvCcC2.js} +2 -2
  202. package/dist/{separator-aLdI4FQe.js.map → separator-CMpvCcC2.js.map} +1 -1
  203. package/dist/{separator-CW0zOdc9.d.ts → separator-j1m9MZW8.d.ts} +3 -3
  204. package/dist/{sheet-C1xD7y3c.cjs → sheet-DDzZ8aNz.cjs} +2 -2
  205. package/dist/{sheet-C1xD7y3c.cjs.map → sheet-DDzZ8aNz.cjs.map} +1 -1
  206. package/dist/{sheet-7EAzHejw.js → sheet-DZGisKJ7.js} +2 -2
  207. package/dist/{sheet-7EAzHejw.js.map → sheet-DZGisKJ7.js.map} +1 -1
  208. package/dist/{sidebar-B5wjGpGo.cjs → sidebar-Cwy_Lyyv.cjs} +2 -2
  209. package/dist/{sidebar-B5wjGpGo.cjs.map → sidebar-Cwy_Lyyv.cjs.map} +1 -1
  210. package/dist/{sidebar-jBc9MX3P.js → sidebar-DJh4he1F.js} +2 -2
  211. package/dist/{sidebar-jBc9MX3P.js.map → sidebar-DJh4he1F.js.map} +1 -1
  212. package/dist/{sidebar-CeON7EMu.js → sidebar-DhskzF2y.js} +2 -2
  213. package/dist/{sidebar-CeON7EMu.js.map → sidebar-DhskzF2y.js.map} +1 -1
  214. package/dist/{sidebar-CU17j7pR.cjs → sidebar-s8CA2I3B.cjs} +2 -2
  215. package/dist/{sidebar-CU17j7pR.cjs.map → sidebar-s8CA2I3B.cjs.map} +1 -1
  216. package/dist/{switch-B9LmV-PS.js → switch-CgOE6qbi.js} +2 -2
  217. package/dist/{switch-B9LmV-PS.js.map → switch-CgOE6qbi.js.map} +1 -1
  218. package/dist/{switch-bfoTi9s3.cjs → switch-qWUhH4Jx.cjs} +2 -2
  219. package/dist/{switch-bfoTi9s3.cjs.map → switch-qWUhH4Jx.cjs.map} +1 -1
  220. package/dist/table/index.cjs +1 -1
  221. package/dist/table/index.cjs.map +1 -1
  222. package/dist/table/index.d.cts +2 -2
  223. package/dist/table/index.d.ts +2 -2
  224. package/dist/table/index.js +1 -1
  225. package/dist/table/index.js.map +1 -1
  226. package/dist/{textarea-D6-c1GVU.cjs → textarea-DCzz0uEq.cjs} +1 -1
  227. package/dist/{textarea-D6-c1GVU.cjs.map → textarea-DCzz0uEq.cjs.map} +1 -1
  228. package/dist/{textarea-C20eiWs-.js → textarea-hhVaJpsh.js} +1 -1
  229. package/dist/{textarea-C20eiWs-.js.map → textarea-hhVaJpsh.js.map} +1 -1
  230. package/dist/title-CD5GinA7.js +2 -0
  231. package/dist/{title-CxIwADiB.js.map → title-CD5GinA7.js.map} +1 -1
  232. package/dist/{title-6Uosk2b4.cjs → title-DjjjRvCQ.cjs} +2 -2
  233. package/dist/{title-6Uosk2b4.cjs.map → title-DjjjRvCQ.cjs.map} +1 -1
  234. package/dist/{toggle-eio6M2Fc.cjs → toggle-62dJdAzP.cjs} +2 -2
  235. package/dist/{toggle-eio6M2Fc.cjs.map → toggle-62dJdAzP.cjs.map} +1 -1
  236. package/dist/{toggle-BNtw9z70.js → toggle-CRvl17br.js} +2 -2
  237. package/dist/{toggle-BNtw9z70.js.map → toggle-CRvl17br.js.map} +1 -1
  238. package/dist/{toggle-Xkrjwemb.d.ts → toggle-CXaM4Z5s.d.ts} +3 -3
  239. package/dist/{toggle-DvJddJPj.d.cts → toggle-CeboRSo7.d.cts} +3 -3
  240. package/dist/{tooltip-D3FsnWny.d.cts → tooltip-Ccg2G_fB.d.cts} +6 -6
  241. package/dist/{tooltip-Bt6pSZ4o.d.ts → tooltip-D0uAyaLw.d.ts} +6 -6
  242. package/dist/{tooltip-DkB0gnp9.js → tooltip-DYs9DCpH.js} +2 -2
  243. package/dist/{tooltip-DkB0gnp9.js.map → tooltip-DYs9DCpH.js.map} +1 -1
  244. package/dist/{tooltip-Ci6WUOcz.cjs → tooltip-DkJH6hxt.cjs} +2 -2
  245. package/dist/{tooltip-Ci6WUOcz.cjs.map → tooltip-DkJH6hxt.cjs.map} +1 -1
  246. package/dist/{types-CnMfjcgO.cjs → types-B-zo-oaH.cjs} +1 -1
  247. package/dist/{types-CnMfjcgO.cjs.map → types-B-zo-oaH.cjs.map} +1 -1
  248. package/dist/{types-BVNbk1ZN.js → types-juSjg5ED.js} +1 -1
  249. package/dist/{types-BVNbk1ZN.js.map → types-juSjg5ED.js.map} +1 -1
  250. package/dist/typography/paragraph.cjs +1 -1
  251. package/dist/typography/paragraph.d.cts +2 -2
  252. package/dist/typography/paragraph.d.ts +2 -2
  253. package/dist/typography/paragraph.js +1 -1
  254. package/dist/typography/title.cjs +1 -1
  255. package/dist/typography/title.d.cts +2 -2
  256. package/dist/typography/title.d.ts +2 -2
  257. package/dist/typography/title.js +1 -1
  258. package/dist/ui/alert-dialog.cjs +1 -1
  259. package/dist/ui/alert-dialog.d.cts +12 -12
  260. package/dist/ui/alert-dialog.d.ts +12 -12
  261. package/dist/ui/alert-dialog.js +1 -1
  262. package/dist/ui/alert.cjs +1 -1
  263. package/dist/ui/alert.d.cts +4 -4
  264. package/dist/ui/alert.d.ts +6 -6
  265. package/dist/ui/alert.js +1 -1
  266. package/dist/ui/aspect-ratio.cjs +1 -1
  267. package/dist/ui/aspect-ratio.d.cts +2 -2
  268. package/dist/ui/aspect-ratio.d.ts +2 -2
  269. package/dist/ui/aspect-ratio.js +1 -1
  270. package/dist/ui/avatar.cjs +1 -1
  271. package/dist/ui/avatar.d.cts +4 -4
  272. package/dist/ui/avatar.d.ts +4 -4
  273. package/dist/ui/avatar.js +1 -1
  274. package/dist/ui/badge.cjs +1 -1
  275. package/dist/ui/badge.d.cts +3 -3
  276. package/dist/ui/badge.d.ts +5 -5
  277. package/dist/ui/badge.js +1 -1
  278. package/dist/ui/breadcrumb.cjs +1 -1
  279. package/dist/ui/breadcrumb.d.cts +8 -8
  280. package/dist/ui/breadcrumb.d.ts +8 -8
  281. package/dist/ui/breadcrumb.js +1 -1
  282. package/dist/ui/button.cjs +1 -1
  283. package/dist/ui/button.d.cts +1 -1
  284. package/dist/ui/button.d.ts +1 -1
  285. package/dist/ui/button.js +1 -1
  286. package/dist/ui/buttons/add-new.cjs +1 -1
  287. package/dist/ui/buttons/add-new.js +1 -1
  288. package/dist/ui/buttons/edit.cjs +1 -1
  289. package/dist/ui/buttons/edit.cjs.map +1 -1
  290. package/dist/ui/buttons/edit.js +1 -1
  291. package/dist/ui/buttons/edit.js.map +1 -1
  292. package/dist/ui/buttons/refresh.cjs +1 -1
  293. package/dist/ui/buttons/refresh.js +1 -1
  294. package/dist/ui/buttons/trash.cjs +1 -1
  295. package/dist/ui/buttons/trash.cjs.map +1 -1
  296. package/dist/ui/buttons/trash.js +1 -1
  297. package/dist/ui/buttons/trash.js.map +1 -1
  298. package/dist/ui/buttons/upload-image.cjs +1 -1
  299. package/dist/ui/buttons/upload-image.js +1 -1
  300. package/dist/ui/calendar.cjs +1 -1
  301. package/dist/ui/calendar.d.cts +4 -4
  302. package/dist/ui/calendar.d.ts +4 -4
  303. package/dist/ui/calendar.js +1 -1
  304. package/dist/ui/card.cjs +1 -1
  305. package/dist/ui/card.d.cts +8 -8
  306. package/dist/ui/card.d.ts +8 -8
  307. package/dist/ui/card.js +1 -1
  308. package/dist/ui/carousel.cjs +1 -1
  309. package/dist/ui/carousel.d.cts +7 -7
  310. package/dist/ui/carousel.d.ts +7 -7
  311. package/dist/ui/carousel.js +1 -1
  312. package/dist/ui/collapsible.cjs +1 -1
  313. package/dist/ui/collapsible.d.cts +4 -4
  314. package/dist/ui/collapsible.d.ts +4 -4
  315. package/dist/ui/collapsible.js +1 -1
  316. package/dist/ui/command.cjs +1 -1
  317. package/dist/ui/command.d.cts +2 -2
  318. package/dist/ui/command.d.ts +2 -2
  319. package/dist/ui/command.js +1 -1
  320. package/dist/ui/context-menu.cjs +1 -1
  321. package/dist/ui/context-menu.d.cts +16 -16
  322. package/dist/ui/context-menu.d.ts +16 -16
  323. package/dist/ui/context-menu.js +1 -1
  324. package/dist/ui/dialog.cjs +1 -1
  325. package/dist/ui/dialog.d.cts +1 -1
  326. package/dist/ui/dialog.d.ts +1 -1
  327. package/dist/ui/dialog.js +1 -1
  328. package/dist/ui/dropdown-menu.cjs +1 -1
  329. package/dist/ui/dropdown-menu.d.cts +16 -16
  330. package/dist/ui/dropdown-menu.d.ts +16 -16
  331. package/dist/ui/dropdown-menu.js +1 -1
  332. package/dist/ui/file-uploader.cjs +2 -2
  333. package/dist/ui/file-uploader.d.cts +2 -2
  334. package/dist/ui/file-uploader.d.ts +2 -2
  335. package/dist/ui/file-uploader.js +2 -2
  336. package/dist/ui/form.cjs +1 -1
  337. package/dist/ui/form.d.cts +7 -7
  338. package/dist/ui/form.d.ts +7 -7
  339. package/dist/ui/form.js +1 -1
  340. package/dist/ui/hover-card.cjs +1 -1
  341. package/dist/ui/hover-card.d.cts +4 -4
  342. package/dist/ui/hover-card.d.ts +4 -4
  343. package/dist/ui/hover-card.js +1 -1
  344. package/dist/ui/input-otp.cjs +1 -1
  345. package/dist/ui/input-otp.d.cts +5 -5
  346. package/dist/ui/input-otp.d.ts +5 -5
  347. package/dist/ui/input-otp.js +1 -1
  348. package/dist/ui/input.cjs +1 -1
  349. package/dist/ui/input.d.cts +1 -1
  350. package/dist/ui/input.d.ts +1 -1
  351. package/dist/ui/input.js +1 -1
  352. package/dist/ui/inputs/search-input.cjs +1 -1
  353. package/dist/ui/inputs/search-input.d.cts +3 -3
  354. package/dist/ui/inputs/search-input.d.ts +3 -3
  355. package/dist/ui/inputs/search-input.js +1 -1
  356. package/dist/ui/label.cjs +1 -1
  357. package/dist/ui/label.d.cts +2 -2
  358. package/dist/ui/label.d.ts +2 -2
  359. package/dist/ui/label.js +1 -1
  360. package/dist/ui/menubar.cjs +1 -1
  361. package/dist/ui/menubar.d.cts +17 -17
  362. package/dist/ui/menubar.d.ts +17 -17
  363. package/dist/ui/menubar.js +1 -1
  364. package/dist/ui/multi-select.cjs +1 -1
  365. package/dist/ui/multi-select.d.cts +2 -2
  366. package/dist/ui/multi-select.d.ts +2 -2
  367. package/dist/ui/multi-select.js +1 -1
  368. package/dist/ui/navigation-menu.cjs +1 -1
  369. package/dist/ui/navigation-menu.d.cts +9 -9
  370. package/dist/ui/navigation-menu.d.ts +11 -11
  371. package/dist/ui/navigation-menu.js +1 -1
  372. package/dist/ui/pagination.cjs +1 -1
  373. package/dist/ui/pagination.d.cts +9 -9
  374. package/dist/ui/pagination.d.ts +9 -9
  375. package/dist/ui/pagination.js +1 -1
  376. package/dist/ui/popover.cjs +1 -1
  377. package/dist/ui/popover.d.cts +5 -5
  378. package/dist/ui/popover.d.ts +5 -5
  379. package/dist/ui/popover.js +1 -1
  380. package/dist/ui/progress.cjs +1 -1
  381. package/dist/ui/progress.d.cts +2 -2
  382. package/dist/ui/progress.d.ts +2 -2
  383. package/dist/ui/progress.js +1 -1
  384. package/dist/ui/radio-group.cjs +1 -1
  385. package/dist/ui/radio-group.d.cts +3 -3
  386. package/dist/ui/radio-group.d.ts +3 -3
  387. package/dist/ui/radio-group.js +1 -1
  388. package/dist/ui/resizable.cjs +1 -1
  389. package/dist/ui/resizable.d.cts +4 -4
  390. package/dist/ui/resizable.d.ts +4 -4
  391. package/dist/ui/resizable.js +1 -1
  392. package/dist/ui/scroll-area.cjs +1 -1
  393. package/dist/ui/scroll-area.d.ts +3 -3
  394. package/dist/ui/scroll-area.js +1 -1
  395. package/dist/ui/select.cjs +1 -1
  396. package/dist/ui/select.d.cts +11 -11
  397. package/dist/ui/select.d.ts +11 -11
  398. package/dist/ui/select.js +1 -1
  399. package/dist/ui/separator.cjs +1 -1
  400. package/dist/ui/separator.d.cts +1 -1
  401. package/dist/ui/separator.d.ts +1 -1
  402. package/dist/ui/separator.js +1 -1
  403. package/dist/ui/sheet.cjs +1 -1
  404. package/dist/ui/sheet.d.cts +9 -9
  405. package/dist/ui/sheet.d.ts +9 -9
  406. package/dist/ui/sheet.js +1 -1
  407. package/dist/ui/sidebar.cjs +1 -1
  408. package/dist/ui/sidebar.d.cts +28 -28
  409. package/dist/ui/sidebar.d.ts +28 -28
  410. package/dist/ui/sidebar.js +1 -1
  411. package/dist/ui/skeleton.d.cts +2 -2
  412. package/dist/ui/skeleton.d.ts +2 -2
  413. package/dist/ui/slider.cjs +1 -1
  414. package/dist/ui/slider.d.cts +2 -2
  415. package/dist/ui/slider.d.ts +2 -2
  416. package/dist/ui/slider.js +1 -1
  417. package/dist/ui/sonner.cjs +1 -1
  418. package/dist/ui/sonner.d.cts +2 -2
  419. package/dist/ui/sonner.d.ts +2 -2
  420. package/dist/ui/sonner.js +1 -1
  421. package/dist/ui/switch.cjs +1 -1
  422. package/dist/ui/switch.d.cts +2 -2
  423. package/dist/ui/switch.d.ts +2 -2
  424. package/dist/ui/switch.js +1 -1
  425. package/dist/ui/table.d.cts +9 -9
  426. package/dist/ui/table.d.ts +9 -9
  427. package/dist/ui/tabs.cjs +1 -1
  428. package/dist/ui/tabs.d.cts +5 -5
  429. package/dist/ui/tabs.d.ts +5 -5
  430. package/dist/ui/tabs.js +1 -1
  431. package/dist/ui/textarea.cjs +1 -1
  432. package/dist/ui/textarea.d.cts +2 -2
  433. package/dist/ui/textarea.d.ts +2 -2
  434. package/dist/ui/textarea.js +1 -1
  435. package/dist/ui/toggle-group.cjs +1 -1
  436. package/dist/ui/toggle-group.d.cts +4 -4
  437. package/dist/ui/toggle-group.d.ts +4 -4
  438. package/dist/ui/toggle-group.js +1 -1
  439. package/dist/ui/toggle.cjs +1 -1
  440. package/dist/ui/toggle.d.cts +1 -1
  441. package/dist/ui/toggle.d.ts +1 -1
  442. package/dist/ui/toggle.js +1 -1
  443. package/dist/ui/tooltip.cjs +1 -1
  444. package/dist/ui/tooltip.d.cts +1 -1
  445. package/dist/ui/tooltip.d.ts +1 -1
  446. package/dist/ui/tooltip.js +1 -1
  447. package/package.json +1 -1
  448. package/dist/add-new-B44gmXH4.js +0 -2
  449. package/dist/add-new-B44gmXH4.js.map +0 -1
  450. package/dist/add-new-D9PgI4z-.cjs +0 -2
  451. package/dist/add-new-D9PgI4z-.cjs.map +0 -1
  452. package/dist/button-Bvj7CJrA.js +0 -2
  453. package/dist/button-Bvj7CJrA.js.map +0 -1
  454. package/dist/button-CrbbsPfF.cjs +0 -2
  455. package/dist/button-CrbbsPfF.cjs.map +0 -1
  456. package/dist/dialog-DRy8_ncT.js +0 -2
  457. package/dist/error-dialog-CIjefl0s.cjs +0 -2
  458. package/dist/error-dialog-CNl7iWC2.js +0 -2
  459. package/dist/form-DZqGhxta.js +0 -2
  460. package/dist/form-wrapper-BBWW9lmj.cjs +0 -2
  461. package/dist/form-wrapper-BoiiM9r2.js +0 -2
  462. package/dist/paragraph-C0KfolV0.js +0 -2
  463. package/dist/paragraph-JXci2Ihg.cjs +0 -2
  464. package/dist/refresh-BeUSiOSY.js +0 -2
  465. package/dist/refresh-BeUSiOSY.js.map +0 -1
  466. package/dist/refresh-CqZky9T5.cjs +0 -2
  467. package/dist/refresh-CqZky9T5.cjs.map +0 -1
  468. package/dist/scroll-area-C0KQbcG0.js +0 -2
  469. package/dist/title-CxIwADiB.js +0 -2
@@ -1,2 +1,2 @@
1
- const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=require(`./button-CrbbsPfF.cjs`),r=require(`./input-Cv7gHIMB.cjs`),i=require(`./tooltip-Ci6WUOcz.cjs`),a=require(`./separator-Cigaqna1.cjs`),o=require(`./sheet-C1xD7y3c.cjs`),s=require(`./skeleton-C-9PuX3p.cjs`),c=require(`./use-mobile-DD7ESbjU.cjs`),l=e.__toESM(require(`react`)),u=e.__toESM(require(`react/jsx-runtime`)),d=e.__toESM(require(`lucide-react`)),f=e.__toESM(require(`radix-ui`)),p=e.__toESM(require(`class-variance-authority`)),m=`sidebar_state`,h=3600*24*7,g=`16rem`,_=`18rem`,v=`3rem`,y=`b`,b=l.default.createContext(null);function x(){let e=l.default.useContext(b);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function S({defaultOpen:e=!0,open:n,onOpenChange:r,className:a,style:o,children:s,...d}){let f=c.useIsMobile(),[p,m]=l.default.useState(!1),[h,g]=l.default.useState(e),_=n??h,v=l.default.useCallback(e=>{let t=typeof e==`function`?e(_):e;r?r(t):g(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[r,_]),y=l.default.useCallback(()=>f?m(e=>!e):v(e=>!e),[f,v,m]);l.default.useEffect(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let x=_?`expanded`:`collapsed`,S=l.default.useMemo(()=>({state:x,isMobile:f,toggleSidebar:y,open:_,setOpen:v,openMobile:p,setOpenMobile:m}),[x,_,v,f,p,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`,...o},className:t.cn(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,a),...d,children:s})})})}function C({side:e=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...s}){let{isMobile:c,state:l,openMobile:d,setOpenMobile:f}=x();return r===`none`?(0,u.jsx)(`aside`,{"data-slot":`sidebar`,className:t.cn(`bg-sidebar`,`text-sidebar-foreground`,`flex h-full w-(--sidebar-width) flex-col`,`border-r`,i),...s,children:a}):c?(0,u.jsx)(o.Sheet,{open:d,onOpenChange:f,...s,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:a})]})}):(0,u.jsxs)(`aside`,{className:`group peer text-sidebar-foreground bg-card hidden md:block`,"data-state":l,"data-collapsible":l===`collapsed`?r:``,"data-variant":n,"data-side":e,"data-slot":`sidebar`,children:[(0,u.jsx)(`div`,{"data-slot":`sidebar-gap`,className:t.cn(`relative`,`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-14 w-(--sidebar-width)`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`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:t.cn(`hidden md:flex`,`fixed inset-y-0 top-14 z-10`,`h-[calc(100svh-3.5rem)] w-(--sidebar-width)`,`border-r`,`transition-[left,right,width] duration-200 ease-linear`,e===`left`&&`left-0`,e===`left`&&`group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`,e===`right`&&`right-0`,e===`right`&&`group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...s,children:(0,u.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:t.cn(`flex size-full flex-col`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:shadow-sm`),children:a})})]})}function w({className:e,onClick:r,...i}){let{toggleSidebar:a}=x();return(0,u.jsxs)(n.Button,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:t.cn(`size-10 rounded-full`,e),onClick:e=>{r?.(e),a()},...i,children:[(0,u.jsx)(d.MenuIcon,{className:`!size-6`}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function T({className:e,...n}){let{toggleSidebar:r}=x();return(0,u.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:t.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`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:after:bg-sidebar-border`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...n})}function E({className:e,children:n,...r}){return(0,u.jsxs)(`main`,{"data-slot":`sidebar-inset`,className:t.cn(`w-full`,`relative`,`flex flex-1 flex-col`,e),...r,children:[(0,u.jsx)(`div`,{className:`h-14 w-full`}),(0,u.jsx)(`div`,{className:t.cn(`flex-1 inset-shadow-sm`),children:n})]})}function D({className:e,...n}){return(0,u.jsx)(r.Input,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:t.cn(`bg-background h-8 w-full shadow-none`,e),...n})}function O({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:t.cn(`flex flex-col gap-2 p-2`,e),...n})}function k({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:t.cn(`flex flex-col gap-2 p-2`,e),...n})}function A({className:e,...n}){return(0,u.jsx)(a.Separator,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:t.cn(`bg-sidebar-border mx-2 w-auto`,e),...n})}function j({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:t.cn(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...n})}function M({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:t.cn(`relative flex w-full min-w-0 flex-col p-2`,e),...n})}function N({className:e,asChild:n=!1,...r}){let i=n?f.Slot.Slot:`div`;return(0,u.jsx)(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:t.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),...r})}function P({className:e,asChild:n=!1,...r}){let i=n?f.Slot.Slot:`button`;return(0,u.jsx)(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:t.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`,`focus-visible:ring-2`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...r})}function F({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:t.cn(`w-full text-sm`,e),...n})}function I({className:e,...n}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:t.cn(`flex w-full min-w-0 flex-col gap-1`,e),...n})}function L({className:e,...n}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:t.cn(`group/menu-item relative`,e),...n})}const R=(0,p.cva)([`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-accent-foreground`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`],{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function z({asChild:e=!1,isActive:n=!1,variant:r=`default`,size:a=`default`,tooltip:o,className:s,...c}){let l=e?f.Slot.Slot:`button`,{isMobile:d,state:p}=x(),m=(0,u.jsx)(l,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":a,"data-active":n,className:t.cn(R({variant:r,size:a}),s),...c});return o?(typeof o==`string`&&(o={children:o}),(0,u.jsxs)(i.Tooltip,{children:[(0,u.jsx)(i.TooltipTrigger,{asChild:!0,children:m}),(0,u.jsx)(i.TooltipContent,{side:`right`,align:`center`,hidden:p!==`collapsed`||d,...o})]})):m}function B({className:e,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?f.Slot.Slot:`button`;return(0,u.jsx)(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:t.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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,e),...i})}function V({className:e,...n}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:t.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),...n})}function H({className:e,showIcon:n=!1,...r}){let i=l.default.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,u.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:t.cn(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[n&&(0,u.jsx)(s.Skeleton,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,u.jsx)(s.Skeleton,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function U({className:e,...n}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:t.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),...n})}function W({className:e,...n}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:t.cn(`group/menu-sub-item relative`,e),...n})}function G({asChild:e=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=e?f.Slot.Slot:`a`;return(0,u.jsx)(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:t.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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,i),...a})}Object.defineProperty(exports,`Sidebar`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`SidebarContent`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`SidebarFooter`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`SidebarGroup`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`SidebarGroupAction`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`SidebarGroupContent`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`SidebarGroupLabel`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`SidebarHeader`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`SidebarInput`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`SidebarInset`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`SidebarMenu`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`SidebarMenuAction`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`SidebarMenuBadge`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`SidebarMenuButton`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`SidebarMenuItem`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`SidebarMenuSkeleton`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`SidebarMenuSub`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`SidebarMenuSubButton`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`SidebarMenuSubItem`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`SidebarProvider`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`SidebarRail`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`SidebarSeparator`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`SidebarTrigger`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`useSidebar`,{enumerable:!0,get:function(){return x}});
2
- //# sourceMappingURL=sidebar-B5wjGpGo.cjs.map
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=require(`./button-Bux-wVsx.cjs`),r=require(`./input-DahIflvq.cjs`),i=require(`./tooltip-DkJH6hxt.cjs`),a=require(`./separator-BT-ElB51.cjs`),o=require(`./sheet-DDzZ8aNz.cjs`),s=require(`./skeleton-C-9PuX3p.cjs`),c=require(`./use-mobile-DD7ESbjU.cjs`),l=e.__toESM(require(`react`)),u=e.__toESM(require(`lucide-react`)),d=e.__toESM(require(`radix-ui`)),f=e.__toESM(require(`class-variance-authority`)),p=e.__toESM(require(`react/jsx-runtime`)),m=`sidebar_state`,h=3600*24*7,g=`16rem`,_=`18rem`,v=`3rem`,y=`b`,b=l.default.createContext(null);function x(){let e=l.default.useContext(b);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function S({defaultOpen:e=!0,open:n,onOpenChange:r,className:a,style:o,children:s,...u}){let d=c.useIsMobile(),[f,m]=l.default.useState(!1),[h,g]=l.default.useState(e),_=n??h,v=l.default.useCallback(e=>{let t=typeof e==`function`?e(_):e;r?r(t):g(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[r,_]),y=l.default.useCallback(()=>d?m(e=>!e):v(e=>!e),[d,v,m]);l.default.useEffect(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let x=_?`expanded`:`collapsed`,S=l.default.useMemo(()=>({state:x,isMobile:d,toggleSidebar:y,open:_,setOpen:v,openMobile:f,setOpenMobile:m}),[x,_,v,d,f,m,y]);return(0,p.jsx)(b.Provider,{value:S,children:(0,p.jsx)(i.TooltipProvider,{delayDuration:0,children:(0,p.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:t.cn(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,a),...u,children:s})})})}function C({side:e=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...s}){let{isMobile:c,state:l,openMobile:u,setOpenMobile:d}=x();return r===`none`?(0,p.jsx)(`aside`,{"data-slot":`sidebar`,className:t.cn(`bg-sidebar`,`text-sidebar-foreground`,`flex h-full w-(--sidebar-width) flex-col`,`border-r`,i),...s,children:a}):c?(0,p.jsx)(o.Sheet,{open:u,onOpenChange:d,...s,children:(0,p.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,p.jsxs)(o.SheetHeader,{className:`sr-only`,children:[(0,p.jsx)(o.SheetTitle,{children:`Sidebar`}),(0,p.jsx)(o.SheetDescription,{children:`Displays the mobile sidebar.`})]}),(0,p.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:a})]})}):(0,p.jsxs)(`aside`,{className:`group peer text-sidebar-foreground bg-card hidden md:block`,"data-state":l,"data-collapsible":l===`collapsed`?r:``,"data-variant":n,"data-side":e,"data-slot":`sidebar`,children:[(0,p.jsx)(`div`,{"data-slot":`sidebar-gap`,className:t.cn(`relative`,`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-14 w-(--sidebar-width)`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,p.jsx)(`div`,{"data-slot":`sidebar-container`,className:t.cn(`hidden md:flex`,`fixed inset-y-0 top-14 z-10`,`h-[calc(100svh-3.5rem)] w-(--sidebar-width)`,`border-r`,`transition-[left,right,width] duration-200 ease-linear`,e===`left`&&`left-0`,e===`left`&&`group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`,e===`right`&&`right-0`,e===`right`&&`group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...s,children:(0,p.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:t.cn(`flex size-full flex-col`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:shadow-sm`),children:a})})]})}function w({className:e,onClick:r,...i}){let{toggleSidebar:a}=x();return(0,p.jsxs)(n.Button,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:t.cn(`size-10 rounded-full`,e),onClick:e=>{r?.(e),a()},...i,children:[(0,p.jsx)(u.MenuIcon,{className:`!size-6`}),(0,p.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function T({className:e,...n}){let{toggleSidebar:r}=x();return(0,p.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:t.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`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:after:bg-sidebar-border`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...n})}function E({className:e,children:n,...r}){return(0,p.jsxs)(`main`,{"data-slot":`sidebar-inset`,className:t.cn(`w-full`,`relative`,`flex flex-1 flex-col`,e),...r,children:[(0,p.jsx)(`div`,{className:`h-14 w-full`}),(0,p.jsx)(`div`,{className:t.cn(`flex-1 inset-shadow-sm`),children:n})]})}function D({className:e,...n}){return(0,p.jsx)(r.Input,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:t.cn(`bg-background h-8 w-full shadow-none`,e),...n})}function O({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:t.cn(`flex flex-col gap-2 p-2`,e),...n})}function k({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:t.cn(`flex flex-col gap-2 p-2`,e),...n})}function A({className:e,...n}){return(0,p.jsx)(a.Separator,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:t.cn(`bg-sidebar-border mx-2 w-auto`,e),...n})}function j({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:t.cn(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...n})}function M({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:t.cn(`relative flex w-full min-w-0 flex-col p-2`,e),...n})}function N({className:e,asChild:n=!1,...r}){let i=n?d.Slot.Slot:`div`;return(0,p.jsx)(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:t.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),...r})}function P({className:e,asChild:n=!1,...r}){let i=n?d.Slot.Slot:`button`;return(0,p.jsx)(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:t.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`,`focus-visible:ring-2`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...r})}function F({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:t.cn(`w-full text-sm`,e),...n})}function I({className:e,...n}){return(0,p.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:t.cn(`flex w-full min-w-0 flex-col gap-1`,e),...n})}function L({className:e,...n}){return(0,p.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:t.cn(`group/menu-item relative`,e),...n})}const R=(0,f.cva)([`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-accent-foreground`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`],{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function z({asChild:e=!1,isActive:n=!1,variant:r=`default`,size:a=`default`,tooltip:o,className:s,...c}){let l=e?d.Slot.Slot:`button`,{isMobile:u,state:f}=x(),m=(0,p.jsx)(l,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":a,"data-active":n,className:t.cn(R({variant:r,size:a}),s),...c});return o?(typeof o==`string`&&(o={children:o}),(0,p.jsxs)(i.Tooltip,{children:[(0,p.jsx)(i.TooltipTrigger,{asChild:!0,children:m}),(0,p.jsx)(i.TooltipContent,{side:`right`,align:`center`,hidden:f!==`collapsed`||u,...o})]})):m}function B({className:e,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?d.Slot.Slot:`button`;return(0,p.jsx)(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:t.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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,e),...i})}function V({className:e,...n}){return(0,p.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:t.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),...n})}function H({className:e,showIcon:n=!1,...r}){let i=l.default.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,p.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:t.cn(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[n&&(0,p.jsx)(s.Skeleton,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,p.jsx)(s.Skeleton,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function U({className:e,...n}){return(0,p.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:t.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),...n})}function W({className:e,...n}){return(0,p.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:t.cn(`group/menu-sub-item relative`,e),...n})}function G({asChild:e=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=e?d.Slot.Slot:`a`;return(0,p.jsx)(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:t.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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,i),...a})}Object.defineProperty(exports,`Sidebar`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`SidebarContent`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`SidebarFooter`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`SidebarGroup`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`SidebarGroupAction`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`SidebarGroupContent`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`SidebarGroupLabel`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`SidebarHeader`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`SidebarInput`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`SidebarInset`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`SidebarMenu`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`SidebarMenuAction`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`SidebarMenuBadge`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`SidebarMenuButton`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`SidebarMenuItem`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`SidebarMenuSkeleton`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`SidebarMenuSub`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`SidebarMenuSubButton`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`SidebarMenuSubItem`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`SidebarProvider`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`SidebarRail`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`SidebarSeparator`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`SidebarTrigger`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`useSidebar`,{enumerable:!0,get:function(){return x}});
2
+ //# sourceMappingURL=sidebar-Cwy_Lyyv.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-B5wjGpGo.cjs","names":["React","useIsMobile","open","TooltipProvider","cn","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../packages/components/ui/sidebar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Slot as SlotPrimitive } from 'radix-ui'\nimport { cva, type VariantProps } from 'class-variance-authority'\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'\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { cn } from '@/lib/utils'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.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] = React.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] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.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 = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n isMobile,\n\n toggleSidebar,\n\n open,\n setOpen,\n\n openMobile,\n setOpenMobile,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn('group/sidebar-wrapper', 'has-data-[variant=inset]:bg-sidebar', 'flex min-h-svh 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 { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <aside\n data-slot=\"sidebar\"\n className={cn('bg-sidebar', 'text-sidebar-foreground', 'flex h-full w-(--sidebar-width) flex-col', 'border-r', className)}\n {...props}\n >\n {children}\n </aside>\n )\n }\n\n if (isMobile) {\n return (\n <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 <aside\n className=\"group peer text-sidebar-foreground bg-card hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative',\n 'bg-transparent',\n 'transition-[width] duration-200 ease-linear',\n 'h-14 w-(--sidebar-width)',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'hidden md:flex',\n 'fixed inset-y-0 top-14 z-10',\n 'h-[calc(100svh-3.5rem)] w-(--sidebar-width)',\n 'border-r',\n 'transition-[left,right,width] duration-200 ease-linear',\n side === 'left' && 'left-0',\n side === 'left' && 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]',\n side === 'right' && 'right-0',\n side === 'right' && 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'flex size-full flex-col',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </aside>\n )\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-10 rounded-full', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon className=\"!size-6\" />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2',\n 'after:w-0.5',\n 'group-data-[side=left]:-right-4',\n 'group-data-[side=right]:left-0',\n 'in-data-[side=left]:cursor-w-resize',\n 'in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize',\n '[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:after:bg-sidebar-border',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n 'group-data-[collapsible=offcanvas]:translate-x-0',\n 'group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, children, ...props }: React.ComponentProps<'main'>) {\n return (\n <main data-slot=\"sidebar-inset\" className={cn('w-full', 'relative', 'flex flex-1 flex-col', className)} {...props}>\n <div className=\"h-14 w-full\" />\n <div className={cn('flex-1 inset-shadow-sm')}>{children}</div>\n </main>\n )\n}\n\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 SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />\n}\n\nfunction SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70',\n 'ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8',\n 'group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-accent-foreground',\n 'data-[state=open]:hover:bg-sidebar-accent',\n 'data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8!',\n 'group-data-[collapsible=icon]:p-2!',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n showOnHover && 'group-focus-within/menu-item:opacity-100',\n showOnHover && 'group-hover/menu-item:opacity-100',\n showOnHover && 'data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.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 SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"sgBAeM,EAAsB,gBACtB,EAAyB,KAAU,GAAK,EACxC,EAAgB,QAChB,EAAuB,QACvB,EAAqB,OACrB,EAA4B,IAY5B,EAAiBA,EAAAA,QAAM,cAA0C,MAEvE,SAAS,GAAa,CACpB,IAAM,EAAUA,EAAAA,QAAM,WAAW,GACjC,GAAI,CAAC,EACH,MAAU,MAAM,qDAGlB,OAAO,EAGT,SAAS,EAAgB,CACvB,cAAc,GACd,KAAM,EACN,aAAc,EACd,YACA,QACA,WACA,GAAG,GAKF,CACD,IAAM,EAAWC,EAAAA,cACX,CAAC,EAAY,GAAiBD,EAAAA,QAAM,SAAS,IAI7C,CAAC,EAAO,GAAYA,EAAAA,QAAM,SAAS,GACnC,EAAO,GAAY,EACnB,EAAUA,EAAAA,QAAM,YACnB,GAAmD,CAClD,IAAM,EAAY,OAAO,GAAU,WAAa,EAAM,GAAQ,EAC1D,EACF,EAAY,GAEZ,EAAS,GAIX,SAAS,OAAS,iBAA0B,EAAU,2BAExD,CAAC,EAAa,IAIV,EAAgBA,EAAAA,QAAM,gBACnB,EAAW,EAAe,GAAS,CAACE,GAAQ,EAAS,GAAS,CAACA,GACrE,CAAC,EAAU,EAAS,IAGvB,EAAA,QAAM,cAAgB,CACpB,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,EAAeF,EAAAA,QAAM,aAClB,CACL,QACA,WAEA,gBAEA,OACA,UAEA,aACA,kBAEF,CAAC,EAAO,EAAM,EAAS,EAAU,EAAY,EAAe,IAG9D,OACE,EAAA,EAAA,KAAC,EAAe,SAAA,CAAS,MAAO,YAC9B,EAAA,EAAA,KAACG,EAAAA,gBAAAA,CAAgB,cAAe,YAC9B,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,kBACV,MACE,CACE,kBAAmB,QACnB,uBAAwB,OACxB,GAAG,GAGP,UAAWC,EAAAA,GAAG,wBAAyB,sCAAuC,wBAAyB,GACvG,GAAI,EAEH,iBAOX,SAAS,EAAQ,CACf,OAAO,OACP,UAAU,UACV,cAAc,YACd,YACA,WACA,GAAG,GAKF,CACD,GAAM,CAAE,WAAU,QAAO,aAAY,iBAAkB,IAuCvD,OArCI,IAAgB,QAEhB,EAAA,EAAA,KAAC,QAAA,CACC,YAAU,UACV,UAAWA,EAAAA,GAAG,aAAc,0BAA2B,2CAA4C,WAAY,GAC/G,GAAI,EAEH,aAKH,GAEA,EAAA,EAAA,KAACC,EAAAA,MAAAA,CAAM,KAAM,EAAY,aAAc,EAAe,GAAI,YACxD,EAAA,EAAA,MAACC,EAAAA,aAAAA,CACC,eAAa,UACb,YAAU,UACV,cAAY,OACZ,UAAU,+EACV,MACE,CACE,kBAAmB,SAGjB,kBAEN,EAAA,EAAA,MAACC,EAAAA,YAAAA,CAAY,UAAU,qBACrB,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAAA,SAAW,aACZ,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CAAAA,SAAiB,qCAEpB,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,8BAA+B,mBAOpD,EAAA,EAAA,MAAC,QAAA,CACC,UAAU,6DACV,aAAY,EACZ,mBAAkB,IAAU,YAAc,EAAc,GACxD,eAAc,EACd,YAAW,EACX,YAAU,qBAGV,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,cACV,UAAWL,EAAAA,GACT,WACA,iBACA,8CACA,2BACA,yCACA,qCACA,IAAY,YAAc,IAAY,QAClC,mFACA,6DAGR,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,oBACV,UAAWA,EAAAA,GACT,iBACA,8BACA,8CACA,WACA,yDACA,IAAS,QAAU,SACnB,IAAS,QAAU,0EACnB,IAAS,SAAW,UACpB,IAAS,SAAW,2EAEpB,IAAY,YAAc,IAAY,QAClC,2FACA,0HACJ,GAEF,GAAI,YAEJ,EAAA,EAAA,KAAC,MAAA,CACC,eAAa,UACb,YAAU,gBACV,UAAWA,EAAAA,GACT,0BACA,2CACA,uCACA,sDACA,2CAGD,kBAOX,SAAS,EAAe,CAAE,YAAW,UAAS,GAAG,GAA8C,CAC7F,GAAM,CAAE,iBAAkB,IAE1B,OACE,EAAA,EAAA,MAACM,EAAAA,OAAAA,CACC,eAAa,UACb,YAAU,kBACV,QAAQ,QACR,KAAK,OACL,UAAWN,EAAAA,GAAG,uBAAwB,GACtC,QAAU,GAAU,CAClB,IAAU,GACV,KAEF,GAAI,aAEJ,EAAA,EAAA,KAACO,EAAAA,SAAAA,CAAS,UAAU,aACpB,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,sBAKhC,SAAS,EAAY,CAAE,YAAW,GAAG,GAAyC,CAC5E,GAAM,CAAE,iBAAkB,IAE1B,OACE,EAAA,EAAA,KAAC,SAAA,CACC,eAAa,OACb,YAAU,eACV,aAAW,iBACX,SAAU,GACV,QAAS,EACT,MAAM,iBACN,UAAWP,EAAAA,GACT,yFACA,iBACA,kBACA,iBACA,cACA,kCACA,iCACA,sCACA,uCACA,6DACA,8DACA,gCACA,sDACA,mDACA,qDACA,4DACA,4DACA,GAEF,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,WAAU,GAAG,GAAuC,CACrF,OACE,EAAA,EAAA,MAAC,OAAA,CAAK,YAAU,gBAAgB,UAAWA,EAAAA,GAAG,SAAU,WAAY,uBAAwB,GAAY,GAAI,aAC1G,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,iBACf,EAAA,EAAA,KAAC,MAAA,CAAI,UAAWA,EAAAA,GAAG,0BAA4B,gBAKrD,SAAS,EAAa,CAAE,YAAW,GAAG,GAA6C,CACjF,OAAO,EAAA,EAAA,KAACQ,EAAAA,MAAAA,CAAM,YAAU,gBAAgB,eAAa,QAAQ,UAAWR,EAAAA,GAAG,uCAAwC,GAAY,GAAI,IAGrI,SAAS,EAAc,CAAE,YAAW,GAAG,GAAsC,CAC3E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAWA,EAAAA,GAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAAc,CAAE,YAAW,GAAG,GAAsC,CAC3E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAWA,EAAAA,GAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAiD,CACzF,OAAO,EAAA,EAAA,KAACS,EAAAA,UAAAA,CAAU,YAAU,oBAAoB,eAAa,YAAY,UAAWT,EAAAA,GAAG,gCAAiC,GAAY,GAAI,IAG1I,SAAS,EAAe,CAAE,YAAW,GAAG,GAAsC,CAC5E,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,kBACV,eAAa,UACb,UAAWA,EAAAA,GAAG,iGAAkG,GAChH,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,eAAa,QAAQ,UAAWA,EAAAA,GAAG,4CAA6C,GAAY,GAAI,IAGxI,SAAS,EAAkB,CAAE,YAAW,UAAU,GAAO,GAAG,GAA8D,CACxH,IAAM,EAAO,EAAUU,EAAAA,KAAc,KAAO,MAE5C,OACE,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAWV,EAAAA,GACT,6BACA,2JACA,uBACA,iBACA,mBACA,sCACA,0CACA,GAEF,GAAI,IAKV,SAAS,EAAmB,CAAE,YAAW,UAAU,GAAO,GAAG,GAAiE,CAC5H,IAAM,EAAO,EAAUU,EAAAA,KAAc,KAAO,SAE5C,OACE,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,uBACV,eAAa,eACb,UAAWV,EAAAA,GACT,4CACA,iIACA,uBACA,0BACA,uCACA,iBACA,mBAEA,gDACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAoB,CAAE,YAAW,GAAG,GAAsC,CACjF,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,wBAAwB,eAAa,gBAAgB,UAAWA,EAAAA,GAAG,iBAAkB,GAAY,GAAI,IAG7H,SAAS,EAAY,CAAE,YAAW,GAAG,GAAqC,CACxE,OAAO,EAAA,EAAA,KAAC,KAAA,CAAG,YAAU,eAAe,eAAa,OAAO,UAAWA,EAAAA,GAAG,qCAAsC,GAAY,GAAI,IAG9H,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAqC,CAC5E,OAAO,EAAA,EAAA,KAAC,KAAA,CAAG,YAAU,oBAAoB,eAAa,YAAY,UAAWA,EAAAA,GAAG,2BAA4B,GAAY,GAAI,IAG9H,MAAM,GAAA,EAAA,EAAA,KACJ,CACE,qLACA,0BACA,uCACA,uBACA,2BACA,wCACA,+BACA,sBACA,sDACA,oCACA,2BACA,uCACA,iCACA,oDACA,4CACA,yDACA,wCACA,qCACA,+BACA,iBACA,oBAEF,CACE,SAAU,CACR,QAAS,CACP,QAAS,+DACT,QACE,gLAEJ,KAAM,CACJ,QAAS,cACT,GAAI,cACJ,GAAI,oDAGR,gBAAiB,CACf,QAAS,UACT,KAAM,aAKZ,SAAS,EAAkB,CACzB,UAAU,GACV,WAAW,GACX,UAAU,UACV,OAAO,UACP,UACA,YACA,GAAG,GAK+C,CAClD,IAAM,EAAO,EAAUU,EAAAA,KAAc,KAAO,SACtC,CAAE,WAAU,SAAU,IAEtB,GACJ,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,YAAW,EACX,cAAa,EACb,UAAWV,EAAAA,GAAG,EAA0B,CAAE,UAAS,SAAS,GAC5D,GAAI,IAcR,OAVK,GAID,OAAO,GAAY,WACrB,EAAU,CACR,SAAU,KAKZ,EAAA,EAAA,MAACW,EAAAA,QAAAA,CAAAA,SAAAA,EACC,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,QAAA,YAAS,KACzB,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,KAAK,QAAQ,MAAM,SAAS,OAAQ,IAAU,aAAe,EAAU,GAAI,QAZtF,EAiBX,SAAS,EAAkB,CACzB,YACA,UAAU,GACV,cAAc,GACd,GAAG,GAIF,CACD,IAAM,EAAO,EAAUH,EAAAA,KAAc,KAAO,SAE5C,OACE,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAWV,EAAAA,GACT,8RACA,uBACA,iBACA,mBAEA,gDACA,wCACA,+CACA,0CACA,uCACA,GAAe,qEACf,GAAe,2CACf,GAAe,oCACf,GAAe,6CACf,GAEF,GAAI,IAKV,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAsC,CAC9E,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,qBACV,eAAa,aACb,UAAWA,EAAAA,GACT,yKACA,wDACA,qEACA,wCACA,+CACA,0CACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAoB,CAC3B,YACA,WAAW,GACX,GAAG,GAGF,CAED,IAAM,EAAQJ,EAAAA,QAAM,YACX,GAAG,KAAK,MAAM,KAAK,SAAW,IAAM,GAAG,GAC7C,IAEH,OACE,EAAA,EAAA,MAAC,MAAA,CAAI,YAAU,wBAAwB,eAAa,gBAAgB,UAAWI,EAAAA,GAAG,8CAA+C,GAAY,GAAI,YAC9I,IAAY,EAAA,EAAA,KAACc,EAAAA,SAAAA,CAAS,UAAU,oBAAoB,eAAa,wBAClE,EAAA,EAAA,KAACA,EAAAA,SAAAA,CACC,UAAU,sCACV,eAAa,qBACb,MACE,CACE,mBAAoB,QAQhC,SAAS,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAA,EAAA,KAAC,KAAA,CACC,YAAU,mBACV,eAAa,WACb,UAAWd,EAAAA,GACT,iGACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAqC,CAC/E,OAAO,EAAA,EAAA,KAAC,KAAA,CAAG,YAAU,wBAAwB,eAAa,gBAAgB,UAAWA,EAAAA,GAAG,+BAAgC,GAAY,GAAI,IAG1I,SAAS,EAAqB,CAC5B,UAAU,GACV,OAAO,KACP,WAAW,GACX,YACA,GAAG,GAKF,CACD,IAAM,EAAO,EAAUU,EAAAA,KAAc,KAAO,IAE5C,OACE,EAAA,EAAA,KAAC,EAAA,CACC,YAAU,0BACV,eAAa,kBACb,YAAW,EACX,cAAa,EACb,UAAWV,EAAAA,GACT,4CACA,qGACA,0BACA,uCACA,2BACA,wCACA,uBACA,+BACA,sBACA,oCACA,2BACA,+BACA,iBACA,mBACA,yCACA,uCACA,oDACA,IAAS,MAAQ,UACjB,IAAS,MAAQ,UACjB,uCACA,GAEF,GAAI"}
1
+ {"version":3,"file":"sidebar-Cwy_Lyyv.cjs","names":["React","useIsMobile","open","TooltipProvider","cn","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../packages/components/ui/sidebar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Slot as SlotPrimitive } from 'radix-ui'\nimport { cva, type VariantProps } from 'class-variance-authority'\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'\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { cn } from '@/lib/utils'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.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] = React.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] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.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 = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n isMobile,\n\n toggleSidebar,\n\n open,\n setOpen,\n\n openMobile,\n setOpenMobile,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn('group/sidebar-wrapper', 'has-data-[variant=inset]:bg-sidebar', 'flex min-h-svh 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 { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <aside\n data-slot=\"sidebar\"\n className={cn('bg-sidebar', 'text-sidebar-foreground', 'flex h-full w-(--sidebar-width) flex-col', 'border-r', className)}\n {...props}\n >\n {children}\n </aside>\n )\n }\n\n if (isMobile) {\n return (\n <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 <aside\n className=\"group peer text-sidebar-foreground bg-card hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative',\n 'bg-transparent',\n 'transition-[width] duration-200 ease-linear',\n 'h-14 w-(--sidebar-width)',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'hidden md:flex',\n 'fixed inset-y-0 top-14 z-10',\n 'h-[calc(100svh-3.5rem)] w-(--sidebar-width)',\n 'border-r',\n 'transition-[left,right,width] duration-200 ease-linear',\n side === 'left' && 'left-0',\n side === 'left' && 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]',\n side === 'right' && 'right-0',\n side === 'right' && 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'flex size-full flex-col',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:shadow-sm',\n )}\n >\n {children}\n </div>\n </div>\n </aside>\n )\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-10 rounded-full', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <MenuIcon className=\"!size-6\" />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2',\n 'after:w-0.5',\n 'group-data-[side=left]:-right-4',\n 'group-data-[side=right]:left-0',\n 'in-data-[side=left]:cursor-w-resize',\n 'in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize',\n '[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:after:bg-sidebar-border',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n 'group-data-[collapsible=offcanvas]:translate-x-0',\n 'group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, children, ...props }: React.ComponentProps<'main'>) {\n return (\n <main data-slot=\"sidebar-inset\" className={cn('w-full', 'relative', 'flex flex-1 flex-col', className)} {...props}>\n <div className=\"h-14 w-full\" />\n <div className={cn('flex-1 inset-shadow-sm')}>{children}</div>\n </main>\n )\n}\n\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 SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />\n}\n\nfunction SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70',\n 'ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8',\n 'group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-accent-foreground',\n 'data-[state=open]:hover:bg-sidebar-accent',\n 'data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8!',\n 'group-data-[collapsible=icon]:p-2!',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n showOnHover && 'group-focus-within/menu-item:opacity-100',\n showOnHover && 'group-hover/menu-item:opacity-100',\n showOnHover && 'data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.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 SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{cn as e}from"./utils-D9AH0PUV.js";import{Button as t}from"./button-Bvj7CJrA.js";import{Input as n}from"./input-BJeCqZVs.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"./tooltip-DkB0gnp9.js";import{Separator as s}from"./separator-aLdI4FQe.js";import{Skeleton as c}from"./skeleton-sZeupFu_.js";import l from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{MenuIcon as f}from"lucide-react";import{Slot as p}from"radix-ui";import{cva as m}from"class-variance-authority";const h=l.createContext(null);function g(){let e=l.useContext(h);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function _({defaultOpen:t=!0,open:n,onOpenChange:r,className:i,style:o,children:s,...c}){let[d,f]=l.useState(!1),[p,m]=l.useState(t),g=n??p,_=l.useCallback(e=>{let t=typeof e==`function`?e(g):e;r?r(t):m(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[r,g]),v=l.useCallback(()=>_(e=>!e),[_]);l.useEffect(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let y=g?`expanded`:`collapsed`,b=l.useMemo(()=>({state:y,open:g,setOpen:_,openMobile:d,setOpenMobile:f,toggleSidebar:v}),[y,g,_,d,f,v]);return u(h.Provider,{value:b,children:u(a,{delayDuration:0,children:u(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:e(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,i),...c,children:s})})})}function v({side:t=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o}){let{state:s}=g();return r===`none`?u(`div`,{"data-slot":`sidebar`,className:e(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,i),...o,children:a}):d(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?r:``,"data-variant":n,"data-side":t,"data-slot":`sidebar`,children:[u(`div`,{"data-slot":`sidebar-gap`,className:e(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),u(`div`,{"data-slot":`sidebar-container`,className:e(`absolute inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,t===`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)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...o,children:u(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:e(`flex h-full w-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:a})})]})}function y({className:n,onClick:r,...i}){let{toggleSidebar:a}=g();return d(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:e(`size-10 rounded-full [&_svg]:!size-6`,n),onClick:e=>{r?.(e),a()},...i,children:[u(f,{}),u(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function b({className:t,...n}){let{toggleSidebar:r}=g();return u(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:e(`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`,t),...n})}function x({className:t,...n}){return u(`main`,{"data-slot":`sidebar-inset`,className:e(`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`,t),...n})}function S({className:t,...r}){return u(n,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:e(`bg-background h-8 w-full shadow-none`,t),...r})}function C({className:t,...n}){return u(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function w({className:t,...n}){return u(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function T({className:t,...n}){return u(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:e(`bg-sidebar-border mx-2 w-auto`,t),...n})}function E({className:t,...n}){return u(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:e(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,t),...n})}function D({className:t,...n}){return u(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:e(`relative flex w-full min-w-0 flex-col p-2`,t),...n})}function O({className:t,asChild:n=!1,...r}){let i=n?p.Slot:`div`;return u(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:e(`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`,t),...r})}function k({className:t,asChild:n=!1,...r}){let i=n?p.Slot:`button`;return u(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:e(`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`,t),...r})}function A({className:t,...n}){return u(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:e(`w-full text-sm`,t),...n})}function j({className:t,...n}){return u(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:e(`flex w-full min-w-0 flex-col gap-1`,t),...n})}function M({className:t,...n}){return u(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:e(`group/menu-item relative`,t),...n})}const N=m(`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background border 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 P({asChild:t=!1,isActive:n=!1,variant:a=`default`,size:s=`default`,tooltip:c,className:l,...f}){let m=t?p.Slot:`button`,{state:h}=g(),_=u(m,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":n,className:e(N({variant:a,size:s}),l),...f});return c?(typeof c==`string`&&(c={children:c}),d(r,{children:[u(o,{asChild:!0,children:_}),u(i,{side:`right`,align:`center`,hidden:h!==`collapsed`,...c})]})):_}function F({className:t,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?p.Slot:`button`;return u(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:e(`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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`$group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,t),...i})}function I({className:t,...n}){return u(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:e(`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`,t),...n})}function L({className:t,showIcon:n=!1,...r}){let i=l.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return d(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:e(`flex h-8 items-center gap-2 rounded-md px-2`,t),...r,children:[n&&u(c,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),u(c,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function R({className:t,...n}){return u(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:e(`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`,t),...n})}function z({className:t,...n}){return u(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:e(`group/menu-sub-item relative`,t),...n})}function B({asChild:t=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=t?p.Slot:`a`;return u(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:e(`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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,i),...a})}export{v as Sidebar,E as SidebarContent,w as SidebarFooter,D as SidebarGroup,k as SidebarGroupAction,A as SidebarGroupContent,O as SidebarGroupLabel,C as SidebarHeader,S as SidebarInput,x as SidebarInset,j as SidebarMenu,F as SidebarMenuAction,I as SidebarMenuBadge,P as SidebarMenuButton,M as SidebarMenuItem,L as SidebarMenuSkeleton,R as SidebarMenuSub,B as SidebarMenuSubButton,z as SidebarMenuSubItem,_ as SidebarProvider,b as SidebarRail,T as SidebarSeparator,y as SidebarTrigger,g as useSidebar};
2
- //# sourceMappingURL=sidebar-jBc9MX3P.js.map
1
+ import{cn as e}from"./utils-D9AH0PUV.js";import{Button as t}from"./button-k365f5HA.js";import{Input as n}from"./input-YG15tKEM.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"./tooltip-DYs9DCpH.js";import{Separator as s}from"./separator-CMpvCcC2.js";import{Skeleton as c}from"./skeleton-sZeupFu_.js";import l from"react";import{MenuIcon as u}from"lucide-react";import{Slot as d}from"radix-ui";import{cva as f}from"class-variance-authority";import{jsx as p,jsxs as m}from"react/jsx-runtime";const h=l.createContext(null);function g(){let e=l.useContext(h);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function _({defaultOpen:t=!0,open:n,onOpenChange:r,className:i,style:o,children:s,...c}){let[u,d]=l.useState(!1),[f,m]=l.useState(t),g=n??f,_=l.useCallback(e=>{let t=typeof e==`function`?e(g):e;r?r(t):m(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[r,g]),v=l.useCallback(()=>_(e=>!e),[_]);l.useEffect(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let y=g?`expanded`:`collapsed`,b=l.useMemo(()=>({state:y,open:g,setOpen:_,openMobile:u,setOpenMobile:d,toggleSidebar:v}),[y,g,_,u,d,v]);return p(h.Provider,{value:b,children:p(a,{delayDuration:0,children:p(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:e(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,i),...c,children:s})})})}function v({side:t=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o}){let{state:s}=g();return r===`none`?p(`div`,{"data-slot":`sidebar`,className:e(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,i),...o,children:a}):m(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?r:``,"data-variant":n,"data-side":t,"data-slot":`sidebar`,children:[p(`div`,{"data-slot":`sidebar-gap`,className:e(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),p(`div`,{"data-slot":`sidebar-container`,className:e(`absolute inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,t===`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)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...o,children:p(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:e(`flex h-full w-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:a})})]})}function y({className:n,onClick:r,...i}){let{toggleSidebar:a}=g();return m(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:e(`size-10 rounded-full [&_svg]:!size-6`,n),onClick:e=>{r?.(e),a()},...i,children:[p(u,{}),p(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function b({className:t,...n}){let{toggleSidebar:r}=g();return p(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:e(`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`,t),...n})}function x({className:t,...n}){return p(`main`,{"data-slot":`sidebar-inset`,className:e(`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`,t),...n})}function S({className:t,...r}){return p(n,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:e(`bg-background h-8 w-full shadow-none`,t),...r})}function C({className:t,...n}){return p(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function w({className:t,...n}){return p(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function T({className:t,...n}){return p(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:e(`bg-sidebar-border mx-2 w-auto`,t),...n})}function E({className:t,...n}){return p(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:e(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,t),...n})}function D({className:t,...n}){return p(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:e(`relative flex w-full min-w-0 flex-col p-2`,t),...n})}function O({className:t,asChild:n=!1,...r}){let i=n?d.Slot:`div`;return p(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:e(`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`,t),...r})}function k({className:t,asChild:n=!1,...r}){let i=n?d.Slot:`button`;return p(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:e(`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`,t),...r})}function A({className:t,...n}){return p(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:e(`w-full text-sm`,t),...n})}function j({className:t,...n}){return p(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:e(`flex w-full min-w-0 flex-col gap-1`,t),...n})}function M({className:t,...n}){return p(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:e(`group/menu-item relative`,t),...n})}const N=f(`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background border 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 P({asChild:t=!1,isActive:n=!1,variant:a=`default`,size:s=`default`,tooltip:c,className:l,...u}){let f=t?d.Slot:`button`,{state:h}=g(),_=p(f,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":n,className:e(N({variant:a,size:s}),l),...u});return c?(typeof c==`string`&&(c={children:c}),m(r,{children:[p(o,{asChild:!0,children:_}),p(i,{side:`right`,align:`center`,hidden:h!==`collapsed`,...c})]})):_}function F({className:t,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?d.Slot:`button`;return p(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:e(`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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`$group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,t),...i})}function I({className:t,...n}){return p(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:e(`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`,t),...n})}function L({className:t,showIcon:n=!1,...r}){let i=l.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return m(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:e(`flex h-8 items-center gap-2 rounded-md px-2`,t),...r,children:[n&&p(c,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),p(c,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function R({className:t,...n}){return p(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:e(`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`,t),...n})}function z({className:t,...n}){return p(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:e(`group/menu-sub-item relative`,t),...n})}function B({asChild:t=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=t?d.Slot:`a`;return p(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:e(`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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,i),...a})}export{v as Sidebar,E as SidebarContent,w as SidebarFooter,D as SidebarGroup,k as SidebarGroupAction,A as SidebarGroupContent,O as SidebarGroupLabel,C as SidebarHeader,S as SidebarInput,x as SidebarInset,j as SidebarMenu,F as SidebarMenuAction,I as SidebarMenuBadge,P as SidebarMenuButton,M as SidebarMenuItem,L as SidebarMenuSkeleton,R as SidebarMenuSub,B as SidebarMenuSubButton,z as SidebarMenuSubItem,_ as SidebarProvider,b as SidebarRail,T as SidebarSeparator,y as SidebarTrigger,g as useSidebar};
2
+ //# sourceMappingURL=sidebar-DJh4he1F.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-jBc9MX3P.js","names":["open","Separator","SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Slot as SlotPrimitive } from 'radix-ui'\nimport { cva, type VariantProps } from 'class-variance-authority'\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 { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\nimport { cn } from '@/lib/utils'\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_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 toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.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 [openMobile, setOpenMobile] = React.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] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.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 = React.useCallback(() => {\n return setOpen((open) => !open)\n }, [setOpen])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\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-svh 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 } = 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 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 z-10 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) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'flex h-full w-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 SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n 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 SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2 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 SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto', 'group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />\n}\n\nfunction SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 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 SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring 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 SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background border 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 SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n const { 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 SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\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 SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.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 SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n '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 Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-DJh4he1F.js","names":["open","Separator","SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Slot as SlotPrimitive } from 'radix-ui'\nimport { cva, type VariantProps } from 'class-variance-authority'\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 { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\nimport { cn } from '@/lib/utils'\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_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 toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.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 [openMobile, setOpenMobile] = React.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] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.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 = React.useCallback(() => {\n return setOpen((open) => !open)\n }, [setOpen])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.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 = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\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-svh 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 } = 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 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 z-10 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) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'flex h-full w-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 SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n 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 SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2 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 SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto', 'group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />\n}\n\nfunction SidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 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 SidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring 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 SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background border 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 SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n const { 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 SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\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 SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.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 SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n '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 Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n}\n"],"mappings":"ohBAaA,MAeM,EAAiB,EAAM,cAA0C,MAEvE,SAAS,GAAa,CACpB,IAAM,EAAU,EAAM,WAAW,GACjC,GAAI,CAAC,EACH,MAAU,MAAM,qDAGlB,OAAO,EAGT,SAAS,EAAgB,CACvB,cAAc,GACd,KAAM,EACN,aAAc,EACd,YACA,QACA,WACA,GAAG,GAKF,CACD,GAAM,CAAC,EAAY,GAAiB,EAAM,SAAS,IAI7C,CAAC,EAAO,GAAY,EAAM,SAAS,GACnC,EAAO,GAAY,EACnB,EAAU,EAAM,YACnB,GAAmD,CAClD,IAAM,EAAY,OAAO,GAAU,WAAa,EAAM,GAAQ,EAC1D,EACF,EAAY,GAEZ,EAAS,GAIX,SAAS,OAAS,8BAA0B,EAAU,2BAExD,CAAC,EAAa,IAIV,EAAgB,EAAM,gBACnB,EAAS,GAAS,CAACA,GACzB,CAAC,IAGJ,EAAM,cAAgB,CACpB,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,EAAM,aAClB,CACL,QACA,OACA,UACA,aACA,gBACA,kBAEF,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,SAAU,IAUlB,OARI,IAAgB,OAEhB,EAAC,MAAA,CAAI,YAAU,UAAU,UAAW,EAAG,8EAA+E,GAAY,GAAI,EACnI,aAML,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,oHACA,IAAS,OACL,iFACA,mFAEJ,IAAY,YAAc,IAAY,QAClC,2FACA,0HACJ,GAEF,GAAI,WAEJ,EAAC,MAAA,CACC,eAAa,UACb,YAAU,gBACV,UAAW,EACT,8BACA,sDACA,2CACA,uCACA,2CAGD,kBAOX,SAAS,EAAe,CAAE,YAAW,UAAS,GAAG,GAA8C,CAC7F,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,EAAY,CAAE,YAAW,GAAG,GAAyC,CAC5E,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,EAAc,CAAE,YAAW,GAAG,GAAsC,CAC3E,OAAO,EAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAW,EAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAAc,CAAE,YAAW,GAAG,GAAsC,CAC3E,OAAO,EAAC,MAAA,CAAI,YAAU,iBAAiB,eAAa,SAAS,UAAW,EAAG,0BAA2B,GAAY,GAAI,IAGxH,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAiD,CACzF,OAAO,EAACC,EAAAA,CAAU,YAAU,oBAAoB,eAAa,YAAY,UAAW,EAAG,gCAAiC,GAAY,GAAI,IAG1I,SAAS,EAAe,CAAE,YAAW,GAAG,GAAsC,CAC5E,OACE,EAAC,MAAA,CACC,YAAU,kBACV,eAAa,UACb,UAAW,EAAG,mDAAoD,gDAAiD,GACnH,GAAI,IAKV,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,eAAa,QAAQ,UAAW,EAAG,4CAA6C,GAAY,GAAI,IAGxI,SAAS,EAAkB,CAAE,YAAW,UAAU,GAAO,GAAG,GAA8D,CACxH,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,EAAmB,CAAE,YAAW,UAAU,GAAO,GAAG,GAAiE,CAC5H,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,EAAoB,CAAE,YAAW,GAAG,GAAsC,CACjF,OAAO,EAAC,MAAA,CAAI,YAAU,wBAAwB,eAAa,gBAAgB,UAAW,EAAG,iBAAkB,GAAY,GAAI,IAG7H,SAAS,EAAY,CAAE,YAAW,GAAG,GAAqC,CACxE,OAAO,EAAC,KAAA,CAAG,YAAU,eAAe,eAAa,OAAO,UAAW,EAAG,qCAAsC,GAAY,GAAI,IAG9H,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAqC,CAC5E,OAAO,EAAC,KAAA,CAAG,YAAU,oBAAoB,eAAa,YAAY,UAAW,EAAG,2BAA4B,GAAY,GAAI,IAG9H,MAAM,EAA4B,EAChC,m0BACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+DACT,QACE,wLAEJ,KAAM,CACJ,QAAS,cACT,GAAI,cACJ,GAAI,oDAGR,gBAAiB,CACf,QAAS,UACT,KAAM,aAKZ,SAAS,EAAkB,CACzB,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,EAAkB,CACzB,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,EAAiB,CAAE,YAAW,GAAG,GAAsC,CAC9E,OACE,EAAC,MAAA,CACC,YAAU,qBACV,eAAa,aACb,UAAW,EACT,yKACA,wDACA,qEACA,wCACA,+CACA,0CACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAoB,CAC3B,YACA,WAAW,GACX,GAAG,GAGF,CAED,IAAM,EAAQ,EAAM,YACX,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,EAAe,CAAE,YAAW,GAAG,GAAqC,CAC3E,OACE,EAAC,KAAA,CACC,YAAU,mBACV,eAAa,WACb,UAAW,EACT,iGACA,uCACA,GAEF,GAAI,IAKV,SAAS,EAAmB,CAAE,YAAW,GAAG,GAAqC,CAC/E,OAAO,EAAC,KAAA,CAAG,YAAU,wBAAwB,eAAa,gBAAgB,UAAW,EAAG,+BAAgC,GAAY,GAAI,IAG1I,SAAS,EAAqB,CAC5B,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
- import{cn as e}from"./utils-D9AH0PUV.js";import{Button as t}from"./button-Bvj7CJrA.js";import{Input as n}from"./input-BJeCqZVs.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"./tooltip-DkB0gnp9.js";import{Separator as s}from"./separator-aLdI4FQe.js";import{Sheet as c,SheetContent as l,SheetDescription as u,SheetHeader as d,SheetTitle as f}from"./sheet-7EAzHejw.js";import{Skeleton as p}from"./skeleton-sZeupFu_.js";import{useIsMobile as m}from"./use-mobile-CNVZwItd.js";import h from"react";import{jsx as g,jsxs as _}from"react/jsx-runtime";import{MenuIcon as v}from"lucide-react";import{Slot as y}from"radix-ui";import{cva as b}from"class-variance-authority";const x=h.createContext(null);function S(){let e=h.useContext(x);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function C({defaultOpen:t=!0,open:n,onOpenChange:r,className:i,style:o,children:s,...c}){let l=m(),[u,d]=h.useState(!1),[f,p]=h.useState(t),_=n??f,v=h.useCallback(e=>{let t=typeof e==`function`?e(_):e;r?r(t):p(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[r,_]),y=h.useCallback(()=>l?d(e=>!e):v(e=>!e),[l,v,d]);h.useEffect(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let b=_?`expanded`:`collapsed`,S=h.useMemo(()=>({state:b,isMobile:l,toggleSidebar:y,open:_,setOpen:v,openMobile:u,setOpenMobile:d}),[b,_,v,l,u,d,y]);return g(x.Provider,{value:S,children:g(a,{delayDuration:0,children:g(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:e(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,i),...c,children:s})})})}function w({side:t=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o}){let{isMobile:s,state:p,openMobile:m,setOpenMobile:h}=S();return r===`none`?g(`aside`,{"data-slot":`sidebar`,className:e(`bg-sidebar`,`text-sidebar-foreground`,`flex h-full w-(--sidebar-width) flex-col`,`border-r`,i),...o,children:a}):s?g(c,{open:m,onOpenChange:h,...o,children:_(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:t,children:[_(d,{className:`sr-only`,children:[g(f,{children:`Sidebar`}),g(u,{children:`Displays the mobile sidebar.`})]}),g(`div`,{className:`flex h-full w-full flex-col`,children:a})]})}):_(`aside`,{className:`group peer text-sidebar-foreground bg-card hidden md:block`,"data-state":p,"data-collapsible":p===`collapsed`?r:``,"data-variant":n,"data-side":t,"data-slot":`sidebar`,children:[g(`div`,{"data-slot":`sidebar-gap`,className:e(`relative`,`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-14 w-(--sidebar-width)`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),g(`div`,{"data-slot":`sidebar-container`,className:e(`hidden md:flex`,`fixed inset-y-0 top-14 z-10`,`h-[calc(100svh-3.5rem)] w-(--sidebar-width)`,`border-r`,`transition-[left,right,width] duration-200 ease-linear`,t===`left`&&`left-0`,t===`left`&&`group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`,t===`right`&&`right-0`,t===`right`&&`group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...o,children:g(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:e(`flex size-full flex-col`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:shadow-sm`),children:a})})]})}function T({className:n,onClick:r,...i}){let{toggleSidebar:a}=S();return _(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:e(`size-10 rounded-full`,n),onClick:e=>{r?.(e),a()},...i,children:[g(v,{className:`!size-6`}),g(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function E({className:t,...n}){let{toggleSidebar:r}=S();return g(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:e(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2`,`after:w-0.5`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:after:bg-sidebar-border`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,t),...n})}function D({className:t,children:n,...r}){return _(`main`,{"data-slot":`sidebar-inset`,className:e(`w-full`,`relative`,`flex flex-1 flex-col`,t),...r,children:[g(`div`,{className:`h-14 w-full`}),g(`div`,{className:e(`flex-1 inset-shadow-sm`),children:n})]})}function O({className:t,...r}){return g(n,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:e(`bg-background h-8 w-full shadow-none`,t),...r})}function k({className:t,...n}){return g(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function A({className:t,...n}){return g(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function j({className:t,...n}){return g(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:e(`bg-sidebar-border mx-2 w-auto`,t),...n})}function M({className:t,...n}){return g(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:e(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t),...n})}function N({className:t,...n}){return g(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:e(`relative flex w-full min-w-0 flex-col p-2`,t),...n})}function P({className:t,asChild:n=!1,...r}){let i=n?y.Slot:`div`;return g(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:e(`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`,t),...r})}function F({className:t,asChild:n=!1,...r}){let i=n?y.Slot:`button`;return g(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:e(`text-sidebar-foreground ring-sidebar-ring`,`absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,t),...r})}function I({className:t,...n}){return g(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:e(`w-full text-sm`,t),...n})}function L({className:t,...n}){return g(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:e(`flex w-full min-w-0 flex-col gap-1`,t),...n})}function R({className:t,...n}){return g(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:e(`group/menu-item relative`,t),...n})}const z=b([`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-accent-foreground`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`],{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function B({asChild:t=!1,isActive:n=!1,variant:a=`default`,size:s=`default`,tooltip:c,className:l,...u}){let d=t?y.Slot:`button`,{isMobile:f,state:p}=S(),m=g(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":n,className:e(z({variant:a,size:s}),l),...u});return c?(typeof c==`string`&&(c={children:c}),_(r,{children:[g(o,{asChild:!0,children:m}),g(i,{side:`right`,align:`center`,hidden:p!==`collapsed`||f,...c})]})):m}function V({className:t,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?y.Slot:`button`;return g(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:e(`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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,t),...i})}function H({className:t,...n}){return g(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:e(`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`,t),...n})}function U({className:t,showIcon:n=!1,...r}){let i=h.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:e(`flex h-8 items-center gap-2 rounded-md px-2`,t),...r,children:[n&&g(p,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),g(p,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function W({className:t,...n}){return g(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:e(`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`,t),...n})}function G({className:t,...n}){return g(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:e(`group/menu-sub-item relative`,t),...n})}function K({asChild:t=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=t?y.Slot:`a`;return g(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:e(`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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,i),...a})}export{w as Sidebar,M as SidebarContent,A as SidebarFooter,N as SidebarGroup,F as SidebarGroupAction,I as SidebarGroupContent,P as SidebarGroupLabel,k as SidebarHeader,O as SidebarInput,D as SidebarInset,L as SidebarMenu,V as SidebarMenuAction,H as SidebarMenuBadge,B as SidebarMenuButton,R as SidebarMenuItem,U as SidebarMenuSkeleton,W as SidebarMenuSub,K as SidebarMenuSubButton,G as SidebarMenuSubItem,C as SidebarProvider,E as SidebarRail,j as SidebarSeparator,T as SidebarTrigger,S as useSidebar};
2
- //# sourceMappingURL=sidebar-CeON7EMu.js.map
1
+ import{cn as e}from"./utils-D9AH0PUV.js";import{Button as t}from"./button-k365f5HA.js";import{Input as n}from"./input-YG15tKEM.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"./tooltip-DYs9DCpH.js";import{Separator as s}from"./separator-CMpvCcC2.js";import{Sheet as c,SheetContent as l,SheetDescription as u,SheetHeader as d,SheetTitle as f}from"./sheet-DZGisKJ7.js";import{Skeleton as p}from"./skeleton-sZeupFu_.js";import{useIsMobile as m}from"./use-mobile-CNVZwItd.js";import h from"react";import{MenuIcon as g}from"lucide-react";import{Slot as _}from"radix-ui";import{cva as v}from"class-variance-authority";import{jsx as y,jsxs as b}from"react/jsx-runtime";const x=h.createContext(null);function S(){let e=h.useContext(x);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function C({defaultOpen:t=!0,open:n,onOpenChange:r,className:i,style:o,children:s,...c}){let l=m(),[u,d]=h.useState(!1),[f,p]=h.useState(t),g=n??f,_=h.useCallback(e=>{let t=typeof e==`function`?e(g):e;r?r(t):p(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[r,g]),v=h.useCallback(()=>l?d(e=>!e):_(e=>!e),[l,_,d]);h.useEffect(()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let b=g?`expanded`:`collapsed`,S=h.useMemo(()=>({state:b,isMobile:l,toggleSidebar:v,open:g,setOpen:_,openMobile:u,setOpenMobile:d}),[b,g,_,l,u,d,v]);return y(x.Provider,{value:S,children:y(a,{delayDuration:0,children:y(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:e(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,i),...c,children:s})})})}function w({side:t=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o}){let{isMobile:s,state:p,openMobile:m,setOpenMobile:h}=S();return r===`none`?y(`aside`,{"data-slot":`sidebar`,className:e(`bg-sidebar`,`text-sidebar-foreground`,`flex h-full w-(--sidebar-width) flex-col`,`border-r`,i),...o,children:a}):s?y(c,{open:m,onOpenChange:h,...o,children:b(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:t,children:[b(d,{className:`sr-only`,children:[y(f,{children:`Sidebar`}),y(u,{children:`Displays the mobile sidebar.`})]}),y(`div`,{className:`flex h-full w-full flex-col`,children:a})]})}):b(`aside`,{className:`group peer text-sidebar-foreground bg-card hidden md:block`,"data-state":p,"data-collapsible":p===`collapsed`?r:``,"data-variant":n,"data-side":t,"data-slot":`sidebar`,children:[y(`div`,{"data-slot":`sidebar-gap`,className:e(`relative`,`bg-transparent`,`transition-[width] duration-200 ease-linear`,`h-14 w-(--sidebar-width)`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),y(`div`,{"data-slot":`sidebar-container`,className:e(`hidden md:flex`,`fixed inset-y-0 top-14 z-10`,`h-[calc(100svh-3.5rem)] w-(--sidebar-width)`,`border-r`,`transition-[left,right,width] duration-200 ease-linear`,t===`left`&&`left-0`,t===`left`&&`group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`,t===`right`&&`right-0`,t===`right`&&`group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...o,children:y(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:e(`flex size-full flex-col`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:shadow-sm`),children:a})})]})}function T({className:n,onClick:r,...i}){let{toggleSidebar:a}=S();return b(t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:e(`size-10 rounded-full`,n),onClick:e=>{r?.(e),a()},...i,children:[y(g,{className:`!size-6`}),y(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function E({className:t,...n}){let{toggleSidebar:r}=S();return y(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:e(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2`,`after:w-0.5`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:after:bg-sidebar-border`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,t),...n})}function D({className:t,children:n,...r}){return b(`main`,{"data-slot":`sidebar-inset`,className:e(`w-full`,`relative`,`flex flex-1 flex-col`,t),...r,children:[y(`div`,{className:`h-14 w-full`}),y(`div`,{className:e(`flex-1 inset-shadow-sm`),children:n})]})}function O({className:t,...r}){return y(n,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:e(`bg-background h-8 w-full shadow-none`,t),...r})}function k({className:t,...n}){return y(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function A({className:t,...n}){return y(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function j({className:t,...n}){return y(s,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:e(`bg-sidebar-border mx-2 w-auto`,t),...n})}function M({className:t,...n}){return y(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:e(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t),...n})}function N({className:t,...n}){return y(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:e(`relative flex w-full min-w-0 flex-col p-2`,t),...n})}function P({className:t,asChild:n=!1,...r}){let i=n?_.Slot:`div`;return y(i,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:e(`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`,t),...r})}function F({className:t,asChild:n=!1,...r}){let i=n?_.Slot:`button`;return y(i,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:e(`text-sidebar-foreground ring-sidebar-ring`,`absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,t),...r})}function I({className:t,...n}){return y(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:e(`w-full text-sm`,t),...n})}function L({className:t,...n}){return y(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:e(`flex w-full min-w-0 flex-col gap-1`,t),...n})}function R({className:t,...n}){return y(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:e(`group/menu-item relative`,t),...n})}const z=v([`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-accent-foreground`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`],{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function B({asChild:t=!1,isActive:n=!1,variant:a=`default`,size:s=`default`,tooltip:c,className:l,...u}){let d=t?_.Slot:`button`,{isMobile:f,state:p}=S(),m=y(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":n,className:e(z({variant:a,size:s}),l),...u});return c?(typeof c==`string`&&(c={children:c}),b(r,{children:[y(o,{asChild:!0,children:m}),y(i,{side:`right`,align:`center`,hidden:p!==`collapsed`||f,...c})]})):m}function V({className:t,asChild:n=!1,showOnHover:r=!1,...i}){let a=n?_.Slot:`button`;return y(a,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:e(`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`,r&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,r&&`group-focus-within/menu-item:opacity-100`,r&&`group-hover/menu-item:opacity-100`,r&&`data-[state=open]:opacity-100 md:opacity-0`,t),...i})}function H({className:t,...n}){return y(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:e(`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`,t),...n})}function U({className:t,showIcon:n=!1,...r}){let i=h.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return b(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:e(`flex h-8 items-center gap-2 rounded-md px-2`,t),...r,children:[n&&y(p,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),y(p,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function W({className:t,...n}){return y(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:e(`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`,t),...n})}function G({className:t,...n}){return y(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:e(`group/menu-sub-item relative`,t),...n})}function K({asChild:t=!1,size:n=`md`,isActive:r=!1,className:i,...a}){let o=t?_.Slot:`a`;return y(o,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":r,className:e(`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`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,i),...a})}export{w as Sidebar,M as SidebarContent,A as SidebarFooter,N as SidebarGroup,F as SidebarGroupAction,I as SidebarGroupContent,P as SidebarGroupLabel,k as SidebarHeader,O as SidebarInput,D as SidebarInset,L as SidebarMenu,V as SidebarMenuAction,H as SidebarMenuBadge,B as SidebarMenuButton,R as SidebarMenuItem,U as SidebarMenuSkeleton,W as SidebarMenuSub,K as SidebarMenuSubButton,G as SidebarMenuSubItem,C as SidebarProvider,E as SidebarRail,j as SidebarSeparator,T as SidebarTrigger,S as useSidebar};
2
+ //# sourceMappingURL=sidebar-DhskzF2y.js.map