@stachelock/ui 0.2.14 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js +128 -0
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js.map +1 -0
- package/dist/AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js +194 -0
- package/dist/AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js.map +1 -0
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js +34 -0
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js.map +1 -0
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js +67 -0
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js.map +1 -0
- package/dist/Bars3Icon-BdOqcGcY.js +22 -0
- package/dist/Bars3Icon-BdOqcGcY.js.map +1 -0
- package/dist/BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js +235 -0
- package/dist/BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js.map +1 -0
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js +328 -0
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js.map +1 -0
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js +13 -0
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js.map +1 -0
- package/dist/CheckIcon-BGlsmVwT.js +20 -0
- package/dist/CheckIcon-BGlsmVwT.js.map +1 -0
- package/dist/{CheckboxInput.vue_vue_type_script_setup_true_lang-tYAo46wK.js → CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js} +52 -51
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js.map +1 -0
- package/dist/ChevronRightIcon-DkUqw988.js +20 -0
- package/dist/ChevronRightIcon-DkUqw988.js.map +1 -0
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js +20 -0
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js.map +1 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js +1315 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js.map +1 -0
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js +60 -0
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js.map +1 -0
- package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-Cg83utkU.js → DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js} +23 -22
- package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js.map +1 -0
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js +688 -0
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js.map +1 -0
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js +238 -0
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js.map +1 -0
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js +138 -0
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js.map +1 -0
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js +253 -0
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js.map +1 -0
- package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js → DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js} +25 -41
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js.map +1 -0
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js +122 -0
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js.map +1 -0
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js +32 -0
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js.map +1 -0
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js +74 -0
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js.map +1 -0
- package/dist/{EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js → EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js} +56 -77
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js.map +1 -0
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js → EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js} +9 -9
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js.map → EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js.map} +1 -1
- package/dist/ExclamationCircleIcon-DjxYk45_.js +22 -0
- package/dist/ExclamationCircleIcon-DjxYk45_.js.map +1 -0
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js +36 -0
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js.map +1 -0
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js +22 -0
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js.map +1 -0
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js +211 -0
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js.map +1 -0
- package/dist/FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js +63 -0
- package/dist/FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js.map +1 -0
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js +67 -0
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js.map +1 -0
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js +22 -0
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js.map +1 -0
- package/dist/InformationCircleIcon-B322GNIt.js +40 -0
- package/dist/InformationCircleIcon-B322GNIt.js.map +1 -0
- package/dist/InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js +93 -0
- package/dist/InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js.map +1 -0
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js +66 -0
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js.map +1 -0
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js +36 -0
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js.map +1 -0
- package/dist/MapPinIcon-CSTDUZnD.js +27 -0
- package/dist/MapPinIcon-CSTDUZnD.js.map +1 -0
- package/dist/MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js +193 -0
- package/dist/MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js.map +1 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js +162 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js.map +1 -0
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js +69 -0
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js.map +1 -0
- package/dist/{XMarkIcon-C4wILUsz.js → PlusIcon-aDFVlB90.js} +5 -5
- package/dist/PlusIcon-aDFVlB90.js.map +1 -0
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js +130 -0
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js.map +1 -0
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js +108 -0
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js.map +1 -0
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js +303 -0
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js.map +1 -0
- package/dist/SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js +339 -0
- package/dist/SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js.map +1 -0
- package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-CzLbBcNS.js → SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js} +25 -24
- package/dist/SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js.map +1 -0
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js +78 -0
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js.map +1 -0
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js +111 -0
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js.map +1 -0
- package/dist/StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js +119 -0
- package/dist/StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js.map +1 -0
- package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js → SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js} +63 -58
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js.map +1 -0
- package/dist/SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js +183 -0
- package/dist/SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js.map +1 -0
- package/dist/TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js +125 -0
- package/dist/TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js.map +1 -0
- package/dist/TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js +129 -0
- package/dist/TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js.map +1 -0
- package/dist/TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js +85 -0
- package/dist/TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js.map +1 -0
- package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js → TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js} +53 -63
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js.map +1 -0
- package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-CbR651TU.js → TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js} +47 -35
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js.map +1 -0
- package/dist/{UiAvatar.vue_vue_type_script_setup_true_lang-CDNjUA1L.js → UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js} +34 -34
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js.map +1 -0
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js +88 -0
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js.map +1 -0
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js +108 -0
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js.map +1 -0
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js +96 -0
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js.map +1 -0
- package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js → UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js} +48 -43
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js.map +1 -0
- package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js +489 -0
- package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js.map +1 -0
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js +330 -0
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js.map +1 -0
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js +214 -0
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js.map +1 -0
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js +83 -0
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js.map +1 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js +69 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js.map +1 -0
- package/dist/{UiTable.vue_vue_type_script_setup_true_lang-hI1_xamh.js → UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js} +45 -44
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js.map +1 -0
- package/dist/XMarkIcon-Cwy3T6p8.js +22 -0
- package/dist/XMarkIcon-Cwy3T6p8.js.map +1 -0
- package/dist/XMarkIcon-DNvCkiOy.js +16 -0
- package/dist/XMarkIcon-DNvCkiOy.js.map +1 -0
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js +89 -0
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js.map +1 -0
- package/dist/active-element-history-BTBNVIJN.js +17 -0
- package/dist/active-element-history-BTBNVIJN.js.map +1 -0
- package/dist/calculate-active-index-Dim3sT-5.js +55 -0
- package/dist/calculate-active-index-Dim3sT-5.js.map +1 -0
- package/dist/calendar-DyIP7WGv.js +575 -0
- package/dist/calendar-DyIP7WGv.js.map +1 -0
- package/dist/calendars/CalendarDashboard.js +7 -7
- package/dist/calendars/CalendarHeader.js +1 -1
- package/dist/calendars/DayCalendar.js +1 -1
- package/dist/calendars/EventCard.js +1 -1
- package/dist/calendars/EventsList.js +1 -1
- package/dist/calendars/MonthCalendar.js +1 -1
- package/dist/calendars/WeekCalendar.js +376 -2
- package/dist/calendars/WeekCalendar.js.map +1 -1
- package/dist/calendars/YearCalendar.js +1 -1
- package/dist/charts/BarChart.d.ts +3 -0
- package/dist/charts/BarChart.js +5 -0
- package/dist/charts/BarChart.js.map +1 -0
- package/dist/charts/BaseChart.d.ts +3 -0
- package/dist/charts/BaseChart.js +135 -0
- package/dist/charts/BaseChart.js.map +1 -0
- package/dist/charts/FunnelChart.d.ts +3 -0
- package/dist/charts/FunnelChart.js +5 -0
- package/dist/charts/FunnelChart.js.map +1 -0
- package/dist/charts/LineChart.d.ts +3 -0
- package/dist/charts/LineChart.js +5 -0
- package/dist/charts/LineChart.js.map +1 -0
- package/dist/charts/PieChart.d.ts +3 -0
- package/dist/charts/PieChart.js +5 -0
- package/dist/charts/PieChart.js.map +1 -0
- package/dist/charts/SparklineChart.d.ts +3 -0
- package/dist/charts/SparklineChart.js +5 -0
- package/dist/charts/SparklineChart.js.map +1 -0
- package/dist/charts/StatCard.d.ts +3 -0
- package/dist/charts/StatCard.js +5 -0
- package/dist/charts/StatCard.js.map +1 -0
- package/dist/charts/chartTheme.d.ts +3 -0
- package/dist/charts/chartTheme.js +254 -0
- package/dist/charts/chartTheme.js.map +1 -0
- package/dist/charts/index.d.ts +1 -0
- package/dist/charts/index.js +33 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/components/Avatar.js +1 -1
- package/dist/components/Badge.js +2 -39
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Banner.d.ts +3 -0
- package/dist/components/Banner.js +476 -0
- package/dist/components/Banner.js.map +1 -0
- package/dist/components/Breadcrumb.js +269 -2
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Button.js +132 -105
- package/dist/components/Button.js.map +1 -1
- package/dist/components/ButtonGroup.d.ts +3 -0
- package/dist/components/ButtonGroup.js +5 -0
- package/dist/components/ButtonGroup.js.map +1 -0
- package/dist/components/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox.js +5 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/CloudinaryImage.d.ts +3 -0
- package/dist/components/CloudinaryImage.js +175 -0
- package/dist/components/CloudinaryImage.js.map +1 -0
- package/dist/components/Loading.js +1 -1
- package/dist/components/LoadingDots.js +3 -3
- package/dist/components/LoadingDots.js.map +1 -1
- package/dist/components/LottieAnimation.d.ts +3 -0
- package/dist/components/LottieAnimation.js +5 -0
- package/dist/components/LottieAnimation.js.map +1 -0
- package/dist/components/Menu.d.ts +3 -0
- package/dist/components/Menu.js +5 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Modal.js +1 -1
- package/dist/components/NavLink.js +1 -1
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/RadialProgressBar.js +1 -1
- package/dist/components/Table.js +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +33 -0
- package/dist/composables/index.js.map +1 -0
- package/dist/composables/useCalendar.d.ts +3 -0
- package/dist/composables/useCalendar.js +32 -0
- package/dist/composables/useCalendar.js.map +1 -0
- package/dist/composables/useFormValidation.d.ts +3 -0
- package/dist/composables/useFormValidation.js +110 -0
- package/dist/composables/useFormValidation.js.map +1 -0
- package/dist/composables/useMap.d.ts +3 -0
- package/dist/composables/useMap.js +10 -0
- package/dist/composables/useMap.js.map +1 -0
- package/dist/composables/useModal.d.ts +3 -0
- package/dist/composables/useModal.js +75 -0
- package/dist/composables/useModal.js.map +1 -0
- package/dist/composables/useNotifications.d.ts +3 -0
- package/dist/composables/useNotifications.js +77 -0
- package/dist/composables/useNotifications.js.map +1 -0
- package/dist/composables/useTabs.d.ts +1 -0
- package/dist/composables/useTabs.js +259 -0
- package/dist/composables/useTabs.js.map +1 -0
- package/dist/composables/useTheme.d.ts +3 -0
- package/dist/composables/useTheme.js +119 -0
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/{description-CBd3BJ9O.js → description-C7cRw0tq.js} +2 -2
- package/dist/{description-CBd3BJ9O.js.map → description-C7cRw0tq.js.map} +1 -1
- package/dist/{dialog-U1KNiPzc.js → dialog-B2WA4G25.js} +141 -135
- package/dist/dialog-B2WA4G25.js.map +1 -0
- package/dist/empty-state/ComingSoon.d.ts +3 -0
- package/dist/empty-state/ComingSoon.js +5 -0
- package/dist/empty-state/ComingSoon.js.map +1 -0
- package/dist/empty-state/EmptyState.d.ts +3 -0
- package/dist/empty-state/EmptyState.js +5 -0
- package/dist/empty-state/EmptyState.js.map +1 -0
- package/dist/empty-state/index.d.ts +1 -0
- package/dist/empty-state/index.js +7 -0
- package/dist/empty-state/index.js.map +1 -0
- package/dist/env-BZfPsfnF.js +29 -0
- package/dist/env-BZfPsfnF.js.map +1 -0
- package/dist/form-f8yP4kN-.js +35 -0
- package/dist/form-f8yP4kN-.js.map +1 -0
- package/dist/forms/DynamicForm.js +1 -1
- package/dist/forms/DynamicFormField.js +1 -1
- package/dist/forms/FormFieldWrapper.js +72 -92
- package/dist/forms/FormFieldWrapper.js.map +1 -1
- package/dist/hidden-BSRluD1y.js +15 -0
- package/dist/hidden-BSRluD1y.js.map +1 -0
- package/dist/index-Dca39bYA.js +2167 -0
- package/dist/index-Dca39bYA.js.map +1 -0
- package/dist/index.js +1257 -274
- package/dist/index.js.map +1 -1
- package/dist/inputs/AddDeleteButtonGroup.d.ts +3 -0
- package/dist/inputs/AddDeleteButtonGroup.js +5 -0
- package/dist/inputs/AddDeleteButtonGroup.js.map +1 -0
- package/dist/inputs/CheckboxInput.js +1 -1
- package/dist/inputs/ComboboxInput.js +1 -1
- package/dist/inputs/DatepickerInput.d.ts +3 -0
- package/dist/inputs/DatepickerInput.js +5 -0
- package/dist/inputs/DatepickerInput.js.map +1 -0
- package/dist/inputs/EmailInput.d.ts +3 -0
- package/dist/inputs/EmailInput.js +5 -0
- package/dist/inputs/EmailInput.js.map +1 -0
- package/dist/inputs/EmptyInput.d.ts +3 -0
- package/dist/inputs/EmptyInput.js +5 -0
- package/dist/inputs/EmptyInput.js.map +1 -0
- package/dist/inputs/FileDropzoneInput.d.ts +3 -0
- package/dist/inputs/FileDropzoneInput.js +5 -0
- package/dist/inputs/FileDropzoneInput.js.map +1 -0
- package/dist/inputs/HiddenInput.d.ts +3 -0
- package/dist/inputs/HiddenInput.js +5 -0
- package/dist/inputs/HiddenInput.js.map +1 -0
- package/dist/inputs/PhoneInput.d.ts +3 -0
- package/dist/inputs/PhoneInput.js +3783 -0
- package/dist/inputs/PhoneInput.js.map +1 -0
- package/dist/inputs/RichTextInput.d.ts +3 -0
- package/dist/inputs/RichTextInput.js +17492 -0
- package/dist/inputs/RichTextInput.js.map +1 -0
- package/dist/inputs/SelectInput.js +1 -1
- package/dist/inputs/SelectTextInput.d.ts +3 -0
- package/dist/inputs/SelectTextInput.js +5 -0
- package/dist/inputs/SelectTextInput.js.map +1 -0
- package/dist/inputs/SwitchInput.js +1 -1
- package/dist/inputs/SwitchInputGroup.d.ts +3 -0
- package/dist/inputs/SwitchInputGroup.js +5 -0
- package/dist/inputs/SwitchInputGroup.js.map +1 -0
- package/dist/inputs/TagifyInput.js +1 -1
- package/dist/inputs/TextAreaInput.js +1 -1
- package/dist/inputs/TextInput.d.ts +3 -0
- package/dist/{components → inputs}/TextInput.js +17 -17
- package/dist/inputs/TextInput.js.map +1 -0
- package/dist/keyboard-Dd_2-cFu.js +5 -0
- package/dist/keyboard-Dd_2-cFu.js.map +1 -0
- package/dist/layouts/DashboardLayout.js +1 -1
- package/dist/layouts/ProfileHeaderAvatar.d.ts +3 -0
- package/dist/layouts/ProfileHeaderAvatar.js +5 -0
- package/dist/layouts/ProfileHeaderAvatar.js.map +1 -0
- package/dist/layouts/ProjectLogo.d.ts +3 -0
- package/dist/layouts/ProjectLogo.js +5 -0
- package/dist/layouts/ProjectLogo.js.map +1 -0
- package/dist/layouts/SidebarLayout.js +1 -1
- package/dist/listbox-p2_4hUSD.js +257 -0
- package/dist/listbox-p2_4hUSD.js.map +1 -0
- package/dist/loading/ContentSkeleton.d.ts +3 -0
- package/dist/loading/ContentSkeleton.js +96 -0
- package/dist/loading/ContentSkeleton.js.map +1 -0
- package/dist/loading/SmartLoadingIndicator.d.ts +3 -0
- package/dist/loading/SmartLoadingIndicator.js +230 -0
- package/dist/loading/SmartLoadingIndicator.js.map +1 -0
- package/dist/loading/index.d.ts +1 -0
- package/dist/loading/index.js +7 -0
- package/dist/loading/index.js.map +1 -0
- package/dist/mapThemes-DFE9fZm3.js +675 -0
- package/dist/mapThemes-DFE9fZm3.js.map +1 -0
- package/dist/maps/GoogleMap.d.ts +3 -0
- package/dist/maps/GoogleMap.js +170 -0
- package/dist/maps/GoogleMap.js.map +1 -0
- package/dist/maps/UiInfoWindow.d.ts +3 -0
- package/dist/maps/UiInfoWindow.js +286 -0
- package/dist/maps/UiInfoWindow.js.map +1 -0
- package/dist/maps/UiMap.d.ts +3 -0
- package/dist/maps/UiMap.js +591 -0
- package/dist/maps/UiMap.js.map +1 -0
- package/dist/maps/UiMapAll.d.ts +3 -0
- package/dist/maps/UiMapAll.js +5 -0
- package/dist/maps/UiMapAll.js.map +1 -0
- package/dist/maps/UiMapMarker.d.ts +3 -0
- package/dist/maps/UiMapMarker.js +237 -0
- package/dist/maps/UiMapMarker.js.map +1 -0
- package/dist/maps/index.d.ts +1 -0
- package/dist/maps/index.js +13 -0
- package/dist/maps/index.js.map +1 -0
- package/dist/micro-task-D-oTY33s.js +9 -0
- package/dist/micro-task-D-oTY33s.js.map +1 -0
- package/dist/modals/AlertModal.d.ts +3 -0
- package/dist/modals/AlertModal.js +5 -0
- package/dist/modals/AlertModal.js.map +1 -0
- package/dist/modals/BaseModal.d.ts +3 -0
- package/dist/modals/BaseModal.js +5 -0
- package/dist/modals/BaseModal.js.map +1 -0
- package/dist/modals/ImageCropperModal.d.ts +3 -0
- package/dist/modals/ImageCropperModal.js +1804 -0
- package/dist/modals/ImageCropperModal.js.map +1 -0
- package/dist/notifications/NotificationContainer.d.ts +3 -0
- package/dist/notifications/NotificationContainer.js +25 -0
- package/dist/notifications/NotificationContainer.js.map +1 -0
- package/dist/notifications/NotificationToast.d.ts +3 -0
- package/dist/notifications/NotificationToast.js +5 -0
- package/dist/notifications/NotificationToast.js.map +1 -0
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +7 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/open-closed-JTEvYTg2.js +19 -0
- package/dist/open-closed-JTEvYTg2.js.map +1 -0
- package/dist/render-QUUPyNjX.js +101 -0
- package/dist/render-QUUPyNjX.js.map +1 -0
- package/dist/src/components/CloudinaryImage.d.ts +144 -0
- package/dist/src/components/CloudinaryImage.d.ts.map +1 -0
- package/dist/src/components/LottieAnimation.d.ts +65 -0
- package/dist/src/components/LottieAnimation.d.ts.map +1 -0
- package/dist/src/components/ThemeDebugModal.d.ts +20 -0
- package/dist/src/components/ThemeDebugModal.d.ts.map +1 -0
- package/dist/src/components/UiAvatar.d.ts.map +1 -1
- package/dist/src/components/UiBadge.d.ts +22 -12
- package/dist/src/components/UiBadge.d.ts.map +1 -1
- package/dist/src/components/UiBanner.d.ts +166 -0
- package/dist/src/components/UiBanner.d.ts.map +1 -0
- package/dist/src/components/UiBreadcrumb.d.ts +240 -1
- package/dist/src/components/UiBreadcrumb.d.ts.map +1 -1
- package/dist/src/components/UiButton.d.ts +5 -4
- package/dist/src/components/UiButton.d.ts.map +1 -1
- package/dist/src/components/UiButtonGroup.d.ts +78 -0
- package/dist/src/components/UiButtonGroup.d.ts.map +1 -0
- package/dist/src/components/UiCheckbox.d.ts +55 -0
- package/dist/src/components/UiCheckbox.d.ts.map +1 -0
- package/dist/src/components/UiLoading.d.ts +2 -2
- package/dist/src/components/UiLoading.d.ts.map +1 -1
- package/dist/src/components/UiMenu.d.ts +67 -0
- package/dist/src/components/UiMenu.d.ts.map +1 -0
- package/dist/src/components/UiModal.d.ts +1 -1
- package/dist/src/components/UiModal.d.ts.map +1 -1
- package/dist/src/components/UiNavLink.d.ts +1 -1
- package/dist/src/components/UiProgressBar.d.ts +43 -31
- package/dist/src/components/UiProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiRadialProgressBar.d.ts +46 -39
- package/dist/src/components/UiRadialProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiTable.d.ts.map +1 -1
- package/dist/src/components/UiTransition.d.ts +1 -1
- package/dist/src/components/calendars/CalendarHeader.d.ts +66 -19
- package/dist/src/components/calendars/CalendarHeader.d.ts.map +1 -1
- package/dist/src/components/calendars/DayCalendar.d.ts +11 -4
- package/dist/src/components/calendars/DayCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/MonthCalendar.d.ts +33 -22
- package/dist/src/components/calendars/MonthCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/WeekCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/YearCalendar.d.ts +41 -6
- package/dist/src/components/calendars/YearCalendar.d.ts.map +1 -1
- package/dist/src/components/charts/BarChart.d.ts +64 -0
- package/dist/src/components/charts/BarChart.d.ts.map +1 -0
- package/dist/src/components/charts/BaseChart.d.ts +81 -0
- package/dist/src/components/charts/BaseChart.d.ts.map +1 -0
- package/dist/src/components/charts/FunnelChart.d.ts +55 -0
- package/dist/src/components/charts/FunnelChart.d.ts.map +1 -0
- package/dist/src/components/charts/LineChart.d.ts +60 -0
- package/dist/src/components/charts/LineChart.d.ts.map +1 -0
- package/dist/src/components/charts/PieChart.d.ts +59 -0
- package/dist/src/components/charts/PieChart.d.ts.map +1 -0
- package/dist/src/components/charts/SparklineChart.d.ts +46 -0
- package/dist/src/components/charts/SparklineChart.d.ts.map +1 -0
- package/dist/src/components/charts/StatCard.d.ts +37 -0
- package/dist/src/components/charts/StatCard.d.ts.map +1 -0
- package/dist/src/components/charts/chartTheme.d.ts +166 -0
- package/dist/src/components/charts/chartTheme.d.ts.map +1 -0
- package/dist/src/components/charts/index.d.ts +9 -0
- package/dist/src/components/charts/index.d.ts.map +1 -0
- package/dist/src/components/empty-state/ComingSoon.d.ts +50 -0
- package/dist/src/components/empty-state/ComingSoon.d.ts.map +1 -0
- package/dist/src/components/empty-state/EmptyState.d.ts +49 -0
- package/dist/src/components/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/src/components/empty-state/index.d.ts +3 -0
- package/dist/src/components/empty-state/index.d.ts.map +1 -0
- package/dist/src/components/forms/DynamicForm.d.ts +29 -2
- package/dist/src/components/forms/DynamicForm.d.ts.map +1 -1
- package/dist/src/components/forms/DynamicFormField.d.ts.map +1 -1
- package/dist/src/components/forms/FormFieldWrapper.d.ts +2 -2
- package/dist/src/components/forms/FormFieldWrapper.d.ts.map +1 -1
- package/dist/src/components/index.d.ts +16 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts +49 -0
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts.map +1 -0
- package/dist/src/components/inputs/CheckboxInput.d.ts +1 -1
- package/dist/src/components/inputs/CheckboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/ComboboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/DatepickerInput.d.ts +852 -0
- package/dist/src/components/inputs/DatepickerInput.d.ts.map +1 -0
- package/dist/src/components/inputs/EmailInput.d.ts +99 -0
- package/dist/src/components/inputs/EmailInput.d.ts.map +1 -0
- package/dist/src/components/inputs/EmptyInput.d.ts +36 -0
- package/dist/src/components/inputs/EmptyInput.d.ts.map +1 -0
- package/dist/src/components/inputs/FileDropzoneInput.d.ts +91 -0
- package/dist/src/components/inputs/FileDropzoneInput.d.ts.map +1 -0
- package/dist/src/components/inputs/HiddenInput.d.ts +30 -0
- package/dist/src/components/inputs/HiddenInput.d.ts.map +1 -0
- package/dist/src/components/inputs/PhoneInput.d.ts +211 -0
- package/dist/src/components/inputs/PhoneInput.d.ts.map +1 -0
- package/dist/src/components/inputs/RichTextInput.d.ts +102 -0
- package/dist/src/components/inputs/RichTextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/SelectInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SelectTextInput.d.ts +222 -0
- package/dist/src/components/inputs/SelectTextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/SwitchInput.d.ts +1 -1
- package/dist/src/components/inputs/SwitchInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SwitchInputGroup.d.ts +93 -0
- package/dist/src/components/inputs/SwitchInputGroup.d.ts.map +1 -0
- package/dist/src/components/inputs/TagifyInput.d.ts +6 -6
- package/dist/src/components/inputs/TextAreaInput.d.ts.map +1 -1
- package/dist/src/components/{UiTextInput.d.ts → inputs/TextInput.d.ts} +7 -7
- package/dist/src/components/inputs/TextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/index.d.ts +11 -0
- package/dist/src/components/inputs/index.d.ts.map +1 -1
- package/dist/src/components/layouts/CardLayout.d.ts +144 -0
- package/dist/src/components/layouts/CardLayout.d.ts.map +1 -0
- package/dist/src/components/layouts/DashboardLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/InfoCard.d.ts +43 -0
- package/dist/src/components/layouts/InfoCard.d.ts.map +1 -0
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts +85 -0
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts.map +1 -0
- package/dist/src/components/layouts/ProjectLogo.d.ts +67 -0
- package/dist/src/components/layouts/ProjectLogo.d.ts.map +1 -0
- package/dist/src/components/layouts/PropsTable.d.ts +38 -0
- package/dist/src/components/layouts/PropsTable.d.ts.map +1 -0
- package/dist/src/components/layouts/ShowcaseCard.d.ts +53 -0
- package/dist/src/components/layouts/ShowcaseCard.d.ts.map +1 -0
- package/dist/src/components/layouts/ShowcaseLayout.d.ts +58 -0
- package/dist/src/components/layouts/ShowcaseLayout.d.ts.map +1 -0
- package/dist/src/components/layouts/SidebarLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/StateDisplay.d.ts +32 -0
- package/dist/src/components/layouts/StateDisplay.d.ts.map +1 -0
- package/dist/src/components/layouts/index.d.ts +8 -0
- package/dist/src/components/layouts/index.d.ts.map +1 -1
- package/dist/src/components/loading/ContentSkeleton.d.ts +53 -0
- package/dist/src/components/loading/ContentSkeleton.d.ts.map +1 -0
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts +88 -0
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts.map +1 -0
- package/dist/src/components/loading/index.d.ts +3 -0
- package/dist/src/components/loading/index.d.ts.map +1 -0
- package/dist/src/components/maps/GoogleMap.d.ts +224 -0
- package/dist/src/components/maps/GoogleMap.d.ts.map +1 -0
- package/dist/src/components/maps/UiInfoWindow.d.ts +223 -0
- package/dist/src/components/maps/UiInfoWindow.d.ts.map +1 -0
- package/dist/src/components/maps/UiMap.d.ts +609 -0
- package/dist/src/components/maps/UiMap.d.ts.map +1 -0
- package/dist/src/components/maps/UiMapAll.d.ts +676 -0
- package/dist/src/components/maps/UiMapAll.d.ts.map +1 -0
- package/dist/src/components/maps/UiMapMarker.d.ts +223 -0
- package/dist/src/components/maps/UiMapMarker.d.ts.map +1 -0
- package/dist/src/components/maps/index.d.ts +6 -0
- package/dist/src/components/maps/index.d.ts.map +1 -0
- package/dist/src/components/modals/AlertModal.d.ts +156 -0
- package/dist/src/components/modals/AlertModal.d.ts.map +1 -0
- package/dist/src/components/modals/BaseModal.d.ts +127 -0
- package/dist/src/components/modals/BaseModal.d.ts.map +1 -0
- package/dist/src/components/modals/ImageCropperModal.d.ts +99 -0
- package/dist/src/components/modals/ImageCropperModal.d.ts.map +1 -0
- package/dist/src/components/modals/index.d.ts +4 -0
- package/dist/src/components/modals/index.d.ts.map +1 -0
- package/dist/src/components/notifications/NotificationContainer.d.ts +3 -0
- package/dist/src/components/notifications/NotificationContainer.d.ts.map +1 -0
- package/dist/src/components/notifications/NotificationToast.d.ts +22 -0
- package/dist/src/components/notifications/NotificationToast.d.ts.map +1 -0
- package/dist/src/components/notifications/index.d.ts +3 -0
- package/dist/src/components/notifications/index.d.ts.map +1 -0
- package/dist/src/components/stepper/StepperPanels.d.ts +22 -0
- package/dist/src/components/stepper/StepperPanels.d.ts.map +1 -0
- package/dist/src/components/stepper/index.d.ts +2 -0
- package/dist/src/components/stepper/index.d.ts.map +1 -0
- package/dist/src/components/tabs/InlineTabs.d.ts +48 -0
- package/dist/src/components/tabs/InlineTabs.d.ts.map +1 -0
- package/dist/src/components/tabs/TabGroup.d.ts +55 -0
- package/dist/src/components/tabs/TabGroup.d.ts.map +1 -0
- package/dist/src/components/tabs/TabGroupUnderline.d.ts +56 -0
- package/dist/src/components/tabs/TabGroupUnderline.d.ts.map +1 -0
- package/dist/src/components/tabs/TabsInPills.d.ts +44 -0
- package/dist/src/components/tabs/TabsInPills.d.ts.map +1 -0
- package/dist/src/components/tabs/index.d.ts +5 -0
- package/dist/src/components/tabs/index.d.ts.map +1 -0
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +64 -0
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/CardWrapper.d.ts +10 -0
- package/dist/src/components/wrappers/CardWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts +37 -0
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts +40 -0
- package/dist/src/components/{UiTextInput.d.ts.map → wrappers/FormErrorWrapper.d.ts.map} +1 -1
- package/dist/src/components/wrappers/index.d.ts +5 -0
- package/dist/src/components/wrappers/index.d.ts.map +1 -0
- package/dist/src/composables/index.d.ts +7 -0
- package/dist/src/composables/index.d.ts.map +1 -1
- package/dist/src/composables/useCalendar.d.ts +76 -20
- package/dist/src/composables/useCalendar.d.ts.map +1 -1
- package/dist/src/composables/useEventSegments.d.ts +74 -0
- package/dist/src/composables/useEventSegments.d.ts.map +1 -0
- package/dist/src/composables/useFormValidation.d.ts +47 -0
- package/dist/src/composables/useFormValidation.d.ts.map +1 -1
- package/dist/src/composables/useMap.d.ts +93 -0
- package/dist/src/composables/useMap.d.ts.map +1 -0
- package/dist/src/composables/useModal.d.ts +42 -2
- package/dist/src/composables/useModal.d.ts.map +1 -1
- package/dist/src/composables/useNotifications.d.ts +142 -0
- package/dist/src/composables/useNotifications.d.ts.map +1 -0
- package/dist/src/composables/useSimpleTabs.d.ts +45 -0
- package/dist/src/composables/useSimpleTabs.d.ts.map +1 -0
- package/dist/src/composables/useStringTransform.d.ts +107 -0
- package/dist/src/composables/useStringTransform.d.ts.map +1 -0
- package/dist/src/composables/useTabs.d.ts +48 -0
- package/dist/src/composables/useTabs.d.ts.map +1 -0
- package/dist/src/composables/useTheme.d.ts +37 -0
- package/dist/src/composables/useTheme.d.ts.map +1 -0
- package/dist/src/dev.d.ts +3 -0
- package/dist/src/dev.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/plugin/configure.d.ts +110 -0
- package/dist/src/plugin/configure.d.ts.map +1 -1
- package/dist/src/types/calendars.d.ts +74 -0
- package/dist/src/types/calendars.d.ts.map +1 -1
- package/dist/src/types/core.d.ts +679 -0
- package/dist/src/types/core.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/inputs.d.ts +147 -0
- package/dist/src/types/inputs.d.ts.map +1 -1
- package/dist/src/types/layouts.d.ts +25 -0
- package/dist/src/types/layouts.d.ts.map +1 -1
- package/dist/src/types/maps.d.ts +432 -0
- package/dist/src/types/maps.d.ts.map +1 -0
- package/dist/src/types/tabs.d.ts +75 -0
- package/dist/src/types/tabs.d.ts.map +1 -0
- package/dist/src/types/ui.d.ts +2 -3
- package/dist/src/types/ui.d.ts.map +1 -1
- package/dist/src/utils/calendar.d.ts +97 -5
- package/dist/src/utils/calendar.d.ts.map +1 -1
- package/dist/src/utils/countryCodes.d.ts +27 -0
- package/dist/src/utils/countryCodes.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/mapThemes.d.ts +90 -0
- package/dist/src/utils/mapThemes.d.ts.map +1 -0
- package/dist/src/utils/phone.d.ts +73 -0
- package/dist/src/utils/phone.d.ts.map +1 -0
- package/dist/src/utils/transitions.d.ts +55 -0
- package/dist/src/utils/transitions.d.ts.map +1 -0
- package/dist/src/views/components/index.d.ts +15 -0
- package/dist/src/views/components/index.d.ts.map +1 -0
- package/dist/src/views/examples/index.d.ts +5 -0
- package/dist/src/views/examples/index.d.ts.map +1 -0
- package/dist/src/views/forms/index.d.ts +3 -0
- package/dist/src/views/forms/index.d.ts.map +1 -0
- package/dist/src/views/index.d.ts +23 -0
- package/dist/src/views/index.d.ts.map +1 -0
- package/dist/src/views/inputs/index.d.ts +13 -0
- package/dist/src/views/inputs/index.d.ts.map +1 -0
- package/dist/src/views/layouts/index.d.ts +5 -0
- package/dist/src/views/layouts/index.d.ts.map +1 -0
- package/dist/stepper/StepperPanels.d.ts +3 -0
- package/dist/stepper/StepperPanels.js +5 -0
- package/dist/stepper/StepperPanels.js.map +1 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +5 -0
- package/dist/stepper/index.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/tabs/InlineTabs.d.ts +3 -0
- package/dist/tabs/InlineTabs.js +5 -0
- package/dist/tabs/InlineTabs.js.map +1 -0
- package/dist/tabs/TabGroup.d.ts +3 -0
- package/dist/tabs/TabGroup.js +5 -0
- package/dist/tabs/TabGroup.js.map +1 -0
- package/dist/tabs/TabGroupUnderline.d.ts +3 -0
- package/dist/tabs/TabGroupUnderline.js +5 -0
- package/dist/tabs/TabGroupUnderline.js.map +1 -0
- package/dist/tabs/TabsInPills.d.ts +3 -0
- package/dist/tabs/TabsInPills.js +5 -0
- package/dist/tabs/TabsInPills.js.map +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +11 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs-Da32Mbhf.js +202 -0
- package/dist/tabs-Da32Mbhf.js.map +1 -0
- package/dist/transition-_rPfnoET.js +191 -0
- package/dist/transition-_rPfnoET.js.map +1 -0
- package/dist/use-outside-click-DNDV36Sc.js +151 -0
- package/dist/use-outside-click-DNDV36Sc.js.map +1 -0
- package/dist/use-resolve-button-type-h6n-lm9q.js +20 -0
- package/dist/use-resolve-button-type-h6n-lm9q.js.map +1 -0
- package/dist/use-text-value-DKnkjK00.js +44 -0
- package/dist/use-text-value-DKnkjK00.js.map +1 -0
- package/dist/use-tree-walker-BHCORE7u.js +16 -0
- package/dist/use-tree-walker-BHCORE7u.js.map +1 -0
- package/dist/useEventSegments-B-r_8zCW.js +97 -0
- package/dist/useEventSegments-B-r_8zCW.js.map +1 -0
- package/dist/useMap-BaZEIoWM.js +525 -0
- package/dist/useMap-BaZEIoWM.js.map +1 -0
- package/dist/useSimpleTabs-CSgkChEU.js +103 -0
- package/dist/useSimpleTabs-CSgkChEU.js.map +1 -0
- package/dist/useStringTransform-CSr7nZWg.js +140 -0
- package/dist/useStringTransform-CSr7nZWg.js.map +1 -0
- package/dist/vue-datepicker-CEn0-fJj.js +4871 -0
- package/dist/vue-datepicker-CEn0-fJj.js.map +1 -0
- package/dist/vue-router-BPbyZ7xA.js +145 -0
- package/dist/vue-router-BPbyZ7xA.js.map +1 -0
- package/dist/vue3-lottie.es-C_MDkNwR.js +7976 -0
- package/dist/vue3-lottie.es-C_MDkNwR.js.map +1 -0
- package/dist/wrappers/BackgroundGradientWrapper.d.ts +3 -0
- package/dist/wrappers/BackgroundGradientWrapper.js +5 -0
- package/dist/wrappers/BackgroundGradientWrapper.js.map +1 -0
- package/dist/wrappers/CardWrapper.d.ts +3 -0
- package/dist/wrappers/CardWrapper.js +5 -0
- package/dist/wrappers/CardWrapper.js.map +1 -0
- package/dist/wrappers/DisclosureWrapper.d.ts +3 -0
- package/dist/wrappers/DisclosureWrapper.js +5 -0
- package/dist/wrappers/DisclosureWrapper.js.map +1 -0
- package/dist/wrappers/FormErrorWrapper.d.ts +3 -0
- package/dist/wrappers/FormErrorWrapper.js +5 -0
- package/dist/wrappers/FormErrorWrapper.js.map +1 -0
- package/dist/wrappers/index.d.ts +1 -0
- package/dist/wrappers/index.js +11 -0
- package/dist/wrappers/index.js.map +1 -0
- package/package.json +38 -6
- package/scripts/build-css.cjs +1 -1
- package/scripts/generate-config.cjs +1 -0
- package/scripts/generateRecursiveIndex.cjs +4 -1
- package/tailwind.config.js +1 -1
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js +0 -70
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js.map +0 -1
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-tYAo46wK.js.map +0 -1
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js +0 -1300
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js.map +0 -1
- package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-Cg83utkU.js.map +0 -1
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-xE5bCa3O.js +0 -123
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-xE5bCa3O.js.map +0 -1
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js +0 -217
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js.map +0 -1
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js.map +0 -1
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js.map +0 -1
- package/dist/MonthCalendar.vue_vue_type_script_setup_true_lang-B9Bs0z8j.js +0 -66
- package/dist/MonthCalendar.vue_vue_type_script_setup_true_lang-B9Bs0z8j.js.map +0 -1
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js +0 -522
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js.map +0 -1
- package/dist/SidebarLayout.vue_vue_type_script_setup_true_lang-CzLbBcNS.js.map +0 -1
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js.map +0 -1
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js.map +0 -1
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-CbR651TU.js.map +0 -1
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-CDNjUA1L.js.map +0 -1
- package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js +0 -82
- package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js.map +0 -1
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js.map +0 -1
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js +0 -163
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js.map +0 -1
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-Bz5oiCCk.js +0 -222
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-Bz5oiCCk.js.map +0 -1
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js +0 -51
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js.map +0 -1
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-hI1_xamh.js.map +0 -1
- package/dist/WeekCalendar.vue_vue_type_script_setup_true_lang-DAFQiRI9.js +0 -154
- package/dist/WeekCalendar.vue_vue_type_script_setup_true_lang-DAFQiRI9.js.map +0 -1
- package/dist/XMarkIcon-C4wILUsz.js.map +0 -1
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-BfJkvmpN.js +0 -29
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-BfJkvmpN.js.map +0 -1
- package/dist/calculate-active-index-CksdUwZY.js +0 -87
- package/dist/calculate-active-index-CksdUwZY.js.map +0 -1
- package/dist/calendar-905Ofszh.js +0 -77
- package/dist/calendar-905Ofszh.js.map +0 -1
- package/dist/components/TextInput.d.ts +0 -3
- package/dist/components/TextInput.js.map +0 -1
- package/dist/dialog-U1KNiPzc.js.map +0 -1
- package/dist/form-DQKuKVqJ.js +0 -51
- package/dist/form-DQKuKVqJ.js.map +0 -1
- package/dist/keyboard-DJD8TwH4.js +0 -113
- package/dist/keyboard-DJD8TwH4.js.map +0 -1
- package/dist/open-closed-DgcU-HDT.js +0 -179
- package/dist/open-closed-DgcU-HDT.js.map +0 -1
- package/dist/transition-CuxxW9dY.js +0 -209
- package/dist/transition-CuxxW9dY.js.map +0 -1
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { createElementBlock as P, openBlock as y, createElementVNode as A, defineComponent as T, ref as w, computed as k, provide as G, onMounted as H, onUnmounted as J, watchEffect as W, nextTick as S, inject as X, createBlock as B, unref as M, withCtx as R, createVNode as D, normalizeClass as _, renderSlot as $, Transition as Y, Fragment as L, renderList as j, createCommentVNode as K, resolveDynamicComponent as ee, toDisplayString as V } from "vue";
|
|
2
|
+
import { o as m, u as te, A as O, i as F, N as U } from "./render-QUUPyNjX.js";
|
|
3
|
+
import { w as le, a as se, O as ae, h as re, v as ne, N as Z, _ as q } from "./use-outside-click-DNDV36Sc.js";
|
|
4
|
+
import { s as oe } from "./use-resolve-button-type-h6n-lm9q.js";
|
|
5
|
+
import { p as ue } from "./use-text-value-DKnkjK00.js";
|
|
6
|
+
import { u as ie, f as de, c as I } from "./calculate-active-index-Dim3sT-5.js";
|
|
7
|
+
import { i as ce } from "./use-tree-walker-BHCORE7u.js";
|
|
8
|
+
import { t as pe, l as fe, i as E } from "./open-closed-JTEvYTg2.js";
|
|
9
|
+
import { o as p } from "./keyboard-Dd_2-cFu.js";
|
|
10
|
+
function ve(a, g) {
|
|
11
|
+
return y(), P("svg", {
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
viewBox: "0 0 20 20",
|
|
14
|
+
fill: "currentColor",
|
|
15
|
+
"aria-hidden": "true",
|
|
16
|
+
"data-slot": "icon"
|
|
17
|
+
}, [
|
|
18
|
+
A("path", { d: "M10 3a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM10 8.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM11.5 15.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z" })
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
var me = ((a) => (a[a.Open = 0] = "Open", a[a.Closed = 1] = "Closed", a))(me || {}), ge = ((a) => (a[a.Pointer = 0] = "Pointer", a[a.Other = 1] = "Other", a))(ge || {});
|
|
22
|
+
function be(a) {
|
|
23
|
+
requestAnimationFrame(() => requestAnimationFrame(a));
|
|
24
|
+
}
|
|
25
|
+
let z = Symbol("MenuContext");
|
|
26
|
+
function N(a) {
|
|
27
|
+
let g = X(z, null);
|
|
28
|
+
if (g === null) {
|
|
29
|
+
let c = new Error(`<${a} /> is missing a parent <Menu /> component.`);
|
|
30
|
+
throw Error.captureStackTrace && Error.captureStackTrace(c, N), c;
|
|
31
|
+
}
|
|
32
|
+
return g;
|
|
33
|
+
}
|
|
34
|
+
let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "template" } }, setup(a, { slots: g, attrs: c }) {
|
|
35
|
+
let b = w(1), h = w(null), f = w(null), t = w([]), u = w(""), l = w(null), d = w(1);
|
|
36
|
+
function v(e = (s) => s) {
|
|
37
|
+
let s = l.value !== null ? t.value[l.value] : null, r = ae(e(t.value.slice()), (x) => m(x.dataRef.domRef)), o = s ? r.indexOf(s) : null;
|
|
38
|
+
return o === -1 && (o = null), { items: r, activeItemIndex: o };
|
|
39
|
+
}
|
|
40
|
+
let n = { menuState: b, buttonRef: h, itemsRef: f, items: t, searchQuery: u, activeItemIndex: l, activationTrigger: d, closeMenu: () => {
|
|
41
|
+
b.value = 1, l.value = null;
|
|
42
|
+
}, openMenu: () => b.value = 0, goToItem(e, s, r) {
|
|
43
|
+
let o = v(), x = de(e === I.Specific ? { focus: I.Specific, id: s } : { focus: e }, { resolveItems: () => o.items, resolveActiveIndex: () => o.activeItemIndex, resolveId: (i) => i.id, resolveDisabled: (i) => i.dataRef.disabled });
|
|
44
|
+
u.value = "", l.value = x, d.value = r ?? 1, t.value = o.items;
|
|
45
|
+
}, search(e) {
|
|
46
|
+
let s = u.value !== "" ? 0 : 1;
|
|
47
|
+
u.value += e.toLowerCase();
|
|
48
|
+
let r = (l.value !== null ? t.value.slice(l.value + s).concat(t.value.slice(0, l.value + s)) : t.value).find((x) => x.dataRef.textValue.startsWith(u.value) && !x.dataRef.disabled), o = r ? t.value.indexOf(r) : -1;
|
|
49
|
+
o === -1 || o === l.value || (l.value = o, d.value = 1);
|
|
50
|
+
}, clearSearch() {
|
|
51
|
+
u.value = "";
|
|
52
|
+
}, registerItem(e, s) {
|
|
53
|
+
let r = v((o) => [...o, { id: e, dataRef: s }]);
|
|
54
|
+
t.value = r.items, l.value = r.activeItemIndex, d.value = 1;
|
|
55
|
+
}, unregisterItem(e) {
|
|
56
|
+
let s = v((r) => {
|
|
57
|
+
let o = r.findIndex((x) => x.id === e);
|
|
58
|
+
return o !== -1 && r.splice(o, 1), r;
|
|
59
|
+
});
|
|
60
|
+
t.value = s.items, l.value = s.activeItemIndex, d.value = 1;
|
|
61
|
+
} };
|
|
62
|
+
return le([h, f], (e, s) => {
|
|
63
|
+
var r;
|
|
64
|
+
n.closeMenu(), se(s, re.Loose) || (e.preventDefault(), (r = m(h)) == null || r.focus());
|
|
65
|
+
}, k(() => b.value === 0)), G(z, n), pe(k(() => te(b.value, { 0: E.Open, 1: E.Closed }))), () => {
|
|
66
|
+
let e = { open: b.value === 0, close: n.closeMenu };
|
|
67
|
+
return O({ ourProps: {}, theirProps: a, slot: e, slots: g, attrs: c, name: "Menu" });
|
|
68
|
+
};
|
|
69
|
+
} }), xe = T({ name: "MenuButton", props: { disabled: { type: Boolean, default: !1 }, as: { type: [Object, String], default: "button" }, id: { type: String, default: null } }, setup(a, { attrs: g, slots: c, expose: b }) {
|
|
70
|
+
var h;
|
|
71
|
+
let f = (h = a.id) != null ? h : `headlessui-menu-button-${F()}`, t = N("MenuButton");
|
|
72
|
+
b({ el: t.buttonRef, $el: t.buttonRef });
|
|
73
|
+
function u(n) {
|
|
74
|
+
switch (n.key) {
|
|
75
|
+
case p.Space:
|
|
76
|
+
case p.Enter:
|
|
77
|
+
case p.ArrowDown:
|
|
78
|
+
n.preventDefault(), n.stopPropagation(), t.openMenu(), S(() => {
|
|
79
|
+
var e;
|
|
80
|
+
(e = m(t.itemsRef)) == null || e.focus({ preventScroll: !0 }), t.goToItem(I.First);
|
|
81
|
+
});
|
|
82
|
+
break;
|
|
83
|
+
case p.ArrowUp:
|
|
84
|
+
n.preventDefault(), n.stopPropagation(), t.openMenu(), S(() => {
|
|
85
|
+
var e;
|
|
86
|
+
(e = m(t.itemsRef)) == null || e.focus({ preventScroll: !0 }), t.goToItem(I.Last);
|
|
87
|
+
});
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function l(n) {
|
|
92
|
+
switch (n.key) {
|
|
93
|
+
case p.Space:
|
|
94
|
+
n.preventDefault();
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function d(n) {
|
|
99
|
+
a.disabled || (t.menuState.value === 0 ? (t.closeMenu(), S(() => {
|
|
100
|
+
var e;
|
|
101
|
+
return (e = m(t.buttonRef)) == null ? void 0 : e.focus({ preventScroll: !0 });
|
|
102
|
+
})) : (n.preventDefault(), t.openMenu(), be(() => {
|
|
103
|
+
var e;
|
|
104
|
+
return (e = m(t.itemsRef)) == null ? void 0 : e.focus({ preventScroll: !0 });
|
|
105
|
+
})));
|
|
106
|
+
}
|
|
107
|
+
let v = oe(k(() => ({ as: a.as, type: g.type })), t.buttonRef);
|
|
108
|
+
return () => {
|
|
109
|
+
var n;
|
|
110
|
+
let e = { open: t.menuState.value === 0 }, { ...s } = a, r = { ref: t.buttonRef, id: f, type: v.value, "aria-haspopup": "menu", "aria-controls": (n = m(t.itemsRef)) == null ? void 0 : n.id, "aria-expanded": t.menuState.value === 0, onKeydown: u, onKeyup: l, onClick: d };
|
|
111
|
+
return O({ ourProps: r, theirProps: s, slot: e, attrs: g, slots: c, name: "MenuButton" });
|
|
112
|
+
};
|
|
113
|
+
} }), Ie = T({ name: "MenuItems", props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, id: { type: String, default: null } }, setup(a, { attrs: g, slots: c, expose: b }) {
|
|
114
|
+
var h;
|
|
115
|
+
let f = (h = a.id) != null ? h : `headlessui-menu-items-${F()}`, t = N("MenuItems"), u = w(null);
|
|
116
|
+
b({ el: t.itemsRef, $el: t.itemsRef }), ce({ container: k(() => m(t.itemsRef)), enabled: k(() => t.menuState.value === 0), accept(e) {
|
|
117
|
+
return e.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : e.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
|
|
118
|
+
}, walk(e) {
|
|
119
|
+
e.setAttribute("role", "none");
|
|
120
|
+
} });
|
|
121
|
+
function l(e) {
|
|
122
|
+
var s;
|
|
123
|
+
switch (u.value && clearTimeout(u.value), e.key) {
|
|
124
|
+
case p.Space:
|
|
125
|
+
if (t.searchQuery.value !== "") return e.preventDefault(), e.stopPropagation(), t.search(e.key);
|
|
126
|
+
case p.Enter:
|
|
127
|
+
if (e.preventDefault(), e.stopPropagation(), t.activeItemIndex.value !== null) {
|
|
128
|
+
let r = t.items.value[t.activeItemIndex.value];
|
|
129
|
+
(s = m(r.dataRef.domRef)) == null || s.click();
|
|
130
|
+
}
|
|
131
|
+
t.closeMenu(), q(m(t.buttonRef));
|
|
132
|
+
break;
|
|
133
|
+
case p.ArrowDown:
|
|
134
|
+
return e.preventDefault(), e.stopPropagation(), t.goToItem(I.Next);
|
|
135
|
+
case p.ArrowUp:
|
|
136
|
+
return e.preventDefault(), e.stopPropagation(), t.goToItem(I.Previous);
|
|
137
|
+
case p.Home:
|
|
138
|
+
case p.PageUp:
|
|
139
|
+
return e.preventDefault(), e.stopPropagation(), t.goToItem(I.First);
|
|
140
|
+
case p.End:
|
|
141
|
+
case p.PageDown:
|
|
142
|
+
return e.preventDefault(), e.stopPropagation(), t.goToItem(I.Last);
|
|
143
|
+
case p.Escape:
|
|
144
|
+
e.preventDefault(), e.stopPropagation(), t.closeMenu(), S(() => {
|
|
145
|
+
var r;
|
|
146
|
+
return (r = m(t.buttonRef)) == null ? void 0 : r.focus({ preventScroll: !0 });
|
|
147
|
+
});
|
|
148
|
+
break;
|
|
149
|
+
case p.Tab:
|
|
150
|
+
e.preventDefault(), e.stopPropagation(), t.closeMenu(), S(() => ne(m(t.buttonRef), e.shiftKey ? Z.Previous : Z.Next));
|
|
151
|
+
break;
|
|
152
|
+
default:
|
|
153
|
+
e.key.length === 1 && (t.search(e.key), u.value = setTimeout(() => t.clearSearch(), 350));
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function d(e) {
|
|
158
|
+
switch (e.key) {
|
|
159
|
+
case p.Space:
|
|
160
|
+
e.preventDefault();
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
let v = fe(), n = k(() => v !== null ? (v.value & E.Open) === E.Open : t.menuState.value === 0);
|
|
165
|
+
return () => {
|
|
166
|
+
var e, s;
|
|
167
|
+
let r = { open: t.menuState.value === 0 }, { ...o } = a, x = { "aria-activedescendant": t.activeItemIndex.value === null || (e = t.items.value[t.activeItemIndex.value]) == null ? void 0 : e.id, "aria-labelledby": (s = m(t.buttonRef)) == null ? void 0 : s.id, id: f, onKeydown: l, onKeyup: d, role: "menu", tabIndex: 0, ref: t.itemsRef };
|
|
168
|
+
return O({ ourProps: x, theirProps: o, slot: r, attrs: g, slots: c, features: U.RenderStrategy | U.Static, visible: n.value, name: "MenuItems" });
|
|
169
|
+
};
|
|
170
|
+
} }), ke = T({ name: "MenuItem", inheritAttrs: !1, props: { as: { type: [Object, String], default: "template" }, disabled: { type: Boolean, default: !1 }, id: { type: String, default: null } }, setup(a, { slots: g, attrs: c, expose: b }) {
|
|
171
|
+
var h;
|
|
172
|
+
let f = (h = a.id) != null ? h : `headlessui-menu-item-${F()}`, t = N("MenuItem"), u = w(null);
|
|
173
|
+
b({ el: u, $el: u });
|
|
174
|
+
let l = k(() => t.activeItemIndex.value !== null ? t.items.value[t.activeItemIndex.value].id === f : !1), d = ue(u), v = k(() => ({ disabled: a.disabled, get textValue() {
|
|
175
|
+
return d();
|
|
176
|
+
}, domRef: u }));
|
|
177
|
+
H(() => t.registerItem(f, v)), J(() => t.unregisterItem(f)), W(() => {
|
|
178
|
+
t.menuState.value === 0 && l.value && t.activationTrigger.value !== 0 && S(() => {
|
|
179
|
+
var i, C;
|
|
180
|
+
return (C = (i = m(u)) == null ? void 0 : i.scrollIntoView) == null ? void 0 : C.call(i, { block: "nearest" });
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
function n(i) {
|
|
184
|
+
if (a.disabled) return i.preventDefault();
|
|
185
|
+
t.closeMenu(), q(m(t.buttonRef));
|
|
186
|
+
}
|
|
187
|
+
function e() {
|
|
188
|
+
if (a.disabled) return t.goToItem(I.Nothing);
|
|
189
|
+
t.goToItem(I.Specific, f);
|
|
190
|
+
}
|
|
191
|
+
let s = ie();
|
|
192
|
+
function r(i) {
|
|
193
|
+
s.update(i);
|
|
194
|
+
}
|
|
195
|
+
function o(i) {
|
|
196
|
+
s.wasMoved(i) && (a.disabled || l.value || t.goToItem(I.Specific, f, 0));
|
|
197
|
+
}
|
|
198
|
+
function x(i) {
|
|
199
|
+
s.wasMoved(i) && (a.disabled || l.value && t.goToItem(I.Nothing));
|
|
200
|
+
}
|
|
201
|
+
return () => {
|
|
202
|
+
let { disabled: i, ...C } = a, Q = { active: l.value, disabled: i, close: t.closeMenu };
|
|
203
|
+
return O({ ourProps: { id: f, ref: u, role: "menuitem", tabIndex: i === !0 ? void 0 : -1, "aria-disabled": i === !0 ? !0 : void 0, onClick: n, onFocus: e, onPointerenter: r, onMouseenter: r, onPointermove: o, onMousemove: o, onPointerleave: x, onMouseleave: x }, theirProps: { ...c, ...C }, slot: Q, attrs: c, slots: g, name: "MenuItem" });
|
|
204
|
+
};
|
|
205
|
+
} });
|
|
206
|
+
const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
207
|
+
key: 1,
|
|
208
|
+
class: "sl-text-xs sl-text-slate-400 dark:sl-text-slate-500"
|
|
209
|
+
}, Me = "sl-p-2 sl-text-slate-500 dark:sl-text-slate-300 hover:sl-bg-slate-100 dark:hover:sl-bg-slate-700 hover:sl-text-slate-700 dark:hover:sl-text-white", Ne = /* @__PURE__ */ T({
|
|
210
|
+
__name: "UiMenu",
|
|
211
|
+
props: {
|
|
212
|
+
items: { default: () => [] },
|
|
213
|
+
placement: { default: "right" },
|
|
214
|
+
width: { default: "md" },
|
|
215
|
+
disabled: { type: Boolean, default: !1 }
|
|
216
|
+
},
|
|
217
|
+
emits: ["item-click"],
|
|
218
|
+
setup(a, { emit: g }) {
|
|
219
|
+
const c = a, b = g, h = k(() => c.placement === "left" ? "sl-left-0" : "sl-right-0"), f = k(() => ({
|
|
220
|
+
auto: "sl-w-auto sl-min-w-[10rem]",
|
|
221
|
+
sm: "sl-w-40",
|
|
222
|
+
md: "sl-w-56",
|
|
223
|
+
lg: "sl-w-72",
|
|
224
|
+
full: "sl-w-full"
|
|
225
|
+
})[c.width]), t = k(() => {
|
|
226
|
+
if (!c.items.length) return [];
|
|
227
|
+
const l = [];
|
|
228
|
+
let d = [];
|
|
229
|
+
for (const v of c.items)
|
|
230
|
+
d.push(v), v.dividerAfter && (l.push(d), d = []);
|
|
231
|
+
return d.length && l.push(d), l;
|
|
232
|
+
}), u = (l) => {
|
|
233
|
+
l.disabled || (l.action && l.action(), b("item-click", l));
|
|
234
|
+
};
|
|
235
|
+
return (l, d) => (y(), B(M(he), {
|
|
236
|
+
as: "div",
|
|
237
|
+
class: "sl-relative sl-inline-block sl-text-left"
|
|
238
|
+
}, {
|
|
239
|
+
default: R(() => [
|
|
240
|
+
A("div", null, [
|
|
241
|
+
D(M(xe), {
|
|
242
|
+
disabled: l.disabled,
|
|
243
|
+
class: _([
|
|
244
|
+
"sl-inline-flex sl-items-center sl-justify-center sl-rounded-lg sl-transition-colors",
|
|
245
|
+
l.disabled ? "sl-opacity-50 sl-cursor-not-allowed" : "sl-cursor-pointer",
|
|
246
|
+
!l.$slots.trigger && Me
|
|
247
|
+
])
|
|
248
|
+
}, {
|
|
249
|
+
default: R(() => [
|
|
250
|
+
$(l.$slots, "trigger", {}, () => [
|
|
251
|
+
D(M(ve), {
|
|
252
|
+
class: "sl-h-5 sl-w-5",
|
|
253
|
+
"aria-hidden": "true"
|
|
254
|
+
})
|
|
255
|
+
])
|
|
256
|
+
]),
|
|
257
|
+
_: 3
|
|
258
|
+
}, 8, ["disabled", "class"])
|
|
259
|
+
]),
|
|
260
|
+
D(Y, {
|
|
261
|
+
"enter-active-class": "sl-transition sl-duration-100 sl-ease-out",
|
|
262
|
+
"enter-from-class": "sl-transform sl-scale-95 sl-opacity-0",
|
|
263
|
+
"enter-to-class": "sl-transform sl-scale-100 sl-opacity-100",
|
|
264
|
+
"leave-active-class": "sl-transition sl-duration-75 sl-ease-in",
|
|
265
|
+
"leave-from-class": "sl-transform sl-scale-100 sl-opacity-100",
|
|
266
|
+
"leave-to-class": "sl-transform sl-scale-95 sl-opacity-0"
|
|
267
|
+
}, {
|
|
268
|
+
default: R(() => [
|
|
269
|
+
D(M(Ie), {
|
|
270
|
+
class: _([
|
|
271
|
+
"sl-absolute sl-z-50 sl-mt-2 sl-origin-top-right sl-rounded-xl sl-bg-white dark:sl-bg-slate-800 sl-shadow-lg dark:sl-shadow-slate-900/50 sl-ring-1 sl-ring-black/5 dark:sl-ring-slate-700 sl-focus:outline-none sl-py-1 sl-divide-y sl-divide-slate-100 dark:sl-divide-slate-700",
|
|
272
|
+
h.value,
|
|
273
|
+
f.value
|
|
274
|
+
])
|
|
275
|
+
}, {
|
|
276
|
+
default: R(() => [
|
|
277
|
+
(y(!0), P(L, null, j(t.value, (v, n) => (y(), P("div", {
|
|
278
|
+
key: n,
|
|
279
|
+
class: "sl-py-1"
|
|
280
|
+
}, [
|
|
281
|
+
(y(!0), P(L, null, j(v, (e) => (y(), B(M(ke), {
|
|
282
|
+
key: e.label,
|
|
283
|
+
disabled: e.disabled
|
|
284
|
+
}, {
|
|
285
|
+
default: R(({ active: s, disabled: r }) => [
|
|
286
|
+
A("button", {
|
|
287
|
+
onClick: (o) => u(e),
|
|
288
|
+
class: _([
|
|
289
|
+
"sl-group sl-flex sl-w-full sl-items-center sl-gap-3 sl-px-4 sl-py-2.5 sl-text-sm sl-transition-colors",
|
|
290
|
+
s && !e.danger ? "sl-bg-slate-100 dark:sl-bg-slate-700 sl-text-slate-900 dark:sl-text-white" : "",
|
|
291
|
+
s && e.danger ? "sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400" : "",
|
|
292
|
+
!s && e.danger ? "sl-text-red-600 dark:sl-text-red-400" : "",
|
|
293
|
+
!s && !e.danger ? "sl-text-slate-700 dark:sl-text-slate-200" : "",
|
|
294
|
+
r ? "sl-opacity-50 sl-cursor-not-allowed" : "sl-cursor-pointer"
|
|
295
|
+
])
|
|
296
|
+
}, [
|
|
297
|
+
e.icon ? (y(), B(ee(e.icon), {
|
|
298
|
+
key: 0,
|
|
299
|
+
class: _([
|
|
300
|
+
"sl-h-4 sl-w-4 sl-flex-shrink-0",
|
|
301
|
+
s && !e.danger ? "sl-text-slate-500 dark:sl-text-slate-300" : "",
|
|
302
|
+
s && e.danger ? "sl-text-red-500 dark:sl-text-red-400" : "",
|
|
303
|
+
!s && e.danger ? "sl-text-red-400 dark:sl-text-red-500" : "",
|
|
304
|
+
!s && !e.danger ? "sl-text-slate-400 dark:sl-text-slate-500" : ""
|
|
305
|
+
]),
|
|
306
|
+
"aria-hidden": "true"
|
|
307
|
+
}, null, 8, ["class"])) : K("", !0),
|
|
308
|
+
A("span", ye, V(e.label), 1),
|
|
309
|
+
e.shortcut ? (y(), P("span", Se, V(e.shortcut), 1)) : K("", !0)
|
|
310
|
+
], 10, we)
|
|
311
|
+
]),
|
|
312
|
+
_: 2
|
|
313
|
+
}, 1032, ["disabled"]))), 128))
|
|
314
|
+
]))), 128)),
|
|
315
|
+
$(l.$slots, "default")
|
|
316
|
+
]),
|
|
317
|
+
_: 3
|
|
318
|
+
}, 8, ["class"])
|
|
319
|
+
]),
|
|
320
|
+
_: 3
|
|
321
|
+
})
|
|
322
|
+
]),
|
|
323
|
+
_: 3
|
|
324
|
+
}));
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
export {
|
|
328
|
+
Ne as _
|
|
329
|
+
};
|
|
330
|
+
//# sourceMappingURL=UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js","sources":["../node_modules/@heroicons/vue/20/solid/esm/EllipsisVerticalIcon.js","../node_modules/@headlessui/vue/dist/components/menu/menu.js","../src/components/UiMenu.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\"\n }, [\n _createElementVNode(\"path\", { d: \"M10 3a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM10 8.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM11.5 15.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\" })\n ]))\n}","import{computed as y,defineComponent as T,inject as K,nextTick as x,onMounted as N,onUnmounted as j,provide as L,ref as R,watchEffect as B}from\"vue\";import{useId as w}from'../../hooks/use-id.js';import{useOutsideClick as U}from'../../hooks/use-outside-click.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useTextValue as V}from'../../hooks/use-text-value.js';import{useTrackedPointer as H}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{State as D,useOpenClosed as _,useOpenClosedProvider as q}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as W,Focus as S}from'../../utils/calculate-active-index.js';import{dom as m}from'../../utils/dom.js';import{Focus as E,FocusableMode as J,focusFrom as z,isFocusableElement as G,restoreFocusIfNecessary as k,sortByDomNode as X}from'../../utils/focus-management.js';import{match as Y}from'../../utils/match.js';import{Features as F,render as P}from'../../utils/render.js';var Z=(i=>(i[i.Open=0]=\"Open\",i[i.Closed=1]=\"Closed\",i))(Z||{}),ee=(i=>(i[i.Pointer=0]=\"Pointer\",i[i.Other=1]=\"Other\",i))(ee||{});function te(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let A=Symbol(\"MenuContext\");function O(o){let M=K(A,null);if(M===null){let i=new Error(`<${o} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,O),i}return M}let ge=T({name:\"Menu\",props:{as:{type:[Object,String],default:\"template\"}},setup(o,{slots:M,attrs:i}){let I=R(1),p=R(null),e=R(null),r=R([]),f=R(\"\"),d=R(null),g=R(1);function b(t=a=>a){let a=d.value!==null?r.value[d.value]:null,n=X(t(r.value.slice()),v=>m(v.dataRef.domRef)),s=a?n.indexOf(a):null;return s===-1&&(s=null),{items:n,activeItemIndex:s}}let l={menuState:I,buttonRef:p,itemsRef:e,items:r,searchQuery:f,activeItemIndex:d,activationTrigger:g,closeMenu:()=>{I.value=1,d.value=null},openMenu:()=>I.value=0,goToItem(t,a,n){let s=b(),v=W(t===S.Specific?{focus:S.Specific,id:a}:{focus:t},{resolveItems:()=>s.items,resolveActiveIndex:()=>s.activeItemIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.disabled});f.value=\"\",d.value=v,g.value=n!=null?n:1,r.value=s.items},search(t){let n=f.value!==\"\"?0:1;f.value+=t.toLowerCase();let v=(d.value!==null?r.value.slice(d.value+n).concat(r.value.slice(0,d.value+n)):r.value).find(h=>h.dataRef.textValue.startsWith(f.value)&&!h.dataRef.disabled),u=v?r.value.indexOf(v):-1;u===-1||u===d.value||(d.value=u,g.value=1)},clearSearch(){f.value=\"\"},registerItem(t,a){let n=b(s=>[...s,{id:t,dataRef:a}]);r.value=n.items,d.value=n.activeItemIndex,g.value=1},unregisterItem(t){let a=b(n=>{let s=n.findIndex(v=>v.id===t);return s!==-1&&n.splice(s,1),n});r.value=a.items,d.value=a.activeItemIndex,g.value=1}};return U([p,e],(t,a)=>{var n;l.closeMenu(),G(a,J.Loose)||(t.preventDefault(),(n=m(p))==null||n.focus())},y(()=>I.value===0)),L(A,l),q(y(()=>Y(I.value,{[0]:D.Open,[1]:D.Closed}))),()=>{let t={open:I.value===0,close:l.closeMenu};return P({ourProps:{},theirProps:o,slot:t,slots:M,attrs:i,name:\"Menu\"})}}}),Se=T({name:\"MenuButton\",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var b;let p=(b=o.id)!=null?b:`headlessui-menu-button-${w()}`,e=O(\"MenuButton\");I({el:e.buttonRef,$el:e.buttonRef});function r(l){switch(l.key){case c.Space:case c.Enter:case c.ArrowDown:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.First)});break;case c.ArrowUp:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.Last)});break}}function f(l){switch(l.key){case c.Space:l.preventDefault();break}}function d(l){o.disabled||(e.menuState.value===0?(e.closeMenu(),x(()=>{var t;return(t=m(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})})):(l.preventDefault(),e.openMenu(),te(()=>{var t;return(t=m(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let g=$(y(()=>({as:o.as,type:M.type})),e.buttonRef);return()=>{var n;let l={open:e.menuState.value===0},{...t}=o,a={ref:e.buttonRef,id:p,type:g.value,\"aria-haspopup\":\"menu\",\"aria-controls\":(n=m(e.itemsRef))==null?void 0:n.id,\"aria-expanded\":e.menuState.value===0,onKeydown:r,onKeyup:f,onClick:d};return P({ourProps:a,theirProps:t,slot:l,attrs:M,slots:i,name:\"MenuButton\"})}}}),Me=T({name:\"MenuItems\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var l;let p=(l=o.id)!=null?l:`headlessui-menu-items-${w()}`,e=O(\"MenuItems\"),r=R(null);I({el:e.itemsRef,$el:e.itemsRef}),Q({container:y(()=>m(e.itemsRef)),enabled:y(()=>e.menuState.value===0),accept(t){return t.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:t.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute(\"role\",\"none\")}});function f(t){var a;switch(r.value&&clearTimeout(r.value),t.key){case c.Space:if(e.searchQuery.value!==\"\")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case c.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let s=e.items.value[e.activeItemIndex.value];(a=m(s.dataRef.domRef))==null||a.click()}e.closeMenu(),k(m(e.buttonRef));break;case c.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Next);case c.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Previous);case c.Home:case c.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.First);case c.End:case c.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Last);case c.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>{var n;return(n=m(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case c.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>z(m(e.buttonRef),t.shiftKey?E.Previous:E.Next));break;default:t.key.length===1&&(e.search(t.key),r.value=setTimeout(()=>e.clearSearch(),350));break}}function d(t){switch(t.key){case c.Space:t.preventDefault();break}}let g=_(),b=y(()=>g!==null?(g.value&D.Open)===D.Open:e.menuState.value===0);return()=>{var s,v;let t={open:e.menuState.value===0},{...a}=o,n={\"aria-activedescendant\":e.activeItemIndex.value===null||(s=e.items.value[e.activeItemIndex.value])==null?void 0:s.id,\"aria-labelledby\":(v=m(e.buttonRef))==null?void 0:v.id,id:p,onKeydown:f,onKeyup:d,role:\"menu\",tabIndex:0,ref:e.itemsRef};return P({ourProps:n,theirProps:a,slot:t,attrs:M,slots:i,features:F.RenderStrategy|F.Static,visible:b.value,name:\"MenuItems\"})}}}),be=T({name:\"MenuItem\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"template\"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:M,attrs:i,expose:I}){var v;let p=(v=o.id)!=null?v:`headlessui-menu-item-${w()}`,e=O(\"MenuItem\"),r=R(null);I({el:r,$el:r});let f=y(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===p:!1),d=V(r),g=y(()=>({disabled:o.disabled,get textValue(){return d()},domRef:r}));N(()=>e.registerItem(p,g)),j(()=>e.unregisterItem(p)),B(()=>{e.menuState.value===0&&f.value&&e.activationTrigger.value!==0&&x(()=>{var u,h;return(h=(u=m(r))==null?void 0:u.scrollIntoView)==null?void 0:h.call(u,{block:\"nearest\"})})});function b(u){if(o.disabled)return u.preventDefault();e.closeMenu(),k(m(e.buttonRef))}function l(){if(o.disabled)return e.goToItem(S.Nothing);e.goToItem(S.Specific,p)}let t=H();function a(u){t.update(u)}function n(u){t.wasMoved(u)&&(o.disabled||f.value||e.goToItem(S.Specific,p,0))}function s(u){t.wasMoved(u)&&(o.disabled||f.value&&e.goToItem(S.Nothing))}return()=>{let{disabled:u,...h}=o,C={active:f.value,disabled:u,close:e.closeMenu};return P({ourProps:{id:p,ref:r,role:\"menuitem\",tabIndex:u===!0?void 0:-1,\"aria-disabled\":u===!0?!0:void 0,onClick:b,onFocus:l,onPointerenter:a,onMouseenter:a,onPointermove:n,onMousemove:n,onPointerleave:s,onMouseleave:s},theirProps:{...i,...h},slot:C,attrs:i,slots:M,name:\"MenuItem\"})}}});export{ge as Menu,Se as MenuButton,be as MenuItem,Me as MenuItems};\n","<!--\n @component UiMenu\n @description Dropdown menu using Headless UI for actions and navigation.\n \n @props\n - items: Array of menu items with label, icon, action, etc.\n - placement: Dropdown placement (left, right)\n - width: Menu width (auto, sm, md, lg, full)\n - disabled: Disable the menu trigger\n \n @slots\n - trigger: Custom trigger button content\n - default: Menu items (alternative to items prop)\n \n @example\n <UiMenu :items=\"menuItems\" />\n \n @example Custom trigger\n <UiMenu :items=\"menuItems\">\n <template #trigger>\n <Button>Options</Button>\n </template>\n </UiMenu>\n-->\n<template>\n <Menu as=\"div\" class=\"sl-relative sl-inline-block sl-text-left\">\n <div>\n <MenuButton\n :disabled=\"disabled\"\n :class=\"[\n 'sl-inline-flex sl-items-center sl-justify-center sl-rounded-lg sl-transition-colors',\n disabled ? 'sl-opacity-50 sl-cursor-not-allowed' : 'sl-cursor-pointer',\n !$slots.trigger && defaultTriggerClasses\n ]\"\n >\n <slot name=\"trigger\">\n <EllipsisVerticalIcon class=\"sl-h-5 sl-w-5\" aria-hidden=\"true\" />\n </slot>\n </MenuButton>\n </div>\n\n <transition\n enter-active-class=\"sl-transition sl-duration-100 sl-ease-out\"\n enter-from-class=\"sl-transform sl-scale-95 sl-opacity-0\"\n enter-to-class=\"sl-transform sl-scale-100 sl-opacity-100\"\n leave-active-class=\"sl-transition sl-duration-75 sl-ease-in\"\n leave-from-class=\"sl-transform sl-scale-100 sl-opacity-100\"\n leave-to-class=\"sl-transform sl-scale-95 sl-opacity-0\"\n >\n <MenuItems\n :class=\"[\n 'sl-absolute sl-z-50 sl-mt-2 sl-origin-top-right sl-rounded-xl sl-bg-white dark:sl-bg-slate-800 sl-shadow-lg dark:sl-shadow-slate-900/50 sl-ring-1 sl-ring-black/5 dark:sl-ring-slate-700 sl-focus:outline-none sl-py-1 sl-divide-y sl-divide-slate-100 dark:sl-divide-slate-700',\n placementClasses,\n widthClasses\n ]\"\n >\n <!-- Grouped items -->\n <div v-for=\"(group, groupIndex) in groupedItems\" :key=\"groupIndex\" class=\"sl-py-1\">\n <MenuItem\n v-for=\"item in group\"\n :key=\"item.label\"\n :disabled=\"item.disabled\"\n v-slot=\"{ active, disabled: itemDisabled }\"\n >\n <button\n @click=\"handleItemClick(item)\"\n :class=\"[\n 'sl-group sl-flex sl-w-full sl-items-center sl-gap-3 sl-px-4 sl-py-2.5 sl-text-sm sl-transition-colors',\n active && !item.danger ? 'sl-bg-slate-100 dark:sl-bg-slate-700 sl-text-slate-900 dark:sl-text-white' : '',\n active && item.danger ? 'sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400' : '',\n !active && item.danger ? 'sl-text-red-600 dark:sl-text-red-400' : '',\n !active && !item.danger ? 'sl-text-slate-700 dark:sl-text-slate-200' : '',\n itemDisabled ? 'sl-opacity-50 sl-cursor-not-allowed' : 'sl-cursor-pointer',\n ]\"\n >\n <component\n v-if=\"item.icon\"\n :is=\"item.icon\"\n :class=\"[\n 'sl-h-4 sl-w-4 sl-flex-shrink-0',\n active && !item.danger ? 'sl-text-slate-500 dark:sl-text-slate-300' : '',\n active && item.danger ? 'sl-text-red-500 dark:sl-text-red-400' : '',\n !active && item.danger ? 'sl-text-red-400 dark:sl-text-red-500' : '',\n !active && !item.danger ? 'sl-text-slate-400 dark:sl-text-slate-500' : '',\n ]\"\n aria-hidden=\"true\"\n />\n <span class=\"sl-flex-1 sl-text-left\">{{ item.label }}</span>\n <span v-if=\"item.shortcut\" class=\"sl-text-xs sl-text-slate-400 dark:sl-text-slate-500\">\n {{ item.shortcut }}\n </span>\n </button>\n </MenuItem>\n </div>\n\n <!-- Default slot for custom content -->\n <slot />\n </MenuItems>\n </transition>\n </Menu>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue';\nimport { EllipsisVerticalIcon } from '@heroicons/vue/20/solid';\nimport type { Component } from 'vue';\n\nexport interface MenuItemType {\n label: string;\n icon?: Component;\n action?: () => void;\n href?: string;\n disabled?: boolean;\n danger?: boolean;\n shortcut?: string;\n dividerAfter?: boolean;\n}\n\ntype MenuPlacement = 'left' | 'right';\ntype MenuWidth = 'auto' | 'sm' | 'md' | 'lg' | 'full';\n\ninterface Props {\n items?: MenuItemType[];\n placement?: MenuPlacement;\n width?: MenuWidth;\n disabled?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n items: () => [],\n placement: 'right',\n width: 'md',\n disabled: false,\n});\n\nconst emit = defineEmits<{\n 'item-click': [item: MenuItemType];\n}>();\n\n// Default trigger button styles\nconst defaultTriggerClasses = 'sl-p-2 sl-text-slate-500 dark:sl-text-slate-300 hover:sl-bg-slate-100 dark:hover:sl-bg-slate-700 hover:sl-text-slate-700 dark:hover:sl-text-white';\n\n// Placement classes\nconst placementClasses = computed(() => {\n return props.placement === 'left' ? 'sl-left-0' : 'sl-right-0';\n});\n\n// Width classes\nconst widthClasses = computed(() => {\n const widths: Record<MenuWidth, string> = {\n auto: 'sl-w-auto sl-min-w-[10rem]',\n sm: 'sl-w-40',\n md: 'sl-w-56',\n lg: 'sl-w-72',\n full: 'sl-w-full',\n };\n return widths[props.width];\n});\n\n// Group items by dividers\nconst groupedItems = computed(() => {\n if (!props.items.length) return [];\n \n const groups: MenuItemType[][] = [];\n let currentGroup: MenuItemType[] = [];\n \n for (const item of props.items) {\n currentGroup.push(item);\n if (item.dividerAfter) {\n groups.push(currentGroup);\n currentGroup = [];\n }\n }\n \n if (currentGroup.length) {\n groups.push(currentGroup);\n }\n \n return groups;\n});\n\n// Handle item click\nconst handleItemClick = (item: MenuItemType) => {\n if (item.disabled) return;\n \n if (item.action) {\n item.action();\n }\n \n emit('item-click', item);\n};\n</script>\n\n"],"names":["render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","Z","i","ee","te","o","A","O","M","K","ge","T","I","R","p","e","r","f","d","g","b","t","a","n","X","v","m","s","l","W","S","u","h","U","G","J","y","L","q","Y","D","P","Se","w","c","x","$","Me","Q","k","z","E","_","F","be","V","N","j","B","H","C","defaultTriggerClasses","props","__props","emit","__emit","placementClasses","computed","widthClasses","groupedItems","groups","currentGroup","item","handleItemClick","_createBlock","_unref","Menu","_createVNode","MenuButton","disabled","_normalizeClass","$slots","_renderSlot","EllipsisVerticalIcon","_Transition","MenuItems","_Fragment","_renderList","group","groupIndex","MenuItem","active","itemDisabled","$event","_resolveDynamicComponent","_hoisted_2","_toDisplayString","_hoisted_3"],"mappings":";;;;;;;;;AAEe,SAASA,GAAOC,GAAMC,GAAQ;AAC3C,SAAQC,EAAU,GAAIC,EAAoB,OAAO;AAAA,IAC/C,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,eAAe;AAAA,IACf,aAAa;AAAA,EACjB,GAAK;AAAA,IACDC,EAAoB,QAAQ,EAAE,GAAG,wIAAuI,CAAE;AAAA,EAC9K,CAAG;AACH;ACZijC,IAAIC,MAAG,CAAAC,OAAIA,EAAEA,EAAE,OAAK,CAAC,IAAE,QAAOA,EAAEA,EAAE,SAAO,CAAC,IAAE,UAASA,IAAID,MAAG,CAAA,CAAE,GAAEE,MAAI,CAAAD,OAAIA,EAAEA,EAAE,UAAQ,CAAC,IAAE,WAAUA,EAAEA,EAAE,QAAM,CAAC,IAAE,SAAQA,IAAIC,MAAI,EAAE;AAAE,SAASC,GAAGC,GAAE;AAAC,wBAAsB,MAAI,sBAAsBA,CAAC,CAAC;AAAC;AAAC,IAAIC,IAAE,OAAO,aAAa;AAAE,SAASC,EAAEF,GAAE;AAAC,MAAIG,IAAEC,EAAEH,GAAE,IAAI;AAAE,MAAGE,MAAI,MAAK;AAAC,QAAIN,IAAE,IAAI,MAAM,IAAIG,CAAC,6CAA6C;AAAE,UAAM,MAAM,qBAAmB,MAAM,kBAAkBH,GAAEK,CAAC,GAAEL;AAAA,EAAC;AAAC,SAAOM;AAAC;AAAC,IAAIE,KAAGC,EAAE,EAAC,MAAK,QAAO,OAAM,EAAC,IAAG,EAAC,MAAK,CAAC,QAAO,MAAM,GAAE,SAAQ,WAAU,EAAC,GAAE,MAAMN,GAAE,EAAC,OAAMG,GAAE,OAAMN,EAAC,GAAE;AAAC,MAAIU,IAAEC,EAAE,CAAC,GAAEC,IAAED,EAAE,IAAI,GAAEE,IAAEF,EAAE,IAAI,GAAEG,IAAEH,EAAE,CAAA,CAAE,GAAEI,IAAEJ,EAAE,EAAE,GAAEK,IAAEL,EAAE,IAAI,GAAEM,IAAEN,EAAE,CAAC;AAAE,WAASO,EAAEC,IAAE,CAAAC,MAAGA,GAAE;AAAC,QAAIA,IAAEJ,EAAE,UAAQ,OAAKF,EAAE,MAAME,EAAE,KAAK,IAAE,MAAKK,IAAEC,GAAEH,EAAEL,EAAE,MAAM,OAAO,GAAE,CAAAS,MAAGC,EAAED,EAAE,QAAQ,MAAM,CAAC,GAAEE,IAAEL,IAAEC,EAAE,QAAQD,CAAC,IAAE;AAAK,WAAOK,MAAI,OAAKA,IAAE,OAAM,EAAC,OAAMJ,GAAE,iBAAgBI,EAAC;AAAA,EAAC;AAAC,MAAIC,IAAE,EAAC,WAAUhB,GAAE,WAAUE,GAAE,UAASC,GAAE,OAAMC,GAAE,aAAYC,GAAE,iBAAgBC,GAAE,mBAAkBC,GAAE,WAAU,MAAI;AAAC,IAAAP,EAAE,QAAM,GAAEM,EAAE,QAAM;AAAA,EAAI,GAAE,UAAS,MAAIN,EAAE,QAAM,GAAE,SAASS,GAAEC,GAAEC,GAAE;AAAC,QAAII,IAAEP,EAAC,GAAGK,IAAEI,GAAER,MAAIS,EAAE,WAAS,EAAC,OAAMA,EAAE,UAAS,IAAGR,EAAC,IAAE,EAAC,OAAMD,EAAC,GAAE,EAAC,cAAa,MAAIM,EAAE,OAAM,oBAAmB,MAAIA,EAAE,iBAAgB,WAAU,CAAAI,MAAGA,EAAE,IAAG,iBAAgB,CAAAA,MAAGA,EAAE,QAAQ,SAAQ,CAAC;AAAEd,IAAAA,EAAE,QAAM,IAAGC,EAAE,QAAMO,GAAEN,EAAE,QAAMI,KAAU,GAAEP,EAAE,QAAMW,EAAE;AAAA,EAAK,GAAE,OAAON,GAAE;AAAC,QAAIE,IAAEN,EAAE,UAAQ,KAAG,IAAE;AAAEA,IAAAA,EAAE,SAAOI,EAAE,YAAW;AAAG,QAAII,KAAGP,EAAE,UAAQ,OAAKF,EAAE,MAAM,MAAME,EAAE,QAAMK,CAAC,EAAE,OAAOP,EAAE,MAAM,MAAM,GAAEE,EAAE,QAAMK,CAAC,CAAC,IAAEP,EAAE,OAAO,KAAK,CAAAgB,MAAGA,EAAE,QAAQ,UAAU,WAAWf,EAAE,KAAK,KAAG,CAACe,EAAE,QAAQ,QAAQ,GAAED,IAAEN,IAAET,EAAE,MAAM,QAAQS,CAAC,IAAE;AAAG,IAAAM,MAAI,MAAIA,MAAIb,EAAE,UAAQA,EAAE,QAAMa,GAAEZ,EAAE,QAAM;AAAA,EAAE,GAAE,cAAa;AAACF,IAAAA,EAAE,QAAM;AAAA,EAAE,GAAE,aAAaI,GAAEC,GAAE;AAAC,QAAIC,IAAEH,EAAE,CAAAO,MAAG,CAAC,GAAGA,GAAE,EAAC,IAAGN,GAAE,SAAQC,EAAC,CAAC,CAAC;AAAE,IAAAN,EAAE,QAAMO,EAAE,OAAML,EAAE,QAAMK,EAAE,iBAAgBJ,EAAE,QAAM;AAAA,EAAC,GAAE,eAAeE,GAAE;AAAC,QAAIC,IAAEF,EAAE,CAAAG,MAAG;AAAC,UAAII,IAAEJ,EAAE,UAAU,CAAAE,MAAGA,EAAE,OAAKJ,CAAC;AAAE,aAAOM,MAAI,MAAIJ,EAAE,OAAOI,GAAE,CAAC,GAAEJ;AAAA,IAAC,CAAC;AAAE,IAAAP,EAAE,QAAMM,EAAE,OAAMJ,EAAE,QAAMI,EAAE,iBAAgBH,EAAE,QAAM;AAAA,EAAC,EAAC;AAAE,SAAOc,GAAE,CAACnB,GAAEC,CAAC,GAAE,CAACM,GAAEC,MAAI;AAAC,QAAIC;AAAE,IAAAK,EAAE,UAAS,GAAGM,GAAEZ,GAAEa,GAAE,KAAK,MAAId,EAAE,eAAc,IAAIE,IAAEG,EAAEZ,CAAC,MAAI,QAAMS,EAAE,MAAK;AAAA,EAAG,GAAEa,EAAE,MAAIxB,EAAE,UAAQ,CAAC,CAAC,GAAEyB,EAAE/B,GAAEsB,CAAC,GAAEU,GAAEF,EAAE,MAAIG,GAAE3B,EAAE,OAAM,EAAE,GAAG4B,EAAE,MAAM,GAAGA,EAAE,OAAM,CAAC,CAAC,CAAC,GAAE,MAAI;AAAC,QAAInB,IAAE,EAAC,MAAKT,EAAE,UAAQ,GAAE,OAAMgB,EAAE,UAAS;AAAE,WAAOa,EAAE,EAAC,UAAS,CAAA,GAAG,YAAWpC,GAAE,MAAKgB,GAAE,OAAMb,GAAE,OAAMN,GAAE,MAAK,OAAM,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC,GAAEwC,KAAG/B,EAAE,EAAC,MAAK,cAAa,OAAM,EAAC,UAAS,EAAC,MAAK,SAAQ,SAAQ,GAAE,GAAE,IAAG,EAAC,MAAK,CAAC,QAAO,MAAM,GAAE,SAAQ,SAAQ,GAAE,IAAG,EAAC,MAAK,QAAO,SAAQ,KAAI,EAAC,GAAE,MAAMN,GAAE,EAAC,OAAMG,GAAE,OAAMN,GAAE,QAAOU,EAAC,GAAE;AAAC,MAAIQ;AAAE,MAAIN,KAAGM,IAAEf,EAAE,OAAK,OAAKe,IAAE,0BAA0BuB,EAAC,CAAE,IAAG5B,IAAER,EAAE,YAAY;AAAE,EAAAK,EAAE,EAAC,IAAGG,EAAE,WAAU,KAAIA,EAAE,UAAS,CAAC;AAAE,WAASC,EAAEY,GAAE;AAAC,YAAOA,EAAE,KAAG;AAAA,MAAE,KAAKgB,EAAE;AAAA,MAAM,KAAKA,EAAE;AAAA,MAAM,KAAKA,EAAE;AAAU,QAAAhB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGb,EAAE,YAAW8B,EAAE,MAAI;AAAC,cAAIxB;AAAE,WAACA,IAAEK,EAAEX,EAAE,QAAQ,MAAI,QAAMM,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC,GAAEN,EAAE,SAASe,EAAE,KAAK;AAAA,QAAC,CAAC;AAAE;AAAA,MAAM,KAAKc,EAAE;AAAQ,QAAAhB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGb,EAAE,SAAQ,GAAG8B,EAAE,MAAI;AAAC,cAAIxB;AAAE,WAACA,IAAEK,EAAEX,EAAE,QAAQ,MAAI,QAAMM,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC,GAAEN,EAAE,SAASe,EAAE,IAAI;AAAA,QAAC,CAAC;AAAE;AAAA,IAAK;AAAA,EAAC;AAAC,WAASb,EAAEW,GAAE;AAAC,YAAOA,EAAE;MAAK,KAAKgB,EAAE;AAAM,QAAAhB,EAAE;AAAiB;AAAA,IAAK;AAAA,EAAC;AAAC,WAAS,EAAEA,GAAE;AAACvB,IAAAA,EAAE,aAAWU,EAAE,UAAU,UAAQ,KAAGA,EAAE,UAAS,GAAG8B,EAAE,MAAI;AAAC,UAAIxB;AAAE,cAAOA,IAAEK,EAAEX,EAAE,SAAS,MAAI,OAAK,SAAOM,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC;AAAA,IAAC,CAAC,MAAIO,EAAE,eAAc,GAAGb,EAAE,SAAQ,GAAGX,GAAG,MAAI;AAAC,UAAIiB;AAAE,cAAOA,IAAEK,EAAEX,EAAE,QAAQ,MAAI,OAAK,SAAOM,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC;AAAA,IAAC,CAAC;AAAA,EAAG;AAAC,MAAIF,IAAE2B,GAAEV,EAAE,OAAK,EAAC,IAAG/B,EAAE,IAAG,MAAKG,EAAE,KAAI,EAAE,GAAEO,EAAE,SAAS;AAAE,SAAM,MAAI;AAAC,QAAI;AAAE,QAAIa,IAAE,EAAC,MAAKb,EAAE,UAAU,UAAQ,EAAC,GAAE,EAAC,GAAGM,EAAC,IAAEhB,GAAEiB,IAAE,EAAC,KAAIP,EAAE,WAAU,IAAGD,GAAE,MAAKK,EAAE,OAAM,iBAAgB,QAAO,kBAAiB,IAAEO,EAAEX,EAAE,QAAQ,MAAI,OAAK,SAAO,EAAE,IAAG,iBAAgBA,EAAE,UAAU,UAAQ,GAAE,WAAUC,GAAE,SAAQC,GAAE,SAAQ,EAAC;AAAE,WAAOwB,EAAE,EAAC,UAASnB,GAAE,YAAWD,GAAE,MAAKO,GAAE,OAAMpB,GAAE,OAAMN,GAAE,MAAK,aAAY,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC,GAAE6C,KAAGpC,EAAE,EAAC,MAAK,aAAY,OAAM,EAAC,IAAG,EAAC,MAAK,CAAC,QAAO,MAAM,GAAE,SAAQ,MAAK,GAAE,QAAO,EAAC,MAAK,SAAQ,SAAQ,GAAE,GAAE,SAAQ,EAAC,MAAK,SAAQ,SAAQ,GAAE,GAAE,IAAG,EAAC,MAAK,QAAO,SAAQ,KAAI,EAAC,GAAE,MAAMN,GAAE,EAAC,OAAMG,GAAE,OAAMN,GAAE,QAAOU,EAAC,GAAE;AAAC,MAAIgB;AAAE,MAAId,KAAGc,IAAEvB,EAAE,OAAK,OAAKuB,IAAE,yBAAyBe,EAAC,CAAE,IAAG5B,IAAER,EAAE,WAAW,GAAES,IAAEH,EAAE,IAAI;AAAE,EAAAD,EAAE,EAAC,IAAGG,EAAE,UAAS,KAAIA,EAAE,SAAQ,CAAC,GAAEiC,GAAE,EAAC,WAAUZ,EAAE,MAAIV,EAAEX,EAAE,QAAQ,CAAC,GAAE,SAAQqB,EAAE,MAAIrB,EAAE,UAAU,UAAQ,CAAC,GAAE,OAAOM,GAAE;AAAC,WAAOA,EAAE,aAAa,MAAM,MAAI,aAAW,WAAW,gBAAcA,EAAE,aAAa,MAAM,IAAE,WAAW,cAAY,WAAW;AAAA,EAAa,GAAE,KAAKA,GAAE;AAAC,IAAAA,EAAE,aAAa,QAAO,MAAM;AAAA,EAAC,EAAC,CAAC;AAAE,WAASJ,EAAEI,GAAE;AAAC,QAAIC;AAAE,YAAON,EAAE,SAAO,aAAaA,EAAE,KAAK,GAAEK,EAAE,KAAG;AAAA,MAAE,KAAKuB,EAAE;AAAM,YAAG7B,EAAE,YAAY,UAAQ,GAAG,QAAOM,EAAE,kBAAiBA,EAAE,gBAAe,GAAGN,EAAE,OAAOM,EAAE,GAAG;AAAA,MAAE,KAAKuB,EAAE;AAAM,YAAGvB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGN,EAAE,gBAAgB,UAAQ,MAAK;AAAC,cAAIY,IAAEZ,EAAE,MAAM,MAAMA,EAAE,gBAAgB,KAAK;AAAE,WAACO,IAAEI,EAAEC,EAAE,QAAQ,MAAM,MAAI,QAAML,EAAE;QAAO;AAAC,QAAAP,EAAE,UAAS,GAAGkC,EAAEvB,EAAEX,EAAE,SAAS,CAAC;AAAE;AAAA,MAAM,KAAK6B,EAAE;AAAU,eAAOvB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGN,EAAE,SAASe,EAAE,IAAI;AAAA,MAAE,KAAKc,EAAE;AAAQ,eAAOvB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGN,EAAE,SAASe,EAAE,QAAQ;AAAA,MAAE,KAAKc,EAAE;AAAA,MAAK,KAAKA,EAAE;AAAO,eAAOvB,EAAE,kBAAiBA,EAAE,gBAAe,GAAGN,EAAE,SAASe,EAAE,KAAK;AAAA,MAAE,KAAKc,EAAE;AAAA,MAAI,KAAKA,EAAE;AAAS,eAAOvB,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGN,EAAE,SAASe,EAAE,IAAI;AAAA,MAAE,KAAKc,EAAE;AAAO,QAAAvB,EAAE,kBAAiBA,EAAE,gBAAe,GAAGN,EAAE,UAAS,GAAG8B,EAAE,MAAI;AAAC,cAAItB;AAAE,kBAAOA,IAAEG,EAAEX,EAAE,SAAS,MAAI,OAAK,SAAOQ,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC;AAAA,QAAC,CAAC;AAAE;AAAA,MAAM,KAAKqB,EAAE;AAAI,QAAAvB,EAAE,kBAAiBA,EAAE,gBAAe,GAAGN,EAAE,UAAS,GAAG8B,EAAE,MAAIK,GAAExB,EAAEX,EAAE,SAAS,GAAEM,EAAE,WAAS8B,EAAE,WAASA,EAAE,IAAI,CAAC;AAAE;AAAA,MAAM;AAAQ,QAAA9B,EAAE,IAAI,WAAS,MAAIN,EAAE,OAAOM,EAAE,GAAG,GAAEL,EAAE,QAAM,WAAW,MAAID,EAAE,YAAW,GAAG,GAAG;AAAG;AAAA,IAAK;AAAA,EAAC;AAAC,WAAS,EAAEM,GAAE;AAAC,YAAOA,EAAE,KAAG;AAAA,MAAE,KAAKuB,EAAE;AAAM,QAAAvB,EAAE,eAAc;AAAG;AAAA,IAAK;AAAA,EAAC;AAAC,MAAIF,IAAEiC,GAAC,GAAGhC,IAAEgB,EAAE,MAAIjB,MAAI,QAAMA,EAAE,QAAMqB,EAAE,UAAQA,EAAE,OAAKzB,EAAE,UAAU,UAAQ,CAAC;AAAE,SAAM,MAAI;AAAC,QAAIY,GAAEF;AAAE,QAAIJ,IAAE,EAAC,MAAKN,EAAE,UAAU,UAAQ,EAAC,GAAE,EAAC,GAAGO,EAAC,IAAEjB,GAAEkB,IAAE,EAAC,yBAAwBR,EAAE,gBAAgB,UAAQ,SAAOY,IAAEZ,EAAE,MAAM,MAAMA,EAAE,gBAAgB,KAAK,MAAI,OAAK,SAAOY,EAAE,IAAG,oBAAmBF,IAAEC,EAAEX,EAAE,SAAS,MAAI,OAAK,SAAOU,EAAE,IAAG,IAAGX,GAAE,WAAUG,GAAE,SAAQ,GAAE,MAAK,QAAO,UAAS,GAAE,KAAIF,EAAE,SAAQ;AAAE,WAAO0B,EAAE,EAAC,UAASlB,GAAE,YAAWD,GAAE,MAAKD,GAAE,OAAMb,GAAE,OAAMN,GAAE,UAASmD,EAAE,iBAAeA,EAAE,QAAO,SAAQjC,EAAE,OAAM,MAAK,YAAW,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC,GAAEkC,KAAG3C,EAAE,EAAC,MAAK,YAAW,cAAa,IAAG,OAAM,EAAC,IAAG,EAAC,MAAK,CAAC,QAAO,MAAM,GAAE,SAAQ,WAAU,GAAE,UAAS,EAAC,MAAK,SAAQ,SAAQ,GAAE,GAAE,IAAG,EAAC,MAAK,QAAO,SAAQ,KAAI,EAAC,GAAE,MAAMN,GAAE,EAAC,OAAMG,GAAE,OAAMN,GAAE,QAAOU,EAAC,GAAE;AAAC,MAAIa;AAAE,MAAIX,KAAGW,IAAEpB,EAAE,OAAK,OAAKoB,IAAE,wBAAwBkB,EAAC,CAAE,IAAG5B,IAAER,EAAE,UAAU,GAAES,IAAEH,EAAE,IAAI;AAAE,EAAAD,EAAE,EAAC,IAAGI,GAAE,KAAIA,EAAC,CAAC;AAAE,MAAIC,IAAEmB,EAAE,MAAIrB,EAAE,gBAAgB,UAAQ,OAAKA,EAAE,MAAM,MAAMA,EAAE,gBAAgB,KAAK,EAAE,OAAKD,IAAE,EAAE,GAAE,IAAEyC,GAAEvC,CAAC,GAAEG,IAAEiB,EAAE,OAAK,EAAC,UAAS/B,EAAE,UAAS,IAAI,YAAW;AAAC,WAAO,EAAC;AAAA,EAAE,GAAE,QAAOW,EAAC,EAAE;AAAEwC,EAAAA,EAAE,MAAIzC,EAAE,aAAaD,GAAEK,CAAC,CAAC,GAAEsC,EAAE,MAAI1C,EAAE,eAAeD,CAAC,CAAC,GAAE4C,EAAE,MAAI;AAAC,IAAA3C,EAAE,UAAU,UAAQ,KAAGE,EAAE,SAAOF,EAAE,kBAAkB,UAAQ,KAAG8B,EAAE,MAAI;AAAC,UAAId,GAAEC;AAAE,cAAOA,KAAGD,IAAEL,EAAEV,CAAC,MAAI,OAAK,SAAOe,EAAE,mBAAiB,OAAK,SAAOC,EAAE,KAAKD,GAAE,EAAC,OAAM,UAAS,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC;AAAE,WAASX,EAAEW,GAAE;AAAC,QAAG1B,EAAE,SAAS,QAAO0B,EAAE;AAAiB,IAAAhB,EAAE,UAAS,GAAGkC,EAAEvB,EAAEX,EAAE,SAAS,CAAC;AAAA,EAAC;AAAC,WAASa,IAAG;AAAC,QAAGvB,EAAE,SAAS,QAAOU,EAAE,SAASe,EAAE,OAAO;AAAE,IAAAf,EAAE,SAASe,EAAE,UAAShB,CAAC;AAAA,EAAC;AAAC,MAAIO,IAAEsC;AAAI,WAASrC,EAAES,GAAE;AAAC,IAAAV,EAAE,OAAOU,CAAC;AAAA,EAAC;AAAC,WAASR,EAAEQ,GAAE;AAAC,IAAAV,EAAE,SAASU,CAAC,MAAI1B,EAAE,YAAUY,EAAE,SAAOF,EAAE,SAASe,EAAE,UAAShB,GAAE,CAAC;AAAA,EAAE;AAAC,WAASa,EAAEI,GAAE;AAAC,IAAAV,EAAE,SAASU,CAAC,MAAI1B,EAAE,YAAUY,EAAE,SAAOF,EAAE,SAASe,EAAE,OAAO;AAAA,EAAE;AAAC,SAAM,MAAI;AAAC,QAAG,EAAC,UAASC,GAAE,GAAGC,EAAC,IAAE3B,GAAEuD,IAAE,EAAC,QAAO3C,EAAE,OAAM,UAASc,GAAE,OAAMhB,EAAE,UAAS;AAAE,WAAO0B,EAAE,EAAC,UAAS,EAAC,IAAG3B,GAAE,KAAIE,GAAE,MAAK,YAAW,UAASe,MAAI,KAAG,SAAO,IAAG,iBAAgBA,MAAI,KAAG,KAAG,QAAO,SAAQX,GAAE,SAAQQ,GAAE,gBAAeN,GAAE,cAAaA,GAAE,eAAcC,GAAE,aAAYA,GAAE,gBAAeI,GAAE,cAAaA,EAAC,GAAE,YAAW,EAAC,GAAGzB,GAAE,GAAG8B,EAAC,GAAE,MAAK4B,GAAE,OAAM1D,GAAE,OAAMM,GAAE,MAAK,WAAU,CAAC;AAAA,EAAC;AAAC,EAAC,CAAC;;;;GC6Iz/PqD,KAAwB;;;;;;;;;;AAZ9B,UAAMC,IAAQC,GAORC,IAAOC,GAQPC,IAAmBC,EAAS,MACzBL,EAAM,cAAc,SAAS,cAAc,YACnD,GAGKM,IAAeD,EAAS,OACc;AAAA,MACxC,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IAAA,GAEML,EAAM,KAAK,CAC1B,GAGKO,IAAeF,EAAS,MAAM;AAClC,UAAI,CAACL,EAAM,MAAM,eAAe,CAAA;AAEhC,YAAMQ,IAA2B,CAAA;AACjC,UAAIC,IAA+B,CAAA;AAEnC,iBAAWC,KAAQV,EAAM;AACvB,QAAAS,EAAa,KAAKC,CAAI,GAClBA,EAAK,iBACPF,EAAO,KAAKC,CAAY,GACxBA,IAAe,CAAA;AAInB,aAAIA,EAAa,UACfD,EAAO,KAAKC,CAAY,GAGnBD;AAAA,IACT,CAAC,GAGKG,IAAkB,CAACD,MAAuB;AAC9C,MAAIA,EAAK,aAELA,EAAK,UACPA,EAAK,OAAA,GAGPR,EAAK,cAAcQ,CAAI;AAAA,IACzB;2BAtKEE,EA0EOC,EAAAC,EAAA,GAAA;AAAA,MA1ED,IAAG;AAAA,MAAM,OAAM;AAAA,IAAA;iBACnB,MAaM;AAAA,QAbN5E,EAaM,OAAA,MAAA;AAAA,UAZJ6E,EAWaF,EAAAG,EAAA,GAAA;AAAA,YAVV,UAAUC,EAAAA;AAAAA,YACV,OAAKC,EAAA;AAAA;cAA+GD,EAAAA,WAAQ,wCAAA;AAAA,eAA2EE,EAAAA,OAAO,WAAWpB;AAAA,YAAA;;uBAM1N,MAEO;AAAA,cAFPqB,EAEOtF,yBAFP,MAEO;AAAA,gBADLiF,EAAiEF,EAAAQ,EAAA,GAAA;AAAA,kBAA3C,OAAM;AAAA,kBAAgB,eAAY;AAAA,gBAAA;;;;;;QAK9DN,EAyDaO,GAAA;AAAA,UAxDX,sBAAmB;AAAA,UACnB,oBAAiB;AAAA,UACjB,kBAAe;AAAA,UACf,sBAAmB;AAAA,UACnB,oBAAiB;AAAA,UACjB,kBAAe;AAAA,QAAA;qBAEf,MAgDY;AAAA,YAhDZP,EAgDYF,EAAAU,EAAA,GAAA;AAAA,cA/CT,OAAKL,EAAA;AAAA;gBAA2Sd,EAAA;AAAA,gBAA4BE,EAAA;AAAA,cAAA;;yBAOxU,MAA2C;AAAA,iBAAhDtE,EAAA,EAAA,GAAAC,EAoCMuF,GAAA,MAAAC,EApC6BlB,EAAA,OAAY,CAAlCmB,GAAOC,YAApB1F,EAoCM,OAAA;AAAA,kBApC4C,KAAK0F;AAAA,kBAAY,OAAM;AAAA,gBAAA;0BACvE1F,EAkCWuF,GAAA,MAAAC,EAjCMC,GAAK,CAAbhB,YADTE,EAkCWC,EAAAe,EAAA,GAAA;AAAA,oBAhCR,KAAKlB,EAAK;AAAA,oBACV,UAAUA,EAAK;AAAA,kBAAA;+BAGhB,CA2BS,EA7BC,QAAAmB,GAAM,UAAYC,QAAY;AAAA,sBAExC5F,EA2BS,UAAA;AAAA,wBA1BN,SAAK,CAAA6F,MAAEpB,EAAgBD,CAAI;AAAA,wBAC3B,OAAKQ,EAAA;AAAA;0BAA6IW,KAAM,CAAKnB,EAAK,SAAM,8EAAA;AAAA,0BAAqGmB,KAAUnB,EAAK,SAAM,4EAAA;AAAA,2BAAoGmB,KAAUnB,EAAK,SAAM,yCAAA;AAAA,2BAAiEmB,KAAM,CAAKnB,EAAK,SAAM,6CAAA;AAAA,0BAAoEoB,IAAY,wCAAA;AAAA,wBAAA;;wBAU3jBpB,EAAK,aADbE,EAWEoB,GATKtB,EAAK,IAAI,GAAA;AAAA;0BACb,OAAKQ,EAAA;AAAA;4BAA0EW,KAAM,CAAKnB,EAAK,SAAM,6CAAA;AAAA,4BAAsEmB,KAAUnB,EAAK,SAAM,yCAAA;AAAA,6BAAmEmB,KAAUnB,EAAK,SAAM,yCAAA;AAAA,6BAAmEmB,KAAM,CAAKnB,EAAK,SAAM,6CAAA;AAAA,0BAAA;0BAOlX,eAAY;AAAA,wBAAA;wBAEdxE,EAA4D,QAA5D+F,IAA4DC,EAApBxB,EAAK,KAAK,GAAA,CAAA;AAAA,wBACtCA,EAAK,YAAjB1E,EAAA,GAAAC,EAEO,QAFPkG,IAEOD,EADFxB,EAAK,QAAQ,GAAA,CAAA;;;;;;gBAOxBU,EAAQtF,EAAA,QAAA,SAAA;AAAA,cAAA;;;;;;;;;;;","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { defineComponent as C, computed as f, ref as S, createBlock as i, openBlock as c, unref as a, withCtx as t, createVNode as o, createElementVNode as e, normalizeClass as V, normalizeStyle as z, renderSlot as r, createCommentVNode as p, createTextVNode as y, toDisplayString as w } from "vue";
|
|
2
|
+
import h from "./components/Button.js";
|
|
3
|
+
import { S as B, h as g } from "./transition-_rPfnoET.js";
|
|
4
|
+
import { Y as T, G as $, V as N } from "./dialog-B2WA4G25.js";
|
|
5
|
+
const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto" }, F = { class: "sl-bg-white dark:sl-bg-slate-800" }, E = { class: "sl-px-4 sl-pt-5 sl-pb-4 sm:sl-p-6 sm:sl-pb-4" }, G = { class: "sm:sl-flex sm:sl-items-start" }, M = { class: "sl-mx-auto sl-flex sl-h-12 sl-w-12 sl-flex-shrink-0 sl-items-center sl-justify-center sl-rounded-full sl-bg-gray-100 dark:sl-bg-slate-700 sm:sl-mx-0 sm:sl-h-10 sm:sl-w-10" }, R = { class: "sl-mt-3 sl-text-center sm:sl-ml-4 sm:sl-mt-0 sm:sl-text-left sl-w-full" }, U = { class: "sl-mt-2 sl-text-gray-600 dark:sl-text-slate-300" }, Y = { class: "sl-bg-gray-50 dark:sl-bg-slate-800/50 sl-px-4 sl-py-3 sm:sl-flex sm:sl-flex-row-reverse sm:sl-px-6" }, q = { class: "sl-flex sl-w-full sl-justify-end sl-gap-3" }, I = /* @__PURE__ */ C({
|
|
6
|
+
__name: "UiModal",
|
|
7
|
+
props: {
|
|
8
|
+
modelValue: { type: Boolean, required: !0 },
|
|
9
|
+
size: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: "lg",
|
|
12
|
+
validator: (m) => [
|
|
13
|
+
"sm",
|
|
14
|
+
"md",
|
|
15
|
+
"lg",
|
|
16
|
+
"xl",
|
|
17
|
+
"2xl",
|
|
18
|
+
"3xl",
|
|
19
|
+
"4xl",
|
|
20
|
+
"5xl",
|
|
21
|
+
"6xl",
|
|
22
|
+
"7xl",
|
|
23
|
+
"full",
|
|
24
|
+
// Also support legacy class-based values for backwards compatibility
|
|
25
|
+
"sm:max-w-sm",
|
|
26
|
+
"sm:max-w-md",
|
|
27
|
+
"sm:max-w-lg",
|
|
28
|
+
"sm:max-w-xl",
|
|
29
|
+
"sm:max-w-2xl",
|
|
30
|
+
"sm:max-w-3xl",
|
|
31
|
+
"sm:max-w-4xl",
|
|
32
|
+
"sm:max-w-5xl",
|
|
33
|
+
"sm:max-w-6xl",
|
|
34
|
+
"sm:max-w-7xl"
|
|
35
|
+
].includes(m)
|
|
36
|
+
},
|
|
37
|
+
position: { type: String, default: "center", validator: (m) => ["center", "top"].includes(m) },
|
|
38
|
+
showCancel: { type: Boolean, default: !0 },
|
|
39
|
+
showConfirm: { type: Boolean, default: !0 },
|
|
40
|
+
cancelText: { type: String, default: "Cancel" },
|
|
41
|
+
confirmText: { type: String, default: "Confirm" },
|
|
42
|
+
confirmTheme: { type: String, default: "primary" }
|
|
43
|
+
},
|
|
44
|
+
emits: ["update:modelValue", "cancel", "confirm"],
|
|
45
|
+
setup(m, { emit: _ }) {
|
|
46
|
+
const s = m, v = f(() => {
|
|
47
|
+
const l = {
|
|
48
|
+
sm: "24rem",
|
|
49
|
+
// 384px
|
|
50
|
+
md: "28rem",
|
|
51
|
+
// 448px
|
|
52
|
+
lg: "32rem",
|
|
53
|
+
// 512px
|
|
54
|
+
xl: "36rem",
|
|
55
|
+
// 576px
|
|
56
|
+
"2xl": "42rem",
|
|
57
|
+
// 672px
|
|
58
|
+
"3xl": "48rem",
|
|
59
|
+
// 768px
|
|
60
|
+
"4xl": "56rem",
|
|
61
|
+
// 896px
|
|
62
|
+
"5xl": "64rem",
|
|
63
|
+
// 1024px
|
|
64
|
+
"6xl": "72rem",
|
|
65
|
+
// 1152px
|
|
66
|
+
"7xl": "80rem",
|
|
67
|
+
// 1280px
|
|
68
|
+
full: "100%",
|
|
69
|
+
// Legacy class-based values
|
|
70
|
+
"sm:max-w-sm": "24rem",
|
|
71
|
+
"sm:max-w-md": "28rem",
|
|
72
|
+
"sm:max-w-lg": "32rem",
|
|
73
|
+
"sm:max-w-xl": "36rem",
|
|
74
|
+
"sm:max-w-2xl": "42rem",
|
|
75
|
+
"sm:max-w-3xl": "48rem",
|
|
76
|
+
"sm:max-w-4xl": "56rem",
|
|
77
|
+
"sm:max-w-5xl": "64rem",
|
|
78
|
+
"sm:max-w-6xl": "72rem",
|
|
79
|
+
"sm:max-w-7xl": "80rem"
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
maxWidth: l[s.size] || l.lg
|
|
83
|
+
};
|
|
84
|
+
}), n = _, d = S(null), b = f(() => d.value), x = () => {
|
|
85
|
+
n("update:modelValue", !1), n("cancel");
|
|
86
|
+
}, k = () => {
|
|
87
|
+
n("confirm"), n("update:modelValue", !1);
|
|
88
|
+
};
|
|
89
|
+
return (l, u) => (c(), i(a(B), {
|
|
90
|
+
as: "template",
|
|
91
|
+
show: s.modelValue
|
|
92
|
+
}, {
|
|
93
|
+
default: t(() => [
|
|
94
|
+
o(a(T), {
|
|
95
|
+
as: "div",
|
|
96
|
+
class: "sl-relative sl-z-50",
|
|
97
|
+
onClose: x,
|
|
98
|
+
"initial-focus": b.value
|
|
99
|
+
}, {
|
|
100
|
+
default: t(() => [
|
|
101
|
+
o(a(g), {
|
|
102
|
+
as: "template",
|
|
103
|
+
enter: "ease-out duration-300",
|
|
104
|
+
"enter-from": "opacity-0",
|
|
105
|
+
"enter-to": "opacity-100",
|
|
106
|
+
leave: "ease-in duration-200",
|
|
107
|
+
"leave-from": "opacity-100",
|
|
108
|
+
"leave-to": "opacity-0"
|
|
109
|
+
}, {
|
|
110
|
+
default: t(() => u[0] || (u[0] = [
|
|
111
|
+
e("div", { class: "sl-fixed sl-inset-0 sl-bg-gray-500/75 dark:sl-bg-slate-900/80 sl-transition-opacity" }, null, -1)
|
|
112
|
+
])),
|
|
113
|
+
_: 1,
|
|
114
|
+
__: [0]
|
|
115
|
+
}),
|
|
116
|
+
e("div", j, [
|
|
117
|
+
e("div", {
|
|
118
|
+
class: V(["sl-flex sl-min-h-full sl-items-center sl-justify-center sl-p-4 sl-text-center", [s.position === "top" ? "sm:sl-items-start sm:sl-pt-16" : "sm:sl-items-center"]])
|
|
119
|
+
}, [
|
|
120
|
+
o(a(g), {
|
|
121
|
+
as: "template",
|
|
122
|
+
enter: "ease-out duration-300",
|
|
123
|
+
"enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
|
|
124
|
+
"enter-to": "opacity-100 translate-y-0 sm:scale-100",
|
|
125
|
+
leave: "ease-in duration-200",
|
|
126
|
+
"leave-from": "opacity-100 translate-y-0 sm:scale-100",
|
|
127
|
+
"leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
|
128
|
+
}, {
|
|
129
|
+
default: t(() => [
|
|
130
|
+
o(a($), {
|
|
131
|
+
class: "sl-relative sl-transform sl-rounded-lg sl-bg-white dark:sl-bg-slate-800 sl-text-left sl-shadow-xl sl-transition-all sl-w-full",
|
|
132
|
+
style: z(v.value)
|
|
133
|
+
}, {
|
|
134
|
+
default: t(() => [
|
|
135
|
+
e("div", F, [
|
|
136
|
+
e("div", E, [
|
|
137
|
+
e("div", G, [
|
|
138
|
+
e("div", M, [
|
|
139
|
+
r(l.$slots, "icon")
|
|
140
|
+
]),
|
|
141
|
+
e("div", R, [
|
|
142
|
+
o(a(N), {
|
|
143
|
+
as: "h3",
|
|
144
|
+
class: "sl-text-base sl-font-semibold sl-leading-6 sl-text-gray-900 dark:sl-text-white"
|
|
145
|
+
}, {
|
|
146
|
+
default: t(() => [
|
|
147
|
+
r(l.$slots, "header")
|
|
148
|
+
]),
|
|
149
|
+
_: 3
|
|
150
|
+
}),
|
|
151
|
+
e("div", U, [
|
|
152
|
+
r(l.$slots, "body", {}, () => [
|
|
153
|
+
r(l.$slots, "default")
|
|
154
|
+
])
|
|
155
|
+
])
|
|
156
|
+
])
|
|
157
|
+
])
|
|
158
|
+
]),
|
|
159
|
+
e("div", Y, [
|
|
160
|
+
r(l.$slots, "footer", {}, () => [
|
|
161
|
+
e("div", q, [
|
|
162
|
+
s.showCancel ? (c(), i(h, {
|
|
163
|
+
key: 0,
|
|
164
|
+
"center-label": "",
|
|
165
|
+
theme: "light",
|
|
166
|
+
outlined: !0,
|
|
167
|
+
onButtonClick: x
|
|
168
|
+
}, {
|
|
169
|
+
default: t(() => [
|
|
170
|
+
y(w(s.cancelText), 1)
|
|
171
|
+
]),
|
|
172
|
+
_: 1
|
|
173
|
+
})) : p("", !0),
|
|
174
|
+
s.showConfirm ? (c(), i(h, {
|
|
175
|
+
key: 1,
|
|
176
|
+
"center-label": "",
|
|
177
|
+
theme: s.confirmTheme,
|
|
178
|
+
outlined: !1,
|
|
179
|
+
onButtonClick: k
|
|
180
|
+
}, {
|
|
181
|
+
default: t(() => [
|
|
182
|
+
y(w(s.confirmText), 1)
|
|
183
|
+
]),
|
|
184
|
+
_: 1
|
|
185
|
+
}, 8, ["theme"])) : p("", !0)
|
|
186
|
+
])
|
|
187
|
+
])
|
|
188
|
+
])
|
|
189
|
+
]),
|
|
190
|
+
e("button", {
|
|
191
|
+
ref_key: "fallbackFocusRef",
|
|
192
|
+
ref: d,
|
|
193
|
+
class: "sl-sr-only"
|
|
194
|
+
}, "Close", 512)
|
|
195
|
+
]),
|
|
196
|
+
_: 3
|
|
197
|
+
}, 8, ["style"])
|
|
198
|
+
]),
|
|
199
|
+
_: 3
|
|
200
|
+
})
|
|
201
|
+
], 2)
|
|
202
|
+
])
|
|
203
|
+
]),
|
|
204
|
+
_: 3
|
|
205
|
+
}, 8, ["initial-focus"])
|
|
206
|
+
]),
|
|
207
|
+
_: 3
|
|
208
|
+
}, 8, ["show"]));
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
export {
|
|
212
|
+
I as _
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js","sources":["../src/components/UiModal.vue"],"sourcesContent":["<!--\n @component UiModal\n @description Modal dialog component with Headless UI integration.\n \n A flexible modal/dialog component built on Headless UI's Dialog primitives.\n Supports customizable size, position, and action buttons.\n \n @props\n - modelValue (boolean, required): Controls visibility via v-model\n - size (string, optional): Modal width - 'sm:max-w-sm' through 'sm:max-w-7xl'\n - position (string, optional): Vertical position - 'center' or 'top'\n - showCancel (boolean, optional): Show cancel button\n - showConfirm (boolean, optional): Show confirm button\n - cancelText (string, optional): Cancel button text\n - confirmText (string, optional): Confirm button text\n - confirmTheme (Theme, optional): Theme for confirm button\n \n @emits\n - update:modelValue: Emitted when modal should close\n - cancel: Emitted when cancel/close action triggered\n - confirm: Emitted when confirm action triggered\n \n @slots\n - icon: Icon displayed in modal header circle\n - header: Modal title content\n - body: Modal content (or use default slot)\n - default: Alternative to body slot\n - footer: Custom footer replacing default buttons\n \n @example\n <UiModal v-model=\"isOpen\" @confirm=\"handleConfirm\">\n <template #header>Confirm Action</template>\n <template #body>Are you sure you want to continue?</template>\n </UiModal>\n-->\n<template>\n <TransitionRoot as=\"template\" :show=\"props.modelValue\">\n <Dialog as=\"div\" class=\"sl-relative sl-z-50\" @close=\"onClose\" :initial-focus=\"initialFocusElement\">\n <TransitionChild as=\"template\" enter=\"ease-out duration-300\" enter-from=\"opacity-0\" enter-to=\"opacity-100\"\n leave=\"ease-in duration-200\" leave-from=\"opacity-100\" leave-to=\"opacity-0\">\n <div class=\"sl-fixed sl-inset-0 sl-bg-gray-500/75 dark:sl-bg-slate-900/80 sl-transition-opacity\" />\n </TransitionChild>\n\n <div class=\"sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto\">\n <div class=\"sl-flex sl-min-h-full sl-items-center sl-justify-center sl-p-4 sl-text-center\"\n :class=\"[props.position === 'top' ? 'sm:sl-items-start sm:sl-pt-16' : 'sm:sl-items-center']\">\n <TransitionChild as=\"template\" enter=\"ease-out duration-300\"\n enter-from=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enter-to=\"opacity-100 translate-y-0 sm:scale-100\" leave=\"ease-in duration-200\"\n leave-from=\"opacity-100 translate-y-0 sm:scale-100\" leave-to=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\">\n <DialogPanel\n class=\"sl-relative sl-transform sl-rounded-lg sl-bg-white dark:sl-bg-slate-800 sl-text-left sl-shadow-xl sl-transition-all sl-w-full\"\n :style=\"sizeStyle\">\n <div class=\"sl-bg-white dark:sl-bg-slate-800\">\n <div class=\"sl-px-4 sl-pt-5 sl-pb-4 sm:sl-p-6 sm:sl-pb-4\">\n <div class=\"sm:sl-flex sm:sl-items-start\">\n <div class=\"sl-mx-auto sl-flex sl-h-12 sl-w-12 sl-flex-shrink-0 sl-items-center sl-justify-center sl-rounded-full sl-bg-gray-100 dark:sl-bg-slate-700 sm:sl-mx-0 sm:sl-h-10 sm:sl-w-10\">\n <slot name=\"icon\" />\n </div>\n <div class=\"sl-mt-3 sl-text-center sm:sl-ml-4 sm:sl-mt-0 sm:sl-text-left sl-w-full\">\n <DialogTitle as=\"h3\" class=\"sl-text-base sl-font-semibold sl-leading-6 sl-text-gray-900 dark:sl-text-white\">\n <slot name=\"header\" />\n </DialogTitle>\n <div class=\"sl-mt-2 sl-text-gray-600 dark:sl-text-slate-300\">\n <slot name=\"body\">\n <slot />\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div class=\"sl-bg-gray-50 dark:sl-bg-slate-800/50 sl-px-4 sl-py-3 sm:sl-flex sm:sl-flex-row-reverse sm:sl-px-6\">\n <slot name=\"footer\">\n <div class=\"sl-flex sl-w-full sl-justify-end sl-gap-3\">\n <UiButton v-if=\"props.showCancel\" center-label theme=\"light\" :outlined=\"true\" @button-click=\"onClose\">\n {{ props.cancelText }}\n </UiButton>\n <UiButton v-if=\"props.showConfirm\" center-label :theme=\"props.confirmTheme\" :outlined=\"false\" @button-click=\"onConfirm\">\n {{ props.confirmText }}\n </UiButton>\n </div>\n </slot>\n </div>\n </div>\n <button ref=\"fallbackFocusRef\" class=\"sl-sr-only\">Close</button>\n </DialogPanel>\n </TransitionChild>\n </div>\n </div>\n </Dialog>\n </TransitionRoot>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * UiModal - Dialog component with Headless UI\n * \n * Provides a modal/dialog overlay with customizable content, header, and footer.\n * Uses Headless UI for accessibility and transition handling.\n * \n * ## Features\n * - Multiple size variants\n * - Centered or top position\n * - Customizable action buttons\n * - Accessible with keyboard navigation\n * - Backdrop click to close\n * - Focus trapping\n * \n * @module components/UiModal\n * @see {@link ModalProps} for prop interface\n */\nimport { Dialog, DialogPanel, DialogTitle, TransitionChild, TransitionRoot } from '@headlessui/vue';\nimport { ref, computed } from 'vue';\nimport type { Theme } from '@/types/core';\nimport UiButton from '@/components/UiButton.vue';\n\nconst props = defineProps({\n modelValue: { type: Boolean, required: true },\n size: {\n type: String,\n default: 'lg',\n validator: (value: string) => [\n 'sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl', '7xl', 'full',\n // Also support legacy class-based values for backwards compatibility\n 'sm:max-w-sm','sm:max-w-md','sm:max-w-lg','sm:max-w-xl','sm:max-w-2xl','sm:max-w-3xl','sm:max-w-4xl','sm:max-w-5xl','sm:max-w-6xl','sm:max-w-7xl'\n ].includes(value)\n },\n position: { type: String, default: 'center', validator: (value: string) => ['center', 'top'].includes(value) },\n showCancel: { type: Boolean, default: true },\n showConfirm: { type: Boolean, default: true },\n cancelText: { type: String, default: 'Cancel' },\n confirmText: { type: String, default: 'Confirm' },\n confirmTheme: { type: String as () => Theme, default: 'primary' }\n});\n\n// Convert size prop to max-width style\nconst sizeStyle = computed(() => {\n const sizeMap: Record<string, string> = {\n 'sm': '24rem', // 384px\n 'md': '28rem', // 448px\n 'lg': '32rem', // 512px\n 'xl': '36rem', // 576px\n '2xl': '42rem', // 672px\n '3xl': '48rem', // 768px\n '4xl': '56rem', // 896px\n '5xl': '64rem', // 1024px\n '6xl': '72rem', // 1152px\n '7xl': '80rem', // 1280px\n 'full': '100%',\n // Legacy class-based values\n 'sm:max-w-sm': '24rem',\n 'sm:max-w-md': '28rem',\n 'sm:max-w-lg': '32rem',\n 'sm:max-w-xl': '36rem',\n 'sm:max-w-2xl': '42rem',\n 'sm:max-w-3xl': '48rem',\n 'sm:max-w-4xl': '56rem',\n 'sm:max-w-5xl': '64rem',\n 'sm:max-w-6xl': '72rem',\n 'sm:max-w-7xl': '80rem',\n };\n return {\n maxWidth: sizeMap[props.size] || sizeMap['lg'],\n };\n});\n\nconst emit = defineEmits(['update:modelValue', 'cancel', 'confirm']);\nconst fallbackFocusRef = ref(null);\nconst initialFocusElement = computed(() => fallbackFocusRef.value);\n\nconst onClose = () => {\n emit('update:modelValue', false);\n emit('cancel');\n};\n\nconst onConfirm = () => {\n emit('confirm');\n emit('update:modelValue', false);\n};\n</script>\n\n<style scoped>\n</style>\n\n\n"],"names":["props","__props","sizeStyle","computed","sizeMap","emit","__emit","fallbackFocusRef","ref","initialFocusElement","onClose","onConfirm","_createBlock","_unref","TransitionRoot","_createVNode","Dialog","TransitionChild","_cache","_createElementVNode","_hoisted_1","_normalizeClass","DialogPanel","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_renderSlot","_ctx","_hoisted_6","DialogTitle","_hoisted_7","_hoisted_8","_hoisted_9","UiButton","_createTextVNode","_toDisplayString"],"mappings":"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"}
|