@customafk/lunas-ui 0.0.21 → 0.0.22
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-CVQQRkB9.js +2 -0
- package/dist/add-new-CVQQRkB9.js.map +1 -0
- package/dist/{add-new-BTpI7Ph7.cjs → add-new-CmzfSaTJ.cjs} +2 -2
- package/dist/add-new-CmzfSaTJ.cjs.map +1 -0
- package/dist/alert-dialog-CNHyP_A9.js +2 -0
- package/dist/alert-dialog-CNHyP_A9.js.map +1 -0
- package/dist/alert-dialog-D-oR0YW3.cjs +2 -0
- package/dist/alert-dialog-D-oR0YW3.cjs.map +1 -0
- package/dist/{badge-DHRQ-uwY.cjs → badge-D4NxkKeN.cjs} +1 -1
- package/dist/badge-D4NxkKeN.cjs.map +1 -0
- package/dist/{badge-bLqn3EB9.js → badge-DzKUgC8v.js} +1 -1
- package/dist/badge-DzKUgC8v.js.map +1 -0
- package/dist/button-BEwm_iVK.d.cts +25 -0
- package/dist/button-BSGNpclh.cjs +2 -0
- package/dist/button-BSGNpclh.cjs.map +1 -0
- package/dist/{button-CFhTSUSV.d.ts → button-CSKaUiLi.d.ts} +7 -5
- package/dist/button-CnMfXTBU.js +2 -0
- package/dist/button-CnMfXTBU.js.map +1 -0
- package/dist/{calendar-Cck0PPMB.cjs → calendar-B8IKzrdN.cjs} +2 -2
- package/dist/calendar-B8IKzrdN.cjs.map +1 -0
- package/dist/{calendar-BG-jrCZc.js → calendar-CbuOOMpK.js} +2 -2
- package/dist/calendar-CbuOOMpK.js.map +1 -0
- package/dist/card-CgQjctUE.js +2 -0
- package/dist/card-CgQjctUE.js.map +1 -0
- package/dist/card-DYVCumPc.cjs +2 -0
- package/dist/card-DYVCumPc.cjs.map +1 -0
- package/dist/cards/simple-card.cjs +1 -1
- package/dist/cards/simple-card.cjs.map +1 -1
- package/dist/cards/simple-card.js +1 -1
- package/dist/cards/simple-card.js.map +1 -1
- package/dist/command-CoB5R5FI.cjs +2 -0
- package/dist/command-CoB5R5FI.cjs.map +1 -0
- package/dist/{command-DK3Z1Vcb.d.ts → command-DCgWctIo.d.cts} +12 -13
- package/dist/{command-ChE1SC-Q.d.cts → command-DQMBhKsg.d.ts} +12 -13
- package/dist/command-TFZwJmux.js +2 -0
- package/dist/command-TFZwJmux.js.map +1 -0
- package/dist/data-display/country.cjs +1 -1
- package/dist/data-display/country.cjs.map +1 -1
- package/dist/data-display/country.js +1 -1
- package/dist/data-display/country.js.map +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.d.cts +0 -2
- package/dist/data-display/data-list.d.ts +0 -2
- 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.cjs.map +1 -1
- package/dist/data-display/date-tooltip.js +1 -1
- package/dist/data-display/date-tooltip.js.map +1 -1
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.d.cts +1 -1
- package/dist/data-display/date.d.ts +1 -1
- package/dist/data-display/date.js +1 -1
- package/dist/data-display/empty.cjs +1 -1
- package/dist/data-display/empty.cjs.map +1 -1
- package/dist/data-display/empty.d.cts +2 -2
- package/dist/data-display/empty.d.ts +2 -2
- package/dist/data-display/empty.js +1 -1
- package/dist/data-display/empty.js.map +1 -1
- package/dist/data-display/name.cjs +1 -1
- package/dist/data-display/name.cjs.map +1 -1
- package/dist/data-display/name.js +1 -1
- package/dist/data-display/name.js.map +1 -1
- package/dist/data-display/phone-number.cjs +1 -1
- package/dist/data-display/phone-number.cjs.map +1 -1
- package/dist/data-display/phone-number.js +1 -1
- package/dist/data-display/phone-number.js.map +1 -1
- package/dist/data-display/role-badge.cjs +1 -1
- package/dist/data-display/role-badge.cjs.map +1 -1
- package/dist/data-display/role-badge.js +1 -1
- package/dist/data-display/role-badge.js.map +1 -1
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.cjs.map +1 -1
- package/dist/data-display/statistic.d.cts +4 -4
- package/dist/data-display/statistic.d.ts +4 -4
- package/dist/data-display/statistic.js +1 -1
- package/dist/data-display/statistic.js.map +1 -1
- package/dist/{date-B1g1OMYc.js → date-BMq_DNsv.js} +1 -1
- package/dist/date-BMq_DNsv.js.map +1 -0
- package/dist/{date-Cw6Jf7k6.cjs → date-nd8WkPlx.cjs} +1 -1
- package/dist/date-nd8WkPlx.cjs.map +1 -0
- package/dist/{dialog-DoFMLK7H.d.cts → dialog-B1TYYUwQ.d.cts} +12 -13
- package/dist/{dialog-BfAIULbh.d.ts → dialog-BFjbRwaD.d.ts} +12 -13
- package/dist/dialog-CSDDiHKO.js +2 -0
- package/dist/dialog-CSDDiHKO.js.map +1 -0
- package/dist/dialog-_Cgij9NP.cjs +2 -0
- package/dist/dialog-_Cgij9NP.cjs.map +1 -0
- package/dist/dialogs/confirm-dialog.cjs +1 -1
- package/dist/dialogs/confirm-dialog.cjs.map +1 -1
- package/dist/dialogs/confirm-dialog.js +1 -1
- package/dist/dialogs/confirm-dialog.js.map +1 -1
- package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
- package/dist/dialogs/detail-dialog/component/sidebar.d.cts +29 -29
- package/dist/dialogs/detail-dialog/component/sidebar.d.ts +29 -29
- 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/detail-dialog/index.js.map +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.cjs.map +1 -1
- package/dist/dialogs/form-dialog.d.cts +3 -3
- package/dist/dialogs/form-dialog.d.ts +3 -3
- package/dist/dialogs/form-dialog.js +1 -1
- package/dist/dialogs/form-dialog.js.map +1 -1
- package/dist/dialogs/loading-dialog.cjs +1 -1
- package/dist/dialogs/loading-dialog.cjs.map +1 -1
- package/dist/dialogs/loading-dialog.js +1 -1
- package/dist/dialogs/loading-dialog.js.map +1 -1
- package/dist/dropdown-menu-BnfaOPEM.cjs +2 -0
- package/dist/dropdown-menu-BnfaOPEM.cjs.map +1 -0
- package/dist/dropdown-menu-D5uG4HZA.js +2 -0
- package/dist/dropdown-menu-D5uG4HZA.js.map +1 -0
- package/dist/{error-dialog-OeWIgIvF.cjs → error-dialog-D5R5le-W.cjs} +2 -2
- package/dist/error-dialog-D5R5le-W.cjs.map +1 -0
- package/dist/{error-dialog-Dg_OHJlH.js → error-dialog-Q99thrSD.js} +2 -2
- package/dist/error-dialog-Q99thrSD.js.map +1 -0
- package/dist/{flex-B5MQmxX8.cjs → flex-CNA_SId-.cjs} +1 -1
- package/dist/flex-CNA_SId-.cjs.map +1 -0
- package/dist/{flex-CBAzUoXK.js → flex-ILvQrYMJ.js} +1 -1
- package/dist/flex-ILvQrYMJ.js.map +1 -0
- package/dist/{form-BbU1TIro.cjs → form-CHs85hm6.cjs} +2 -2
- package/dist/form-CHs85hm6.cjs.map +1 -0
- package/dist/{form-BMnG2xLt.js → form-tabDlutX.js} +2 -2
- package/dist/form-tabDlutX.js.map +1 -0
- package/dist/{form-wrapper-wHzrskjb.js → form-wrapper-C2xlvWx0.js} +2 -2
- package/dist/form-wrapper-C2xlvWx0.js.map +1 -0
- package/dist/{form-wrapper-DeSGl64P.cjs → form-wrapper-CY-stRaQ.cjs} +2 -2
- package/dist/form-wrapper-CY-stRaQ.cjs.map +1 -0
- package/dist/forms/combobox-field.cjs +1 -1
- package/dist/forms/combobox-field.cjs.map +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/combobox-field.js.map +1 -1
- package/dist/forms/date-field.cjs +1 -1
- package/dist/forms/date-field.cjs.map +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/date-field.js.map +1 -1
- package/dist/forms/form-wrapper.cjs +1 -1
- package/dist/forms/form-wrapper.d.cts +3 -3
- package/dist/forms/form-wrapper.d.ts +3 -3
- 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/multi-select-field.js.map +1 -1
- package/dist/forms/number-field.cjs +1 -1
- package/dist/forms/number-field.cjs.map +1 -1
- package/dist/forms/number-field.d.ts +2 -2
- package/dist/forms/number-field.js +1 -1
- package/dist/forms/number-field.js.map +1 -1
- package/dist/forms/password-field.cjs +1 -1
- package/dist/forms/password-field.cjs.map +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/password-field.js.map +1 -1
- package/dist/forms/select-field.cjs +1 -1
- package/dist/forms/select-field.cjs.map +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/select-field.js.map +1 -1
- package/dist/forms/switch-field.cjs +1 -1
- package/dist/forms/switch-field.cjs.map +1 -1
- package/dist/forms/switch-field.d.cts +2 -2
- package/dist/forms/switch-field.js +1 -1
- package/dist/forms/switch-field.js.map +1 -1
- package/dist/forms/text-field.cjs +1 -1
- package/dist/forms/text-field.cjs.map +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/text-field.js.map +1 -1
- package/dist/forms/textarea-field.cjs +1 -1
- package/dist/forms/textarea-field.cjs.map +1 -1
- package/dist/forms/textarea-field.d.cts +2 -2
- package/dist/forms/textarea-field.js +1 -1
- package/dist/forms/textarea-field.js.map +1 -1
- package/dist/input--6vqz8UI.js +2 -0
- package/dist/input--6vqz8UI.js.map +1 -0
- package/dist/{input-B0fJo2WZ.d.cts → input-B-Gq-nr8.d.cts} +4 -4
- package/dist/{input-CsU6VSlk.d.ts → input-EM59LdpP.d.ts} +4 -4
- package/dist/input-VZiryzkl.cjs +2 -0
- package/dist/input-VZiryzkl.cjs.map +1 -0
- package/dist/label-B_2ZQn0X.cjs +2 -0
- package/dist/label-B_2ZQn0X.cjs.map +1 -0
- package/dist/label-D1XmKlc3.js +2 -0
- package/dist/label-D1XmKlc3.js.map +1 -0
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +2 -2
- package/dist/layouts/flex.d.ts +2 -2
- package/dist/layouts/flex.js +1 -1
- package/dist/layouts/main/index.cjs +1 -1
- package/dist/layouts/main/index.cjs.map +1 -1
- package/dist/layouts/main/index.d.cts +4 -4
- package/dist/layouts/main/index.d.ts +4 -4
- package/dist/layouts/main/index.js +1 -1
- package/dist/layouts/main/index.js.map +1 -1
- package/dist/multi-select-Cjvm4tK5.cjs +2 -0
- package/dist/multi-select-Cjvm4tK5.cjs.map +1 -0
- package/dist/multi-select-D0bZVOnm.js +2 -0
- package/dist/multi-select-D0bZVOnm.js.map +1 -0
- package/dist/paragraph-B4cQhLhW.js +2 -0
- package/dist/paragraph-B4cQhLhW.js.map +1 -0
- package/dist/paragraph-DcRBcRhQ.cjs +2 -0
- package/dist/paragraph-DcRBcRhQ.cjs.map +1 -0
- package/dist/popover-CTFp7ZXi.js +2 -0
- package/dist/popover-CTFp7ZXi.js.map +1 -0
- package/dist/popover-DCcPvdz2.cjs +2 -0
- package/dist/popover-DCcPvdz2.cjs.map +1 -0
- package/dist/progress-DLxh7x1P.cjs +2 -0
- package/dist/progress-DLxh7x1P.cjs.map +1 -0
- package/dist/progress-DWrtxJv0.js +2 -0
- package/dist/progress-DWrtxJv0.js.map +1 -0
- package/dist/refresh-CYCzbKVl.js +2 -0
- package/dist/refresh-CYCzbKVl.js.map +1 -0
- package/dist/{refresh-H87p0PFk.cjs → refresh-DMj_wur3.cjs} +2 -2
- package/dist/refresh-DMj_wur3.cjs.map +1 -0
- package/dist/scroll-area-C0KQbcG0.js.map +1 -1
- package/dist/scroll-area-CBq8XL4c.cjs.map +1 -1
- package/dist/{search-input-BUIwdK4e.js → search-input-DqcwkgsY.js} +2 -2
- package/dist/search-input-DqcwkgsY.js.map +1 -0
- package/dist/{search-input-DXh-cAVU.cjs → search-input-yweS9EMM.cjs} +2 -2
- package/dist/search-input-yweS9EMM.cjs.map +1 -0
- package/dist/select-BHjk6yT3.cjs +2 -0
- package/dist/select-BHjk6yT3.cjs.map +1 -0
- package/dist/select-C6N3CXuY.js +2 -0
- package/dist/select-C6N3CXuY.js.map +1 -0
- package/dist/{separator-DgyR24FB.d.ts → separator-BnnbFnrB.d.ts} +3 -4
- package/dist/separator-Cigaqna1.cjs +2 -0
- package/dist/separator-Cigaqna1.cjs.map +1 -0
- package/dist/separator-aLdI4FQe.js +2 -0
- package/dist/separator-aLdI4FQe.js.map +1 -0
- package/dist/{separator-5OitSlUj.d.cts → separator-mZ8r56s2.d.cts} +3 -4
- package/dist/sheet-CX3PajAc.cjs +2 -0
- package/dist/sheet-CX3PajAc.cjs.map +1 -0
- package/dist/sheet-DqPtcv9H.js +2 -0
- package/dist/sheet-DqPtcv9H.js.map +1 -0
- package/dist/sidebar-BKNai9nJ.cjs +2 -0
- package/dist/sidebar-BKNai9nJ.cjs.map +1 -0
- package/dist/sidebar-BR_UWLC5.js +2 -0
- package/dist/sidebar-BR_UWLC5.js.map +1 -0
- package/dist/sidebar-C2FH-tzm.cjs +2 -0
- package/dist/sidebar-C2FH-tzm.cjs.map +1 -0
- package/dist/sidebar-DphZ29-4.js +2 -0
- package/dist/sidebar-DphZ29-4.js.map +1 -0
- package/dist/skeleton-C-9PuX3p.cjs +2 -0
- package/dist/skeleton-C-9PuX3p.cjs.map +1 -0
- package/dist/skeleton-sZeupFu_.js +2 -0
- package/dist/skeleton-sZeupFu_.js.map +1 -0
- package/dist/styles/base.cjs +0 -0
- package/dist/styles/base.css +32 -0
- package/dist/styles/base.css.map +1 -0
- package/dist/styles/base.js +1 -0
- package/dist/styles/loader.cjs +0 -0
- package/dist/styles/loader.css +116 -0
- package/dist/styles/loader.css.map +1 -0
- package/dist/styles/loader.js +1 -0
- package/dist/styles/theme.cjs +0 -0
- package/dist/styles/theme.css +106 -0
- package/dist/styles/theme.css.map +1 -0
- package/dist/styles/theme.js +1 -0
- package/dist/styles/typography.cjs +0 -0
- package/dist/styles/typography.css +9 -0
- package/dist/styles/typography.css.map +1 -0
- package/dist/styles/typography.js +1 -0
- package/dist/switch-965kHdW_.js +2 -0
- package/dist/switch-965kHdW_.js.map +1 -0
- package/dist/switch-C3igCoxt.cjs +2 -0
- package/dist/switch-C3igCoxt.cjs.map +1 -0
- package/dist/table/index.cjs +1 -1
- package/dist/table/index.cjs.map +1 -1
- package/dist/table/index.d.ts +2 -2
- package/dist/table/index.js +1 -1
- package/dist/table/index.js.map +1 -1
- package/dist/table-CTMRaGxa.cjs +2 -0
- package/dist/table-CTMRaGxa.cjs.map +1 -0
- package/dist/table-CsnugKnh.js +2 -0
- package/dist/table-CsnugKnh.js.map +1 -0
- package/dist/textarea-3XRFTUZ8.cjs +2 -0
- package/dist/textarea-3XRFTUZ8.cjs.map +1 -0
- package/dist/textarea-CQ6gAnm5.js +2 -0
- package/dist/textarea-CQ6gAnm5.js.map +1 -0
- package/dist/{title-DrIfj31i.cjs → title-6Uosk2b4.cjs} +2 -2
- package/dist/title-6Uosk2b4.cjs.map +1 -0
- package/dist/{title-CA6PvqiD.js → title-CxIwADiB.js} +2 -2
- package/dist/title-CxIwADiB.js.map +1 -0
- package/dist/{toggle-CyClmWQm.d.ts → toggle-B-LtBkTS.d.ts} +4 -4
- package/dist/{toggle-B9onDBto.d.cts → toggle-BLlf4Xgl.d.cts} +3 -3
- package/dist/{toggle-BA0PLIVa.js → toggle-CHJ2edke.js} +2 -2
- package/dist/toggle-CHJ2edke.js.map +1 -0
- package/dist/{toggle-Ddewmqst.cjs → toggle-DO8QbhLS.cjs} +2 -2
- package/dist/toggle-DO8QbhLS.cjs.map +1 -0
- package/dist/tooltip-B8KdfOeT.js +2 -0
- package/dist/tooltip-B8KdfOeT.js.map +1 -0
- package/dist/{tooltip-Ju-oCFdl.d.ts → tooltip-CbtJCe-c.d.ts} +6 -6
- package/dist/tooltip-DLnAwybV.cjs +2 -0
- package/dist/tooltip-DLnAwybV.cjs.map +1 -0
- package/dist/{tooltip-Ccg2G_fB.d.cts → tooltip-etVeWcFC.d.cts} +6 -6
- package/dist/{types-CnMfjcgO.cjs → types-CrbWxjnp.cjs} +1 -1
- package/dist/types-CrbWxjnp.cjs.map +1 -0
- package/dist/{types-BVNbk1ZN.js → types-DaIHddx7.js} +1 -1
- package/dist/types-DaIHddx7.js.map +1 -0
- package/dist/typography/paragraph.cjs +1 -1
- package/dist/typography/paragraph.d.cts +3 -4
- package/dist/typography/paragraph.d.ts +3 -4
- 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.cjs.map +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/alert.js.map +1 -1
- package/dist/ui/aspect-ratio.cjs +1 -1
- package/dist/ui/aspect-ratio.cjs.map +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/aspect-ratio.js.map +1 -1
- package/dist/ui/avatar.cjs.map +1 -1
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.ts +4 -4
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +5 -5
- package/dist/ui/badge.d.ts +3 -3
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.cjs +1 -1
- package/dist/ui/breadcrumb.cjs.map +1 -1
- package/dist/ui/breadcrumb.d.cts +7 -7
- package/dist/ui/breadcrumb.d.ts +9 -9
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/breadcrumb.js.map +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.cjs.map +1 -1
- package/dist/ui/buttons/edit.js +1 -1
- package/dist/ui/buttons/edit.js.map +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.cjs.map +1 -1
- package/dist/ui/buttons/trash.js +1 -1
- package/dist/ui/buttons/trash.js.map +1 -1
- package/dist/ui/buttons/upload-image.cjs +1 -1
- package/dist/ui/buttons/upload-image.cjs.map +1 -1
- package/dist/ui/buttons/upload-image.js +1 -1
- package/dist/ui/buttons/upload-image.js.map +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +5 -5
- package/dist/ui/calendar.d.ts +5 -5
- package/dist/ui/calendar.js +1 -1
- package/dist/ui/card.cjs +1 -1
- package/dist/ui/card.d.cts +8 -9
- package/dist/ui/card.d.ts +8 -9
- package/dist/ui/card.js +1 -1
- package/dist/ui/carousel.cjs +1 -1
- package/dist/ui/carousel.cjs.map +1 -1
- package/dist/ui/carousel.d.cts +8 -8
- package/dist/ui/carousel.d.ts +8 -8
- package/dist/ui/carousel.js +1 -1
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/collapsible.cjs.map +1 -1
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.ts +4 -4
- package/dist/ui/collapsible.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/ui/context-menu.d.cts +17 -17
- package/dist/ui/context-menu.d.ts +17 -17
- package/dist/ui/context-menu.js +1 -1
- package/dist/ui/context-menu.js.map +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 +17 -18
- package/dist/ui/dropdown-menu.d.ts +17 -18
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/file-uploader.cjs +2 -2
- package/dist/ui/file-uploader.cjs.map +1 -1
- package/dist/ui/file-uploader.d.cts +5 -5
- package/dist/ui/file-uploader.d.ts +5 -5
- package/dist/ui/file-uploader.js +2 -2
- package/dist/ui/file-uploader.js.map +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.map +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.map +1 -1
- package/dist/ui/input-otp.cjs.map +1 -1
- package/dist/ui/input-otp.d.cts +6 -6
- package/dist/ui/input-otp.d.ts +6 -6
- package/dist/ui/input-otp.js.map +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 +3 -3
- 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.cjs.map +1 -1
- package/dist/ui/menubar.d.cts +18 -18
- package/dist/ui/menubar.d.ts +18 -18
- package/dist/ui/menubar.js +1 -1
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.d.cts +4 -4
- package/dist/ui/multi-select.d.ts +4 -4
- package/dist/ui/multi-select.js +1 -1
- package/dist/ui/navigation-menu.cjs +1 -1
- package/dist/ui/navigation-menu.cjs.map +1 -1
- package/dist/ui/navigation-menu.d.cts +9 -9
- package/dist/ui/navigation-menu.d.ts +9 -9
- package/dist/ui/navigation-menu.js +1 -1
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/pagination.cjs +1 -1
- package/dist/ui/pagination.cjs.map +1 -1
- package/dist/ui/pagination.d.cts +10 -10
- package/dist/ui/pagination.d.ts +10 -10
- package/dist/ui/pagination.js +1 -1
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +5 -7
- package/dist/ui/popover.d.ts +5 -7
- 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.cjs.map +1 -1
- package/dist/ui/radio-group.d.ts +3 -3
- package/dist/ui/radio-group.js +1 -1
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/resizable.cjs.map +1 -1
- package/dist/ui/resizable.d.cts +4 -4
- package/dist/ui/resizable.d.ts +4 -4
- package/dist/ui/resizable.js.map +1 -1
- package/dist/ui/scroll-area.d.cts +3 -3
- package/dist/ui/scroll-area.d.ts +3 -3
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +12 -13
- package/dist/ui/select.d.ts +12 -13
- 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 +10 -11
- package/dist/ui/sheet.d.ts +10 -11
- package/dist/ui/sheet.js +1 -1
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.d.cts +41 -41
- package/dist/ui/sidebar.d.ts +41 -41
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/skeleton.cjs +1 -1
- package/dist/ui/skeleton.d.cts +2 -3
- package/dist/ui/skeleton.d.ts +2 -3
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/slider.cjs.map +1 -1
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/sonner.cjs +1 -1
- package/dist/ui/sonner.cjs.map +1 -1
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/sonner.js +1 -1
- package/dist/ui/sonner.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/ui/tabs.d.cts +5 -6
- package/dist/ui/tabs.d.ts +0 -1
- package/dist/ui/tabs.js +1 -1
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +3 -3
- package/dist/ui/textarea.d.ts +3 -3
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.cjs +1 -1
- package/dist/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/toggle-group.d.cts +4 -4
- package/dist/ui/toggle-group.d.ts +5 -5
- package/dist/ui/toggle-group.js +1 -1
- package/dist/ui/toggle-group.js.map +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.map +1 -1
- package/dist/utils-D9AH0PUV.js.map +1 -1
- package/package.json +23 -2
- package/packages/components/cards/simple-card.tsx +11 -25
- package/packages/components/data-display/country.tsx +34 -40
- package/packages/components/data-display/data-list.tsx +15 -24
- package/packages/components/data-display/date-tooltip.tsx +9 -23
- package/packages/components/data-display/date.tsx +90 -148
- package/packages/components/data-display/empty.tsx +8 -20
- package/packages/components/data-display/name.tsx +9 -11
- package/packages/components/data-display/phone-number.tsx +7 -15
- package/packages/components/data-display/role-badge.tsx +21 -25
- package/packages/components/data-display/statistic.tsx +61 -63
- package/packages/components/dialogs/confirm-dialog.tsx +12 -19
- package/packages/components/dialogs/detail-dialog/component/header.tsx +3 -7
- package/packages/components/dialogs/detail-dialog/component/main.tsx +15 -19
- package/packages/components/dialogs/detail-dialog/component/sidebar.tsx +256 -385
- package/packages/components/dialogs/detail-dialog/component/wrapper.tsx +6 -8
- package/packages/components/dialogs/detail-dialog/index.tsx +26 -35
- package/packages/components/dialogs/error-dialog.tsx +14 -28
- package/packages/components/dialogs/form-dialog.tsx +27 -59
- package/packages/components/dialogs/loading-dialog.tsx +8 -11
- package/packages/components/forms/combobox-field.tsx +44 -81
- package/packages/components/forms/date-field.tsx +2 -5
- package/packages/components/forms/form-wrapper.tsx +45 -71
- package/packages/components/forms/multi-select-field.tsx +2 -2
- package/packages/components/forms/number-field.tsx +1 -3
- package/packages/components/forms/password-field.tsx +1 -1
- package/packages/components/forms/select-field.tsx +1 -1
- package/packages/components/forms/switch-field.tsx +2 -4
- package/packages/components/forms/text-field.tsx +3 -10
- package/packages/components/forms/textarea-field.tsx +3 -11
- package/packages/components/layouts/flex.tsx +55 -66
- package/packages/components/layouts/main/content.tsx +3 -3
- package/packages/components/layouts/main/header.tsx +15 -27
- package/packages/components/layouts/main/wrapper.tsx +3 -3
- package/packages/components/styles/base.css +29 -0
- package/packages/components/styles/loader.css +113 -0
- package/packages/components/styles/theme.css +103 -0
- package/packages/components/styles/typography.css +6 -0
- package/packages/components/table/data-table-pagination.tsx +15 -44
- package/packages/components/table/data-table.tsx +86 -173
- package/packages/components/table/index.tsx +31 -50
- package/packages/components/typography/paragraph.tsx +18 -21
- package/packages/components/typography/title.tsx +23 -28
- package/packages/components/ui/alert-dialog.tsx +44 -118
- package/packages/components/ui/alert.tsx +19 -46
- package/packages/components/ui/aspect-ratio.tsx +7 -16
- package/packages/components/ui/avatar.tsx +12 -39
- package/packages/components/ui/badge.tsx +35 -41
- package/packages/components/ui/breadcrumb.tsx +26 -62
- package/packages/components/ui/button.tsx +163 -46
- package/packages/components/ui/buttons/add-new.tsx +9 -16
- package/packages/components/ui/buttons/edit.tsx +7 -13
- package/packages/components/ui/buttons/refresh.tsx +10 -21
- package/packages/components/ui/buttons/trash.tsx +7 -13
- package/packages/components/ui/buttons/upload-image.tsx +10 -13
- package/packages/components/ui/calendar.tsx +56 -124
- package/packages/components/ui/card.tsx +21 -72
- package/packages/components/ui/carousel.tsx +79 -133
- package/packages/components/ui/checkbox.tsx +19 -29
- package/packages/components/ui/collapsible.tsx +10 -26
- package/packages/components/ui/command.tsx +65 -144
- package/packages/components/ui/context-menu.tsx +48 -110
- package/packages/components/ui/dialog.tsx +55 -110
- package/packages/components/ui/dropdown-menu.tsx +100 -169
- package/packages/components/ui/file-uploader.tsx +93 -151
- package/packages/components/ui/form.tsx +51 -115
- package/packages/components/ui/hover-card.tsx +12 -23
- package/packages/components/ui/input-otp.tsx +20 -29
- package/packages/components/ui/input.tsx +34 -34
- package/packages/components/ui/inputs/number-input.tsx +5 -13
- package/packages/components/ui/inputs/password-input.tsx +2 -8
- package/packages/components/ui/inputs/search-input.tsx +7 -7
- package/packages/components/ui/label.tsx +14 -17
- package/packages/components/ui/menubar.tsx +46 -109
- package/packages/components/ui/multi-select.tsx +250 -317
- package/packages/components/ui/navigation-menu.tsx +34 -80
- package/packages/components/ui/pagination.tsx +28 -86
- package/packages/components/ui/popover.tsx +28 -43
- package/packages/components/ui/progress.tsx +8 -19
- package/packages/components/ui/radio-group.tsx +19 -36
- package/packages/components/ui/resizable.tsx +14 -22
- package/packages/components/ui/scroll-area.tsx +14 -30
- package/packages/components/ui/select.tsx +94 -141
- package/packages/components/ui/separator.tsx +11 -13
- package/packages/components/ui/sheet.tsx +62 -98
- package/packages/components/ui/sidebar.tsx +287 -363
- package/packages/components/ui/skeleton.tsx +5 -12
- package/packages/components/ui/slider.tsx +11 -28
- package/packages/components/ui/sonner.tsx +20 -23
- package/packages/components/ui/switch.tsx +28 -34
- package/packages/components/ui/table.tsx +28 -80
- package/packages/components/ui/tabs.tsx +29 -61
- package/packages/components/ui/textarea.tsx +23 -24
- package/packages/components/ui/toggle-group.tsx +19 -28
- package/packages/components/ui/toggle.tsx +16 -29
- package/packages/components/ui/tooltip.tsx +26 -44
- package/packages/constants.tsx +16 -50
- package/packages/hooks/use-callback-ref.ts +7 -12
- package/packages/hooks/use-controllable-state.ts +37 -46
- package/packages/hooks/use-mobile.ts +11 -13
- package/packages/index.css +121 -381
- package/packages/lib/utils.ts +12 -16
- package/packages/stories/1.Guideline.mdx +3 -0
- package/packages/stories/2.Colors.mdx +145 -0
- package/packages/stories/3.Pypography.mdx +51 -0
- package/packages/stories/cards/simple-card.stories.tsx +24 -0
- package/packages/stories/data-display/data-list.stories.tsx +22 -0
- package/packages/stories/data-display/empty.stories.tsx +13 -0
- package/packages/stories/data-display/form-dialog.stories.tsx +27 -0
- package/packages/stories/data-display/name.stories.tsx +25 -0
- package/packages/stories/data-display/phone-number.stories.tsx +17 -0
- package/packages/stories/data-display/statistic.stories.tsx +41 -0
- package/packages/stories/dialogs/confirm-dialog.stories.tsx +26 -0
- package/packages/stories/dialogs/detail-dialog.stories.tsx +34 -0
- package/packages/stories/dialogs/error-dialog.stories.tsx +27 -0
- package/packages/stories/dialogs/loading-dialog.stories.tsx +16 -0
- package/packages/stories/forms/combobox-field.stories.tsx +38 -0
- package/packages/stories/forms/form-wrapper.stories.tsx +59 -0
- package/packages/stories/forms/multi-select-field.stories.tsx +42 -0
- package/packages/stories/forms/number-field.stories.tsx +35 -0
- package/packages/stories/forms/select-field.stories.tsx +39 -0
- package/packages/stories/forms/switch-field.stories.tsx +36 -0
- package/packages/stories/forms/text-field.stories.tsx +41 -0
- package/packages/stories/forms/textarea-field.stories.tsx +34 -0
- package/packages/stories/typography/paragraph.stories.tsx +45 -0
- package/packages/stories/typography/title.stories.tsx +39 -0
- package/packages/stories/ui/alert-dialog.stories.tsx +49 -0
- package/packages/stories/ui/alert.stories.tsx +63 -0
- package/packages/stories/ui/aspect-ratio.stories.tsx +22 -0
- package/packages/stories/ui/badge.stories.tsx +170 -0
- package/packages/stories/ui/breadcrumb.stories.tsx +172 -0
- package/packages/stories/ui/button.stories.tsx +181 -0
- package/packages/stories/ui/card.stories.tsx +58 -0
- package/packages/stories/ui/checkbox.stories.tsx +48 -0
- package/packages/stories/ui/command.stories.tsx +58 -0
- package/packages/stories/ui/dialog.stories.tsx +55 -0
- package/packages/stories/ui/dropdown-menu.stories.tsx +89 -0
- package/packages/stories/ui/file-uploader.stories.tsx +18 -0
- package/packages/stories/ui/input.stories.tsx +38 -0
- package/packages/stories/ui/label.stories.tsx +17 -0
- package/packages/stories/ui/multi-select.stories.tsx +29 -0
- package/packages/stories/ui/popover.stories.tsx +52 -0
- package/packages/stories/ui/progress.stories.tsx +17 -0
- package/packages/stories/ui/radio-group.stories.tsx +31 -0
- package/packages/stories/ui/select.stories.tsx +31 -0
- package/packages/stories/ui/separator.stories.tsx +31 -0
- package/packages/stories/ui/sheet.stories.tsx +50 -0
- package/packages/stories/ui/skeleton.stories.tsx +27 -0
- package/packages/stories/ui/switch.stories.tsx +21 -0
- package/packages/stories/ui/table.stories.tsx +82 -0
- package/packages/stories/ui/tabs.stories.tsx +70 -0
- package/packages/stories/ui/textarea.stories.tsx +15 -0
- package/packages/stories/ui/toaster.stories.tsx +87 -0
- package/packages/types.ts +32 -32
- package/dist/add-new-BTpI7Ph7.cjs.map +0 -1
- package/dist/add-new-DmwkHRmn.js +0 -2
- package/dist/add-new-DmwkHRmn.js.map +0 -1
- package/dist/alert-dialog-6r43mVE-.js +0 -2
- package/dist/alert-dialog-6r43mVE-.js.map +0 -1
- package/dist/alert-dialog-DEOx5Psb.cjs +0 -2
- package/dist/alert-dialog-DEOx5Psb.cjs.map +0 -1
- package/dist/badge-DHRQ-uwY.cjs.map +0 -1
- package/dist/badge-bLqn3EB9.js.map +0 -1
- package/dist/button-BgNGzTUH.cjs +0 -2
- package/dist/button-BgNGzTUH.cjs.map +0 -1
- package/dist/button-CqGv362j.d.cts +0 -23
- package/dist/button-DFvetIX8.js +0 -2
- package/dist/button-DFvetIX8.js.map +0 -1
- package/dist/calendar-BG-jrCZc.js.map +0 -1
- package/dist/calendar-Cck0PPMB.cjs.map +0 -1
- package/dist/card-D8cxRC5y.js +0 -2
- package/dist/card-D8cxRC5y.js.map +0 -1
- package/dist/card-Dta5eW8u.cjs +0 -2
- package/dist/card-Dta5eW8u.cjs.map +0 -1
- package/dist/command-Bfx_Gzjv.cjs +0 -2
- package/dist/command-Bfx_Gzjv.cjs.map +0 -1
- package/dist/command-ClNBSZd3.js +0 -2
- package/dist/command-ClNBSZd3.js.map +0 -1
- package/dist/date-B1g1OMYc.js.map +0 -1
- package/dist/date-Cw6Jf7k6.cjs.map +0 -1
- package/dist/dialog-Bh4dL0ew.cjs +0 -2
- package/dist/dialog-Bh4dL0ew.cjs.map +0 -1
- package/dist/dialog-CzSIPgHw.js +0 -2
- package/dist/dialog-CzSIPgHw.js.map +0 -1
- package/dist/dropdown-menu-DTFOCPH_.js +0 -2
- package/dist/dropdown-menu-DTFOCPH_.js.map +0 -1
- package/dist/dropdown-menu-qX11mJ9V.cjs +0 -2
- package/dist/dropdown-menu-qX11mJ9V.cjs.map +0 -1
- package/dist/error-dialog-Dg_OHJlH.js.map +0 -1
- package/dist/error-dialog-OeWIgIvF.cjs.map +0 -1
- package/dist/flex-B5MQmxX8.cjs.map +0 -1
- package/dist/flex-CBAzUoXK.js.map +0 -1
- package/dist/form-BMnG2xLt.js.map +0 -1
- package/dist/form-BbU1TIro.cjs.map +0 -1
- package/dist/form-wrapper-DeSGl64P.cjs.map +0 -1
- package/dist/form-wrapper-wHzrskjb.js.map +0 -1
- package/dist/input-B030EUY5.js +0 -2
- package/dist/input-B030EUY5.js.map +0 -1
- package/dist/input-mUjZrK2c.cjs +0 -2
- package/dist/input-mUjZrK2c.cjs.map +0 -1
- package/dist/label-BrGRueFm.js +0 -2
- package/dist/label-BrGRueFm.js.map +0 -1
- package/dist/label-Cmi31X9c.cjs +0 -2
- package/dist/label-Cmi31X9c.cjs.map +0 -1
- package/dist/multi-select-BOmq9vOB.cjs +0 -2
- package/dist/multi-select-BOmq9vOB.cjs.map +0 -1
- package/dist/multi-select-CEU50SQU.js +0 -2
- package/dist/multi-select-CEU50SQU.js.map +0 -1
- package/dist/paragraph-CuR_8J0O.js +0 -2
- package/dist/paragraph-CuR_8J0O.js.map +0 -1
- package/dist/paragraph-D-nYwoh7.cjs +0 -2
- package/dist/paragraph-D-nYwoh7.cjs.map +0 -1
- package/dist/popover-BD0lz8Fh.cjs +0 -2
- package/dist/popover-BD0lz8Fh.cjs.map +0 -1
- package/dist/popover-DJnARyyO.js +0 -2
- package/dist/popover-DJnARyyO.js.map +0 -1
- package/dist/progress-Bu1_efDo.cjs +0 -2
- package/dist/progress-Bu1_efDo.cjs.map +0 -1
- package/dist/progress-CeXKNvJc.js +0 -2
- package/dist/progress-CeXKNvJc.js.map +0 -1
- package/dist/refresh-H87p0PFk.cjs.map +0 -1
- package/dist/refresh-h_6T8REa.js +0 -2
- package/dist/refresh-h_6T8REa.js.map +0 -1
- package/dist/search-input-BUIwdK4e.js.map +0 -1
- package/dist/search-input-DXh-cAVU.cjs.map +0 -1
- package/dist/select-C82socRt.cjs +0 -2
- package/dist/select-C82socRt.cjs.map +0 -1
- package/dist/select-pBujVa9I.js +0 -2
- package/dist/select-pBujVa9I.js.map +0 -1
- package/dist/separator-Bi0LBh7T.cjs +0 -2
- package/dist/separator-Bi0LBh7T.cjs.map +0 -1
- package/dist/separator-DMdqEz29.js +0 -2
- package/dist/separator-DMdqEz29.js.map +0 -1
- package/dist/sheet-2JqHfdYi.js +0 -2
- package/dist/sheet-2JqHfdYi.js.map +0 -1
- package/dist/sheet-CjCT1GXK.cjs +0 -2
- package/dist/sheet-CjCT1GXK.cjs.map +0 -1
- package/dist/sidebar-99vu8Xl2.cjs +0 -2
- package/dist/sidebar-99vu8Xl2.cjs.map +0 -1
- package/dist/sidebar-Ci1XCkoo.cjs +0 -2
- package/dist/sidebar-Ci1XCkoo.cjs.map +0 -1
- package/dist/sidebar-acyFs4AU.js +0 -2
- package/dist/sidebar-acyFs4AU.js.map +0 -1
- package/dist/sidebar-b8PM_MQy.js +0 -2
- package/dist/sidebar-b8PM_MQy.js.map +0 -1
- package/dist/skeleton-D1_Brnl9.js +0 -2
- package/dist/skeleton-D1_Brnl9.js.map +0 -1
- package/dist/skeleton-DkSs2Vh3.cjs +0 -2
- package/dist/skeleton-DkSs2Vh3.cjs.map +0 -1
- package/dist/switch-CF4DRW_3.cjs +0 -2
- package/dist/switch-CF4DRW_3.cjs.map +0 -1
- package/dist/switch-_VCthKr7.js +0 -2
- package/dist/switch-_VCthKr7.js.map +0 -1
- package/dist/table-B7URcTid.cjs +0 -2
- package/dist/table-B7URcTid.cjs.map +0 -1
- package/dist/table-DrnU8YJP.js +0 -2
- package/dist/table-DrnU8YJP.js.map +0 -1
- package/dist/textarea--5AtST9C.js +0 -2
- package/dist/textarea--5AtST9C.js.map +0 -1
- package/dist/textarea-pwK3zC15.cjs +0 -2
- package/dist/textarea-pwK3zC15.cjs.map +0 -1
- package/dist/title-CA6PvqiD.js.map +0 -1
- package/dist/title-DrIfj31i.cjs.map +0 -1
- package/dist/toggle-BA0PLIVa.js.map +0 -1
- package/dist/toggle-Ddewmqst.cjs.map +0 -1
- package/dist/tooltip-CG3D3TIL.cjs +0 -2
- package/dist/tooltip-CG3D3TIL.cjs.map +0 -1
- package/dist/tooltip-DvNio7Zt.js +0 -2
- package/dist/tooltip-DvNio7Zt.js.map +0 -1
- package/dist/types-BVNbk1ZN.js.map +0 -1
- package/dist/types-CnMfjcgO.cjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./alert-dialog-
|
|
2
|
-
//# sourceMappingURL=error-dialog-
|
|
1
|
+
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./alert-dialog-D-oR0YW3.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`lucide-react`)),a=({open:e,title:a,children:o,onOpenChange:s})=>{let c=n.default.useCallback(()=>{s?.(!1)},[s]);return(0,r.jsx)(t.AlertDialog,{open:e,onOpenChange:s,children:(0,r.jsxs)(t.AlertDialogContent,{className:`gap-8 p-4 sm:max-w-md`,children:[(0,r.jsx)(t.AlertDialogHeader,{children:(0,r.jsxs)(`div`,{className:`text-destructive flex flex-col items-center`,children:[(0,r.jsx)(i.AlertTriangleIcon,{size:42}),(0,r.jsx)(t.AlertDialogTitle,{className:`text-xl font-medium`,children:a||`An error occurred`})]})}),o,(0,r.jsx)(t.AlertDialogFooter,{children:(0,r.jsx)(t.AlertDialogAction,{className:`w-28`,onClick:c,children:`Đóng`})})]})})};Object.defineProperty(exports,`ErrorDialog`,{enumerable:!0,get:function(){return a}});
|
|
2
|
+
//# sourceMappingURL=error-dialog-D5R5le-W.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-dialog-D5R5le-W.cjs","names":["ErrorDialog: React.FC<React.PropsWithChildren<Props>>","React","AlertDialog","AlertDialogContent","AlertDialogHeader","AlertTriangleIcon","AlertDialogTitle","AlertDialogFooter","AlertDialogAction"],"sources":["../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["import React from 'react'\nimport { AlertTriangleIcon } from 'lucide-react'\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog'\n\ntype Props = {\n open?: boolean\n title?: string\n description?: string\n onOpenChange?: (open: boolean) => void\n}\nexport const ErrorDialog: React.FC<React.PropsWithChildren<Props>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false)\n }, [onOpenChange])\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"text-destructive flex flex-col items-center\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-28\" onClick={handleClose}>\n Đóng\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n"],"mappings":"8LAWaA,GAAyD,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAChH,IAAM,EAAcC,EAAAA,QAAM,gBAAkB,CAC1C,IAAe,KACd,CAAC,IACJ,OACE,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAkB,OAAoB,yBACrC,EAAA,EAAA,MAACC,EAAAA,mBAAAA,CAAmB,UAAU,mCAC5B,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,yDACb,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,KAAM,MACzB,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CAAiB,UAAU,+BAAuB,GAAS,2BAG/D,GACD,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,UAAU,OAAO,QAAS,WAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"./alert-dialog-
|
|
2
|
-
//# sourceMappingURL=error-dialog-
|
|
1
|
+
import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"./alert-dialog-CNHyP_A9.js";import o from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{AlertTriangleIcon as l}from"lucide-react";const u=({open:u,title:d,children:f,onOpenChange:p})=>{let m=o.useCallback(()=>{p?.(!1)},[p]);return s(e,{open:u,onOpenChange:p,children:c(n,{className:`gap-8 p-4 sm:max-w-md`,children:[s(i,{children:c(`div`,{className:`text-destructive flex flex-col items-center`,children:[s(l,{size:42}),s(a,{className:`text-xl font-medium`,children:d||`An error occurred`})]})}),f,s(r,{children:s(t,{className:`w-28`,onClick:m,children:`Đóng`})})]})})};export{u as ErrorDialog};
|
|
2
|
+
//# sourceMappingURL=error-dialog-Q99thrSD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-dialog-Q99thrSD.js","names":["ErrorDialog: React.FC<React.PropsWithChildren<Props>>"],"sources":["../packages/components/dialogs/error-dialog.tsx"],"sourcesContent":["import React from 'react'\nimport { AlertTriangleIcon } from 'lucide-react'\n\nimport { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from '../ui/alert-dialog'\n\ntype Props = {\n open?: boolean\n title?: string\n description?: string\n onOpenChange?: (open: boolean) => void\n}\nexport const ErrorDialog: React.FC<React.PropsWithChildren<Props>> = ({ open, title, children, onOpenChange }) => {\n const handleClose = React.useCallback(() => {\n onOpenChange?.(false)\n }, [onOpenChange])\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"gap-8 p-4 sm:max-w-md\">\n <AlertDialogHeader>\n <div className=\"text-destructive flex flex-col items-center\">\n <AlertTriangleIcon size={42} />\n <AlertDialogTitle className=\"text-xl font-medium\">{title || 'An error occurred'}</AlertDialogTitle>\n </div>\n </AlertDialogHeader>\n {children}\n <AlertDialogFooter>\n <AlertDialogAction className=\"w-28\" onClick={handleClose}>\n Đóng\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n"],"mappings":"oSAWA,MAAaA,GAAyD,CAAE,OAAM,QAAO,WAAU,kBAAmB,CAChH,IAAM,EAAc,EAAM,gBAAkB,CAC1C,IAAe,KACd,CAAC,IACJ,OACE,EAAC,EAAA,CAAkB,OAAoB,wBACrC,EAAC,EAAA,CAAmB,UAAU,kCAC5B,EAAC,EAAA,CAAA,SACC,EAAC,MAAA,CAAI,UAAU,wDACb,EAAC,EAAA,CAAkB,KAAM,KACzB,EAAC,EAAA,CAAiB,UAAU,+BAAuB,GAAS,2BAG/D,EACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAkB,UAAU,OAAO,QAAS,WAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`class-variance-authority`)),a=(0,i.cva)([`relative flex`,`text-sm`],{variants:{vertical:{true:`flex-col`,false:`flex-row`},width:{full:`w-full`,auto:`w-auto`,fit:`w-fit`,screen:`w-screen`,min:`w-min`,max:`w-max`},wrap:{true:`flex-wrap`,false:`flex-nowrap`},margin:{sm:`m-2`,md:`m-4`,lg:`m-6`,xl:`m-8`,none:`m-0`},padding:{sm:`p-2`,md:`p-4`,lg:`p-6`,xl:`p-8`,none:`p-0`},gap:{xs:`gap-1`,sm:`gap-2`,md:`gap-4`,lg:`gap-6`,xl:`gap-8`,none:`gap-0`},justify:{start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`,stretch:`justify-stretch`},align:{start:`items-start`,center:`items-center`,end:`items-end`,baseline:`items-baseline`,stretch:`items-stretch`}},defaultVariants:{vertical:!1,wrap:!0,width:`fit`,margin:`none`,padding:`sm`,gap:`xs`,justify:`start`,align:`center`}}),o=({vertical:e,wrap:n,width:i,margin:o,padding:s,gap:c,justify:l,align:u,className:d,children:f})=>(0,r.jsx)(`div`,{className:t.cn(a({vertical:e,width:i,wrap:n,margin:o,padding:s,gap:c,justify:l,align:u,className:d})),children:f});Object.defineProperty(exports,`Flex`,{enumerable:!0,get:function(){return o}});
|
|
2
|
-
//# sourceMappingURL=flex-
|
|
2
|
+
//# sourceMappingURL=flex-CNA_SId-.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-CNA_SId-.cjs","names":["cn"],"sources":["../packages/components/layouts/flex.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\nconst flexVariants = cva(['relative flex', 'text-sm'], {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n width: {\n full: 'w-full',\n auto: 'w-auto',\n fit: 'w-fit',\n screen: 'w-screen',\n min: 'w-min',\n max: 'w-max',\n },\n wrap: {\n true: 'flex-wrap',\n false: 'flex-nowrap',\n },\n margin: {\n sm: 'm-2',\n md: 'm-4',\n lg: 'm-6',\n xl: 'm-8',\n none: 'm-0',\n },\n padding: {\n sm: 'p-2',\n md: 'p-4',\n lg: 'p-6',\n xl: 'p-8',\n none: 'p-0',\n },\n gap: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n none: 'gap-0',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n stretch: 'justify-stretch',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n },\n },\n defaultVariants: {\n vertical: false,\n wrap: true,\n width: 'fit',\n margin: 'none',\n padding: 'sm',\n gap: 'xs',\n justify: 'start',\n align: 'center',\n },\n})\n\ntype Props = {\n className?: string\n} & VariantProps<typeof flexVariants>\nexport const Flex = ({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => {\n return (\n <div\n className={cn(\n flexVariants({\n vertical,\n width,\n wrap,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n }),\n )}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"mMAMM,GAAA,EAAA,EAAA,KAAmB,CAAC,gBAAiB,WAAY,CACrD,SAAU,CACR,SAAU,CACR,KAAM,WACN,MAAO,YAET,MAAO,CACL,KAAM,SACN,KAAM,SACN,IAAK,QACL,OAAQ,WACR,IAAK,QACL,IAAK,SAEP,KAAM,CACJ,KAAM,YACN,MAAO,eAET,OAAQ,CACN,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,QAAS,CACP,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,IAAK,CACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,KAAM,SAER,QAAS,CACP,MAAO,gBACP,OAAQ,iBACR,IAAK,cACL,QAAS,kBACT,OAAQ,iBACR,OAAQ,iBACR,QAAS,mBAEX,MAAO,CACL,MAAO,cACP,OAAQ,eACR,IAAK,YACL,SAAU,iBACV,QAAS,kBAGb,gBAAiB,CACf,SAAU,GACV,KAAM,GACN,MAAO,MACP,OAAQ,OACR,QAAS,KACT,IAAK,KACL,QAAS,QACT,MAAO,YAOE,GAAQ,CAAE,WAAU,OAAM,QAAO,SAAQ,UAAS,MAAK,UAAS,QAAO,YAAW,eAE3F,EAAA,EAAA,KAAC,MAAA,CACC,UAAWA,EAAAA,GACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r([`relative flex`,`text-sm`],{variants:{vertical:{true:`flex-col`,false:`flex-row`},width:{full:`w-full`,auto:`w-auto`,fit:`w-fit`,screen:`w-screen`,min:`w-min`,max:`w-max`},wrap:{true:`flex-wrap`,false:`flex-nowrap`},margin:{sm:`m-2`,md:`m-4`,lg:`m-6`,xl:`m-8`,none:`m-0`},padding:{sm:`p-2`,md:`p-4`,lg:`p-6`,xl:`p-8`,none:`p-0`},gap:{xs:`gap-1`,sm:`gap-2`,md:`gap-4`,lg:`gap-6`,xl:`gap-8`,none:`gap-0`},justify:{start:`justify-start`,center:`justify-center`,end:`justify-end`,between:`justify-between`,around:`justify-around`,evenly:`justify-evenly`,stretch:`justify-stretch`},align:{start:`items-start`,center:`items-center`,end:`items-end`,baseline:`items-baseline`,stretch:`items-stretch`}},defaultVariants:{vertical:!1,wrap:!0,width:`fit`,margin:`none`,padding:`sm`,gap:`xs`,justify:`start`,align:`center`}}),a=({vertical:t,wrap:r,width:a,margin:o,padding:s,gap:c,justify:l,align:u,className:d,children:f})=>n(`div`,{className:e(i({vertical:t,width:a,wrap:r,margin:o,padding:s,gap:c,justify:l,align:u,className:d})),children:f});export{a as Flex};
|
|
2
|
-
//# sourceMappingURL=flex-
|
|
2
|
+
//# sourceMappingURL=flex-ILvQrYMJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-ILvQrYMJ.js","names":[],"sources":["../packages/components/layouts/flex.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\nconst flexVariants = cva(['relative flex', 'text-sm'], {\n variants: {\n vertical: {\n true: 'flex-col',\n false: 'flex-row',\n },\n width: {\n full: 'w-full',\n auto: 'w-auto',\n fit: 'w-fit',\n screen: 'w-screen',\n min: 'w-min',\n max: 'w-max',\n },\n wrap: {\n true: 'flex-wrap',\n false: 'flex-nowrap',\n },\n margin: {\n sm: 'm-2',\n md: 'm-4',\n lg: 'm-6',\n xl: 'm-8',\n none: 'm-0',\n },\n padding: {\n sm: 'p-2',\n md: 'p-4',\n lg: 'p-6',\n xl: 'p-8',\n none: 'p-0',\n },\n gap: {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-4',\n lg: 'gap-6',\n xl: 'gap-8',\n none: 'gap-0',\n },\n justify: {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n stretch: 'justify-stretch',\n },\n align: {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n },\n },\n defaultVariants: {\n vertical: false,\n wrap: true,\n width: 'fit',\n margin: 'none',\n padding: 'sm',\n gap: 'xs',\n justify: 'start',\n align: 'center',\n },\n})\n\ntype Props = {\n className?: string\n} & VariantProps<typeof flexVariants>\nexport const Flex = ({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => {\n return (\n <div\n className={cn(\n flexVariants({\n vertical,\n width,\n wrap,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n }),\n )}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"qJAMA,MAAM,EAAe,EAAI,CAAC,gBAAiB,WAAY,CACrD,SAAU,CACR,SAAU,CACR,KAAM,WACN,MAAO,YAET,MAAO,CACL,KAAM,SACN,KAAM,SACN,IAAK,QACL,OAAQ,WACR,IAAK,QACL,IAAK,SAEP,KAAM,CACJ,KAAM,YACN,MAAO,eAET,OAAQ,CACN,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,QAAS,CACP,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,KAAM,OAER,IAAK,CACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,KAAM,SAER,QAAS,CACP,MAAO,gBACP,OAAQ,iBACR,IAAK,cACL,QAAS,kBACT,OAAQ,iBACR,OAAQ,iBACR,QAAS,mBAEX,MAAO,CACL,MAAO,cACP,OAAQ,eACR,IAAK,YACL,SAAU,iBACV,QAAS,kBAGb,gBAAiB,CACf,SAAU,GACV,KAAM,GACN,MAAO,MACP,OAAQ,OACR,QAAS,KACT,IAAK,KACL,QAAS,QACT,MAAO,YAOE,GAAQ,CAAE,WAAU,OAAM,QAAO,SAAQ,UAAS,MAAK,UAAS,QAAO,YAAW,cAE3F,EAAC,MAAA,CACC,UAAW,EACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=require(`./label-
|
|
2
|
-
//# sourceMappingURL=form-
|
|
1
|
+
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=require(`./label-B_2ZQn0X.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=e.__toESM(require(`radix-ui`)),o=e.__toESM(require(`react-hook-form`)),s=o.FormProvider,c=r.default.createContext({}),l=({...e})=>(0,i.jsx)(c.Provider,{value:{name:e.name},children:(0,i.jsx)(o.Controller,{...e})}),u=()=>{let e=r.default.useContext(c),t=r.default.useContext(d),{getFieldState:n,control:i,resetField:a}=(0,o.useFormContext)(),s=(0,o.useFormState)({name:e.name}),l=n(e.name,s);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:u}=t;return{id:u,control:i,resetField:a,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...l}},d=r.default.createContext({});function f({className:e,...n}){let a=r.default.useId();return(0,i.jsx)(d.Provider,{value:{id:a},children:(0,i.jsx)(`div`,{"data-slot":`form-item`,className:t.cn(`grid gap-1`,e),...n})})}function p({className:e,...r}){let{formItemId:a}=u();return(0,i.jsx)(n.Label,{"data-slot":`form-label`,className:t.cn(`text-xs`,e),htmlFor:a,...r})}function m({...e}){let{error:t,formItemId:n,formDescriptionId:r,formMessageId:o}=u();return(0,i.jsx)(a.Slot.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${r} ${o}`:`${r}`,"aria-invalid":!!t,...e})}function h({className:e,...n}){let{formDescriptionId:r}=u();return(0,i.jsx)(`p`,{"data-slot":`form-description`,id:r,className:t.cn(`text-text-positive-muted text-sm`,e),...n})}function g({className:e,children:n,...r}){let{error:a,formMessageId:o}=u();return(0,i.jsx)(`span`,{"data-slot":`form-message`,id:o,className:t.cn(`text-danger text-xs`,e),...r,children:a?String(a?.message??``):n})}Object.defineProperty(exports,`Form`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`FormControl`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`FormDescription`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`FormField`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`FormItem`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`FormLabel`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`FormMessage`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`useFormField`,{enumerable:!0,get:function(){return u}});
|
|
2
|
+
//# sourceMappingURL=form-CHs85hm6.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-CHs85hm6.cjs","names":["FormProvider","React","Controller","cn","Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext, useFormState } from 'react-hook-form'\nimport { Label as LabelPrimitive, Slot as SlotPrimitive } from 'radix-ui'\n\nimport { Label } from '@/components/ui/label'\nimport { cn } from '@/lib/utils'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, control, resetField } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n control,\n resetField,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn('grid gap-1', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField()\n return <Label data-slot=\"form-label\" className={cn('text-xs', className)} htmlFor={formItemId} {...props} />\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return <p data-slot=\"form-description\" id={formDescriptionId} className={cn('text-text-positive-muted text-sm', className)} {...props} />\n}\n\nfunction FormMessage({ className, children, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n\n return (\n <span data-slot=\"form-message\" id={formMessageId} className={cn('text-danger text-xs', className)} {...props}>\n {error ? String(error?.message ?? '') : children}\n </span>\n )\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField }\n"],"mappings":"6PAQM,EAAOA,EAAAA,aAMP,EAAmBC,EAAAA,QAAM,cAAqC,IAE9D,GAA8H,CAClI,GAAG,MAGD,EAAA,EAAA,KAAC,EAAiB,SAAA,CAAS,MAAO,CAAE,KAAM,EAAM,gBAC9C,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,GAAI,MAKhB,MAAqB,CACzB,IAAM,EAAeD,EAAAA,QAAM,WAAW,GAChC,EAAcA,EAAAA,QAAM,WAAW,GAC/B,CAAE,gBAAe,UAAS,eAAA,EAAA,EAAA,kBAC1B,GAAA,EAAA,EAAA,cAAyB,CAAE,KAAM,EAAa,OAC9C,EAAa,EAAc,EAAa,KAAM,GAEpD,GAAI,CAAC,EACH,MAAU,MAAM,kDAGlB,GAAM,CAAE,MAAO,EAEf,MAAO,CACL,KACA,UACA,aACA,KAAM,EAAa,KACnB,WAAY,GAAG,EAAG,YAClB,kBAAmB,GAAG,EAAG,wBACzB,cAAe,GAAG,EAAG,oBACrB,GAAG,IAQD,EAAkBA,EAAAA,QAAM,cAAoC,IAElE,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,IAAM,EAAKA,EAAAA,QAAM,QAEjB,OACE,EAAA,EAAA,KAAC,EAAgB,SAAA,CAAS,MAAO,CAAE,gBACjC,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,YAAY,UAAWE,EAAAA,GAAG,aAAc,GAAY,GAAI,MAK7E,SAAS,EAAU,CAAE,YAAW,GAAG,GAA2D,CAC5F,GAAM,CAAE,cAAe,IACvB,OAAO,EAAA,EAAA,KAACC,EAAAA,MAAAA,CAAM,YAAU,aAAa,UAAWD,EAAAA,GAAG,UAAW,GAAY,QAAS,EAAY,GAAI,IAGrG,SAAS,EAAY,CAAE,GAAG,GAA0D,CAClF,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAAkB,IAEhE,OACE,EAAA,EAAA,KAACE,EAAAA,KAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBAAmB,EAAiC,GAAG,EAAkB,GAAG,IAAjD,GAAG,IAC9B,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OAAO,EAAA,EAAA,KAAC,IAAA,CAAE,YAAU,mBAAmB,GAAI,EAAmB,UAAWF,EAAAA,GAAG,mCAAoC,GAAY,GAAI,IAGlI,SAAS,EAAY,CAAE,YAAW,WAAU,GAAG,GAAoC,CACjF,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAA,EAAA,KAAC,OAAA,CAAK,YAAU,eAAe,GAAI,EAAe,UAAWA,EAAAA,GAAG,sBAAuB,GAAY,GAAI,WACpG,EAAQ,OAAO,GAAO,SAAW,IAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"./utils-D9AH0PUV.js";import{Label as t}from"./label-
|
|
2
|
-
//# sourceMappingURL=form-
|
|
1
|
+
import{cn as e}from"./utils-D9AH0PUV.js";import{Label as t}from"./label-D1XmKlc3.js";import n from"react";import{jsx as r}from"react/jsx-runtime";import{Label as i,Slot as a}from"radix-ui";import{Controller as o,FormProvider as s,useFormContext as c,useFormState as l}from"react-hook-form";const u=s,d=n.createContext({}),f=({...e})=>r(d.Provider,{value:{name:e.name},children:r(o,{...e})}),p=()=>{let e=n.useContext(d),t=n.useContext(m),{getFieldState:r,control:i,resetField:a}=c(),o=l({name:e.name}),s=r(e.name,o);if(!e)throw Error(`useFormField should be used within <FormField>`);let{id:u}=t;return{id:u,control:i,resetField:a,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...s}},m=n.createContext({});function h({className:t,...i}){let a=n.useId();return r(m.Provider,{value:{id:a},children:r(`div`,{"data-slot":`form-item`,className:e(`grid gap-1`,t),...i})})}function g({className:n,...i}){let{formItemId:a}=p();return r(t,{"data-slot":`form-label`,className:e(`text-xs`,n),htmlFor:a,...i})}function _({...e}){let{error:t,formItemId:n,formDescriptionId:i,formMessageId:o}=p();return r(a.Slot,{"data-slot":`form-control`,id:n,"aria-describedby":t?`${i} ${o}`:`${i}`,"aria-invalid":!!t,...e})}function v({className:t,...n}){let{formDescriptionId:i}=p();return r(`p`,{"data-slot":`form-description`,id:i,className:e(`text-text-positive-muted text-sm`,t),...n})}function y({className:t,children:n,...i}){let{error:a,formMessageId:o}=p();return r(`span`,{"data-slot":`form-message`,id:o,className:e(`text-danger text-xs`,t),...i,children:a?String(a?.message??``):n})}export{u as Form,_ as FormControl,v as FormDescription,f as FormField,h as FormItem,g as FormLabel,y as FormMessage,p as useFormField};
|
|
2
|
+
//# sourceMappingURL=form-tabDlutX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-tabDlutX.js","names":["Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext, useFormState } from 'react-hook-form'\nimport { Label as LabelPrimitive, Slot as SlotPrimitive } from 'radix-ui'\n\nimport { Label } from '@/components/ui/label'\nimport { cn } from '@/lib/utils'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, control, resetField } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n control,\n resetField,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn('grid gap-1', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField()\n return <Label data-slot=\"form-label\" className={cn('text-xs', className)} htmlFor={formItemId} {...props} />\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return <p data-slot=\"form-description\" id={formDescriptionId} className={cn('text-text-positive-muted text-sm', className)} {...props} />\n}\n\nfunction FormMessage({ className, children, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n\n return (\n <span data-slot=\"form-message\" id={formMessageId} className={cn('text-danger text-xs', className)} {...props}>\n {error ? String(error?.message ?? '') : children}\n </span>\n )\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField }\n"],"mappings":"kSAQA,MAAM,EAAO,EAMP,EAAmB,EAAM,cAAqC,IAE9D,GAA8H,CAClI,GAAG,KAGD,EAAC,EAAiB,SAAA,CAAS,MAAO,CAAE,KAAM,EAAM,eAC9C,EAAC,EAAA,CAAW,GAAI,MAKhB,MAAqB,CACzB,IAAM,EAAe,EAAM,WAAW,GAChC,EAAc,EAAM,WAAW,GAC/B,CAAE,gBAAe,UAAS,cAAe,IACzC,EAAY,EAAa,CAAE,KAAM,EAAa,OAC9C,EAAa,EAAc,EAAa,KAAM,GAEpD,GAAI,CAAC,EACH,MAAU,MAAM,kDAGlB,GAAM,CAAE,MAAO,EAEf,MAAO,CACL,KACA,UACA,aACA,KAAM,EAAa,KACnB,WAAY,GAAG,EAAG,YAClB,kBAAmB,GAAG,EAAG,wBACzB,cAAe,GAAG,EAAG,oBACrB,GAAG,IAQD,EAAkB,EAAM,cAAoC,IAElE,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,IAAM,EAAK,EAAM,QAEjB,OACE,EAAC,EAAgB,SAAA,CAAS,MAAO,CAAE,eACjC,EAAC,MAAA,CAAI,YAAU,YAAY,UAAW,EAAG,aAAc,GAAY,GAAI,MAK7E,SAAS,EAAU,CAAE,YAAW,GAAG,GAA2D,CAC5F,GAAM,CAAE,cAAe,IACvB,OAAO,EAACA,EAAAA,CAAM,YAAU,aAAa,UAAW,EAAG,UAAW,GAAY,QAAS,EAAY,GAAI,IAGrG,SAAS,EAAY,CAAE,GAAG,GAA0D,CAClF,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAAkB,IAEhE,OACE,EAACC,EAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBAAmB,EAAiC,GAAG,EAAkB,GAAG,IAAjD,GAAG,IAC9B,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OAAO,EAAC,IAAA,CAAE,YAAU,mBAAmB,GAAI,EAAmB,UAAW,EAAG,mCAAoC,GAAY,GAAI,IAGlI,SAAS,EAAY,CAAE,YAAW,WAAU,GAAG,GAAoC,CACjF,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAC,OAAA,CAAK,YAAU,eAAe,GAAI,EAAe,UAAW,EAAG,sBAAuB,GAAY,GAAI,WACpG,EAAQ,OAAO,GAAO,SAAW,IAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=form-wrapper-
|
|
1
|
+
import{ErrorDialog as e}from"./error-dialog-Q99thrSD.js";import{Form as t}from"./form-tabDlutX.js";import n from"react";import{Fragment as r,jsx as i,jsxs as a}from"react/jsx-runtime";import{AlertCircleIcon as o}from"lucide-react";import{useForm as s}from"react-hook-form";import{ErrorMessage as c}from"@hookform/error-message";const l=({form:l,isResetAfterSubmit:u=!0,className:d,onSubmit:f,onError:p,onSubcribe:m,children:h})=>{let g=s({...l,criteriaMode:`all`}),{formState:_,reset:v,handleSubmit:y,subscribe:b}=g,{dirtyFields:x}=_,[S,C]=n.useState(!1),w=n.useCallback(e=>{f(e,_,x),u&&v()},[x,_,u,f,v]),T=n.useCallback(e=>{let t=Object.keys(e);t.length!==0&&(p?.(e),C(!0))},[p]);return n.useEffect(()=>{if(!m)return;let e=b({formState:{values:!0},callback:({values:e})=>{m(e)}});return()=>e()},[m,b]),a(t,{...g,children:[i(`form`,{className:d,onSubmit:y(w,T),children:h}),i(e,{open:S,title:`Lỗi nhập dữ liệu`,description:`An unexpected error has occurred. Please check the errors below and try again.`,onOpenChange:C,children:S&&i(r,{children:Object.keys(_.errors).length>0?a(`div`,{className:`flex max-w-100 flex-col gap-2 px-4`,children:[i(`p`,{className:`text-muted-foreground text-sm font-semibold`,children:`Cảnh báo: Vui lòng kiểm tra các lỗi sau:`}),i(`div`,{className:`flex flex-col space-y-1`,children:Object.entries(_.errors).map(([e])=>i(c,{errors:_.errors,name:e,render:({messages:e})=>i(r,{children:e?Object.entries(e).map(([e,t])=>a(`div`,{className:`text-accent-foreground flex items-start gap-x-1 truncate text-sm font-normal`,children:[i(o,{size:16,className:`text-destructive mt-0.5 min-w-4 flex-0`}),i(`p`,{className:`line-clamp-2 flex-1 text-wrap`,children:t})]},e)):null})},e))})]}):i(`p`,{className:`text-muted-foreground text-sm`,children:`No errors found.`})})})]})};export{l as FormWrapper};
|
|
2
|
+
//# sourceMappingURL=form-wrapper-C2xlvWx0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-wrapper-C2xlvWx0.js","names":[],"sources":["../packages/components/forms/form-wrapper.tsx"],"sourcesContent":["import React from 'react'\nimport { type FieldValues, type FormState, type SubmitErrorHandler, type SubmitHandler, useForm, type UseFormProps } from 'react-hook-form'\nimport { AlertCircleIcon } from 'lucide-react'\n\nimport type { AnyEntity } from '@/types'\nimport { ErrorMessage } from '@hookform/error-message'\n\nimport { ErrorDialog } from '../dialogs/error-dialog'\nimport { Form } from '../ui/form'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n form: UseFormProps<TFieldValues>\n isResetAfterSubmit?: boolean\n className?: string\n onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>['dirtyFields']) => void | Promise<void>\n onError?: SubmitErrorHandler<TFieldValues>\n onSubcribe?: (values: TFieldValues) => void\n}\n\nexport const FormWrapper = <TFieldValues extends FieldValues = FieldValues>({\n form: FormConfig,\n isResetAfterSubmit = true,\n className,\n onSubmit,\n onError,\n onSubcribe,\n children,\n}: React.PropsWithChildren<Props<TFieldValues>>) => {\n const form = useForm({\n ...FormConfig,\n criteriaMode: 'all',\n })\n\n const { formState, reset, handleSubmit, subscribe } = form\n const { dirtyFields } = formState\n\n const [errorOpen, setErrorOpen] = React.useState<boolean>(false)\n\n const handleFormSubmit = React.useCallback<SubmitHandler<TFieldValues>>(\n (data) => {\n onSubmit(data, formState, dirtyFields)\n if (isResetAfterSubmit) {\n reset()\n }\n },\n [dirtyFields, formState, isResetAfterSubmit, onSubmit, reset],\n )\n\n const handleFormError = React.useCallback<SubmitErrorHandler<TFieldValues>>(\n (errors) => {\n const errorKeys = Object.keys(errors)\n if (errorKeys.length === 0) return\n onError?.(errors)\n setErrorOpen(true)\n },\n [onError],\n )\n\n React.useEffect(() => {\n if (!onSubcribe) return\n const callback = subscribe({\n formState: { values: true },\n callback: ({ values }) => {\n onSubcribe(values)\n },\n })\n return () => callback()\n }, [onSubcribe, subscribe])\n\n return (\n <Form {...form}>\n <form className={className} onSubmit={handleSubmit(handleFormSubmit, handleFormError)}>\n {children}\n </form>\n <ErrorDialog\n open={errorOpen}\n title=\"Lỗi nhập dữ liệu\"\n description=\"An unexpected error has occurred. Please check the errors below and try again.\"\n onOpenChange={setErrorOpen}\n >\n {errorOpen && (\n <>\n {Object.keys(formState.errors).length > 0 ? (\n <div className=\"flex max-w-100 flex-col gap-2 px-4\">\n <p className=\"text-muted-foreground text-sm font-semibold\">Cảnh báo: Vui lòng kiểm tra các lỗi sau:</p>\n <div className=\"flex flex-col space-y-1\">\n {Object.entries(formState.errors).map(([key]) => (\n <ErrorMessage\n key={key}\n errors={formState.errors}\n name={key as AnyEntity}\n render={({ messages }) => {\n return (\n <>\n {messages\n ? Object.entries(messages).map(([type, message]) => {\n return (\n <div key={type} className=\"text-accent-foreground flex items-start gap-x-1 truncate text-sm font-normal\">\n <AlertCircleIcon size={16} className=\"text-destructive mt-0.5 min-w-4 flex-0\" />\n <p className=\"line-clamp-2 flex-1 text-wrap\">{message}</p>\n </div>\n )\n })\n : null}\n </>\n )\n }}\n />\n ))}\n </div>\n </div>\n ) : (\n <p className=\"text-muted-foreground text-sm\">No errors found.</p>\n )}\n </>\n )}\n </ErrorDialog>\n </Form>\n )\n}\n"],"mappings":"wUAmBA,MAAa,GAA+D,CAC1E,KAAM,EACN,qBAAqB,GACrB,YACA,WACA,UACA,aACA,cACkD,CAClD,IAAM,EAAO,EAAQ,CACnB,GAAG,EACH,aAAc,QAGV,CAAE,YAAW,QAAO,eAAc,aAAc,EAChD,CAAE,eAAgB,EAElB,CAAC,EAAW,GAAgB,EAAM,SAAkB,IAEpD,EAAmB,EAAM,YAC5B,GAAS,CACR,EAAS,EAAM,EAAW,GACtB,GACF,KAGJ,CAAC,EAAa,EAAW,EAAoB,EAAU,IAGnD,EAAkB,EAAM,YAC3B,GAAW,CACV,IAAM,EAAY,OAAO,KAAK,GAC1B,EAAU,SAAW,IACzB,IAAU,GACV,EAAa,MAEf,CAAC,IAcH,OAXA,EAAM,cAAgB,CACpB,GAAI,CAAC,EAAY,OACjB,IAAM,EAAW,EAAU,CACzB,UAAW,CAAE,OAAQ,IACrB,UAAW,CAAE,YAAa,CACxB,EAAW,MAGf,UAAa,KACZ,CAAC,EAAY,IAGd,EAAC,EAAA,CAAK,GAAI,YACR,EAAC,OAAA,CAAgB,YAAW,SAAU,EAAa,EAAkB,GAClE,aAEH,EAAC,EAAA,CACC,KAAM,EACN,MAAM,mBACN,YAAY,iFACZ,aAAc,WAEb,GACC,EAAA,EAAA,CAAA,SACG,OAAO,KAAK,EAAU,QAAQ,OAAS,EACtC,EAAC,MAAA,CAAI,UAAU,+CACb,EAAC,IAAA,CAAE,UAAU,uDAA8C,6CAC3D,EAAC,MAAA,CAAI,UAAU,mCACZ,OAAO,QAAQ,EAAU,QAAQ,KAAK,CAAC,KACtC,EAAC,EAAA,CAEC,OAAQ,EAAU,OAClB,KAAM,EACN,QAAS,CAAE,cAEP,EAAA,EAAA,CAAA,SACG,EACG,OAAO,QAAQ,GAAU,KAAK,CAAC,EAAM,KAEjC,EAAC,MAAA,CAAe,UAAU,yFACxB,EAAC,EAAA,CAAgB,KAAM,GAAI,UAAU,2CACrC,EAAC,IAAA,CAAE,UAAU,yCAAiC,MAFtC,IAMd,QAfL,SAwBb,EAAC,IAAA,CAAE,UAAU,yCAAgC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./
|
|
2
|
-
//# sourceMappingURL=form-wrapper-
|
|
1
|
+
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./error-dialog-D5R5le-W.cjs`),n=require(`./form-CHs85hm6.cjs`),r=e.__toESM(require(`react`)),i=e.__toESM(require(`react/jsx-runtime`)),a=e.__toESM(require(`lucide-react`)),o=e.__toESM(require(`react-hook-form`)),s=e.__toESM(require(`@hookform/error-message`)),c=({form:e,isResetAfterSubmit:c=!0,className:l,onSubmit:u,onError:d,onSubcribe:f,children:p})=>{let m=(0,o.useForm)({...e,criteriaMode:`all`}),{formState:h,reset:g,handleSubmit:_,subscribe:v}=m,{dirtyFields:y}=h,[b,x]=r.default.useState(!1),S=r.default.useCallback(e=>{u(e,h,y),c&&g()},[y,h,c,u,g]),C=r.default.useCallback(e=>{let t=Object.keys(e);t.length!==0&&(d?.(e),x(!0))},[d]);return r.default.useEffect(()=>{if(!f)return;let e=v({formState:{values:!0},callback:({values:e})=>{f(e)}});return()=>e()},[f,v]),(0,i.jsxs)(n.Form,{...m,children:[(0,i.jsx)(`form`,{className:l,onSubmit:_(S,C),children:p}),(0,i.jsx)(t.ErrorDialog,{open:b,title:`Lỗi nhập dữ liệu`,description:`An unexpected error has occurred. Please check the errors below and try again.`,onOpenChange:x,children:b&&(0,i.jsx)(i.Fragment,{children:Object.keys(h.errors).length>0?(0,i.jsxs)(`div`,{className:`flex max-w-100 flex-col gap-2 px-4`,children:[(0,i.jsx)(`p`,{className:`text-muted-foreground text-sm font-semibold`,children:`Cảnh báo: Vui lòng kiểm tra các lỗi sau:`}),(0,i.jsx)(`div`,{className:`flex flex-col space-y-1`,children:Object.entries(h.errors).map(([e])=>(0,i.jsx)(s.ErrorMessage,{errors:h.errors,name:e,render:({messages:e})=>(0,i.jsx)(i.Fragment,{children:e?Object.entries(e).map(([e,t])=>(0,i.jsxs)(`div`,{className:`text-accent-foreground flex items-start gap-x-1 truncate text-sm font-normal`,children:[(0,i.jsx)(a.AlertCircleIcon,{size:16,className:`text-destructive mt-0.5 min-w-4 flex-0`}),(0,i.jsx)(`p`,{className:`line-clamp-2 flex-1 text-wrap`,children:t})]},e)):null})},e))})]}):(0,i.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No errors found.`})})})]})};Object.defineProperty(exports,`FormWrapper`,{enumerable:!0,get:function(){return c}});
|
|
2
|
+
//# sourceMappingURL=form-wrapper-CY-stRaQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-wrapper-CY-stRaQ.cjs","names":["React","Form","ErrorDialog","ErrorMessage","AlertCircleIcon"],"sources":["../packages/components/forms/form-wrapper.tsx"],"sourcesContent":["import React from 'react'\nimport { type FieldValues, type FormState, type SubmitErrorHandler, type SubmitHandler, useForm, type UseFormProps } from 'react-hook-form'\nimport { AlertCircleIcon } from 'lucide-react'\n\nimport type { AnyEntity } from '@/types'\nimport { ErrorMessage } from '@hookform/error-message'\n\nimport { ErrorDialog } from '../dialogs/error-dialog'\nimport { Form } from '../ui/form'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n form: UseFormProps<TFieldValues>\n isResetAfterSubmit?: boolean\n className?: string\n onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>['dirtyFields']) => void | Promise<void>\n onError?: SubmitErrorHandler<TFieldValues>\n onSubcribe?: (values: TFieldValues) => void\n}\n\nexport const FormWrapper = <TFieldValues extends FieldValues = FieldValues>({\n form: FormConfig,\n isResetAfterSubmit = true,\n className,\n onSubmit,\n onError,\n onSubcribe,\n children,\n}: React.PropsWithChildren<Props<TFieldValues>>) => {\n const form = useForm({\n ...FormConfig,\n criteriaMode: 'all',\n })\n\n const { formState, reset, handleSubmit, subscribe } = form\n const { dirtyFields } = formState\n\n const [errorOpen, setErrorOpen] = React.useState<boolean>(false)\n\n const handleFormSubmit = React.useCallback<SubmitHandler<TFieldValues>>(\n (data) => {\n onSubmit(data, formState, dirtyFields)\n if (isResetAfterSubmit) {\n reset()\n }\n },\n [dirtyFields, formState, isResetAfterSubmit, onSubmit, reset],\n )\n\n const handleFormError = React.useCallback<SubmitErrorHandler<TFieldValues>>(\n (errors) => {\n const errorKeys = Object.keys(errors)\n if (errorKeys.length === 0) return\n onError?.(errors)\n setErrorOpen(true)\n },\n [onError],\n )\n\n React.useEffect(() => {\n if (!onSubcribe) return\n const callback = subscribe({\n formState: { values: true },\n callback: ({ values }) => {\n onSubcribe(values)\n },\n })\n return () => callback()\n }, [onSubcribe, subscribe])\n\n return (\n <Form {...form}>\n <form className={className} onSubmit={handleSubmit(handleFormSubmit, handleFormError)}>\n {children}\n </form>\n <ErrorDialog\n open={errorOpen}\n title=\"Lỗi nhập dữ liệu\"\n description=\"An unexpected error has occurred. Please check the errors below and try again.\"\n onOpenChange={setErrorOpen}\n >\n {errorOpen && (\n <>\n {Object.keys(formState.errors).length > 0 ? (\n <div className=\"flex max-w-100 flex-col gap-2 px-4\">\n <p className=\"text-muted-foreground text-sm font-semibold\">Cảnh báo: Vui lòng kiểm tra các lỗi sau:</p>\n <div className=\"flex flex-col space-y-1\">\n {Object.entries(formState.errors).map(([key]) => (\n <ErrorMessage\n key={key}\n errors={formState.errors}\n name={key as AnyEntity}\n render={({ messages }) => {\n return (\n <>\n {messages\n ? Object.entries(messages).map(([type, message]) => {\n return (\n <div key={type} className=\"text-accent-foreground flex items-start gap-x-1 truncate text-sm font-normal\">\n <AlertCircleIcon size={16} className=\"text-destructive mt-0.5 min-w-4 flex-0\" />\n <p className=\"line-clamp-2 flex-1 text-wrap\">{message}</p>\n </div>\n )\n })\n : null}\n </>\n )\n }}\n />\n ))}\n </div>\n </div>\n ) : (\n <p className=\"text-muted-foreground text-sm\">No errors found.</p>\n )}\n </>\n )}\n </ErrorDialog>\n </Form>\n )\n}\n"],"mappings":"uTAmBa,GAA+D,CAC1E,KAAM,EACN,qBAAqB,GACrB,YACA,WACA,UACA,aACA,cACkD,CAClD,IAAM,GAAA,EAAA,EAAA,SAAe,CACnB,GAAG,EACH,aAAc,QAGV,CAAE,YAAW,QAAO,eAAc,aAAc,EAChD,CAAE,eAAgB,EAElB,CAAC,EAAW,GAAgBA,EAAAA,QAAM,SAAkB,IAEpD,EAAmBA,EAAAA,QAAM,YAC5B,GAAS,CACR,EAAS,EAAM,EAAW,GACtB,GACF,KAGJ,CAAC,EAAa,EAAW,EAAoB,EAAU,IAGnD,EAAkBA,EAAAA,QAAM,YAC3B,GAAW,CACV,IAAM,EAAY,OAAO,KAAK,GAC1B,EAAU,SAAW,IACzB,IAAU,GACV,EAAa,MAEf,CAAC,IAcH,OAXA,EAAA,QAAM,cAAgB,CACpB,GAAI,CAAC,EAAY,OACjB,IAAM,EAAW,EAAU,CACzB,UAAW,CAAE,OAAQ,IACrB,UAAW,CAAE,YAAa,CACxB,EAAW,MAGf,UAAa,KACZ,CAAC,EAAY,KAGd,EAAA,EAAA,MAACC,EAAAA,KAAAA,CAAK,GAAI,aACR,EAAA,EAAA,KAAC,OAAA,CAAgB,YAAW,SAAU,EAAa,EAAkB,GAClE,cAEH,EAAA,EAAA,KAACC,EAAAA,YAAAA,CACC,KAAM,EACN,MAAM,mBACN,YAAY,iFACZ,aAAc,WAEb,IACC,EAAA,EAAA,KAAA,EAAA,SAAA,CAAA,SACG,OAAO,KAAK,EAAU,QAAQ,OAAS,GACtC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,gDACb,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,uDAA8C,8CAC3D,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,mCACZ,OAAO,QAAQ,EAAU,QAAQ,KAAK,CAAC,MACtC,EAAA,EAAA,KAACC,EAAAA,aAAAA,CAEC,OAAQ,EAAU,OAClB,KAAM,EACN,QAAS,CAAE,eAEP,EAAA,EAAA,KAAA,EAAA,SAAA,CAAA,SACG,EACG,OAAO,QAAQ,GAAU,KAAK,CAAC,EAAM,MAEjC,EAAA,EAAA,MAAC,MAAA,CAAe,UAAU,0FACxB,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,UAAU,4CACrC,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,yCAAiC,MAFtC,IAMd,QAfL,UAwBb,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,yCAAgC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-
|
|
1
|
+
"use client";const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-BSGNpclh.cjs`);require(`../label-B_2ZQn0X.cjs`);const r=require(`../form-CHs85hm6.cjs`);require(`../dialog-_Cgij9NP.cjs`);const i=require(`../command-CoB5R5FI.cjs`),a=require(`../popover-DCcPvdz2.cjs`),o=e.__toESM(require(`react`)),s=e.__toESM(require(`react/jsx-runtime`)),c=e.__toESM(require(`lucide-react`)),l=({name:e,label:l=`Combobox`,placeholder:u=`Chọn một mục`,description:d,options:f,onAddNewItem:p})=>(0,s.jsx)(r.FormField,{name:e,render:({field:e})=>(0,s.jsxs)(r.FormItem,{className:`w-full`,children:[(0,s.jsx)(r.FormLabel,{children:l}),(0,s.jsxs)(a.Popover,{modal:!0,children:[(0,s.jsx)(a.PopoverTrigger,{asChild:!0,children:(0,s.jsx)(r.FormControl,{children:(0,s.jsxs)(n.Button,{type:`button`,variant:`outline`,role:`combobox`,color:`muted`,className:t.cn(`flex justify-between rounded-md px-3`,`outline-border-weak font-normal`,`[&_div]:justify-between`,`data-[state=open]:border-primary-strong`,`data-[state=open]:outline-1`,`data-[state=open]:outline-primary-strong`,`data-[state=open]:ring-primary-weak`,`data-[state=open]:ring-4`,`focus:border-primary-strong`,`focus:ring-4`,`focus:ring-primary-weak`,`focus:outline-1`,`focus:outline-primary-strong`),children:[e.value?(0,s.jsx)(`span`,{className:`flex min-w-0 items-center gap-2`,children:f?.find(({value:t})=>t===e.value)?.label}):(0,s.jsx)(`span`,{className:`text-text-positive-muted`,children:u}),(0,s.jsx)(c.ChevronDownIcon,{size:16,className:`text-text-positive-weak shrink-0`,"aria-hidden":`true`})]})})}),(0,s.jsx)(a.PopoverContent,{className:`border-input w-full max-w-[var(--radix-popover-trigger-width)] p-0`,children:(0,s.jsxs)(i.Command,{children:[(0,s.jsx)(i.CommandInput,{placeholder:u??`Tìm kiếm`}),(0,s.jsxs)(i.CommandList,{children:[(0,s.jsx)(i.CommandGroup,{className:`max-h-40 overflow-y-auto`,children:f?.map(({value:t,label:n})=>(0,s.jsx)(i.CommandItem,{value:n,onSelect:()=>e.onChange(t),children:n},t))}),p&&(0,s.jsxs)(o.default.Fragment,{children:[(0,s.jsx)(i.CommandSeparator,{}),(0,s.jsx)(i.CommandGroup,{children:(0,s.jsxs)(n.Button,{type:`button`,variant:`ghost`,className:`w-full justify-start font-normal`,children:[(0,s.jsx)(c.PlusIcon,{size:14,className:`-ms-2 opacity-60`,"aria-hidden":`true`}),`Thêm mới`]})})]})]}),(0,s.jsx)(i.CommandEmpty,{children:`Không có kết quả`})]})})]}),!!d&&(0,s.jsx)(r.FormDescription,{children:d})]})});exports.ComboboxField=l;
|
|
2
2
|
//# sourceMappingURL=combobox-field.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-field.cjs","names":["FormField","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","ChevronDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandGroup","CommandItem","label","React","CommandSeparator","PlusIcon","CommandEmpty","FormDescription"],"sources":["../../packages/components/forms/combobox-field.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"combobox-field.cjs","names":["FormField","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","ChevronDownIcon","PopoverContent","Command","CommandInput","CommandList","CommandGroup","CommandItem","label","React","CommandSeparator","PlusIcon","CommandEmpty","FormDescription"],"sources":["../../packages/components/forms/combobox-field.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { ChevronDownIcon, PlusIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from '@/components/ui/command'\nimport { FormControl, FormDescription, FormField, FormItem, FormLabel } from '@/components/ui/form'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'\nimport { cn } from '@/lib/utils'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n name: FieldPath<TFieldValues>\n label?: string\n placeholder?: string\n options?: { value: string | number; label: string }[]\n isShowErrorMsg?: boolean\n modal?: boolean\n description?: string\n onAddNewItem?: () => void\n}\n\nexport const ComboboxField = <TFieldValues extends FieldValues = FieldValues>({\n name,\n label = 'Combobox',\n placeholder = 'Chọn một mục',\n description,\n options,\n onAddNewItem,\n}: Props<TFieldValues>) => {\n return (\n <FormField\n name={name}\n render={({ field }) => {\n return (\n <FormItem className=\"w-full\">\n <FormLabel>{label}</FormLabel>\n <Popover modal={true}>\n <PopoverTrigger asChild>\n <FormControl>\n <Button\n type=\"button\"\n variant=\"outline\"\n role=\"combobox\"\n color=\"muted\"\n className={cn(\n 'flex justify-between rounded-md px-3',\n 'outline-border-weak font-normal',\n '[&_div]:justify-between',\n 'data-[state=open]:border-primary-strong',\n 'data-[state=open]:outline-1',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-primary-weak',\n 'data-[state=open]:ring-4',\n 'focus:border-primary-strong',\n 'focus:ring-4',\n 'focus:ring-primary-weak',\n 'focus:outline-1',\n 'focus:outline-primary-strong',\n )}\n >\n {field.value ? (\n <span className=\"flex min-w-0 items-center gap-2\">{options?.find(({ value }) => value === field.value)?.label}</span>\n ) : (\n <span className=\"text-text-positive-muted\">{placeholder}</span>\n )}\n <ChevronDownIcon size={16} className=\"text-text-positive-weak shrink-0\" aria-hidden=\"true\" />\n </Button>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent className=\"border-input w-full max-w-[var(--radix-popover-trigger-width)] p-0\">\n <Command>\n <CommandInput placeholder={placeholder ?? 'Tìm kiếm'} />\n <CommandList>\n <CommandGroup className=\"max-h-40 overflow-y-auto\">\n {options?.map(({ value, label }) => (\n <CommandItem key={value} value={label} onSelect={() => field.onChange(value)}>\n {label}\n </CommandItem>\n ))}\n </CommandGroup>\n {onAddNewItem && (\n <React.Fragment>\n <CommandSeparator />\n <CommandGroup>\n <Button type=\"button\" variant=\"ghost\" className=\"w-full justify-start font-normal\">\n <PlusIcon size={14} className=\"-ms-2 opacity-60\" aria-hidden=\"true\" />\n Thêm mới\n </Button>\n </CommandGroup>\n </React.Fragment>\n )}\n </CommandList>\n <CommandEmpty>Không có kết quả</CommandEmpty>\n </Command>\n </PopoverContent>\n </Popover>\n {!!description && <FormDescription>{description}</FormDescription>}\n </FormItem>\n )\n }}\n />\n )\n}\n"],"mappings":"qaAsBa,GAAiE,CAC5E,OACA,QAAQ,WACR,cAAc,eACd,cACA,UACA,mBAGE,EAAA,EAAA,KAACA,EAAAA,UAAAA,CACO,OACN,QAAS,CAAE,YAEP,EAAA,EAAA,MAACC,EAAAA,SAAAA,CAAS,UAAU,oBAClB,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAAA,SAAW,KACZ,EAAA,EAAA,MAACC,EAAAA,QAAAA,CAAQ,MAAO,cACd,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,QAAA,aACd,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAAA,UACC,EAAA,EAAA,MAACC,EAAAA,OAAAA,CACC,KAAK,SACL,QAAQ,UACR,KAAK,WACL,MAAM,QACN,UAAWC,EAAAA,GACT,uCACA,kCACA,0BACA,0CACA,8BACA,2CACA,sCACA,2BACA,8BACA,eACA,0BACA,kBACA,0CAGD,EAAM,OACL,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,2CAAmC,GAAS,MAAM,CAAE,WAAY,IAAU,EAAM,QAAQ,SAExG,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,oCAA4B,KAE9C,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,UAAU,mCAAmC,cAAY,iBAI1F,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,UAAU,+EACxB,EAAA,EAAA,MAACC,EAAAA,QAAAA,CAAAA,SAAAA,EACC,EAAA,EAAA,KAACC,EAAAA,aAAAA,CAAa,YAAa,GAAe,cAC1C,EAAA,EAAA,MAACC,EAAAA,YAAAA,CAAAA,SAAAA,EACC,EAAA,EAAA,KAACC,EAAAA,aAAAA,CAAa,UAAU,oCACrB,GAAS,KAAK,CAAE,QAAO,MAAA,MACtB,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAwB,MAAOC,EAAO,aAAgB,EAAM,SAAS,YACnEA,GADe,MAKrB,IACC,EAAA,EAAA,MAACC,EAAAA,QAAM,SAAA,CAAA,SAAA,EACL,EAAA,EAAA,KAACC,EAAAA,iBAAAA,KACD,EAAA,EAAA,KAACJ,EAAAA,aAAAA,CAAAA,UACC,EAAA,EAAA,MAACP,EAAAA,OAAAA,CAAO,KAAK,SAAS,QAAQ,QAAQ,UAAU,8CAC9C,EAAA,EAAA,KAACY,EAAAA,SAAAA,CAAS,KAAM,GAAI,UAAU,mBAAmB,cAAY,SAAS,uBAOhF,EAAA,EAAA,KAACC,EAAAA,aAAAA,CAAAA,SAAa,6BAInB,CAAC,CAAC,IAAe,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAAA,SAAiB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/combobox-field.d.ts
|
|
@@ -22,7 +22,7 @@ declare const ComboboxField: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
22
22
|
description,
|
|
23
23
|
options,
|
|
24
24
|
onAddNewItem
|
|
25
|
-
}: Props<TFieldValues>) =>
|
|
25
|
+
}: Props<TFieldValues>) => react_jsx_runtime4.JSX.Element;
|
|
26
26
|
//#endregion
|
|
27
27
|
export { ComboboxField };
|
|
28
28
|
//# sourceMappingURL=combobox-field.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/combobox-field.d.ts
|
|
@@ -22,7 +22,7 @@ declare const ComboboxField: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
22
22
|
description,
|
|
23
23
|
options,
|
|
24
24
|
onAddNewItem
|
|
25
|
-
}: Props<TFieldValues>) =>
|
|
25
|
+
}: Props<TFieldValues>) => react_jsx_runtime3.JSX.Element;
|
|
26
26
|
//#endregion
|
|
27
27
|
export { ComboboxField };
|
|
28
28
|
//# sourceMappingURL=combobox-field.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-
|
|
1
|
+
"use client";import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-CnMfXTBU.js";import"../label-D1XmKlc3.js";import{FormControl as n,FormDescription as r,FormField as i,FormItem as a,FormLabel as o}from"../form-tabDlutX.js";import"../dialog-CSDDiHKO.js";import{Command as s,CommandEmpty as c,CommandGroup as l,CommandInput as u,CommandItem as d,CommandList as f,CommandSeparator as p}from"../command-TFZwJmux.js";import{Popover as m,PopoverContent as h,PopoverTrigger as g}from"../popover-CTFp7ZXi.js";import _ from"react";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{ChevronDownIcon as b,PlusIcon as x}from"lucide-react";const S=({name:S,label:C=`Combobox`,placeholder:w=`Chọn một mục`,description:T,options:E,onAddNewItem:D})=>v(i,{name:S,render:({field:i})=>y(a,{className:`w-full`,children:[v(o,{children:C}),y(m,{modal:!0,children:[v(g,{asChild:!0,children:v(n,{children:y(t,{type:`button`,variant:`outline`,role:`combobox`,color:`muted`,className:e(`flex justify-between rounded-md px-3`,`outline-border-weak font-normal`,`[&_div]:justify-between`,`data-[state=open]:border-primary-strong`,`data-[state=open]:outline-1`,`data-[state=open]:outline-primary-strong`,`data-[state=open]:ring-primary-weak`,`data-[state=open]:ring-4`,`focus:border-primary-strong`,`focus:ring-4`,`focus:ring-primary-weak`,`focus:outline-1`,`focus:outline-primary-strong`),children:[i.value?v(`span`,{className:`flex min-w-0 items-center gap-2`,children:E?.find(({value:e})=>e===i.value)?.label}):v(`span`,{className:`text-text-positive-muted`,children:w}),v(b,{size:16,className:`text-text-positive-weak shrink-0`,"aria-hidden":`true`})]})})}),v(h,{className:`border-input w-full max-w-[var(--radix-popover-trigger-width)] p-0`,children:y(s,{children:[v(u,{placeholder:w??`Tìm kiếm`}),y(f,{children:[v(l,{className:`max-h-40 overflow-y-auto`,children:E?.map(({value:e,label:t})=>v(d,{value:t,onSelect:()=>i.onChange(e),children:t},e))}),D&&y(_.Fragment,{children:[v(p,{}),v(l,{children:y(t,{type:`button`,variant:`ghost`,className:`w-full justify-start font-normal`,children:[v(x,{size:14,className:`-ms-2 opacity-60`,"aria-hidden":`true`}),`Thêm mới`]})})]})]}),v(c,{children:`Không có kết quả`})]})})]}),!!T&&v(r,{children:T})]})});export{S as ComboboxField};
|
|
2
2
|
//# sourceMappingURL=combobox-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-field.js","names":["label"],"sources":["../../packages/components/forms/combobox-field.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"combobox-field.js","names":["label"],"sources":["../../packages/components/forms/combobox-field.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { ChevronDownIcon, PlusIcon } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from '@/components/ui/command'\nimport { FormControl, FormDescription, FormField, FormItem, FormLabel } from '@/components/ui/form'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'\nimport { cn } from '@/lib/utils'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n name: FieldPath<TFieldValues>\n label?: string\n placeholder?: string\n options?: { value: string | number; label: string }[]\n isShowErrorMsg?: boolean\n modal?: boolean\n description?: string\n onAddNewItem?: () => void\n}\n\nexport const ComboboxField = <TFieldValues extends FieldValues = FieldValues>({\n name,\n label = 'Combobox',\n placeholder = 'Chọn một mục',\n description,\n options,\n onAddNewItem,\n}: Props<TFieldValues>) => {\n return (\n <FormField\n name={name}\n render={({ field }) => {\n return (\n <FormItem className=\"w-full\">\n <FormLabel>{label}</FormLabel>\n <Popover modal={true}>\n <PopoverTrigger asChild>\n <FormControl>\n <Button\n type=\"button\"\n variant=\"outline\"\n role=\"combobox\"\n color=\"muted\"\n className={cn(\n 'flex justify-between rounded-md px-3',\n 'outline-border-weak font-normal',\n '[&_div]:justify-between',\n 'data-[state=open]:border-primary-strong',\n 'data-[state=open]:outline-1',\n 'data-[state=open]:outline-primary-strong',\n 'data-[state=open]:ring-primary-weak',\n 'data-[state=open]:ring-4',\n 'focus:border-primary-strong',\n 'focus:ring-4',\n 'focus:ring-primary-weak',\n 'focus:outline-1',\n 'focus:outline-primary-strong',\n )}\n >\n {field.value ? (\n <span className=\"flex min-w-0 items-center gap-2\">{options?.find(({ value }) => value === field.value)?.label}</span>\n ) : (\n <span className=\"text-text-positive-muted\">{placeholder}</span>\n )}\n <ChevronDownIcon size={16} className=\"text-text-positive-weak shrink-0\" aria-hidden=\"true\" />\n </Button>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent className=\"border-input w-full max-w-[var(--radix-popover-trigger-width)] p-0\">\n <Command>\n <CommandInput placeholder={placeholder ?? 'Tìm kiếm'} />\n <CommandList>\n <CommandGroup className=\"max-h-40 overflow-y-auto\">\n {options?.map(({ value, label }) => (\n <CommandItem key={value} value={label} onSelect={() => field.onChange(value)}>\n {label}\n </CommandItem>\n ))}\n </CommandGroup>\n {onAddNewItem && (\n <React.Fragment>\n <CommandSeparator />\n <CommandGroup>\n <Button type=\"button\" variant=\"ghost\" className=\"w-full justify-start font-normal\">\n <PlusIcon size={14} className=\"-ms-2 opacity-60\" aria-hidden=\"true\" />\n Thêm mới\n </Button>\n </CommandGroup>\n </React.Fragment>\n )}\n </CommandList>\n <CommandEmpty>Không có kết quả</CommandEmpty>\n </Command>\n </PopoverContent>\n </Popover>\n {!!description && <FormDescription>{description}</FormDescription>}\n </FormItem>\n )\n }}\n />\n )\n}\n"],"mappings":"gpBAsBA,MAAa,GAAiE,CAC5E,OACA,QAAQ,WACR,cAAc,eACd,cACA,UACA,kBAGE,EAAC,EAAA,CACO,OACN,QAAS,CAAE,WAEP,EAAC,EAAA,CAAS,UAAU,mBAClB,EAAC,EAAA,CAAA,SAAW,IACZ,EAAC,EAAA,CAAQ,MAAO,aACd,EAAC,EAAA,CAAe,QAAA,YACd,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CACC,KAAK,SACL,QAAQ,UACR,KAAK,WACL,MAAM,QACN,UAAW,EACT,uCACA,kCACA,0BACA,0CACA,8BACA,2CACA,sCACA,2BACA,8BACA,eACA,0BACA,kBACA,0CAGD,EAAM,MACL,EAAC,OAAA,CAAK,UAAU,2CAAmC,GAAS,MAAM,CAAE,WAAY,IAAU,EAAM,QAAQ,QAExG,EAAC,OAAA,CAAK,UAAU,oCAA4B,IAE9C,EAAC,EAAA,CAAgB,KAAM,GAAI,UAAU,mCAAmC,cAAY,gBAI1F,EAAC,EAAA,CAAe,UAAU,8EACxB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAa,YAAa,GAAe,aAC1C,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAa,UAAU,oCACrB,GAAS,KAAK,CAAE,QAAO,MAAA,KACtB,EAAC,EAAA,CAAwB,MAAOA,EAAO,aAAgB,EAAM,SAAS,YACnEA,GADe,MAKrB,GACC,EAAC,EAAM,SAAA,CAAA,SAAA,CACL,EAAC,EAAA,IACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAO,KAAK,SAAS,QAAQ,QAAQ,UAAU,6CAC9C,EAAC,EAAA,CAAS,KAAM,GAAI,UAAU,mBAAmB,cAAY,SAAS,sBAOhF,EAAC,EAAA,CAAA,SAAa,6BAInB,CAAC,CAAC,GAAe,EAAC,EAAA,CAAA,SAAiB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-
|
|
1
|
+
"use client";const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-BSGNpclh.cjs`);require(`../label-B_2ZQn0X.cjs`);const r=require(`../form-CHs85hm6.cjs`),i=require(`../popover-DCcPvdz2.cjs`),a=require(`../calendar-B8IKzrdN.cjs`),o=e.__toESM(require(`react/jsx-runtime`)),s=e.__toESM(require(`date-fns`)),c=e.__toESM(require(`lucide-react`)),l=({name:e,label:l=`Date Field`,placeholder:u=`Select a date`,description:d=``,isShowErrorMsg:f=!1})=>(0,o.jsx)(r.FormField,{name:e,render:({field:e})=>(0,o.jsxs)(r.FormItem,{className:`w-full`,children:[(0,o.jsx)(r.FormLabel,{children:l}),(0,o.jsxs)(i.Popover,{modal:!0,children:[(0,o.jsx)(i.PopoverTrigger,{asChild:!0,children:(0,o.jsx)(r.FormControl,{children:(0,o.jsxs)(n.Button,{variant:`outline`,className:t.cn(`w-full pl-3 text-left font-normal`,!e.value&&`text-muted-foreground`),children:[e.value?(0,s.format)(e.value,`PPP`):(0,o.jsxs)(`span`,{children:[` `,u||`Pick a date`]}),(0,o.jsx)(c.CalendarIcon,{className:`ml-auto size-4 opacity-50`})]})})}),(0,o.jsx)(i.PopoverContent,{className:`w-auto p-0`,align:`start`,children:(0,o.jsx)(a.Calendar,{mode:`single`,selected:e.value,onSelect:t=>{e.onChange(t?.toISOString())},captionLayout:`dropdown`,disabled:e=>e<new Date(`2022-01-01`)})})]}),!!d&&(0,o.jsx)(r.FormDescription,{children:d}),f&&(0,o.jsx)(r.FormMessage,{})]})});exports.DateField=l;
|
|
2
2
|
//# sourceMappingURL=date-field.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-field.cjs","names":["FormField","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","CalendarIcon","PopoverContent","Calendar","FormDescription","FormMessage"],"sources":["../../packages/components/forms/date-field.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"date-field.cjs","names":["FormField","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","CalendarIcon","PopoverContent","Calendar","FormDescription","FormMessage"],"sources":["../../packages/components/forms/date-field.tsx"],"sourcesContent":["'use client'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { format } from 'date-fns'\nimport { CalendarIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nimport { Button } from '../ui/button'\nimport { Calendar } from '../ui/calendar'\nimport { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '../ui/form'\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n name: FieldPath<TFieldValues>\n label?: string\n placeholder?: string\n description?: string\n isShowErrorMsg?: boolean\n modal?: boolean\n}\n\nexport const DateField = <TFieldValues extends FieldValues = FieldValues>({\n name,\n label = 'Date Field',\n placeholder = 'Select a date',\n description = '',\n isShowErrorMsg = false,\n}: Props<TFieldValues>) => {\n return (\n <FormField\n name={name}\n render={({ field }) => (\n <FormItem className=\"w-full\">\n <FormLabel>{label}</FormLabel>\n <Popover modal>\n <PopoverTrigger asChild>\n <FormControl>\n <Button variant=\"outline\" className={cn('w-full pl-3 text-left font-normal', !field.value && 'text-muted-foreground')}>\n {field.value ? format(field.value, 'PPP') : <span> {placeholder || 'Pick a date'}</span>}\n <CalendarIcon className=\"ml-auto size-4 opacity-50\" />\n </Button>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n selected={field.value}\n onSelect={(date) => {\n field.onChange(date?.toISOString())\n }}\n captionLayout=\"dropdown\"\n disabled={(date) => date < new Date('2022-01-01')}\n />\n </PopoverContent>\n </Popover>\n {!!description && <FormDescription>{description}</FormDescription>}\n {isShowErrorMsg && <FormMessage />}\n </FormItem>\n )}\n />\n )\n}\n"],"mappings":"iYAqBa,GAA6D,CACxE,OACA,QAAQ,aACR,cAAc,gBACd,cAAc,GACd,iBAAiB,OAGf,EAAA,EAAA,KAACA,EAAAA,UAAAA,CACO,OACN,QAAS,CAAE,YACT,EAAA,EAAA,MAACC,EAAAA,SAAAA,CAAS,UAAU,oBAClB,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAAA,SAAW,KACZ,EAAA,EAAA,MAACC,EAAAA,QAAAA,CAAQ,MAAA,cACP,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,QAAA,aACd,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAAA,UACC,EAAA,EAAA,MAACC,EAAAA,OAAAA,CAAO,QAAQ,UAAU,UAAWC,EAAAA,GAAG,oCAAqC,CAAC,EAAM,OAAS,mCAC1F,EAAM,OAAA,EAAA,EAAA,QAAe,EAAM,MAAO,QAAS,EAAA,EAAA,MAAC,OAAA,CAAA,SAAA,CAAK,IAAE,GAAe,kBACnE,EAAA,EAAA,KAACC,EAAAA,aAAAA,CAAa,UAAU,sCAI9B,EAAA,EAAA,KAACC,EAAAA,eAAAA,CAAe,UAAU,aAAa,MAAM,kBAC3C,EAAA,EAAA,KAACC,EAAAA,SAAAA,CACC,KAAK,SACL,SAAU,EAAM,MAChB,SAAW,GAAS,CAClB,EAAM,SAAS,GAAM,gBAEvB,cAAc,WACd,SAAW,GAAS,EAAO,IAAI,KAAK,qBAIzC,CAAC,CAAC,IAAe,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAAA,SAAiB,IACnC,IAAkB,EAAA,EAAA,KAACC,EAAAA,YAAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/date-field.d.ts
|
|
@@ -16,7 +16,7 @@ declare const DateField: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
16
16
|
placeholder,
|
|
17
17
|
description,
|
|
18
18
|
isShowErrorMsg
|
|
19
|
-
}: Props<TFieldValues>) =>
|
|
19
|
+
}: Props<TFieldValues>) => react_jsx_runtime2.JSX.Element;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { DateField };
|
|
22
22
|
//# sourceMappingURL=date-field.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/date-field.d.ts
|
|
@@ -16,7 +16,7 @@ declare const DateField: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
16
16
|
placeholder,
|
|
17
17
|
description,
|
|
18
18
|
isShowErrorMsg
|
|
19
|
-
}: Props<TFieldValues>) =>
|
|
19
|
+
}: Props<TFieldValues>) => react_jsx_runtime5.JSX.Element;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { DateField };
|
|
22
22
|
//# sourceMappingURL=date-field.d.ts.map
|
package/dist/forms/date-field.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-
|
|
1
|
+
"use client";import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-CnMfXTBU.js";import"../label-D1XmKlc3.js";import{FormControl as n,FormDescription as r,FormField as i,FormItem as a,FormLabel as o,FormMessage as s}from"../form-tabDlutX.js";import{Popover as c,PopoverContent as l,PopoverTrigger as u}from"../popover-CTFp7ZXi.js";import{Calendar as d}from"../calendar-CbuOOMpK.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{format as m}from"date-fns";import{CalendarIcon as h}from"lucide-react";const g=({name:g,label:_=`Date Field`,placeholder:v=`Select a date`,description:y=``,isShowErrorMsg:b=!1})=>f(i,{name:g,render:({field:i})=>p(a,{className:`w-full`,children:[f(o,{children:_}),p(c,{modal:!0,children:[f(u,{asChild:!0,children:f(n,{children:p(t,{variant:`outline`,className:e(`w-full pl-3 text-left font-normal`,!i.value&&`text-muted-foreground`),children:[i.value?m(i.value,`PPP`):p(`span`,{children:[` `,v||`Pick a date`]}),f(h,{className:`ml-auto size-4 opacity-50`})]})})}),f(l,{className:`w-auto p-0`,align:`start`,children:f(d,{mode:`single`,selected:i.value,onSelect:e=>{i.onChange(e?.toISOString())},captionLayout:`dropdown`,disabled:e=>e<new Date(`2022-01-01`)})})]}),!!y&&f(r,{children:y}),b&&f(s,{})]})});export{g as DateField};
|
|
2
2
|
//# sourceMappingURL=date-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-field.js","names":[],"sources":["../../packages/components/forms/date-field.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"date-field.js","names":[],"sources":["../../packages/components/forms/date-field.tsx"],"sourcesContent":["'use client'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\nimport { format } from 'date-fns'\nimport { CalendarIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nimport { Button } from '../ui/button'\nimport { Calendar } from '../ui/calendar'\nimport { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '../ui/form'\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n name: FieldPath<TFieldValues>\n label?: string\n placeholder?: string\n description?: string\n isShowErrorMsg?: boolean\n modal?: boolean\n}\n\nexport const DateField = <TFieldValues extends FieldValues = FieldValues>({\n name,\n label = 'Date Field',\n placeholder = 'Select a date',\n description = '',\n isShowErrorMsg = false,\n}: Props<TFieldValues>) => {\n return (\n <FormField\n name={name}\n render={({ field }) => (\n <FormItem className=\"w-full\">\n <FormLabel>{label}</FormLabel>\n <Popover modal>\n <PopoverTrigger asChild>\n <FormControl>\n <Button variant=\"outline\" className={cn('w-full pl-3 text-left font-normal', !field.value && 'text-muted-foreground')}>\n {field.value ? format(field.value, 'PPP') : <span> {placeholder || 'Pick a date'}</span>}\n <CalendarIcon className=\"ml-auto size-4 opacity-50\" />\n </Button>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n selected={field.value}\n onSelect={(date) => {\n field.onChange(date?.toISOString())\n }}\n captionLayout=\"dropdown\"\n disabled={(date) => date < new Date('2022-01-01')}\n />\n </PopoverContent>\n </Popover>\n {!!description && <FormDescription>{description}</FormDescription>}\n {isShowErrorMsg && <FormMessage />}\n </FormItem>\n )}\n />\n )\n}\n"],"mappings":"mhBAqBA,MAAa,GAA6D,CACxE,OACA,QAAQ,aACR,cAAc,gBACd,cAAc,GACd,iBAAiB,MAGf,EAAC,EAAA,CACO,OACN,QAAS,CAAE,WACT,EAAC,EAAA,CAAS,UAAU,mBAClB,EAAC,EAAA,CAAA,SAAW,IACZ,EAAC,EAAA,CAAQ,MAAA,aACP,EAAC,EAAA,CAAe,QAAA,YACd,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAO,QAAQ,UAAU,UAAW,EAAG,oCAAqC,CAAC,EAAM,OAAS,mCAC1F,EAAM,MAAQ,EAAO,EAAM,MAAO,OAAS,EAAC,OAAA,CAAA,SAAA,CAAK,IAAE,GAAe,iBACnE,EAAC,EAAA,CAAa,UAAU,qCAI9B,EAAC,EAAA,CAAe,UAAU,aAAa,MAAM,iBAC3C,EAAC,EAAA,CACC,KAAK,SACL,SAAU,EAAM,MAChB,SAAW,GAAS,CAClB,EAAM,SAAS,GAAM,gBAEvB,cAAc,WACd,SAAW,GAAS,EAAO,IAAI,KAAK,qBAIzC,CAAC,CAAC,GAAe,EAAC,EAAA,CAAA,SAAiB,IACnC,GAAkB,EAAC,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../utils-BsjVK5EW.cjs`),require(`../button-
|
|
1
|
+
require(`../utils-BsjVK5EW.cjs`),require(`../button-BSGNpclh.cjs`),require(`../alert-dialog-D-oR0YW3.cjs`),require(`../error-dialog-D5R5le-W.cjs`),require(`../label-B_2ZQn0X.cjs`),require(`../form-CHs85hm6.cjs`);const e=require(`../form-wrapper-CY-stRaQ.cjs`);exports.FormWrapper=e.FormWrapper;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime11 from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FieldValues, FormState, SubmitErrorHandler, UseFormProps } from "react-hook-form";
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ type Props<TFieldValues extends FieldValues = FieldValues> = {
|
|
|
7
7
|
form: UseFormProps<TFieldValues>;
|
|
8
8
|
isResetAfterSubmit?: boolean;
|
|
9
9
|
className?: string;
|
|
10
|
-
onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>[
|
|
10
|
+
onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>['dirtyFields']) => void | Promise<void>;
|
|
11
11
|
onError?: SubmitErrorHandler<TFieldValues>;
|
|
12
12
|
onSubcribe?: (values: TFieldValues) => void;
|
|
13
13
|
};
|
|
@@ -19,7 +19,7 @@ declare const FormWrapper: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
19
19
|
onError,
|
|
20
20
|
onSubcribe,
|
|
21
21
|
children
|
|
22
|
-
}: React.PropsWithChildren<Props<TFieldValues>>) =>
|
|
22
|
+
}: React.PropsWithChildren<Props<TFieldValues>>) => react_jsx_runtime11.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { FormWrapper };
|
|
25
25
|
//# sourceMappingURL=form-wrapper.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
3
3
|
import { FieldValues, FormState, SubmitErrorHandler, UseFormProps } from "react-hook-form";
|
|
4
4
|
|
|
5
5
|
//#region packages/components/forms/form-wrapper.d.ts
|
|
@@ -7,7 +7,7 @@ type Props<TFieldValues extends FieldValues = FieldValues> = {
|
|
|
7
7
|
form: UseFormProps<TFieldValues>;
|
|
8
8
|
isResetAfterSubmit?: boolean;
|
|
9
9
|
className?: string;
|
|
10
|
-
onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>[
|
|
10
|
+
onSubmit: (data: TFieldValues, formState: FormState<FieldValues>, dirtyFields: FormState<FieldValues>['dirtyFields']) => void | Promise<void>;
|
|
11
11
|
onError?: SubmitErrorHandler<TFieldValues>;
|
|
12
12
|
onSubcribe?: (values: TFieldValues) => void;
|
|
13
13
|
};
|
|
@@ -19,7 +19,7 @@ declare const FormWrapper: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
19
19
|
onError,
|
|
20
20
|
onSubcribe,
|
|
21
21
|
children
|
|
22
|
-
}: React.PropsWithChildren<Props<TFieldValues>>) =>
|
|
22
|
+
}: React.PropsWithChildren<Props<TFieldValues>>) => react_jsx_runtime2.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { FormWrapper };
|
|
25
25
|
//# sourceMappingURL=form-wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../utils-D9AH0PUV.js";import"../button-
|
|
1
|
+
import"../utils-D9AH0PUV.js";import"../button-CnMfXTBU.js";import"../alert-dialog-CNHyP_A9.js";import"../error-dialog-Q99thrSD.js";import"../label-D1XmKlc3.js";import"../form-tabDlutX.js";import{FormWrapper as e}from"../form-wrapper-C2xlvWx0.js";export{e as FormWrapper};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`),require(`../button-
|
|
1
|
+
"use client";const e=require(`../chunk-CUT6urMc.cjs`);require(`../utils-BsjVK5EW.cjs`),require(`../button-BSGNpclh.cjs`),require(`../label-B_2ZQn0X.cjs`);const t=require(`../form-CHs85hm6.cjs`);require(`../dialog-_Cgij9NP.cjs`),require(`../command-CoB5R5FI.cjs`);const n=require(`../multi-select-Cjvm4tK5.cjs`),r=e.__toESM(require(`react/jsx-runtime`)),i=({name:e,label:i=`Multi Select Field`,isShowLabel:a=!0,isShowErrorMsg:o,placeholder:s=`Select options`,description:c=``,options:l=[],onAdd:u})=>(0,r.jsx)(t.FormField,{name:e,render:({field:{value:e,onChange:d}})=>{let f=l.filter(t=>e?.includes(t.value)),p=e=>{let t=e.map(e=>e.value);d(t)};return(0,r.jsxs)(t.FormItem,{className:`w-full gap-0`,children:[a&&(0,r.jsx)(t.FormLabel,{children:i}),(0,r.jsx)(t.FormControl,{children:(0,r.jsx)(n.MultipleSelector,{placeholder:s,emptyIndicator:`No options available`,value:f,options:l,onChange:p,onAddNewItem:u})}),!!c&&(0,r.jsx)(t.FormDescription,{children:c}),o&&(0,r.jsx)(t.FormMessage,{})]})}});exports.MultiSelectField=i;
|
|
2
2
|
//# sourceMappingURL=multi-select-field.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select-field.cjs","names":["FormField","value","FormItem","FormLabel","FormControl","MultipleSelector","FormDescription","FormMessage"],"sources":["../../packages/components/forms/multi-select-field.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"multi-select-field.cjs","names":["FormField","value","FormItem","FormLabel","FormControl","MultipleSelector","FormDescription","FormMessage"],"sources":["../../packages/components/forms/multi-select-field.tsx"],"sourcesContent":["'use client'\nimport type { FieldPath, FieldValues } from 'react-hook-form'\n\nimport { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from '../ui/form'\nimport { type Option, MultipleSelector } from '../ui/multi-select'\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n name: FieldPath<TFieldValues>\n isShowLabel?: boolean\n isShowErrorMsg?: boolean\n label?: string\n description?: string\n placeholder?: string\n options?: { value: string; label: string }[]\n onAdd?: () => void\n}\nexport const MultiSelectField = <TFieldValues extends FieldValues = FieldValues>({\n name,\n label = 'Multi Select Field',\n isShowLabel = true,\n isShowErrorMsg,\n placeholder = 'Select options',\n description = '',\n options = [],\n onAdd,\n}: Props<TFieldValues>) => {\n return (\n <FormField\n name={name}\n render={({ field: { value, onChange } }) => {\n const val = options.filter((option) => value?.includes(option.value))\n const handleOnChange = (value: Option[]) => {\n const selectedValues = value.map((v) => v.value)\n onChange(selectedValues)\n }\n return (\n <FormItem className=\"w-full gap-0\">\n {isShowLabel && <FormLabel>{label}</FormLabel>}\n <FormControl>\n <MultipleSelector\n placeholder={placeholder}\n emptyIndicator=\"No options available\"\n value={val}\n options={options}\n onChange={handleOnChange}\n onAddNewItem={onAdd}\n />\n </FormControl>\n {!!description && <FormDescription>{description}</FormDescription>}\n {isShowErrorMsg && <FormMessage />}\n </FormItem>\n )\n }}\n />\n )\n}\n"],"mappings":"iWAgBa,GAAoE,CAC/E,OACA,QAAQ,qBACR,cAAc,GACd,iBACA,cAAc,iBACd,cAAc,GACd,UAAU,GACV,YAGE,EAAA,EAAA,KAACA,EAAAA,UAAAA,CACO,OACN,QAAS,CAAE,MAAO,CAAE,QAAO,eAAiB,CAC1C,IAAM,EAAM,EAAQ,OAAQ,GAAW,GAAO,SAAS,EAAO,QACxD,EAAkB,GAAoB,CAC1C,IAAM,EAAiBC,EAAM,IAAK,GAAM,EAAE,OAC1C,EAAS,IAEX,OACE,EAAA,EAAA,MAACC,EAAAA,SAAAA,CAAS,UAAU,yBACjB,IAAe,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAAAA,SAAW,KAC5B,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAAA,UACC,EAAA,EAAA,KAACC,EAAAA,iBAAAA,CACc,cACb,eAAe,uBACf,MAAO,EACE,UACT,SAAU,EACV,aAAc,MAGjB,CAAC,CAAC,IAAe,EAAA,EAAA,KAACC,EAAAA,gBAAAA,CAAAA,SAAiB,IACnC,IAAkB,EAAA,EAAA,KAACC,EAAAA,YAAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime9 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/multi-select-field.d.ts
|
|
@@ -24,7 +24,7 @@ declare const MultiSelectField: <TFieldValues extends FieldValues = FieldValues>
|
|
|
24
24
|
description,
|
|
25
25
|
options,
|
|
26
26
|
onAdd
|
|
27
|
-
}: Props<TFieldValues>) =>
|
|
27
|
+
}: Props<TFieldValues>) => react_jsx_runtime9.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { MultiSelectField };
|
|
30
30
|
//# sourceMappingURL=multi-select-field.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime7 from "react/jsx-runtime";
|
|
2
2
|
import { FieldPath, FieldValues } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/forms/multi-select-field.d.ts
|
|
@@ -24,7 +24,7 @@ declare const MultiSelectField: <TFieldValues extends FieldValues = FieldValues>
|
|
|
24
24
|
description,
|
|
25
25
|
options,
|
|
26
26
|
onAdd
|
|
27
|
-
}: Props<TFieldValues>) =>
|
|
27
|
+
}: Props<TFieldValues>) => react_jsx_runtime7.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { MultiSelectField };
|
|
30
30
|
//# sourceMappingURL=multi-select-field.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import"../utils-D9AH0PUV.js";import"../button-
|
|
1
|
+
"use client";import"../utils-D9AH0PUV.js";import"../button-CnMfXTBU.js";import"../label-D1XmKlc3.js";import{FormControl as e,FormDescription as t,FormField as n,FormItem as r,FormLabel as i,FormMessage as a}from"../form-tabDlutX.js";import"../dialog-CSDDiHKO.js";import"../command-TFZwJmux.js";import{MultipleSelector as o}from"../multi-select-D0bZVOnm.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=({name:l,label:u=`Multi Select Field`,isShowLabel:d=!0,isShowErrorMsg:f,placeholder:p=`Select options`,description:m=``,options:h=[],onAdd:g})=>s(n,{name:l,render:({field:{value:n,onChange:l}})=>{let _=h.filter(e=>n?.includes(e.value)),v=e=>{let t=e.map(e=>e.value);l(t)};return c(r,{className:`w-full gap-0`,children:[d&&s(i,{children:u}),s(e,{children:s(o,{placeholder:p,emptyIndicator:`No options available`,value:_,options:h,onChange:v,onAddNewItem:g})}),!!m&&s(t,{children:m}),f&&s(a,{})]})}});export{l as MultiSelectField};
|
|
2
2
|
//# sourceMappingURL=multi-select-field.js.map
|