@customafk/lunas-ui 0.0.8 → 0.0.10
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/README.md +165 -11
- package/dist/{add-new-C--Ee4bj.js → add-new-BaTjxsdU.js} +2 -1
- package/dist/add-new-BaTjxsdU.js.map +1 -0
- package/dist/{add-new-pfLdk0Hp.cjs → add-new-aIL8RwI8.cjs} +2 -1
- package/dist/add-new-aIL8RwI8.cjs.map +1 -0
- package/dist/{alert-dialog-CQa0TLlF.js → alert-dialog-0KwdjY-6.js} +2 -1
- package/dist/alert-dialog-0KwdjY-6.js.map +1 -0
- package/dist/{alert-dialog-D1DFrl-0.cjs → alert-dialog-BQv-ZvW9.cjs} +2 -1
- package/dist/alert-dialog-BQv-ZvW9.cjs.map +1 -0
- package/dist/badge-D_qEoSL8.js +2 -1
- package/dist/badge-D_qEoSL8.js.map +1 -0
- package/dist/badge-DfSj5nwV.cjs +2 -1
- package/dist/badge-DfSj5nwV.cjs.map +1 -0
- package/dist/button-Bku3bKv9.js +2 -1
- package/dist/button-Bku3bKv9.js.map +1 -0
- package/dist/{button-CS0x-mYR.d.cts → button-Blg2XhHo.d.ts} +6 -5
- package/dist/button-CycE0WzB.cjs +2 -1
- package/dist/button-CycE0WzB.cjs.map +1 -0
- package/dist/{button-CxHABSnr.d.ts → button-DThtZ8g0.d.cts} +7 -6
- package/dist/{calendar-DaYVxwJx.js → calendar-5D53vIAn.js} +2 -1
- package/dist/calendar-5D53vIAn.js.map +1 -0
- package/dist/{calendar-DzAxQqFI.cjs → calendar-CPFb8F_s.cjs} +2 -1
- package/dist/calendar-CPFb8F_s.cjs.map +1 -0
- package/dist/card-D7C05tvk.cjs +2 -1
- package/dist/card-D7C05tvk.cjs.map +1 -0
- package/dist/card-D8cxRC5y.js +2 -1
- package/dist/card-D8cxRC5y.js.map +1 -0
- package/dist/cards/simple-card.cjs +2 -1
- package/dist/cards/simple-card.cjs.map +1 -0
- package/dist/cards/simple-card.d.cts +2 -1
- package/dist/cards/simple-card.d.ts +4 -3
- package/dist/cards/simple-card.js +2 -1
- package/dist/cards/simple-card.js.map +1 -0
- package/dist/{command-BfYiUikG.d.cts → command-ByvjNMyq.d.cts} +13 -12
- package/dist/{command-CkGJbvFq.cjs → command-D8k85t1c.cjs} +2 -1
- package/dist/command-D8k85t1c.cjs.map +1 -0
- package/dist/{command-CycGGWOh.d.ts → command-DXhsKiMq.d.ts} +13 -12
- package/dist/{command-Ir_Vqgds.js → command-DieInaEN.js} +2 -1
- package/dist/command-DieInaEN.js.map +1 -0
- package/dist/data-display/country.cjs +2 -1
- package/dist/data-display/country.cjs.map +1 -0
- package/dist/data-display/country.d.cts +2 -1
- package/dist/data-display/country.d.ts +2 -1
- package/dist/data-display/country.js +2 -1
- package/dist/data-display/country.js.map +1 -0
- package/dist/data-display/data-list.cjs +2 -1
- package/dist/data-display/data-list.cjs.map +1 -0
- package/dist/data-display/data-list.d.cts +2 -1
- package/dist/data-display/data-list.d.ts +2 -1
- package/dist/data-display/data-list.js +2 -1
- package/dist/data-display/data-list.js.map +1 -0
- package/dist/data-display/date.d.cts +2 -1
- package/dist/data-display/date.d.ts +2 -1
- package/dist/data-display/empty.cjs +2 -1
- package/dist/data-display/empty.cjs.map +1 -0
- package/dist/data-display/empty.d.cts +4 -3
- package/dist/data-display/empty.d.ts +4 -3
- package/dist/data-display/empty.js +2 -1
- package/dist/data-display/empty.js.map +1 -0
- package/dist/data-display/name.cjs +2 -1
- package/dist/data-display/name.cjs.map +1 -0
- package/dist/data-display/name.d.cts +2 -1
- package/dist/data-display/name.d.ts +2 -1
- package/dist/data-display/name.js +2 -1
- package/dist/data-display/name.js.map +1 -0
- package/dist/data-display/phone-number.cjs +2 -1
- package/dist/data-display/phone-number.cjs.map +1 -0
- package/dist/data-display/phone-number.d.cts +2 -1
- package/dist/data-display/phone-number.d.ts +2 -1
- package/dist/data-display/phone-number.js +2 -1
- package/dist/data-display/phone-number.js.map +1 -0
- package/dist/data-display/role-badge.cjs +2 -1
- package/dist/data-display/role-badge.cjs.map +1 -0
- package/dist/data-display/role-badge.d.cts +2 -1
- package/dist/data-display/role-badge.d.ts +2 -1
- package/dist/data-display/role-badge.js +2 -1
- package/dist/data-display/role-badge.js.map +1 -0
- package/dist/data-display/statistic.cjs +2 -1
- package/dist/data-display/statistic.cjs.map +1 -0
- package/dist/data-display/statistic.d.cts +4 -3
- package/dist/data-display/statistic.d.ts +4 -3
- package/dist/data-display/statistic.js +2 -1
- package/dist/data-display/statistic.js.map +1 -0
- package/dist/date-BMq_DNsv.js +2 -1
- package/dist/date-BMq_DNsv.js.map +1 -0
- package/dist/date-ByLOGsKl.cjs +2 -1
- package/dist/date-ByLOGsKl.cjs.map +1 -0
- package/dist/{dialog-Dspjpsjh.d.cts → dialog-B3V9xxdD.d.cts} +13 -12
- package/dist/{dialog-BLDh3Gqw.js → dialog-C4hf-Puw.js} +2 -1
- package/dist/dialog-C4hf-Puw.js.map +1 -0
- package/dist/{dialog-B3cQOpjg.cjs → dialog-Cn8cFeu-.cjs} +2 -1
- package/dist/dialog-Cn8cFeu-.cjs.map +1 -0
- package/dist/{dialog-B13T--98.d.ts → dialog-Dlozd6qY.d.ts} +13 -12
- package/dist/dialogs/confirm-dialog.cjs +2 -1
- package/dist/dialogs/confirm-dialog.cjs.map +1 -0
- package/dist/dialogs/confirm-dialog.d.cts +2 -1
- package/dist/dialogs/confirm-dialog.d.ts +2 -1
- package/dist/dialogs/confirm-dialog.js +2 -1
- package/dist/dialogs/confirm-dialog.js.map +1 -0
- package/dist/dialogs/detail-dialog/index.cjs +2 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -0
- package/dist/dialogs/detail-dialog/index.d.cts +2 -1
- package/dist/dialogs/detail-dialog/index.d.ts +2 -1
- package/dist/dialogs/detail-dialog/index.js +2 -1
- package/dist/dialogs/detail-dialog/index.js.map +1 -0
- package/dist/dialogs/error-dialog.cjs +1 -1
- package/dist/dialogs/error-dialog.d.cts +2 -1
- package/dist/dialogs/error-dialog.d.ts +2 -1
- package/dist/dialogs/error-dialog.js +1 -1
- package/dist/dialogs/form-dialog.cjs +2 -1
- package/dist/dialogs/form-dialog.cjs.map +1 -0
- package/dist/dialogs/form-dialog.d.cts +4 -3
- package/dist/dialogs/form-dialog.d.ts +4 -3
- package/dist/dialogs/form-dialog.js +2 -1
- package/dist/dialogs/form-dialog.js.map +1 -0
- package/dist/dialogs/loading-dialog.cjs +2 -1
- package/dist/dialogs/loading-dialog.cjs.map +1 -0
- package/dist/dialogs/loading-dialog.d.cts +2 -1
- package/dist/dialogs/loading-dialog.d.ts +2 -1
- package/dist/dialogs/loading-dialog.js +2 -1
- package/dist/dialogs/loading-dialog.js.map +1 -0
- package/dist/{dropdown-menu-CPvB_jOC.cjs → dropdown-menu-D2Kh77uw.cjs} +2 -1
- package/dist/dropdown-menu-D2Kh77uw.cjs.map +1 -0
- package/dist/{dropdown-menu-Cx-Wime0.js → dropdown-menu-DTFOCPH_.js} +2 -1
- package/dist/dropdown-menu-DTFOCPH_.js.map +1 -0
- package/dist/{error-dialog-BTjeT7x-.cjs → error-dialog-DO0Bb-pi.cjs} +2 -1
- package/dist/error-dialog-DO0Bb-pi.cjs.map +1 -0
- package/dist/{error-dialog-DlhosP10.js → error-dialog-D_4WL-Hj.js} +2 -1
- package/dist/error-dialog-D_4WL-Hj.js.map +1 -0
- package/dist/flex-ILvQrYMJ.js +2 -1
- package/dist/flex-ILvQrYMJ.js.map +1 -0
- package/dist/flex-yTyoLpgH.cjs +2 -1
- package/dist/flex-yTyoLpgH.cjs.map +1 -0
- package/dist/form-CA4hhSV5.js +2 -1
- package/dist/form-CA4hhSV5.js.map +1 -0
- package/dist/form-C_PCHrpx.cjs +2 -1
- package/dist/form-C_PCHrpx.cjs.map +1 -0
- package/dist/{form-wrapper-YPIbD8rh.js → form-wrapper-D-2Uz518.js} +2 -1
- package/dist/form-wrapper-D-2Uz518.js.map +1 -0
- package/dist/{form-wrapper-CCqogufb.cjs → form-wrapper-FYiHHas7.cjs} +2 -1
- package/dist/form-wrapper-FYiHHas7.cjs.map +1 -0
- package/dist/forms/combobox-field.cjs +3 -2
- package/dist/forms/combobox-field.cjs.map +1 -0
- package/dist/forms/combobox-field.d.cts +4 -3
- package/dist/forms/combobox-field.d.ts +4 -3
- package/dist/forms/combobox-field.js +3 -2
- package/dist/forms/combobox-field.js.map +1 -0
- package/dist/forms/date-field.cjs +2 -1
- package/dist/forms/date-field.cjs.map +1 -0
- package/dist/forms/date-field.d.cts +4 -3
- package/dist/forms/date-field.d.ts +4 -3
- package/dist/forms/date-field.js +2 -1
- package/dist/forms/date-field.js.map +1 -0
- package/dist/forms/form-wrapper.cjs +1 -1
- package/dist/forms/form-wrapper.d.cts +4 -3
- package/dist/forms/form-wrapper.d.ts +4 -3
- package/dist/forms/form-wrapper.js +1 -1
- package/dist/forms/multi-select-field.cjs +2 -1
- package/dist/forms/multi-select-field.cjs.map +1 -0
- package/dist/forms/multi-select-field.d.cts +2 -1
- package/dist/forms/multi-select-field.d.ts +4 -3
- package/dist/forms/multi-select-field.js +2 -1
- package/dist/forms/multi-select-field.js.map +1 -0
- package/dist/forms/number-field.cjs +2 -1
- package/dist/forms/number-field.cjs.map +1 -0
- package/dist/forms/number-field.d.cts +4 -3
- package/dist/forms/number-field.d.ts +4 -3
- package/dist/forms/number-field.js +2 -1
- package/dist/forms/number-field.js.map +1 -0
- package/dist/forms/password-field.cjs +2 -1
- package/dist/forms/password-field.cjs.map +1 -0
- package/dist/forms/password-field.d.cts +4 -3
- package/dist/forms/password-field.d.ts +4 -3
- package/dist/forms/password-field.js +2 -1
- package/dist/forms/password-field.js.map +1 -0
- package/dist/forms/select-field.cjs +2 -1
- package/dist/forms/select-field.cjs.map +1 -0
- package/dist/forms/select-field.d.cts +4 -3
- package/dist/forms/select-field.d.ts +4 -3
- package/dist/forms/select-field.js +2 -1
- package/dist/forms/select-field.js.map +1 -0
- package/dist/forms/switch-field.cjs +2 -1
- package/dist/forms/switch-field.cjs.map +1 -0
- package/dist/forms/switch-field.d.cts +4 -3
- package/dist/forms/switch-field.d.ts +4 -3
- package/dist/forms/switch-field.js +2 -1
- package/dist/forms/switch-field.js.map +1 -0
- package/dist/forms/text-field.cjs +2 -1
- package/dist/forms/text-field.cjs.map +1 -0
- package/dist/forms/text-field.d.cts +4 -3
- package/dist/forms/text-field.d.ts +4 -3
- package/dist/forms/text-field.js +2 -1
- package/dist/forms/text-field.js.map +1 -0
- package/dist/forms/textarea-field.cjs +2 -1
- package/dist/forms/textarea-field.cjs.map +1 -0
- package/dist/forms/textarea-field.d.cts +4 -3
- package/dist/forms/textarea-field.d.ts +4 -3
- package/dist/forms/textarea-field.js +2 -1
- package/dist/forms/textarea-field.js.map +1 -0
- package/dist/input-C8Sebaue.cjs +2 -1
- package/dist/input-C8Sebaue.cjs.map +1 -0
- package/dist/{input-BcIy0lq8.d.cts → input-DlRU8OGl.d.cts} +4 -3
- package/dist/input-Dmaq3fzf.js +2 -1
- package/dist/input-Dmaq3fzf.js.map +1 -0
- package/dist/{input-Cux9upuQ.d.ts → input-yduNlg8y.d.ts} +4 -3
- package/dist/label-Cxbctr6x.js +2 -1
- package/dist/label-Cxbctr6x.js.map +1 -0
- package/dist/label-i858Jr98.cjs +2 -1
- package/dist/label-i858Jr98.cjs.map +1 -0
- package/dist/layouts/flex.d.cts +4 -3
- package/dist/layouts/flex.d.ts +6 -5
- package/dist/layouts/main/index.cjs +2 -1
- package/dist/layouts/main/index.cjs.map +1 -0
- package/dist/layouts/main/index.d.cts +6 -5
- package/dist/layouts/main/index.d.ts +2 -1
- package/dist/layouts/main/index.js +2 -1
- package/dist/layouts/main/index.js.map +1 -0
- package/dist/{multi-select-LYl29d4h.js → multi-select-Bbv0Z0TP.js} +2 -1
- package/dist/multi-select-Bbv0Z0TP.js.map +1 -0
- package/dist/{multi-select-DZBXSr7F.cjs → multi-select-EqlnkO5V.cjs} +2 -1
- package/dist/multi-select-EqlnkO5V.cjs.map +1 -0
- package/dist/paragraph-Bey03JkA.js +2 -1
- package/dist/paragraph-Bey03JkA.js.map +1 -0
- package/dist/paragraph-DWQ0PZt_.cjs +2 -1
- package/dist/paragraph-DWQ0PZt_.cjs.map +1 -0
- package/dist/{popover-tDri6Ded.js → popover-B8j86VQv.js} +2 -1
- package/dist/popover-B8j86VQv.js.map +1 -0
- package/dist/{popover-Ce0OTSQL.cjs → popover-CAokgoc_.cjs} +2 -1
- package/dist/popover-CAokgoc_.cjs.map +1 -0
- package/dist/progress-CHh9eRZi.cjs +2 -1
- package/dist/progress-CHh9eRZi.cjs.map +1 -0
- package/dist/progress-CeXKNvJc.js +2 -1
- package/dist/progress-CeXKNvJc.js.map +1 -0
- package/dist/{refresh-BPlmkCzH.js → refresh-B__T7OFC.js} +2 -1
- package/dist/refresh-B__T7OFC.js.map +1 -0
- package/dist/{refresh-Dtz354hW.cjs → refresh-BuL5nDf9.cjs} +2 -1
- package/dist/refresh-BuL5nDf9.cjs.map +1 -0
- package/dist/{scroll-area-D-IhBWqm.js → scroll-area-C0KQbcG0.js} +2 -1
- package/dist/scroll-area-C0KQbcG0.js.map +1 -0
- package/dist/{scroll-area-Ba9RvkDf.cjs → scroll-area-fNeFxa8L.cjs} +2 -1
- package/dist/scroll-area-fNeFxa8L.cjs.map +1 -0
- package/dist/{search-input-BG4-fO9W.js → search-input-BGmx8sXy.js} +2 -1
- package/dist/search-input-BGmx8sXy.js.map +1 -0
- package/dist/{search-input-DVMQEBvb.cjs → search-input-CWCcWgmA.cjs} +2 -1
- package/dist/search-input-CWCcWgmA.cjs.map +1 -0
- package/dist/select-4IO3vAjO.js +2 -1
- package/dist/select-4IO3vAjO.js.map +1 -0
- package/dist/select-UsiicIRo.cjs +2 -1
- package/dist/select-UsiicIRo.cjs.map +1 -0
- package/dist/{separator-J8f9PdbI.d.ts → separator-C4XPc_2Y.d.cts} +4 -3
- package/dist/separator-D4iTmsID.cjs +2 -1
- package/dist/separator-D4iTmsID.cjs.map +1 -0
- package/dist/separator-DMdqEz29.js +2 -1
- package/dist/separator-DMdqEz29.js.map +1 -0
- package/dist/{separator-DtZ0fiIK.d.cts → separator-o7tKOtGF.d.ts} +3 -2
- package/dist/sheet-2JqHfdYi.js +2 -1
- package/dist/sheet-2JqHfdYi.js.map +1 -0
- package/dist/sheet-Dr-a3-o2.cjs +2 -1
- package/dist/sheet-Dr-a3-o2.cjs.map +1 -0
- package/dist/sidebar-COBzB7S8.js +2 -1
- package/dist/sidebar-COBzB7S8.js.map +1 -0
- package/dist/sidebar-gXuaHBie.cjs +2 -1
- package/dist/sidebar-gXuaHBie.cjs.map +1 -0
- package/dist/skeleton-BTQm_mtV.cjs +2 -1
- package/dist/skeleton-BTQm_mtV.cjs.map +1 -0
- package/dist/skeleton-D1_Brnl9.js +2 -1
- package/dist/skeleton-D1_Brnl9.js.map +1 -0
- package/dist/switch-BlK-TC1h.js +2 -1
- package/dist/switch-BlK-TC1h.js.map +1 -0
- package/dist/switch-CoP3UwNk.cjs +2 -1
- package/dist/switch-CoP3UwNk.cjs.map +1 -0
- package/dist/table/index.cjs +2 -1
- package/dist/table/index.cjs.map +1 -0
- package/dist/table/index.d.cts +4 -3
- package/dist/table/index.d.ts +4 -3
- package/dist/table/index.js +2 -1
- package/dist/table/index.js.map +1 -0
- package/dist/{table-C46bXpzd.cjs → table-CFqnfTKO.cjs} +2 -1
- package/dist/table-CFqnfTKO.cjs.map +1 -0
- package/dist/{table-nHFRC3DG.js → table-DrnU8YJP.js} +2 -1
- package/dist/table-DrnU8YJP.js.map +1 -0
- package/dist/textarea-Dz6npuI4.cjs +2 -1
- package/dist/textarea-Dz6npuI4.cjs.map +1 -0
- package/dist/textarea-dM1DYNfF.js +2 -1
- package/dist/textarea-dM1DYNfF.js.map +1 -0
- package/dist/{title-DTkABsIG.js → title-CA6PvqiD.js} +2 -1
- package/dist/title-CA6PvqiD.js.map +1 -0
- package/dist/{title-BlLBscIg.cjs → title-CIQdEGOd.cjs} +2 -1
- package/dist/title-CIQdEGOd.cjs.map +1 -0
- package/dist/{toggle-8wPArWPq.d.cts → toggle-BCSHdzP0.d.cts} +7 -6
- package/dist/toggle-CHJ2edke.js +2 -1
- package/dist/toggle-CHJ2edke.js.map +1 -0
- package/dist/toggle-CzMYdDvC.cjs +2 -1
- package/dist/toggle-CzMYdDvC.cjs.map +1 -0
- package/dist/{toggle-3yC7NgOb.d.ts → toggle-D42pqCTD.d.ts} +5 -4
- package/dist/{tooltip-Bo9id3nz.d.ts → tooltip-DZ2Shzgg.d.ts} +7 -6
- package/dist/{tooltip-JbjxxBNd.d.cts → tooltip-Dn8AOhc4.d.cts} +7 -6
- package/dist/tooltip-Dzyf5smh.js +2 -1
- package/dist/tooltip-Dzyf5smh.js.map +1 -0
- package/dist/tooltip-MgToVOzy.cjs +2 -1
- package/dist/tooltip-MgToVOzy.cjs.map +1 -0
- package/dist/types-B0V1F4Ml.d.cts +2 -1
- package/dist/types-CmcNT14g.d.ts +2 -1
- package/dist/types-CrbWxjnp.cjs +2 -1
- package/dist/types-CrbWxjnp.cjs.map +1 -0
- package/dist/types-DaIHddx7.js +2 -1
- package/dist/types-DaIHddx7.js.map +1 -0
- package/dist/typography/paragraph.d.cts +4 -3
- package/dist/typography/paragraph.d.ts +4 -3
- package/dist/typography/title.cjs +1 -1
- package/dist/typography/title.d.cts +4 -3
- package/dist/typography/title.d.ts +4 -3
- package/dist/typography/title.js +1 -1
- package/dist/ui/alert-dialog.cjs +1 -1
- package/dist/ui/alert-dialog.d.cts +14 -13
- package/dist/ui/alert-dialog.d.ts +14 -13
- package/dist/ui/alert-dialog.js +1 -1
- package/dist/ui/alert.cjs +2 -1
- package/dist/ui/alert.cjs.map +1 -0
- package/dist/ui/alert.d.cts +6 -5
- package/dist/ui/alert.d.ts +8 -7
- package/dist/ui/alert.js +2 -1
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.cjs +2 -1
- package/dist/ui/aspect-ratio.cjs.map +1 -0
- package/dist/ui/aspect-ratio.d.cts +4 -3
- package/dist/ui/aspect-ratio.d.ts +4 -3
- package/dist/ui/aspect-ratio.js +2 -1
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/avatar.cjs +2 -1
- package/dist/ui/avatar.cjs.map +1 -0
- package/dist/ui/avatar.d.cts +6 -5
- package/dist/ui/avatar.d.ts +6 -5
- package/dist/ui/avatar.js +2 -1
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.cts +4 -3
- package/dist/ui/badge.d.ts +4 -3
- package/dist/ui/breadcrumb.cjs +2 -1
- package/dist/ui/breadcrumb.cjs.map +1 -0
- package/dist/ui/breadcrumb.d.cts +10 -9
- package/dist/ui/breadcrumb.d.ts +10 -9
- package/dist/ui/breadcrumb.js +2 -1
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/buttons/add-new.cjs +1 -1
- package/dist/ui/buttons/add-new.d.cts +2 -1
- package/dist/ui/buttons/add-new.d.ts +2 -1
- package/dist/ui/buttons/add-new.js +1 -1
- package/dist/ui/buttons/refresh.cjs +1 -1
- package/dist/ui/buttons/refresh.d.cts +2 -1
- package/dist/ui/buttons/refresh.d.ts +2 -1
- package/dist/ui/buttons/refresh.js +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +6 -5
- package/dist/ui/calendar.d.ts +6 -5
- package/dist/ui/calendar.js +1 -1
- package/dist/ui/card.d.cts +10 -9
- package/dist/ui/card.d.ts +10 -9
- package/dist/ui/carousel.cjs +2 -1
- package/dist/ui/carousel.cjs.map +1 -0
- package/dist/ui/carousel.d.cts +9 -8
- package/dist/ui/carousel.d.ts +9 -8
- package/dist/ui/carousel.js +2 -1
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/collapsible.cjs +2 -1
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.d.cts +6 -5
- package/dist/ui/collapsible.d.ts +6 -5
- package/dist/ui/collapsible.js +2 -1
- package/dist/ui/collapsible.js.map +1 -0
- 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 +2 -1
- package/dist/ui/context-menu.cjs.map +1 -0
- package/dist/ui/context-menu.d.cts +18 -17
- package/dist/ui/context-menu.d.ts +18 -17
- package/dist/ui/context-menu.js +2 -1
- package/dist/ui/context-menu.js.map +1 -0
- 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 +18 -17
- package/dist/ui/dropdown-menu.d.ts +18 -17
- package/dist/ui/dropdown-menu.js +1 -1
- package/dist/ui/file-uploader.cjs +2 -1
- package/dist/ui/file-uploader.cjs.map +1 -0
- package/dist/ui/file-uploader.d.cts +4 -3
- package/dist/ui/file-uploader.d.ts +4 -3
- package/dist/ui/file-uploader.js +2 -1
- package/dist/ui/file-uploader.js.map +1 -0
- package/dist/ui/form.d.cts +9 -8
- package/dist/ui/form.d.ts +9 -8
- package/dist/ui/hover-card.cjs +2 -1
- package/dist/ui/hover-card.cjs.map +1 -0
- package/dist/ui/hover-card.d.cts +6 -5
- package/dist/ui/hover-card.d.ts +6 -5
- package/dist/ui/hover-card.js +2 -1
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/input-otp.cjs +2 -1
- package/dist/ui/input-otp.cjs.map +1 -0
- package/dist/ui/input-otp.d.cts +7 -6
- package/dist/ui/input-otp.d.ts +7 -6
- package/dist/ui/input-otp.js +2 -1
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/inputs/search-input.cjs +1 -1
- package/dist/ui/inputs/search-input.d.cts +5 -4
- package/dist/ui/inputs/search-input.d.ts +5 -4
- package/dist/ui/inputs/search-input.js +1 -1
- package/dist/ui/label.d.cts +4 -3
- package/dist/ui/label.d.ts +4 -3
- package/dist/ui/menubar.cjs +2 -1
- package/dist/ui/menubar.cjs.map +1 -0
- package/dist/ui/menubar.d.cts +19 -18
- package/dist/ui/menubar.d.ts +19 -18
- package/dist/ui/menubar.js +2 -1
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.d.cts +4 -3
- package/dist/ui/multi-select.d.ts +4 -3
- package/dist/ui/multi-select.js +1 -1
- package/dist/ui/navigation-menu.cjs +2 -1
- package/dist/ui/navigation-menu.cjs.map +1 -0
- package/dist/ui/navigation-menu.d.cts +11 -10
- package/dist/ui/navigation-menu.d.ts +13 -12
- package/dist/ui/navigation-menu.js +2 -1
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/pagination.cjs +2 -1
- package/dist/ui/pagination.cjs.map +1 -0
- package/dist/ui/pagination.d.cts +11 -10
- package/dist/ui/pagination.d.ts +11 -10
- package/dist/ui/pagination.js +2 -1
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +7 -6
- package/dist/ui/popover.d.ts +7 -6
- package/dist/ui/popover.js +1 -1
- package/dist/ui/progress.d.cts +4 -3
- package/dist/ui/progress.d.ts +4 -3
- package/dist/ui/radio-group.cjs +2 -1
- package/dist/ui/radio-group.cjs.map +1 -0
- package/dist/ui/radio-group.d.cts +5 -4
- package/dist/ui/radio-group.d.ts +5 -4
- package/dist/ui/radio-group.js +2 -1
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.cjs +2 -1
- package/dist/ui/resizable.cjs.map +1 -0
- package/dist/ui/resizable.d.cts +6 -5
- package/dist/ui/resizable.d.ts +6 -5
- package/dist/ui/resizable.js +2 -1
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.cjs +1 -1
- package/dist/ui/scroll-area.d.cts +5 -4
- package/dist/ui/scroll-area.d.ts +5 -4
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/select.d.cts +13 -12
- package/dist/ui/select.d.ts +13 -12
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.d.cts +11 -10
- package/dist/ui/sheet.d.ts +11 -10
- package/dist/ui/sidebar.d.cts +33 -32
- package/dist/ui/sidebar.d.ts +33 -32
- package/dist/ui/skeleton.d.cts +2 -1
- package/dist/ui/skeleton.d.ts +4 -3
- package/dist/ui/slider.cjs +2 -1
- package/dist/ui/slider.cjs.map +1 -0
- package/dist/ui/slider.d.cts +4 -3
- package/dist/ui/slider.d.ts +4 -3
- package/dist/ui/slider.js +2 -1
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.cjs +2 -1
- package/dist/ui/sonner.cjs.map +1 -0
- package/dist/ui/sonner.d.cts +4 -3
- package/dist/ui/sonner.d.ts +4 -3
- package/dist/ui/sonner.js +2 -1
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/switch.d.cts +4 -3
- package/dist/ui/switch.d.ts +4 -3
- package/dist/ui/table.cjs +1 -1
- package/dist/ui/table.d.cts +11 -10
- package/dist/ui/table.d.ts +11 -10
- package/dist/ui/table.js +1 -1
- package/dist/ui/tabs.cjs +2 -1
- package/dist/ui/tabs.cjs.map +1 -0
- package/dist/ui/tabs.d.cts +7 -6
- package/dist/ui/tabs.d.ts +7 -6
- package/dist/ui/tabs.js +2 -1
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.d.cts +4 -3
- package/dist/ui/textarea.d.ts +4 -3
- package/dist/ui/toggle-group.cjs +2 -1
- package/dist/ui/toggle-group.cjs.map +1 -0
- package/dist/ui/toggle-group.d.cts +6 -5
- package/dist/ui/toggle-group.d.ts +6 -5
- package/dist/ui/toggle-group.js +2 -1
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/utils-D9AH0PUV.js +2 -1
- package/dist/utils-D9AH0PUV.js.map +1 -0
- package/dist/utils-DaJ1XZgX.cjs +2 -1
- package/dist/utils-DaJ1XZgX.cjs.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"../../utils-D9AH0PUV.js";import{Flex as t}from"../../flex-ILvQrYMJ.js";import{DateDisplay as n}from"../../date-BMq_DNsv.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"../../tooltip-Dzyf5smh.js";import{Button as s}from"../../button-Bku3bKv9.js";import{Dialog as c,DialogContent as l,DialogDescription as u,DialogHeader as d,DialogTitle as f}from"../../dialog-
|
|
1
|
+
import{cn as e}from"../../utils-D9AH0PUV.js";import{Flex as t}from"../../flex-ILvQrYMJ.js";import{DateDisplay as n}from"../../date-BMq_DNsv.js";import{Tooltip as r,TooltipContent as i,TooltipProvider as a,TooltipTrigger as o}from"../../tooltip-Dzyf5smh.js";import{Button as s}from"../../button-Bku3bKv9.js";import{Dialog as c,DialogContent as l,DialogDescription as u,DialogHeader as d,DialogTitle as f}from"../../dialog-C4hf-Puw.js";import"../../input-Dmaq3fzf.js";import{Title as p}from"../../title-CA6PvqiD.js";import"../../separator-DMdqEz29.js";import"../../skeleton-D1_Brnl9.js";import m from"react";import{jsx as h,jsxs as g}from"react/jsx-runtime";import{cva as _}from"class-variance-authority";import{CalendarIcon as v,CatIcon as y,MenuIcon as b}from"lucide-react";import{Slot as x}from"radix-ui";const S=()=>g(d,{className:`sr-only`,children:[h(f,{className:`sr-only`}),h(u,{className:`sr-only`})]}),C=m.createContext(null);function w(){let e=m.useContext(C);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function T({defaultOpen:t=!0,open:n,onOpenChange:r,className:i,style:o,children:s,...c}){let[l,u]=m.useState(!1),[d,f]=m.useState(t),p=n??d,g=m.useCallback(e=>{let t=typeof e==`function`?e(p):e;r?r(t):f(t),document.cookie=`detai_dialog_sidebar_state=${t}; path=/; max-age=604800`},[r,p]),_=m.useCallback(()=>g(e=>!e),[g]);m.useEffect(()=>{let e=e=>{e.key===`p`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]);let v=p?`expanded`:`collapsed`,y=m.useMemo(()=>({state:v,open:p,setOpen:g,openMobile:l,setOpenMobile:u,toggleSidebar:_}),[v,p,g,l,u,_]);return h(C.Provider,{value:y,children:h(a,{delayDuration:0,children:h(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`3rem`,...o},className:e(`group/sidebar-wrapper`,`has-data-[variant=inset]:bg-sidebar`,`flex min-h-svh w-full`,i),...c,children:s})})})}function E({side:t=`left`,variant:n=`sidebar`,collapsible:r=`offcanvas`,className:i,children:a,...o}){let{state:s}=w();return r===`none`?h(`div`,{"data-slot":`sidebar`,className:e(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,i),...o,children:a}):g(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?r:``,"data-variant":n,"data-side":t,"data-slot":`sidebar`,children:[h(`div`,{"data-slot":`sidebar-gap`,className:e(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),h(`div`,{"data-slot":`sidebar-container`,className:e(`absolute inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,t===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,i),...o,children:h(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:e(`flex h-full w-full flex-col`,`group-data-[variant=floating]:border-sidebar-border`,`group-data-[variant=floating]:rounded-lg`,`group-data-[variant=floating]:border`,`group-data-[variant=floating]:shadow-sm`),children:a})})]})}function D({className:t,onClick:n,...r}){let{toggleSidebar:i}=w();return g(s,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:e(`size-10 rounded-full [&_svg]:!size-6`,t),onClick:e=>{n?.(e),i()},...r,children:[h(b,{}),h(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})}function O({className:t,...n}){return h(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function k({className:t,...n}){return h(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:e(`flex flex-col gap-2 p-2`,t),...n})}function A({className:t,...n}){return h(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:e(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,`group-data-[collapsible=icon]:overflow-hidden`,t),...n})}function j({className:t,...n}){return h(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:e(`relative flex w-full min-w-0 flex-col p-2`,t),...n})}function M({className:t,...n}){return h(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:e(`flex w-full min-w-0 flex-col gap-1`,t),...n})}function N({className:t,...n}){return h(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:e(`group/menu-item relative`,t),...n})}const P=_(`peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background border shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function F({asChild:t=!1,isActive:n=!1,variant:a=`default`,size:s=`default`,tooltip:c,className:l,...u}){let d=t?x.Slot:`button`,{state:f}=w(),p=h(d,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":s,"data-active":n,className:e(P({variant:a,size:s}),l),...u});return c?(typeof c==`string`&&(c={children:c}),g(r,{children:[h(o,{asChild:!0,children:p}),h(i,{side:`right`,align:`center`,hidden:f!==`collapsed`,...c})]})):p}const I=({children:e})=>h(`main`,{className:`relative flex h-full flex-1 flex-col`,children:h(`div`,{className:`absolute inset-0 flex size-full flex-col`,children:e})}),L=({title:e,createdAt:r})=>g(`header`,{className:`relative flex items-start gap-x-2.5 border-b px-2 py-2.5`,children:[h(D,{}),g(t,{vertical:!0,align:`start`,padding:`none`,className:`flex-1`,children:[h(p,{level:5,children:e||`Detail Dialog`}),g(t,{padding:`none`,className:`text-muted-foreground`,children:[h(v,{size:12}),!!r&&h(n,{showTime:!0,showHoliday:!0,date:r,format:`full`})]})]})]}),R=({children:e})=>h(l,{className:`relative h-full max-h-[90svh] overflow-hidden rounded-lg border-none p-0 sm:max-w-[calc(100svw-2rem)]`,onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:e}),z=({title:e,sidebarFooter:t,children:n})=>g(E,{collapsible:`icon`,className:`hidden border-r md:flex`,children:[h(O,{children:h(M,{children:h(N,{children:g(F,{size:`lg`,tabIndex:-1,children:[h(`div`,{className:`bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg`,children:h(y,{size:16})}),g(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[h(`span`,{className:`truncate font-medium`,children:e||`Detail Dialog`}),h(`span`,{className:`truncate text-xs`,children:`Lunas Enterprise`})]})]})})})}),h(A,{children:h(j,{children:n})}),t&&h(k,{children:t})]}),B=({open:e,isLoading:n=!1,sidebarTitle:r,sidebar:i,sidebarFooter:a,title:o,createdAt:s,onOpenChange:l,children:u})=>h(c,{open:e,onOpenChange:l,children:g(R,{children:[h(S,{}),g(T,{className:`h-full min-h-[85svh] items-start`,children:[h(z,{title:r,sidebarFooter:a,children:i}),g(I,{children:[h(L,{title:o,createdAt:s}),n?h(t,{justify:`center`,className:`bg-muted/50 size-full`,children:h(`div`,{className:`loader`})}):h(`section`,{className:`bg-muted/50 relative flex-1 overflow-y-auto inset-shadow-sm`,children:u})]})]})]})});export{B as DetailDialog};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["open","SlotPrimitive","Tooltip","DetailDialogMain: React.FC<React.PropsWithChildren>","DetailDialogMainHeader: React.FC<\n React.PropsWithChildren<{\n title: string;\n createdAt: string | Date | number;\n }>\n>","DetailDialogWrapper: React.FC<React.PropsWithChildren>","DetailDialogSidebar: React.FC<\n React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>\n>","DetailDialog: React.FC<React.PropsWithChildren<Props>>","Dialog"],"sources":["../../../packages/components/dialogs/detail-dialog/component/header.tsx","../../../packages/components/dialogs/detail-dialog/component/sidebar.tsx","../../../packages/components/dialogs/detail-dialog/component/main.tsx","../../../packages/components/dialogs/detail-dialog/component/wrapper.tsx","../../../packages/components/dialogs/detail-dialog/index.tsx"],"sourcesContent":["import {\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\";\n\nexport const DetailDialogHeader = () => {\n return (\n <DialogHeader className=\"sr-only\">\n <DialogTitle className=\"sr-only\"></DialogTitle>\n <DialogDescription className=\"sr-only\"></DialogDescription>\n </DialogHeader>\n );\n};\n","\"use client\"\nimport React from \"react\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { MenuIcon } from \"lucide-react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"detai_dialog_sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"p\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return setOpen((open) => !open);\n }, [setOpen]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper\",\n \"has-data-[variant=inset]:bg-sidebar\",\n \"flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { state } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"absolute inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className={cn(\n \"flex h-full w-full flex-col\",\n \"group-data-[variant=floating]:border-sidebar-border\",\n \"group-data-[variant=floating]:rounded-lg\",\n \"group-data-[variant=floating]:border\",\n \"group-data-[variant=floating]:shadow-sm\",\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-10 rounded-full [&_svg]:!size-6\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <MenuIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear sm:flex\",\n \"after:absolute\",\n \"after:inset-y-0\",\n \"after:left-1/2 after:w-0.5\",\n \"hover:after:bg-sidebar-border\",\n \"group-data-[side=left]:-right-4\",\n \"group-data-[side=right]:left-0\",\n \"in-data-[side=left]:cursor-w-resize\",\n \"in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize\",\n \"[[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar\",\n \"group-data-[collapsible=offcanvas]:translate-x-0\",\n \"group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-background relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-2\",\n \"md:peer-data-[variant=inset]:ml-0\",\n \"md:peer-data-[variant=inset]:rounded-xl\",\n \"md:peer-data-[variant=inset]:shadow-sm\",\n \"md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-background h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto\",\n \"group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear\",\n \"focus-visible:ring-2\",\n \"[&>svg]:size-4\",\n \"[&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8\",\n \"group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform\",\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n \"focus-visible:ring-2\",\n \"[&>svg]:size-4\",\n \"[&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute\",\n \"after:-inset-2\",\n \"md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button cursor-pointer flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background border shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\";\n const { state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\"}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring\",\n \"hover:bg-sidebar-accent\",\n \"hover:text-sidebar-accent-foreground\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform\",\n \"focus-visible:ring-2\",\n \"[&>svg]:size-4\",\n \"[&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n showOnHover && \"$group-focus-within/menu-item:opacity-100\",\n showOnHover && \"group-hover/menu-item:opacity-100\",\n showOnHover && \"data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = asChild ? SlotPrimitive.Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring\",\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden\",\n \"hover:bg-sidebar-accent\",\n \"hover:text-sidebar-accent-foreground\",\n \"active:bg-sidebar-accent\",\n \"active:text-sidebar-accent-foreground\",\n \"focus-visible:ring-2\",\n \"disabled:pointer-events-none\",\n \"disabled:opacity-50\",\n \"aria-disabled:pointer-events-none\",\n \"aria-disabled:opacity-50\",\n \"[&>span:last-child]:truncate\",\n \"[&>svg]:size-4\",\n \"[&>svg]:shrink-0\",\n \"[&>svg]:text-sidebar-accent-foreground\",\n \"data-[active=true]:bg-sidebar-accent\",\n \"data-[active=true]:text-sidebar-accent-foreground\",\n \"group-data-[collapsible=icon]:hidden\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n // eslint-disable-next-line react-refresh/only-export-components\n useSidebar,\n};\n","import { CalendarIcon } from \"lucide-react\";\n\nimport { DateDisplay } from \"@/components/data-display/date\";\nimport { Flex } from \"@/components/layouts/flex\";\nimport { Title } from \"@/components/typography/title\";\n\nimport { SidebarTrigger } from \"./sidebar\";\n\nexport const DetailDialogMain: React.FC<React.PropsWithChildren> = ({\n children,\n}) => {\n return (\n <main className=\"relative flex h-full flex-1 flex-col\">\n <div className=\"absolute inset-0 flex size-full flex-col\">{children}</div>\n </main>\n );\n};\n\nexport const DetailDialogMainHeader: React.FC<\n React.PropsWithChildren<{\n title: string;\n createdAt: string | Date | number;\n }>\n> = ({ title, createdAt }) => {\n return (\n <header className=\"relative flex items-start gap-x-2.5 border-b px-2 py-2.5\">\n <SidebarTrigger />\n <Flex vertical align=\"start\" padding=\"none\" className=\"flex-1\">\n <Title level={5}>{title || \"Detail Dialog\"}</Title>\n <Flex padding=\"none\" className=\"text-muted-foreground\">\n <CalendarIcon size={12} />\n {!!createdAt && (\n <DateDisplay showTime showHoliday date={createdAt} format=\"full\" />\n )}\n </Flex>\n </Flex>\n </header>\n );\n};\n","import { DialogContent } from \"@/components/ui/dialog\";\n\nexport const DetailDialogWrapper: React.FC<React.PropsWithChildren> = ({\n children,\n}) => {\n return (\n <DialogContent\n className=\"relative h-full max-h-[90svh] overflow-hidden rounded-lg border-none p-0 sm:max-w-[calc(100svw-2rem)]\"\n onInteractOutside={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n {children}\n </DialogContent>\n );\n};\n","import { CatIcon } from \"lucide-react\";\n\nimport { Flex } from \"@/components/layouts/flex\";\nimport { Dialog } from \"@/components/ui/dialog\";\n\nimport { DetailDialogHeader } from \"./component/header\";\nimport { DetailDialogMain, DetailDialogMainHeader } from \"./component/main\";\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarProvider,\n} from \"./component/sidebar\";\nimport { DetailDialogWrapper } from \"./component/wrapper\";\n\nconst DetailDialogSidebar: React.FC<\n React.PropsWithChildren<{ title?: string; sidebarFooter?: React.ReactNode }>\n> = ({ title, sidebarFooter, children }) => {\n return (\n <Sidebar collapsible=\"icon\" className=\"hidden border-r md:flex\">\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton size=\"lg\" tabIndex={-1}>\n <div className=\"bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg\">\n <CatIcon size={16} />\n </div>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">\n {title || \"Detail Dialog\"}\n </span>\n <span className=\"truncate text-xs\">Lunas Enterprise</span>\n </div>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarHeader>\n <SidebarContent>\n <SidebarGroup>{children}</SidebarGroup>\n </SidebarContent>\n {sidebarFooter && <SidebarFooter>{sidebarFooter}</SidebarFooter>}\n </Sidebar>\n );\n};\n\ntype Props = {\n open?: boolean;\n isLoading?: boolean;\n sidebarTitle?: string;\n sidebar?: React.ReactNode;\n sidebarFooter?: React.ReactNode;\n title: string;\n createdAt: string | Date | number;\n onOpenChange?: (open: boolean) => void | Promise<void>;\n};\nexport const DetailDialog: React.FC<React.PropsWithChildren<Props>> = ({\n open,\n isLoading = false,\n sidebarTitle,\n sidebar,\n sidebarFooter,\n title,\n createdAt,\n onOpenChange,\n children,\n}) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DetailDialogWrapper>\n <DetailDialogHeader />\n\n <SidebarProvider className=\"h-full min-h-[85svh] items-start\">\n <DetailDialogSidebar\n title={sidebarTitle}\n sidebarFooter={sidebarFooter}\n >\n {sidebar}\n </DetailDialogSidebar>\n <DetailDialogMain>\n <DetailDialogMainHeader title={title} createdAt={createdAt} />\n {isLoading ? (\n <Flex justify=\"center\" className=\"bg-muted/50 size-full\">\n <div className=\"loader\" />\n </Flex>\n ) : (\n <section className=\"bg-muted/50 relative flex-1 overflow-y-auto inset-shadow-sm\">\n {children}\n </section>\n )}\n </DetailDialogMain>\n </SidebarProvider>\n </DetailDialogWrapper>\n </Dialog>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../chunk-hhQzssFb.cjs`);require(`../utils-DaJ1XZgX.cjs`),require(`../button-CycE0WzB.cjs`),require(`../alert-dialog-
|
|
1
|
+
const e=require(`../chunk-hhQzssFb.cjs`);require(`../utils-DaJ1XZgX.cjs`),require(`../button-CycE0WzB.cjs`),require(`../alert-dialog-BQv-ZvW9.cjs`);const t=require(`../error-dialog-DO0Bb-pi.cjs`);exports.ErrorDialog=t.ErrorDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../utils-D9AH0PUV.js";import"../button-Bku3bKv9.js";import"../alert-dialog-
|
|
1
|
+
import"../utils-D9AH0PUV.js";import"../button-Bku3bKv9.js";import"../alert-dialog-0KwdjY-6.js";import{ErrorDialog as e}from"../error-dialog-D_4WL-Hj.js";export{e as ErrorDialog};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`../chunk-hhQzssFb.cjs`),t=require(`../utils-DaJ1XZgX.cjs`),n=require(`../button-CycE0WzB.cjs`)
|
|
1
|
+
const e=require(`../chunk-hhQzssFb.cjs`),t=require(`../utils-DaJ1XZgX.cjs`),n=require(`../button-CycE0WzB.cjs`);require(`../alert-dialog-BQv-ZvW9.cjs`),require(`../error-dialog-DO0Bb-pi.cjs`),require(`../label-i858Jr98.cjs`),require(`../form-C_PCHrpx.cjs`);const r=require(`../form-wrapper-FYiHHas7.cjs`),i=require(`../dialog-Cn8cFeu-.cjs`),a=e.__toESM(require(`react/jsx-runtime`)),o=({form:e,open:o,isSubmitting:s=!1,isResetAfterSubmit:c=!0,disableSubmit:l=!1,title:u,description:d,className:f,onOpenChange:p,onSubmit:m,onError:h,onReset:g,children:_})=>(0,a.jsx)(i.Dialog,{open:o,onOpenChange:p,children:(0,a.jsxs)(i.DialogContent,{className:t.cn(`flex flex-col gap-0 border-none p-0`,f),onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,a.jsxs)(i.DialogHeader,{className:`flex-0 gap-2 border-b px-6 pt-6 pb-4`,children:[(0,a.jsx)(i.DialogTitle,{children:u||`Form Dialog`}),(0,a.jsx)(i.DialogDescription,{children:d||`This is a form dialog where you can add your form elements.`})]}),(0,a.jsxs)(r.FormWrapper,{form:e,isResetAfterSubmit:c,className:`flex flex-1 flex-col overflow-y-auto pt-4`,onSubmit:m,onError:h,children:[(0,a.jsx)(`main`,{className:`flex-1 overflow-y-auto px-6`,children:_}),(0,a.jsxs)(i.DialogFooter,{className:`border-t px-6 pt-4 pb-6`,children:[(0,a.jsx)(n.Button,{tabIndex:-1,type:`button`,variant:`outline`,className:`w-30 rounded-full`,onClick:g,children:`Reset`}),(0,a.jsx)(n.Button,{autoFocus:!0,tabIndex:0,type:`submit`,isLoading:s,disabled:l,className:`w-30 rounded-full`,children:`Xác nhận`})]})]})]})});exports.FormDialog=o;
|
|
2
|
+
//# sourceMappingURL=form-dialog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-dialog.cjs","names":["Dialog","DialogContent","cn","DialogHeader","DialogTitle","DialogDescription","FormWrapper","DialogFooter","Button"],"sources":["../../packages/components/dialogs/form-dialog.tsx"],"sourcesContent":["import type {\n FieldValues,\n FormState,\n SubmitErrorHandler,\n UseFormProps,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FormWrapper } from \"../forms/form-wrapper\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n form: UseFormProps<TFieldValues>;\n\n open: boolean;\n isSubmitting?: boolean;\n isResetAfterSubmit?: boolean;\n disableSubmit?: boolean;\n title?: string;\n description?: string;\n className?: string;\n\n onOpenChange: (open: boolean) => void;\n onSubmit: (\n data: TFieldValues,\n formState: FormState<FieldValues>,\n dirtyFields: FormState<FieldValues>[\"dirtyFields\"],\n ) => void | Promise<void>;\n onError?: SubmitErrorHandler<TFieldValues>;\n onReset?: () => void;\n};\nexport const FormDialog = <TFieldValues extends FieldValues = FieldValues>({\n form,\n open,\n isSubmitting = false,\n isResetAfterSubmit = true,\n disableSubmit = false,\n title,\n description,\n className,\n\n onOpenChange,\n onSubmit,\n onError,\n onReset,\n children,\n}: React.PropsWithChildren<Props<TFieldValues>>) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className={cn(\"flex flex-col gap-0 border-none p-0\", className)}\n onInteractOutside={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <DialogHeader className=\"flex-0 gap-2 border-b px-6 pt-6 pb-4\">\n <DialogTitle>{title || \"Form Dialog\"}</DialogTitle>\n <DialogDescription>\n {description ||\n \"This is a form dialog where you can add your form elements.\"}\n </DialogDescription>\n </DialogHeader>\n <FormWrapper\n form={form}\n isResetAfterSubmit={isResetAfterSubmit}\n className=\"flex flex-1 flex-col overflow-y-auto pt-4\"\n onSubmit={onSubmit}\n onError={onError}\n >\n <main className=\"flex-1 overflow-y-auto px-6\">{children}</main>\n <DialogFooter className=\"border-t px-6 pt-4 pb-6\">\n <Button\n tabIndex={-1}\n type=\"button\"\n variant=\"outline\"\n className=\"w-30 rounded-full\"\n onClick={onReset}\n >\n Reset\n </Button>\n <Button\n autoFocus\n tabIndex={0}\n type=\"submit\"\n isLoading={isSubmitting}\n disabled={disableSubmit}\n className=\"w-30 rounded-full\"\n >\n Xác nhận\n </Button>\n </DialogFooter>\n </FormWrapper>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"+XAwCa,GAA8D,CACzE,OACA,OACA,eAAe,GACf,qBAAqB,GACrB,gBAAgB,GAChB,QACA,cACA,YAEA,eACA,WACA,UACA,UACA,eAGE,EAAA,EAAA,KAACA,EAAAA,OAAAA,CAAa,OAAoB,yBAChC,EAAA,EAAA,MAACC,EAAAA,cAAAA,CACC,UAAWC,EAAAA,GAAG,sCAAuC,GACrD,kBAAoB,GAAM,CACxB,EAAE,iBACF,EAAE,8BAGJ,EAAA,EAAA,MAACC,EAAAA,aAAAA,CAAa,UAAU,kDACtB,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAAA,SAAa,GAAS,iBACvB,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,SACE,GACC,oEAGN,EAAA,EAAA,MAACC,EAAAA,YAAAA,CACO,OACc,qBACpB,UAAU,4CACA,WACD,qBAET,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,8BAA+B,cAC/C,EAAA,EAAA,MAACC,EAAAA,aAAAA,CAAa,UAAU,qCACtB,EAAA,EAAA,KAACC,EAAAA,OAAAA,CACC,SAAU,GACV,KAAK,SACL,QAAQ,UACR,UAAU,oBACV,QAAS,WACV,WAGD,EAAA,EAAA,KAACA,EAAAA,OAAAA,CACC,UAAA,GACA,SAAU,EACV,KAAK,SACL,UAAW,EACX,SAAU,EACV,UAAU,6BACX"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime2 from "react/jsx-runtime";
|
|
2
2
|
import { FieldValues, FormState, SubmitErrorHandler, UseFormProps } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/dialogs/form-dialog.d.ts
|
|
@@ -30,6 +30,7 @@ declare const FormDialog: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
30
30
|
onError,
|
|
31
31
|
onReset,
|
|
32
32
|
children
|
|
33
|
-
}: React.PropsWithChildren<Props<TFieldValues>>) =>
|
|
33
|
+
}: React.PropsWithChildren<Props<TFieldValues>>) => react_jsx_runtime2.JSX.Element;
|
|
34
34
|
//#endregion
|
|
35
|
-
export { FormDialog };
|
|
35
|
+
export { FormDialog };
|
|
36
|
+
//# sourceMappingURL=form-dialog.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime5 from "react/jsx-runtime";
|
|
2
2
|
import { FieldValues, FormState, SubmitErrorHandler, UseFormProps } from "react-hook-form";
|
|
3
3
|
|
|
4
4
|
//#region packages/components/dialogs/form-dialog.d.ts
|
|
@@ -30,6 +30,7 @@ declare const FormDialog: <TFieldValues extends FieldValues = FieldValues>({
|
|
|
30
30
|
onError,
|
|
31
31
|
onReset,
|
|
32
32
|
children
|
|
33
|
-
}: React.PropsWithChildren<Props<TFieldValues>>) =>
|
|
33
|
+
}: React.PropsWithChildren<Props<TFieldValues>>) => react_jsx_runtime5.JSX.Element;
|
|
34
34
|
//#endregion
|
|
35
|
-
export { FormDialog };
|
|
35
|
+
export { FormDialog };
|
|
36
|
+
//# sourceMappingURL=form-dialog.d.ts.map
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-Bku3bKv9.js";import
|
|
1
|
+
import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-Bku3bKv9.js";import"../alert-dialog-0KwdjY-6.js";import"../error-dialog-D_4WL-Hj.js";import"../label-Cxbctr6x.js";import"../form-CA4hhSV5.js";import{FormWrapper as n}from"../form-wrapper-D-2Uz518.js";import{Dialog as r,DialogContent as i,DialogDescription as a,DialogFooter as o,DialogHeader as s,DialogTitle as c}from"../dialog-C4hf-Puw.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";const d=({form:d,open:f,isSubmitting:p=!1,isResetAfterSubmit:m=!0,disableSubmit:h=!1,title:g,description:_,className:v,onOpenChange:y,onSubmit:b,onError:x,onReset:S,children:C})=>l(r,{open:f,onOpenChange:y,children:u(i,{className:e(`flex flex-col gap-0 border-none p-0`,v),onInteractOutside:e=>{e.preventDefault(),e.stopPropagation()},children:[u(s,{className:`flex-0 gap-2 border-b px-6 pt-6 pb-4`,children:[l(c,{children:g||`Form Dialog`}),l(a,{children:_||`This is a form dialog where you can add your form elements.`})]}),u(n,{form:d,isResetAfterSubmit:m,className:`flex flex-1 flex-col overflow-y-auto pt-4`,onSubmit:b,onError:x,children:[l(`main`,{className:`flex-1 overflow-y-auto px-6`,children:C}),u(o,{className:`border-t px-6 pt-4 pb-6`,children:[l(t,{tabIndex:-1,type:`button`,variant:`outline`,className:`w-30 rounded-full`,onClick:S,children:`Reset`}),l(t,{autoFocus:!0,tabIndex:0,type:`submit`,isLoading:p,disabled:h,className:`w-30 rounded-full`,children:`Xác nhận`})]})]})]})});export{d as FormDialog};
|
|
2
|
+
//# sourceMappingURL=form-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-dialog.js","names":[],"sources":["../../packages/components/dialogs/form-dialog.tsx"],"sourcesContent":["import type {\n FieldValues,\n FormState,\n SubmitErrorHandler,\n UseFormProps,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FormWrapper } from \"../forms/form-wrapper\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\n\ntype Props<TFieldValues extends FieldValues = FieldValues> = {\n form: UseFormProps<TFieldValues>;\n\n open: boolean;\n isSubmitting?: boolean;\n isResetAfterSubmit?: boolean;\n disableSubmit?: boolean;\n title?: string;\n description?: string;\n className?: string;\n\n onOpenChange: (open: boolean) => void;\n onSubmit: (\n data: TFieldValues,\n formState: FormState<FieldValues>,\n dirtyFields: FormState<FieldValues>[\"dirtyFields\"],\n ) => void | Promise<void>;\n onError?: SubmitErrorHandler<TFieldValues>;\n onReset?: () => void;\n};\nexport const FormDialog = <TFieldValues extends FieldValues = FieldValues>({\n form,\n open,\n isSubmitting = false,\n isResetAfterSubmit = true,\n disableSubmit = false,\n title,\n description,\n className,\n\n onOpenChange,\n onSubmit,\n onError,\n onReset,\n children,\n}: React.PropsWithChildren<Props<TFieldValues>>) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n className={cn(\"flex flex-col gap-0 border-none p-0\", className)}\n onInteractOutside={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <DialogHeader className=\"flex-0 gap-2 border-b px-6 pt-6 pb-4\">\n <DialogTitle>{title || \"Form Dialog\"}</DialogTitle>\n <DialogDescription>\n {description ||\n \"This is a form dialog where you can add your form elements.\"}\n </DialogDescription>\n </DialogHeader>\n <FormWrapper\n form={form}\n isResetAfterSubmit={isResetAfterSubmit}\n className=\"flex flex-1 flex-col overflow-y-auto pt-4\"\n onSubmit={onSubmit}\n onError={onError}\n >\n <main className=\"flex-1 overflow-y-auto px-6\">{children}</main>\n <DialogFooter className=\"border-t px-6 pt-4 pb-6\">\n <Button\n tabIndex={-1}\n type=\"button\"\n variant=\"outline\"\n className=\"w-30 rounded-full\"\n onClick={onReset}\n >\n Reset\n </Button>\n <Button\n autoFocus\n tabIndex={0}\n type=\"submit\"\n isLoading={isSubmitting}\n disabled={disableSubmit}\n className=\"w-30 rounded-full\"\n >\n Xác nhận\n </Button>\n </DialogFooter>\n </FormWrapper>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"odAwCA,MAAa,GAA8D,CACzE,OACA,OACA,eAAe,GACf,qBAAqB,GACrB,gBAAgB,GAChB,QACA,cACA,YAEA,eACA,WACA,UACA,UACA,cAGE,EAAC,EAAA,CAAa,OAAoB,wBAChC,EAAC,EAAA,CACC,UAAW,EAAG,sCAAuC,GACrD,kBAAoB,GAAM,CACxB,EAAE,iBACF,EAAE,6BAGJ,EAAC,EAAA,CAAa,UAAU,iDACtB,EAAC,EAAA,CAAA,SAAa,GAAS,gBACvB,EAAC,EAAA,CAAA,SACE,GACC,mEAGN,EAAC,EAAA,CACO,OACc,qBACpB,UAAU,4CACA,WACD,oBAET,EAAC,OAAA,CAAK,UAAU,8BAA+B,aAC/C,EAAC,EAAA,CAAa,UAAU,oCACtB,EAAC,EAAA,CACC,SAAU,GACV,KAAK,SACL,QAAQ,UACR,UAAU,oBACV,QAAS,WACV,UAGD,EAAC,EAAA,CACC,UAAA,GACA,SAAU,EACV,KAAK,SACL,UAAW,EACX,SAAU,EACV,UAAU,6BACX"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`../chunk-hhQzssFb.cjs`);require(`../utils-DaJ1XZgX.cjs`);const t=require(`../dialog-
|
|
1
|
+
const e=require(`../chunk-hhQzssFb.cjs`);require(`../utils-DaJ1XZgX.cjs`);const t=require(`../dialog-Cn8cFeu-.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=({open:e,onOpenChange:n})=>(0,r.jsx)(t.Dialog,{open:e,onOpenChange:n,children:(0,r.jsxs)(t.DialogContent,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent`,children:[(0,r.jsx)(t.DialogTitle,{}),(0,r.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,r.jsx)(`div`,{className:`loader opacity-60`})})]})});exports.LoadingDialog=i;
|
|
2
|
+
//# sourceMappingURL=loading-dialog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-dialog.cjs","names":["LoadingDialog: React.FC<Props>","Dialog","DialogContent","DialogTitle"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Dialog, DialogContent, DialogTitle } from \"../ui/dialog\";\n\ntype Props = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\nexport const LoadingDialog: React.FC<Props> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n showCloseButton={false}\n className=\"pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent\"\n >\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"4LAQaA,GAAkC,CAAE,OAAM,mBAEnD,EAAA,EAAA,KAACC,EAAAA,OAAAA,CAAa,OAAoB,yBAChC,EAAA,EAAA,MAACC,EAAAA,cAAAA,CACC,gBAAiB,GACjB,UAAU,yGAEV,EAAA,EAAA,KAACC,EAAAA,YAAAA,KACD,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,6CACb,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import"../utils-D9AH0PUV.js";import{Dialog as e,DialogContent as t,DialogTitle as n}from"../dialog-
|
|
1
|
+
import"../utils-D9AH0PUV.js";import{Dialog as e,DialogContent as t,DialogTitle as n}from"../dialog-C4hf-Puw.js";import r from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=({open:r,onOpenChange:o})=>i(e,{open:r,onOpenChange:o,children:a(t,{showCloseButton:!1,className:`pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent`,children:[i(n,{}),i(`div`,{className:`flex items-center justify-center`,children:i(`div`,{className:`loader opacity-60`})})]})});export{o as LoadingDialog};
|
|
2
|
+
//# sourceMappingURL=loading-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-dialog.js","names":["LoadingDialog: React.FC<Props>"],"sources":["../../packages/components/dialogs/loading-dialog.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Dialog, DialogContent, DialogTitle } from \"../ui/dialog\";\n\ntype Props = {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n};\nexport const LoadingDialog: React.FC<Props> = ({ open, onOpenChange }) => {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent\n showCloseButton={false}\n className=\"pointer-events-none border-none bg-transparent shadow-none outline-0 [&>div]:bg-transparent\"\n >\n <DialogTitle />\n <div className=\"flex items-center justify-center\">\n <div className=\"loader opacity-60\" />\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n"],"mappings":"uLAQA,MAAaA,GAAkC,CAAE,OAAM,kBAEnD,EAAC,EAAA,CAAa,OAAoB,wBAChC,EAAC,EAAA,CACC,gBAAiB,GACjB,UAAU,wGAEV,EAAC,EAAA,IACD,EAAC,MAAA,CAAI,UAAU,4CACb,EAAC,MAAA,CAAI,UAAU"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`lucide-react`)),a=e.__toESM(require(`radix-ui`));function o({...e}){return(0,r.jsx)(a.DropdownMenu.Root,{"data-slot":`dropdown-menu`,...e})}function s({...e}){return(0,r.jsx)(a.DropdownMenu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function c({...e}){return(0,r.jsx)(a.DropdownMenu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function l({className:e,sideOffset:n=4,align:i=`start`,...o}){return(0,r.jsx)(a.DropdownMenu.Portal,{children:(0,r.jsx)(a.DropdownMenu.Content,{"data-slot":`dropdown-menu-content`,sideOffset:n,className:t.cn(`bg-popover text-popover-foreground`,`z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`rounded-md border p-1.5 shadow-md`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...o,align:i})})}function u({...e}){return(0,r.jsx)(a.DropdownMenu.Group,{"data-slot":`dropdown-menu-group`,...e})}function d({className:e,inset:n,variant:i=`default`,...o}){return(0,r.jsx)(a.DropdownMenu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":n,"data-variant":i,className:t.cn(`relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none`,`focus:bg-accent/70`,`focus:text-accent-foreground`,`dark:data-[variant=destructive]:focus:bg-destructive/20`,`data-[inset]:pl-8`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`data-[variant=destructive]:text-destructive`,`data-[variant=destructive]:focus:bg-destructive/10`,`data-[variant=destructive]:focus:text-destructive`,`data-[variant=destructive]:*:[svg]:!text-destructive`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...o})}function f({className:e,children:n,checked:o,...s}){return(0,r.jsxs)(a.DropdownMenu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),checked:o,...s,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(a.DropdownMenu.ItemIndicator,{children:(0,r.jsx)(i.CheckIcon,{size:16})})}),n]})}function p({...e}){return(0,r.jsx)(a.DropdownMenu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function m({className:e,children:n,...o}){return(0,r.jsxs)(a.DropdownMenu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...o,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(a.DropdownMenu.ItemIndicator,{children:(0,r.jsx)(i.CircleIcon,{className:`size-2 fill-current`})})}),n]})}function h({className:e,inset:n,...i}){return(0,r.jsx)(a.DropdownMenu.Label,{"data-slot":`dropdown-menu-label`,"data-inset":n,className:t.cn(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...i})}function g({className:e,...n}){return(0,r.jsx)(a.DropdownMenu.Separator,{"data-slot":`dropdown-menu-separator`,className:t.cn(`bg-border -mx-1 my-1 h-px`,e),...n})}function _({className:e,...n}){return(0,r.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:t.cn(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...n})}function v({...e}){return(0,r.jsx)(a.DropdownMenu.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function y({className:e,inset:n,children:o,...s}){return(0,r.jsxs)(a.DropdownMenu.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:t.cn(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[state=open]:bg-accent`,`data-[state=open]:text-accent-foreground`,`data-[inset]:pl-8`,e),...s,children:[o,(0,r.jsx)(i.ChevronRightIcon,{className:`ml-auto size-4`})]})}function b({className:e,...n}){return(0,r.jsx)(a.DropdownMenu.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:t.cn(`bg-popover text-popover-foreground`,`z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95`,`data-[state=open]:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...n})}Object.defineProperty(exports,`DropdownMenu`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`DropdownMenuCheckboxItem`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`DropdownMenuContent`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`DropdownMenuGroup`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`DropdownMenuItem`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`DropdownMenuLabel`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`DropdownMenuPortal`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`DropdownMenuRadioGroup`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`DropdownMenuRadioItem`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`DropdownMenuSeparator`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`DropdownMenuShortcut`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`DropdownMenuSub`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`DropdownMenuSubContent`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`DropdownMenuSubTrigger`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`DropdownMenuTrigger`,{enumerable:!0,get:function(){return c}});
|
|
1
|
+
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`lucide-react`)),a=e.__toESM(require(`radix-ui`));function o({...e}){return(0,r.jsx)(a.DropdownMenu.Root,{"data-slot":`dropdown-menu`,...e})}function s({...e}){return(0,r.jsx)(a.DropdownMenu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function c({...e}){return(0,r.jsx)(a.DropdownMenu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function l({className:e,sideOffset:n=4,align:i=`start`,...o}){return(0,r.jsx)(a.DropdownMenu.Portal,{children:(0,r.jsx)(a.DropdownMenu.Content,{"data-slot":`dropdown-menu-content`,sideOffset:n,className:t.cn(`bg-popover text-popover-foreground`,`z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`rounded-md border p-1.5 shadow-md`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...o,align:i})})}function u({...e}){return(0,r.jsx)(a.DropdownMenu.Group,{"data-slot":`dropdown-menu-group`,...e})}function d({className:e,inset:n,variant:i=`default`,...o}){return(0,r.jsx)(a.DropdownMenu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":n,"data-variant":i,className:t.cn(`relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none`,`focus:bg-accent/70`,`focus:text-accent-foreground`,`dark:data-[variant=destructive]:focus:bg-destructive/20`,`data-[inset]:pl-8`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`data-[variant=destructive]:text-destructive`,`data-[variant=destructive]:focus:bg-destructive/10`,`data-[variant=destructive]:focus:text-destructive`,`data-[variant=destructive]:*:[svg]:!text-destructive`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,e),...o})}function f({className:e,children:n,checked:o,...s}){return(0,r.jsxs)(a.DropdownMenu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),checked:o,...s,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(a.DropdownMenu.ItemIndicator,{children:(0,r.jsx)(i.CheckIcon,{size:16})})}),n]})}function p({...e}){return(0,r.jsx)(a.DropdownMenu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function m({className:e,children:n,...o}){return(0,r.jsxs)(a.DropdownMenu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:t.cn(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,e),...o,children:[(0,r.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(a.DropdownMenu.ItemIndicator,{children:(0,r.jsx)(i.CircleIcon,{className:`size-2 fill-current`})})}),n]})}function h({className:e,inset:n,...i}){return(0,r.jsx)(a.DropdownMenu.Label,{"data-slot":`dropdown-menu-label`,"data-inset":n,className:t.cn(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...i})}function g({className:e,...n}){return(0,r.jsx)(a.DropdownMenu.Separator,{"data-slot":`dropdown-menu-separator`,className:t.cn(`bg-border -mx-1 my-1 h-px`,e),...n})}function _({className:e,...n}){return(0,r.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:t.cn(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...n})}function v({...e}){return(0,r.jsx)(a.DropdownMenu.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function y({className:e,inset:n,children:o,...s}){return(0,r.jsxs)(a.DropdownMenu.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:t.cn(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[state=open]:bg-accent`,`data-[state=open]:text-accent-foreground`,`data-[inset]:pl-8`,e),...s,children:[o,(0,r.jsx)(i.ChevronRightIcon,{className:`ml-auto size-4`})]})}function b({className:e,...n}){return(0,r.jsx)(a.DropdownMenu.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:t.cn(`bg-popover text-popover-foreground`,`z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95`,`data-[state=open]:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,e),...n})}Object.defineProperty(exports,`DropdownMenu`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`DropdownMenuCheckboxItem`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`DropdownMenuContent`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`DropdownMenuGroup`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`DropdownMenuItem`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`DropdownMenuLabel`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`DropdownMenuPortal`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`DropdownMenuRadioGroup`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`DropdownMenuRadioItem`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`DropdownMenuSeparator`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`DropdownMenuShortcut`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`DropdownMenuSub`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`DropdownMenuSubContent`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`DropdownMenuSubTrigger`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`DropdownMenuTrigger`,{enumerable:!0,get:function(){return c}});
|
|
2
|
+
//# sourceMappingURL=dropdown-menu-D2Kh77uw.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu-D2Kh77uw.cjs","names":["DropdownMenuPrimitive","cn","CheckIcon","CircleIcon","ChevronRightIcon"],"sources":["../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n align = \"start\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground\",\n \"z-50\",\n \"min-w-32\",\n \"overflow-x-hidden overflow-y-auto\",\n \"rounded-md border p-1.5 shadow-md\",\n \"max-h-(--radix-dropdown-menu-content-available-height)\",\n \"origin-(--radix-dropdown-menu-content-transform-origin)\",\n \"data-[state=open]:animate-in\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n align={align}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none\",\n \"focus:bg-accent/70\",\n \"focus:text-accent-foreground\",\n \"dark:data-[variant=destructive]:focus:bg-destructive/20\",\n \"data-[inset]:pl-8\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[disabled]:opacity-50\",\n \"data-[variant=destructive]:text-destructive\",\n \"data-[variant=destructive]:focus:bg-destructive/10\",\n \"data-[variant=destructive]:focus:text-destructive\",\n \"data-[variant=destructive]:*:[svg]:!text-destructive\",\n \"[&_svg]:shrink-0\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[disabled]:opacity-50\",\n \"data-[disabled]:pointer-events-none\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg]:shrink-0\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[disabled]:opacity-50\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg]:shrink-0\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent\",\n \"data-[state=open]:text-accent-foreground\",\n \"data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground\",\n \"z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n \"data-[state=open]:animate-in\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{CheckIcon as i,ChevronRightIcon as a,CircleIcon as o}from"lucide-react";import{DropdownMenu as s}from"radix-ui";function c({...e}){return n(s.Root,{"data-slot":`dropdown-menu`,...e})}function l({...e}){return n(s.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function u({...e}){return n(s.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function d({className:t,sideOffset:r=4,align:i=`start`,...a}){return n(s.Portal,{children:n(s.Content,{"data-slot":`dropdown-menu-content`,sideOffset:r,className:e(`bg-popover text-popover-foreground`,`z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`rounded-md border p-1.5 shadow-md`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,t),...a,align:i})})}function f({...e}){return n(s.Group,{"data-slot":`dropdown-menu-group`,...e})}function p({className:t,inset:r,variant:i=`default`,...a}){return n(s.Item,{"data-slot":`dropdown-menu-item`,"data-inset":r,"data-variant":i,className:e(`relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none`,`focus:bg-accent/70`,`focus:text-accent-foreground`,`dark:data-[variant=destructive]:focus:bg-destructive/20`,`data-[inset]:pl-8`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`data-[variant=destructive]:text-destructive`,`data-[variant=destructive]:focus:bg-destructive/10`,`data-[variant=destructive]:focus:text-destructive`,`data-[variant=destructive]:*:[svg]:!text-destructive`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,t),...a})}function m({className:t,children:a,checked:o,...c}){return r(s.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:e(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),checked:o,...c,children:[n(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:n(s.ItemIndicator,{children:n(i,{size:16})})}),a]})}function h({...e}){return n(s.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function g({className:t,children:i,...a}){return r(s.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:e(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),...a,children:[n(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:n(s.ItemIndicator,{children:n(o,{className:`size-2 fill-current`})})}),i]})}function _({className:t,inset:r,...i}){return n(s.Label,{"data-slot":`dropdown-menu-label`,"data-inset":r,className:e(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,t),...i})}function v({className:t,...r}){return n(s.Separator,{"data-slot":`dropdown-menu-separator`,className:e(`bg-border -mx-1 my-1 h-px`,t),...r})}function y({className:t,...r}){return n(`span`,{"data-slot":`dropdown-menu-shortcut`,className:e(`text-muted-foreground ml-auto text-xs tracking-widest`,t),...r})}function b({...e}){return n(s.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function x({className:t,inset:i,children:o,...c}){return r(s.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":i,className:e(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[state=open]:bg-accent`,`data-[state=open]:text-accent-foreground`,`data-[inset]:pl-8`,t),...c,children:[o,n(a,{className:`ml-auto size-4`})]})}function S({className:t,...r}){return n(s.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:e(`bg-popover text-popover-foreground`,`z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95`,`data-[state=open]:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,t),...r})}export{c as DropdownMenu,m as DropdownMenuCheckboxItem,d as DropdownMenuContent,f as DropdownMenuGroup,p as DropdownMenuItem,_ as DropdownMenuLabel,l as DropdownMenuPortal,h as DropdownMenuRadioGroup,g as DropdownMenuRadioItem,v as DropdownMenuSeparator,y as DropdownMenuShortcut,b as DropdownMenuSub,S as DropdownMenuSubContent,x as DropdownMenuSubTrigger,u as DropdownMenuTrigger};
|
|
1
|
+
import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{CheckIcon as i,ChevronRightIcon as a,CircleIcon as o}from"lucide-react";import{DropdownMenu as s}from"radix-ui";function c({...e}){return n(s.Root,{"data-slot":`dropdown-menu`,...e})}function l({...e}){return n(s.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function u({...e}){return n(s.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function d({className:t,sideOffset:r=4,align:i=`start`,...a}){return n(s.Portal,{children:n(s.Content,{"data-slot":`dropdown-menu-content`,sideOffset:r,className:e(`bg-popover text-popover-foreground`,`z-50`,`min-w-32`,`overflow-x-hidden overflow-y-auto`,`rounded-md border p-1.5 shadow-md`,`max-h-(--radix-dropdown-menu-content-available-height)`,`origin-(--radix-dropdown-menu-content-transform-origin)`,`data-[state=open]:animate-in`,`data-[state=open]:fade-in-0`,`data-[state=open]:zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,t),...a,align:i})})}function f({...e}){return n(s.Group,{"data-slot":`dropdown-menu-group`,...e})}function p({className:t,inset:r,variant:i=`default`,...a}){return n(s.Item,{"data-slot":`dropdown-menu-item`,"data-inset":r,"data-variant":i,className:e(`relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none`,`focus:bg-accent/70`,`focus:text-accent-foreground`,`dark:data-[variant=destructive]:focus:bg-destructive/20`,`data-[inset]:pl-8`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`data-[variant=destructive]:text-destructive`,`data-[variant=destructive]:focus:bg-destructive/10`,`data-[variant=destructive]:focus:text-destructive`,`data-[variant=destructive]:*:[svg]:!text-destructive`,`[&_svg]:shrink-0`,`[&_svg]:pointer-events-none`,`[&_svg:not([class*='size-'])]:size-4`,`[&_svg:not([class*='text-'])]:text-muted-foreground`,t),...a})}function m({className:t,children:a,checked:o,...c}){return r(s.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:e(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:opacity-50`,`data-[disabled]:pointer-events-none`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),checked:o,...c,children:[n(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:n(s.ItemIndicator,{children:n(i,{size:16})})}),a]})}function h({...e}){return n(s.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function g({className:t,children:i,...a}){return r(s.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:e(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[disabled]:pointer-events-none`,`data-[disabled]:opacity-50`,`[&_svg]:pointer-events-none`,`[&_svg]:shrink-0`,`[&_svg:not([class*='size-'])]:size-4`,t),...a,children:[n(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:n(s.ItemIndicator,{children:n(o,{className:`size-2 fill-current`})})}),i]})}function _({className:t,inset:r,...i}){return n(s.Label,{"data-slot":`dropdown-menu-label`,"data-inset":r,className:e(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,t),...i})}function v({className:t,...r}){return n(s.Separator,{"data-slot":`dropdown-menu-separator`,className:e(`bg-border -mx-1 my-1 h-px`,t),...r})}function y({className:t,...r}){return n(`span`,{"data-slot":`dropdown-menu-shortcut`,className:e(`text-muted-foreground ml-auto text-xs tracking-widest`,t),...r})}function b({...e}){return n(s.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function x({className:t,inset:i,children:o,...c}){return r(s.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":i,className:e(`flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none`,`focus:bg-accent`,`focus:text-accent-foreground`,`data-[state=open]:bg-accent`,`data-[state=open]:text-accent-foreground`,`data-[inset]:pl-8`,t),...c,children:[o,n(a,{className:`ml-auto size-4`})]})}function S({className:t,...r}){return n(s.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:e(`bg-popover text-popover-foreground`,`z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,`data-[state=open]:animate-in`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=open]:fade-in-0`,`data-[state=closed]:zoom-out-95`,`data-[state=open]:zoom-in-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,t),...r})}export{c as DropdownMenu,m as DropdownMenuCheckboxItem,d as DropdownMenuContent,f as DropdownMenuGroup,p as DropdownMenuItem,_ as DropdownMenuLabel,l as DropdownMenuPortal,h as DropdownMenuRadioGroup,g as DropdownMenuRadioItem,v as DropdownMenuSeparator,y as DropdownMenuShortcut,b as DropdownMenuSub,S as DropdownMenuSubContent,x as DropdownMenuSubTrigger,u as DropdownMenuTrigger};
|
|
2
|
+
//# sourceMappingURL=dropdown-menu-DTFOCPH_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu-DTFOCPH_.js","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../packages/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n align = \"start\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground\",\n \"z-50\",\n \"min-w-32\",\n \"overflow-x-hidden overflow-y-auto\",\n \"rounded-md border p-1.5 shadow-md\",\n \"max-h-(--radix-dropdown-menu-content-available-height)\",\n \"origin-(--radix-dropdown-menu-content-transform-origin)\",\n \"data-[state=open]:animate-in\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n align={align}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"relative flex cursor-pointer items-center gap-2 rounded-md px-2 py-2.5 text-sm outline-hidden transition-all select-none\",\n \"focus:bg-accent/70\",\n \"focus:text-accent-foreground\",\n \"dark:data-[variant=destructive]:focus:bg-destructive/20\",\n \"data-[inset]:pl-8\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[disabled]:opacity-50\",\n \"data-[variant=destructive]:text-destructive\",\n \"data-[variant=destructive]:focus:bg-destructive/10\",\n \"data-[variant=destructive]:focus:text-destructive\",\n \"data-[variant=destructive]:*:[svg]:!text-destructive\",\n \"[&_svg]:shrink-0\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[disabled]:opacity-50\",\n \"data-[disabled]:pointer-events-none\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg]:shrink-0\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon size={16} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[disabled]:opacity-50\",\n \"[&_svg]:pointer-events-none\",\n \"[&_svg]:shrink-0\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none\",\n \"focus:bg-accent\",\n \"focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent\",\n \"data-[state=open]:text-accent-foreground\",\n \"data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground\",\n \"z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n \"data-[state=open]:animate-in\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./alert-dialog-
|
|
1
|
+
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./alert-dialog-BQv-ZvW9.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-DO0Bb-pi.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-dialog-DO0Bb-pi.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 {\n AlertDialog,\n AlertDialogAction,\n AlertDialogContent,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} 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>> = ({\n open,\n title,\n children,\n onOpenChange,\n}) => {\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\">\n {title || \"An error occurred\"}\n </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":"8LAkBaA,GAAyD,CACpE,OACA,QACA,WACA,kBACI,CACJ,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,+BACzB,GAAS,2BAIf,GACD,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAAA,UACC,EAAA,EAAA,KAACC,EAAAA,kBAAAA,CAAkB,UAAU,OAAO,QAAS,WAAa"}
|
|
@@ -1 +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-
|
|
1
|
+
import{AlertDialog as e,AlertDialogAction as t,AlertDialogContent as n,AlertDialogFooter as r,AlertDialogHeader as i,AlertDialogTitle as a}from"./alert-dialog-0KwdjY-6.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-D_4WL-Hj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-dialog-D_4WL-Hj.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 {\n AlertDialog,\n AlertDialogAction,\n AlertDialogContent,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} 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>> = ({\n open,\n title,\n children,\n onOpenChange,\n}) => {\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\">\n {title || \"An error occurred\"}\n </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":"oSAkBA,MAAaA,GAAyD,CACpE,OACA,QACA,WACA,kBACI,CACJ,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,+BACzB,GAAS,2BAIf,EACD,EAAC,EAAA,CAAA,SACC,EAAC,EAAA,CAAkB,UAAU,OAAO,QAAS,WAAa"}
|
package/dist/flex-ILvQrYMJ.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
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};
|
|
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-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 = ({\n vertical,\n wrap,\n width,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n children,\n}: 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,CACnB,WACA,OACA,QACA,SACA,UACA,MACA,UACA,QACA,YACA,cAGE,EAAC,MAAA,CACC,UAAW,EACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
|
package/dist/flex-yTyoLpgH.cjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.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}});
|
|
1
|
+
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.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-yTyoLpgH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-yTyoLpgH.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 = ({\n vertical,\n wrap,\n width,\n margin,\n padding,\n gap,\n justify,\n align,\n className,\n children,\n}: 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,CACnB,WACA,OACA,QACA,SACA,UACA,MACA,UACA,QACA,YACA,eAGE,EAAA,EAAA,KAAC,MAAA,CACC,UAAWA,EAAAA,GACT,EAAa,CACX,WACA,QACA,OACA,SACA,UACA,MACA,UACA,QACA,eAIH"}
|
package/dist/form-CA4hhSV5.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"./utils-D9AH0PUV.js";import{Label as t}from"./label-Cxbctr6x.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-muted-foreground 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-destructive 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};
|
|
1
|
+
import{cn as e}from"./utils-D9AH0PUV.js";import{Label as t}from"./label-Cxbctr6x.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-muted-foreground 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-destructive 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-CA4hhSV5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-CA4hhSV5.js","names":["Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} 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<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\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>(\n {} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-1\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField();\n return (\n <Label\n data-slot=\"form-label\"\n className={cn(\"text-xs\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({\n ...props\n}: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({\n className,\n children,\n ...props\n}: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n\n return (\n <span\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-xs\", className)}\n {...props}\n >\n {error ? String(error?.message ?? \"\") : children}\n </span>\n );\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"mappings":"kSAgBA,MAAM,EAAO,EASP,EAAmB,EAAM,cAC7B,IAGI,GAGJ,CACA,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,cAC5B,IAGF,SAAS,EAAS,CAAE,YAAW,GAAG,GAAsC,CACtE,IAAM,EAAK,EAAM,QAEjB,OACE,EAAC,EAAgB,SAAA,CAAS,MAAO,CAAE,eACjC,EAAC,MAAA,CACC,YAAU,YACV,UAAW,EAAG,aAAc,GAC5B,GAAI,MAMZ,SAAS,EAAU,CACjB,YACA,GAAG,GACgD,CACnD,GAAM,CAAE,cAAe,IACvB,OACE,EAACA,EAAAA,CACC,YAAU,aACV,UAAW,EAAG,UAAW,GACzB,QAAS,EACT,GAAI,IAKV,SAAS,EAAY,CACnB,GAAG,GAC+C,CAClD,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAC5C,IAEF,OACE,EAACC,EAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBACG,EAEG,GAAG,EAAkB,GAAG,IADxB,GAAG,IAGT,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OACE,EAAC,IAAA,CACC,YAAU,mBACV,GAAI,EACJ,UAAW,EAAG,gCAAiC,GAC/C,GAAI,IAKV,SAAS,EAAY,CACnB,YACA,WACA,GAAG,GACyB,CAC5B,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAC,OAAA,CACC,YAAU,eACV,GAAI,EACJ,UAAW,EAAG,2BAA4B,GAC1C,GAAI,WAEH,EAAQ,OAAO,GAAO,SAAW,IAAM"}
|
package/dist/form-C_PCHrpx.cjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.cjs`),n=require(`./label-i858Jr98.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-muted-foreground 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-destructive 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}});
|
|
1
|
+
const e=require(`./chunk-hhQzssFb.cjs`),t=require(`./utils-DaJ1XZgX.cjs`),n=require(`./label-i858Jr98.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-muted-foreground 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-destructive 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-C_PCHrpx.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-C_PCHrpx.cjs","names":["FormProvider","React","Controller","cn","Label","SlotPrimitive"],"sources":["../packages/components/ui/form.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} 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<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\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>(\n {} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-1\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { formItemId } = useFormField();\n return (\n <Label\n data-slot=\"form-label\"\n className={cn(\"text-xs\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({\n ...props\n}: React.ComponentProps<typeof SlotPrimitive.Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <SlotPrimitive.Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({\n className,\n children,\n ...props\n}: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n\n return (\n <span\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-xs\", className)}\n {...props}\n >\n {error ? String(error?.message ?? \"\") : children}\n </span>\n );\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"mappings":"6PAgBM,EAAOA,EAAAA,aASP,EAAmBC,EAAAA,QAAM,cAC7B,IAGI,GAGJ,CACA,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,cAC5B,IAGF,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,CACC,YAAU,YACV,UAAWE,EAAAA,GAAG,aAAc,GAC5B,GAAI,MAMZ,SAAS,EAAU,CACjB,YACA,GAAG,GACgD,CACnD,GAAM,CAAE,cAAe,IACvB,OACE,EAAA,EAAA,KAACC,EAAAA,MAAAA,CACC,YAAU,aACV,UAAWD,EAAAA,GAAG,UAAW,GACzB,QAAS,EACT,GAAI,IAKV,SAAS,EAAY,CACnB,GAAG,GAC+C,CAClD,GAAM,CAAE,QAAO,aAAY,oBAAmB,iBAC5C,IAEF,OACE,EAAA,EAAA,KAACE,EAAAA,KAAc,KAAA,CACb,YAAU,eACV,GAAI,EACJ,mBACG,EAEG,GAAG,EAAkB,GAAG,IADxB,GAAG,IAGT,eAAc,CAAC,CAAC,EAChB,GAAI,IAKV,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAoC,CAC3E,GAAM,CAAE,qBAAsB,IAE9B,OACE,EAAA,EAAA,KAAC,IAAA,CACC,YAAU,mBACV,GAAI,EACJ,UAAWF,EAAAA,GAAG,gCAAiC,GAC/C,GAAI,IAKV,SAAS,EAAY,CACnB,YACA,WACA,GAAG,GACyB,CAC5B,GAAM,CAAE,QAAO,iBAAkB,IAEjC,OACE,EAAA,EAAA,KAAC,OAAA,CACC,YAAU,eACV,GAAI,EACJ,UAAWA,EAAAA,GAAG,2BAA4B,GAC1C,GAAI,WAEH,EAAQ,OAAO,GAAO,SAAW,IAAM"}
|