@customafk/lunas-ui 0.1.0 → 0.1.1

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 (1076) hide show
  1. package/dist/add-new-CJdX6unn.js +2 -0
  2. package/dist/add-new-CJdX6unn.js.map +1 -0
  3. package/dist/add-new-DIT9Jyap.cjs +2 -0
  4. package/dist/add-new-DIT9Jyap.cjs.map +1 -0
  5. package/dist/alert-dialog-BlGvvaB2.cjs +2 -0
  6. package/dist/alert-dialog-BlGvvaB2.cjs.map +1 -0
  7. package/dist/alert-dialog-CEQsuXqU.js +2 -0
  8. package/dist/alert-dialog-CEQsuXqU.js.map +1 -0
  9. package/dist/avatar-aVxo69zP.cjs +2 -0
  10. package/dist/avatar-aVxo69zP.cjs.map +1 -0
  11. package/dist/avatar-tDyHgFSE.js +2 -0
  12. package/dist/avatar-tDyHgFSE.js.map +1 -0
  13. package/dist/badge-CsDmp3ys.cjs +2 -0
  14. package/dist/badge-CsDmp3ys.cjs.map +1 -0
  15. package/dist/badge-D_B2LoLK.js +2 -0
  16. package/dist/badge-D_B2LoLK.js.map +1 -0
  17. package/dist/button-BSQjtXgG.cjs +2 -0
  18. package/dist/button-BSQjtXgG.cjs.map +1 -0
  19. package/dist/button-BbkiANe7.d.cts +57 -0
  20. package/dist/button-JfBXhS8S.d.ts +57 -0
  21. package/dist/button-ZBnX9IoC.js +2 -0
  22. package/dist/button-ZBnX9IoC.js.map +1 -0
  23. package/dist/button.variants-D-o2smvP.js +2 -0
  24. package/dist/button.variants-D-o2smvP.js.map +1 -0
  25. package/dist/button.variants-D1vkzrn1.cjs +2 -0
  26. package/dist/button.variants-D1vkzrn1.cjs.map +1 -0
  27. package/dist/calendar-C24Sq5nU.cjs +2 -0
  28. package/dist/calendar-C24Sq5nU.cjs.map +1 -0
  29. package/dist/calendar-oeosoy2_.js +2 -0
  30. package/dist/calendar-oeosoy2_.js.map +1 -0
  31. package/dist/card-BTXXktN5.cjs +2 -0
  32. package/dist/card-BTXXktN5.cjs.map +1 -0
  33. package/dist/card-Ck4l6oKk.js +2 -0
  34. package/dist/card-Ck4l6oKk.js.map +1 -0
  35. package/dist/cards/grid-product-card-B5Frm__6.d.ts +14 -0
  36. package/dist/cards/grid-product-card-ByoooSvb.d.cts +14 -0
  37. package/dist/cards/grid-product-card.cjs +1 -1
  38. package/dist/cards/grid-product-card.cjs.map +1 -1
  39. package/dist/cards/grid-product-card.js +1 -1
  40. package/dist/cards/product-card-BfYUMXyG.d.cts +14 -0
  41. package/dist/cards/product-card-PDm2RvPF.d.ts +14 -0
  42. package/dist/cards/product-card.cjs +1 -1
  43. package/dist/cards/product-card.cjs.map +1 -1
  44. package/dist/cards/product-card.js +1 -1
  45. package/dist/cards/simple-card-CVRBXeN9.d.cts +19 -0
  46. package/dist/cards/simple-card-DKnjINAk.d.ts +19 -0
  47. package/dist/cards/simple-card.cjs +1 -1
  48. package/dist/cards/simple-card.cjs.map +1 -1
  49. package/dist/cards/simple-card.js +1 -1
  50. package/dist/command-B2WOEAng.cjs +2 -0
  51. package/dist/command-B2WOEAng.cjs.map +1 -0
  52. package/dist/command-BCjoeG8s.js +2 -0
  53. package/dist/command-BCjoeG8s.js.map +1 -0
  54. package/dist/command-DZxI4Pa6.d.cts +52 -0
  55. package/dist/command-DyyFZbxT.d.ts +52 -0
  56. package/dist/data-display/country-BYHNk6tk.d.cts +10 -0
  57. package/dist/data-display/country-_GXKX4g8.d.ts +10 -0
  58. package/dist/data-display/country.cjs +1 -1
  59. package/dist/data-display/country.cjs.map +1 -1
  60. package/dist/data-display/country.js +1 -1
  61. package/dist/data-display/data-list-CspR0F32.d.ts +14 -0
  62. package/dist/data-display/data-list-DBOj-HTO.d.cts +14 -0
  63. package/dist/data-display/data-list.cjs +1 -1
  64. package/dist/data-display/data-list.cjs.map +1 -1
  65. package/dist/data-display/data-list.js +1 -1
  66. package/dist/data-display/date-8KQZC2cQ.d.ts +13 -0
  67. package/dist/data-display/date-KuD1OzYN.d.cts +13 -0
  68. package/dist/data-display/date-tooltip-BHkZwZMS.d.cts +8 -0
  69. package/dist/data-display/date-tooltip-pm6R94-T.d.ts +8 -0
  70. package/dist/data-display/date-tooltip.cjs +1 -1
  71. package/dist/data-display/date-tooltip.cjs.map +1 -1
  72. package/dist/data-display/date-tooltip.js +1 -1
  73. package/dist/data-display/date.cjs +1 -1
  74. package/dist/data-display/date.js +1 -1
  75. package/dist/data-display/empty-D3bUdh01.d.cts +7 -0
  76. package/dist/data-display/empty-DjeAODSS.d.ts +7 -0
  77. package/dist/data-display/empty.cjs +1 -1
  78. package/dist/data-display/empty.cjs.map +1 -1
  79. package/dist/data-display/empty.js +1 -1
  80. package/dist/data-display/name-Bib8Pvu6.d.cts +8 -0
  81. package/dist/data-display/name-D0yG82YJ.d.ts +8 -0
  82. package/dist/data-display/name.cjs +1 -1
  83. package/dist/data-display/name.cjs.map +1 -1
  84. package/dist/data-display/name.js +1 -1
  85. package/dist/data-display/phone-number-BctT7tH8.d.cts +7 -0
  86. package/dist/data-display/phone-number-DXwmaiFN.d.ts +7 -0
  87. package/dist/data-display/phone-number.cjs +1 -1
  88. package/dist/data-display/phone-number.cjs.map +1 -1
  89. package/dist/data-display/phone-number.js +1 -1
  90. package/dist/data-display/role-badge-B5xfIlWd.d.ts +10 -0
  91. package/dist/data-display/role-badge-C78jhIvm.d.cts +10 -0
  92. package/dist/data-display/role-badge.cjs +1 -1
  93. package/dist/data-display/role-badge.cjs.map +1 -1
  94. package/dist/data-display/role-badge.js +1 -1
  95. package/dist/data-display/statistic-BLbOY2yr.d.cts +29 -0
  96. package/dist/data-display/statistic-MqEF3ivy.d.ts +29 -0
  97. package/dist/data-display/statistic.cjs +1 -1
  98. package/dist/data-display/statistic.cjs.map +1 -1
  99. package/dist/data-display/statistic.js +1 -1
  100. package/dist/data-display/user-DkUbJkrj.d.ts +10 -0
  101. package/dist/data-display/user-hrG7NvFN.d.cts +10 -0
  102. package/dist/data-display/user.cjs +1 -1
  103. package/dist/data-display/user.cjs.map +1 -1
  104. package/dist/data-display/user.js +1 -1
  105. package/dist/date-CbkR0dCB.js +2 -0
  106. package/dist/date-CbkR0dCB.js.map +1 -0
  107. package/dist/date-Dz80x-53.cjs +2 -0
  108. package/dist/date-Dz80x-53.cjs.map +1 -0
  109. package/dist/dialog-BCTtbzAr.d.cts +47 -0
  110. package/dist/dialog-BXrkkvSS.js +2 -0
  111. package/dist/dialog-BXrkkvSS.js.map +1 -0
  112. package/dist/dialog-BZSD5ydg.cjs +2 -0
  113. package/dist/dialog-BZSD5ydg.cjs.map +1 -0
  114. package/dist/dialog-D_8kRwFp.d.ts +47 -0
  115. package/dist/dialogs/confirm-dialog-BrOSNnfe.d.cts +13 -0
  116. package/dist/dialogs/confirm-dialog-CzoZOt80.d.ts +13 -0
  117. package/dist/dialogs/confirm-dialog.cjs +1 -1
  118. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  119. package/dist/dialogs/confirm-dialog.js +1 -1
  120. package/dist/dialogs/detail-dialog/component/sidebar-CgDFEUVc.d.cts +166 -0
  121. package/dist/dialogs/detail-dialog/component/sidebar-CnKcGoh8.d.ts +166 -0
  122. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  123. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  124. package/dist/dialogs/detail-dialog/index-DUv0SyRJ.d.cts +15 -0
  125. package/dist/dialogs/detail-dialog/index-OXNNdo2B.d.ts +15 -0
  126. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  127. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  128. package/dist/dialogs/detail-dialog/index.js +1 -1
  129. package/dist/dialogs/error-dialog-BuNrr8ic.d.ts +11 -0
  130. package/dist/dialogs/error-dialog-C-8wDD4X.d.cts +11 -0
  131. package/dist/dialogs/error-dialog.cjs +1 -1
  132. package/dist/dialogs/error-dialog.js +1 -1
  133. package/dist/dialogs/form-dialog-BTxTvOiO.d.ts +36 -0
  134. package/dist/dialogs/form-dialog-CDcPTYVv.d.cts +36 -0
  135. package/dist/dialogs/form-dialog.cjs +1 -1
  136. package/dist/dialogs/form-dialog.cjs.map +1 -1
  137. package/dist/dialogs/form-dialog.js +1 -1
  138. package/dist/dialogs/loading-dialog-CbQWABfw.d.cts +9 -0
  139. package/dist/dialogs/loading-dialog-DhOGwwTu.d.ts +9 -0
  140. package/dist/dialogs/loading-dialog.cjs +1 -1
  141. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  142. package/dist/dialogs/loading-dialog.js +1 -1
  143. package/dist/dist--0WptDez.js +2 -0
  144. package/dist/dist--0WptDez.js.map +1 -0
  145. package/dist/dist-Dh8WwRa8.cjs +2 -0
  146. package/dist/dist-Dh8WwRa8.cjs.map +1 -0
  147. package/dist/drawer-DNrra8fs.js +2 -0
  148. package/dist/drawer-DNrra8fs.js.map +1 -0
  149. package/dist/drawer-y-Yrqskp.cjs +2 -0
  150. package/dist/drawer-y-Yrqskp.cjs.map +1 -0
  151. package/dist/dropdown-menu-B9JJkec-.cjs +2 -0
  152. package/dist/dropdown-menu-B9JJkec-.cjs.map +1 -0
  153. package/dist/dropdown-menu-qHCOowOI.js +2 -0
  154. package/dist/dropdown-menu-qHCOowOI.js.map +1 -0
  155. package/dist/error-dialog-BHrA5oTT.cjs +2 -0
  156. package/dist/error-dialog-BHrA5oTT.cjs.map +1 -0
  157. package/dist/error-dialog-CfTV_hxv.js +2 -0
  158. package/dist/error-dialog-CfTV_hxv.js.map +1 -0
  159. package/dist/features/search-modal/index-C3jjlFbY.d.ts +7 -0
  160. package/dist/features/search-modal/index-Ceax4rcS.d.cts +7 -0
  161. package/dist/features/search-modal/index.cjs +1 -1
  162. package/dist/features/search-modal/index.cjs.map +1 -1
  163. package/dist/features/search-modal/index.js +1 -1
  164. package/dist/field-CBs15wFj.js +2 -0
  165. package/dist/field-CBs15wFj.js.map +1 -0
  166. package/dist/field-Cjpwx_6d.cjs +2 -0
  167. package/dist/field-Cjpwx_6d.cjs.map +1 -0
  168. package/dist/flex-CKdTJVZS.cjs +2 -0
  169. package/dist/flex-CKdTJVZS.cjs.map +1 -0
  170. package/dist/flex-R1TY6P_u.js +2 -0
  171. package/dist/flex-R1TY6P_u.js.map +1 -0
  172. package/dist/form-D1gfOYhk.cjs +2 -0
  173. package/dist/form-D1gfOYhk.cjs.map +1 -0
  174. package/dist/form-aAvu-cMF.js +2 -0
  175. package/dist/form-aAvu-cMF.js.map +1 -0
  176. package/dist/form-wrapper-BAQkwR6l.js +2 -0
  177. package/dist/form-wrapper-BAQkwR6l.js.map +1 -0
  178. package/dist/form-wrapper-CcH5-e90.cjs +2 -0
  179. package/dist/form-wrapper-CcH5-e90.cjs.map +1 -0
  180. package/dist/forms/combobox-field-BMFt4IYT.d.cts +28 -0
  181. package/dist/forms/combobox-field-CPUDwYjw.d.ts +28 -0
  182. package/dist/forms/combobox-field.cjs +1 -1
  183. package/dist/forms/combobox-field.cjs.map +1 -1
  184. package/dist/forms/combobox-field.js +1 -1
  185. package/dist/forms/date-field-BdP2mANh.d.ts +22 -0
  186. package/dist/forms/date-field-CdVOQ9Sn.d.cts +22 -0
  187. package/dist/forms/date-field.cjs +1 -1
  188. package/dist/forms/date-field.cjs.map +1 -1
  189. package/dist/forms/date-field.js +1 -1
  190. package/dist/forms/form-wrapper-BQlEb0dl.d.cts +28 -0
  191. package/dist/forms/form-wrapper-BxMo-LP1.d.ts +28 -0
  192. package/dist/forms/form-wrapper.cjs +1 -1
  193. package/dist/forms/form-wrapper.js +1 -1
  194. package/dist/forms/multi-select-field-Dx0dwgxN.d.cts +32 -0
  195. package/dist/forms/multi-select-field-t7XeuooG.d.ts +32 -0
  196. package/dist/forms/multi-select-field.cjs +1 -1
  197. package/dist/forms/multi-select-field.cjs.map +1 -1
  198. package/dist/forms/multi-select-field.js +1 -1
  199. package/dist/forms/number-field-DkOWlpDv.d.ts +30 -0
  200. package/dist/forms/number-field-Pqzrj0fp.d.cts +30 -0
  201. package/dist/forms/number-field.cjs +1 -1
  202. package/dist/forms/number-field.cjs.map +1 -1
  203. package/dist/forms/number-field.js +1 -1
  204. package/dist/forms/password-field-BD3H-sdP.d.cts +23 -0
  205. package/dist/forms/password-field-CcbDtBXK.d.ts +23 -0
  206. package/dist/forms/password-field.cjs +1 -1
  207. package/dist/forms/password-field.cjs.map +1 -1
  208. package/dist/forms/password-field.js +1 -1
  209. package/dist/forms/password-field.js.map +1 -1
  210. package/dist/forms/select-field-BxaHAx1t.d.ts +33 -0
  211. package/dist/forms/select-field-COMb69g6.d.cts +33 -0
  212. package/dist/forms/select-field.cjs +1 -1
  213. package/dist/forms/select-field.cjs.map +1 -1
  214. package/dist/forms/select-field.js +1 -1
  215. package/dist/forms/select-field.js.map +1 -1
  216. package/dist/forms/switch-field-Bh2u8Nik.d.ts +21 -0
  217. package/dist/forms/switch-field-DI0hFw7z.d.cts +21 -0
  218. package/dist/forms/switch-field.cjs +1 -1
  219. package/dist/forms/switch-field.cjs.map +1 -1
  220. package/dist/forms/switch-field.js +1 -1
  221. package/dist/forms/text-field-CVNbUPh7.d.cts +33 -0
  222. package/dist/forms/text-field-hpJxKUAP.d.ts +33 -0
  223. package/dist/forms/text-field.cjs +1 -1
  224. package/dist/forms/text-field.cjs.map +1 -1
  225. package/dist/forms/text-field.js +1 -1
  226. package/dist/forms/text-field.js.map +1 -1
  227. package/dist/forms/textarea-field-CybxNS3T.d.ts +27 -0
  228. package/dist/forms/textarea-field-RD8o07Um.d.cts +27 -0
  229. package/dist/forms/textarea-field.cjs +1 -1
  230. package/dist/forms/textarea-field.cjs.map +1 -1
  231. package/dist/forms/textarea-field.js +1 -1
  232. package/dist/image-CEpDTwsN.js +2 -0
  233. package/dist/image-CEpDTwsN.js.map +1 -0
  234. package/dist/image-Dq0ZoOjj.cjs +2 -0
  235. package/dist/image-Dq0ZoOjj.cjs.map +1 -0
  236. package/dist/input-C_Q32lFA.js +2 -0
  237. package/dist/input-C_Q32lFA.js.map +1 -0
  238. package/dist/input-D-FBvWmB.d.cts +27 -0
  239. package/dist/input-D2bPk-nW.cjs +2 -0
  240. package/dist/input-D2bPk-nW.cjs.map +1 -0
  241. package/dist/input-DuCwdqWK.d.ts +27 -0
  242. package/dist/label-BfRn3Qql.d.ts +11 -0
  243. package/dist/label-CmFPDdEq.d.cts +11 -0
  244. package/dist/label-D2Kl-Q_-.cjs +2 -0
  245. package/dist/label-D2Kl-Q_-.cjs.map +1 -0
  246. package/dist/label-pQFhmWzJ.js +2 -0
  247. package/dist/label-pQFhmWzJ.js.map +1 -0
  248. package/dist/layouts/app-layout/index-Bcb8Nu3F.d.cts +183 -0
  249. package/dist/layouts/app-layout/index-DZRYPxjz.d.ts +183 -0
  250. package/dist/layouts/app-layout/index.cjs +1 -1
  251. package/dist/layouts/app-layout/index.cjs.map +1 -1
  252. package/dist/layouts/app-layout/index.js +1 -1
  253. package/dist/layouts/app-layout/index.js.map +1 -1
  254. package/dist/layouts/flex-BvwZ8su7.d.ts +34 -0
  255. package/dist/layouts/flex-JNIrQtt3.d.cts +34 -0
  256. package/dist/layouts/flex.cjs +1 -1
  257. package/dist/layouts/flex.js +1 -1
  258. package/dist/layouts/grid-By7Mu7V3.d.cts +5 -0
  259. package/dist/layouts/grid-Dtbwq2B1.d.ts +5 -0
  260. package/dist/layouts/grid.cjs +1 -1
  261. package/dist/layouts/grid.cjs.map +1 -1
  262. package/dist/layouts/service-layout/index-BwMRbGpa.d.cts +132 -0
  263. package/dist/layouts/service-layout/index-CqHU1RtD.d.ts +133 -0
  264. package/dist/layouts/service-layout/index.cjs +1 -1
  265. package/dist/layouts/service-layout/index.cjs.map +1 -1
  266. package/dist/layouts/service-layout/index.js +1 -1
  267. package/dist/layouts/service-layout/index.js.map +1 -1
  268. package/dist/multi-select-D4OhB1ZU.js +2 -0
  269. package/dist/multi-select-D4OhB1ZU.js.map +1 -0
  270. package/dist/multi-select-watyeXb-.cjs +2 -0
  271. package/dist/multi-select-watyeXb-.cjs.map +1 -0
  272. package/dist/number-input-DIUM0vxv.cjs +2 -0
  273. package/dist/number-input-DIUM0vxv.cjs.map +1 -0
  274. package/dist/number-input-DcqwSq0c.js +2 -0
  275. package/dist/number-input-DcqwSq0c.js.map +1 -0
  276. package/dist/pages/FeatureDeveloping-BijWv6j-.d.cts +25 -0
  277. package/dist/pages/FeatureDeveloping-E9iRPoBN.d.ts +25 -0
  278. package/dist/pages/FeatureDeveloping.cjs +1 -1
  279. package/dist/pages/FeatureDeveloping.cjs.map +1 -1
  280. package/dist/pages/FeatureDeveloping.js +1 -1
  281. package/dist/pages/FeatureFixing-DmSdxGWn.d.ts +25 -0
  282. package/dist/pages/FeatureFixing-Dzwhnb7v.d.cts +25 -0
  283. package/dist/pages/FeatureFixing.cjs +1 -1
  284. package/dist/pages/FeatureFixing.cjs.map +1 -1
  285. package/dist/pages/FeatureFixing.js +1 -1
  286. package/dist/pages/NotAuthorized-Br-WL8xt.d.ts +25 -0
  287. package/dist/pages/NotAuthorized-CLVM_Pk4.d.cts +25 -0
  288. package/dist/pages/NotAuthorized.cjs +1 -1
  289. package/dist/pages/NotAuthorized.cjs.map +1 -1
  290. package/dist/pages/NotAuthorized.js +1 -1
  291. package/dist/pages/NotFound-Dnk8YYjS.d.cts +25 -0
  292. package/dist/pages/NotFound-QoHzegW0.d.ts +25 -0
  293. package/dist/pages/NotFound.cjs +1 -1
  294. package/dist/pages/NotFound.cjs.map +1 -1
  295. package/dist/pages/NotFound.js +1 -1
  296. package/dist/paragraph-DK9X31Fr.cjs +2 -0
  297. package/dist/paragraph-DK9X31Fr.cjs.map +1 -0
  298. package/dist/paragraph-eZ-12KwF.js +2 -0
  299. package/dist/paragraph-eZ-12KwF.js.map +1 -0
  300. package/dist/popover-Bn3M2SCp.cjs +2 -0
  301. package/dist/popover-Bn3M2SCp.cjs.map +1 -0
  302. package/dist/popover-Bx80nsDv.js +2 -0
  303. package/dist/popover-Bx80nsDv.js.map +1 -0
  304. package/dist/products/add-cart-button-Bwrc_fze.d.cts +48 -0
  305. package/dist/products/add-cart-button-DLWyva1x.d.ts +48 -0
  306. package/dist/products/add-cart-button.cjs +1 -1
  307. package/dist/products/add-cart-button.cjs.map +1 -1
  308. package/dist/products/add-cart-button.js +1 -1
  309. package/dist/products/product-loading-page-Ctt1379M.d.cts +9 -0
  310. package/dist/products/product-loading-page-LDF6Lha5.d.ts +9 -0
  311. package/dist/products/product-loading-page.cjs +1 -1
  312. package/dist/products/product-loading-page.cjs.map +1 -1
  313. package/dist/products/product-loading-page.js +1 -1
  314. package/dist/products/product-quantity-control-BRHt_pHO.d.ts +50 -0
  315. package/dist/products/product-quantity-control-DCZvHHyS.d.cts +50 -0
  316. package/dist/products/product-quantity-control.cjs +1 -1
  317. package/dist/products/product-quantity-control.cjs.map +1 -1
  318. package/dist/products/product-quantity-control.js +1 -1
  319. package/dist/progress-BvFZ5L8e.cjs +2 -0
  320. package/dist/progress-BvFZ5L8e.cjs.map +1 -0
  321. package/dist/progress-qP8KLube.js +2 -0
  322. package/dist/progress-qP8KLube.js.map +1 -0
  323. package/dist/radio-group-CvZi9_lP.js +2 -0
  324. package/dist/radio-group-CvZi9_lP.js.map +1 -0
  325. package/dist/radio-group-DUdeuruf.cjs +2 -0
  326. package/dist/radio-group-DUdeuruf.cjs.map +1 -0
  327. package/dist/refresh-BeyJ1P13.cjs +2 -0
  328. package/dist/refresh-BeyJ1P13.cjs.map +1 -0
  329. package/dist/refresh-OzE8Rb0x.js +2 -0
  330. package/dist/refresh-OzE8Rb0x.js.map +1 -0
  331. package/dist/scroll-area-CySh6HoN.cjs +2 -0
  332. package/dist/scroll-area-CySh6HoN.cjs.map +1 -0
  333. package/dist/scroll-area-QDEzN1IP.js +2 -0
  334. package/dist/scroll-area-QDEzN1IP.js.map +1 -0
  335. package/dist/search-input-Cmmd1e6l.js +2 -0
  336. package/dist/search-input-Cmmd1e6l.js.map +1 -0
  337. package/dist/search-input-TjDtryHg.cjs +2 -0
  338. package/dist/search-input-TjDtryHg.cjs.map +1 -0
  339. package/dist/select-C3ZceYuJ.js +2 -0
  340. package/dist/select-C3ZceYuJ.js.map +1 -0
  341. package/dist/select-ZQ1jEKyy.cjs +2 -0
  342. package/dist/select-ZQ1jEKyy.cjs.map +1 -0
  343. package/dist/separator-BiWVSkav.d.cts +13 -0
  344. package/dist/separator-C5n1VZdA.d.ts +13 -0
  345. package/dist/separator-D3CGKwyf.cjs +2 -0
  346. package/dist/separator-D3CGKwyf.cjs.map +1 -0
  347. package/dist/separator-udZphpLE.js +2 -0
  348. package/dist/separator-udZphpLE.js.map +1 -0
  349. package/dist/sheet-BN9i47xq.js +2 -0
  350. package/dist/sheet-BN9i47xq.js.map +1 -0
  351. package/dist/sheet-jjZlJ8ub.cjs +2 -0
  352. package/dist/sheet-jjZlJ8ub.cjs.map +1 -0
  353. package/dist/sidebar-CK1oTTs9.cjs +2 -0
  354. package/dist/sidebar-CK1oTTs9.cjs.map +1 -0
  355. package/dist/sidebar-Q_b7EMDf.js +2 -0
  356. package/dist/sidebar-Q_b7EMDf.js.map +1 -0
  357. package/dist/skeleton-C4suljHP.cjs +2 -0
  358. package/dist/skeleton-C4suljHP.cjs.map +1 -0
  359. package/dist/skeleton-CDtN_I2p.js +2 -0
  360. package/dist/skeleton-CDtN_I2p.js.map +1 -0
  361. package/dist/switch-CF9mKsGi.cjs +2 -0
  362. package/dist/switch-CF9mKsGi.cjs.map +1 -0
  363. package/dist/switch-DY634XAU.js +2 -0
  364. package/dist/switch-DY634XAU.js.map +1 -0
  365. package/dist/systems/google-CNaq5f21.d.ts +17 -0
  366. package/dist/systems/google-D1FcGbWQ.d.cts +17 -0
  367. package/dist/systems/google.cjs +1 -1
  368. package/dist/systems/google.cjs.map +1 -1
  369. package/dist/table/index-BHYQJuIu.d.ts +31 -0
  370. package/dist/table/index-C3CzG1Js.d.cts +31 -0
  371. package/dist/table/index.cjs +1 -1
  372. package/dist/table/index.cjs.map +1 -1
  373. package/dist/table/index.js +1 -1
  374. package/dist/table/index.js.map +1 -1
  375. package/dist/table-_gxbUUnS.cjs +2 -0
  376. package/dist/table-_gxbUUnS.cjs.map +1 -0
  377. package/dist/table-sl_SP-Hu.js +2 -0
  378. package/dist/table-sl_SP-Hu.js.map +1 -0
  379. package/dist/tabs-B304bCae.cjs +2 -0
  380. package/dist/tabs-B304bCae.cjs.map +1 -0
  381. package/dist/tabs-Bf5HmaR0.js +2 -0
  382. package/dist/tabs-Bf5HmaR0.js.map +1 -0
  383. package/dist/tanstack-form/index-BFQmxDFT.d.ts +105 -0
  384. package/dist/tanstack-form/index-rXRY6-uR.d.cts +105 -0
  385. package/dist/tanstack-form/index.cjs +1 -1
  386. package/dist/tanstack-form/index.cjs.map +1 -1
  387. package/dist/tanstack-form/index.js +1 -1
  388. package/dist/tanstack-form/index.js.map +1 -1
  389. package/dist/textarea-CGM_TA39.js +2 -0
  390. package/dist/textarea-CGM_TA39.js.map +1 -0
  391. package/dist/textarea-isVIS6NP.cjs +2 -0
  392. package/dist/textarea-isVIS6NP.cjs.map +1 -0
  393. package/dist/title-B8K5-HgX.js +2 -0
  394. package/dist/title-B8K5-HgX.js.map +1 -0
  395. package/dist/title-DEHZP3em.cjs +2 -0
  396. package/dist/title-DEHZP3em.cjs.map +1 -0
  397. package/dist/toggle-ByrhIIse.d.cts +19 -0
  398. package/dist/toggle-BzWSt1Ml.js +2 -0
  399. package/dist/toggle-BzWSt1Ml.js.map +1 -0
  400. package/dist/toggle-Ct5lXANx.d.ts +19 -0
  401. package/dist/toggle-CvwbDli7.cjs +2 -0
  402. package/dist/toggle-CvwbDli7.cjs.map +1 -0
  403. package/dist/tooltip-T_bqZKJO.d.cts +23 -0
  404. package/dist/tooltip-Zq1AHrju.d.ts +23 -0
  405. package/dist/tooltip-ceiBtqIu.js +2 -0
  406. package/dist/tooltip-ceiBtqIu.js.map +1 -0
  407. package/dist/tooltip-zYWazsY5.cjs +2 -0
  408. package/dist/tooltip-zYWazsY5.cjs.map +1 -0
  409. package/dist/types-BgCPfa9k.cjs +2 -0
  410. package/dist/types-BgCPfa9k.cjs.map +1 -0
  411. package/dist/types-Cs9ZDj_X.d.ts +23 -0
  412. package/dist/types-DzqAikVI.d.cts +23 -0
  413. package/dist/types-hKBsaFz_.js +2 -0
  414. package/dist/types-hKBsaFz_.js.map +1 -0
  415. package/dist/typography/paragraph-B-HIojCt.d.ts +16 -0
  416. package/dist/typography/paragraph-ZQaopG1m.d.cts +16 -0
  417. package/dist/typography/paragraph.cjs +1 -1
  418. package/dist/typography/paragraph.js +1 -1
  419. package/dist/typography/title-BcPzTkhN.d.ts +16 -0
  420. package/dist/typography/title-BkROeF91.d.cts +16 -0
  421. package/dist/typography/title.cjs +1 -1
  422. package/dist/typography/title.js +1 -1
  423. package/dist/ui/alert-BjLlLbKA.d.ts +69 -0
  424. package/dist/ui/alert-C6Flqdmd.d.cts +69 -0
  425. package/dist/ui/alert-dialog-BWC2oh0L.d.cts +48 -0
  426. package/dist/ui/alert-dialog-CHJKfkFv.d.ts +48 -0
  427. package/dist/ui/alert-dialog.cjs +1 -1
  428. package/dist/ui/alert-dialog.js +1 -1
  429. package/dist/ui/alert.cjs +1 -1
  430. package/dist/ui/alert.cjs.map +1 -1
  431. package/dist/ui/alert.js +1 -1
  432. package/dist/ui/aspect-ratio-COocBO3U.d.cts +11 -0
  433. package/dist/ui/aspect-ratio-XXFA4iGf.d.ts +11 -0
  434. package/dist/ui/aspect-ratio.cjs +1 -1
  435. package/dist/ui/aspect-ratio.cjs.map +1 -1
  436. package/dist/ui/avatar-BoBmEuwG.d.ts +19 -0
  437. package/dist/ui/avatar-CI41m6Kz.d.cts +19 -0
  438. package/dist/ui/avatar.cjs +1 -1
  439. package/dist/ui/avatar.js +1 -1
  440. package/dist/ui/badge-B31Y0rPm.d.cts +21 -0
  441. package/dist/ui/badge-BHwUT_A9.d.ts +21 -0
  442. package/dist/ui/badge.cjs +1 -1
  443. package/dist/ui/badge.js +1 -1
  444. package/dist/ui/breadcrumb-BuQ6UXex.d.ts +59 -0
  445. package/dist/ui/breadcrumb-DeEwAnPG.d.cts +59 -0
  446. package/dist/ui/breadcrumb.cjs +1 -1
  447. package/dist/ui/breadcrumb.cjs.map +1 -1
  448. package/dist/ui/breadcrumb.js +1 -1
  449. package/dist/ui/button-Bjy1SkXh.d.cts +2 -0
  450. package/dist/ui/button-ClfZJDWI.d.ts +2 -0
  451. package/dist/ui/button-group-8r6t_SNQ.d.cts +29 -0
  452. package/dist/ui/button-group-D7G1n3xn.d.ts +29 -0
  453. package/dist/ui/button-group.cjs +1 -1
  454. package/dist/ui/button-group.cjs.map +1 -1
  455. package/dist/ui/button-group.js +1 -1
  456. package/dist/ui/button-group.js.map +1 -1
  457. package/dist/ui/button.cjs +1 -1
  458. package/dist/ui/button.js +1 -1
  459. package/dist/ui/buttons/add-new-CfzBs6gq.d.ts +8 -0
  460. package/dist/ui/buttons/add-new-D9-Jr8c4.d.cts +8 -0
  461. package/dist/ui/buttons/add-new.cjs +1 -1
  462. package/dist/ui/buttons/add-new.js +1 -1
  463. package/dist/ui/buttons/edit-D-F5TXGT.d.ts +8 -0
  464. package/dist/ui/buttons/edit-Dq_gpd-N.d.cts +8 -0
  465. package/dist/ui/buttons/edit.cjs +1 -1
  466. package/dist/ui/buttons/edit.cjs.map +1 -1
  467. package/dist/ui/buttons/edit.js +1 -1
  468. package/dist/ui/buttons/refresh-BDZtp0q0.d.cts +8 -0
  469. package/dist/ui/buttons/refresh-DGGaCTEs.d.ts +8 -0
  470. package/dist/ui/buttons/refresh.cjs +1 -1
  471. package/dist/ui/buttons/refresh.js +1 -1
  472. package/dist/ui/buttons/trash-CKtCS2E3.d.cts +8 -0
  473. package/dist/ui/buttons/trash-FI_wppX3.d.ts +8 -0
  474. package/dist/ui/buttons/trash.cjs +1 -1
  475. package/dist/ui/buttons/trash.cjs.map +1 -1
  476. package/dist/ui/buttons/trash.js +1 -1
  477. package/dist/ui/buttons/upload-image-CroZz-TA.d.ts +11 -0
  478. package/dist/ui/buttons/upload-image-DhOzs8WM.d.cts +11 -0
  479. package/dist/ui/buttons/upload-image.cjs +1 -1
  480. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  481. package/dist/ui/buttons/upload-image.js +1 -1
  482. package/dist/ui/calendar-0lTJmr8_.d.cts +27 -0
  483. package/dist/ui/calendar-C3C98Nm8.d.ts +27 -0
  484. package/dist/ui/calendar.cjs +1 -1
  485. package/dist/ui/calendar.js +1 -1
  486. package/dist/ui/card-0tRpxZZP.d.ts +34 -0
  487. package/dist/ui/card-BrD4YXjy.d.cts +34 -0
  488. package/dist/ui/card.cjs +1 -1
  489. package/dist/ui/card.js +1 -1
  490. package/dist/ui/carousel-Btr75JsU.d.cts +47 -0
  491. package/dist/ui/carousel-CYli7-cf.d.ts +47 -0
  492. package/dist/ui/carousel.cjs +1 -1
  493. package/dist/ui/carousel.cjs.map +1 -1
  494. package/dist/ui/carousel.js +1 -1
  495. package/dist/ui/carousel.js.map +1 -1
  496. package/dist/ui/collapsible-DL_Fh7jy.d.ts +16 -0
  497. package/dist/ui/collapsible-dnGgBuFx.d.cts +16 -0
  498. package/dist/ui/collapsible.cjs +1 -1
  499. package/dist/ui/collapsible.cjs.map +1 -1
  500. package/dist/ui/command-DBsQW8Z7.d.cts +3 -0
  501. package/dist/ui/command-DvI5D-Ta.d.ts +3 -0
  502. package/dist/ui/command.cjs +1 -1
  503. package/dist/ui/command.js +1 -1
  504. package/dist/ui/context-menu-B4EXocMZ.d.cts +76 -0
  505. package/dist/ui/context-menu-DJ4Y6eZ8.d.ts +76 -0
  506. package/dist/ui/context-menu.cjs +1 -1
  507. package/dist/ui/context-menu.cjs.map +1 -1
  508. package/dist/ui/dialog-B9CzYmbo.d.ts +2 -0
  509. package/dist/ui/dialog-Dmn4xP_m.d.cts +2 -0
  510. package/dist/ui/dialog.cjs +1 -1
  511. package/dist/ui/dialog.js +1 -1
  512. package/dist/ui/drawer-DJBwS-M8.d.ts +44 -0
  513. package/dist/ui/drawer-QFZMLI2L.d.cts +44 -0
  514. package/dist/ui/drawer.cjs +1 -1
  515. package/dist/ui/drawer.js +1 -1
  516. package/dist/ui/dropdown-menu-BfrzYekI.d.cts +78 -0
  517. package/dist/ui/dropdown-menu-DjSEdEwx.d.ts +78 -0
  518. package/dist/ui/dropdown-menu.cjs +1 -1
  519. package/dist/ui/dropdown-menu.js +1 -1
  520. package/dist/ui/empty-CmUxd-zz.d.ts +36 -0
  521. package/dist/ui/empty-D_Ow4-VQ.d.cts +36 -0
  522. package/dist/ui/empty.cjs +1 -1
  523. package/dist/ui/empty.cjs.map +1 -1
  524. package/dist/ui/field-BVccL957.d.ts +66 -0
  525. package/dist/ui/field-Di7GMFb3.d.cts +66 -0
  526. package/dist/ui/field.cjs +1 -1
  527. package/dist/ui/field.js +1 -1
  528. package/dist/ui/file-uploader-Bw35N40m.d.ts +78 -0
  529. package/dist/ui/file-uploader-ZqGyDsj0.d.cts +78 -0
  530. package/dist/ui/file-uploader.cjs +2 -2
  531. package/dist/ui/file-uploader.cjs.map +1 -1
  532. package/dist/ui/file-uploader.js +2 -2
  533. package/dist/ui/form-BHN5xtW2.d.cts +50 -0
  534. package/dist/ui/form-Dg08kxTD.d.ts +50 -0
  535. package/dist/ui/form.cjs +1 -1
  536. package/dist/ui/form.js +1 -1
  537. package/dist/ui/hover-card-BeoLU8AF.d.ts +19 -0
  538. package/dist/ui/hover-card-joO9kbQV.d.cts +19 -0
  539. package/dist/ui/hover-card.cjs +1 -1
  540. package/dist/ui/hover-card.cjs.map +1 -1
  541. package/dist/ui/image-D3gH7LbY.d.cts +16 -0
  542. package/dist/ui/image-J2Hmt4R2.d.ts +16 -0
  543. package/dist/ui/image.cjs +1 -1
  544. package/dist/ui/image.js +1 -1
  545. package/dist/ui/input-CG7BqtL1.d.cts +2 -0
  546. package/dist/ui/input-Colppqyv.d.ts +2 -0
  547. package/dist/ui/input-otp-w8P-munP.d.ts +28 -0
  548. package/dist/ui/input-otp-wRYJjvht.d.cts +28 -0
  549. package/dist/ui/input-otp.cjs +1 -1
  550. package/dist/ui/input-otp.cjs.map +1 -1
  551. package/dist/ui/input-otp.js +1 -1
  552. package/dist/ui/input-otp.js.map +1 -1
  553. package/dist/ui/input.cjs +1 -1
  554. package/dist/ui/input.js +1 -1
  555. package/dist/ui/inputs/search-input-CpvQaftt.d.cts +12 -0
  556. package/dist/ui/inputs/search-input-D1rLAMyv.d.ts +12 -0
  557. package/dist/ui/inputs/search-input.cjs +1 -1
  558. package/dist/ui/inputs/search-input.js +1 -1
  559. package/dist/ui/item-D3Zk2d1q.d.ts +62 -0
  560. package/dist/ui/item-DYmymukh.d.cts +62 -0
  561. package/dist/ui/item.cjs +1 -1
  562. package/dist/ui/item.cjs.map +1 -1
  563. package/dist/ui/item.js +1 -1
  564. package/dist/ui/label-BsqCYYUw.d.ts +2 -0
  565. package/dist/ui/label-DM1U4RcW.d.cts +2 -0
  566. package/dist/ui/label.cjs +1 -1
  567. package/dist/ui/label.js +1 -1
  568. package/dist/ui/menubar-CH6MGVkS.d.ts +84 -0
  569. package/dist/ui/menubar-DWzPCozQ.d.cts +84 -0
  570. package/dist/ui/menubar.cjs +1 -1
  571. package/dist/ui/menubar.cjs.map +1 -1
  572. package/dist/ui/multi-select-BkPlT2m0.d.cts +81 -0
  573. package/dist/ui/multi-select-Csyoq6lc.d.ts +81 -0
  574. package/dist/ui/multi-select.cjs +1 -1
  575. package/dist/ui/multi-select.js +1 -1
  576. package/dist/ui/navigation-menu-CDXlALDv.d.ts +46 -0
  577. package/dist/ui/navigation-menu-feKRnqCj.d.cts +46 -0
  578. package/dist/ui/navigation-menu.cjs +1 -1
  579. package/dist/ui/navigation-menu.cjs.map +1 -1
  580. package/dist/ui/pagination-CsrOJ4eD.d.ts +39 -0
  581. package/dist/ui/pagination-cHxqH5v6.d.cts +39 -0
  582. package/dist/ui/pagination.cjs +1 -1
  583. package/dist/ui/pagination.cjs.map +1 -1
  584. package/dist/ui/pagination.js +1 -1
  585. package/dist/ui/pagination.js.map +1 -1
  586. package/dist/ui/popover-CC72eT_y.d.cts +22 -0
  587. package/dist/ui/popover-DlDj6bvI.d.ts +22 -0
  588. package/dist/ui/popover.cjs +1 -1
  589. package/dist/ui/popover.js +1 -1
  590. package/dist/ui/progress-Bpj6Bppj.d.cts +12 -0
  591. package/dist/ui/progress-Bx6BAoTC.d.ts +12 -0
  592. package/dist/ui/progress.cjs +1 -1
  593. package/dist/ui/progress.js +1 -1
  594. package/dist/ui/radio-group-CUZWLc-C.d.ts +15 -0
  595. package/dist/ui/radio-group-DWm8I6-R.d.cts +15 -0
  596. package/dist/ui/radio-group.cjs +1 -1
  597. package/dist/ui/radio-group.js +1 -1
  598. package/dist/ui/resizable-BWICBwit.d.ts +21 -0
  599. package/dist/ui/resizable-BslB0x4d.d.cts +21 -0
  600. package/dist/ui/resizable.cjs +1 -1
  601. package/dist/ui/resizable.cjs.map +1 -1
  602. package/dist/ui/resizable.js +1 -1
  603. package/dist/ui/resizable.js.map +1 -1
  604. package/dist/ui/scroll-area-B0yxKYGQ.d.ts +20 -0
  605. package/dist/ui/scroll-area-D5dStYkO.d.cts +20 -0
  606. package/dist/ui/scroll-area.cjs +1 -1
  607. package/dist/ui/scroll-area.js +1 -1
  608. package/dist/ui/select-C5u5ohZw.d.ts +51 -0
  609. package/dist/ui/select-ql7U8taD.d.cts +51 -0
  610. package/dist/ui/select.cjs +1 -1
  611. package/dist/ui/select.js +1 -1
  612. package/dist/ui/separator-BnVnFHkj.d.cts +2 -0
  613. package/dist/ui/separator-BoriHqoB.d.ts +2 -0
  614. package/dist/ui/separator.cjs +1 -1
  615. package/dist/ui/separator.js +1 -1
  616. package/dist/ui/sheet-Bwm5GbAL.d.cts +40 -0
  617. package/dist/ui/sheet-Dyq_celC.d.ts +40 -0
  618. package/dist/ui/sheet.cjs +1 -1
  619. package/dist/ui/sheet.js +1 -1
  620. package/dist/ui/sidebar-CJB6QJDH.d.ts +167 -0
  621. package/dist/ui/sidebar-Mmo4_iZk.d.cts +167 -0
  622. package/dist/ui/sidebar.cjs +1 -1
  623. package/dist/ui/sidebar.cjs.map +1 -1
  624. package/dist/ui/sidebar.js +1 -1
  625. package/dist/ui/sidebar.js.map +1 -1
  626. package/dist/ui/skeleton-CMHr3Niy.d.ts +10 -0
  627. package/dist/ui/skeleton-Dp0hvzjp.d.cts +10 -0
  628. package/dist/ui/skeleton.cjs +1 -1
  629. package/dist/ui/skeleton.js +1 -1
  630. package/dist/ui/slider-BFAY3uLF.d.ts +15 -0
  631. package/dist/ui/slider-DIaLtDWB.d.cts +15 -0
  632. package/dist/ui/slider.cjs +1 -1
  633. package/dist/ui/slider.cjs.map +1 -1
  634. package/dist/ui/slider.js +1 -1
  635. package/dist/ui/sonner-4SacS79f.d.cts +7 -0
  636. package/dist/ui/sonner-CQrtdGp-.d.ts +7 -0
  637. package/dist/ui/sonner.cjs +1 -1
  638. package/dist/ui/sonner.cjs.map +1 -1
  639. package/dist/ui/spinner-CgY4RNLL.d.cts +10 -0
  640. package/dist/ui/spinner-DDKoiWFW.d.ts +10 -0
  641. package/dist/ui/spinner.cjs +1 -1
  642. package/dist/ui/spinner.cjs.map +1 -1
  643. package/dist/ui/switch-GnZapvE8.d.cts +11 -0
  644. package/dist/ui/switch-QHfG4xL1.d.ts +11 -0
  645. package/dist/ui/switch.cjs +1 -1
  646. package/dist/ui/switch.js +1 -1
  647. package/dist/ui/table-CeWLApyv.d.ts +39 -0
  648. package/dist/ui/table-P66zfe5g.d.cts +39 -0
  649. package/dist/ui/table.cjs +1 -1
  650. package/dist/ui/table.js +1 -1
  651. package/dist/ui/tabs-Ba1llYpk.d.ts +23 -0
  652. package/dist/ui/tabs-DTNhUoJT.d.cts +23 -0
  653. package/dist/ui/tabs.cjs +1 -1
  654. package/dist/ui/tabs.js +1 -1
  655. package/dist/ui/textarea-C0BuTmdJ.d.ts +14 -0
  656. package/dist/ui/textarea-Lxs8H-hn.d.cts +14 -0
  657. package/dist/ui/textarea.cjs +1 -1
  658. package/dist/ui/textarea.js +1 -1
  659. package/dist/ui/toggle-BtGKbTVi.d.cts +2 -0
  660. package/dist/ui/toggle-CJXHmt1o.d.ts +2 -0
  661. package/dist/ui/toggle-group-BTF55Wfp.d.cts +23 -0
  662. package/dist/ui/toggle-group-CE2djXp1.d.ts +23 -0
  663. package/dist/ui/toggle-group.cjs +1 -1
  664. package/dist/ui/toggle-group.cjs.map +1 -1
  665. package/dist/ui/toggle-group.js +1 -1
  666. package/dist/ui/toggle-group.js.map +1 -1
  667. package/dist/ui/toggle.cjs +1 -1
  668. package/dist/ui/toggle.js +1 -1
  669. package/dist/ui/tooltip-BsI2jc5a.d.cts +2 -0
  670. package/dist/ui/tooltip-C-TQBAqW.d.ts +2 -0
  671. package/dist/ui/tooltip.cjs +1 -1
  672. package/dist/ui/tooltip.js +1 -1
  673. package/package.json +15 -10
  674. package/styles/base.css +0 -3
  675. package/styles/theme.css +25 -13
  676. package/dist/add-new-Ba_59G-R.cjs +0 -2
  677. package/dist/add-new-Ba_59G-R.cjs.map +0 -1
  678. package/dist/add-new-D1tUIn0B.js +0 -2
  679. package/dist/add-new-D1tUIn0B.js.map +0 -1
  680. package/dist/alert-dialog-Cblv2aDd.js +0 -2
  681. package/dist/alert-dialog-Cblv2aDd.js.map +0 -1
  682. package/dist/alert-dialog-G8BofEhu.cjs +0 -2
  683. package/dist/alert-dialog-G8BofEhu.cjs.map +0 -1
  684. package/dist/avatar-COzsr2Pm.js +0 -2
  685. package/dist/avatar-COzsr2Pm.js.map +0 -1
  686. package/dist/avatar-CssLCe-L.cjs +0 -2
  687. package/dist/avatar-CssLCe-L.cjs.map +0 -1
  688. package/dist/badge-MFLqzjPS.cjs +0 -2
  689. package/dist/badge-MFLqzjPS.cjs.map +0 -1
  690. package/dist/badge-Zf7wUKPD.js +0 -2
  691. package/dist/badge-Zf7wUKPD.js.map +0 -1
  692. package/dist/button-BKgDCyHZ.cjs +0 -2
  693. package/dist/button-BKgDCyHZ.cjs.map +0 -1
  694. package/dist/button-DT2zgZfZ.d.cts +0 -56
  695. package/dist/button-dQ8MuLKP.js +0 -2
  696. package/dist/button-dQ8MuLKP.js.map +0 -1
  697. package/dist/button-tUVN-gcp.d.ts +0 -56
  698. package/dist/button-variants-BebiEdiS.cjs +0 -2
  699. package/dist/button-variants-BebiEdiS.cjs.map +0 -1
  700. package/dist/button-variants-D1PJJEST.js +0 -2
  701. package/dist/button-variants-D1PJJEST.js.map +0 -1
  702. package/dist/calendar-BuO7PEUW.js +0 -2
  703. package/dist/calendar-BuO7PEUW.js.map +0 -1
  704. package/dist/calendar-CIpIXTqX.cjs +0 -2
  705. package/dist/calendar-CIpIXTqX.cjs.map +0 -1
  706. package/dist/card-k3r3Jp5I.js +0 -2
  707. package/dist/card-k3r3Jp5I.js.map +0 -1
  708. package/dist/card-yhGgMiTX.cjs +0 -2
  709. package/dist/card-yhGgMiTX.cjs.map +0 -1
  710. package/dist/cards/grid-product-card.d.cts +0 -14
  711. package/dist/cards/grid-product-card.d.ts +0 -14
  712. package/dist/cards/product-card.d.cts +0 -14
  713. package/dist/cards/product-card.d.ts +0 -14
  714. package/dist/cards/simple-card.d.cts +0 -19
  715. package/dist/cards/simple-card.d.ts +0 -19
  716. package/dist/command-D6cWtNo8.js +0 -2
  717. package/dist/command-D6cWtNo8.js.map +0 -1
  718. package/dist/command-DCPdMqqD.d.cts +0 -52
  719. package/dist/command-Dg7FupyW.cjs +0 -2
  720. package/dist/command-Dg7FupyW.cjs.map +0 -1
  721. package/dist/command-sBi1Usig.d.ts +0 -52
  722. package/dist/data-display/country.d.cts +0 -10
  723. package/dist/data-display/country.d.ts +0 -10
  724. package/dist/data-display/data-list.d.cts +0 -14
  725. package/dist/data-display/data-list.d.ts +0 -14
  726. package/dist/data-display/date-tooltip.d.cts +0 -8
  727. package/dist/data-display/date-tooltip.d.ts +0 -8
  728. package/dist/data-display/date.d.cts +0 -13
  729. package/dist/data-display/date.d.ts +0 -13
  730. package/dist/data-display/empty.d.cts +0 -7
  731. package/dist/data-display/empty.d.ts +0 -7
  732. package/dist/data-display/name.d.cts +0 -8
  733. package/dist/data-display/name.d.ts +0 -8
  734. package/dist/data-display/phone-number.d.cts +0 -7
  735. package/dist/data-display/phone-number.d.ts +0 -7
  736. package/dist/data-display/role-badge.d.cts +0 -10
  737. package/dist/data-display/role-badge.d.ts +0 -10
  738. package/dist/data-display/statistic.d.cts +0 -29
  739. package/dist/data-display/statistic.d.ts +0 -29
  740. package/dist/data-display/user.d.cts +0 -10
  741. package/dist/data-display/user.d.ts +0 -10
  742. package/dist/date-CbZskk0Z.js +0 -2
  743. package/dist/date-CbZskk0Z.js.map +0 -1
  744. package/dist/date-DfUDZmkO.cjs +0 -2
  745. package/dist/date-DfUDZmkO.cjs.map +0 -1
  746. package/dist/dialog-BZrI1ggR.cjs +0 -2
  747. package/dist/dialog-BZrI1ggR.cjs.map +0 -1
  748. package/dist/dialog-BbHuA_eL.d.ts +0 -47
  749. package/dist/dialog-CTvVeLHn.js +0 -2
  750. package/dist/dialog-CTvVeLHn.js.map +0 -1
  751. package/dist/dialog-DCW403Nj.d.cts +0 -47
  752. package/dist/dialogs/confirm-dialog.d.cts +0 -13
  753. package/dist/dialogs/confirm-dialog.d.ts +0 -13
  754. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +0 -166
  755. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +0 -166
  756. package/dist/dialogs/detail-dialog/index.d.cts +0 -15
  757. package/dist/dialogs/detail-dialog/index.d.ts +0 -15
  758. package/dist/dialogs/error-dialog.d.cts +0 -11
  759. package/dist/dialogs/error-dialog.d.ts +0 -11
  760. package/dist/dialogs/form-dialog.d.cts +0 -36
  761. package/dist/dialogs/form-dialog.d.ts +0 -36
  762. package/dist/dialogs/loading-dialog.d.cts +0 -9
  763. package/dist/dialogs/loading-dialog.d.ts +0 -9
  764. package/dist/dist-B3j6PslN.js +0 -2
  765. package/dist/dist-B3j6PslN.js.map +0 -1
  766. package/dist/dist-BdSAGFCS.cjs +0 -2
  767. package/dist/dist-BdSAGFCS.cjs.map +0 -1
  768. package/dist/drawer-DDSRH_My.js +0 -2
  769. package/dist/drawer-DDSRH_My.js.map +0 -1
  770. package/dist/drawer-_nQPABFp.cjs +0 -2
  771. package/dist/drawer-_nQPABFp.cjs.map +0 -1
  772. package/dist/dropdown-menu-CgEElTMR.cjs +0 -2
  773. package/dist/dropdown-menu-CgEElTMR.cjs.map +0 -1
  774. package/dist/dropdown-menu-Ss59zGaT.js +0 -2
  775. package/dist/dropdown-menu-Ss59zGaT.js.map +0 -1
  776. package/dist/error-dialog-BLypwC7k.js +0 -2
  777. package/dist/error-dialog-BLypwC7k.js.map +0 -1
  778. package/dist/error-dialog-Ccnb31SP.cjs +0 -2
  779. package/dist/error-dialog-Ccnb31SP.cjs.map +0 -1
  780. package/dist/features/search-modal/index.d.cts +0 -7
  781. package/dist/features/search-modal/index.d.ts +0 -7
  782. package/dist/field-QnC1I0hN.js +0 -2
  783. package/dist/field-QnC1I0hN.js.map +0 -1
  784. package/dist/field-fedFAcLt.cjs +0 -2
  785. package/dist/field-fedFAcLt.cjs.map +0 -1
  786. package/dist/flex-CARSrVMd.cjs +0 -2
  787. package/dist/flex-CARSrVMd.cjs.map +0 -1
  788. package/dist/flex-D5a9wval.js +0 -2
  789. package/dist/flex-D5a9wval.js.map +0 -1
  790. package/dist/form-CQcAxI-L.cjs +0 -2
  791. package/dist/form-CQcAxI-L.cjs.map +0 -1
  792. package/dist/form-CoqTElrC.js +0 -2
  793. package/dist/form-CoqTElrC.js.map +0 -1
  794. package/dist/form-wrapper-DHxY8rOJ.js +0 -2
  795. package/dist/form-wrapper-DHxY8rOJ.js.map +0 -1
  796. package/dist/form-wrapper-DoVXVU1Q.cjs +0 -2
  797. package/dist/form-wrapper-DoVXVU1Q.cjs.map +0 -1
  798. package/dist/forms/combobox-field.d.cts +0 -28
  799. package/dist/forms/combobox-field.d.ts +0 -28
  800. package/dist/forms/date-field.d.cts +0 -22
  801. package/dist/forms/date-field.d.ts +0 -22
  802. package/dist/forms/form-wrapper.d.cts +0 -28
  803. package/dist/forms/form-wrapper.d.ts +0 -28
  804. package/dist/forms/multi-select-field.d.cts +0 -32
  805. package/dist/forms/multi-select-field.d.ts +0 -32
  806. package/dist/forms/number-field.d.cts +0 -30
  807. package/dist/forms/number-field.d.ts +0 -30
  808. package/dist/forms/password-field.d.cts +0 -23
  809. package/dist/forms/password-field.d.ts +0 -23
  810. package/dist/forms/select-field.d.cts +0 -33
  811. package/dist/forms/select-field.d.ts +0 -33
  812. package/dist/forms/switch-field.d.cts +0 -21
  813. package/dist/forms/switch-field.d.ts +0 -21
  814. package/dist/forms/text-field.d.cts +0 -33
  815. package/dist/forms/text-field.d.ts +0 -33
  816. package/dist/forms/textarea-field.d.cts +0 -27
  817. package/dist/forms/textarea-field.d.ts +0 -27
  818. package/dist/image-DQ3Kw6Yx.js +0 -2
  819. package/dist/image-DQ3Kw6Yx.js.map +0 -1
  820. package/dist/image-lnojols3.cjs +0 -2
  821. package/dist/image-lnojols3.cjs.map +0 -1
  822. package/dist/input-C2puAk5o.js +0 -2
  823. package/dist/input-C2puAk5o.js.map +0 -1
  824. package/dist/input-CGlr-f2P.d.cts +0 -14
  825. package/dist/input-DFwfYrJY.cjs +0 -2
  826. package/dist/input-DFwfYrJY.cjs.map +0 -1
  827. package/dist/input-RFRYqH64.d.ts +0 -14
  828. package/dist/label-BVizk4r8.d.cts +0 -11
  829. package/dist/label-C81VuIr1.cjs +0 -2
  830. package/dist/label-C81VuIr1.cjs.map +0 -1
  831. package/dist/label-DUDKi2Z9.d.ts +0 -11
  832. package/dist/label-DeTp9ffC.js +0 -2
  833. package/dist/label-DeTp9ffC.js.map +0 -1
  834. package/dist/layouts/app-layout/index.d.cts +0 -183
  835. package/dist/layouts/app-layout/index.d.ts +0 -183
  836. package/dist/layouts/flex.d.cts +0 -34
  837. package/dist/layouts/flex.d.ts +0 -34
  838. package/dist/layouts/grid.d.cts +0 -5
  839. package/dist/layouts/grid.d.ts +0 -5
  840. package/dist/layouts/service-layout/index.d.cts +0 -132
  841. package/dist/layouts/service-layout/index.d.ts +0 -133
  842. package/dist/multi-select-Bc2t1mVU.cjs +0 -2
  843. package/dist/multi-select-Bc2t1mVU.cjs.map +0 -1
  844. package/dist/multi-select-DaAjkqhs.js +0 -2
  845. package/dist/multi-select-DaAjkqhs.js.map +0 -1
  846. package/dist/number-input-B784T23t.cjs +0 -2
  847. package/dist/number-input-B784T23t.cjs.map +0 -1
  848. package/dist/number-input-DtqX-30b.js +0 -2
  849. package/dist/number-input-DtqX-30b.js.map +0 -1
  850. package/dist/pages/FeatureDeveloping.d.cts +0 -25
  851. package/dist/pages/FeatureDeveloping.d.ts +0 -25
  852. package/dist/pages/FeatureFixing.d.cts +0 -25
  853. package/dist/pages/FeatureFixing.d.ts +0 -25
  854. package/dist/pages/NotAuthorized.d.cts +0 -25
  855. package/dist/pages/NotAuthorized.d.ts +0 -25
  856. package/dist/pages/NotFound.d.cts +0 -25
  857. package/dist/pages/NotFound.d.ts +0 -25
  858. package/dist/paragraph-2PTh7dL2.js +0 -2
  859. package/dist/paragraph-2PTh7dL2.js.map +0 -1
  860. package/dist/paragraph-Dh4JbICu.cjs +0 -2
  861. package/dist/paragraph-Dh4JbICu.cjs.map +0 -1
  862. package/dist/popover-Dltz23Kw.cjs +0 -2
  863. package/dist/popover-Dltz23Kw.cjs.map +0 -1
  864. package/dist/popover-cPnAg-IR.js +0 -2
  865. package/dist/popover-cPnAg-IR.js.map +0 -1
  866. package/dist/products/add-cart-button.d.cts +0 -48
  867. package/dist/products/add-cart-button.d.ts +0 -48
  868. package/dist/products/product-loading-page.d.cts +0 -9
  869. package/dist/products/product-loading-page.d.ts +0 -9
  870. package/dist/products/product-quantity-control.d.cts +0 -50
  871. package/dist/products/product-quantity-control.d.ts +0 -50
  872. package/dist/progress-DCp82kC-.cjs +0 -2
  873. package/dist/progress-DCp82kC-.cjs.map +0 -1
  874. package/dist/progress-Dn3ldoTC.js +0 -2
  875. package/dist/progress-Dn3ldoTC.js.map +0 -1
  876. package/dist/radio-group-CSeHO3gt.cjs +0 -2
  877. package/dist/radio-group-CSeHO3gt.cjs.map +0 -1
  878. package/dist/radio-group-wOobSXHt.js +0 -2
  879. package/dist/radio-group-wOobSXHt.js.map +0 -1
  880. package/dist/refresh-C15w-Kg_.js +0 -2
  881. package/dist/refresh-C15w-Kg_.js.map +0 -1
  882. package/dist/refresh-CiSphj7K.cjs +0 -2
  883. package/dist/refresh-CiSphj7K.cjs.map +0 -1
  884. package/dist/scroll-area-D5UB0gnG.cjs +0 -2
  885. package/dist/scroll-area-D5UB0gnG.cjs.map +0 -1
  886. package/dist/scroll-area-DBeg-tf-.js +0 -2
  887. package/dist/scroll-area-DBeg-tf-.js.map +0 -1
  888. package/dist/search-input-CDYFkB98.cjs +0 -2
  889. package/dist/search-input-CDYFkB98.cjs.map +0 -1
  890. package/dist/search-input-Dd0DOaRa.js +0 -2
  891. package/dist/search-input-Dd0DOaRa.js.map +0 -1
  892. package/dist/select-DJvNdB9Q.cjs +0 -2
  893. package/dist/select-DJvNdB9Q.cjs.map +0 -1
  894. package/dist/select-DjTMDfuU.js +0 -2
  895. package/dist/select-DjTMDfuU.js.map +0 -1
  896. package/dist/separator-B7MG0WfW.d.ts +0 -13
  897. package/dist/separator-DSfwqts2.cjs +0 -2
  898. package/dist/separator-DSfwqts2.cjs.map +0 -1
  899. package/dist/separator-DlKvRb97.d.cts +0 -13
  900. package/dist/separator-aMl6UNM2.js +0 -2
  901. package/dist/separator-aMl6UNM2.js.map +0 -1
  902. package/dist/sheet-CLSacdwr.cjs +0 -2
  903. package/dist/sheet-CLSacdwr.cjs.map +0 -1
  904. package/dist/sheet-wjVzFJqN.js +0 -2
  905. package/dist/sheet-wjVzFJqN.js.map +0 -1
  906. package/dist/sidebar-CKSP_wGV.js +0 -2
  907. package/dist/sidebar-CKSP_wGV.js.map +0 -1
  908. package/dist/sidebar-DTYxSTwf.cjs +0 -2
  909. package/dist/sidebar-DTYxSTwf.cjs.map +0 -1
  910. package/dist/skeleton-DO7Vt-7f.js +0 -2
  911. package/dist/skeleton-DO7Vt-7f.js.map +0 -1
  912. package/dist/skeleton-DYa_q0Y4.cjs +0 -2
  913. package/dist/skeleton-DYa_q0Y4.cjs.map +0 -1
  914. package/dist/switch-BRuGLl7r.cjs +0 -2
  915. package/dist/switch-BRuGLl7r.cjs.map +0 -1
  916. package/dist/switch-CAoADrTz.js +0 -2
  917. package/dist/switch-CAoADrTz.js.map +0 -1
  918. package/dist/systems/google.d.cts +0 -17
  919. package/dist/systems/google.d.ts +0 -17
  920. package/dist/table/index.d.cts +0 -31
  921. package/dist/table/index.d.ts +0 -31
  922. package/dist/table-Bl3LHfHq.js +0 -2
  923. package/dist/table-Bl3LHfHq.js.map +0 -1
  924. package/dist/table-Dum42k1g.cjs +0 -2
  925. package/dist/table-Dum42k1g.cjs.map +0 -1
  926. package/dist/tabs-26dKvx13.js +0 -2
  927. package/dist/tabs-26dKvx13.js.map +0 -1
  928. package/dist/tabs-rwqYbtaq.cjs +0 -2
  929. package/dist/tabs-rwqYbtaq.cjs.map +0 -1
  930. package/dist/tanstack-form/index.d.cts +0 -102
  931. package/dist/tanstack-form/index.d.ts +0 -102
  932. package/dist/textarea-BAMdq0nK.cjs +0 -2
  933. package/dist/textarea-BAMdq0nK.cjs.map +0 -1
  934. package/dist/textarea-BK5x2TXt.js +0 -2
  935. package/dist/textarea-BK5x2TXt.js.map +0 -1
  936. package/dist/title-Cu1t_swa.cjs +0 -2
  937. package/dist/title-Cu1t_swa.cjs.map +0 -1
  938. package/dist/title-DvBBkY-n.js +0 -2
  939. package/dist/title-DvBBkY-n.js.map +0 -1
  940. package/dist/toggle-B4tN-0IO.cjs +0 -2
  941. package/dist/toggle-B4tN-0IO.cjs.map +0 -1
  942. package/dist/toggle-BFGMDMh6.js +0 -2
  943. package/dist/toggle-BFGMDMh6.js.map +0 -1
  944. package/dist/toggle-Bqn-nyu3.d.ts +0 -19
  945. package/dist/toggle-DUz2tdav.d.cts +0 -19
  946. package/dist/tooltip-Ci4vGJVw.js +0 -2
  947. package/dist/tooltip-Ci4vGJVw.js.map +0 -1
  948. package/dist/tooltip-Co_tM-og.d.cts +0 -23
  949. package/dist/tooltip-GiGkjS_8.cjs +0 -2
  950. package/dist/tooltip-GiGkjS_8.cjs.map +0 -1
  951. package/dist/tooltip-hKG8rdNt.d.ts +0 -23
  952. package/dist/types-Bj7gD8ok.d.cts +0 -23
  953. package/dist/types-CObxqW8D.cjs +0 -2
  954. package/dist/types-CObxqW8D.cjs.map +0 -1
  955. package/dist/types-DEjoJE8O.d.ts +0 -23
  956. package/dist/types-EAOZr1BK.js +0 -2
  957. package/dist/types-EAOZr1BK.js.map +0 -1
  958. package/dist/typography/paragraph.d.cts +0 -16
  959. package/dist/typography/paragraph.d.ts +0 -16
  960. package/dist/typography/title.d.cts +0 -16
  961. package/dist/typography/title.d.ts +0 -16
  962. package/dist/ui/alert-dialog.d.cts +0 -48
  963. package/dist/ui/alert-dialog.d.ts +0 -48
  964. package/dist/ui/alert.d.cts +0 -69
  965. package/dist/ui/alert.d.ts +0 -69
  966. package/dist/ui/aspect-ratio.d.cts +0 -11
  967. package/dist/ui/aspect-ratio.d.ts +0 -11
  968. package/dist/ui/avatar.d.cts +0 -19
  969. package/dist/ui/avatar.d.ts +0 -19
  970. package/dist/ui/badge.d.cts +0 -21
  971. package/dist/ui/badge.d.ts +0 -21
  972. package/dist/ui/breadcrumb.d.cts +0 -59
  973. package/dist/ui/breadcrumb.d.ts +0 -59
  974. package/dist/ui/button-group.d.cts +0 -29
  975. package/dist/ui/button-group.d.ts +0 -29
  976. package/dist/ui/button.d.cts +0 -2
  977. package/dist/ui/button.d.ts +0 -2
  978. package/dist/ui/buttons/add-new.d.cts +0 -8
  979. package/dist/ui/buttons/add-new.d.ts +0 -8
  980. package/dist/ui/buttons/edit.d.cts +0 -8
  981. package/dist/ui/buttons/edit.d.ts +0 -8
  982. package/dist/ui/buttons/refresh.d.cts +0 -8
  983. package/dist/ui/buttons/refresh.d.ts +0 -8
  984. package/dist/ui/buttons/trash.d.cts +0 -8
  985. package/dist/ui/buttons/trash.d.ts +0 -8
  986. package/dist/ui/buttons/upload-image.d.cts +0 -11
  987. package/dist/ui/buttons/upload-image.d.ts +0 -11
  988. package/dist/ui/calendar.d.cts +0 -27
  989. package/dist/ui/calendar.d.ts +0 -27
  990. package/dist/ui/card.d.cts +0 -34
  991. package/dist/ui/card.d.ts +0 -34
  992. package/dist/ui/carousel.d.cts +0 -47
  993. package/dist/ui/carousel.d.ts +0 -47
  994. package/dist/ui/collapsible.d.cts +0 -16
  995. package/dist/ui/collapsible.d.ts +0 -16
  996. package/dist/ui/command.d.cts +0 -3
  997. package/dist/ui/command.d.ts +0 -3
  998. package/dist/ui/context-menu.d.cts +0 -76
  999. package/dist/ui/context-menu.d.ts +0 -76
  1000. package/dist/ui/dialog.d.cts +0 -2
  1001. package/dist/ui/dialog.d.ts +0 -2
  1002. package/dist/ui/drawer.d.cts +0 -44
  1003. package/dist/ui/drawer.d.ts +0 -44
  1004. package/dist/ui/dropdown-menu.d.cts +0 -78
  1005. package/dist/ui/dropdown-menu.d.ts +0 -78
  1006. package/dist/ui/empty.d.cts +0 -36
  1007. package/dist/ui/empty.d.ts +0 -36
  1008. package/dist/ui/field.d.cts +0 -66
  1009. package/dist/ui/field.d.ts +0 -66
  1010. package/dist/ui/file-uploader.d.cts +0 -78
  1011. package/dist/ui/file-uploader.d.ts +0 -78
  1012. package/dist/ui/form.d.cts +0 -50
  1013. package/dist/ui/form.d.ts +0 -50
  1014. package/dist/ui/hover-card.d.cts +0 -19
  1015. package/dist/ui/hover-card.d.ts +0 -19
  1016. package/dist/ui/image.d.cts +0 -16
  1017. package/dist/ui/image.d.ts +0 -16
  1018. package/dist/ui/input-otp.d.cts +0 -28
  1019. package/dist/ui/input-otp.d.ts +0 -28
  1020. package/dist/ui/input.d.cts +0 -2
  1021. package/dist/ui/input.d.ts +0 -2
  1022. package/dist/ui/inputs/search-input.d.cts +0 -12
  1023. package/dist/ui/inputs/search-input.d.ts +0 -12
  1024. package/dist/ui/item.d.cts +0 -62
  1025. package/dist/ui/item.d.ts +0 -62
  1026. package/dist/ui/label.d.cts +0 -2
  1027. package/dist/ui/label.d.ts +0 -2
  1028. package/dist/ui/menubar.d.cts +0 -84
  1029. package/dist/ui/menubar.d.ts +0 -84
  1030. package/dist/ui/multi-select.d.cts +0 -81
  1031. package/dist/ui/multi-select.d.ts +0 -81
  1032. package/dist/ui/navigation-menu.d.cts +0 -46
  1033. package/dist/ui/navigation-menu.d.ts +0 -46
  1034. package/dist/ui/pagination.d.cts +0 -39
  1035. package/dist/ui/pagination.d.ts +0 -39
  1036. package/dist/ui/popover.d.cts +0 -22
  1037. package/dist/ui/popover.d.ts +0 -22
  1038. package/dist/ui/progress.d.cts +0 -12
  1039. package/dist/ui/progress.d.ts +0 -12
  1040. package/dist/ui/radio-group.d.cts +0 -15
  1041. package/dist/ui/radio-group.d.ts +0 -15
  1042. package/dist/ui/resizable.d.cts +0 -21
  1043. package/dist/ui/resizable.d.ts +0 -21
  1044. package/dist/ui/scroll-area.d.cts +0 -20
  1045. package/dist/ui/scroll-area.d.ts +0 -20
  1046. package/dist/ui/select.d.cts +0 -51
  1047. package/dist/ui/select.d.ts +0 -51
  1048. package/dist/ui/separator.d.cts +0 -2
  1049. package/dist/ui/separator.d.ts +0 -2
  1050. package/dist/ui/sheet.d.cts +0 -40
  1051. package/dist/ui/sheet.d.ts +0 -40
  1052. package/dist/ui/sidebar.d.cts +0 -167
  1053. package/dist/ui/sidebar.d.ts +0 -167
  1054. package/dist/ui/skeleton.d.cts +0 -10
  1055. package/dist/ui/skeleton.d.ts +0 -10
  1056. package/dist/ui/slider.d.cts +0 -15
  1057. package/dist/ui/slider.d.ts +0 -15
  1058. package/dist/ui/sonner.d.cts +0 -7
  1059. package/dist/ui/sonner.d.ts +0 -7
  1060. package/dist/ui/spinner.d.cts +0 -10
  1061. package/dist/ui/spinner.d.ts +0 -10
  1062. package/dist/ui/switch.d.cts +0 -11
  1063. package/dist/ui/switch.d.ts +0 -11
  1064. package/dist/ui/table.d.cts +0 -39
  1065. package/dist/ui/table.d.ts +0 -39
  1066. package/dist/ui/tabs.d.cts +0 -23
  1067. package/dist/ui/tabs.d.ts +0 -23
  1068. package/dist/ui/textarea.d.cts +0 -14
  1069. package/dist/ui/textarea.d.ts +0 -14
  1070. package/dist/ui/toggle-group.d.cts +0 -23
  1071. package/dist/ui/toggle-group.d.ts +0 -23
  1072. package/dist/ui/toggle.d.cts +0 -2
  1073. package/dist/ui/toggle.d.ts +0 -2
  1074. package/dist/ui/tooltip.d.cts +0 -2
  1075. package/dist/ui/tooltip.d.ts +0 -2
  1076. /package/dist/{chunk-DjWAcSYV.cjs → chunk-Bmb41Sf3.cjs} +0 -0
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`),t=require(`./button-BSQjtXgG.cjs`),n=require(`./skeleton-C4suljHP.cjs`),r=require(`./tooltip-zYWazsY5.cjs`),i=require(`./separator-D3CGKwyf.cjs`),a=require(`./input-D2bPk-nW.cjs`),o=require(`./sheet-jjZlJ8ub.cjs`);let s=require(`lucide-react`),c=require(`react`),l=require(`@customafk/react-toolkit/utils`),u=require(`react/jsx-runtime`),d=require(`class-variance-authority`),f=require(`radix-ui`),p=require(`@customafk/react-toolkit/hooks/useMobile`);const m=`detai_dialog_sidebar_state`,h=3600*24*7,g=`16rem`,_=`18rem`,v=`3rem`,y=`p`,b=(0,c.createContext)(null);function x(){let e=(0,c.use)(b);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function S({defaultOpen:e=!0,open:t,onOpenChange:n,className:i,style:a,children:o,...s}){let d=(0,p.useIsMobile)(),[f,m]=(0,c.useState)(!1),[h,g]=(0,c.useState)(e),_=t??h,v=(0,c.useCallback)(e=>{let t=typeof e==`function`?e(_):e;n?n(t):g(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,_]),y=(0,c.useCallback)(()=>d?m(e=>!e):v(e=>!e),[d,v]);(0,c.useEffect)(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[y]);let x=_?`expanded`:`collapsed`,S=(0,c.useMemo)(()=>({state:x,isMobile:d,toggleSidebar:y,open:_,setOpen:v,openMobile:f,setOpenMobile:m}),[x,_,v,f,m,y]);return(0,u.jsx)(b.Provider,{value:S,children:(0,u.jsx)(r.r,{delayDuration:0,children:(0,u.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:(0,l.cn)(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,i),...s,children:o})})})}function C({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:s,isMobile:c,openMobile:d,setOpenMobile:f}=x();return n===`none`?(0,u.jsx)(`div`,{"data-slot":`sidebar`,className:(0,l.cn)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):c?(0,u.jsx)(o.t,{open:d,onOpenChange:f,...a,children:(0,u.jsxs)(o.r,{"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.o,{className:`sr-only`,children:[(0,u.jsx)(o.s,{children:`Sidebar`}),(0,u.jsx)(o.i,{children:`Displays the mobile sidebar.`})]}),(0,u.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,u.jsxs)(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,u.jsx)(`div`,{"data-slot":`sidebar-gap`,className:(0,l.cn)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,u.jsx)(`div`,{"data-slot":`sidebar-container`,className:(0,l.cn)(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,r),...a,children:(0,u.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:(0,l.cn)(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function w({className:e,onClick:n,...r}){let{toggleSidebar:i}=x();return(0,u.jsxs)(t.t,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:(0,l.cn)(`size-10 rounded-full [&_svg]:!size-6`,e),onClick:e=>{n?.(e),i()},...r,children:[(0,u.jsx)(s.MenuIcon,{}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function T({className:e,...t}){let{toggleSidebar:n}=x();return(0,u.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:(0,l.cn)(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2 after:w-0.5`,`hover:after:bg-sidebar-border`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})}function E({className:e,...t}){return(0,u.jsx)(`main`,{"data-slot":`sidebar-inset`,className:(0,l.cn)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function D({className:e,...t}){return(0,u.jsx)(a.t,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:(0,l.cn)(`bg-background h-8 w-full shadow-none`,e),...t})}function O({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:(0,l.cn)(`flex flex-col gap-2 p-2`,e),...t})}function k({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:(0,l.cn)(`flex flex-col gap-2 p-2`,e),...t})}function A({className:e,...t}){return(0,u.jsx)(i.t,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:(0,l.cn)(`bg-sidebar-border mx-2 w-auto`,e),...t})}function j({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:(0,l.cn)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function M({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:(0,l.cn)(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function N({className:e,asChild:t=!1,...n}){return(0,u.jsx)(t?f.Slot.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:(0,l.cn)(`text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8`,`group-data-[collapsible=icon]:opacity-0`,e),...n})}function P({className:e,asChild:t=!1,...n}){return(0,u.jsx)(t?f.Slot.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:(0,l.cn)(`text-sidebar-foreground ring-sidebar-ring absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function F({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:(0,l.cn)(`w-full text-sm`,e),...t})}function I({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:(0,l.cn)(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function L({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:(0,l.cn)(`group/menu-item relative`,e),...t})}const R=(0,d.cva)([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function z({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:i=`default`,tooltip:a,className:o,...s}){let c=e?f.Slot.Slot:`button`,{state:d}=x(),p=(0,u.jsx)(c,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":i,"data-active":t,className:(0,l.cn)(R({variant:n,size:i}),o),...s});return a?(typeof a==`string`&&(a={children:a}),(0,u.jsxs)(r.t,{children:[(0,u.jsx)(r.i,{asChild:!0,children:p}),(0,u.jsx)(r.n,{side:`right`,align:`center`,hidden:d!==`collapsed`,...a})]})):p}function B({className:e,asChild:t=!1,showOnHover:n=!1,...r}){return(0,u.jsx)(t?f.Slot.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:(0,l.cn)(`text-sidebar-foreground ring-sidebar-ring`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,n&&`$group-focus-within/menu-item:opacity-100`,n&&`group-hover/menu-item:opacity-100`,n&&`data-[state=open]:opacity-100 md:opacity-0`,e),...r})}function V({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:(0,l.cn)(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground`,`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function H({className:e,showIcon:t=!1,...r}){let i=(0,c.useMemo)(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,u.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:(0,l.cn)(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[t&&(0,u.jsx)(n.t,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,u.jsx)(n.t,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function U({className:e,...t}){return(0,u.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:(0,l.cn)(`border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function W({className:e,...t}){return(0,u.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:(0,l.cn)(`group/menu-sub-item relative`,e),...t})}function G({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){return(0,u.jsx)(e?f.Slot.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:(0,l.cn)(`text-sidebar-foreground ring-sidebar-ring`,`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`disabled:pointer-events-none`,`disabled:opacity-50`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return w}});
2
+ //# sourceMappingURL=sidebar-CK1oTTs9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-CK1oTTs9.cjs","names":["open","TooltipProvider","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","MenuIcon","Input","Separator","SlotPrimitive","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client';\nimport { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'p';\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = use(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n state,\n isMobile,\n\n toggleSidebar,\n\n open,\n setOpen,\n\n openMobile,\n setOpenMobile,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn('group/sidebar-wrapper', 'has-data-[variant=inset]:bg-sidebar', 'flex min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { state, isMobile, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm'\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction DetailDialogSidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction DetailDialogSidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2 after:w-0.5',\n 'hover:after:bg-sidebar-border',\n 'group-data-[side=left]:-right-4',\n 'group-data-[side=right]:left-0',\n 'in-data-[side=left]:cursor-w-resize',\n 'in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize',\n '[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n 'group-data-[collapsible=offcanvas]:translate-x-0',\n 'group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return <Input data-slot=\"sidebar-input\" data-sidebar=\"input\" className={cn('bg-background h-8 w-full shadow-none', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto', 'group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8',\n 'group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\n 'data-[state=open]:hover:bg-sidebar-accent',\n 'data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8!',\n 'group-data-[collapsible=icon]:p-2!',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction DetailDialogSidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n const { state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed'} {...tooltip} />\n </Tooltip>\n );\n}\n\nfunction DetailDialogSidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n showOnHover && '$group-focus-within/menu-item:opacity-100',\n showOnHover && 'group-hover/menu-item:opacity-100',\n showOnHover && 'data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div data-slot=\"sidebar-menu-skeleton\" data-sidebar=\"menu-skeleton\" className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)} {...props}>\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction DetailDialogSidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./button-ZBnX9IoC.js";import{t}from"./skeleton-CDtN_I2p.js";import{i as n,n as r,r as i,t as a}from"./tooltip-ceiBtqIu.js";import{t as o}from"./separator-udZphpLE.js";import{t as s}from"./input-C_Q32lFA.js";import{i as c,o as l,r as u,s as d,t as f}from"./sheet-BN9i47xq.js";import{MenuIcon as p}from"lucide-react";import{createContext as m,use as h,useCallback as g,useEffect as _,useMemo as v,useState as y}from"react";import{cn as b}from"@customafk/react-toolkit/utils";import{jsx as x,jsxs as S}from"react/jsx-runtime";import{cva as C}from"class-variance-authority";import{Slot as w}from"radix-ui";import{useIsMobile as T}from"@customafk/react-toolkit/hooks/useMobile";const E=m(null);function D(){let e=h(E);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function O({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:a,children:o,...s}){let c=T(),[l,u]=y(!1),[d,f]=y(e),p=t??d,m=g(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[n,p]),h=g(()=>c?u(e=>!e):m(e=>!e),[c,m]);_(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[h]);let S=p?`expanded`:`collapsed`,C=v(()=>({state:S,isMobile:c,toggleSidebar:h,open:p,setOpen:m,openMobile:l,setOpenMobile:u}),[S,p,m,l,u,h]);return x(E.Provider,{value:C,children:x(i,{delayDuration:0,children:x(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...a},className:b(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-dvh w-full`,r),...s,children:o})})})}function k({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{state:o,isMobile:s,openMobile:p,setOpenMobile:m}=D();return n===`none`?x(`div`,{"data-slot":`sidebar`,className:b(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):s?x(f,{open:p,onOpenChange:m,...a,children:S(u,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:{"--sidebar-width":`18rem`},side:e,children:[S(l,{className:`sr-only`,children:[x(d,{children:`Sidebar`}),x(c,{children:`Displays the mobile sidebar.`})]}),x(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):S(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":o,"data-collapsible":o===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[x(`div`,{"data-slot":`sidebar-gap`,className:b(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),x(`div`,{"data-slot":`sidebar-container`,className:b(`absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`,r),...a,children:x(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:b(`shadow-nav flex size-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:i})})]})}function A({className:t,onClick:n,...r}){let{toggleSidebar:i}=D();return S(e,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,color:`secondary`,size:`icon`,className:b(`size-10 rounded-full [&_svg]:!size-6`,t),onClick:e=>{n?.(e),i()},...r,children:[x(p,{}),x(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function j({className:e,...t}){let{toggleSidebar:n}=D();return x(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:n,title:`Toggle Sidebar`,className:b(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex`,`after:absolute`,`after:inset-y-0`,`after:left-1/2 after:w-0.5`,`hover:after:bg-sidebar-border`,`group-data-[side=left]:-right-4`,`group-data-[side=right]:left-0`,`in-data-[side=left]:cursor-w-resize`,`in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize`,`[[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar`,`group-data-[collapsible=offcanvas]:translate-x-0`,`group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})}function M({className:e,...t}){return x(`main`,{"data-slot":`sidebar-inset`,className:b(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2`,`md:peer-data-[variant=inset]:ml-0`,`md:peer-data-[variant=inset]:rounded-xl`,`md:peer-data-[variant=inset]:shadow-sm`,`md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...t})}function N({className:e,...t}){return x(s,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:b(`bg-background h-8 w-full shadow-none`,e),...t})}function P({className:e,...t}){return x(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:b(`flex flex-col gap-2 p-2`,e),...t})}function F({className:e,...t}){return x(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:b(`flex flex-col gap-2 p-2`,e),...t})}function I({className:e,...t}){return x(o,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:b(`bg-sidebar-border mx-2 w-auto`,e),...t})}function L({className:e,...t}){return x(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:b(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function R({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:b(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function z({className:e,asChild:t=!1,...n}){return x(t?w.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:b(`text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8`,`group-data-[collapsible=icon]:opacity-0`,e),...n})}function B({className:e,asChild:t=!1,...n}){return x(t?w.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:b(`text-sidebar-foreground ring-sidebar-ring absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute`,`after:-inset-2`,`md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n})}function V({className:e,...t}){return x(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:b(`w-full text-sm`,e),...t})}function H({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:b(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function U({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:b(`group/menu-item relative`,e),...t})}const W=C([`peer/menu-button`,`cursor-pointer`,`flex w-full items-center gap-2`,`overflow-hidden rounded-md p-2 outline-hidden`,`text-left truncate`,`transition-[color,width,height,padding]`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`disabled:pointer-events-none`,`disabled:opacity-50`,`group-has-data-[sidebar=menu-action]/menu-item:pr-8`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`data-[active=true]:bg-sidebar-primary-muted`,`data-[active=true]:font-medium`,`data-[active=true]:text-sidebar-primary`,`data-[state=open]:hover:bg-sidebar-accent`,`data-[state=open]:hover:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:size-8!`,`group-data-[collapsible=icon]:p-2!`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>span:last-child]:truncate`],{variants:{variant:{default:`hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function G({asChild:e=!1,isActive:t=!1,variant:i=`default`,size:o=`default`,tooltip:s,className:c,...l}){let u=e?w.Slot:`button`,{state:d}=D(),f=x(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":o,"data-active":t,className:b(W({variant:i,size:o}),c),...l});return s?(typeof s==`string`&&(s={children:s}),S(a,{children:[x(n,{asChild:!0,children:f}),x(r,{side:`right`,align:`center`,hidden:d!==`collapsed`,...s})]})):f}function K({className:e,asChild:t=!1,showOnHover:n=!1,...r}){return x(t?w.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:b(`text-sidebar-foreground ring-sidebar-ring`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform`,`focus-visible:ring-2`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,n&&`$group-focus-within/menu-item:opacity-100`,n&&`group-hover/menu-item:opacity-100`,n&&`data-[state=open]:opacity-100 md:opacity-0`,e),...r})}function q({className:e,...t}){return x(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:b(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground`,`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function J({className:e,showIcon:n=!1,...r}){let i=v(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return S(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:b(`flex h-8 items-center gap-2 rounded-md px-2`,e),...r,children:[n&&x(t,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),x(t,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})}function Y({className:e,...t}){return x(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:b(`border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t})}function X({className:e,...t}){return x(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:b(`group/menu-sub-item relative`,e),...t})}function Z({asChild:e=!1,size:t=`md`,isActive:n=!1,className:r,...i}){return x(e?w.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:b(`text-sidebar-foreground ring-sidebar-ring`,`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden`,`hover:bg-sidebar-accent`,`hover:text-sidebar-accent-foreground`,`active:bg-sidebar-accent`,`active:text-sidebar-accent-foreground`,`focus-visible:ring-2`,`disabled:pointer-events-none`,`disabled:opacity-50`,`aria-disabled:pointer-events-none`,`aria-disabled:opacity-50`,`[&>span:last-child]:truncate`,`[&>svg]:size-4`,`[&>svg]:shrink-0`,`[&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent`,`data-[active=true]:text-sidebar-accent-foreground`,`group-data-[collapsible=icon]:hidden`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i})}export{O as C,M as S,j as _,V as a,k as b,H as c,G as d,U as f,X as g,Z as h,B as i,K as l,Y as m,F as n,z as o,J as p,R as r,P as s,L as t,q as u,I as v,D as w,N as x,A as y};
2
+ //# sourceMappingURL=sidebar-Q_b7EMDf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-Q_b7EMDf.js","names":["open","Separator","SlotPrimitive","Tooltip"],"sources":["../packages/components/dialogs/detail-dialog/component/sidebar.tsx"],"sourcesContent":["'use client';\nimport { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { MenuIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'detai_dialog_sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'p';\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = use(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContextProps>(\n () => ({\n state,\n isMobile,\n\n toggleSidebar,\n\n open,\n setOpen,\n\n openMobile,\n setOpenMobile,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [state, open, setOpen, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn('group/sidebar-wrapper', 'has-data-[variant=inset]:bg-sidebar', 'flex min-h-dvh w-full', className)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { state, isMobile, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div data-slot=\"sidebar\" className={cn('bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col', className)} {...props}>\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'absolute inset-y-0 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n 'shadow-nav flex size-full flex-col',\n 'group-data-[variant=floating]:border-sidebar-border',\n 'group-data-[variant=floating]:rounded-lg',\n 'group-data-[variant=floating]:border',\n 'group-data-[variant=floating]:shadow-sm'\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction DetailDialogSidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n color=\"secondary\"\n size=\"icon\"\n className={cn('size-10 rounded-full [&_svg]:!size-6', className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction DetailDialogSidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex',\n 'after:absolute',\n 'after:inset-y-0',\n 'after:left-1/2 after:w-0.5',\n 'hover:after:bg-sidebar-border',\n 'group-data-[side=left]:-right-4',\n 'group-data-[side=right]:left-0',\n 'in-data-[side=left]:cursor-w-resize',\n 'in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize',\n '[[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar',\n 'group-data-[collapsible=offcanvas]:translate-x-0',\n 'group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2',\n 'md:peer-data-[variant=inset]:ml-0',\n 'md:peer-data-[variant=inset]:rounded-xl',\n 'md:peer-data-[variant=inset]:shadow-sm',\n 'md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return <Input data-slot=\"sidebar-input\" data-sidebar=\"input\" className={cn('bg-background h-8 w-full shadow-none', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-header\" data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-footer\" data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return <Separator data-slot=\"sidebar-separator\" data-sidebar=\"separator\" className={cn('bg-sidebar-border mx-2 w-auto', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto', 'group-data-[collapsible=icon]:overflow-hidden', className)}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group\" data-sidebar=\"group\" className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarGroupLabel({ className, asChild = false, ...props }: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8',\n 'group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroupAction({ className, asChild = false, ...props }: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute',\n 'after:-inset-2',\n 'md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"sidebar-group-content\" data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return <ul data-slot=\"sidebar-menu\" data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-item\" data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />;\n}\n\nconst sidebarMenuButtonVariants = cva(\n [\n 'peer/menu-button',\n 'cursor-pointer',\n 'flex w-full items-center gap-2',\n 'overflow-hidden rounded-md p-2 outline-hidden',\n 'text-left truncate',\n 'transition-[color,width,height,padding]',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'group-has-data-[sidebar=menu-action]/menu-item:pr-8',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n 'data-[active=true]:bg-sidebar-primary-muted',\n 'data-[active=true]:font-medium',\n 'data-[active=true]:text-sidebar-primary',\n 'data-[state=open]:hover:bg-sidebar-accent',\n 'data-[state=open]:hover:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:size-8!',\n 'group-data-[collapsible=icon]:p-2!',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>span:last-child]:truncate',\n ],\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent/60 hover:text-sidebar-accent-foreground/80',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction DetailDialogSidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n const { state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== 'collapsed'} {...tooltip} />\n </Tooltip>\n );\n}\n\nfunction DetailDialogSidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform',\n 'focus-visible:ring-2',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover && 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n showOnHover && '$group-focus-within/menu-item:opacity-100',\n showOnHover && 'group-hover/menu-item:opacity-100',\n showOnHover && 'data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div data-slot=\"sidebar-menu-skeleton\" data-sidebar=\"menu-skeleton\" className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)} {...props}>\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction DetailDialogSidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DetailDialogSidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li data-slot=\"sidebar-menu-sub-item\" data-sidebar=\"menu-sub-item\" className={cn('group/menu-sub-item relative', className)} {...props} />;\n}\n\nfunction DetailDialogSidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring',\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden',\n 'hover:bg-sidebar-accent',\n 'hover:text-sidebar-accent-foreground',\n 'active:bg-sidebar-accent',\n 'active:text-sidebar-accent-foreground',\n 'focus-visible:ring-2',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'aria-disabled:pointer-events-none',\n 'aria-disabled:opacity-50',\n '[&>span:last-child]:truncate',\n '[&>svg]:size-4',\n '[&>svg]:shrink-0',\n '[&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent',\n 'data-[active=true]:text-sidebar-accent-foreground',\n 'group-data-[collapsible=icon]:hidden',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarGroupAction,\n DetailDialogSidebarGroupContent,\n DetailDialogSidebarGroupLabel,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuAction,\n DetailDialogSidebarMenuBadge,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n DetailDialogSidebarMenuSkeleton,\n DetailDialogSidebarMenuSub,\n DetailDialogSidebarMenuSubButton,\n DetailDialogSidebarMenuSubItem,\n DetailDialogSidebarRail,\n DetailDialogSidebarSeparator,\n DetailDialogSidebarTrigger,\n Sidebar,\n SidebarInput,\n SidebarInset,\n SidebarProvider,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`@customafk/react-toolkit/utils`),n=require(`react/jsx-runtime`);function r({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`skeleton`,className:(0,t.cn)(`animate-pulse rounded-md bg-muted-muted`,e),...r})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=skeleton-C4suljHP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-C4suljHP.cjs","names":[],"sources":["../packages/components/ui/skeleton.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"skeleton\" className={cn('animate-pulse rounded-md bg-muted-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n"],"mappings":"uHAGA,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,WAAW,WAAA,EAAA,EAAA,IAAc,0CAA2C,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";function n({className:n,...r}){return t(`div`,{"data-slot":`skeleton`,className:e(`animate-pulse rounded-md bg-muted-muted`,n),...r})}export{n as t};
2
+ //# sourceMappingURL=skeleton-CDtN_I2p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-CDtN_I2p.js","names":[],"sources":["../packages/components/ui/skeleton.tsx"],"sourcesContent":["'use client';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"skeleton\" className={cn('animate-pulse rounded-md bg-muted-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n"],"mappings":"4FAGA,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,OAAO,EAAC,MAAA,CAAI,YAAU,WAAW,UAAW,EAAG,0CAA2C,EAAU,CAAE,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`@customafk/react-toolkit/utils`),n=require(`react/jsx-runtime`),r=require(`radix-ui`);function i({className:e,...i}){return(0,n.jsx)(r.Switch.Root,{"data-slot":`switch`,className:(0,t.cn)(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs outline-none transition-all`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,e),...i,children:(0,n.jsx)(r.Switch.Thumb,{"data-slot":`switch-thumb`,className:(0,t.cn)(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=switch-CF9mKsGi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-CF9mKsGi.cjs","names":["SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs outline-none transition-all',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0'\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"mappings":"6IAMA,SAAS,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CACf,YAAU,SACV,WAAA,EAAA,EAAA,IACE,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CACf,YAAU,eACV,WAAA,EAAA,EAAA,IACE,gBACA,4EACA,oDACA,uCACD,EACD,EACmB"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"@customafk/react-toolkit/utils";import{jsx as t}from"react/jsx-runtime";import{Switch as n}from"radix-ui";function r({className:r,...i}){return t(n.Root,{"data-slot":`switch`,className:e(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs outline-none transition-all`,`inline-flex h-5`,`data-[state=checked]:bg-primary`,`data-[state=unchecked]:bg-border-muted`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`data-[state=unchecked]:border-border-weak`,`data-[state=unchecked]:[&_span]:bg-accent-weak`,`data-[state=unchecked]:bg-transparent`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:shadow-none`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,r),...i,children:t(n.Thumb,{"data-slot":`switch-thumb`,className:e(`bg-background`,`pointer-events-none block size-4 rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}export{r as t};
2
+ //# sourceMappingURL=switch-DY634XAU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-DY634XAU.js","names":["Switch","SwitchPrimitive"],"sources":["../packages/components/ui/switch.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs outline-none transition-all',\n 'inline-flex h-5',\n 'data-[state=checked]:bg-primary',\n 'data-[state=unchecked]:bg-border-muted',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=unchecked]:border-border-weak',\n 'data-[state=unchecked]:[&_span]:bg-accent-weak',\n 'data-[state=unchecked]:bg-transparent',\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:shadow-none',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'bg-background',\n 'pointer-events-none block size-4 rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0'\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"mappings":"8HAMA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAACC,EAAgB,KAAA,CACf,YAAU,SACV,UAAW,EACT,OACA,wHACA,kBACA,kCACA,yCACA,sCACA,kCACA,uBACA,8BACA,sBACA,4CACA,iDACA,wCACA,yCACA,kDACA,8CACA,uDACA,EACD,CACD,GAAI,WAEJ,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,UAAW,EACT,gBACA,4EACA,oDACA,uCACD,EACD,EACmB"}
@@ -0,0 +1,17 @@
1
+ import { CredentialResponse } from "@react-oauth/google";
2
+
3
+ //#region packages/components/systems/google.d.ts
4
+ type GoogleProps = {
5
+ isDisabled: boolean;
6
+ onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;
7
+ };
8
+ declare const Google: React.FC<GoogleProps>;
9
+ type ReactOAuthProps = {
10
+ clientId: string;
11
+ isDisabled: boolean;
12
+ onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;
13
+ };
14
+ declare const ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>>;
15
+ //#endregion
16
+ export { Google, ReactOAuth as default };
17
+ //# sourceMappingURL=google-CNaq5f21.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { CredentialResponse } from "@react-oauth/google";
2
+
3
+ //#region packages/components/systems/google.d.ts
4
+ type GoogleProps = {
5
+ isDisabled: boolean;
6
+ onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;
7
+ };
8
+ declare const Google: React.FC<GoogleProps>;
9
+ type ReactOAuthProps = {
10
+ clientId: string;
11
+ isDisabled: boolean;
12
+ onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;
13
+ };
14
+ declare const ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>>;
15
+ //#endregion
16
+ export { Google, ReactOAuth as default };
17
+ //# sourceMappingURL=google-D1FcGbWQ.d.cts.map
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-DjWAcSYV.cjs`);let t=require(`react`);t=e.t(t);let n=require(`react/jsx-runtime`);n=e.t(n);let r=require(`@react-oauth/google`);r=e.t(r);const i=({isDisabled:e,onGoogleLoginSuccess:n})=>((0,r.useGoogleOneTapLogin)({disabled:e,use_fedcm_for_prompt:!1,onSuccess:(0,t.useCallback)(async e=>{!e.clientId||!e.credential||!e.select_by||await n?.({clientId:e.clientId,credential:e.credential,select_by:e.select_by})},[n])}),null),a=({clientId:e,isDisabled:t,onGoogleLoginSuccess:a,children:o})=>(0,n.jsxs)(r.GoogleOAuthProvider,{clientId:e,children:[o,(0,n.jsx)(i,{isDisabled:t,onGoogleLoginSuccess:a})]});var o=a;exports.Google=i,exports.default=o;
1
+ Object.defineProperty(exports,`__esModule`,{value:!0});const e=require(`../chunk-Bmb41Sf3.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`),r=require(`@react-oauth/google`);const i=({isDisabled:e,onGoogleLoginSuccess:n})=>((0,r.useGoogleOneTapLogin)({disabled:e,use_fedcm_for_prompt:!1,onSuccess:(0,t.useCallback)(async e=>{!e.clientId||!e.credential||!e.select_by||await n?.({clientId:e.clientId,credential:e.credential,select_by:e.select_by})},[n])}),null),a=({clientId:e,isDisabled:t,onGoogleLoginSuccess:a,children:o})=>(0,n.jsxs)(r.GoogleOAuthProvider,{clientId:e,children:[o,(0,n.jsx)(i,{isDisabled:t,onGoogleLoginSuccess:a})]});var o=a;exports.Google=i,exports.default=o;
2
2
  //# sourceMappingURL=google.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.cjs","names":["Google: React.FC<GoogleProps>","ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>>","GoogleOAuthProvider"],"sources":["../../packages/components/systems/google.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { type CredentialResponse, GoogleOAuthProvider, useGoogleOneTapLogin } from '@react-oauth/google';\n\ntype GoogleProps = {\n isDisabled: boolean;\n onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;\n};\nexport const Google: React.FC<GoogleProps> = ({ isDisabled, onGoogleLoginSuccess }) => {\n const handleSignIn = useCallback(\n async (response: CredentialResponse) => {\n if (!response.clientId || !response.credential || !response.select_by) return;\n await onGoogleLoginSuccess?.({\n clientId: response.clientId,\n credential: response.credential,\n select_by: response.select_by,\n });\n },\n [onGoogleLoginSuccess]\n );\n useGoogleOneTapLogin({\n disabled: isDisabled,\n use_fedcm_for_prompt: false,\n onSuccess: handleSignIn,\n });\n return null;\n};\n\ntype ReactOAuthProps = {\n clientId: string;\n isDisabled: boolean;\n onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;\n};\nconst ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>> = ({ clientId, isDisabled, onGoogleLoginSuccess, children }) => {\n return (\n <GoogleOAuthProvider clientId={clientId}>\n {children}\n <Google isDisabled={isDisabled} onGoogleLoginSuccess={onGoogleLoginSuccess} />\n </GoogleOAuthProvider>\n );\n};\n\nexport default ReactOAuth;\n"],"mappings":"0NAQA,MAAaA,GAAiC,CAAE,aAAY,4BAY1D,EAAA,EAAA,sBAAqB,CACnB,SAAU,EACV,qBAAsB,GACtB,WAAA,EAAA,EAAA,aAbA,KAAO,IAAiC,CAClC,CAAC,EAAS,UAAY,CAAC,EAAS,YAAc,CAAC,EAAS,WAC5D,MAAM,IAAuB,CAC3B,SAAU,EAAS,SACnB,WAAY,EAAS,WACrB,UAAW,EAAS,UACrB,CAAC,EAEJ,CAAC,EAAqB,CACvB,CAKA,CAAC,CACK,MAQHC,GAAkE,CAAE,WAAU,aAAY,uBAAsB,eAElH,EAAA,EAAA,MAACC,EAAAA,oBAAAA,CAA8B,qBAC5B,GACD,EAAA,EAAA,KAAC,EAAA,CAAmB,aAAkC,wBAAwB,CAAA,EAC1D,CAI1B,IAAA,EAAe"}
1
+ {"version":3,"file":"google.cjs","names":["Google: React.FC<GoogleProps>","ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>>","GoogleOAuthProvider"],"sources":["../../packages/components/systems/google.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { type CredentialResponse, GoogleOAuthProvider, useGoogleOneTapLogin } from '@react-oauth/google';\n\ntype GoogleProps = {\n isDisabled: boolean;\n onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;\n};\nexport const Google: React.FC<GoogleProps> = ({ isDisabled, onGoogleLoginSuccess }) => {\n const handleSignIn = useCallback(\n async (response: CredentialResponse) => {\n if (!response.clientId || !response.credential || !response.select_by) return;\n await onGoogleLoginSuccess?.({\n clientId: response.clientId,\n credential: response.credential,\n select_by: response.select_by,\n });\n },\n [onGoogleLoginSuccess]\n );\n useGoogleOneTapLogin({\n disabled: isDisabled,\n use_fedcm_for_prompt: false,\n onSuccess: handleSignIn,\n });\n return null;\n};\n\ntype ReactOAuthProps = {\n clientId: string;\n isDisabled: boolean;\n onGoogleLoginSuccess?: (params: CredentialResponse) => void | Promise<void>;\n};\nconst ReactOAuth: React.FC<React.PropsWithChildren<ReactOAuthProps>> = ({ clientId, isDisabled, onGoogleLoginSuccess, children }) => {\n return (\n <GoogleOAuthProvider clientId={clientId}>\n {children}\n <Google isDisabled={isDisabled} onGoogleLoginSuccess={onGoogleLoginSuccess} />\n </GoogleOAuthProvider>\n );\n};\n\nexport default ReactOAuth;\n"],"mappings":"uLAQA,MAAaA,GAAiC,CAAE,aAAY,4BAY1D,EAAA,EAAA,sBAAqB,CACnB,SAAU,EACV,qBAAsB,GACtB,WAAA,EAAA,EAAA,aAbA,KAAO,IAAiC,CAClC,CAAC,EAAS,UAAY,CAAC,EAAS,YAAc,CAAC,EAAS,WAC5D,MAAM,IAAuB,CAC3B,SAAU,EAAS,SACnB,WAAY,EAAS,WACrB,UAAW,EAAS,UACrB,CAAC,EAEJ,CAAC,EAAqB,CACvB,CAKA,CAAC,CACK,MAQHC,GAAkE,CAAE,WAAU,aAAY,uBAAsB,eAElH,EAAA,EAAA,MAACC,EAAAA,oBAAAA,CAA8B,qBAC5B,GACD,EAAA,EAAA,KAAC,EAAA,CAAmB,aAAkC,wBAAwB,CAAA,EAC1D,CAI1B,IAAA,EAAe"}
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime16 from "react/jsx-runtime";
2
+ import { ColumnDef } from "@tanstack/react-table";
3
+
4
+ //#region packages/components/table/index.d.ts
5
+ type Props<T> = {
6
+ data: T[];
7
+ totalCount?: number;
8
+ isLoading?: boolean;
9
+ isFetching?: boolean;
10
+ allowLoadMore?: boolean;
11
+ columns: ColumnDef<T>[];
12
+ onAdd?: () => void;
13
+ onRefresh?: () => void;
14
+ onClickRow?: (id: string) => void;
15
+ onFetchNextPage?: () => void;
16
+ };
17
+ declare function Table<T extends Record<string, unknown>>({
18
+ data,
19
+ totalCount,
20
+ isLoading,
21
+ isFetching,
22
+ allowLoadMore: isAllowFetchMore,
23
+ columns,
24
+ onAdd,
25
+ onRefresh,
26
+ onClickRow,
27
+ onFetchNextPage
28
+ }: Props<T>): react_jsx_runtime16.JSX.Element;
29
+ //#endregion
30
+ export { Table };
31
+ //# sourceMappingURL=index-BHYQJuIu.d.ts.map
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
2
+ import { ColumnDef } from "@tanstack/react-table";
3
+
4
+ //#region packages/components/table/index.d.ts
5
+ type Props<T> = {
6
+ data: T[];
7
+ totalCount?: number;
8
+ isLoading?: boolean;
9
+ isFetching?: boolean;
10
+ allowLoadMore?: boolean;
11
+ columns: ColumnDef<T>[];
12
+ onAdd?: () => void;
13
+ onRefresh?: () => void;
14
+ onClickRow?: (id: string) => void;
15
+ onFetchNextPage?: () => void;
16
+ };
17
+ declare function Table<T extends Record<string, unknown>>({
18
+ data,
19
+ totalCount,
20
+ isLoading,
21
+ isFetching,
22
+ allowLoadMore: isAllowFetchMore,
23
+ columns,
24
+ onAdd,
25
+ onRefresh,
26
+ onClickRow,
27
+ onFetchNextPage
28
+ }: Props<T>): react_jsx_runtime24.JSX.Element;
29
+ //#endregion
30
+ export { Table };
31
+ //# sourceMappingURL=index-C3CzG1Js.d.cts.map
@@ -1,2 +1,2 @@
1
- "use client";const e=require(`../chunk-DjWAcSYV.cjs`);require(`../dist-BdSAGFCS.cjs`),require(`../button-variants-BebiEdiS.cjs`),require(`../button-BKgDCyHZ.cjs`);const t=require(`../flex-CARSrVMd.cjs`);require(`../paragraph-Dh4JbICu.cjs`),require(`../input-DFwfYrJY.cjs`);const n=require(`../scroll-area-D5UB0gnG.cjs`),r=require(`../table-Dum42k1g.cjs`),i=require(`../add-new-Ba_59G-R.cjs`),a=require(`../refresh-CiSphj7K.cjs`),o=require(`../search-input-CDYFkB98.cjs`);let s=require(`lucide-react`);s=e.t(s);let c=require(`@customafk/react-toolkit/utils`);c=e.t(c);let l=require(`react`);l=e.t(l);let u=require(`react/jsx-runtime`);u=e.t(u);let d=require(`@tanstack/react-table`);d=e.t(d);let f=require(`@tanstack/react-virtual`);f=e.t(f);const p=(0,l.createContext)(null),m=({measureElement:e,onClickRow:t,children:n})=>{let r=(0,l.useMemo)(()=>({measureElement:e,onClickRow:t}),[e,t]);return(0,u.jsx)(p.Provider,{value:r,children:n})},h=()=>{let e=(0,l.useContext)(p);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},g=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),...!e.getSize()&&{flex:1},zIndex:t?1:0}},_=(0,l.memo)(({header:e})=>{let t=(0,l.useCallback)(t=>{e.column.getCanSort()&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e.column.getToggleSortingHandler()?.(t))},[e.column]);return e.isPlaceholder?(0,u.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`}):e.id===`actions`?null:(0,u.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:(0,u.jsx)(`div`,{tabIndex:e.column.getCanSort()?0:void 0,role:e.column.getCanSort()?`button`:void 0,className:`flex h-full cursor-pointer items-center justify-between select-none`,onKeyDown:t,children:(0,u.jsx)(`span`,{className:`truncate`,children:(0,d.flexRender)(e.column.columnDef.header,e.getContext())})})})});_.displayName=`HeaderContent`;const v=(0,l.memo)(({row:e,virtualRow:t})=>{let{measureElement:n,onClickRow:i}=h(),a=(0,l.useCallback)(e=>{n(e)},[n]),o=(0,l.useCallback)(()=>{i?.(e.id)},[e.id,i]);return(0,u.jsx)(r.c,{tabIndex:i?0:void 0,"data-index":t.index,role:i?`button`:void 0,ref:a,style:{transform:`translateY(${t.start}px)`},onClick:o,children:e.getVisibleCells().map(e=>{let t=e.column.getIsPinned(),n=t===`right`&&e.column.getIsFirstColumn(`right`);return(0,u.jsx)(r.i,{"data-pinned":t||void 0,"data-last-col":n?`right`:void 0,style:{width:e.id.includes(`actions`)?60:e.column.getSize(),right:t===`right`?`${e.column.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,zIndex:t?10:0},children:(0,d.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})})});v.displayName=`DataTableRow`;const y=(0,l.memo)(({headerGroups:e})=>(0,u.jsx)(r.s,{className:`sticky top-0 z-10 backdrop-blur-xs bg-background/90`,children:e.map(e=>(0,u.jsx)(r.c,{className:`flex w-full border-none`,children:e.headers.map(e=>{let t=e.column.getIsPinned(),n=t===`left`&&e.column.getIsLastColumn(`left`),i=t===`right`&&e.column.getIsFirstColumn(`right`),a=n?`left`:i?`right`:void 0,o={...g(e.column),...e.id===`actions`&&{width:60}};return(0,u.jsx)(r.o,{"data-pinned":!!t,"data-last-col":a,colSpan:e.colSpan,style:o,className:(0,c.cn)(`relative flex h-12 font-medium select-none [&>.cursor-col-resize]:last:opacity-0`,e.id===`actions`&&`bg-background/90 z-20`),children:(0,u.jsx)(_,{header:e})},e.id)})},e.id))}));y.displayName=`DataTableHeader`;const b=(0,l.memo)(({isLoading:e,totalBodyHeight:t,rows:n,virtualItems:i})=>(0,u.jsxs)(r.n,{style:{height:`${t}px`},className:(0,c.cn)(e&&`h-36`,n?.length===0&&`h-48`,`relative`,`grid`,`w-full`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer`,`[&_tr]:focus:outline-none`,`[&_td]:p-2`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:whitespace-nowrap`,`[&_td]:flex`,`[&_td]:overflow-hidden`,`[&_td]:z-20`,`[&_td]:data-pinned:bg-background/90`),children:[e&&(0,u.jsx)(r.c,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,u.jsx)(r.i,{children:`loading...`})}),!e&&(0,u.jsx)(u.Fragment,{children:i.map(e=>{let t=n[e.index],r=t?.id||(t.original&&`id`in t.original?String(t.original.id):null)||(t.original&&`uuid`in t.original?String(t.original.uuid):null)||e.index.toString(),i=r??String(e.index);return(0,u.jsx)(v,{id:r,row:t,virtualRow:e},i)})})]}));b.displayName=`DataTableBody`;const x=(0,l.memo)(({isFetching:e,children:t})=>(0,u.jsxs)(r.t,{className:`w-full! grid border-separate border-spacing-0 [&_td]:border-border [&_th]:border-border [&_th]:border-b [&_th]:border-b-border [&_tfoot_td]:border-t`,children:[t,e&&(0,u.jsx)(r.a,{className:`flex w-full justify-center py-2`,children:(0,u.jsx)(s.LoaderIcon,{size:16,className:`animate-spin`,"aria-label":`Loading more data`})})]}));x.displayName=`DataTable`;const S=(0,l.memo)(({onAdd:e,onRefresh:n})=>(0,u.jsxs)(t.t,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,u.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,u.jsx)(o.t,{placeholder:`Search...`})}),(0,u.jsxs)(t.t,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,u.jsx)(i.t,{onClick:e}),(0,u.jsx)(a.t,{onClick:n})]})]}));S.displayName=`DataTableToolip`;function C({data:e,totalCount:r,isLoading:i,isFetching:a,allowLoadMore:o=!1,columns:s,onAdd:c,onRefresh:p,onClickRow:h,onFetchNextPage:g}){let _=(0,l.useRef)(null),[v,C]=(0,l.useState)({}),[w,T]=(0,l.useState)([]),[E,D]=(0,l.useState)([]),[O,k]=(0,l.useState)({}),A=(0,l.useMemo)(()=>({columnPinning:{right:[`actions`,`update`,`delete`]}}),[]),j=(0,l.useMemo)(()=>({rowSelection:v,sorting:w,columnVisibility:O,columnFilters:E}),[v,w,O,E]),M=(0,l.useCallback)(e=>e.id||e.uuid,[]),N=(0,d.useReactTable)({initialState:A,data:e,columns:s,rowCount:r,columnResizeMode:`onChange`,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,d.getCoreRowModel)(),getSortedRowModel:(0,d.getSortedRowModel)(),getFilteredRowModel:(0,d.getFilteredRowModel)(),getFacetedRowModel:(0,d.getFacetedRowModel)(),getFacetedUniqueValues:(0,d.getFacetedUniqueValues)(),getRowId:M,state:j,onRowSelectionChange:C,onSortingChange:T,onColumnVisibilityChange:k,onColumnFiltersChange:D}),P=(0,f.useVirtualizer)({count:N.getRowModel().rows.length,getScrollElement:()=>_.current,estimateSize:()=>37,measureElement:e=>e?.getBoundingClientRect().height??void 0,overscan:5}),F=(0,l.useCallback)(e=>{if(!e)return;let{scrollHeight:t,scrollTop:n,clientHeight:r}=e;t-n-r<500&&!a&&o&&g?.()},[o,a,g]),I=(0,l.useCallback)(e=>{F(e.currentTarget)},[F]);return(0,l.useEffect)(()=>{let e=setTimeout(()=>{F(_.current)},100);return()=>clearTimeout(e)},[F]),(0,u.jsxs)(t.t,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full pt-1`,children:[(0,u.jsx)(S,{onAdd:c,onRefresh:p}),(0,u.jsx)(t.t,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:(0,u.jsxs)(n.t,{ref:_,className:`border-border bg-background relative w-full overflow-auto`,onScroll:I,children:[(0,u.jsx)(m,{measureElement:P.measureElement,onClickRow:h,children:(0,u.jsxs)(x,{isFetching:a,children:[(0,u.jsx)(y,{headerGroups:N.getHeaderGroups()}),(0,u.jsx)(b,{isLoading:i,rows:N.getRowModel().rows,totalBodyHeight:P.getTotalSize(),virtualItems:P.getVirtualItems()})]})}),(0,u.jsx)(n.n,{orientation:`horizontal`})]})})]})}exports.Table=C;
1
+ "use client";const e=require(`../chunk-Bmb41Sf3.cjs`);require(`../dist-Dh8WwRa8.cjs`),require(`../button.variants-D1vkzrn1.cjs`),require(`../button-BSQjtXgG.cjs`);const t=require(`../flex-CKdTJVZS.cjs`);require(`../paragraph-DK9X31Fr.cjs`),require(`../input-D2bPk-nW.cjs`);const n=require(`../scroll-area-CySh6HoN.cjs`),r=require(`../table-_gxbUUnS.cjs`),i=require(`../add-new-DIT9Jyap.cjs`),a=require(`../refresh-BeyJ1P13.cjs`),o=require(`../search-input-TjDtryHg.cjs`);let s=require(`lucide-react`),c=require(`react`),l=require(`@customafk/react-toolkit/utils`),u=require(`react/jsx-runtime`),d=require(`@tanstack/react-table`),f=require(`@tanstack/react-virtual`);const p=(0,c.createContext)(null),m=({measureElement:e,onClickRow:t,children:n})=>{let r=(0,c.useMemo)(()=>({measureElement:e,onClickRow:t}),[e,t]);return(0,u.jsx)(p.Provider,{value:r,children:n})},h=()=>{let e=(0,c.use)(p);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},g=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),...!e.getSize()&&{flex:1},zIndex:t?1:0}},_=(0,c.memo)(({header:e})=>{let t=(0,c.useCallback)(t=>{e.column.getCanSort()&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e.column.getToggleSortingHandler()?.(t))},[e.column]);return e.isPlaceholder?(0,u.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`}):e.id===`actions`?null:(0,u.jsx)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:(0,u.jsx)(`div`,{tabIndex:e.column.getCanSort()?0:void 0,role:e.column.getCanSort()?`button`:void 0,className:`flex h-full cursor-pointer select-none items-center justify-between`,onKeyDown:t,children:(0,u.jsx)(`span`,{className:`truncate`,children:(0,d.flexRender)(e.column.columnDef.header,e.getContext())})})})});_.displayName=`HeaderContent`;const v=(0,c.memo)(({row:e,virtualRow:t})=>{let{measureElement:n,onClickRow:i}=h(),a=(0,c.useCallback)(e=>{n(e)},[n]),o=(0,c.useCallback)(()=>{i?.(e.id)},[e.id,i]);return(0,u.jsx)(r.c,{tabIndex:i?0:void 0,"data-index":t.index,role:i?`button`:void 0,ref:a,style:{transform:`translateY(${t.start}px)`},onClick:o,children:e.getVisibleCells().map(e=>{let t=e.column.getIsPinned(),n=t===`right`&&e.column.getIsFirstColumn(`right`);return(0,u.jsx)(r.i,{"data-pinned":t||void 0,"data-last-col":n?`right`:void 0,style:{width:e.id.includes(`actions`)?60:e.column.getSize(),right:t===`right`?`${e.column.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,zIndex:t?10:0},children:(0,d.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})})});v.displayName=`DataTableRow`;const y=(0,c.memo)(({headerGroups:e})=>(0,u.jsx)(r.s,{className:`sticky top-0 z-10 bg-background/90 backdrop-blur-xs`,children:e.map(e=>(0,u.jsx)(r.c,{className:`flex w-full border-none`,children:e.headers.map(e=>{let t=e.column.getIsPinned(),n=t===`left`&&e.column.getIsLastColumn(`left`),i=t===`right`&&e.column.getIsFirstColumn(`right`),a=n?`left`:i?`right`:void 0,o={...g(e.column),...e.id===`actions`&&{width:60}};return(0,u.jsx)(r.o,{"data-pinned":!!t,"data-last-col":a,colSpan:e.colSpan,style:o,className:(0,l.cn)(`relative flex h-12 select-none font-medium [&>.cursor-col-resize]:last:opacity-0`,e.id===`actions`&&`z-20 bg-background/90`),children:(0,u.jsx)(_,{header:e})},e.id)})},e.id))}));y.displayName=`DataTableHeader`;const b=(0,c.memo)(({isLoading:e,totalBodyHeight:t,rows:n,virtualItems:i})=>(0,u.jsxs)(r.n,{style:{height:`${t}px`},className:(0,l.cn)(e&&`h-36`,n?.length===0&&`h-48`,`relative`,`grid`,`w-full`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer`,`[&_tr]:focus:outline-none`,`[&_td]:p-2`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:whitespace-nowrap`,`[&_td]:flex`,`[&_td]:overflow-hidden`,`[&_td]:z-20`,`[&_td]:data-pinned:bg-background/90`),children:[e&&(0,u.jsx)(r.c,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,u.jsx)(r.i,{children:`loading...`})}),!e&&i.map(e=>{let t=n[e.index],r=t?.id||(t.original&&`id`in t.original?String(t.original.id):null)||(t.original&&`uuid`in t.original?String(t.original.uuid):null)||e.index.toString(),i=r??String(e.index);return(0,u.jsx)(v,{id:r,row:t,virtualRow:e},i)})]}));b.displayName=`DataTableBody`;const x=(0,c.memo)(({isFetching:e,children:t})=>(0,u.jsxs)(r.t,{className:`grid w-full! border-separate border-spacing-0 [&_td]:border-border [&_tfoot_td]:border-t [&_th]:border-border [&_th]:border-b [&_th]:border-b-border`,children:[t,e&&(0,u.jsx)(r.a,{className:`flex w-full justify-center py-2`,children:(0,u.jsx)(s.LoaderIcon,{size:16,className:`animate-spin`,"aria-label":`Loading more data`})})]}));x.displayName=`DataTable`;const S=(0,c.memo)(({onAdd:e,onRefresh:n})=>(0,u.jsxs)(t.t,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,u.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,u.jsx)(o.t,{placeholder:`Search...`})}),(0,u.jsxs)(t.t,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,u.jsx)(i.t,{onClick:e}),(0,u.jsx)(a.t,{onClick:n})]})]}));S.displayName=`DataTableToolip`;function C({data:e,totalCount:r,isLoading:i,isFetching:a,allowLoadMore:o=!1,columns:s,onAdd:l,onRefresh:p,onClickRow:h,onFetchNextPage:g}){let _=(0,c.useRef)(null),[v,C]=(0,c.useState)({}),[w,T]=(0,c.useState)([]),[E,D]=(0,c.useState)([]),[O,k]=(0,c.useState)({}),A=(0,c.useMemo)(()=>({columnPinning:{right:[`actions`,`update`,`delete`]}}),[]),j=(0,c.useMemo)(()=>({rowSelection:v,sorting:w,columnVisibility:O,columnFilters:E}),[v,w,O,E]),M=(0,c.useCallback)(e=>e.id||e.uuid,[]),N=(0,d.useReactTable)({initialState:A,data:e,columns:s,rowCount:r,columnResizeMode:`onChange`,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,d.getCoreRowModel)(),getSortedRowModel:(0,d.getSortedRowModel)(),getFilteredRowModel:(0,d.getFilteredRowModel)(),getFacetedRowModel:(0,d.getFacetedRowModel)(),getFacetedUniqueValues:(0,d.getFacetedUniqueValues)(),getRowId:M,state:j,onRowSelectionChange:C,onSortingChange:T,onColumnVisibilityChange:k,onColumnFiltersChange:D}),P=(0,f.useVirtualizer)({count:N.getRowModel().rows.length,getScrollElement:()=>_.current,estimateSize:()=>37,measureElement:e=>e?.getBoundingClientRect().height??void 0,overscan:5}),F=(0,c.useCallback)(e=>{if(!e)return;let{scrollHeight:t,scrollTop:n,clientHeight:r}=e;t-n-r<500&&!a&&o&&g?.()},[o,a,g]),I=(0,c.useCallback)(e=>{F(e.currentTarget)},[F]);return(0,c.useEffect)(()=>{let e=setTimeout(()=>{F(_.current)},100);return()=>clearTimeout(e)},[F]),(0,u.jsxs)(t.t,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full pt-1`,children:[(0,u.jsx)(S,{onAdd:l,onRefresh:p}),(0,u.jsx)(t.t,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:(0,u.jsxs)(n.t,{ref:_,className:`relative w-full overflow-auto border-border bg-background`,onScroll:I,children:[(0,u.jsx)(m,{measureElement:P.measureElement,onClickRow:h,children:(0,u.jsxs)(x,{isFetching:a,children:[(0,u.jsx)(y,{headerGroups:N.getHeaderGroups()}),(0,u.jsx)(b,{isLoading:i,rows:N.getRowModel().rows,totalBodyHeight:P.getTotalSize(),virtualItems:P.getVirtualItems()})]})}),(0,u.jsx)(n.n,{orientation:`horizontal`})]})})]})}exports.Table=C;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["TableRow","TableCell","TableHeader","TableHead","TableBody","Table","TableFooter","LoaderIcon","DataTableToolip: React.FC<Props>","Flex","SearchInput","AddNewBtn","RefreshBtn","Flex","ScrollArea","ScrollBar"],"sources":["../../packages/components/table/context.tsx","../../packages/components/table/data-table.tsx","../../packages/components/table/data-table-tooltip.tsx","../../packages/components/table/index.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react';\n\ntype TableProviderProps = {\n measureElement: (element?: HTMLTableRowElement | null | undefined) => void;\n onClickRow?: (id: string) => void;\n};\n\nconst TableContext = createContext<TableProviderProps | null>(null);\n\nexport const TableProvider = ({ measureElement, onClickRow, children }: React.PropsWithChildren<TableProviderProps>) => {\n const value = useMemo(() => ({ measureElement, onClickRow }), [measureElement, onClickRow]);\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport const useTableContext = (): TableProviderProps => {\n const context = useContext(TableContext);\n if (!context) {\n throw new Error('useTableContext must be used within a TableProvider');\n }\n return context;\n};\n","import { memo, useCallback } from 'react';\n\nimport { type Column, flexRender, type Header, type HeaderGroup, type Row } from '@tanstack/react-table';\nimport { LoaderIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport type { VirtualItem } from '@tanstack/react-virtual';\nimport { Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '@/components/ui/table';\nimport type { AnyEntity } from '@/types';\nimport { useTableContext } from './context';\n\n/**\n * Computes styles for pinned columns\n * @param column Table column\n * @returns CSS styles for pinned columns\n */\nconst getPinningStyles = (column: Column<AnyEntity>): React.CSSProperties => {\n const isPinned = column.getIsPinned();\n return {\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n ...(!column.getSize() && { flex: 1 }),\n zIndex: isPinned ? 1 : 0,\n };\n};\n\nconst HeaderContent = memo(({ header }: { header: Header<AnyEntity, unknown> }) => {\n const handleSort = useCallback(\n (e: React.KeyboardEvent) => {\n if (header.column.getCanSort() && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n header.column.getToggleSortingHandler()?.(e);\n }\n },\n [header.column]\n );\n\n if (header.isPlaceholder) {\n return <div className=\"flex items-center justify-between gap-2 truncate\" />;\n }\n\n if (header.id === 'actions') return null;\n\n return (\n <div className=\"flex items-center justify-between gap-2 truncate\">\n <div\n tabIndex={header.column.getCanSort() ? 0 : undefined}\n role={header.column.getCanSort() ? 'button' : undefined}\n className=\"flex h-full cursor-pointer items-center justify-between select-none\"\n onKeyDown={handleSort}\n >\n <span className=\"truncate\">{flexRender(header.column.columnDef.header, header.getContext())}</span>\n </div>\n </div>\n );\n});\nHeaderContent.displayName = 'HeaderContent';\n\ntype DataTableRowProps = {\n id: string;\n row: Row<AnyEntity>;\n virtualRow: VirtualItem;\n};\nconst DataTableRow = memo(({ row, virtualRow }: DataTableRowProps) => {\n const { measureElement, onClickRow } = useTableContext();\n\n const handleRef = useCallback(\n (node: HTMLTableRowElement | null | undefined) => {\n measureElement(node);\n },\n [measureElement]\n );\n\n const handleClick = useCallback(() => {\n onClickRow?.(row.id);\n }, [row.id, onClickRow]);\n\n return (\n <TableRow\n tabIndex={onClickRow ? 0 : undefined}\n data-index={virtualRow.index}\n role={onClickRow ? 'button' : undefined}\n ref={handleRef}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map(cell => {\n const isPinned = cell.column.getIsPinned();\n const isFirstRightPinned = isPinned === 'right' && cell.column.getIsFirstColumn('right');\n\n return (\n <TableCell\n key={cell.id}\n data-pinned={isPinned || undefined}\n data-last-col={isFirstRightPinned ? 'right' : undefined}\n style={{\n width: cell.id.includes('actions') ? 60 : cell.column.getSize(),\n right: isPinned === 'right' ? `${cell.column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n zIndex: isPinned ? 10 : 0,\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n );\n })}\n </TableRow>\n );\n});\nDataTableRow.displayName = 'DataTableRow';\n\nexport const DataTableHeader = memo(({ headerGroups }: { headerGroups: HeaderGroup<AnyEntity>[] }) => {\n return (\n <TableHeader className=\"sticky top-0 z-10 backdrop-blur-xs bg-background/90\">\n {headerGroups.map(headerGroup => (\n <TableRow key={headerGroup.id} className=\"flex w-full border-none\">\n {headerGroup.headers.map(header => {\n const isPinned = header.column.getIsPinned();\n const isLastLeftPinned = isPinned === 'left' && header.column.getIsLastColumn('left');\n const isFirstRightPinned = isPinned === 'right' && header.column.getIsFirstColumn('right');\n const lastColState = isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined;\n\n const headerStyles = {\n // width: header.getSize() ?? \"100%\",\n ...getPinningStyles(header.column),\n ...(header.id === 'actions' && { width: 60 }),\n };\n\n return (\n <TableHead\n key={header.id}\n data-pinned={!!isPinned}\n data-last-col={lastColState}\n colSpan={header.colSpan}\n style={headerStyles}\n className={cn(\n 'relative flex h-12 font-medium select-none [&>.cursor-col-resize]:last:opacity-0',\n header.id === 'actions' && 'bg-background/90 z-20'\n )}\n >\n <HeaderContent header={header} />\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n );\n});\nDataTableHeader.displayName = 'DataTableHeader';\n\ntype DataTableBodyProps = {\n isLoading?: boolean;\n totalBodyHeight?: number;\n rows: Row<AnyEntity>[];\n virtualItems: VirtualItem[];\n};\nexport const DataTableBody = memo(({ isLoading, totalBodyHeight, rows, virtualItems }: DataTableBodyProps) => {\n return (\n <TableBody\n style={{\n height: `${totalBodyHeight}px`, //tells scrollbar how big the table is\n }}\n className={cn(\n isLoading && 'h-36',\n rows?.length === 0 && 'h-48',\n 'relative',\n 'grid',\n 'w-full',\n '[&_tr]:absolute',\n '[&_tr]:flex',\n '[&_tr]:w-full',\n '[&_tr]:cursor-pointer',\n '[&_tr]:focus:outline-none',\n '[&_td]:p-2',\n '[&_td]:py-2.5',\n '[&_td]:align-middle',\n '[&_td]:whitespace-nowrap',\n '[&_td]:flex',\n '[&_td]:overflow-hidden',\n '[&_td]:z-20',\n '[&_td]:data-pinned:bg-background/90'\n )}\n >\n {isLoading && (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>loading...</TableCell>\n </TableRow>\n )}\n {!isLoading && (\n <>\n {virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n const rowId =\n row?.id ||\n (row.original && 'id' in row.original ? String(row.original.id) : null) ||\n (row.original && 'uuid' in row.original ? String(row.original.uuid) : null) ||\n virtualRow.index.toString();\n const key = rowId ?? String(virtualRow.index);\n return <DataTableRow key={key} id={rowId} row={row} virtualRow={virtualRow} />;\n })}\n </>\n )}\n </TableBody>\n );\n});\nDataTableBody.displayName = 'DataTableBody';\n\nexport const DataTable = memo(\n ({\n isFetching,\n children,\n }: React.PropsWithChildren<{\n isFetching?: boolean;\n }>) => {\n return (\n <Table className=\"w-full! grid border-separate border-spacing-0 [&_td]:border-border [&_th]:border-border [&_th]:border-b [&_th]:border-b-border [&_tfoot_td]:border-t\">\n {children}\n {isFetching && (\n <TableFooter className=\"flex w-full justify-center py-2\">\n <LoaderIcon size={16} className=\"animate-spin\" aria-label=\"Loading more data\" />\n </TableFooter>\n )}\n </Table>\n );\n }\n);\nDataTable.displayName = 'DataTable';\n","import { memo } from 'react';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { AddNewBtn } from '@/components/ui/buttons/add-new';\nimport { RefreshBtn } from '@/components/ui/buttons/refresh';\nimport { SearchInput } from '@/components/ui/inputs/search-input';\n\ntype Props = {\n onAdd?: () => void;\n onRefresh?: () => void;\n};\n\nexport const DataTableToolip: React.FC<Props> = memo(({ onAdd, onRefresh }) => {\n return (\n <Flex justify=\"between\" padding=\"none\" width=\"full\" className=\"flex-0\">\n <div className=\"max-sm:flex-1\">\n <SearchInput placeholder=\"Search...\" />\n </div>\n <Flex wrap={false} className=\"flex-0 px-0\">\n {!!onAdd && <AddNewBtn onClick={onAdd} />}\n <RefreshBtn onClick={onRefresh} />\n </Flex>\n </Flex>\n );\n});\nDataTableToolip.displayName = 'DataTableToolip';\n","'use client';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { ColumnDef, ColumnFiltersState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table';\nimport { getCoreRowModel, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';\n\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { Flex } from '../layouts/flex';\nimport { ScrollArea, ScrollBar } from '../ui/scroll-area';\nimport { TableProvider } from './context';\nimport { DataTable, DataTableBody, DataTableHeader } from './data-table';\nimport { DataTableToolip } from './data-table-tooltip';\n\ntype Props<T> = {\n data: T[];\n totalCount?: number;\n isLoading?: boolean;\n isFetching?: boolean;\n allowLoadMore?: boolean;\n columns: ColumnDef<T>[];\n onAdd?: () => void;\n onRefresh?: () => void;\n onClickRow?: (id: string) => void;\n onFetchNextPage?: () => void;\n};\nexport function Table<T extends Record<string, unknown>>({\n data,\n totalCount,\n isLoading,\n isFetching,\n allowLoadMore: isAllowFetchMore = false,\n columns,\n onAdd,\n onRefresh,\n onClickRow,\n onFetchNextPage,\n}: Props<T>) {\n const tableContainerRef = useRef<HTMLDivElement>(null);\n\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n\n const initialState = useMemo(\n () => ({\n columnPinning: { right: ['actions', 'update', 'delete'] },\n }),\n []\n );\n\n const state = useMemo(() => {\n return {\n rowSelection,\n sorting,\n columnVisibility,\n columnFilters,\n };\n }, [rowSelection, sorting, columnVisibility, columnFilters]);\n\n const handleGetRowId = useCallback((row: T) => {\n return (row.id as string) || (row.uuid as string);\n }, []);\n\n const table = useReactTable<T>({\n initialState,\n data,\n columns,\n rowCount: totalCount,\n columnResizeMode: 'onChange',\n enableColumnResizing: false,\n enableMultiRowSelection: false,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getRowId: handleGetRowId,\n state: state,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnVisibilityChange: setColumnVisibility,\n onColumnFiltersChange: setColumnFilters,\n });\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: table.getRowModel().rows.length,\n getScrollElement: () => tableContainerRef.current,\n estimateSize: () => 37, // estimated row height\n measureElement: element => element?.getBoundingClientRect().height ?? undefined,\n overscan: 5, // Render additional rows beyond viewport for smoother scrolling\n });\n\n // Fetch more data when user approaches bottom of table\n const handleFetchMoreOnBottomReached = useCallback(\n (refEl: HTMLDivElement | null) => {\n if (!refEl) return;\n const { scrollHeight, scrollTop, clientHeight } = refEl;\n // Threshold of 120px from bottom to trigger load more\n if (scrollHeight - scrollTop - clientHeight < 500 && !isFetching && isAllowFetchMore) {\n onFetchNextPage?.();\n }\n },\n [isAllowFetchMore, isFetching, onFetchNextPage]\n );\n\n // Handle scroll events to check if more data should be loaded\n const handleScroll = useCallback(\n (ev: React.UIEvent<HTMLDivElement>) => {\n handleFetchMoreOnBottomReached(ev.currentTarget);\n },\n [handleFetchMoreOnBottomReached]\n );\n\n // Check for more data on mount and when dependencies change\n useEffect(() => {\n const timer = setTimeout(() => {\n handleFetchMoreOnBottomReached(tableContainerRef.current);\n }, 100);\n return () => clearTimeout(timer);\n }, [handleFetchMoreOnBottomReached]);\n\n return (\n <Flex vertical wrap={false} gap=\"sm\" align=\"start\" className=\"size-full pt-1\">\n <DataTableToolip onAdd={onAdd} onRefresh={onRefresh} />\n <Flex padding=\"none\" vertical wrap={false} width=\"full\" className=\"flex-1 overflow-auto pb-4\">\n <ScrollArea ref={tableContainerRef} className=\"border-border bg-background relative w-full overflow-auto\" onScroll={handleScroll}>\n <TableProvider measureElement={rowVirtualizer.measureElement} onClickRow={onClickRow}>\n <DataTable isFetching={isFetching}>\n <DataTableHeader headerGroups={table.getHeaderGroups()} />\n <DataTableBody\n isLoading={isLoading}\n rows={table.getRowModel().rows}\n totalBodyHeight={rowVirtualizer.getTotalSize()}\n virtualItems={rowVirtualizer.getVirtualItems()}\n />\n </DataTable>\n </TableProvider>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </Flex>\n </Flex>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["TableRow","TableCell","TableHeader","TableHead","TableBody","Table","TableFooter","LoaderIcon","DataTableToolip: React.FC<Props>","Flex","SearchInput","AddNewBtn","RefreshBtn","Flex","ScrollArea","ScrollBar"],"sources":["../../packages/components/table/context.tsx","../../packages/components/table/data-table.tsx","../../packages/components/table/data-table-tooltip.tsx","../../packages/components/table/index.tsx"],"sourcesContent":["import { createContext, use, useMemo } from 'react';\n\ntype TableProviderProps = {\n measureElement: (element?: HTMLTableRowElement | null | undefined) => void;\n onClickRow?: (id: string) => void;\n};\n\nconst TableContext = createContext<TableProviderProps | null>(null);\n\nexport const TableProvider = ({ measureElement, onClickRow, children }: React.PropsWithChildren<TableProviderProps>) => {\n const value = useMemo(() => ({ measureElement, onClickRow }), [measureElement, onClickRow]);\n return <TableContext.Provider value={value}>{children}</TableContext.Provider>;\n};\n\nexport const useTableContext = (): TableProviderProps => {\n const context = use(TableContext);\n if (!context) {\n throw new Error('useTableContext must be used within a TableProvider');\n }\n return context;\n};\n","import { memo, useCallback } from 'react';\n\nimport { type Column, flexRender, type Header, type HeaderGroup, type Row } from '@tanstack/react-table';\nimport type { VirtualItem } from '@tanstack/react-virtual';\n\nimport { LoaderIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '@/components/ui/table';\n\nimport type { AnyEntity } from '@/types';\nimport { useTableContext } from './context';\n\n/**\n * Computes styles for pinned columns\n * @param column Table column\n * @returns CSS styles for pinned columns\n */\nconst getPinningStyles = (column: Column<AnyEntity>): React.CSSProperties => {\n const isPinned = column.getIsPinned();\n return {\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n ...(!column.getSize() && { flex: 1 }),\n zIndex: isPinned ? 1 : 0,\n };\n};\n\nconst HeaderContent = memo(({ header }: { header: Header<AnyEntity, unknown> }) => {\n const handleSort = useCallback(\n (e: React.KeyboardEvent) => {\n if (header.column.getCanSort() && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n header.column.getToggleSortingHandler()?.(e);\n }\n },\n [header.column]\n );\n\n if (header.isPlaceholder) {\n return <div className=\"flex items-center justify-between gap-2 truncate\" />;\n }\n\n if (header.id === 'actions') return null;\n\n return (\n <div className=\"flex items-center justify-between gap-2 truncate\">\n <div\n tabIndex={header.column.getCanSort() ? 0 : undefined}\n role={header.column.getCanSort() ? 'button' : undefined}\n className=\"flex h-full cursor-pointer select-none items-center justify-between\"\n onKeyDown={handleSort}\n >\n <span className=\"truncate\">{flexRender(header.column.columnDef.header, header.getContext())}</span>\n </div>\n </div>\n );\n});\nHeaderContent.displayName = 'HeaderContent';\n\ntype DataTableRowProps = {\n id: string;\n row: Row<AnyEntity>;\n virtualRow: VirtualItem;\n};\nconst DataTableRow = memo(({ row, virtualRow }: DataTableRowProps) => {\n const { measureElement, onClickRow } = useTableContext();\n\n const handleRef = useCallback(\n (node: HTMLTableRowElement | null | undefined) => {\n measureElement(node);\n },\n [measureElement]\n );\n\n const handleClick = useCallback(() => {\n onClickRow?.(row.id);\n }, [row.id, onClickRow]);\n\n return (\n <TableRow\n tabIndex={onClickRow ? 0 : undefined}\n data-index={virtualRow.index}\n role={onClickRow ? 'button' : undefined}\n ref={handleRef}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n onClick={handleClick}\n >\n {row.getVisibleCells().map(cell => {\n const isPinned = cell.column.getIsPinned();\n const isFirstRightPinned = isPinned === 'right' && cell.column.getIsFirstColumn('right');\n\n return (\n <TableCell\n key={cell.id}\n data-pinned={isPinned || undefined}\n data-last-col={isFirstRightPinned ? 'right' : undefined}\n style={{\n width: cell.id.includes('actions') ? 60 : cell.column.getSize(),\n right: isPinned === 'right' ? `${cell.column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n zIndex: isPinned ? 10 : 0,\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n );\n })}\n </TableRow>\n );\n});\nDataTableRow.displayName = 'DataTableRow';\n\nexport const DataTableHeader = memo(({ headerGroups }: { headerGroups: HeaderGroup<AnyEntity>[] }) => {\n return (\n <TableHeader className=\"sticky top-0 z-10 bg-background/90 backdrop-blur-xs\">\n {headerGroups.map(headerGroup => (\n <TableRow key={headerGroup.id} className=\"flex w-full border-none\">\n {headerGroup.headers.map(header => {\n const isPinned = header.column.getIsPinned();\n const isLastLeftPinned = isPinned === 'left' && header.column.getIsLastColumn('left');\n const isFirstRightPinned = isPinned === 'right' && header.column.getIsFirstColumn('right');\n const lastColState = isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined;\n\n const headerStyles = {\n // width: header.getSize() ?? \"100%\",\n ...getPinningStyles(header.column),\n ...(header.id === 'actions' && { width: 60 }),\n };\n\n return (\n <TableHead\n key={header.id}\n data-pinned={!!isPinned}\n data-last-col={lastColState}\n colSpan={header.colSpan}\n style={headerStyles}\n className={cn(\n 'relative flex h-12 select-none font-medium [&>.cursor-col-resize]:last:opacity-0',\n header.id === 'actions' && 'z-20 bg-background/90'\n )}\n >\n <HeaderContent header={header} />\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n );\n});\nDataTableHeader.displayName = 'DataTableHeader';\n\ntype DataTableBodyProps = {\n isLoading?: boolean;\n totalBodyHeight?: number;\n rows: Row<AnyEntity>[];\n virtualItems: VirtualItem[];\n};\nexport const DataTableBody = memo(({ isLoading, totalBodyHeight, rows, virtualItems }: DataTableBodyProps) => {\n return (\n <TableBody\n style={{\n height: `${totalBodyHeight}px`, //tells scrollbar how big the table is\n }}\n className={cn(\n isLoading && 'h-36',\n rows?.length === 0 && 'h-48',\n 'relative',\n 'grid',\n 'w-full',\n '[&_tr]:absolute',\n '[&_tr]:flex',\n '[&_tr]:w-full',\n '[&_tr]:cursor-pointer',\n '[&_tr]:focus:outline-none',\n '[&_td]:p-2',\n '[&_td]:py-2.5',\n '[&_td]:align-middle',\n '[&_td]:whitespace-nowrap',\n '[&_td]:flex',\n '[&_td]:overflow-hidden',\n '[&_td]:z-20',\n '[&_td]:data-pinned:bg-background/90'\n )}\n >\n {isLoading && (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>loading...</TableCell>\n </TableRow>\n )}\n {!isLoading &&\n virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n const rowId =\n row?.id ||\n (row.original && 'id' in row.original ? String(row.original.id) : null) ||\n (row.original && 'uuid' in row.original ? String(row.original.uuid) : null) ||\n virtualRow.index.toString();\n const key = rowId ?? String(virtualRow.index);\n return <DataTableRow key={key} id={rowId} row={row} virtualRow={virtualRow} />;\n })}\n </TableBody>\n );\n});\nDataTableBody.displayName = 'DataTableBody';\n\nexport const DataTable = memo(\n ({\n isFetching,\n children,\n }: React.PropsWithChildren<{\n isFetching?: boolean;\n }>) => {\n return (\n <Table className=\"grid w-full! border-separate border-spacing-0 [&_td]:border-border [&_tfoot_td]:border-t [&_th]:border-border [&_th]:border-b [&_th]:border-b-border\">\n {children}\n {isFetching && (\n <TableFooter className=\"flex w-full justify-center py-2\">\n <LoaderIcon size={16} className=\"animate-spin\" aria-label=\"Loading more data\" />\n </TableFooter>\n )}\n </Table>\n );\n }\n);\nDataTable.displayName = 'DataTable';\n","import { memo } from 'react';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { AddNewBtn } from '@/components/ui/buttons/add-new';\nimport { RefreshBtn } from '@/components/ui/buttons/refresh';\nimport { SearchInput } from '@/components/ui/inputs/search-input';\n\ntype Props = {\n onAdd?: () => void;\n onRefresh?: () => void;\n};\n\nexport const DataTableToolip: React.FC<Props> = memo(({ onAdd, onRefresh }) => {\n return (\n <Flex justify=\"between\" padding=\"none\" width=\"full\" className=\"flex-0\">\n <div className=\"max-sm:flex-1\">\n <SearchInput placeholder=\"Search...\" />\n </div>\n <Flex wrap={false} className=\"flex-0 px-0\">\n {!!onAdd && <AddNewBtn onClick={onAdd} />}\n <RefreshBtn onClick={onRefresh} />\n </Flex>\n </Flex>\n );\n});\nDataTableToolip.displayName = 'DataTableToolip';\n","'use client';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { ColumnDef, ColumnFiltersState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table';\nimport { getCoreRowModel, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';\n\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { Flex } from '../layouts/flex';\nimport { ScrollArea, ScrollBar } from '../ui/scroll-area';\nimport { TableProvider } from './context';\nimport { DataTable, DataTableBody, DataTableHeader } from './data-table';\nimport { DataTableToolip } from './data-table-tooltip';\n\ntype Props<T> = {\n data: T[];\n totalCount?: number;\n isLoading?: boolean;\n isFetching?: boolean;\n allowLoadMore?: boolean;\n columns: ColumnDef<T>[];\n onAdd?: () => void;\n onRefresh?: () => void;\n onClickRow?: (id: string) => void;\n onFetchNextPage?: () => void;\n};\nexport function Table<T extends Record<string, unknown>>({\n data,\n totalCount,\n isLoading,\n isFetching,\n allowLoadMore: isAllowFetchMore = false,\n columns,\n onAdd,\n onRefresh,\n onClickRow,\n onFetchNextPage,\n}: Props<T>) {\n const tableContainerRef = useRef<HTMLDivElement>(null);\n\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n\n const initialState = useMemo(\n () => ({\n columnPinning: { right: ['actions', 'update', 'delete'] },\n }),\n []\n );\n\n const state = useMemo(() => {\n return {\n rowSelection,\n sorting,\n columnVisibility,\n columnFilters,\n };\n }, [rowSelection, sorting, columnVisibility, columnFilters]);\n\n const handleGetRowId = useCallback((row: T) => {\n return (row.id as string) || (row.uuid as string);\n }, []);\n\n const table = useReactTable<T>({\n initialState,\n data,\n columns,\n rowCount: totalCount,\n columnResizeMode: 'onChange',\n enableColumnResizing: false,\n enableMultiRowSelection: false,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getRowId: handleGetRowId,\n state: state,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnVisibilityChange: setColumnVisibility,\n onColumnFiltersChange: setColumnFilters,\n });\n\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: table.getRowModel().rows.length,\n getScrollElement: () => tableContainerRef.current,\n estimateSize: () => 37, // estimated row height\n measureElement: element => element?.getBoundingClientRect().height ?? undefined,\n overscan: 5, // Render additional rows beyond viewport for smoother scrolling\n });\n\n // Fetch more data when user approaches bottom of table\n const handleFetchMoreOnBottomReached = useCallback(\n (refEl: HTMLDivElement | null) => {\n if (!refEl) return;\n const { scrollHeight, scrollTop, clientHeight } = refEl;\n // Threshold of 120px from bottom to trigger load more\n if (scrollHeight - scrollTop - clientHeight < 500 && !isFetching && isAllowFetchMore) {\n onFetchNextPage?.();\n }\n },\n [isAllowFetchMore, isFetching, onFetchNextPage]\n );\n\n // Handle scroll events to check if more data should be loaded\n const handleScroll = useCallback(\n (ev: React.UIEvent<HTMLDivElement>) => {\n handleFetchMoreOnBottomReached(ev.currentTarget);\n },\n [handleFetchMoreOnBottomReached]\n );\n\n // Check for more data on mount and when dependencies change\n useEffect(() => {\n const timer = setTimeout(() => {\n handleFetchMoreOnBottomReached(tableContainerRef.current);\n }, 100);\n return () => clearTimeout(timer);\n }, [handleFetchMoreOnBottomReached]);\n\n return (\n <Flex vertical wrap={false} gap=\"sm\" align=\"start\" className=\"size-full pt-1\">\n <DataTableToolip onAdd={onAdd} onRefresh={onRefresh} />\n <Flex padding=\"none\" vertical wrap={false} width=\"full\" className=\"flex-1 overflow-auto pb-4\">\n <ScrollArea ref={tableContainerRef} className=\"relative w-full overflow-auto border-border bg-background\" onScroll={handleScroll}>\n <TableProvider measureElement={rowVirtualizer.measureElement} onClickRow={onClickRow}>\n <DataTable isFetching={isFetching}>\n <DataTableHeader headerGroups={table.getHeaderGroups()} />\n <DataTableBody\n isLoading={isLoading}\n rows={table.getRowModel().rows}\n totalBodyHeight={rowVirtualizer.getTotalSize()}\n virtualItems={rowVirtualizer.getVirtualItems()}\n />\n </DataTable>\n </TableProvider>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </Flex>\n </Flex>\n );\n}\n"],"mappings":"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"}