@customafk/lunas-ui 0.0.53 → 0.0.54

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 (302) hide show
  1. package/dist/{add-new-CBg3KRIT.cjs → add-new-DfABsmli.cjs} +2 -2
  2. package/dist/{add-new-CBg3KRIT.cjs.map → add-new-DfABsmli.cjs.map} +1 -1
  3. package/dist/{add-new-B9_P1OXs.js → add-new-Dwxj9tEB.js} +2 -2
  4. package/dist/{add-new-B9_P1OXs.js.map → add-new-Dwxj9tEB.js.map} +1 -1
  5. package/dist/{badge-DP4D6fsq.js → badge-BJWJGcs7.js} +1 -1
  6. package/dist/{badge-DP4D6fsq.js.map → badge-BJWJGcs7.js.map} +1 -1
  7. package/dist/{badge-C5OQVVdj.cjs → badge-CtACOYGz.cjs} +1 -1
  8. package/dist/{badge-C5OQVVdj.cjs.map → badge-CtACOYGz.cjs.map} +1 -1
  9. package/dist/{button-y_YnE05_.d.ts → button-6o1dgit-.d.cts} +4 -4
  10. package/dist/{button-DBBV45P_.d.cts → button-B4fdn-Yc.d.ts} +5 -5
  11. package/dist/{calendar-DSpnZGer.cjs → calendar-CnhHBLl8.cjs} +1 -1
  12. package/dist/{calendar-DSpnZGer.cjs.map → calendar-CnhHBLl8.cjs.map} +1 -1
  13. package/dist/{calendar-DXPcqnGq.js → calendar-DlLKQCdQ.js} +1 -1
  14. package/dist/{calendar-DXPcqnGq.js.map → calendar-DlLKQCdQ.js.map} +1 -1
  15. package/dist/{command-BHcMi5w6.d.cts → command-B1RFofax.d.cts} +12 -12
  16. package/dist/{command-BAGuL4Lq.d.ts → command-CMagw20N.d.ts} +12 -12
  17. package/dist/{command-DEYbZBFJ.js → command-CxB1jizd.js} +1 -1
  18. package/dist/{command-DEYbZBFJ.js.map → command-CxB1jizd.js.map} +1 -1
  19. package/dist/{command-BBHlXG-4.cjs → command-DL8-AZm7.cjs} +1 -1
  20. package/dist/{command-BBHlXG-4.cjs.map → command-DL8-AZm7.cjs.map} +1 -1
  21. package/dist/data-display/country.cjs +1 -1
  22. package/dist/data-display/country.js +1 -1
  23. package/dist/data-display/data-list.cjs +1 -1
  24. package/dist/data-display/data-list.js +1 -1
  25. package/dist/data-display/date-tooltip.cjs +1 -1
  26. package/dist/data-display/date-tooltip.js +1 -1
  27. package/dist/data-display/date.cjs +1 -1
  28. package/dist/data-display/date.js +1 -1
  29. package/dist/data-display/empty.cjs +1 -1
  30. package/dist/data-display/empty.d.cts +2 -2
  31. package/dist/data-display/empty.d.ts +2 -2
  32. package/dist/data-display/empty.js +1 -1
  33. package/dist/data-display/name.cjs +1 -1
  34. package/dist/data-display/name.js +1 -1
  35. package/dist/data-display/phone-number.cjs +1 -1
  36. package/dist/data-display/phone-number.js +1 -1
  37. package/dist/data-display/role-badge.cjs +1 -1
  38. package/dist/data-display/role-badge.js +1 -1
  39. package/dist/data-display/statistic.cjs +1 -1
  40. package/dist/data-display/statistic.d.cts +2 -2
  41. package/dist/data-display/statistic.d.ts +2 -2
  42. package/dist/data-display/statistic.js +1 -1
  43. package/dist/{date-B1g1OMYc.js → date-CztL0aWp.js} +1 -1
  44. package/dist/{date-B1g1OMYc.js.map → date-CztL0aWp.js.map} +1 -1
  45. package/dist/{date-Cw6Jf7k6.cjs → date-DCURBWXk.cjs} +1 -1
  46. package/dist/{date-Cw6Jf7k6.cjs.map → date-DCURBWXk.cjs.map} +1 -1
  47. package/dist/{dialog-LR_6dvSQ.d.cts → dialog-DxwqxuCv.d.cts} +12 -12
  48. package/dist/{dialog-DzGLUK6_.d.ts → dialog-J3LaGLck.d.ts} +12 -12
  49. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  50. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +30 -30
  51. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +4 -4
  52. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  53. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  54. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  55. package/dist/dialogs/detail-dialog/index.js +1 -1
  56. package/dist/dialogs/form-dialog.d.cts +2 -2
  57. package/dist/dialogs/form-dialog.d.ts +2 -2
  58. package/dist/{flex-CXCO0f21.js → flex-CvokpUf1.js} +1 -1
  59. package/dist/{flex-CXCO0f21.js.map → flex-CvokpUf1.js.map} +1 -1
  60. package/dist/{flex-BSVrFdMJ.cjs → flex-DjACH4wX.cjs} +1 -1
  61. package/dist/{flex-BSVrFdMJ.cjs.map → flex-DjACH4wX.cjs.map} +1 -1
  62. package/dist/forms/combobox-field.cjs +1 -1
  63. package/dist/forms/combobox-field.d.cts +2 -2
  64. package/dist/forms/combobox-field.d.ts +2 -2
  65. package/dist/forms/combobox-field.js +1 -1
  66. package/dist/forms/date-field.cjs +1 -1
  67. package/dist/forms/date-field.d.cts +2 -2
  68. package/dist/forms/date-field.d.ts +2 -2
  69. package/dist/forms/date-field.js +1 -1
  70. package/dist/forms/form-wrapper.d.cts +2 -2
  71. package/dist/forms/form-wrapper.d.ts +2 -2
  72. package/dist/forms/multi-select-field.cjs +1 -1
  73. package/dist/forms/multi-select-field.d.cts +2 -2
  74. package/dist/forms/multi-select-field.d.ts +2 -2
  75. package/dist/forms/multi-select-field.js +1 -1
  76. package/dist/forms/number-field.cjs +1 -1
  77. package/dist/forms/number-field.d.cts +2 -2
  78. package/dist/forms/number-field.d.ts +2 -2
  79. package/dist/forms/number-field.js +1 -1
  80. package/dist/forms/password-field.cjs +1 -1
  81. package/dist/forms/password-field.d.cts +2 -2
  82. package/dist/forms/password-field.js +1 -1
  83. package/dist/forms/select-field.cjs +1 -1
  84. package/dist/forms/select-field.d.cts +2 -2
  85. package/dist/forms/select-field.d.ts +2 -2
  86. package/dist/forms/select-field.js +1 -1
  87. package/dist/forms/switch-field.cjs +1 -1
  88. package/dist/forms/switch-field.d.cts +2 -2
  89. package/dist/forms/switch-field.d.ts +2 -2
  90. package/dist/forms/switch-field.js +1 -1
  91. package/dist/forms/text-field.cjs +1 -1
  92. package/dist/forms/text-field.d.cts +2 -2
  93. package/dist/forms/text-field.d.ts +2 -2
  94. package/dist/forms/text-field.js +1 -1
  95. package/dist/forms/textarea-field.cjs +1 -1
  96. package/dist/forms/textarea-field.d.cts +2 -2
  97. package/dist/forms/textarea-field.d.ts +2 -2
  98. package/dist/forms/textarea-field.js +1 -1
  99. package/dist/{input-C-60EZ1K.cjs → input-C2xQcVZP.cjs} +1 -1
  100. package/dist/{input-C-60EZ1K.cjs.map → input-C2xQcVZP.cjs.map} +1 -1
  101. package/dist/{input-nsu0-DwM.js → input-DgJVc3kt.js} +1 -1
  102. package/dist/{input-nsu0-DwM.js.map → input-DgJVc3kt.js.map} +1 -1
  103. package/dist/{input-BZBf-l4K.d.ts → input-Dt8julrj.d.cts} +3 -3
  104. package/dist/{input-Ci55gNyE.d.cts → input-fe1qd_Yy.d.ts} +3 -3
  105. package/dist/layouts/app-layout/index.cjs +1 -1
  106. package/dist/layouts/app-layout/index.cjs.map +1 -1
  107. package/dist/layouts/app-layout/index.d.cts +3 -3
  108. package/dist/layouts/app-layout/index.d.ts +26 -26
  109. package/dist/layouts/app-layout/index.js +1 -1
  110. package/dist/layouts/app-layout/index.js.map +1 -1
  111. package/dist/layouts/flex.cjs +1 -1
  112. package/dist/layouts/flex.d.cts +2 -2
  113. package/dist/layouts/flex.d.ts +2 -2
  114. package/dist/layouts/flex.js +1 -1
  115. package/dist/layouts/main/index.cjs +1 -1
  116. package/dist/layouts/main/index.d.cts +4 -4
  117. package/dist/layouts/main/index.d.ts +4 -4
  118. package/dist/layouts/main/index.js +1 -1
  119. package/dist/{multi-select-Doj_6IIC.cjs → multi-select-BuhAcysb.cjs} +2 -2
  120. package/dist/{multi-select-Doj_6IIC.cjs.map → multi-select-BuhAcysb.cjs.map} +1 -1
  121. package/dist/{multi-select-i3VQ915k.js → multi-select-LJzXqVC-.js} +2 -2
  122. package/dist/{multi-select-i3VQ915k.js.map → multi-select-LJzXqVC-.js.map} +1 -1
  123. package/dist/{paragraph-C0KfolV0.js → paragraph-Bn2q1srm.js} +1 -1
  124. package/dist/{paragraph-C0KfolV0.js.map → paragraph-Bn2q1srm.js.map} +1 -1
  125. package/dist/{paragraph-JXci2Ihg.cjs → paragraph-DA4bg12A.cjs} +1 -1
  126. package/dist/{paragraph-JXci2Ihg.cjs.map → paragraph-DA4bg12A.cjs.map} +1 -1
  127. package/dist/{popover-DjfTTw9J.js → popover-CTFp7ZXi.js} +1 -1
  128. package/dist/{popover-DjfTTw9J.js.map → popover-CTFp7ZXi.js.map} +1 -1
  129. package/dist/{popover-F0wFeBo7.cjs → popover-DCcPvdz2.cjs} +1 -1
  130. package/dist/{popover-F0wFeBo7.cjs.map → popover-DCcPvdz2.cjs.map} +1 -1
  131. package/dist/{refresh-Uhf4oSfg.js → refresh-CNeJCjk5.js} +2 -2
  132. package/dist/{refresh-Uhf4oSfg.js.map → refresh-CNeJCjk5.js.map} +1 -1
  133. package/dist/{refresh-X3mMFqTM.cjs → refresh-DmguI4WR.cjs} +2 -2
  134. package/dist/{refresh-X3mMFqTM.cjs.map → refresh-DmguI4WR.cjs.map} +1 -1
  135. package/dist/{search-input-w_52Z2rk.js → search-input-CP1CX74C.js} +2 -2
  136. package/dist/{search-input-w_52Z2rk.js.map → search-input-CP1CX74C.js.map} +1 -1
  137. package/dist/{search-input-DyqFLvzs.cjs → search-input-DzRJf6qI.cjs} +2 -2
  138. package/dist/{search-input-DyqFLvzs.cjs.map → search-input-DzRJf6qI.cjs.map} +1 -1
  139. package/dist/{select-C5k0McoM.cjs → select-BCBdGAk7.cjs} +1 -1
  140. package/dist/{select-C5k0McoM.cjs.map → select-BCBdGAk7.cjs.map} +1 -1
  141. package/dist/{select-Ch3I_jWe.js → select-DmjCwCGB.js} +1 -1
  142. package/dist/{select-Ch3I_jWe.js.map → select-DmjCwCGB.js.map} +1 -1
  143. package/dist/{separator-BssDmBsX.d.ts → separator-Cs0J9x-4.d.ts} +3 -3
  144. package/dist/{separator-DbpWHldj.d.cts → separator-Rm2a238S.d.cts} +3 -3
  145. package/dist/{sidebar-5HuN-j1i.js → sidebar-BiG4ZcRy.js} +2 -2
  146. package/dist/{sidebar-5HuN-j1i.js.map → sidebar-BiG4ZcRy.js.map} +1 -1
  147. package/dist/{sidebar-BDLTT1ko.js → sidebar-C397Bg8C.js} +2 -2
  148. package/dist/{sidebar-BDLTT1ko.js.map → sidebar-C397Bg8C.js.map} +1 -1
  149. package/dist/{sidebar-B-iUTI3P.cjs → sidebar-Ccw4-cV5.cjs} +2 -2
  150. package/dist/{sidebar-B-iUTI3P.cjs.map → sidebar-Ccw4-cV5.cjs.map} +1 -1
  151. package/dist/{sidebar-C0EmqKyz.cjs → sidebar-DGjpr6u7.cjs} +2 -2
  152. package/dist/{sidebar-C0EmqKyz.cjs.map → sidebar-DGjpr6u7.cjs.map} +1 -1
  153. package/dist/{switch-B9LmV-PS.js → switch-965kHdW_.js} +1 -1
  154. package/dist/{switch-B9LmV-PS.js.map → switch-965kHdW_.js.map} +1 -1
  155. package/dist/{switch-bfoTi9s3.cjs → switch-C3igCoxt.cjs} +1 -1
  156. package/dist/{switch-bfoTi9s3.cjs.map → switch-C3igCoxt.cjs.map} +1 -1
  157. package/dist/table/index.cjs +1 -1
  158. package/dist/table/index.cjs.map +1 -1
  159. package/dist/table/index.d.cts +2 -2
  160. package/dist/table/index.d.ts +2 -2
  161. package/dist/table/index.js +1 -1
  162. package/dist/{textarea-0egIZLQD.js → textarea-BK2brgwY.js} +1 -1
  163. package/dist/{textarea-0egIZLQD.js.map → textarea-BK2brgwY.js.map} +1 -1
  164. package/dist/{textarea-dFxubrKf.cjs → textarea-Y4wAXFGr.cjs} +1 -1
  165. package/dist/{textarea-dFxubrKf.cjs.map → textarea-Y4wAXFGr.cjs.map} +1 -1
  166. package/dist/{toggle-C9fT4j4U.d.cts → toggle-B_di9jVO.d.cts} +3 -3
  167. package/dist/{toggle-Cfa3Ju6R.d.ts → toggle-Dfy8X50O.d.ts} +3 -3
  168. package/dist/{tooltip-CnemaSZS.d.cts → tooltip-BkWWOZyr.d.cts} +6 -6
  169. package/dist/{tooltip-jz3-KXgN.js → tooltip-C9Ex69RQ.js} +1 -1
  170. package/dist/{tooltip-jz3-KXgN.js.map → tooltip-C9Ex69RQ.js.map} +1 -1
  171. package/dist/{tooltip-GgIQS_wc.d.ts → tooltip-DFRxIbzr.d.ts} +6 -6
  172. package/dist/{tooltip-BeQcgjzF.cjs → tooltip-i-daLHx3.cjs} +1 -1
  173. package/dist/{tooltip-BeQcgjzF.cjs.map → tooltip-i-daLHx3.cjs.map} +1 -1
  174. package/dist/{types-CnMfjcgO.cjs → types--5Hxh5iL.cjs} +1 -1
  175. package/dist/{types-CnMfjcgO.cjs.map → types--5Hxh5iL.cjs.map} +1 -1
  176. package/dist/{types-BVNbk1ZN.js → types-DGK6BDUS.js} +1 -1
  177. package/dist/{types-BVNbk1ZN.js.map → types-DGK6BDUS.js.map} +1 -1
  178. package/dist/typography/paragraph.cjs +1 -1
  179. package/dist/typography/paragraph.d.cts +2 -2
  180. package/dist/typography/paragraph.d.ts +2 -2
  181. package/dist/typography/paragraph.js +1 -1
  182. package/dist/typography/title.d.cts +2 -2
  183. package/dist/typography/title.d.ts +2 -2
  184. package/dist/ui/alert-dialog.d.cts +12 -12
  185. package/dist/ui/alert-dialog.d.ts +12 -12
  186. package/dist/ui/alert.d.cts +6 -6
  187. package/dist/ui/alert.d.ts +6 -6
  188. package/dist/ui/aspect-ratio.d.cts +2 -2
  189. package/dist/ui/aspect-ratio.d.ts +2 -2
  190. package/dist/ui/avatar.d.cts +4 -4
  191. package/dist/ui/avatar.d.ts +4 -4
  192. package/dist/ui/badge.cjs +1 -1
  193. package/dist/ui/badge.d.cts +4 -4
  194. package/dist/ui/badge.d.ts +4 -4
  195. package/dist/ui/badge.js +1 -1
  196. package/dist/ui/breadcrumb.d.cts +8 -8
  197. package/dist/ui/breadcrumb.d.ts +8 -8
  198. package/dist/ui/button.d.cts +1 -1
  199. package/dist/ui/button.d.ts +1 -1
  200. package/dist/ui/buttons/add-new.cjs +1 -1
  201. package/dist/ui/buttons/add-new.js +1 -1
  202. package/dist/ui/buttons/refresh.cjs +1 -1
  203. package/dist/ui/buttons/refresh.js +1 -1
  204. package/dist/ui/calendar.cjs +1 -1
  205. package/dist/ui/calendar.d.cts +4 -4
  206. package/dist/ui/calendar.d.ts +4 -4
  207. package/dist/ui/calendar.js +1 -1
  208. package/dist/ui/card.d.cts +8 -8
  209. package/dist/ui/card.d.ts +8 -8
  210. package/dist/ui/carousel.d.cts +7 -7
  211. package/dist/ui/carousel.d.ts +7 -7
  212. package/dist/ui/collapsible.d.cts +4 -4
  213. package/dist/ui/collapsible.d.ts +4 -4
  214. package/dist/ui/command.cjs +1 -1
  215. package/dist/ui/command.d.cts +2 -2
  216. package/dist/ui/command.d.ts +2 -2
  217. package/dist/ui/command.js +1 -1
  218. package/dist/ui/context-menu.d.cts +16 -16
  219. package/dist/ui/context-menu.d.ts +16 -16
  220. package/dist/ui/dialog.d.cts +1 -1
  221. package/dist/ui/dialog.d.ts +1 -1
  222. package/dist/ui/dropdown-menu.d.cts +16 -16
  223. package/dist/ui/dropdown-menu.d.ts +16 -16
  224. package/dist/ui/file-uploader.d.cts +2 -2
  225. package/dist/ui/file-uploader.d.ts +2 -2
  226. package/dist/ui/form.d.cts +7 -7
  227. package/dist/ui/form.d.ts +7 -7
  228. package/dist/ui/hover-card.d.cts +4 -4
  229. package/dist/ui/hover-card.d.ts +4 -4
  230. package/dist/ui/input-otp.d.cts +5 -5
  231. package/dist/ui/input-otp.d.ts +5 -5
  232. package/dist/ui/input.cjs +1 -1
  233. package/dist/ui/input.d.cts +1 -1
  234. package/dist/ui/input.d.ts +1 -1
  235. package/dist/ui/input.js +1 -1
  236. package/dist/ui/inputs/search-input.cjs +1 -1
  237. package/dist/ui/inputs/search-input.d.cts +3 -3
  238. package/dist/ui/inputs/search-input.d.ts +3 -3
  239. package/dist/ui/inputs/search-input.js +1 -1
  240. package/dist/ui/label.d.cts +2 -2
  241. package/dist/ui/label.d.ts +2 -2
  242. package/dist/ui/menubar.d.cts +17 -17
  243. package/dist/ui/menubar.d.ts +17 -17
  244. package/dist/ui/multi-select.cjs +1 -1
  245. package/dist/ui/multi-select.d.cts +2 -2
  246. package/dist/ui/multi-select.d.ts +2 -2
  247. package/dist/ui/multi-select.js +1 -1
  248. package/dist/ui/navigation-menu.d.cts +11 -11
  249. package/dist/ui/navigation-menu.d.ts +11 -11
  250. package/dist/ui/pagination.d.cts +9 -9
  251. package/dist/ui/pagination.d.ts +9 -9
  252. package/dist/ui/popover.cjs +1 -1
  253. package/dist/ui/popover.d.cts +5 -5
  254. package/dist/ui/popover.d.ts +5 -5
  255. package/dist/ui/popover.js +1 -1
  256. package/dist/ui/progress.d.cts +2 -2
  257. package/dist/ui/progress.d.ts +2 -2
  258. package/dist/ui/radio-group.d.cts +3 -3
  259. package/dist/ui/radio-group.d.ts +3 -3
  260. package/dist/ui/resizable.d.cts +4 -4
  261. package/dist/ui/resizable.d.ts +4 -4
  262. package/dist/ui/scroll-area.d.cts +3 -3
  263. package/dist/ui/scroll-area.d.ts +3 -3
  264. package/dist/ui/select.cjs +1 -1
  265. package/dist/ui/select.d.cts +11 -11
  266. package/dist/ui/select.d.ts +11 -11
  267. package/dist/ui/select.js +1 -1
  268. package/dist/ui/separator.d.cts +1 -1
  269. package/dist/ui/separator.d.ts +1 -1
  270. package/dist/ui/sheet.d.cts +9 -9
  271. package/dist/ui/sheet.d.ts +9 -9
  272. package/dist/ui/sidebar.cjs +1 -1
  273. package/dist/ui/sidebar.d.cts +30 -30
  274. package/dist/ui/sidebar.d.ts +30 -30
  275. package/dist/ui/sidebar.js +1 -1
  276. package/dist/ui/skeleton.d.cts +2 -2
  277. package/dist/ui/skeleton.d.ts +2 -2
  278. package/dist/ui/slider.d.cts +2 -2
  279. package/dist/ui/slider.d.ts +2 -2
  280. package/dist/ui/sonner.d.cts +2 -2
  281. package/dist/ui/sonner.d.ts +2 -2
  282. package/dist/ui/switch.cjs +1 -1
  283. package/dist/ui/switch.d.cts +2 -2
  284. package/dist/ui/switch.d.ts +2 -2
  285. package/dist/ui/switch.js +1 -1
  286. package/dist/ui/table.d.cts +9 -9
  287. package/dist/ui/table.d.ts +9 -9
  288. package/dist/ui/tabs.d.cts +5 -5
  289. package/dist/ui/tabs.d.ts +5 -5
  290. package/dist/ui/textarea.cjs +1 -1
  291. package/dist/ui/textarea.d.cts +2 -2
  292. package/dist/ui/textarea.d.ts +2 -2
  293. package/dist/ui/textarea.js +1 -1
  294. package/dist/ui/toggle-group.d.cts +4 -4
  295. package/dist/ui/toggle-group.d.ts +4 -4
  296. package/dist/ui/toggle.d.cts +1 -1
  297. package/dist/ui/toggle.d.ts +1 -1
  298. package/dist/ui/tooltip.cjs +1 -1
  299. package/dist/ui/tooltip.d.cts +1 -1
  300. package/dist/ui/tooltip.d.ts +1 -1
  301. package/dist/ui/tooltip.js +1 -1
  302. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import * as react_jsx_runtime11 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
 
3
3
  //#region packages/components/data-display/empty.d.ts
4
- declare const EmptyDisplay: () => react_jsx_runtime11.JSX.Element;
4
+ declare const EmptyDisplay: () => react_jsx_runtime1.JSX.Element;
5
5
  //#endregion
6
6
  export { EmptyDisplay };
7
7
  //# sourceMappingURL=empty.d.ts.map
@@ -1,2 +1,2 @@
1
- "use client";import"../utils-D9AH0PUV.js";import{Flex as e}from"../flex-CXCO0f21.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{PackageOpenIcon as r}from"lucide-react";const i=()=>n(e,{vertical:!0,justify:`center`,align:`center`,gap:`sm`,className:`text-text-positive-muted size-full`,children:[t(r,{size:52,strokeWidth:1}),t(`p`,{className:`text-sm`,children:`Không có dữ liệu nào để hiển thị.`})]});export{i as EmptyDisplay};
1
+ "use client";import"../utils-D9AH0PUV.js";import{Flex as e}from"../flex-CvokpUf1.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{PackageOpenIcon as r}from"lucide-react";const i=()=>n(e,{vertical:!0,justify:`center`,align:`center`,gap:`sm`,className:`text-text-positive-muted size-full`,children:[t(r,{size:52,strokeWidth:1}),t(`p`,{className:`text-sm`,children:`Không có dữ liệu nào để hiển thị.`})]});export{i as EmptyDisplay};
2
2
  //# sourceMappingURL=empty.js.map
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../paragraph-JXci2Ihg.cjs`),n=require(`../tooltip-BeQcgjzF.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=({name:e})=>(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{children:(0,i.jsx)(t.Paragraph,{variant:`sm`,className:`line-clamp-2 w-full cursor-help truncate`,children:e})}),(0,i.jsx)(n.TooltipContent,{align:`start`,className:`max-w-80 text-wrap break-keep whitespace-pre-line`,children:e})]});exports.NameDisplay=a;
1
+ const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../paragraph-DA4bg12A.cjs`),n=require(`../tooltip-i-daLHx3.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=({name:e})=>(0,i.jsxs)(n.Tooltip,{children:[(0,i.jsx)(n.TooltipTrigger,{children:(0,i.jsx)(t.Paragraph,{variant:`sm`,className:`line-clamp-2 w-full cursor-help truncate`,children:e})}),(0,i.jsx)(n.TooltipContent,{align:`start`,className:`max-w-80 text-wrap break-keep whitespace-pre-line`,children:e})]});exports.NameDisplay=a;
2
2
  //# sourceMappingURL=name.cjs.map
@@ -1,2 +1,2 @@
1
- import"../utils-D9AH0PUV.js";import{Paragraph as e}from"../paragraph-C0KfolV0.js";import{Tooltip as t,TooltipContent as n,TooltipTrigger as r}from"../tooltip-jz3-KXgN.js";import i from"react";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({name:i})=>o(t,{children:[a(r,{children:a(e,{variant:`sm`,className:`line-clamp-2 w-full cursor-help truncate`,children:i})}),a(n,{align:`start`,className:`max-w-80 text-wrap break-keep whitespace-pre-line`,children:i})]});export{s as NameDisplay};
1
+ import"../utils-D9AH0PUV.js";import{Paragraph as e}from"../paragraph-Bn2q1srm.js";import{Tooltip as t,TooltipContent as n,TooltipTrigger as r}from"../tooltip-C9Ex69RQ.js";import i from"react";import{jsx as a,jsxs as o}from"react/jsx-runtime";const s=({name:i})=>o(t,{children:[a(r,{children:a(e,{variant:`sm`,className:`line-clamp-2 w-full cursor-help truncate`,children:i})}),a(n,{align:`start`,className:`max-w-80 text-wrap break-keep whitespace-pre-line`,children:i})]});export{s as NameDisplay};
2
2
  //# sourceMappingURL=name.js.map
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../tooltip-BeQcgjzF.cjs`),n=e.__toESM(require(`react/jsx-runtime`)),r=({value:e})=>(0,n.jsxs)(t.Tooltip,{children:[(0,n.jsx)(t.TooltipTrigger,{asChild:!0,children:(0,n.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,n.jsx)(t.TooltipContent,{align:`start`,children:(0,n.jsx)(`p`,{children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]});exports.PhoneNumberDisplay=r;
1
+ const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../tooltip-i-daLHx3.cjs`),n=e.__toESM(require(`react/jsx-runtime`)),r=({value:e})=>(0,n.jsxs)(t.Tooltip,{children:[(0,n.jsx)(t.TooltipTrigger,{asChild:!0,children:(0,n.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,n.jsx)(t.TooltipContent,{align:`start`,children:(0,n.jsx)(`p`,{children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]});exports.PhoneNumberDisplay=r;
2
2
  //# sourceMappingURL=phone-number.cjs.map
@@ -1,2 +1,2 @@
1
- import"../utils-D9AH0PUV.js";import{Tooltip as e,TooltipContent as t,TooltipTrigger as n}from"../tooltip-jz3-KXgN.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({value:a})=>i(e,{children:[r(n,{asChild:!0,children:r(`p`,{className:`font-number text-secondary-foreground text-sm`,children:a.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),r(t,{align:`start`,children:r(`p`,{children:a.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]});export{a as PhoneNumberDisplay};
1
+ import"../utils-D9AH0PUV.js";import{Tooltip as e,TooltipContent as t,TooltipTrigger as n}from"../tooltip-C9Ex69RQ.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({value:a})=>i(e,{children:[r(n,{asChild:!0,children:r(`p`,{className:`font-number text-secondary-foreground text-sm`,children:a.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),r(t,{align:`start`,children:r(`p`,{children:a.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]});export{a as PhoneNumberDisplay};
2
2
  //# sourceMappingURL=phone-number.js.map
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../types-CnMfjcgO.cjs`),n=require(`../badge-C5OQVVdj.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=({status:e})=>{let a=r.default.useMemo(()=>({[t.ERole.ADMIN]:`red`,[t.ERole.SUPER_ADMIN]:`purple`,[t.ERole.MODERATOR]:`indigo`,[t.ERole.STAFF]:`green`,[t.ERole.USER]:`blue`}),[]);return(0,i.jsxs)(n.Badge,{color:a[e],className:`min-w-24 justify-center`,children:[e===t.ERole.SUPER_ADMIN&&`Super Admin`,e===t.ERole.ADMIN&&`Admin`,e===t.ERole.MODERATOR&&`Moderator`,e===t.ERole.STAFF&&`Staff`,e===t.ERole.USER&&`User`]})};exports.RoleBadge=a;
1
+ const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`);const t=require(`../types--5Hxh5iL.cjs`),n=require(`../badge-CtACOYGz.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=({status:e})=>{let a=r.default.useMemo(()=>({[t.ERole.ADMIN]:`red`,[t.ERole.SUPER_ADMIN]:`purple`,[t.ERole.MODERATOR]:`indigo`,[t.ERole.STAFF]:`green`,[t.ERole.USER]:`blue`}),[]);return(0,i.jsxs)(n.Badge,{color:a[e],className:`min-w-24 justify-center`,children:[e===t.ERole.SUPER_ADMIN&&`Super Admin`,e===t.ERole.ADMIN&&`Admin`,e===t.ERole.MODERATOR&&`Moderator`,e===t.ERole.STAFF&&`Staff`,e===t.ERole.USER&&`User`]})};exports.RoleBadge=a;
2
2
  //# sourceMappingURL=role-badge.cjs.map
@@ -1,2 +1,2 @@
1
- import"../utils-D9AH0PUV.js";import{ERole as e}from"../types-BVNbk1ZN.js";import{Badge as t}from"../badge-DP4D6fsq.js";import n from"react";import{jsxs as r}from"react/jsx-runtime";const i=({status:i})=>{let a=n.useMemo(()=>({[e.ADMIN]:`red`,[e.SUPER_ADMIN]:`purple`,[e.MODERATOR]:`indigo`,[e.STAFF]:`green`,[e.USER]:`blue`}),[]);return r(t,{color:a[i],className:`min-w-24 justify-center`,children:[i===e.SUPER_ADMIN&&`Super Admin`,i===e.ADMIN&&`Admin`,i===e.MODERATOR&&`Moderator`,i===e.STAFF&&`Staff`,i===e.USER&&`User`]})};export{i as RoleBadge};
1
+ import"../utils-D9AH0PUV.js";import{ERole as e}from"../types-DGK6BDUS.js";import{Badge as t}from"../badge-BJWJGcs7.js";import n from"react";import{jsxs as r}from"react/jsx-runtime";const i=({status:i})=>{let a=n.useMemo(()=>({[e.ADMIN]:`red`,[e.SUPER_ADMIN]:`purple`,[e.MODERATOR]:`indigo`,[e.STAFF]:`green`,[e.USER]:`blue`}),[]);return r(t,{color:a[i],className:`min-w-24 justify-center`,children:[i===e.SUPER_ADMIN&&`Super Admin`,i===e.ADMIN&&`Admin`,i===e.MODERATOR&&`Moderator`,i===e.STAFF&&`Staff`,i===e.USER&&`User`]})};export{i as RoleBadge};
2
2
  //# sourceMappingURL=role-badge.js.map
@@ -1,2 +1,2 @@
1
- const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../flex-BSVrFdMJ.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=r.default.memo(({decimalSeparator:e=`.`,groupSeparator:a=`,`,prefix:o,suffix:s,precision:c,roundingMode:l=`round`,showTrailingZeros:u=!1,size:d=`lg`,value:f})=>{let p=r.default.useCallback((e,t)=>{let n=Math.pow(10,t);switch(l){case`floor`:return Math.floor(e*n)/n;case`ceil`:return Math.ceil(e*n)/n;case`round`:default:return Math.round(e*n)/n}},[l]),m=r.default.useMemo(()=>{let e={};return typeof c==`number`&&c>=0&&(u&&(e.minimumFractionDigits=c),e.maximumFractionDigits=c),e},[c,u]),h=r.default.useCallback(e=>{let t=e;return typeof c==`number`&&c>=0&&(t=p(e,c)),t.toLocaleString(`en-US`,m)},[p,m,c]),g=r.default.useMemo(()=>{if(typeof f==`number`)return isNaN(f)||!isFinite(f)?`N/A`:h(f);if(typeof f==`string`){let e=f.trim();if(!e)return`N/A`;let t=Number(e);return isNaN(t)||!isFinite(t)?`N/A`:h(t)}return`N/A`},[f,h]),_=r.default.useMemo(()=>e===`.`&&a===`,`?g:g.replace(/,/g,a).replace(/\./g,e),[g,e,a]);return(0,i.jsxs)(n.Flex,{padding:`none`,className:t.cn(`text-secondary-foreground font-number text-lg`,d===`xs`&&`text-xs`,d===`sm`&&`text-sm`,d===`md`&&`text-base`,d===`lg`&&`text-lg`,d===`xl`&&`text-xl`),children:[o,(0,i.jsx)(`p`,{children:_}),s]})});a.displayName=`Statistic`,exports.Statistic=a;
1
+ const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../flex-DjACH4wX.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=r.default.memo(({decimalSeparator:e=`.`,groupSeparator:a=`,`,prefix:o,suffix:s,precision:c,roundingMode:l=`round`,showTrailingZeros:u=!1,size:d=`lg`,value:f})=>{let p=r.default.useCallback((e,t)=>{let n=Math.pow(10,t);switch(l){case`floor`:return Math.floor(e*n)/n;case`ceil`:return Math.ceil(e*n)/n;case`round`:default:return Math.round(e*n)/n}},[l]),m=r.default.useMemo(()=>{let e={};return typeof c==`number`&&c>=0&&(u&&(e.minimumFractionDigits=c),e.maximumFractionDigits=c),e},[c,u]),h=r.default.useCallback(e=>{let t=e;return typeof c==`number`&&c>=0&&(t=p(e,c)),t.toLocaleString(`en-US`,m)},[p,m,c]),g=r.default.useMemo(()=>{if(typeof f==`number`)return isNaN(f)||!isFinite(f)?`N/A`:h(f);if(typeof f==`string`){let e=f.trim();if(!e)return`N/A`;let t=Number(e);return isNaN(t)||!isFinite(t)?`N/A`:h(t)}return`N/A`},[f,h]),_=r.default.useMemo(()=>e===`.`&&a===`,`?g:g.replace(/,/g,a).replace(/\./g,e),[g,e,a]);return(0,i.jsxs)(n.Flex,{padding:`none`,className:t.cn(`text-secondary-foreground font-number text-lg`,d===`xs`&&`text-xs`,d===`sm`&&`text-sm`,d===`md`&&`text-base`,d===`lg`&&`text-lg`,d===`xl`&&`text-xl`),children:[o,(0,i.jsx)(`p`,{children:_}),s]})});a.displayName=`Statistic`,exports.Statistic=a;
2
2
  //# sourceMappingURL=statistic.cjs.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime99 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
  import React from "react";
3
3
 
4
4
  //#region packages/components/data-display/statistic.d.ts
@@ -23,7 +23,7 @@ declare const Statistic: React.MemoExoticComponent<({
23
23
  showTrailingZeros,
24
24
  size,
25
25
  value
26
- }: Props) => react_jsx_runtime99.JSX.Element>;
26
+ }: Props) => react_jsx_runtime1.JSX.Element>;
27
27
  //#endregion
28
28
  export { Statistic };
29
29
  //# sourceMappingURL=statistic.d.cts.map
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime12 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
3
3
 
4
4
  //#region packages/components/data-display/statistic.d.ts
5
5
  type Props = {
@@ -23,7 +23,7 @@ declare const Statistic: React.MemoExoticComponent<({
23
23
  showTrailingZeros,
24
24
  size,
25
25
  value
26
- }: Props) => react_jsx_runtime12.JSX.Element>;
26
+ }: Props) => react_jsx_runtime5.JSX.Element>;
27
27
  //#endregion
28
28
  export { Statistic };
29
29
  //# sourceMappingURL=statistic.d.ts.map
@@ -1,2 +1,2 @@
1
- import{cn as e}from"../utils-D9AH0PUV.js";import{Flex as t}from"../flex-CXCO0f21.js";import n from"react";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=n.memo(({decimalSeparator:a=`.`,groupSeparator:o=`,`,prefix:s,suffix:c,precision:l,roundingMode:u=`round`,showTrailingZeros:d=!1,size:f=`lg`,value:p})=>{let m=n.useCallback((e,t)=>{let n=Math.pow(10,t);switch(u){case`floor`:return Math.floor(e*n)/n;case`ceil`:return Math.ceil(e*n)/n;case`round`:default:return Math.round(e*n)/n}},[u]),h=n.useMemo(()=>{let e={};return typeof l==`number`&&l>=0&&(d&&(e.minimumFractionDigits=l),e.maximumFractionDigits=l),e},[l,d]),g=n.useCallback(e=>{let t=e;return typeof l==`number`&&l>=0&&(t=m(e,l)),t.toLocaleString(`en-US`,h)},[m,h,l]),_=n.useMemo(()=>{if(typeof p==`number`)return isNaN(p)||!isFinite(p)?`N/A`:g(p);if(typeof p==`string`){let e=p.trim();if(!e)return`N/A`;let t=Number(e);return isNaN(t)||!isFinite(t)?`N/A`:g(t)}return`N/A`},[p,g]),v=n.useMemo(()=>a===`.`&&o===`,`?_:_.replace(/,/g,o).replace(/\./g,a),[_,a,o]);return i(t,{padding:`none`,className:e(`text-secondary-foreground font-number text-lg`,f===`xs`&&`text-xs`,f===`sm`&&`text-sm`,f===`md`&&`text-base`,f===`lg`&&`text-lg`,f===`xl`&&`text-xl`),children:[s,r(`p`,{children:v}),c]})});a.displayName=`Statistic`;export{a as Statistic};
1
+ import{cn as e}from"../utils-D9AH0PUV.js";import{Flex as t}from"../flex-CvokpUf1.js";import n from"react";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=n.memo(({decimalSeparator:a=`.`,groupSeparator:o=`,`,prefix:s,suffix:c,precision:l,roundingMode:u=`round`,showTrailingZeros:d=!1,size:f=`lg`,value:p})=>{let m=n.useCallback((e,t)=>{let n=Math.pow(10,t);switch(u){case`floor`:return Math.floor(e*n)/n;case`ceil`:return Math.ceil(e*n)/n;case`round`:default:return Math.round(e*n)/n}},[u]),h=n.useMemo(()=>{let e={};return typeof l==`number`&&l>=0&&(d&&(e.minimumFractionDigits=l),e.maximumFractionDigits=l),e},[l,d]),g=n.useCallback(e=>{let t=e;return typeof l==`number`&&l>=0&&(t=m(e,l)),t.toLocaleString(`en-US`,h)},[m,h,l]),_=n.useMemo(()=>{if(typeof p==`number`)return isNaN(p)||!isFinite(p)?`N/A`:g(p);if(typeof p==`string`){let e=p.trim();if(!e)return`N/A`;let t=Number(e);return isNaN(t)||!isFinite(t)?`N/A`:g(t)}return`N/A`},[p,g]),v=n.useMemo(()=>a===`.`&&o===`,`?_:_.replace(/,/g,o).replace(/\./g,a),[_,a,o]);return i(t,{padding:`none`,className:e(`text-secondary-foreground font-number text-lg`,f===`xs`&&`text-xs`,f===`sm`&&`text-sm`,f===`md`&&`text-base`,f===`lg`&&`text-lg`,f===`xl`&&`text-xl`),children:[s,r(`p`,{children:v}),c]})});a.displayName=`Statistic`;export{a as Statistic};
2
2
  //# sourceMappingURL=statistic.js.map
@@ -1,2 +1,2 @@
1
1
  import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n}from"react/jsx-runtime";import{format as r,isThisMonth as i,isThisWeek as a,isThisYear as o,isToday as s,isTomorrow as c,isValid as l,isYesterday as u,parseISO as d}from"date-fns";const f={weekdays:[`Chủ Nhật`,`Thứ Hai`,`Thứ Ba`,`Thứ Tư`,`Thứ Năm`,`Thứ Sáu`,`Thứ Bảy`],weekdaysShort:[`CN`,`T2`,`T3`,`T4`,`T5`,`T6`,`T7`],months:[`Tháng 1`,`Tháng 2`,`Tháng 3`,`Tháng 4`,`Tháng 5`,`Tháng 6`,`Tháng 7`,`Tháng 8`,`Tháng 9`,`Tháng 10`,`Tháng 11`,`Tháng 12`],monthsShort:[`T1`,`T2`,`T3`,`T4`,`T5`,`T6`,`T7`,`T8`,`T9`,`T10`,`T11`,`T12`]},p={"01-01":`Tết Dương lịch`,"03-08":`Quốc tế Phụ nữ`,"04-30":`Ngày Giải phóng miền Nam`,"05-01":`Quốc tế Lao động`,"09-02":`Quốc khánh`,"10-20":`Ngày Phụ nữ Việt Nam`,"11-20":`Ngày Nhà giáo Việt Nam`};Object.freeze({SECOND:1e3,MINUTE:60*1e3,HOUR:3600*1e3,DAY:1440*60*1e3,WEEK:10080*60*1e3,MONTH:720*60*60*1e3,YEAR:365*24*60*60*1e3});const m=Object.freeze({MINUTE:60,HOUR:3600,DAY:1440*60,WEEK:10080*60,MONTH:720*60*60,YEAR:365*24*60*60});Object.freeze({HOUR:60,DAY:1440,WEEK:10080,MONTH:720*60});const h=({date:h,format:g=`medium`,showHoliday:_=!1,showTime:v=!1,className:y=``,title:b})=>{let x=t.useMemo(()=>{try{if(h instanceof Date)return l(h)?h:null;if(typeof h==`string`){let e=d(h);return l(e)?e:new Date(h)}if(typeof h==`number`){let e=new Date(h);return l(e)?e:null}return null}catch{return null}},[h]),S=t.useCallback(e=>{let t=new Date,n=Math.floor((t.getTime()-e.getTime())/1e3);return n<60?`Vừa xong`:n<3600?`${Math.floor(n/m.MINUTE)} phút trước`:n<86400?`${Math.floor(n/m.HOUR)} giờ trước`:n<604800?`${Math.floor(n/m.DAY)} ngày trước`:n<2592e3?`${Math.floor(n/m.WEEK)} tuần trước`:n<31536e3?`${Math.floor(n/m.MONTH)} tháng trước`:`${Math.floor(n/m.YEAR)} năm trước`},[]),C=t.useCallback((e,t=!1)=>{let n=e.getDay();return t?f.weekdaysShort[n]:f.weekdays[n]},[]),w=t.useCallback((e,t=!1)=>{let n=e.getMonth();return t?f.monthsShort[n]:f.months[n]},[]),T=t.useCallback(e=>{let t=r(e,`MM-dd`);return p[t]||null},[]),E=t.useCallback(e=>{if(s(e))return v?`Hôm nay ${r(e,`HH:mm`)}`:`Hôm nay`;if(u(e))return v?`Hôm qua ${r(e,`HH:mm`)}`:`Hôm qua`;if(c(e))return v?`Ngày mai ${r(e,`HH:mm`)}`:`Ngày mai`;if(a(e)){let t=C(e);return v?`${t} ${r(e,`HH:mm`)}`:t}if(i(e)){let t=r(e,`d`);return v?`${t}/${r(e,`M`)} ${r(e,`HH:mm`)}`:`${t}/${r(e,`M`)}`}return o(e)?v?r(e,`d/M HH:mm`):r(e,`d/M`):v?r(e,`d/M/yyyy HH:mm`):r(e,`d/M/yyyy`)},[C,v]),D=t.useCallback((e,t)=>{let n=v?r(e,`, HH:mm`):``;switch(t){case`short`:return r(e,`d/M/yy`)+n;case`medium`:return r(e,`dd/MM/yyyy`)+n;case`long`:return`${r(e,`d`)} ${w(e)} ${r(e,`yyyy`)}`+n;case`full`:{let t=`${C(e)}, ngày ${r(e,`d`)} ${w(e)} năm ${r(e,`yyyy`)}`;return t+n}case`relative`:return S(e);case`datetime`:return r(e,`d/M/yyyy HH:mm`);case`time`:return r(e,`HH:mm`);case`smart`:return E(e);default:return r(e,`d/M/yyyy`)+n}},[E,w,C,S,v]);if(!x)return n(`span`,{className:e(`text-muted-foreground text-sm`,y),children:`--/--/----`});let O=D(x,g),k=_?T(x):null,A=k?`${O} (${k})`:O,j=b||r(x,`EEEE, d MMMM yyyy HH:mm:ss`);return n(`time`,{dateTime:x.toISOString(),className:e(`text-accent-foreground font-number text-sm`,y),title:j,children:A})};export{h as DateDisplay};
2
- //# sourceMappingURL=date-B1g1OMYc.js.map
2
+ //# sourceMappingURL=date-CztL0aWp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-B1g1OMYc.js","names":["DateDisplay: React.FC<Props>","date"],"sources":["../packages/constants.tsx","../packages/components/data-display/date.tsx"],"sourcesContent":["// Vietnamese locale configuration\nexport const vietnameseLocale = {\n weekdays: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],\n weekdaysShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n months: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n monthsShort: ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],\n}\n\n// Vietnamese holidays\nexport const vietnameseHolidays = {\n '01-01': 'Tết Dương lịch',\n '03-08': 'Quốc tế Phụ nữ',\n '04-30': 'Ngày Giải phóng miền Nam',\n '05-01': 'Quốc tế Lao động',\n '09-02': 'Quốc khánh',\n '10-20': 'Ngày Phụ nữ Việt Nam',\n '11-20': 'Ngày Nhà giáo Việt Nam',\n}\n\n// Time Constants in milliseconds, seconds, and minutes\nexport const TIME_IN_MS = Object.freeze({\n SECOND: 1000,\n MINUTE: 60 * 1000,\n HOUR: 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000, // Approximation for month length = 30 days\n YEAR: 365 * 24 * 60 * 60 * 1000,\n})\n\nexport const TIME_IN_SECONDS = Object.freeze({\n MINUTE: 60,\n HOUR: 60 * 60,\n DAY: 24 * 60 * 60,\n WEEK: 7 * 24 * 60 * 60,\n MONTH: 30 * 24 * 60 * 60,\n YEAR: 365 * 24 * 60 * 60,\n})\n\nexport const TIME_IN_MINUTES = Object.freeze({\n HOUR: 60,\n DAY: 24 * 60,\n WEEK: 7 * 24 * 60,\n MONTH: 30 * 24 * 60,\n})\n","import React from 'react'\nimport { format, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isYesterday, parseISO } from 'date-fns'\n\nimport { TIME_IN_SECONDS, vietnameseHolidays, vietnameseLocale } from '@/constants'\nimport { cn } from '@/lib/utils'\n\ninterface Props {\n date: Date | string | number\n format?:\n | 'short' // 15/03/24\n | 'medium' // 15/03/2024\n | 'long' // 15 tháng 3, 2024\n | 'full' // Thứ Sáu, ngày 15 tháng 3 năm 2024\n | 'relative' // 2 giờ trước\n | 'datetime' // 15/03/2024 14:30\n | 'time' // 14:30\n | 'smart' // Tự động chọn format phù hợp\n showHoliday?: boolean\n showTime?: boolean\n className?: string\n title?: string // Tooltip khi hover\n}\n\nexport const DateDisplay: React.FC<Props> = ({ date, format: formatType = 'medium', showHoliday = false, showTime = false, className = '', title }) => {\n const parsedDate = React.useMemo(() => {\n try {\n if (date instanceof Date) {\n return isValid(date) ? date : null\n }\n if (typeof date === 'string') {\n const parsed = parseISO(date)\n return isValid(parsed) ? parsed : new Date(date)\n }\n if (typeof date === 'number') {\n const parsed = new Date(date)\n return isValid(parsed) ? parsed : null\n }\n return null\n } catch {\n return null\n }\n }, [date])\n\n // Format relative time in Vietnamese\n const formatRelativeTime = React.useCallback((date: Date): string => {\n const now = new Date()\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n\n if (diffInSeconds < 60) return 'Vừa xong'\n if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MINUTE)} phút trước`\n if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.HOUR)} giờ trước`\n if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.DAY)} ngày trước`\n if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.WEEK)} tuần trước`\n if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MONTH)} tháng trước`\n return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.YEAR)} năm trước`\n }, [])\n\n // Vietnamese weekday\n const getVietnameseWeekday = React.useCallback((date: Date, short: boolean = false): string => {\n const dayIndex = date.getDay()\n return short ? vietnameseLocale.weekdaysShort[dayIndex] : vietnameseLocale.weekdays[dayIndex]\n }, [])\n\n // Vietnamese month\n const getVietnameseMonth = React.useCallback((date: Date, short: boolean = false): string => {\n const monthIndex = date.getMonth()\n return short ? vietnameseLocale.monthsShort[monthIndex] : vietnameseLocale.months[monthIndex]\n }, [])\n\n // Check holiday\n const getHoliday = React.useCallback((date: Date): string | null => {\n const monthDay = format(date, 'MM-dd') as keyof typeof vietnameseHolidays\n return vietnameseHolidays[monthDay] || null\n }, [])\n\n // Smart format - choose appropriate format based on date\n const getSmartFormat = React.useCallback(\n (date: Date): string => {\n if (isToday(date)) {\n return showTime ? `Hôm nay ${format(date, 'HH:mm')}` : 'Hôm nay'\n }\n if (isYesterday(date)) {\n return showTime ? `Hôm qua ${format(date, 'HH:mm')}` : 'Hôm qua'\n }\n if (isTomorrow(date)) {\n return showTime ? `Ngày mai ${format(date, 'HH:mm')}` : 'Ngày mai'\n }\n if (isThisWeek(date)) {\n const weekday = getVietnameseWeekday(date)\n return showTime ? `${weekday} ${format(date, 'HH:mm')}` : weekday\n }\n if (isThisMonth(date)) {\n const day = format(date, 'd')\n return showTime ? `${day}/${format(date, 'M')} ${format(date, 'HH:mm')}` : `${day}/${format(date, 'M')}`\n }\n if (isThisYear(date)) {\n return showTime ? format(date, 'd/M HH:mm') : format(date, 'd/M')\n }\n return showTime ? format(date, 'd/M/yyyy HH:mm') : format(date, 'd/M/yyyy')\n },\n [getVietnameseWeekday, showTime],\n )\n\n // Main formatting function\n const formatDate = React.useCallback(\n (date: Date, type: string): string => {\n const timeStr = showTime ? format(date, ', HH:mm') : ''\n\n switch (type) {\n case 'short':\n return format(date, 'd/M/yy') + timeStr\n\n case 'medium':\n return format(date, 'dd/MM/yyyy') + timeStr\n\n case 'long':\n return `${format(date, 'd')} ${getVietnameseMonth(date)} ${format(date, 'yyyy')}` + timeStr\n\n case 'full': {\n const data = `${getVietnameseWeekday(date)}, ngày ${format(date, 'd')} ${getVietnameseMonth(date)} năm ${format(date, 'yyyy')}`\n return data + timeStr\n }\n\n case 'relative':\n return formatRelativeTime(date)\n\n case 'datetime':\n return format(date, 'd/M/yyyy HH:mm')\n\n case 'time':\n return format(date, 'HH:mm')\n\n case 'smart':\n return getSmartFormat(date)\n\n default:\n return format(date, 'd/M/yyyy') + timeStr\n }\n },\n [getSmartFormat, getVietnameseMonth, getVietnameseWeekday, formatRelativeTime, showTime],\n )\n\n if (!parsedDate) {\n return <span className={cn('text-muted-foreground text-sm', className)}>--/--/----</span>\n }\n\n const formattedDate = formatDate(parsedDate, formatType)\n const holiday = showHoliday ? getHoliday(parsedDate) : null\n const displayText = holiday ? `${formattedDate} (${holiday})` : formattedDate\n const tooltipTitle = title || format(parsedDate, 'EEEE, d MMMM yyyy HH:mm:ss')\n\n return (\n <time dateTime={parsedDate.toISOString()} className={cn('text-accent-foreground font-number text-sm', className)} title={tooltipTitle}>\n {displayText}\n </time>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-CztL0aWp.js","names":["DateDisplay: React.FC<Props>","date"],"sources":["../packages/constants.tsx","../packages/components/data-display/date.tsx"],"sourcesContent":["// Vietnamese locale configuration\nexport const vietnameseLocale = {\n weekdays: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],\n weekdaysShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n months: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n monthsShort: ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],\n}\n\n// Vietnamese holidays\nexport const vietnameseHolidays = {\n '01-01': 'Tết Dương lịch',\n '03-08': 'Quốc tế Phụ nữ',\n '04-30': 'Ngày Giải phóng miền Nam',\n '05-01': 'Quốc tế Lao động',\n '09-02': 'Quốc khánh',\n '10-20': 'Ngày Phụ nữ Việt Nam',\n '11-20': 'Ngày Nhà giáo Việt Nam',\n}\n\n// Time Constants in milliseconds, seconds, and minutes\nexport const TIME_IN_MS = Object.freeze({\n SECOND: 1000,\n MINUTE: 60 * 1000,\n HOUR: 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000, // Approximation for month length = 30 days\n YEAR: 365 * 24 * 60 * 60 * 1000,\n})\n\nexport const TIME_IN_SECONDS = Object.freeze({\n MINUTE: 60,\n HOUR: 60 * 60,\n DAY: 24 * 60 * 60,\n WEEK: 7 * 24 * 60 * 60,\n MONTH: 30 * 24 * 60 * 60,\n YEAR: 365 * 24 * 60 * 60,\n})\n\nexport const TIME_IN_MINUTES = Object.freeze({\n HOUR: 60,\n DAY: 24 * 60,\n WEEK: 7 * 24 * 60,\n MONTH: 30 * 24 * 60,\n})\n","import React from 'react'\nimport { format, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isYesterday, parseISO } from 'date-fns'\n\nimport { TIME_IN_SECONDS, vietnameseHolidays, vietnameseLocale } from '@/constants'\nimport { cn } from '@/lib/utils'\n\ninterface Props {\n date: Date | string | number\n format?:\n | 'short' // 15/03/24\n | 'medium' // 15/03/2024\n | 'long' // 15 tháng 3, 2024\n | 'full' // Thứ Sáu, ngày 15 tháng 3 năm 2024\n | 'relative' // 2 giờ trước\n | 'datetime' // 15/03/2024 14:30\n | 'time' // 14:30\n | 'smart' // Tự động chọn format phù hợp\n showHoliday?: boolean\n showTime?: boolean\n className?: string\n title?: string // Tooltip khi hover\n}\n\nexport const DateDisplay: React.FC<Props> = ({ date, format: formatType = 'medium', showHoliday = false, showTime = false, className = '', title }) => {\n const parsedDate = React.useMemo(() => {\n try {\n if (date instanceof Date) {\n return isValid(date) ? date : null\n }\n if (typeof date === 'string') {\n const parsed = parseISO(date)\n return isValid(parsed) ? parsed : new Date(date)\n }\n if (typeof date === 'number') {\n const parsed = new Date(date)\n return isValid(parsed) ? parsed : null\n }\n return null\n } catch {\n return null\n }\n }, [date])\n\n // Format relative time in Vietnamese\n const formatRelativeTime = React.useCallback((date: Date): string => {\n const now = new Date()\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n\n if (diffInSeconds < 60) return 'Vừa xong'\n if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MINUTE)} phút trước`\n if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.HOUR)} giờ trước`\n if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.DAY)} ngày trước`\n if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.WEEK)} tuần trước`\n if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MONTH)} tháng trước`\n return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.YEAR)} năm trước`\n }, [])\n\n // Vietnamese weekday\n const getVietnameseWeekday = React.useCallback((date: Date, short: boolean = false): string => {\n const dayIndex = date.getDay()\n return short ? vietnameseLocale.weekdaysShort[dayIndex] : vietnameseLocale.weekdays[dayIndex]\n }, [])\n\n // Vietnamese month\n const getVietnameseMonth = React.useCallback((date: Date, short: boolean = false): string => {\n const monthIndex = date.getMonth()\n return short ? vietnameseLocale.monthsShort[monthIndex] : vietnameseLocale.months[monthIndex]\n }, [])\n\n // Check holiday\n const getHoliday = React.useCallback((date: Date): string | null => {\n const monthDay = format(date, 'MM-dd') as keyof typeof vietnameseHolidays\n return vietnameseHolidays[monthDay] || null\n }, [])\n\n // Smart format - choose appropriate format based on date\n const getSmartFormat = React.useCallback(\n (date: Date): string => {\n if (isToday(date)) {\n return showTime ? `Hôm nay ${format(date, 'HH:mm')}` : 'Hôm nay'\n }\n if (isYesterday(date)) {\n return showTime ? `Hôm qua ${format(date, 'HH:mm')}` : 'Hôm qua'\n }\n if (isTomorrow(date)) {\n return showTime ? `Ngày mai ${format(date, 'HH:mm')}` : 'Ngày mai'\n }\n if (isThisWeek(date)) {\n const weekday = getVietnameseWeekday(date)\n return showTime ? `${weekday} ${format(date, 'HH:mm')}` : weekday\n }\n if (isThisMonth(date)) {\n const day = format(date, 'd')\n return showTime ? `${day}/${format(date, 'M')} ${format(date, 'HH:mm')}` : `${day}/${format(date, 'M')}`\n }\n if (isThisYear(date)) {\n return showTime ? format(date, 'd/M HH:mm') : format(date, 'd/M')\n }\n return showTime ? format(date, 'd/M/yyyy HH:mm') : format(date, 'd/M/yyyy')\n },\n [getVietnameseWeekday, showTime],\n )\n\n // Main formatting function\n const formatDate = React.useCallback(\n (date: Date, type: string): string => {\n const timeStr = showTime ? format(date, ', HH:mm') : ''\n\n switch (type) {\n case 'short':\n return format(date, 'd/M/yy') + timeStr\n\n case 'medium':\n return format(date, 'dd/MM/yyyy') + timeStr\n\n case 'long':\n return `${format(date, 'd')} ${getVietnameseMonth(date)} ${format(date, 'yyyy')}` + timeStr\n\n case 'full': {\n const data = `${getVietnameseWeekday(date)}, ngày ${format(date, 'd')} ${getVietnameseMonth(date)} năm ${format(date, 'yyyy')}`\n return data + timeStr\n }\n\n case 'relative':\n return formatRelativeTime(date)\n\n case 'datetime':\n return format(date, 'd/M/yyyy HH:mm')\n\n case 'time':\n return format(date, 'HH:mm')\n\n case 'smart':\n return getSmartFormat(date)\n\n default:\n return format(date, 'd/M/yyyy') + timeStr\n }\n },\n [getSmartFormat, getVietnameseMonth, getVietnameseWeekday, formatRelativeTime, showTime],\n )\n\n if (!parsedDate) {\n return <span className={cn('text-muted-foreground text-sm', className)}>--/--/----</span>\n }\n\n const formattedDate = formatDate(parsedDate, formatType)\n const holiday = showHoliday ? getHoliday(parsedDate) : null\n const displayText = holiday ? `${formattedDate} (${holiday})` : formattedDate\n const tooltipTitle = title || format(parsedDate, 'EEEE, d MMMM yyyy HH:mm:ss')\n\n return (\n <time dateTime={parsedDate.toISOString()} className={cn('text-accent-foreground font-number text-sm', className)} title={tooltipTitle}>\n {displayText}\n </time>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`date-fns`)),a={weekdays:[`Chủ Nhật`,`Thứ Hai`,`Thứ Ba`,`Thứ Tư`,`Thứ Năm`,`Thứ Sáu`,`Thứ Bảy`],weekdaysShort:[`CN`,`T2`,`T3`,`T4`,`T5`,`T6`,`T7`],months:[`Tháng 1`,`Tháng 2`,`Tháng 3`,`Tháng 4`,`Tháng 5`,`Tháng 6`,`Tháng 7`,`Tháng 8`,`Tháng 9`,`Tháng 10`,`Tháng 11`,`Tháng 12`],monthsShort:[`T1`,`T2`,`T3`,`T4`,`T5`,`T6`,`T7`,`T8`,`T9`,`T10`,`T11`,`T12`]},o={"01-01":`Tết Dương lịch`,"03-08":`Quốc tế Phụ nữ`,"04-30":`Ngày Giải phóng miền Nam`,"05-01":`Quốc tế Lao động`,"09-02":`Quốc khánh`,"10-20":`Ngày Phụ nữ Việt Nam`,"11-20":`Ngày Nhà giáo Việt Nam`},s=Object.freeze({SECOND:1e3,MINUTE:60*1e3,HOUR:3600*1e3,DAY:1440*60*1e3,WEEK:10080*60*1e3,MONTH:720*60*60*1e3,YEAR:365*24*60*60*1e3}),c=Object.freeze({MINUTE:60,HOUR:3600,DAY:1440*60,WEEK:10080*60,MONTH:720*60*60,YEAR:365*24*60*60}),l=Object.freeze({HOUR:60,DAY:1440,WEEK:10080,MONTH:720*60}),u=({date:e,format:s=`medium`,showHoliday:l=!1,showTime:u=!1,className:d=``,title:f})=>{let p=n.default.useMemo(()=>{try{if(e instanceof Date)return(0,i.isValid)(e)?e:null;if(typeof e==`string`){let t=(0,i.parseISO)(e);return(0,i.isValid)(t)?t:new Date(e)}if(typeof e==`number`){let t=new Date(e);return(0,i.isValid)(t)?t:null}return null}catch{return null}},[e]),m=n.default.useCallback(e=>{let t=new Date,n=Math.floor((t.getTime()-e.getTime())/1e3);return n<60?`Vừa xong`:n<3600?`${Math.floor(n/c.MINUTE)} phút trước`:n<86400?`${Math.floor(n/c.HOUR)} giờ trước`:n<604800?`${Math.floor(n/c.DAY)} ngày trước`:n<2592e3?`${Math.floor(n/c.WEEK)} tuần trước`:n<31536e3?`${Math.floor(n/c.MONTH)} tháng trước`:`${Math.floor(n/c.YEAR)} năm trước`},[]),h=n.default.useCallback((e,t=!1)=>{let n=e.getDay();return t?a.weekdaysShort[n]:a.weekdays[n]},[]),g=n.default.useCallback((e,t=!1)=>{let n=e.getMonth();return t?a.monthsShort[n]:a.months[n]},[]),_=n.default.useCallback(e=>{let t=(0,i.format)(e,`MM-dd`);return o[t]||null},[]),v=n.default.useCallback(e=>{if((0,i.isToday)(e))return u?`Hôm nay ${(0,i.format)(e,`HH:mm`)}`:`Hôm nay`;if((0,i.isYesterday)(e))return u?`Hôm qua ${(0,i.format)(e,`HH:mm`)}`:`Hôm qua`;if((0,i.isTomorrow)(e))return u?`Ngày mai ${(0,i.format)(e,`HH:mm`)}`:`Ngày mai`;if((0,i.isThisWeek)(e)){let t=h(e);return u?`${t} ${(0,i.format)(e,`HH:mm`)}`:t}if((0,i.isThisMonth)(e)){let t=(0,i.format)(e,`d`);return u?`${t}/${(0,i.format)(e,`M`)} ${(0,i.format)(e,`HH:mm`)}`:`${t}/${(0,i.format)(e,`M`)}`}return(0,i.isThisYear)(e)?u?(0,i.format)(e,`d/M HH:mm`):(0,i.format)(e,`d/M`):u?(0,i.format)(e,`d/M/yyyy HH:mm`):(0,i.format)(e,`d/M/yyyy`)},[h,u]),y=n.default.useCallback((e,t)=>{let n=u?(0,i.format)(e,`, HH:mm`):``;switch(t){case`short`:return(0,i.format)(e,`d/M/yy`)+n;case`medium`:return(0,i.format)(e,`dd/MM/yyyy`)+n;case`long`:return`${(0,i.format)(e,`d`)} ${g(e)} ${(0,i.format)(e,`yyyy`)}`+n;case`full`:{let t=`${h(e)}, ngày ${(0,i.format)(e,`d`)} ${g(e)} năm ${(0,i.format)(e,`yyyy`)}`;return t+n}case`relative`:return m(e);case`datetime`:return(0,i.format)(e,`d/M/yyyy HH:mm`);case`time`:return(0,i.format)(e,`HH:mm`);case`smart`:return v(e);default:return(0,i.format)(e,`d/M/yyyy`)+n}},[v,g,h,m,u]);if(!p)return(0,r.jsx)(`span`,{className:t.cn(`text-muted-foreground text-sm`,d),children:`--/--/----`});let b=y(p,s),x=l?_(p):null,S=x?`${b} (${x})`:b,C=f||(0,i.format)(p,`EEEE, d MMMM yyyy HH:mm:ss`);return(0,r.jsx)(`time`,{dateTime:p.toISOString(),className:t.cn(`text-accent-foreground font-number text-sm`,d),title:C,children:S})};Object.defineProperty(exports,`DateDisplay`,{enumerable:!0,get:function(){return u}});
2
- //# sourceMappingURL=date-Cw6Jf7k6.cjs.map
2
+ //# sourceMappingURL=date-DCURBWXk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-Cw6Jf7k6.cjs","names":["DateDisplay: React.FC<Props>","React","date","cn"],"sources":["../packages/constants.tsx","../packages/components/data-display/date.tsx"],"sourcesContent":["// Vietnamese locale configuration\nexport const vietnameseLocale = {\n weekdays: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],\n weekdaysShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n months: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n monthsShort: ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],\n}\n\n// Vietnamese holidays\nexport const vietnameseHolidays = {\n '01-01': 'Tết Dương lịch',\n '03-08': 'Quốc tế Phụ nữ',\n '04-30': 'Ngày Giải phóng miền Nam',\n '05-01': 'Quốc tế Lao động',\n '09-02': 'Quốc khánh',\n '10-20': 'Ngày Phụ nữ Việt Nam',\n '11-20': 'Ngày Nhà giáo Việt Nam',\n}\n\n// Time Constants in milliseconds, seconds, and minutes\nexport const TIME_IN_MS = Object.freeze({\n SECOND: 1000,\n MINUTE: 60 * 1000,\n HOUR: 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000, // Approximation for month length = 30 days\n YEAR: 365 * 24 * 60 * 60 * 1000,\n})\n\nexport const TIME_IN_SECONDS = Object.freeze({\n MINUTE: 60,\n HOUR: 60 * 60,\n DAY: 24 * 60 * 60,\n WEEK: 7 * 24 * 60 * 60,\n MONTH: 30 * 24 * 60 * 60,\n YEAR: 365 * 24 * 60 * 60,\n})\n\nexport const TIME_IN_MINUTES = Object.freeze({\n HOUR: 60,\n DAY: 24 * 60,\n WEEK: 7 * 24 * 60,\n MONTH: 30 * 24 * 60,\n})\n","import React from 'react'\nimport { format, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isYesterday, parseISO } from 'date-fns'\n\nimport { TIME_IN_SECONDS, vietnameseHolidays, vietnameseLocale } from '@/constants'\nimport { cn } from '@/lib/utils'\n\ninterface Props {\n date: Date | string | number\n format?:\n | 'short' // 15/03/24\n | 'medium' // 15/03/2024\n | 'long' // 15 tháng 3, 2024\n | 'full' // Thứ Sáu, ngày 15 tháng 3 năm 2024\n | 'relative' // 2 giờ trước\n | 'datetime' // 15/03/2024 14:30\n | 'time' // 14:30\n | 'smart' // Tự động chọn format phù hợp\n showHoliday?: boolean\n showTime?: boolean\n className?: string\n title?: string // Tooltip khi hover\n}\n\nexport const DateDisplay: React.FC<Props> = ({ date, format: formatType = 'medium', showHoliday = false, showTime = false, className = '', title }) => {\n const parsedDate = React.useMemo(() => {\n try {\n if (date instanceof Date) {\n return isValid(date) ? date : null\n }\n if (typeof date === 'string') {\n const parsed = parseISO(date)\n return isValid(parsed) ? parsed : new Date(date)\n }\n if (typeof date === 'number') {\n const parsed = new Date(date)\n return isValid(parsed) ? parsed : null\n }\n return null\n } catch {\n return null\n }\n }, [date])\n\n // Format relative time in Vietnamese\n const formatRelativeTime = React.useCallback((date: Date): string => {\n const now = new Date()\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n\n if (diffInSeconds < 60) return 'Vừa xong'\n if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MINUTE)} phút trước`\n if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.HOUR)} giờ trước`\n if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.DAY)} ngày trước`\n if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.WEEK)} tuần trước`\n if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MONTH)} tháng trước`\n return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.YEAR)} năm trước`\n }, [])\n\n // Vietnamese weekday\n const getVietnameseWeekday = React.useCallback((date: Date, short: boolean = false): string => {\n const dayIndex = date.getDay()\n return short ? vietnameseLocale.weekdaysShort[dayIndex] : vietnameseLocale.weekdays[dayIndex]\n }, [])\n\n // Vietnamese month\n const getVietnameseMonth = React.useCallback((date: Date, short: boolean = false): string => {\n const monthIndex = date.getMonth()\n return short ? vietnameseLocale.monthsShort[monthIndex] : vietnameseLocale.months[monthIndex]\n }, [])\n\n // Check holiday\n const getHoliday = React.useCallback((date: Date): string | null => {\n const monthDay = format(date, 'MM-dd') as keyof typeof vietnameseHolidays\n return vietnameseHolidays[monthDay] || null\n }, [])\n\n // Smart format - choose appropriate format based on date\n const getSmartFormat = React.useCallback(\n (date: Date): string => {\n if (isToday(date)) {\n return showTime ? `Hôm nay ${format(date, 'HH:mm')}` : 'Hôm nay'\n }\n if (isYesterday(date)) {\n return showTime ? `Hôm qua ${format(date, 'HH:mm')}` : 'Hôm qua'\n }\n if (isTomorrow(date)) {\n return showTime ? `Ngày mai ${format(date, 'HH:mm')}` : 'Ngày mai'\n }\n if (isThisWeek(date)) {\n const weekday = getVietnameseWeekday(date)\n return showTime ? `${weekday} ${format(date, 'HH:mm')}` : weekday\n }\n if (isThisMonth(date)) {\n const day = format(date, 'd')\n return showTime ? `${day}/${format(date, 'M')} ${format(date, 'HH:mm')}` : `${day}/${format(date, 'M')}`\n }\n if (isThisYear(date)) {\n return showTime ? format(date, 'd/M HH:mm') : format(date, 'd/M')\n }\n return showTime ? format(date, 'd/M/yyyy HH:mm') : format(date, 'd/M/yyyy')\n },\n [getVietnameseWeekday, showTime],\n )\n\n // Main formatting function\n const formatDate = React.useCallback(\n (date: Date, type: string): string => {\n const timeStr = showTime ? format(date, ', HH:mm') : ''\n\n switch (type) {\n case 'short':\n return format(date, 'd/M/yy') + timeStr\n\n case 'medium':\n return format(date, 'dd/MM/yyyy') + timeStr\n\n case 'long':\n return `${format(date, 'd')} ${getVietnameseMonth(date)} ${format(date, 'yyyy')}` + timeStr\n\n case 'full': {\n const data = `${getVietnameseWeekday(date)}, ngày ${format(date, 'd')} ${getVietnameseMonth(date)} năm ${format(date, 'yyyy')}`\n return data + timeStr\n }\n\n case 'relative':\n return formatRelativeTime(date)\n\n case 'datetime':\n return format(date, 'd/M/yyyy HH:mm')\n\n case 'time':\n return format(date, 'HH:mm')\n\n case 'smart':\n return getSmartFormat(date)\n\n default:\n return format(date, 'd/M/yyyy') + timeStr\n }\n },\n [getSmartFormat, getVietnameseMonth, getVietnameseWeekday, formatRelativeTime, showTime],\n )\n\n if (!parsedDate) {\n return <span className={cn('text-muted-foreground text-sm', className)}>--/--/----</span>\n }\n\n const formattedDate = formatDate(parsedDate, formatType)\n const holiday = showHoliday ? getHoliday(parsedDate) : null\n const displayText = holiday ? `${formattedDate} (${holiday})` : formattedDate\n const tooltipTitle = title || format(parsedDate, 'EEEE, d MMMM yyyy HH:mm:ss')\n\n return (\n <time dateTime={parsedDate.toISOString()} className={cn('text-accent-foreground font-number text-sm', className)} title={tooltipTitle}>\n {displayText}\n </time>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-DCURBWXk.cjs","names":["DateDisplay: React.FC<Props>","React","date","cn"],"sources":["../packages/constants.tsx","../packages/components/data-display/date.tsx"],"sourcesContent":["// Vietnamese locale configuration\nexport const vietnameseLocale = {\n weekdays: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],\n weekdaysShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],\n months: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],\n monthsShort: ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],\n}\n\n// Vietnamese holidays\nexport const vietnameseHolidays = {\n '01-01': 'Tết Dương lịch',\n '03-08': 'Quốc tế Phụ nữ',\n '04-30': 'Ngày Giải phóng miền Nam',\n '05-01': 'Quốc tế Lao động',\n '09-02': 'Quốc khánh',\n '10-20': 'Ngày Phụ nữ Việt Nam',\n '11-20': 'Ngày Nhà giáo Việt Nam',\n}\n\n// Time Constants in milliseconds, seconds, and minutes\nexport const TIME_IN_MS = Object.freeze({\n SECOND: 1000,\n MINUTE: 60 * 1000,\n HOUR: 60 * 60 * 1000,\n DAY: 24 * 60 * 60 * 1000,\n WEEK: 7 * 24 * 60 * 60 * 1000,\n MONTH: 30 * 24 * 60 * 60 * 1000, // Approximation for month length = 30 days\n YEAR: 365 * 24 * 60 * 60 * 1000,\n})\n\nexport const TIME_IN_SECONDS = Object.freeze({\n MINUTE: 60,\n HOUR: 60 * 60,\n DAY: 24 * 60 * 60,\n WEEK: 7 * 24 * 60 * 60,\n MONTH: 30 * 24 * 60 * 60,\n YEAR: 365 * 24 * 60 * 60,\n})\n\nexport const TIME_IN_MINUTES = Object.freeze({\n HOUR: 60,\n DAY: 24 * 60,\n WEEK: 7 * 24 * 60,\n MONTH: 30 * 24 * 60,\n})\n","import React from 'react'\nimport { format, isThisMonth, isThisWeek, isThisYear, isToday, isTomorrow, isValid, isYesterday, parseISO } from 'date-fns'\n\nimport { TIME_IN_SECONDS, vietnameseHolidays, vietnameseLocale } from '@/constants'\nimport { cn } from '@/lib/utils'\n\ninterface Props {\n date: Date | string | number\n format?:\n | 'short' // 15/03/24\n | 'medium' // 15/03/2024\n | 'long' // 15 tháng 3, 2024\n | 'full' // Thứ Sáu, ngày 15 tháng 3 năm 2024\n | 'relative' // 2 giờ trước\n | 'datetime' // 15/03/2024 14:30\n | 'time' // 14:30\n | 'smart' // Tự động chọn format phù hợp\n showHoliday?: boolean\n showTime?: boolean\n className?: string\n title?: string // Tooltip khi hover\n}\n\nexport const DateDisplay: React.FC<Props> = ({ date, format: formatType = 'medium', showHoliday = false, showTime = false, className = '', title }) => {\n const parsedDate = React.useMemo(() => {\n try {\n if (date instanceof Date) {\n return isValid(date) ? date : null\n }\n if (typeof date === 'string') {\n const parsed = parseISO(date)\n return isValid(parsed) ? parsed : new Date(date)\n }\n if (typeof date === 'number') {\n const parsed = new Date(date)\n return isValid(parsed) ? parsed : null\n }\n return null\n } catch {\n return null\n }\n }, [date])\n\n // Format relative time in Vietnamese\n const formatRelativeTime = React.useCallback((date: Date): string => {\n const now = new Date()\n const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000)\n\n if (diffInSeconds < 60) return 'Vừa xong'\n if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MINUTE)} phút trước`\n if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.HOUR)} giờ trước`\n if (diffInSeconds < 604800) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.DAY)} ngày trước`\n if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.WEEK)} tuần trước`\n if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.MONTH)} tháng trước`\n return `${Math.floor(diffInSeconds / TIME_IN_SECONDS.YEAR)} năm trước`\n }, [])\n\n // Vietnamese weekday\n const getVietnameseWeekday = React.useCallback((date: Date, short: boolean = false): string => {\n const dayIndex = date.getDay()\n return short ? vietnameseLocale.weekdaysShort[dayIndex] : vietnameseLocale.weekdays[dayIndex]\n }, [])\n\n // Vietnamese month\n const getVietnameseMonth = React.useCallback((date: Date, short: boolean = false): string => {\n const monthIndex = date.getMonth()\n return short ? vietnameseLocale.monthsShort[monthIndex] : vietnameseLocale.months[monthIndex]\n }, [])\n\n // Check holiday\n const getHoliday = React.useCallback((date: Date): string | null => {\n const monthDay = format(date, 'MM-dd') as keyof typeof vietnameseHolidays\n return vietnameseHolidays[monthDay] || null\n }, [])\n\n // Smart format - choose appropriate format based on date\n const getSmartFormat = React.useCallback(\n (date: Date): string => {\n if (isToday(date)) {\n return showTime ? `Hôm nay ${format(date, 'HH:mm')}` : 'Hôm nay'\n }\n if (isYesterday(date)) {\n return showTime ? `Hôm qua ${format(date, 'HH:mm')}` : 'Hôm qua'\n }\n if (isTomorrow(date)) {\n return showTime ? `Ngày mai ${format(date, 'HH:mm')}` : 'Ngày mai'\n }\n if (isThisWeek(date)) {\n const weekday = getVietnameseWeekday(date)\n return showTime ? `${weekday} ${format(date, 'HH:mm')}` : weekday\n }\n if (isThisMonth(date)) {\n const day = format(date, 'd')\n return showTime ? `${day}/${format(date, 'M')} ${format(date, 'HH:mm')}` : `${day}/${format(date, 'M')}`\n }\n if (isThisYear(date)) {\n return showTime ? format(date, 'd/M HH:mm') : format(date, 'd/M')\n }\n return showTime ? format(date, 'd/M/yyyy HH:mm') : format(date, 'd/M/yyyy')\n },\n [getVietnameseWeekday, showTime],\n )\n\n // Main formatting function\n const formatDate = React.useCallback(\n (date: Date, type: string): string => {\n const timeStr = showTime ? format(date, ', HH:mm') : ''\n\n switch (type) {\n case 'short':\n return format(date, 'd/M/yy') + timeStr\n\n case 'medium':\n return format(date, 'dd/MM/yyyy') + timeStr\n\n case 'long':\n return `${format(date, 'd')} ${getVietnameseMonth(date)} ${format(date, 'yyyy')}` + timeStr\n\n case 'full': {\n const data = `${getVietnameseWeekday(date)}, ngày ${format(date, 'd')} ${getVietnameseMonth(date)} năm ${format(date, 'yyyy')}`\n return data + timeStr\n }\n\n case 'relative':\n return formatRelativeTime(date)\n\n case 'datetime':\n return format(date, 'd/M/yyyy HH:mm')\n\n case 'time':\n return format(date, 'HH:mm')\n\n case 'smart':\n return getSmartFormat(date)\n\n default:\n return format(date, 'd/M/yyyy') + timeStr\n }\n },\n [getSmartFormat, getVietnameseMonth, getVietnameseWeekday, formatRelativeTime, showTime],\n )\n\n if (!parsedDate) {\n return <span className={cn('text-muted-foreground text-sm', className)}>--/--/----</span>\n }\n\n const formattedDate = formatDate(parsedDate, formatType)\n const holiday = showHoliday ? getHoliday(parsedDate) : null\n const displayText = holiday ? `${formattedDate} (${holiday})` : formattedDate\n const tooltipTitle = title || format(parsedDate, 'EEEE, d MMMM yyyy HH:mm:ss')\n\n return (\n <time dateTime={parsedDate.toISOString()} className={cn('text-accent-foreground font-number text-sm', className)} title={tooltipTitle}>\n {displayText}\n </time>\n )\n}\n"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime25 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime75 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime25.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime75.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime25.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime75.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime25.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime75.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime25.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime75.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime25.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime75.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime25.JSX.Element;
28
+ }): react_jsx_runtime75.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime25.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime75.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime25.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime75.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime25.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime75.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime25.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime75.JSX.Element;
45
45
  //#endregion
46
46
  export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
47
- //# sourceMappingURL=dialog-LR_6dvSQ.d.cts.map
47
+ //# sourceMappingURL=dialog-DxwqxuCv.d.cts.map
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime112 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime12 from "react/jsx-runtime";
2
2
  import { Dialog } from "radix-ui";
3
3
 
4
4
  //#region packages/components/ui/dialog.d.ts
5
5
  declare function Dialog$1({
6
6
  ...props
7
- }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime112.JSX.Element;
7
+ }: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime12.JSX.Element;
8
8
  declare function DialogTrigger({
9
9
  ...props
10
- }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime112.JSX.Element;
10
+ }: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime12.JSX.Element;
11
11
  declare function DialogPortal({
12
12
  ...props
13
- }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime112.JSX.Element;
13
+ }: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime12.JSX.Element;
14
14
  declare function DialogClose({
15
15
  ...props
16
- }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime112.JSX.Element;
16
+ }: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime12.JSX.Element;
17
17
  declare function DialogOverlay({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime112.JSX.Element;
20
+ }: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime12.JSX.Element;
21
21
  declare function DialogContent({
22
22
  className,
23
23
  children,
@@ -25,23 +25,23 @@ declare function DialogContent({
25
25
  ...props
26
26
  }: React.ComponentProps<typeof Dialog.Content> & {
27
27
  showCloseButton?: boolean;
28
- }): react_jsx_runtime112.JSX.Element;
28
+ }): react_jsx_runtime12.JSX.Element;
29
29
  declare function DialogHeader({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<'div'>): react_jsx_runtime112.JSX.Element;
32
+ }: React.ComponentProps<'div'>): react_jsx_runtime12.JSX.Element;
33
33
  declare function DialogFooter({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<'div'>): react_jsx_runtime112.JSX.Element;
36
+ }: React.ComponentProps<'div'>): react_jsx_runtime12.JSX.Element;
37
37
  declare function DialogTitle({
38
38
  className,
39
39
  ...props
40
- }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime112.JSX.Element;
40
+ }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime12.JSX.Element;
41
41
  declare function DialogDescription({
42
42
  className,
43
43
  ...props
44
- }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime112.JSX.Element;
44
+ }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime12.JSX.Element;
45
45
  //#endregion
46
46
  export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
47
- //# sourceMappingURL=dialog-DzGLUK6_.d.ts.map
47
+ //# sourceMappingURL=dialog-J3LaGLck.d.ts.map
@@ -1 +1 @@
1
- "use client";require(`../../../utils-BsjVK5EW.cjs`),require(`../../../button-Db_CKSZw.cjs`),require(`../../../input-C-60EZ1K.cjs`),require(`../../../tooltip-BeQcgjzF.cjs`),require(`../../../separator-Cigaqna1.cjs`),require(`../../../sheet-CX3PajAc.cjs`),require(`../../../skeleton-tNlCAW9R.cjs`),require(`../../../use-mobile-DD7ESbjU.cjs`);const e=require(`../../../sidebar-B-iUTI3P.cjs`);exports.DetailDialogSidebarContent=e.DetailDialogSidebarContent,exports.DetailDialogSidebarFooter=e.DetailDialogSidebarFooter,exports.DetailDialogSidebarGroup=e.DetailDialogSidebarGroup,exports.DetailDialogSidebarGroupAction=e.DetailDialogSidebarGroupAction,exports.DetailDialogSidebarGroupContent=e.DetailDialogSidebarGroupContent,exports.DetailDialogSidebarGroupLabel=e.DetailDialogSidebarGroupLabel,exports.DetailDialogSidebarHeader=e.DetailDialogSidebarHeader,exports.DetailDialogSidebarMenu=e.DetailDialogSidebarMenu,exports.DetailDialogSidebarMenuAction=e.DetailDialogSidebarMenuAction,exports.DetailDialogSidebarMenuBadge=e.DetailDialogSidebarMenuBadge,exports.DetailDialogSidebarMenuButton=e.DetailDialogSidebarMenuButton,exports.DetailDialogSidebarMenuItem=e.DetailDialogSidebarMenuItem,exports.DetailDialogSidebarMenuSkeleton=e.DetailDialogSidebarMenuSkeleton,exports.DetailDialogSidebarMenuSub=e.DetailDialogSidebarMenuSub,exports.DetailDialogSidebarMenuSubButton=e.DetailDialogSidebarMenuSubButton,exports.DetailDialogSidebarMenuSubItem=e.DetailDialogSidebarMenuSubItem,exports.DetailDialogSidebarRail=e.DetailDialogSidebarRail,exports.DetailDialogSidebarSeparator=e.DetailDialogSidebarSeparator,exports.DetailDialogSidebarTrigger=e.DetailDialogSidebarTrigger,exports.Sidebar=e.Sidebar,exports.SidebarInput=e.SidebarInput,exports.SidebarInset=e.SidebarInset,exports.SidebarProvider=e.SidebarProvider,exports.useSidebar=e.useSidebar;
1
+ "use client";require(`../../../utils-BsjVK5EW.cjs`),require(`../../../button-Db_CKSZw.cjs`),require(`../../../tooltip-i-daLHx3.cjs`),require(`../../../input-C2xQcVZP.cjs`),require(`../../../separator-Cigaqna1.cjs`),require(`../../../sheet-CX3PajAc.cjs`),require(`../../../skeleton-tNlCAW9R.cjs`),require(`../../../use-mobile-DD7ESbjU.cjs`);const e=require(`../../../sidebar-Ccw4-cV5.cjs`);exports.DetailDialogSidebarContent=e.DetailDialogSidebarContent,exports.DetailDialogSidebarFooter=e.DetailDialogSidebarFooter,exports.DetailDialogSidebarGroup=e.DetailDialogSidebarGroup,exports.DetailDialogSidebarGroupAction=e.DetailDialogSidebarGroupAction,exports.DetailDialogSidebarGroupContent=e.DetailDialogSidebarGroupContent,exports.DetailDialogSidebarGroupLabel=e.DetailDialogSidebarGroupLabel,exports.DetailDialogSidebarHeader=e.DetailDialogSidebarHeader,exports.DetailDialogSidebarMenu=e.DetailDialogSidebarMenu,exports.DetailDialogSidebarMenuAction=e.DetailDialogSidebarMenuAction,exports.DetailDialogSidebarMenuBadge=e.DetailDialogSidebarMenuBadge,exports.DetailDialogSidebarMenuButton=e.DetailDialogSidebarMenuButton,exports.DetailDialogSidebarMenuItem=e.DetailDialogSidebarMenuItem,exports.DetailDialogSidebarMenuSkeleton=e.DetailDialogSidebarMenuSkeleton,exports.DetailDialogSidebarMenuSub=e.DetailDialogSidebarMenuSub,exports.DetailDialogSidebarMenuSubButton=e.DetailDialogSidebarMenuSubButton,exports.DetailDialogSidebarMenuSubItem=e.DetailDialogSidebarMenuSubItem,exports.DetailDialogSidebarRail=e.DetailDialogSidebarRail,exports.DetailDialogSidebarSeparator=e.DetailDialogSidebarSeparator,exports.DetailDialogSidebarTrigger=e.DetailDialogSidebarTrigger,exports.Sidebar=e.Sidebar,exports.SidebarInput=e.SidebarInput,exports.SidebarInset=e.SidebarInset,exports.SidebarProvider=e.SidebarProvider,exports.useSidebar=e.useSidebar;
@@ -1,10 +1,10 @@
1
- import { Button } from "../../../button-DBBV45P_.cjs";
2
- import { Input } from "../../../input-Ci55gNyE.cjs";
3
- import { Separator } from "../../../separator-DbpWHldj.cjs";
4
- import { TooltipContent } from "../../../tooltip-CnemaSZS.cjs";
5
- import * as react_jsx_runtime165 from "react/jsx-runtime";
1
+ import { Button } from "../../../button-6o1dgit-.cjs";
2
+ import { Input } from "../../../input-Dt8julrj.cjs";
3
+ import { Separator } from "../../../separator-Rm2a238S.cjs";
4
+ import { TooltipContent } from "../../../tooltip-BkWWOZyr.cjs";
5
+ import * as react_jsx_runtime234 from "react/jsx-runtime";
6
6
  import React from "react";
7
- import * as class_variance_authority_types5 from "class-variance-authority/types";
7
+ import * as class_variance_authority_types6 from "class-variance-authority/types";
8
8
  import { VariantProps } from "class-variance-authority";
9
9
 
10
10
  //#region packages/components/dialogs/detail-dialog/component/sidebar.d.ts
@@ -30,7 +30,7 @@ declare function SidebarProvider({
30
30
  defaultOpen?: boolean;
31
31
  open?: boolean;
32
32
  onOpenChange?: (open: boolean) => void;
33
- }): react_jsx_runtime165.JSX.Element;
33
+ }): react_jsx_runtime234.JSX.Element;
34
34
  declare function Sidebar({
35
35
  side,
36
36
  variant,
@@ -42,74 +42,74 @@ declare function Sidebar({
42
42
  side?: 'left' | 'right';
43
43
  variant?: 'sidebar' | 'floating' | 'inset';
44
44
  collapsible?: 'offcanvas' | 'icon' | 'none';
45
- }): react_jsx_runtime165.JSX.Element;
45
+ }): react_jsx_runtime234.JSX.Element;
46
46
  declare function DetailDialogSidebarTrigger({
47
47
  className,
48
48
  onClick,
49
49
  ...props
50
- }: React.ComponentProps<typeof Button>): react_jsx_runtime165.JSX.Element;
50
+ }: React.ComponentProps<typeof Button>): react_jsx_runtime234.JSX.Element;
51
51
  declare function DetailDialogSidebarRail({
52
52
  className,
53
53
  ...props
54
- }: React.ComponentProps<'button'>): react_jsx_runtime165.JSX.Element;
54
+ }: React.ComponentProps<'button'>): react_jsx_runtime234.JSX.Element;
55
55
  declare function SidebarInset({
56
56
  className,
57
57
  ...props
58
- }: React.ComponentProps<'main'>): react_jsx_runtime165.JSX.Element;
58
+ }: React.ComponentProps<'main'>): react_jsx_runtime234.JSX.Element;
59
59
  declare function SidebarInput({
60
60
  className,
61
61
  ...props
62
- }: React.ComponentProps<typeof Input>): react_jsx_runtime165.JSX.Element;
62
+ }: React.ComponentProps<typeof Input>): react_jsx_runtime234.JSX.Element;
63
63
  declare function DetailDialogSidebarHeader({
64
64
  className,
65
65
  ...props
66
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
66
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
67
67
  declare function DetailDialogSidebarFooter({
68
68
  className,
69
69
  ...props
70
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
70
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
71
71
  declare function DetailDialogSidebarSeparator({
72
72
  className,
73
73
  ...props
74
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime165.JSX.Element;
74
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime234.JSX.Element;
75
75
  declare function DetailDialogSidebarContent({
76
76
  className,
77
77
  ...props
78
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
78
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
79
79
  declare function DetailDialogSidebarGroup({
80
80
  className,
81
81
  ...props
82
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
82
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
83
83
  declare function DetailDialogSidebarGroupLabel({
84
84
  className,
85
85
  asChild,
86
86
  ...props
87
87
  }: React.ComponentProps<'div'> & {
88
88
  asChild?: boolean;
89
- }): react_jsx_runtime165.JSX.Element;
89
+ }): react_jsx_runtime234.JSX.Element;
90
90
  declare function DetailDialogSidebarGroupAction({
91
91
  className,
92
92
  asChild,
93
93
  ...props
94
94
  }: React.ComponentProps<'button'> & {
95
95
  asChild?: boolean;
96
- }): react_jsx_runtime165.JSX.Element;
96
+ }): react_jsx_runtime234.JSX.Element;
97
97
  declare function DetailDialogSidebarGroupContent({
98
98
  className,
99
99
  ...props
100
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
100
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
101
101
  declare function DetailDialogSidebarMenu({
102
102
  className,
103
103
  ...props
104
- }: React.ComponentProps<'ul'>): react_jsx_runtime165.JSX.Element;
104
+ }: React.ComponentProps<'ul'>): react_jsx_runtime234.JSX.Element;
105
105
  declare function DetailDialogSidebarMenuItem({
106
106
  className,
107
107
  ...props
108
- }: React.ComponentProps<'li'>): react_jsx_runtime165.JSX.Element;
108
+ }: React.ComponentProps<'li'>): react_jsx_runtime234.JSX.Element;
109
109
  declare const sidebarMenuButtonVariants: (props?: ({
110
110
  variant?: "default" | "outline" | null | undefined;
111
111
  size?: "sm" | "lg" | "default" | null | undefined;
112
- } & class_variance_authority_types5.ClassProp) | undefined) => string;
112
+ } & class_variance_authority_types6.ClassProp) | undefined) => string;
113
113
  declare function DetailDialogSidebarMenuButton({
114
114
  asChild,
115
115
  isActive,
@@ -122,7 +122,7 @@ declare function DetailDialogSidebarMenuButton({
122
122
  asChild?: boolean;
123
123
  isActive?: boolean;
124
124
  tooltip?: string | React.ComponentProps<typeof TooltipContent>;
125
- } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime165.JSX.Element;
125
+ } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime234.JSX.Element;
126
126
  declare function DetailDialogSidebarMenuAction({
127
127
  className,
128
128
  asChild,
@@ -131,26 +131,26 @@ declare function DetailDialogSidebarMenuAction({
131
131
  }: React.ComponentProps<'button'> & {
132
132
  asChild?: boolean;
133
133
  showOnHover?: boolean;
134
- }): react_jsx_runtime165.JSX.Element;
134
+ }): react_jsx_runtime234.JSX.Element;
135
135
  declare function DetailDialogSidebarMenuBadge({
136
136
  className,
137
137
  ...props
138
- }: React.ComponentProps<'div'>): react_jsx_runtime165.JSX.Element;
138
+ }: React.ComponentProps<'div'>): react_jsx_runtime234.JSX.Element;
139
139
  declare function DetailDialogSidebarMenuSkeleton({
140
140
  className,
141
141
  showIcon,
142
142
  ...props
143
143
  }: React.ComponentProps<'div'> & {
144
144
  showIcon?: boolean;
145
- }): react_jsx_runtime165.JSX.Element;
145
+ }): react_jsx_runtime234.JSX.Element;
146
146
  declare function DetailDialogSidebarMenuSub({
147
147
  className,
148
148
  ...props
149
- }: React.ComponentProps<'ul'>): react_jsx_runtime165.JSX.Element;
149
+ }: React.ComponentProps<'ul'>): react_jsx_runtime234.JSX.Element;
150
150
  declare function DetailDialogSidebarMenuSubItem({
151
151
  className,
152
152
  ...props
153
- }: React.ComponentProps<'li'>): react_jsx_runtime165.JSX.Element;
153
+ }: React.ComponentProps<'li'>): react_jsx_runtime234.JSX.Element;
154
154
  declare function DetailDialogSidebarMenuSubButton({
155
155
  asChild,
156
156
  size,
@@ -161,7 +161,7 @@ declare function DetailDialogSidebarMenuSubButton({
161
161
  asChild?: boolean;
162
162
  size?: 'sm' | 'md';
163
163
  isActive?: boolean;
164
- }): react_jsx_runtime165.JSX.Element;
164
+ }): react_jsx_runtime234.JSX.Element;
165
165
  //#endregion
166
166
  export { DetailDialogSidebarContent, DetailDialogSidebarFooter, DetailDialogSidebarGroup, DetailDialogSidebarGroupAction, DetailDialogSidebarGroupContent, DetailDialogSidebarGroupLabel, DetailDialogSidebarHeader, DetailDialogSidebarMenu, DetailDialogSidebarMenuAction, DetailDialogSidebarMenuBadge, DetailDialogSidebarMenuButton, DetailDialogSidebarMenuItem, DetailDialogSidebarMenuSkeleton, DetailDialogSidebarMenuSub, DetailDialogSidebarMenuSubButton, DetailDialogSidebarMenuSubItem, DetailDialogSidebarRail, DetailDialogSidebarSeparator, DetailDialogSidebarTrigger, Sidebar, SidebarInput, SidebarInset, SidebarProvider, useSidebar };
167
167
  //# sourceMappingURL=sidebar.d.cts.map
@@ -1,7 +1,7 @@
1
- import { Button } from "../../../button-y_YnE05_.js";
2
- import { Input } from "../../../input-BZBf-l4K.js";
3
- import { Separator } from "../../../separator-BssDmBsX.js";
4
- import { TooltipContent } from "../../../tooltip-GgIQS_wc.js";
1
+ import { Button } from "../../../button-B4fdn-Yc.js";
2
+ import { Input } from "../../../input-fe1qd_Yy.js";
3
+ import { Separator } from "../../../separator-Cs0J9x-4.js";
4
+ import { TooltipContent } from "../../../tooltip-DFRxIbzr.js";
5
5
  import React from "react";
6
6
  import * as react_jsx_runtime236 from "react/jsx-runtime";
7
7
  import { VariantProps } from "class-variance-authority";
@@ -1 +1 @@
1
- "use client";import"../../../utils-D9AH0PUV.js";import"../../../button-Pscu7CVU.js";import"../../../input-nsu0-DwM.js";import"../../../tooltip-jz3-KXgN.js";import"../../../separator-aLdI4FQe.js";import"../../../sheet-DqPtcv9H.js";import"../../../skeleton-BSi1n1L2.js";import"../../../use-mobile-CNVZwItd.js";import{DetailDialogSidebarContent as e,DetailDialogSidebarFooter as t,DetailDialogSidebarGroup as n,DetailDialogSidebarGroupAction as r,DetailDialogSidebarGroupContent as i,DetailDialogSidebarGroupLabel as a,DetailDialogSidebarHeader as o,DetailDialogSidebarMenu as s,DetailDialogSidebarMenuAction as c,DetailDialogSidebarMenuBadge as l,DetailDialogSidebarMenuButton as u,DetailDialogSidebarMenuItem as d,DetailDialogSidebarMenuSkeleton as f,DetailDialogSidebarMenuSub as p,DetailDialogSidebarMenuSubButton as m,DetailDialogSidebarMenuSubItem as h,DetailDialogSidebarRail as g,DetailDialogSidebarSeparator as _,DetailDialogSidebarTrigger as v,Sidebar as y,SidebarInput as b,SidebarInset as x,SidebarProvider as S,useSidebar as C}from"../../../sidebar-5HuN-j1i.js";export{e as DetailDialogSidebarContent,t as DetailDialogSidebarFooter,n as DetailDialogSidebarGroup,r as DetailDialogSidebarGroupAction,i as DetailDialogSidebarGroupContent,a as DetailDialogSidebarGroupLabel,o as DetailDialogSidebarHeader,s as DetailDialogSidebarMenu,c as DetailDialogSidebarMenuAction,l as DetailDialogSidebarMenuBadge,u as DetailDialogSidebarMenuButton,d as DetailDialogSidebarMenuItem,f as DetailDialogSidebarMenuSkeleton,p as DetailDialogSidebarMenuSub,m as DetailDialogSidebarMenuSubButton,h as DetailDialogSidebarMenuSubItem,g as DetailDialogSidebarRail,_ as DetailDialogSidebarSeparator,v as DetailDialogSidebarTrigger,y as Sidebar,b as SidebarInput,x as SidebarInset,S as SidebarProvider,C as useSidebar};
1
+ "use client";import"../../../utils-D9AH0PUV.js";import"../../../button-Pscu7CVU.js";import"../../../tooltip-C9Ex69RQ.js";import"../../../input-DgJVc3kt.js";import"../../../separator-aLdI4FQe.js";import"../../../sheet-DqPtcv9H.js";import"../../../skeleton-BSi1n1L2.js";import"../../../use-mobile-CNVZwItd.js";import{DetailDialogSidebarContent as e,DetailDialogSidebarFooter as t,DetailDialogSidebarGroup as n,DetailDialogSidebarGroupAction as r,DetailDialogSidebarGroupContent as i,DetailDialogSidebarGroupLabel as a,DetailDialogSidebarHeader as o,DetailDialogSidebarMenu as s,DetailDialogSidebarMenuAction as c,DetailDialogSidebarMenuBadge as l,DetailDialogSidebarMenuButton as u,DetailDialogSidebarMenuItem as d,DetailDialogSidebarMenuSkeleton as f,DetailDialogSidebarMenuSub as p,DetailDialogSidebarMenuSubButton as m,DetailDialogSidebarMenuSubItem as h,DetailDialogSidebarRail as g,DetailDialogSidebarSeparator as _,DetailDialogSidebarTrigger as v,Sidebar as y,SidebarInput as b,SidebarInset as x,SidebarProvider as S,useSidebar as C}from"../../../sidebar-BiG4ZcRy.js";export{e as DetailDialogSidebarContent,t as DetailDialogSidebarFooter,n as DetailDialogSidebarGroup,r as DetailDialogSidebarGroupAction,i as DetailDialogSidebarGroupContent,a as DetailDialogSidebarGroupLabel,o as DetailDialogSidebarHeader,s as DetailDialogSidebarMenu,c as DetailDialogSidebarMenuAction,l as DetailDialogSidebarMenuBadge,u as DetailDialogSidebarMenuButton,d as DetailDialogSidebarMenuItem,f as DetailDialogSidebarMenuSkeleton,p as DetailDialogSidebarMenuSub,m as DetailDialogSidebarMenuSubButton,h as DetailDialogSidebarMenuSubItem,g as DetailDialogSidebarRail,_ as DetailDialogSidebarSeparator,v as DetailDialogSidebarTrigger,y as Sidebar,b as SidebarInput,x as SidebarInset,S as SidebarProvider,C as useSidebar};
@@ -1,2 +1,2 @@
1
- const e=require(`../../chunk-CUT6urMc.cjs`),t=require(`../../utils-BsjVK5EW.cjs`);require(`../../card-BDtW5n7z.cjs`),require(`../../button-Db_CKSZw.cjs`);const n=require(`../../dialog-yB7g_7Wi.cjs`);require(`../../input-C-60EZ1K.cjs`);const r=require(`../../flex-BSVrFdMJ.cjs`),i=require(`../../date-Cw6Jf7k6.cjs`);require(`../../tooltip-BeQcgjzF.cjs`);const a=require(`../../title-6Uosk2b4.cjs`);require(`../../separator-Cigaqna1.cjs`),require(`../../sheet-CX3PajAc.cjs`),require(`../../skeleton-tNlCAW9R.cjs`),require(`../../use-mobile-DD7ESbjU.cjs`);const o=require(`../../sidebar-B-iUTI3P.cjs`),s=e.__toESM(require(`react/jsx-runtime`)),c=e.__toESM(require(`lucide-react`)),l=()=>(0,s.jsxs)(n.DialogHeader,{className:`sr-only`,children:[(0,s.jsx)(n.DialogTitle,{className:`sr-only`}),(0,s.jsx)(n.DialogDescription,{className:`sr-only`})]}),u=({children:e})=>(0,s.jsx)(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:(0,s.jsx)(r.Flex,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:e})}),d=({title:e,createdAt:t})=>(0,s.jsxs)(`header`,{className:`bg-card border-border-weak flex w-full flex-0 items-start gap-x-2.5 border-b py-2.5 pr-12 pl-2`,children:[(0,s.jsx)(o.DetailDialogSidebarTrigger,{}),(0,s.jsxs)(r.Flex,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1`,children:[(0,s.jsx)(a.Title,{level:5,className:`line-clamp-1 truncate text-wrap`,children:e||`Detail Dialog`}),(0,s.jsxs)(r.Flex,{padding:`none`,className:`text-text-positive-weak relative`,children:[(0,s.jsx)(c.CalendarIcon,{size:12,className:`absolute top-0.5 md:top-1`}),!!t&&(0,s.jsx)(i.DateDisplay,{showTime:!0,showHoliday:!0,date:t,format:`full`,className:`ml-4 text-xs md:text-sm`})]})]})]}),f=({children:e})=>(0,s.jsx)(n.DialogContent,{className:t.cn(`relative h-full overflow-hidden border-none p-0`,`rounded-none md:rounded-lg`,`max-h-svh max-w-svw`,`md:max-h-[90svh] md:max-w-[90svw]`,`xl:max-h-[90svh] xl:max-w-[90svw]`,`2xl:max-h-[90svh] 2xl:max-w-7xl`),onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:e}),p=({title:e,sidebarFooter:t,children:n})=>(0,s.jsxs)(o.Sidebar,{collapsible:`icon`,className:`shadow-nav z-20 hidden md:flex`,children:[(0,s.jsx)(o.DetailDialogSidebarHeader,{children:(0,s.jsx)(o.DetailDialogSidebarMenu,{children:(0,s.jsx)(o.DetailDialogSidebarMenuItem,{children:(0,s.jsxs)(o.DetailDialogSidebarMenuButton,{size:`lg`,tabIndex:-1,children:[(0,s.jsx)(`div`,{className:`bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg`,children:(0,s.jsx)(c.CatIcon,{size:16})}),(0,s.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,s.jsx)(`span`,{className:`truncate font-medium`,children:e||`Detail Dialog`}),(0,s.jsx)(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),(0,s.jsx)(o.DetailDialogSidebarContent,{children:(0,s.jsx)(o.DetailDialogSidebarGroup,{children:n})}),t&&(0,s.jsx)(o.DetailDialogSidebarFooter,{children:t})]}),m=({open:e,isLoading:t=!1,sidebarTitle:i,sidebar:a,sidebarFooter:c,title:m,createdAt:h,onOpenChange:g,children:_})=>(0,s.jsx)(n.Dialog,{open:e,onOpenChange:g,children:(0,s.jsxs)(f,{children:[(0,s.jsx)(l,{}),(0,s.jsxs)(o.SidebarProvider,{className:`h-full min-h-[85svh] items-start`,children:[(0,s.jsx)(p,{title:i,sidebarFooter:c,children:a}),(0,s.jsxs)(u,{children:[(0,s.jsx)(d,{title:m,createdAt:h}),t?(0,s.jsx)(r.Flex,{justify:`center`,className:`bg-muted-muted w-full flex-1 inset-shadow-sm`,children:(0,s.jsx)(`div`,{className:`loader`})}):(0,s.jsx)(`section`,{className:`bg-muted-muted relative flex flex-1 snap-y flex-col gap-0 overflow-y-auto inset-shadow-sm`,children:_})]})]})]})});exports.DetailDialog=m;
1
+ const e=require(`../../chunk-CUT6urMc.cjs`),t=require(`../../utils-BsjVK5EW.cjs`);require(`../../card-BDtW5n7z.cjs`),require(`../../button-Db_CKSZw.cjs`);const n=require(`../../dialog-yB7g_7Wi.cjs`),r=require(`../../flex-DjACH4wX.cjs`),i=require(`../../date-DCURBWXk.cjs`);require(`../../tooltip-i-daLHx3.cjs`),require(`../../input-C2xQcVZP.cjs`);const a=require(`../../title-6Uosk2b4.cjs`);require(`../../separator-Cigaqna1.cjs`),require(`../../sheet-CX3PajAc.cjs`),require(`../../skeleton-tNlCAW9R.cjs`),require(`../../use-mobile-DD7ESbjU.cjs`);const o=require(`../../sidebar-Ccw4-cV5.cjs`),s=e.__toESM(require(`react/jsx-runtime`)),c=e.__toESM(require(`lucide-react`)),l=()=>(0,s.jsxs)(n.DialogHeader,{className:`sr-only`,children:[(0,s.jsx)(n.DialogTitle,{className:`sr-only`}),(0,s.jsx)(n.DialogDescription,{className:`sr-only`})]}),u=({children:e})=>(0,s.jsx)(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:(0,s.jsx)(r.Flex,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:e})}),d=({title:e,createdAt:t})=>(0,s.jsxs)(`header`,{className:`bg-card border-border-weak flex w-full flex-0 items-start gap-x-2.5 border-b py-2.5 pr-12 pl-2`,children:[(0,s.jsx)(o.DetailDialogSidebarTrigger,{}),(0,s.jsxs)(r.Flex,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1`,children:[(0,s.jsx)(a.Title,{level:5,className:`line-clamp-1 truncate text-wrap`,children:e||`Detail Dialog`}),(0,s.jsxs)(r.Flex,{padding:`none`,className:`text-text-positive-weak relative`,children:[(0,s.jsx)(c.CalendarIcon,{size:12,className:`absolute top-0.5 md:top-1`}),!!t&&(0,s.jsx)(i.DateDisplay,{showTime:!0,showHoliday:!0,date:t,format:`full`,className:`ml-4 text-xs md:text-sm`})]})]})]}),f=({children:e})=>(0,s.jsx)(n.DialogContent,{className:t.cn(`relative h-full overflow-hidden border-none p-0`,`rounded-none md:rounded-lg`,`max-h-svh max-w-svw`,`md:max-h-[90svh] md:max-w-[90svw]`,`xl:max-h-[90svh] xl:max-w-[90svw]`,`2xl:max-h-[90svh] 2xl:max-w-7xl`),onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:e}),p=({title:e,sidebarFooter:t,children:n})=>(0,s.jsxs)(o.Sidebar,{collapsible:`icon`,className:`shadow-nav z-20 hidden md:flex`,children:[(0,s.jsx)(o.DetailDialogSidebarHeader,{children:(0,s.jsx)(o.DetailDialogSidebarMenu,{children:(0,s.jsx)(o.DetailDialogSidebarMenuItem,{children:(0,s.jsxs)(o.DetailDialogSidebarMenuButton,{size:`lg`,tabIndex:-1,children:[(0,s.jsx)(`div`,{className:`bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg`,children:(0,s.jsx)(c.CatIcon,{size:16})}),(0,s.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,s.jsx)(`span`,{className:`truncate font-medium`,children:e||`Detail Dialog`}),(0,s.jsx)(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),(0,s.jsx)(o.DetailDialogSidebarContent,{children:(0,s.jsx)(o.DetailDialogSidebarGroup,{children:n})}),t&&(0,s.jsx)(o.DetailDialogSidebarFooter,{children:t})]}),m=({open:e,isLoading:t=!1,sidebarTitle:i,sidebar:a,sidebarFooter:c,title:m,createdAt:h,onOpenChange:g,children:_})=>(0,s.jsx)(n.Dialog,{open:e,onOpenChange:g,children:(0,s.jsxs)(f,{children:[(0,s.jsx)(l,{}),(0,s.jsxs)(o.SidebarProvider,{className:`h-full min-h-[85svh] items-start`,children:[(0,s.jsx)(p,{title:i,sidebarFooter:c,children:a}),(0,s.jsxs)(u,{children:[(0,s.jsx)(d,{title:m,createdAt:h}),t?(0,s.jsx)(r.Flex,{justify:`center`,className:`bg-muted-muted w-full flex-1 inset-shadow-sm`,children:(0,s.jsx)(`div`,{className:`loader`})}):(0,s.jsx)(`section`,{className:`bg-muted-muted relative flex flex-1 snap-y flex-col gap-0 overflow-y-auto inset-shadow-sm`,children:_})]})]})]})});exports.DetailDialog=m;
2
2
  //# sourceMappingURL=index.cjs.map