@customafk/lunas-ui 0.0.48 → 0.0.50
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.
- package/dist/{add-new-Dh5DHcIR.js → add-new-5wHBhLeB.js} +2 -2
- package/dist/{add-new-Dh5DHcIR.js.map → add-new-5wHBhLeB.js.map} +1 -1
- package/dist/{add-new-DpIEmGuZ.cjs → add-new-UlnaSW5r.cjs} +2 -2
- package/dist/{add-new-DpIEmGuZ.cjs.map → add-new-UlnaSW5r.cjs.map} +1 -1
- package/dist/{alert-dialog-Cj5WqA7x.js → alert-dialog-BP0xVoKP.js} +2 -2
- package/dist/{alert-dialog-Cj5WqA7x.js.map → alert-dialog-BP0xVoKP.js.map} +1 -1
- package/dist/{alert-dialog-Dp-m0Xsj.cjs → alert-dialog-lB4WFSwV.cjs} +2 -2
- package/dist/{alert-dialog-Dp-m0Xsj.cjs.map → alert-dialog-lB4WFSwV.cjs.map} +1 -1
- package/dist/{badge-q5yF26Mk.js → badge-DN-naVUP.js} +2 -2
- package/dist/{badge-q5yF26Mk.js.map → badge-DN-naVUP.js.map} +1 -1
- package/dist/{badge-CDuVH1Mj.cjs → badge-DoJqD6so.cjs} +2 -2
- package/dist/{badge-CDuVH1Mj.cjs.map → badge-DoJqD6so.cjs.map} +1 -1
- package/dist/{button-Dh6u3-o8.d.cts → button-BRHXAci1.d.cts} +5 -5
- package/dist/{button-y_YnE05_.d.ts → button-C5K7zYQX.d.ts} +2 -2
- package/dist/{button-Cg9ZsZ68.cjs → button-CbFrIjE4.cjs} +2 -2
- package/dist/{button-Cg9ZsZ68.cjs.map → button-CbFrIjE4.cjs.map} +1 -1
- package/dist/{button-tXV0dTFU.js → button-TN67_gWM.js} +2 -2
- package/dist/{button-tXV0dTFU.js.map → button-TN67_gWM.js.map} +1 -1
- package/dist/{calendar-DB7j4ZPb.cjs → calendar-CQbDYNEf.cjs} +2 -2
- package/dist/{calendar-DB7j4ZPb.cjs.map → calendar-CQbDYNEf.cjs.map} +1 -1
- package/dist/{calendar-4R0xSc0m.js → calendar-DpApdoWz.js} +2 -2
- package/dist/{calendar-4R0xSc0m.js.map → calendar-DpApdoWz.js.map} +1 -1
- package/dist/{card-C17NWErE.js → card-BPay4oXq.js} +2 -2
- package/dist/{card-C17NWErE.js.map → card-BPay4oXq.js.map} +1 -1
- package/dist/{card-BDtW5n7z.cjs → card-DJNkipcv.cjs} +2 -2
- package/dist/{card-BDtW5n7z.cjs.map → card-DJNkipcv.cjs.map} +1 -1
- package/dist/cards/simple-card.cjs +1 -1
- package/dist/cards/simple-card.d.cts +2 -2
- package/dist/cards/simple-card.d.ts +2 -2
- package/dist/cards/simple-card.js +1 -1
- package/dist/{command-DqzKYyH-.js → command-BnKCr-ek.js} +2 -2
- package/dist/{command-DqzKYyH-.js.map → command-BnKCr-ek.js.map} +1 -1
- package/dist/{command-DfmvH4rn.d.cts → command-C014v3kv.d.cts} +12 -12
- package/dist/{command-CTGQneSF.d.ts → command-Co8ay_GJ.d.ts} +12 -12
- package/dist/{command-DsSF4IZ7.cjs → command-r6KzKrgj.cjs} +2 -2
- package/dist/{command-DsSF4IZ7.cjs.map → command-r6KzKrgj.cjs.map} +1 -1
- package/dist/data-display/country.cjs +1 -1
- package/dist/data-display/country.js +1 -1
- package/dist/data-display/data-list.cjs +1 -1
- package/dist/data-display/data-list.cjs.map +1 -1
- package/dist/data-display/data-list.js +1 -1
- package/dist/data-display/data-list.js.map +1 -1
- package/dist/data-display/date-tooltip.cjs +1 -1
- package/dist/data-display/date-tooltip.js +1 -1
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.js +1 -1
- package/dist/data-display/empty.cjs +1 -1
- package/dist/data-display/empty.js +1 -1
- package/dist/data-display/name.cjs +1 -1
- package/dist/data-display/name.js +1 -1
- package/dist/data-display/phone-number.cjs +1 -1
- package/dist/data-display/phone-number.js +1 -1
- package/dist/data-display/role-badge.cjs +1 -1
- package/dist/data-display/role-badge.js +1 -1
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.d.cts +2 -2
- package/dist/data-display/statistic.d.ts +2 -2
- package/dist/data-display/statistic.js +1 -1
- package/dist/{date-nd8WkPlx.cjs → date-Ci9rmG-_.cjs} +2 -2
- package/dist/{date-nd8WkPlx.cjs.map → date-Ci9rmG-_.cjs.map} +1 -1
- package/dist/{date-BMq_DNsv.js → date-Clhba3N5.js} +2 -2
- package/dist/{date-BMq_DNsv.js.map → date-Clhba3N5.js.map} +1 -1
- package/dist/{dialog-BxWjuuQi.d.ts → dialog-B4XWQE0p.d.cts} +12 -12
- package/dist/{dialog-YTzM43YA.js → dialog-BBIDITqN.js} +2 -2
- package/dist/{dialog-YTzM43YA.js.map → dialog-BBIDITqN.js.map} +1 -1
- package/dist/{dialog-CguMVyyd.cjs → dialog-Bg98FNM0.cjs} +2 -2
- package/dist/{dialog-CguMVyyd.cjs.map → dialog-Bg98FNM0.cjs.map} +1 -1
- package/dist/{dialog-DA0--feR.d.cts → dialog-T0tJMC-j.d.ts} +12 -12
- package/dist/dialogs/confirm-dialog.cjs +1 -1
- package/dist/dialogs/confirm-dialog.js +1 -1
- package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
- package/dist/dialogs/detail-dialog/component/sidebar.d.cts +4 -4
- package/dist/dialogs/detail-dialog/component/sidebar.d.ts +5 -5
- package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
- package/dist/dialogs/detail-dialog/index.cjs +1 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.js +1 -1
- package/dist/dialogs/error-dialog.cjs +1 -1
- package/dist/dialogs/error-dialog.js +1 -1
- package/dist/dialogs/form-dialog.cjs +1 -1
- package/dist/dialogs/form-dialog.d.cts +2 -2
- package/dist/dialogs/form-dialog.d.ts +2 -2
- package/dist/dialogs/form-dialog.js +1 -1
- package/dist/dialogs/loading-dialog.cjs +1 -1
- package/dist/dialogs/loading-dialog.js +1 -1
- package/dist/{dropdown-menu-CUy41gxe.js → dropdown-menu-C75l3-ir.js} +2 -2
- package/dist/{dropdown-menu-CUy41gxe.js.map → dropdown-menu-C75l3-ir.js.map} +1 -1
- package/dist/{dropdown-menu-DEhXEA7P.cjs → dropdown-menu-x7Mx5jl6.cjs} +2 -2
- package/dist/{dropdown-menu-DEhXEA7P.cjs.map → dropdown-menu-x7Mx5jl6.cjs.map} +1 -1
- package/dist/{error-dialog-D7FS_tBU.cjs → error-dialog-CvKV4Ya7.cjs} +2 -2
- package/dist/{error-dialog-D7FS_tBU.cjs.map → error-dialog-CvKV4Ya7.cjs.map} +1 -1
- package/dist/{error-dialog-CTPWuLNO.js → error-dialog-aGglw-bl.js} +2 -2
- package/dist/{error-dialog-CTPWuLNO.js.map → error-dialog-aGglw-bl.js.map} +1 -1
- package/dist/{flex-DnFMe9kC.cjs → flex-Ca0WWCQ6.cjs} +2 -2
- package/dist/{flex-DnFMe9kC.cjs.map → flex-Ca0WWCQ6.cjs.map} +1 -1
- package/dist/{flex-CbkTJwcD.js → flex-D7vHMjSg.js} +2 -2
- package/dist/{flex-CbkTJwcD.js.map → flex-D7vHMjSg.js.map} +1 -1
- package/dist/{form-63w5ez51.js → form-OaXiGFok.js} +2 -2
- package/dist/{form-63w5ez51.js.map → form-OaXiGFok.js.map} +1 -1
- package/dist/{form-CU-tlomS.cjs → form-VwjpeIbm.cjs} +2 -2
- package/dist/{form-CU-tlomS.cjs.map → form-VwjpeIbm.cjs.map} +1 -1
- package/dist/{form-wrapper-pnkjBZnM.js → form-wrapper-6XanoWQR.js} +2 -2
- package/dist/{form-wrapper-pnkjBZnM.js.map → form-wrapper-6XanoWQR.js.map} +1 -1
- package/dist/{form-wrapper-CVkfJN7q.cjs → form-wrapper-BHdUbBAc.cjs} +2 -2
- package/dist/{form-wrapper-CVkfJN7q.cjs.map → form-wrapper-BHdUbBAc.cjs.map} +1 -1
- package/dist/forms/combobox-field.cjs +1 -1
- package/dist/forms/combobox-field.d.cts +2 -2
- package/dist/forms/combobox-field.d.ts +2 -2
- package/dist/forms/combobox-field.js +1 -1
- package/dist/forms/date-field.cjs +1 -1
- package/dist/forms/date-field.d.cts +2 -2
- package/dist/forms/date-field.d.ts +2 -2
- package/dist/forms/date-field.js +1 -1
- package/dist/forms/form-wrapper.cjs +1 -1
- package/dist/forms/form-wrapper.d.cts +2 -2
- package/dist/forms/form-wrapper.d.ts +2 -2
- package/dist/forms/form-wrapper.js +1 -1
- package/dist/forms/multi-select-field.cjs +1 -1
- package/dist/forms/multi-select-field.cjs.map +1 -1
- package/dist/forms/multi-select-field.d.cts +2 -2
- package/dist/forms/multi-select-field.d.ts +2 -2
- package/dist/forms/multi-select-field.js +1 -1
- package/dist/forms/number-field.cjs +1 -1
- package/dist/forms/number-field.d.cts +2 -2
- package/dist/forms/number-field.d.ts +2 -2
- package/dist/forms/number-field.js +1 -1
- package/dist/forms/password-field.cjs +1 -1
- package/dist/forms/password-field.d.cts +2 -2
- package/dist/forms/password-field.d.ts +2 -2
- package/dist/forms/password-field.js +1 -1
- package/dist/forms/select-field.cjs +1 -1
- package/dist/forms/select-field.d.cts +2 -2
- package/dist/forms/select-field.d.ts +2 -2
- package/dist/forms/select-field.js +1 -1
- package/dist/forms/switch-field.cjs +1 -1
- package/dist/forms/switch-field.d.cts +2 -2
- package/dist/forms/switch-field.d.ts +2 -2
- package/dist/forms/switch-field.js +1 -1
- package/dist/forms/text-field.cjs +1 -1
- package/dist/forms/text-field.d.cts +2 -2
- package/dist/forms/text-field.d.ts +2 -2
- package/dist/forms/text-field.js +1 -1
- package/dist/forms/textarea-field.cjs +1 -1
- package/dist/forms/textarea-field.d.cts +2 -2
- package/dist/forms/textarea-field.d.ts +2 -2
- package/dist/forms/textarea-field.js +1 -1
- package/dist/{input-C2xQcVZP.cjs → input-1ANqCfkA.cjs} +2 -2
- package/dist/{input-C2xQcVZP.cjs.map → input-1ANqCfkA.cjs.map} +1 -1
- package/dist/{input-CPVgX36w.d.ts → input-B-slCZyk.d.cts} +3 -3
- package/dist/{input-DgJVc3kt.js → input-C9LMjTaV.js} +2 -2
- package/dist/{input-DgJVc3kt.js.map → input-C9LMjTaV.js.map} +1 -1
- package/dist/{input-Ci55gNyE.d.cts → input-URjp4mmO.d.ts} +3 -3
- package/dist/{label-B_2ZQn0X.cjs → label-DNvp_7Lv.cjs} +2 -2
- package/dist/{label-B_2ZQn0X.cjs.map → label-DNvp_7Lv.cjs.map} +1 -1
- package/dist/{label-D1XmKlc3.js → label-Lc7hziMT.js} +2 -2
- package/dist/{label-D1XmKlc3.js.map → label-Lc7hziMT.js.map} +1 -1
- package/dist/layouts/app-layout/index.cjs +1 -1
- package/dist/layouts/app-layout/index.d.cts +3 -3
- package/dist/layouts/app-layout/index.d.ts +4 -4
- package/dist/layouts/app-layout/index.js +1 -1
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +2 -2
- package/dist/layouts/flex.d.ts +1 -1
- package/dist/layouts/flex.js +1 -1
- package/dist/layouts/grid.cjs +1 -1
- package/dist/layouts/grid.js +1 -1
- package/dist/layouts/main/index.cjs +1 -1
- package/dist/layouts/main/index.d.cts +4 -4
- package/dist/layouts/main/index.js +1 -1
- package/dist/{multi-select-CnW03mrY.js → multi-select-CnqksGE9.js} +2 -2
- package/dist/{multi-select-CnW03mrY.js.map → multi-select-CnqksGE9.js.map} +1 -1
- package/dist/{multi-select-BKG1a_gU.cjs → multi-select-DSsOR2K2.cjs} +2 -2
- package/dist/{multi-select-BKG1a_gU.cjs.map → multi-select-DSsOR2K2.cjs.map} +1 -1
- package/dist/paragraph-C_Fdgxy-.cjs +2 -0
- package/dist/{paragraph-DcRBcRhQ.cjs.map → paragraph-C_Fdgxy-.cjs.map} +1 -1
- package/dist/paragraph-Mj_lYFeD.js +2 -0
- package/dist/{paragraph-B4cQhLhW.js.map → paragraph-Mj_lYFeD.js.map} +1 -1
- package/dist/{popover-CTFp7ZXi.js → popover-B6yv5EYw.js} +2 -2
- package/dist/{popover-CTFp7ZXi.js.map → popover-B6yv5EYw.js.map} +1 -1
- package/dist/{popover-DCcPvdz2.cjs → popover-DgOKkndq.cjs} +2 -2
- package/dist/{popover-DCcPvdz2.cjs.map → popover-DgOKkndq.cjs.map} +1 -1
- package/dist/{progress-DWrtxJv0.js → progress-CgYS0Bm6.js} +2 -2
- package/dist/{progress-DWrtxJv0.js.map → progress-CgYS0Bm6.js.map} +1 -1
- package/dist/{progress-DLxh7x1P.cjs → progress-CmViEr3j.cjs} +2 -2
- package/dist/{progress-DLxh7x1P.cjs.map → progress-CmViEr3j.cjs.map} +1 -1
- package/dist/{refresh-DoLAmr6W.js → refresh-BFJNATfY.js} +2 -2
- package/dist/{refresh-DoLAmr6W.js.map → refresh-BFJNATfY.js.map} +1 -1
- package/dist/{refresh-97lkLRMu.cjs → refresh-DV8cVidH.cjs} +2 -2
- package/dist/{refresh-97lkLRMu.cjs.map → refresh-DV8cVidH.cjs.map} +1 -1
- package/dist/{scroll-area-DC3bOFao.cjs → scroll-area-BsrcLip1.cjs} +2 -2
- package/dist/{scroll-area-DC3bOFao.cjs.map → scroll-area-BsrcLip1.cjs.map} +1 -1
- package/dist/{scroll-area-CIgY0dx7.js → scroll-area-Cpvu7dIu.js} +2 -2
- package/dist/{scroll-area-CIgY0dx7.js.map → scroll-area-Cpvu7dIu.js.map} +1 -1
- package/dist/{search-input-C7mm7Uc5.cjs → search-input-DzVNcpAl.cjs} +2 -2
- package/dist/{search-input-C7mm7Uc5.cjs.map → search-input-DzVNcpAl.cjs.map} +1 -1
- package/dist/{search-input-DfpaWtQ8.js → search-input-ihsd9Col.js} +2 -2
- package/dist/{search-input-DfpaWtQ8.js.map → search-input-ihsd9Col.js.map} +1 -1
- package/dist/{select-BCBdGAk7.cjs → select-BoooApYz.cjs} +2 -2
- package/dist/{select-BCBdGAk7.cjs.map → select-BoooApYz.cjs.map} +1 -1
- package/dist/{select-DmjCwCGB.js → select-D_bwp3YB.js} +2 -2
- package/dist/{select-DmjCwCGB.js.map → select-D_bwp3YB.js.map} +1 -1
- package/dist/{separator-BJoqBpEK.d.cts → separator-Bm5xaHvo.d.cts} +3 -3
- package/dist/{separator-5FdzRGaJ.d.ts → separator-BssDmBsX.d.ts} +3 -3
- package/dist/{separator-Cigaqna1.cjs → separator-CHpoDNnH.cjs} +2 -2
- package/dist/{separator-Cigaqna1.cjs.map → separator-CHpoDNnH.cjs.map} +1 -1
- package/dist/{separator-aLdI4FQe.js → separator-iF5M5XZY.js} +2 -2
- package/dist/{separator-aLdI4FQe.js.map → separator-iF5M5XZY.js.map} +1 -1
- package/dist/{sheet-CX3PajAc.cjs → sheet-Znop-UBl.cjs} +2 -2
- package/dist/{sheet-CX3PajAc.cjs.map → sheet-Znop-UBl.cjs.map} +1 -1
- package/dist/{sheet-DqPtcv9H.js → sheet-aZXyTC8e.js} +2 -2
- package/dist/{sheet-DqPtcv9H.js.map → sheet-aZXyTC8e.js.map} +1 -1
- package/dist/{sidebar-CUDxSzag.js → sidebar-BpowweVQ.js} +2 -2
- package/dist/{sidebar-CUDxSzag.js.map → sidebar-BpowweVQ.js.map} +1 -1
- package/dist/{sidebar-D8VDqOC4.js → sidebar-C_is5tcT.js} +2 -2
- package/dist/{sidebar-D8VDqOC4.js.map → sidebar-C_is5tcT.js.map} +1 -1
- package/dist/{sidebar-BJISDaVP.cjs → sidebar-Cis7ovR0.cjs} +2 -2
- package/dist/{sidebar-BJISDaVP.cjs.map → sidebar-Cis7ovR0.cjs.map} +1 -1
- package/dist/{sidebar-B8vyPsEX.cjs → sidebar-docmHTTK.cjs} +2 -2
- package/dist/{sidebar-B8vyPsEX.cjs.map → sidebar-docmHTTK.cjs.map} +1 -1
- package/dist/{skeleton-tNlCAW9R.cjs → skeleton-C84VfQBQ.cjs} +2 -2
- package/dist/{skeleton-tNlCAW9R.cjs.map → skeleton-C84VfQBQ.cjs.map} +1 -1
- package/dist/{skeleton-BSi1n1L2.js → skeleton-CKfTsKvQ.js} +2 -2
- package/dist/{skeleton-BSi1n1L2.js.map → skeleton-CKfTsKvQ.js.map} +1 -1
- package/dist/{switch-965kHdW_.js → switch-BTyOC3nf.js} +2 -2
- package/dist/{switch-965kHdW_.js.map → switch-BTyOC3nf.js.map} +1 -1
- package/dist/{switch-C3igCoxt.cjs → switch-C-GlxGb_.cjs} +2 -2
- package/dist/{switch-C3igCoxt.cjs.map → switch-C-GlxGb_.cjs.map} +1 -1
- package/dist/table/index.cjs +1 -1
- package/dist/table/index.d.cts +2 -2
- package/dist/table/index.d.ts +2 -2
- package/dist/table/index.js +1 -1
- package/dist/{table-C_mNufXs.js → table-C41DTjGy.js} +2 -2
- package/dist/{table-C_mNufXs.js.map → table-C41DTjGy.js.map} +1 -1
- package/dist/{table-CxeV7aJw.cjs → table-Covunh7N.cjs} +2 -2
- package/dist/{table-CxeV7aJw.cjs.map → table-Covunh7N.cjs.map} +1 -1
- package/dist/{textarea-BK2brgwY.js → textarea-BIEmVydu.js} +2 -2
- package/dist/{textarea-BK2brgwY.js.map → textarea-BIEmVydu.js.map} +1 -1
- package/dist/{textarea-Y4wAXFGr.cjs → textarea-CsSWBMOT.cjs} +2 -2
- package/dist/{textarea-Y4wAXFGr.cjs.map → textarea-CsSWBMOT.cjs.map} +1 -1
- package/dist/title-BIXny3_a.cjs +2 -0
- package/dist/{title-C3bbuPGv.cjs.map → title-BIXny3_a.cjs.map} +1 -1
- package/dist/title-BcmnoJqA.js +2 -0
- package/dist/{title-Dz5mmcHL.js.map → title-BcmnoJqA.js.map} +1 -1
- package/dist/{toggle-TyuitPly.d.ts → toggle-Bhf1Aw7F.d.ts} +5 -5
- package/dist/{toggle-B7nXBZ9r.cjs → toggle-BjNukl2s.cjs} +2 -2
- package/dist/{toggle-B7nXBZ9r.cjs.map → toggle-BjNukl2s.cjs.map} +1 -1
- package/dist/{toggle-A6eGkFij.js → toggle-CRCm_ZLv.js} +2 -2
- package/dist/{toggle-A6eGkFij.js.map → toggle-CRCm_ZLv.js.map} +1 -1
- package/dist/{toggle-BfoJYg-U.d.cts → toggle-DvJddJPj.d.cts} +5 -5
- package/dist/{tooltip-CwnnP95E.d.cts → tooltip-BJzXAIe7.d.cts} +6 -6
- package/dist/{tooltip-D7xs4Hao.cjs → tooltip-CWncGEuk.cjs} +2 -2
- package/dist/{tooltip-D7xs4Hao.cjs.map → tooltip-CWncGEuk.cjs.map} +1 -1
- package/dist/{tooltip-DFsHixOs.d.ts → tooltip-GgIQS_wc.d.ts} +6 -6
- package/dist/{tooltip-CaqA5ydI.js → tooltip-Z6FrqQ6l.js} +2 -2
- package/dist/{tooltip-CaqA5ydI.js.map → tooltip-Z6FrqQ6l.js.map} +1 -1
- package/dist/{types-DaIHddx7.js → types-C1zngBcL.js} +1 -1
- package/dist/{types-DaIHddx7.js.map → types-C1zngBcL.js.map} +1 -1
- package/dist/{types-CrbWxjnp.cjs → types-D4VheH3v.cjs} +1 -1
- package/dist/{types-CrbWxjnp.cjs.map → types-D4VheH3v.cjs.map} +1 -1
- package/dist/typography/paragraph.cjs +1 -1
- package/dist/typography/paragraph.d.cts +2 -2
- package/dist/typography/paragraph.d.ts +2 -2
- package/dist/typography/paragraph.js +1 -1
- package/dist/typography/title.cjs +1 -1
- package/dist/typography/title.d.cts +2 -2
- package/dist/typography/title.d.ts +2 -2
- package/dist/typography/title.js +1 -1
- package/dist/ui/alert-dialog.cjs +1 -1
- package/dist/ui/alert-dialog.d.cts +12 -12
- package/dist/ui/alert-dialog.d.ts +12 -12
- package/dist/ui/alert-dialog.js +1 -1
- package/dist/ui/alert.cjs +1 -1
- package/dist/ui/alert.d.cts +4 -4
- package/dist/ui/alert.d.ts +4 -4
- package/dist/ui/alert.js +1 -1
- package/dist/ui/aspect-ratio.cjs +1 -1
- package/dist/ui/aspect-ratio.d.cts +2 -2
- package/dist/ui/aspect-ratio.d.ts +2 -2
- package/dist/ui/aspect-ratio.js +1 -1
- package/dist/ui/avatar.cjs +1 -1
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.ts +4 -4
- package/dist/ui/avatar.js +1 -1
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +4 -4
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.cjs +1 -1
- package/dist/ui/breadcrumb.d.cts +8 -8
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/button.cjs +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/button.js +1 -1
- package/dist/ui/buttons/add-new.cjs +1 -1
- package/dist/ui/buttons/add-new.js +1 -1
- package/dist/ui/buttons/edit.cjs +1 -1
- package/dist/ui/buttons/edit.js +1 -1
- package/dist/ui/buttons/refresh.cjs +1 -1
- package/dist/ui/buttons/refresh.js +1 -1
- package/dist/ui/buttons/trash.cjs +1 -1
- package/dist/ui/buttons/trash.js +1 -1
- package/dist/ui/buttons/upload-image.cjs +1 -1
- package/dist/ui/buttons/upload-image.js +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +4 -4
- package/dist/ui/calendar.d.ts +4 -4
- package/dist/ui/calendar.js +1 -1
- package/dist/ui/card.cjs +1 -1
- package/dist/ui/card.d.cts +8 -8
- package/dist/ui/card.d.ts +8 -8
- package/dist/ui/card.js +1 -1
- package/dist/ui/carousel.cjs +1 -1
- package/dist/ui/carousel.d.cts +7 -7
- package/dist/ui/carousel.d.ts +7 -7
- package/dist/ui/carousel.js +1 -1
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.ts +4 -4
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.d.cts +2 -2
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +1 -1
- package/dist/ui/context-menu.cjs +1 -1
- package/dist/ui/context-menu.d.cts +16 -16
- package/dist/ui/context-menu.d.ts +16 -16
- package/dist/ui/context-menu.js +1 -1
- package/dist/ui/dialog.cjs +1 -1
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dialog.js +1 -1
- package/dist/ui/dropdown-menu.cjs +1 -1
- package/dist/ui/dropdown-menu.d.cts +16 -16
- package/dist/ui/dropdown-menu.d.ts +16 -16
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/file-uploader.cjs +1 -1
- package/dist/ui/file-uploader.d.cts +2 -2
- package/dist/ui/file-uploader.d.ts +2 -2
- package/dist/ui/file-uploader.js +1 -1
- package/dist/ui/form.cjs +1 -1
- package/dist/ui/form.d.cts +7 -7
- package/dist/ui/form.d.ts +7 -7
- package/dist/ui/form.js +1 -1
- package/dist/ui/hover-card.cjs +1 -1
- package/dist/ui/hover-card.d.cts +4 -4
- package/dist/ui/hover-card.d.ts +4 -4
- package/dist/ui/hover-card.js +1 -1
- package/dist/ui/input-otp.cjs +1 -1
- package/dist/ui/input-otp.d.cts +5 -5
- package/dist/ui/input-otp.d.ts +5 -5
- package/dist/ui/input-otp.js +1 -1
- package/dist/ui/input.cjs +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/inputs/search-input.cjs +1 -1
- package/dist/ui/inputs/search-input.d.cts +3 -3
- package/dist/ui/inputs/search-input.d.ts +1 -1
- package/dist/ui/inputs/search-input.js +1 -1
- package/dist/ui/label.cjs +1 -1
- package/dist/ui/label.d.cts +2 -2
- package/dist/ui/label.d.ts +2 -2
- package/dist/ui/label.js +1 -1
- package/dist/ui/menubar.cjs +1 -1
- package/dist/ui/menubar.d.cts +17 -17
- package/dist/ui/menubar.d.ts +17 -17
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.d.cts +2 -2
- package/dist/ui/multi-select.d.ts +2 -2
- package/dist/ui/multi-select.js +1 -1
- package/dist/ui/navigation-menu.cjs +1 -1
- package/dist/ui/navigation-menu.d.cts +11 -11
- package/dist/ui/navigation-menu.d.ts +9 -9
- package/dist/ui/navigation-menu.js +1 -1
- package/dist/ui/pagination.cjs +1 -1
- package/dist/ui/pagination.d.cts +9 -9
- package/dist/ui/pagination.d.ts +9 -9
- package/dist/ui/pagination.js +1 -1
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +5 -5
- package/dist/ui/popover.d.ts +5 -5
- package/dist/ui/popover.js +1 -1
- package/dist/ui/progress.cjs +1 -1
- package/dist/ui/progress.d.cts +2 -2
- package/dist/ui/progress.d.ts +2 -2
- package/dist/ui/progress.js +1 -1
- package/dist/ui/radio-group.cjs +1 -1
- package/dist/ui/radio-group.d.cts +3 -3
- package/dist/ui/radio-group.d.ts +3 -3
- package/dist/ui/radio-group.js +1 -1
- package/dist/ui/resizable.cjs +1 -1
- package/dist/ui/resizable.d.cts +4 -4
- package/dist/ui/resizable.d.ts +4 -4
- package/dist/ui/resizable.js +1 -1
- package/dist/ui/scroll-area.cjs +1 -1
- package/dist/ui/scroll-area.d.cts +3 -3
- package/dist/ui/scroll-area.d.ts +3 -3
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +11 -11
- package/dist/ui/select.d.ts +11 -11
- package/dist/ui/select.js +1 -1
- package/dist/ui/separator.cjs +1 -1
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/separator.js +1 -1
- package/dist/ui/sheet.cjs +1 -1
- package/dist/ui/sheet.d.cts +9 -9
- package/dist/ui/sheet.d.ts +9 -9
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.d.cts +28 -28
- package/dist/ui/sidebar.d.ts +30 -30
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/skeleton.cjs +1 -1
- package/dist/ui/skeleton.d.cts +2 -2
- package/dist/ui/skeleton.d.ts +2 -2
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/slider.cjs +1 -1
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/slider.js +1 -1
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/switch.cjs +1 -1
- package/dist/ui/switch.d.cts +2 -2
- package/dist/ui/switch.d.ts +2 -2
- package/dist/ui/switch.js +1 -1
- package/dist/ui/table.cjs +1 -1
- package/dist/ui/table.d.cts +9 -9
- package/dist/ui/table.d.ts +9 -9
- package/dist/ui/table.js +1 -1
- package/dist/ui/tabs.cjs +1 -1
- package/dist/ui/tabs.d.cts +5 -5
- package/dist/ui/tabs.d.ts +5 -5
- package/dist/ui/tabs.js +1 -1
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +2 -2
- package/dist/ui/textarea.d.ts +2 -2
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.cjs +1 -1
- package/dist/ui/toggle-group.d.cts +4 -4
- package/dist/ui/toggle-group.d.ts +4 -4
- package/dist/ui/toggle-group.js +1 -1
- package/dist/ui/toggle.cjs +1 -1
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toggle.js +1 -1
- package/dist/ui/tooltip.cjs +1 -1
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/ui/tooltip.js +1 -1
- package/dist/{utils-BsjVK5EW.cjs → utils-Bzhp4BOr.cjs} +1 -1
- package/dist/{utils-BsjVK5EW.cjs.map → utils-Bzhp4BOr.cjs.map} +1 -1
- package/dist/{utils-D9AH0PUV.js → utils-CU8e4Cfu.js} +1 -1
- package/dist/{utils-D9AH0PUV.js.map → utils-CU8e4Cfu.js.map} +1 -1
- package/package.json +1 -1
- package/dist/paragraph-B4cQhLhW.js +0 -2
- package/dist/paragraph-DcRBcRhQ.cjs +0 -2
- package/dist/title-C3bbuPGv.cjs +0 -2
- package/dist/title-Dz5mmcHL.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-nd8WkPlx.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-Ci9rmG-_.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,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"./utils-
|
|
2
|
-
//# sourceMappingURL=date-
|
|
1
|
+
import{cn as e}from"./utils-CU8e4Cfu.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-Clhba3N5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-BMq_DNsv.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":"kQACA,MAAa,EAAmB,CAC9B,SAAU,CAAC,WAAY,UAAW,SAAU,SAAU,UAAW,UAAW,WAC5E,cAAe,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACpD,OAAQ,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAAY,WAAY,YACpI,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,QAIvE,EAAqB,CAChC,QAAS,iBACT,QAAS,iBACT,QAAS,2BACT,QAAS,mBACT,QAAS,aACT,QAAS,uBACT,QAAS,0BAIe,OAAO,OAAO,CACtC,OAAQ,IACR,OAAQ,GAAK,IACb,KAAM,KAAU,IAChB,IAAK,KAAU,GAAK,IACpB,KAAM,MAAc,GAAK,IACzB,MAAO,IAAU,GAAK,GAAK,IAC3B,KAAM,IAAM,GAAK,GAAK,GAAK,MAG7B,MAAa,EAAkB,OAAO,OAAO,CAC3C,OAAQ,GACR,KAAM,KACN,IAAK,KAAU,GACf,KAAM,MAAc,GACpB,MAAO,IAAU,GAAK,GACtB,KAAM,IAAM,GAAK,GAAK,KAGO,OAAO,OAAO,CAC3C,KAAM,GACN,IAAK,KACL,KAAM,MACN,MAAO,IAAU,KCpBnB,MAAaA,GAAgC,CAAE,OAAM,OAAQ,EAAa,SAAU,cAAc,GAAO,WAAW,GAAO,YAAY,GAAI,WAAY,CACrJ,IAAM,EAAa,EAAM,YAAc,CACrC,GAAI,CACF,GAAI,aAAgB,KAClB,OAAO,EAAQ,GAAQ,EAAO,KAEhC,GAAI,OAAO,GAAS,SAAU,CAC5B,IAAM,EAAS,EAAS,GACxB,OAAO,EAAQ,GAAU,EAAS,IAAI,KAAK,GAE7C,GAAI,OAAO,GAAS,SAAU,CAC5B,IAAM,EAAS,IAAI,KAAK,GACxB,OAAO,EAAQ,GAAU,EAAS,KAEpC,OAAO,UACD,CACN,OAAO,OAER,CAAC,IAGE,EAAqB,EAAM,YAAa,GAAuB,CACnE,IAAM,EAAM,IAAI,KACV,EAAgB,KAAK,OAAO,EAAI,UAAYC,EAAK,WAAa,KAQpE,OANI,EAAgB,GAAW,WAC3B,EAAgB,KAAa,GAAG,KAAK,MAAM,EAAgB,EAAgB,QAAQ,aACnF,EAAgB,MAAc,GAAG,KAAK,MAAM,EAAgB,EAAgB,MAAM,YAClF,EAAgB,OAAe,GAAG,KAAK,MAAM,EAAgB,EAAgB,KAAK,aAClF,EAAgB,OAAgB,GAAG,KAAK,MAAM,EAAgB,EAAgB,MAAM,aACpF,EAAgB,QAAiB,GAAG,KAAK,MAAM,EAAgB,EAAgB,OAAO,cACnF,GAAG,KAAK,MAAM,EAAgB,EAAgB,MAAM,aAC1D,IAGG,EAAuB,EAAM,aAAa,EAAY,EAAiB,KAAkB,CAC7F,IAAM,EAAWA,EAAK,SACtB,OAAO,EAAQ,EAAiB,cAAc,GAAY,EAAiB,SAAS,IACnF,IAGG,EAAqB,EAAM,aAAa,EAAY,EAAiB,KAAkB,CAC3F,IAAM,EAAaA,EAAK,WACxB,OAAO,EAAQ,EAAiB,YAAY,GAAc,EAAiB,OAAO,IACjF,IAGG,EAAa,EAAM,YAAa,GAA8B,CAClE,IAAM,EAAW,EAAOA,EAAM,SAC9B,OAAO,EAAmB,IAAa,MACtC,IAGG,EAAiB,EAAM,YAC1B,GAAuB,CACtB,GAAI,EAAQA,GACV,OAAO,EAAW,WAAW,EAAOA,EAAM,WAAa,UAEzD,GAAI,EAAYA,GACd,OAAO,EAAW,WAAW,EAAOA,EAAM,WAAa,UAEzD,GAAI,EAAWA,GACb,OAAO,EAAW,YAAY,EAAOA,EAAM,WAAa,WAE1D,GAAI,EAAWA,GAAO,CACpB,IAAM,EAAU,EAAqBA,GACrC,OAAO,EAAW,GAAG,EAAQ,GAAG,EAAOA,EAAM,WAAa,EAE5D,GAAI,EAAYA,GAAO,CACrB,IAAM,EAAM,EAAOA,EAAM,KACzB,OAAO,EAAW,GAAG,EAAI,GAAG,EAAOA,EAAM,KAAK,GAAG,EAAOA,EAAM,WAAa,GAAG,EAAI,GAAG,EAAOA,EAAM,OAKpG,OAHI,EAAWA,GACN,EAAW,EAAOA,EAAM,aAAe,EAAOA,EAAM,OAEtD,EAAW,EAAOA,EAAM,kBAAoB,EAAOA,EAAM,aAElE,CAAC,EAAsB,IAInB,EAAa,EAAM,aACtB,EAAY,IAAyB,CACpC,IAAM,EAAU,EAAW,EAAOA,EAAM,WAAa,GAErD,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,EAAOA,EAAM,UAAY,EAElC,IAAK,SACH,OAAO,EAAOA,EAAM,cAAgB,EAEtC,IAAK,OACH,MAAO,GAAG,EAAOA,EAAM,KAAK,GAAG,EAAmBA,GAAM,GAAG,EAAOA,EAAM,UAAY,EAEtF,IAAK,OAAQ,CACX,IAAM,EAAO,GAAG,EAAqBA,GAAM,SAAS,EAAOA,EAAM,KAAK,GAAG,EAAmBA,GAAM,OAAO,EAAOA,EAAM,UACtH,OAAO,EAAO,EAGhB,IAAK,WACH,OAAO,EAAmBA,GAE5B,IAAK,WACH,OAAO,EAAOA,EAAM,kBAEtB,IAAK,OACH,OAAO,EAAOA,EAAM,SAEtB,IAAK,QACH,OAAO,EAAeA,GAExB,QACE,OAAO,EAAOA,EAAM,YAAc,IAGxC,CAAC,EAAgB,EAAoB,EAAsB,EAAoB,IAGjF,GAAI,CAAC,EACH,OAAO,EAAC,OAAA,CAAK,UAAW,EAAG,gCAAiC,YAAY,eAG1E,IAAM,EAAgB,EAAW,EAAY,GACvC,EAAU,EAAc,EAAW,GAAc,KACjD,EAAc,EAAU,GAAG,EAAc,IAAI,EAAQ,GAAK,EAC1D,EAAe,GAAS,EAAO,EAAY,8BAEjD,OACE,EAAC,OAAA,CAAK,SAAU,EAAW,cAAe,UAAW,EAAG,6CAA8C,GAAY,MAAO,WACtH"}
|
|
1
|
+
{"version":3,"file":"date-Clhba3N5.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,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime89 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>):
|
|
7
|
+
}: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime89.JSX.Element;
|
|
8
8
|
declare function DialogTrigger({
|
|
9
9
|
...props
|
|
10
|
-
}: React.ComponentProps<typeof Dialog.Trigger>):
|
|
10
|
+
}: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime89.JSX.Element;
|
|
11
11
|
declare function DialogPortal({
|
|
12
12
|
...props
|
|
13
|
-
}: React.ComponentProps<typeof Dialog.Portal>):
|
|
13
|
+
}: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime89.JSX.Element;
|
|
14
14
|
declare function DialogClose({
|
|
15
15
|
...props
|
|
16
|
-
}: React.ComponentProps<typeof Dialog.Close>):
|
|
16
|
+
}: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime89.JSX.Element;
|
|
17
17
|
declare function DialogOverlay({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof Dialog.Overlay>):
|
|
20
|
+
}: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime89.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
|
-
}):
|
|
28
|
+
}): react_jsx_runtime89.JSX.Element;
|
|
29
29
|
declare function DialogHeader({
|
|
30
30
|
className,
|
|
31
31
|
...props
|
|
32
|
-
}: React.ComponentProps<'div'>):
|
|
32
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime89.JSX.Element;
|
|
33
33
|
declare function DialogFooter({
|
|
34
34
|
className,
|
|
35
35
|
...props
|
|
36
|
-
}: React.ComponentProps<'div'>):
|
|
36
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime89.JSX.Element;
|
|
37
37
|
declare function DialogTitle({
|
|
38
38
|
className,
|
|
39
39
|
...props
|
|
40
|
-
}: React.ComponentProps<typeof Dialog.Title>):
|
|
40
|
+
}: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime89.JSX.Element;
|
|
41
41
|
declare function DialogDescription({
|
|
42
42
|
className,
|
|
43
43
|
...props
|
|
44
|
-
}: React.ComponentProps<typeof Dialog.Description>):
|
|
44
|
+
}: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime89.JSX.Element;
|
|
45
45
|
//#endregion
|
|
46
46
|
export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
47
|
-
//# sourceMappingURL=dialog-
|
|
47
|
+
//# sourceMappingURL=dialog-B4XWQE0p.d.cts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"./utils-
|
|
2
|
-
//# sourceMappingURL=dialog-
|
|
1
|
+
import{cn as e}from"./utils-CU8e4Cfu.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{Dialog as r}from"radix-ui";import{XIcon as i}from"lucide-react";function a({...e}){return t(r.Root,{"data-slot":`dialog`,...e})}function o({...e}){return t(r.Trigger,{"data-slot":`dialog-trigger`,...e})}function s({...e}){return t(r.Portal,{"data-slot":`dialog-portal`,...e})}function c({...e}){return t(r.Close,{"data-slot":`dialog-close`,...e})}function l({className:n,...i}){return t(r.Overlay,{"data-slot":`dialog-overlay`,className:e(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,n),...i})}function u({className:a,children:o,showCloseButton:c=!0,...u}){return n(s,{"data-slot":`dialog-portal`,children:[t(l,{}),t(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:n(r.Content,{"data-slot":`dialog-content`,className:e(`bg-background relative z-50 grid`,`shadow-dialog gap-4 p-6 outline-none`,`max-h-[85svh] w-full max-w-[calc(100%-2rem)] sm:max-w-lg`,`rounded-2xl duration-200`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-80`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-80`,a),...u,children:[o,c&&n(r.Close,{"data-slot":`dialog-close`,tabIndex:-1,className:e(`btnClose`,`absolute top-3 right-3 rounded-full p-2 opacity-70`,`cursor-pointer transition-all`,`outline-0`,`disabled:pointer-events-none`,`focus:ring-2`,`focus:ring-border-weak`,`hover:opacity-100`,`hover:bg-border-muted`,`data-[state=open]:bg-accent-weak`,`data-[state=open]:text-text-positive-muted`,`[&_svg]:text-accent-foreground/60`,`[&_svg]:hover:text-text-positive-strong`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-5`),children:[t(i,{}),t(`span`,{className:`sr-only`,children:`Close`})]})]})})]})}function d({className:n,...r}){return t(`div`,{"data-slot":`dialog-header`,className:e(`flex flex-col gap-2 text-center sm:text-left`,n),...r})}function f({className:n,...r}){return t(`div`,{"data-slot":`dialog-footer`,className:e(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,n),...r})}function p({className:n,...i}){return t(r.Title,{"data-slot":`dialog-title`,className:e(`text-text-positive-strong text-lg leading-none font-semibold`,n),...i})}function m({className:n,...i}){return t(r.Description,{"data-slot":`dialog-description`,className:e(`text-text-positive-weak text-sm`,n),...i})}export{a as Dialog,c as DialogClose,u as DialogContent,m as DialogDescription,f as DialogFooter,d as DialogHeader,l as DialogOverlay,s as DialogPortal,p as DialogTitle,o as DialogTrigger};
|
|
2
|
+
//# sourceMappingURL=dialog-BBIDITqN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-
|
|
1
|
+
{"version":3,"file":"dialog-BBIDITqN.js","names":["Dialog","DialogPrimitive"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client'\nimport { Dialog as DialogPrimitive } from 'radix-ui'\nimport { XIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background relative z-50 grid',\n 'shadow-dialog gap-4 p-6 outline-none',\n 'max-h-[85svh] w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-2xl duration-200',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-80',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-80',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n tabIndex={-1}\n className={cn(\n 'btnClose',\n 'absolute top-3 right-3 rounded-full p-2 opacity-70',\n 'cursor-pointer transition-all',\n 'outline-0',\n 'disabled:pointer-events-none',\n 'focus:ring-2',\n 'focus:ring-border-weak',\n 'hover:opacity-100',\n 'hover:bg-border-muted',\n 'data-[state=open]:bg-accent-weak',\n 'data-[state=open]:text-text-positive-muted',\n '[&_svg]:text-accent-foreground/60',\n '[&_svg]:hover:text-text-positive-strong',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-5\",\n )}\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </div>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn('text-text-positive-strong text-lg leading-none font-semibold', className)} {...props} />\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn('text-text-positive-weak text-sm', className)} {...props} />\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger }\n"],"mappings":"kKAMA,SAASA,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAACC,EAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,IAGtD,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAACA,EAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,IAGjE,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAACA,EAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,IAG/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,IAG7D,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,iCACA,+BACA,8BACA,kCACA,iCACA,GAEF,GAAI,IAKV,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAGF,CACD,OACE,EAAC,EAAA,CAAa,YAAU,0BACtB,EAAC,EAAA,IACD,EAAC,MAAA,CAAI,UAAU,+DACb,EAACA,EAAgB,QAAA,CACf,YAAU,iBACV,UAAW,EACT,mCACA,uCACA,2DACA,2BACA,+BACA,8BACA,+BACA,kCACA,iCACA,kCACA,GAEF,GAAI,YAEH,EACA,GACC,EAACA,EAAgB,MAAA,CACf,YAAU,eACV,SAAU,GACV,UAAW,EACT,WACA,qDACA,gCACA,YACA,+BACA,eACA,yBACA,oBACA,wBACA,mCACA,6CACA,oCACA,0CACA,8BACA,mBACA,kDAGF,EAAC,EAAA,IACD,EAAC,OAAA,CAAK,UAAU,mBAAU,qBASxC,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,+CAAgD,GAAY,GAAI,IAGtH,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAC,MAAA,CAAI,YAAU,gBAAgB,UAAW,EAAG,yDAA0D,GAAY,GAAI,IAGhI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAACA,EAAgB,MAAA,CAAM,YAAU,eAAe,UAAW,EAAG,+DAAgE,GAAY,GAAI,IAGvJ,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAACA,EAAgB,YAAA,CAAY,YAAU,qBAAqB,UAAW,EAAG,kCAAmC,GAAY,GAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-
|
|
2
|
-
//# sourceMappingURL=dialog-
|
|
1
|
+
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-Bzhp4BOr.cjs`),n=e.__toESM(require(`react/jsx-runtime`)),r=e.__toESM(require(`radix-ui`)),i=e.__toESM(require(`lucide-react`));function a({...e}){return(0,n.jsx)(r.Dialog.Root,{"data-slot":`dialog`,...e})}function o({...e}){return(0,n.jsx)(r.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function s({...e}){return(0,n.jsx)(r.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function c({...e}){return(0,n.jsx)(r.Dialog.Close,{"data-slot":`dialog-close`,...e})}function l({className:e,...i}){return(0,n.jsx)(r.Dialog.Overlay,{"data-slot":`dialog-overlay`,className:t.cn(`fixed inset-0 z-50 bg-black/50`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,e),...i})}function u({className:e,children:a,showCloseButton:o=!0,...c}){return(0,n.jsxs)(s,{"data-slot":`dialog-portal`,children:[(0,n.jsx)(l,{}),(0,n.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:(0,n.jsxs)(r.Dialog.Content,{"data-slot":`dialog-content`,className:t.cn(`bg-background relative z-50 grid`,`shadow-dialog gap-4 p-6 outline-none`,`max-h-[85svh] w-full max-w-[calc(100%-2rem)] sm:max-w-lg`,`rounded-2xl duration-200`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-80`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-80`,e),...c,children:[a,o&&(0,n.jsxs)(r.Dialog.Close,{"data-slot":`dialog-close`,tabIndex:-1,className:t.cn(`btnClose`,`absolute top-3 right-3 rounded-full p-2 opacity-70`,`cursor-pointer transition-all`,`outline-0`,`disabled:pointer-events-none`,`focus:ring-2`,`focus:ring-border-weak`,`hover:opacity-100`,`hover:bg-border-muted`,`data-[state=open]:bg-accent-weak`,`data-[state=open]:text-text-positive-muted`,`[&_svg]:text-accent-foreground/60`,`[&_svg]:hover:text-text-positive-strong`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-5`),children:[(0,n.jsx)(i.XIcon,{}),(0,n.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})})]})}function d({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`dialog-header`,className:t.cn(`flex flex-col gap-2 text-center sm:text-left`,e),...r})}function f({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`dialog-footer`,className:t.cn(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r})}function p({className:e,...i}){return(0,n.jsx)(r.Dialog.Title,{"data-slot":`dialog-title`,className:t.cn(`text-text-positive-strong text-lg leading-none font-semibold`,e),...i})}function m({className:e,...i}){return(0,n.jsx)(r.Dialog.Description,{"data-slot":`dialog-description`,className:t.cn(`text-text-positive-weak text-sm`,e),...i})}Object.defineProperty(exports,`Dialog`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`DialogClose`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`DialogContent`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`DialogDescription`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`DialogFooter`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`DialogHeader`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`DialogOverlay`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`DialogPortal`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`DialogTitle`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`DialogTrigger`,{enumerable:!0,get:function(){return o}});
|
|
2
|
+
//# sourceMappingURL=dialog-Bg98FNM0.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-
|
|
1
|
+
{"version":3,"file":"dialog-Bg98FNM0.cjs","names":["DialogPrimitive","cn","XIcon"],"sources":["../packages/components/ui/dialog.tsx"],"sourcesContent":["'use client'\nimport { Dialog as DialogPrimitive } from 'radix-ui'\nimport { XIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/50',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background relative z-50 grid',\n 'shadow-dialog gap-4 p-6 outline-none',\n 'max-h-[85svh] w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-2xl duration-200',\n 'data-[state=open]:animate-in',\n 'data-[state=open]:fade-in-0',\n 'data-[state=open]:zoom-in-80',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-80',\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n tabIndex={-1}\n className={cn(\n 'btnClose',\n 'absolute top-3 right-3 rounded-full p-2 opacity-70',\n 'cursor-pointer transition-all',\n 'outline-0',\n 'disabled:pointer-events-none',\n 'focus:ring-2',\n 'focus:ring-border-weak',\n 'hover:opacity-100',\n 'hover:bg-border-muted',\n 'data-[state=open]:bg-accent-weak',\n 'data-[state=open]:text-text-positive-muted',\n '[&_svg]:text-accent-foreground/60',\n '[&_svg]:hover:text-text-positive-strong',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-5\",\n )}\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </div>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-header\" className={cn('flex flex-col gap-2 text-center sm:text-left', className)} {...props} />\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"dialog-footer\" className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)} {...props} />\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return <DialogPrimitive.Title data-slot=\"dialog-title\" className={cn('text-text-positive-strong text-lg leading-none font-semibold', className)} {...props} />\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return <DialogPrimitive.Description data-slot=\"dialog-description\" className={cn('text-text-positive-weak text-sm', className)} {...props} />\n}\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger }\n"],"mappings":"0LAMA,SAAS,EAAO,CAAE,GAAG,GAA4D,CAC/E,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,KAAA,CAAK,YAAU,SAAS,GAAI,IAGtD,SAAS,EAAc,CAAE,GAAG,GAA+D,CACzF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CAAQ,YAAU,iBAAiB,GAAI,IAGjE,SAAS,EAAa,CAAE,GAAG,GAA8D,CACvF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,OAAA,CAAO,YAAU,gBAAgB,GAAI,IAG/D,SAAS,EAAY,CAAE,GAAG,GAA6D,CACrF,OAAO,EAAA,EAAA,KAACA,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,GAAI,IAG7D,SAAS,EAAc,CAAE,YAAW,GAAG,GAA+D,CACpG,OACE,EAAA,EAAA,KAACA,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,UAAWC,EAAAA,GACT,iCACA,+BACA,8BACA,kCACA,iCACA,GAEF,GAAI,IAKV,SAAS,EAAc,CACrB,YACA,WACA,kBAAkB,GAClB,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,EAAA,CAAa,YAAU,2BACtB,EAAA,EAAA,KAAC,EAAA,KACD,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,gEACb,EAAA,EAAA,MAACD,EAAAA,OAAgB,QAAA,CACf,YAAU,iBACV,UAAWC,EAAAA,GACT,mCACA,uCACA,2DACA,2BACA,+BACA,8BACA,+BACA,kCACA,iCACA,kCACA,GAEF,GAAI,YAEH,EACA,IACC,EAAA,EAAA,MAACD,EAAAA,OAAgB,MAAA,CACf,YAAU,eACV,SAAU,GACV,UAAWC,EAAAA,GACT,WACA,qDACA,gCACA,YACA,+BACA,eACA,yBACA,oBACA,wBACA,mCACA,6CACA,oCACA,0CACA,8BACA,mBACA,mDAGF,EAAA,EAAA,KAACC,EAAAA,MAAAA,KACD,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,qBASxC,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,UAAWD,EAAAA,GAAG,+CAAgD,GAAY,GAAI,IAGtH,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,gBAAgB,UAAWA,EAAAA,GAAG,yDAA0D,GAAY,GAAI,IAGhI,SAAS,EAAY,CAAE,YAAW,GAAG,GAA6D,CAChG,OAAO,EAAA,EAAA,KAACD,EAAAA,OAAgB,MAAA,CAAM,YAAU,eAAe,UAAWC,EAAAA,GAAG,+DAAgE,GAAY,GAAI,IAGvJ,SAAS,EAAkB,CAAE,YAAW,GAAG,GAAmE,CAC5G,OAAO,EAAA,EAAA,KAACD,EAAAA,OAAgB,YAAA,CAAY,YAAU,qBAAqB,UAAWC,EAAAA,GAAG,kCAAmC,GAAY,GAAI"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime61 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>):
|
|
7
|
+
}: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime61.JSX.Element;
|
|
8
8
|
declare function DialogTrigger({
|
|
9
9
|
...props
|
|
10
|
-
}: React.ComponentProps<typeof Dialog.Trigger>):
|
|
10
|
+
}: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime61.JSX.Element;
|
|
11
11
|
declare function DialogPortal({
|
|
12
12
|
...props
|
|
13
|
-
}: React.ComponentProps<typeof Dialog.Portal>):
|
|
13
|
+
}: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime61.JSX.Element;
|
|
14
14
|
declare function DialogClose({
|
|
15
15
|
...props
|
|
16
|
-
}: React.ComponentProps<typeof Dialog.Close>):
|
|
16
|
+
}: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime61.JSX.Element;
|
|
17
17
|
declare function DialogOverlay({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<typeof Dialog.Overlay>):
|
|
20
|
+
}: React.ComponentProps<typeof Dialog.Overlay>): react_jsx_runtime61.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
|
-
}):
|
|
28
|
+
}): react_jsx_runtime61.JSX.Element;
|
|
29
29
|
declare function DialogHeader({
|
|
30
30
|
className,
|
|
31
31
|
...props
|
|
32
|
-
}: React.ComponentProps<'div'>):
|
|
32
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime61.JSX.Element;
|
|
33
33
|
declare function DialogFooter({
|
|
34
34
|
className,
|
|
35
35
|
...props
|
|
36
|
-
}: React.ComponentProps<'div'>):
|
|
36
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime61.JSX.Element;
|
|
37
37
|
declare function DialogTitle({
|
|
38
38
|
className,
|
|
39
39
|
...props
|
|
40
|
-
}: React.ComponentProps<typeof Dialog.Title>):
|
|
40
|
+
}: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime61.JSX.Element;
|
|
41
41
|
declare function DialogDescription({
|
|
42
42
|
className,
|
|
43
43
|
...props
|
|
44
|
-
}: React.ComponentProps<typeof Dialog.Description>):
|
|
44
|
+
}: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime61.JSX.Element;
|
|
45
45
|
//#endregion
|
|
46
46
|
export { Dialog$1 as Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
|
47
|
-
//# sourceMappingURL=dialog-
|
|
47
|
+
//# sourceMappingURL=dialog-T0tJMC-j.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-
|
|
1
|
+
const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-Bzhp4BOr.cjs`),require(`../button-CbFrIjE4.cjs`);const t=require(`../alert-dialog-lB4WFSwV.cjs`),n=e.__toESM(require(`react/jsx-runtime`)),r=({open:e,isLoading:r=!1,title:i,description:a,onOpenChange:o,onConfirm:s})=>(0,n.jsx)(t.AlertDialog,{open:e,onOpenChange:o,children:(0,n.jsxs)(t.AlertDialogContent,{children:[(0,n.jsxs)(t.AlertDialogHeader,{className:`gap-0`,children:[(0,n.jsx)(t.AlertDialogTitle,{children:i}),(0,n.jsx)(t.AlertDialogDescription,{children:a})]}),(0,n.jsxs)(t.AlertDialogFooter,{children:[(0,n.jsx)(t.AlertDialogCancel,{children:`Cancel`}),(0,n.jsx)(t.AlertDialogAction,{className:`min-h-9 w-full md:w-24`,onClick:s,children:r?(0,n.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,n.jsx)(`div`,{className:`loader-spinner text-muted-foreground`})}):`Confirm`})]})]})});exports.ConfirmDialog=r;
|
|
2
2
|
//# sourceMappingURL=confirm-dialog.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../utils-
|
|
1
|
+
import"../utils-CU8e4Cfu.js";import"../button-TN67_gWM.js";import{AlertDialog as e,AlertDialogAction as t,AlertDialogCancel as n,AlertDialogContent as r,AlertDialogDescription as i,AlertDialogFooter as a,AlertDialogHeader as o,AlertDialogTitle as s}from"../alert-dialog-BP0xVoKP.js";import{jsx as c,jsxs as l}from"react/jsx-runtime";const u=({open:u,isLoading:d=!1,title:f,description:p,onOpenChange:m,onConfirm:h})=>c(e,{open:u,onOpenChange:m,children:l(r,{children:[l(o,{className:`gap-0`,children:[c(s,{children:f}),c(i,{children:p})]}),l(a,{children:[c(n,{children:`Cancel`}),c(t,{className:`min-h-9 w-full md:w-24`,onClick:h,children:d?c(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:c(`div`,{className:`loader-spinner text-muted-foreground`})}):`Confirm`})]})]})});export{u as ConfirmDialog};
|
|
2
2
|
//# sourceMappingURL=confirm-dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";require(`../../../utils-
|
|
1
|
+
"use client";require(`../../../utils-Bzhp4BOr.cjs`),require(`../../../tooltip-CWncGEuk.cjs`),require(`../../../button-CbFrIjE4.cjs`),require(`../../../input-1ANqCfkA.cjs`),require(`../../../separator-CHpoDNnH.cjs`),require(`../../../sheet-Znop-UBl.cjs`),require(`../../../skeleton-C84VfQBQ.cjs`),require(`../../../use-mobile-DD7ESbjU.cjs`);const e=require(`../../../sidebar-docmHTTK.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,7 +1,7 @@
|
|
|
1
|
-
import { Button } from "../../../button-
|
|
2
|
-
import { Input } from "../../../input-
|
|
3
|
-
import { Separator } from "../../../separator-
|
|
4
|
-
import { TooltipContent } from "../../../tooltip-
|
|
1
|
+
import { Button } from "../../../button-BRHXAci1.cjs";
|
|
2
|
+
import { Input } from "../../../input-B-slCZyk.cjs";
|
|
3
|
+
import { Separator } from "../../../separator-Bm5xaHvo.cjs";
|
|
4
|
+
import { TooltipContent } from "../../../tooltip-BJzXAIe7.cjs";
|
|
5
5
|
import * as react_jsx_runtime236 from "react/jsx-runtime";
|
|
6
6
|
import React from "react";
|
|
7
7
|
import * as class_variance_authority_types6 from "class-variance-authority/types";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Button } from "../../../button-
|
|
2
|
-
import { Input } from "../../../input-
|
|
3
|
-
import { Separator } from "../../../separator-
|
|
4
|
-
import { TooltipContent } from "../../../tooltip-
|
|
1
|
+
import { Button } from "../../../button-C5K7zYQX.js";
|
|
2
|
+
import { Input } from "../../../input-URjp4mmO.js";
|
|
3
|
+
import { Separator } from "../../../separator-BssDmBsX.js";
|
|
4
|
+
import { TooltipContent } from "../../../tooltip-GgIQS_wc.js";
|
|
5
5
|
import React from "react";
|
|
6
|
-
import * as react_jsx_runtime236 from "react/jsx-runtime";
|
|
7
6
|
import { VariantProps } from "class-variance-authority";
|
|
7
|
+
import * as react_jsx_runtime236 from "react/jsx-runtime";
|
|
8
8
|
import * as class_variance_authority_types6 from "class-variance-authority/types";
|
|
9
9
|
|
|
10
10
|
//#region packages/components/dialogs/detail-dialog/component/sidebar.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import"../../../utils-
|
|
1
|
+
"use client";import"../../../utils-CU8e4Cfu.js";import"../../../tooltip-Z6FrqQ6l.js";import"../../../button-TN67_gWM.js";import"../../../input-C9LMjTaV.js";import"../../../separator-iF5M5XZY.js";import"../../../sheet-aZXyTC8e.js";import"../../../skeleton-CKfTsKvQ.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-BpowweVQ.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-
|
|
1
|
+
const e=require(`../../chunk-CUT6urMc.cjs`),t=require(`../../utils-Bzhp4BOr.cjs`),n=require(`../../flex-Ca0WWCQ6.cjs`),r=require(`../../date-Ci9rmG-_.cjs`);require(`../../tooltip-CWncGEuk.cjs`),require(`../../button-CbFrIjE4.cjs`);const i=require(`../../dialog-Bg98FNM0.cjs`);require(`../../input-1ANqCfkA.cjs`),require(`../../card-DJNkipcv.cjs`);const a=require(`../../title-BIXny3_a.cjs`);require(`../../separator-CHpoDNnH.cjs`),require(`../../sheet-Znop-UBl.cjs`),require(`../../skeleton-C84VfQBQ.cjs`),require(`../../use-mobile-DD7ESbjU.cjs`);const o=require(`../../sidebar-docmHTTK.cjs`),s=e.__toESM(require(`react/jsx-runtime`)),c=e.__toESM(require(`lucide-react`)),l=()=>(0,s.jsxs)(i.DialogHeader,{className:`sr-only`,children:[(0,s.jsx)(i.DialogTitle,{className:`sr-only`}),(0,s.jsx)(i.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)(n.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)(n.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)(n.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)(r.DateDisplay,{showTime:!0,showHoliday:!0,date:t,format:`full`,className:`ml-4 text-xs md:text-sm`})]})]})]}),f=({children:e})=>(0,s.jsx)(i.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:r,sidebar:a,sidebarFooter:c,title:m,createdAt:h,onOpenChange:g,children:_})=>(0,s.jsx)(i.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:r,sidebarFooter:c,children:a}),(0,s.jsxs)(u,{children:[(0,s.jsx)(d,{title:m,createdAt:h}),t?(0,s.jsx)(n.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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["DialogHeader","DialogTitle","DialogDescription","DetailDialogMain: React.FC<React.PropsWithChildren>","Flex","DetailDialogMainHeader: React.FC<React.PropsWithChildren<DetailDialogMainHeaderProps>>","DetailDialogSidebarTrigger","Title","CalendarIcon","DateDisplay","DetailDialogWrapper: React.FC<React.PropsWithChildren>","DialogContent","cn","DetailDialogSidebar: React.FC<React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>>","Sidebar","DetailDialogSidebarHeader","DetailDialogSidebarMenu","DetailDialogSidebarMenuItem","DetailDialogSidebarMenuButton","CatIcon","DetailDialogSidebarContent","DetailDialogSidebarGroup","DetailDialogSidebarFooter","DetailDialog: React.FC<React.PropsWithChildren<Props>>","Dialog","SidebarProvider","Flex"],"sources":["../../../packages/components/dialogs/detail-dialog/component/header.tsx","../../../packages/components/dialogs/detail-dialog/component/main.tsx","../../../packages/components/dialogs/detail-dialog/component/wrapper.tsx","../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import { DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog'\n\nexport const DetailDialogHeader = () => {\n return (\n <DialogHeader className=\"sr-only\">\n <DialogTitle className=\"sr-only\"></DialogTitle>\n <DialogDescription className=\"sr-only\"></DialogDescription>\n </DialogHeader>\n )\n}\n","import { CalendarIcon } from 'lucide-react'\n\nimport { DateDisplay } from '@/components/data-display/date'\nimport { Flex } from '@/components/layouts/flex'\nimport { Title } from '@/components/typography/title'\n\nimport { DetailDialogSidebarTrigger } from './sidebar'\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'\n\nexport const DetailDialogMain: React.FC<React.PropsWithChildren> = ({ children }) => (\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n {children}\n </Flex>\n </main>\n)\n\ntype DetailDialogMainHeaderProps = {\n title: string\n createdAt?: string | Date | number\n}\nexport const DetailDialogMainHeader: React.FC<React.PropsWithChildren<DetailDialogMainHeaderProps>> = ({ title, createdAt }) => (\n <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\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n <Flex padding=\"none\" className=\"text-text-positive-weak relative\">\n <CalendarIcon size={12} className=\"absolute top-0.5 md:top-1\" />\n {!!createdAt && <DateDisplay showTime showHoliday date={createdAt} format=\"full\" className=\"ml-4 text-xs md:text-sm\" />}\n </Flex>\n </Flex>\n </header>\n)\n\nexport const DetailDialogMainGroup: React.FC<React.PropsWithChildren> = ({ children }) => (\n <Flex vertical gap=\"md\" padding=\"md\" width=\"full\">\n {children}\n </Flex>\n)\n\ntype DetailDialogMainGroupItemProps = {\n title?: string\n description?: string\n}\nexport const DetailDialogMainGroupItem: React.FC<React.PropsWithChildren<DetailDialogMainGroupItemProps>> = ({ title, description, children }) => (\n <Card className=\"w-full snap-start scroll-mt-4\">\n <CardHeader>\n <CardTitle>{title}</CardTitle>\n <CardDescription>{description}</CardDescription>\n </CardHeader>\n <CardContent>{children}</CardContent>\n </Card>\n)\n","import { DialogContent } from '@/components/ui/dialog'\nimport { cn } from '@/lib/utils'\n\nexport const DetailDialogWrapper: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <DialogContent\n className={cn(\n 'relative h-full overflow-hidden border-none p-0',\n 'rounded-none md:rounded-lg',\n 'max-h-svh max-w-svw',\n 'md:max-h-[90svh] md:max-w-[90svw]',\n 'xl:max-h-[90svh] xl:max-w-[90svw]',\n '2xl:max-h-[90svh] 2xl:max-w-7xl',\n )}\n onInteractOutside={(e) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n {children}\n </DialogContent>\n )\n}\n","import { CatIcon } from 'lucide-react'\n\nimport { Flex } from '@/components/layouts/flex'\nimport { Dialog } from '@/components/ui/dialog'\n\nimport { DetailDialogHeader } from './component/header'\nimport { DetailDialogMain, DetailDialogMainHeader } from './component/main'\nimport {\n Sidebar,\n SidebarProvider,\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n} from './component/sidebar'\nimport { DetailDialogWrapper } from './component/wrapper'\n\nconst DetailDialogSidebar: React.FC<React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>> = ({ title, sidebarFooter, children }) => {\n return (\n <Sidebar collapsible=\"icon\" className=\"shadow-nav z-20 hidden md:flex\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>\n <DetailDialogSidebarGroup>{children}</DetailDialogSidebarGroup>\n </DetailDialogSidebarContent>\n {sidebarFooter && <DetailDialogSidebarFooter>{sidebarFooter}</DetailDialogSidebarFooter>}\n </Sidebar>\n )\n}\n\ntype Props = {\n open?: boolean\n isLoading?: boolean\n sidebarTitle?: string\n sidebar?: React.ReactNode\n sidebarFooter?: React.ReactNode\n title: string\n createdAt: string | Date | number\n onOpenChange?: (open: boolean) => void | Promise<void>\n}\nexport const DetailDialog: React.FC<React.PropsWithChildren<Props>> = ({\n open,\n isLoading = false,\n sidebarTitle,\n sidebar,\n sidebarFooter,\n title,\n createdAt,\n onOpenChange,\n children,\n}) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DetailDialogWrapper>\n <DetailDialogHeader />\n <SidebarProvider className=\"h-full min-h-[85svh] items-start\">\n <DetailDialogSidebar title={sidebarTitle} sidebarFooter={sidebarFooter} children={sidebar} />\n <DetailDialogMain>\n <DetailDialogMainHeader title={title} createdAt={createdAt} />\n {isLoading ? (\n <Flex justify=\"center\" className=\"bg-muted-muted w-full flex-1 inset-shadow-sm\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section className=\"bg-muted-muted relative flex flex-1 snap-y flex-col gap-0 overflow-y-auto inset-shadow-sm\">{children}</section>\n )}\n </DetailDialogMain>\n </SidebarProvider>\n </DetailDialogWrapper>\n </Dialog>\n )\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["DialogHeader","DialogTitle","DialogDescription","DetailDialogMain: React.FC<React.PropsWithChildren>","Flex","DetailDialogMainHeader: React.FC<React.PropsWithChildren<DetailDialogMainHeaderProps>>","DetailDialogSidebarTrigger","Title","CalendarIcon","DateDisplay","DetailDialogWrapper: React.FC<React.PropsWithChildren>","DialogContent","cn","DetailDialogSidebar: React.FC<React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>>","Sidebar","DetailDialogSidebarHeader","DetailDialogSidebarMenu","DetailDialogSidebarMenuItem","DetailDialogSidebarMenuButton","CatIcon","DetailDialogSidebarContent","DetailDialogSidebarGroup","DetailDialogSidebarFooter","DetailDialog: React.FC<React.PropsWithChildren<Props>>","Dialog","SidebarProvider","Flex"],"sources":["../../../packages/components/dialogs/detail-dialog/component/header.tsx","../../../packages/components/dialogs/detail-dialog/component/main.tsx","../../../packages/components/dialogs/detail-dialog/component/wrapper.tsx","../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import { DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog'\n\nexport const DetailDialogHeader = () => {\n return (\n <DialogHeader className=\"sr-only\">\n <DialogTitle className=\"sr-only\"></DialogTitle>\n <DialogDescription className=\"sr-only\"></DialogDescription>\n </DialogHeader>\n )\n}\n","import { CalendarIcon } from 'lucide-react'\n\nimport { DateDisplay } from '@/components/data-display/date'\nimport { Flex } from '@/components/layouts/flex'\nimport { Title } from '@/components/typography/title'\n\nimport { DetailDialogSidebarTrigger } from './sidebar'\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'\n\nexport const DetailDialogMain: React.FC<React.PropsWithChildren> = ({ children }) => (\n <main data-slot=\"detail-dialog-main\" className=\"relative h-full flex-1\">\n <Flex padding=\"none\" gap=\"none\" vertical align=\"stretch\" className=\"absolute inset-0 size-full\">\n {children}\n </Flex>\n </main>\n)\n\ntype DetailDialogMainHeaderProps = {\n title: string\n createdAt?: string | Date | number\n}\nexport const DetailDialogMainHeader: React.FC<React.PropsWithChildren<DetailDialogMainHeaderProps>> = ({ title, createdAt }) => (\n <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\">\n <DetailDialogSidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" width=\"null\" wrap={false} className=\"flex-1\">\n <Title level={5} className=\"line-clamp-1 truncate text-wrap\">\n {title || 'Detail Dialog'}\n </Title>\n <Flex padding=\"none\" className=\"text-text-positive-weak relative\">\n <CalendarIcon size={12} className=\"absolute top-0.5 md:top-1\" />\n {!!createdAt && <DateDisplay showTime showHoliday date={createdAt} format=\"full\" className=\"ml-4 text-xs md:text-sm\" />}\n </Flex>\n </Flex>\n </header>\n)\n\nexport const DetailDialogMainGroup: React.FC<React.PropsWithChildren> = ({ children }) => (\n <Flex vertical gap=\"md\" padding=\"md\" width=\"full\">\n {children}\n </Flex>\n)\n\ntype DetailDialogMainGroupItemProps = {\n title?: string\n description?: string\n}\nexport const DetailDialogMainGroupItem: React.FC<React.PropsWithChildren<DetailDialogMainGroupItemProps>> = ({ title, description, children }) => (\n <Card className=\"w-full snap-start scroll-mt-4\">\n <CardHeader>\n <CardTitle>{title}</CardTitle>\n <CardDescription>{description}</CardDescription>\n </CardHeader>\n <CardContent>{children}</CardContent>\n </Card>\n)\n","import { DialogContent } from '@/components/ui/dialog'\nimport { cn } from '@/lib/utils'\n\nexport const DetailDialogWrapper: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <DialogContent\n className={cn(\n 'relative h-full overflow-hidden border-none p-0',\n 'rounded-none md:rounded-lg',\n 'max-h-svh max-w-svw',\n 'md:max-h-[90svh] md:max-w-[90svw]',\n 'xl:max-h-[90svh] xl:max-w-[90svw]',\n '2xl:max-h-[90svh] 2xl:max-w-7xl',\n )}\n onInteractOutside={(e) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n {children}\n </DialogContent>\n )\n}\n","import { CatIcon } from 'lucide-react'\n\nimport { Flex } from '@/components/layouts/flex'\nimport { Dialog } from '@/components/ui/dialog'\n\nimport { DetailDialogHeader } from './component/header'\nimport { DetailDialogMain, DetailDialogMainHeader } from './component/main'\nimport {\n Sidebar,\n SidebarProvider,\n DetailDialogSidebarContent,\n DetailDialogSidebarFooter,\n DetailDialogSidebarGroup,\n DetailDialogSidebarHeader,\n DetailDialogSidebarMenu,\n DetailDialogSidebarMenuButton,\n DetailDialogSidebarMenuItem,\n} from './component/sidebar'\nimport { DetailDialogWrapper } from './component/wrapper'\n\nconst DetailDialogSidebar: React.FC<React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>> = ({ title, sidebarFooter, children }) => {\n return (\n <Sidebar collapsible=\"icon\" className=\"shadow-nav z-20 hidden md:flex\">\n <DetailDialogSidebarHeader>\n <DetailDialogSidebarMenu>\n <DetailDialogSidebarMenuItem>\n <DetailDialogSidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{title || 'Detail Dialog'}</span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </DetailDialogSidebarMenuButton>\n </DetailDialogSidebarMenuItem>\n </DetailDialogSidebarMenu>\n </DetailDialogSidebarHeader>\n <DetailDialogSidebarContent>\n <DetailDialogSidebarGroup>{children}</DetailDialogSidebarGroup>\n </DetailDialogSidebarContent>\n {sidebarFooter && <DetailDialogSidebarFooter>{sidebarFooter}</DetailDialogSidebarFooter>}\n </Sidebar>\n )\n}\n\ntype Props = {\n open?: boolean\n isLoading?: boolean\n sidebarTitle?: string\n sidebar?: React.ReactNode\n sidebarFooter?: React.ReactNode\n title: string\n createdAt: string | Date | number\n onOpenChange?: (open: boolean) => void | Promise<void>\n}\nexport const DetailDialog: React.FC<React.PropsWithChildren<Props>> = ({\n open,\n isLoading = false,\n sidebarTitle,\n sidebar,\n sidebarFooter,\n title,\n createdAt,\n onOpenChange,\n children,\n}) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DetailDialogWrapper>\n <DetailDialogHeader />\n <SidebarProvider className=\"h-full min-h-[85svh] items-start\">\n <DetailDialogSidebar title={sidebarTitle} sidebarFooter={sidebarFooter} children={sidebar} />\n <DetailDialogMain>\n <DetailDialogMainHeader title={title} createdAt={createdAt} />\n {isLoading ? (\n <Flex justify=\"center\" className=\"bg-muted-muted w-full flex-1 inset-shadow-sm\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section className=\"bg-muted-muted relative flex flex-1 snap-y flex-col gap-0 overflow-y-auto inset-shadow-sm\">{children}</section>\n )}\n </DetailDialogMain>\n </SidebarProvider>\n </DetailDialogWrapper>\n </Dialog>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"../../utils-
|
|
1
|
+
import{cn as e}from"../../utils-CU8e4Cfu.js";import{Flex as t}from"../../flex-D7vHMjSg.js";import{DateDisplay as n}from"../../date-Clhba3N5.js";import"../../tooltip-Z6FrqQ6l.js";import"../../button-TN67_gWM.js";import{Dialog as r,DialogContent as i,DialogDescription as a,DialogHeader as o,DialogTitle as s}from"../../dialog-BBIDITqN.js";import"../../input-C9LMjTaV.js";import"../../card-BPay4oXq.js";import{Title as c}from"../../title-BcmnoJqA.js";import"../../separator-iF5M5XZY.js";import"../../sheet-aZXyTC8e.js";import"../../skeleton-CKfTsKvQ.js";import"../../use-mobile-CNVZwItd.js";import{DetailDialogSidebarContent as l,DetailDialogSidebarFooter as u,DetailDialogSidebarGroup as d,DetailDialogSidebarHeader as f,DetailDialogSidebarMenu as p,DetailDialogSidebarMenuButton as m,DetailDialogSidebarMenuItem as h,DetailDialogSidebarTrigger as g,Sidebar as _,SidebarProvider as v}from"../../sidebar-BpowweVQ.js";import{jsx as y,jsxs as b}from"react/jsx-runtime";import{CalendarIcon as x,CatIcon as S}from"lucide-react";const C=()=>b(o,{className:`sr-only`,children:[y(s,{className:`sr-only`}),y(a,{className:`sr-only`})]}),w=({children:e})=>y(`main`,{"data-slot":`detail-dialog-main`,className:`relative h-full flex-1`,children:y(t,{padding:`none`,gap:`none`,vertical:!0,align:`stretch`,className:`absolute inset-0 size-full`,children:e})}),T=({title:e,createdAt:r})=>b(`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:[y(g,{}),b(t,{vertical:!0,align:`start`,padding:`none`,width:`null`,wrap:!1,className:`flex-1`,children:[y(c,{level:5,className:`line-clamp-1 truncate text-wrap`,children:e||`Detail Dialog`}),b(t,{padding:`none`,className:`text-text-positive-weak relative`,children:[y(x,{size:12,className:`absolute top-0.5 md:top-1`}),!!r&&y(n,{showTime:!0,showHoliday:!0,date:r,format:`full`,className:`ml-4 text-xs md:text-sm`})]})]})]}),E=({children:t})=>y(i,{className:e(`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:t}),D=({title:e,sidebarFooter:t,children:n})=>b(_,{collapsible:`icon`,className:`shadow-nav z-20 hidden md:flex`,children:[y(f,{children:y(p,{children:y(h,{children:b(m,{size:`lg`,tabIndex:-1,children:[y(`div`,{className:`bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg`,children:y(S,{size:16})}),b(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[y(`span`,{className:`truncate font-medium`,children:e||`Detail Dialog`}),y(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),y(l,{children:y(d,{children:n})}),t&&y(u,{children:t})]}),O=({open:e,isLoading:n=!1,sidebarTitle:i,sidebar:a,sidebarFooter:o,title:s,createdAt:c,onOpenChange:l,children:u})=>y(r,{open:e,onOpenChange:l,children:b(E,{children:[y(C,{}),b(v,{className:`h-full min-h-[85svh] items-start`,children:[y(D,{title:i,sidebarFooter:o,children:a}),b(w,{children:[y(T,{title:s,createdAt:c}),n?y(t,{justify:`center`,className:`bg-muted-muted w-full flex-1 inset-shadow-sm`,children:y(`div`,{className:`loader`})}):y(`section`,{className:`bg-muted-muted relative flex flex-1 snap-y flex-col gap-0 overflow-y-auto inset-shadow-sm`,children:u})]})]})]})});export{O as DetailDialog};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../utils-
|
|
1
|
+
require(`../utils-Bzhp4BOr.cjs`),require(`../button-CbFrIjE4.cjs`),require(`../alert-dialog-lB4WFSwV.cjs`);const e=require(`../error-dialog-CvKV4Ya7.cjs`);exports.ErrorDialog=e.ErrorDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../utils-
|
|
1
|
+
import"../utils-CU8e4Cfu.js";import"../button-TN67_gWM.js";import"../alert-dialog-BP0xVoKP.js";import{ErrorDialog as e}from"../error-dialog-aGglw-bl.js";export{e as ErrorDialog};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-
|
|
1
|
+
const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-Bzhp4BOr.cjs`),n=require(`../button-CbFrIjE4.cjs`),r=require(`../dialog-Bg98FNM0.cjs`);require(`../label-DNvp_7Lv.cjs`),require(`../form-VwjpeIbm.cjs`),require(`../alert-dialog-lB4WFSwV.cjs`),require(`../error-dialog-CvKV4Ya7.cjs`);const i=require(`../form-wrapper-BHdUbBAc.cjs`),a=e.__toESM(require(`react/jsx-runtime`)),o=({form:e,open:o,isSubmitting:s=!1,isResetAfterSubmit:c=!0,disableSubmit:l=!1,title:u,description:d,className:f,onOpenChange:p,onSubmit:m,onError:h,onReset:g,children:_})=>(0,a.jsx)(r.Dialog,{open:o,onOpenChange:p,children:(0,a.jsxs)(r.DialogContent,{className:t.cn(`flex flex-col gap-0 border-none p-0`,f),onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,a.jsxs)(r.DialogHeader,{className:`border-border-weak flex-0 gap-2 border-b p-6 pb-4`,children:[(0,a.jsx)(r.DialogTitle,{children:u||`Form Dialog`}),(0,a.jsx)(r.DialogDescription,{children:d||`This is a form dialog where you can add your form elements.`})]}),(0,a.jsxs)(i.FormWrapper,{form:e,isResetAfterSubmit:c,className:`flex flex-1 flex-col overflow-y-auto`,onSubmit:m,onError:h,children:[(0,a.jsx)(`div`,{className:`bg-muted-muted size-full p-2 inset-shadow-sm`,children:(0,a.jsx)(`main`,{className:`bg-card shadow-card size-full flex-1 overflow-y-auto rounded-md p-4`,children:_})}),(0,a.jsxs)(r.DialogFooter,{className:`border-border-weak border-t p-6 pt-4`,children:[(0,a.jsx)(n.Button,{tabIndex:-1,type:`button`,variant:`outline`,color:`muted`,className:`w-full rounded-full sm:w-30`,onClick:g,children:`Reset`}),(0,a.jsx)(n.Button,{autoFocus:!0,tabIndex:0,type:`submit`,isLoading:s,disabled:l,className:`w-full rounded-full sm:w-30`,children:`Submit`})]})]})]})});exports.FormDialog=o;
|
|
2
2
|
//# sourceMappingURL=form-dialog.cjs.map
|