@stachelock/ui 0.3.0 → 0.4.0
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/{AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js → AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js} +2 -2
- package/dist/{AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js.map → AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js.map} +1 -1
- package/dist/{BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js → BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js} +6 -6
- package/dist/{BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js.map → BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js.map} +1 -1
- package/dist/{BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js → BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js} +19 -19
- package/dist/{BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js.map → BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js.map} +1 -1
- package/dist/{BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js → BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js} +5 -6
- package/dist/{BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js.map → BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js.map} +1 -1
- package/dist/{CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js → CalendarHeader.vue_vue_type_script_setup_true_lang-P5ypRyGV.js} +111 -111
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-P5ypRyGV.js.map +1 -0
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js +187 -0
- package/dist/{CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js.map → CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js.map} +1 -1
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-1YGa9Fnd.js +1351 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-1YGa9Fnd.js.map +1 -0
- package/dist/{ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js → ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js} +19 -19
- package/dist/{ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js.map → ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js.map} +1 -1
- package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js → DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js} +7 -8
- package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js.map → DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js.map} +1 -1
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js.map +1 -1
- package/dist/{DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js → DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js} +47 -47
- package/dist/{DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js.map → DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js.map} +1 -1
- package/dist/{DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js → DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js} +38 -38
- package/dist/{DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js.map → DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js.map} +1 -1
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js +253 -0
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js.map +1 -0
- package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js → DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js} +16 -16
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js.map +1 -0
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js +122 -0
- package/dist/{EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js.map → EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js.map} +1 -1
- package/dist/{EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js → EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js} +9 -9
- package/dist/{EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js.map → EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js.map} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js → EmptyState.vue_vue_type_script_setup_true_lang-Dxy-cLPT.js} +29 -29
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js.map → EmptyState.vue_vue_type_script_setup_true_lang-Dxy-cLPT.js.map} +1 -1
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js → EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js} +30 -31
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js.map → EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js.map} +1 -1
- package/dist/{FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js → FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js} +12 -12
- package/dist/{FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js.map → FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js.map} +1 -1
- package/dist/{HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js → HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js} +10 -10
- package/dist/{HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js.map → HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js.map} +1 -1
- package/dist/{InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js → InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js} +29 -29
- package/dist/{InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js.map → InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js.map} +1 -1
- package/dist/{LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js → LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js} +17 -17
- package/dist/{LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js.map → LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js.map} +1 -1
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js +36 -0
- package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js.map → LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js.map} +1 -1
- package/dist/{MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js → MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js} +2 -2
- package/dist/{MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js.map → MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js.map} +1 -1
- package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js +30 -0
- package/dist/{NavigationGroup.vue_vue_type_script_setup_true_lang-2tAB9Hbx.js.map → NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js.map} +1 -1
- package/dist/{NavigationItem.vue_vue_type_script_setup_true_lang-CEsuYl3S.js → NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js} +18 -18
- package/dist/{NavigationItem.vue_vue_type_script_setup_true_lang-CEsuYl3S.js.map → NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js.map} +1 -1
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-DZxcEZkP.js +277 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-DZxcEZkP.js.map +1 -0
- package/dist/{PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js → PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js} +12 -12
- package/dist/{PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js.map → PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js.map} +1 -1
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-DkABeWJt.js +130 -0
- package/dist/{ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js.map → ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-DkABeWJt.js.map} +1 -1
- package/dist/{ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js → ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js} +24 -24
- package/dist/{ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js.map → ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js.map} +1 -1
- package/dist/{SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js → SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js} +111 -111
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js.map +1 -0
- package/dist/{SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js → SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js} +2 -2
- package/dist/{SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js.map → SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js.map} +1 -1
- package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js → SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js} +9 -10
- package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js.map → SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js.map} +1 -1
- package/dist/{SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js → SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js} +17 -17
- package/dist/{SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js.map → SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js.map} +1 -1
- package/dist/{StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js → StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js} +40 -40
- package/dist/{StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js.map → StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js.map} +1 -1
- package/dist/{StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js → StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js} +38 -38
- package/dist/{StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js.map → StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js.map} +1 -1
- package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js → SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js} +110 -108
- package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js.map → SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js.map} +1 -1
- package/dist/{SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js → SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js} +2 -2
- package/dist/{SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js.map → SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js.map} +1 -1
- package/dist/{TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js → TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js} +3 -3
- package/dist/{TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js.map → TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js.map} +1 -1
- package/dist/{TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js → TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js} +32 -32
- package/dist/{TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js.map → TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js.map} +1 -1
- package/dist/{TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js → TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js} +21 -21
- package/dist/{TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js.map → TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js.map} +1 -1
- package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js → TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js} +2 -2
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js.map +1 -0
- package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js → TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js} +47 -47
- package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js.map → TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js.map} +1 -1
- package/dist/{UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js → UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js} +36 -36
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js.map +1 -0
- package/dist/{UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js → UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js} +19 -19
- package/dist/{UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js.map → UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js.map} +1 -1
- package/dist/{UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js → UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js} +28 -28
- package/dist/{UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js.map → UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js.map} +1 -1
- package/dist/{UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js → UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js} +37 -37
- package/dist/{UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js.map → UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js.map} +1 -1
- package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js → UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js} +42 -42
- package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js.map → UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js.map} +1 -1
- package/dist/{UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js → UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js} +74 -74
- package/dist/{UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js.map → UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js.map} +1 -1
- package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js → UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js} +9 -10
- package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js.map → UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js.map} +1 -1
- package/dist/{UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js → UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js} +2 -2
- package/dist/{UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js.map → UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js.map} +1 -1
- package/dist/{UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js → UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js} +24 -24
- package/dist/{UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js.map → UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js.map} +1 -1
- package/dist/{UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js → UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js} +80 -83
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js.map +1 -0
- package/dist/{UiTransition.vue_vue_type_script_setup_true_lang-DwBTj18t.js → UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js} +15 -15
- package/dist/{UiTransition.vue_vue_type_script_setup_true_lang-DwBTj18t.js.map → UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js.map} +1 -1
- package/dist/{YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js → YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js} +15 -15
- package/dist/{YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js.map → YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js.map} +1 -1
- package/dist/{calendar-DyIP7WGv.js → calendar-BlSSD4nO.js} +2 -2
- package/dist/calendar-BlSSD4nO.js.map +1 -0
- package/dist/calendars/CalendarDashboard.d.ts +1 -3
- package/dist/calendars/CalendarDashboard.js +32 -33
- package/dist/calendars/CalendarDashboard.js.map +1 -1
- package/dist/calendars/CalendarHeader.d.ts +1 -3
- package/dist/calendars/CalendarHeader.js +1 -1
- package/dist/calendars/DayCalendar.d.ts +1 -3
- package/dist/calendars/DayCalendar.js +1 -1
- package/dist/calendars/EventCard.d.ts +1 -3
- package/dist/calendars/EventsList.d.ts +1 -3
- package/dist/calendars/EventsList.js +1 -1
- package/dist/calendars/MonthCalendar.d.ts +1 -3
- package/dist/calendars/MonthCalendar.js +1 -1
- package/dist/calendars/WeekCalendar.d.ts +1 -3
- package/dist/calendars/WeekCalendar.js +118 -118
- package/dist/calendars/WeekCalendar.js.map +1 -1
- package/dist/calendars/YearCalendar.d.ts +1 -3
- package/dist/calendars/YearCalendar.js +1 -1
- package/dist/charts/BarChart.d.ts +1 -3
- package/dist/charts/BarChart.js +1 -1
- package/dist/charts/BaseChart.d.ts +1 -3
- package/dist/charts/BaseChart.js +54 -54
- package/dist/charts/BaseChart.js.map +1 -1
- package/dist/charts/FunnelChart.d.ts +1 -3
- package/dist/charts/FunnelChart.js +1 -1
- package/dist/charts/LineChart.d.ts +1 -3
- package/dist/charts/LineChart.js +1 -1
- package/dist/charts/PieChart.d.ts +1 -3
- package/dist/charts/PieChart.js +1 -1
- package/dist/charts/SparklineChart.d.ts +1 -3
- package/dist/charts/SparklineChart.js +1 -1
- package/dist/charts/StatCard.d.ts +1 -3
- package/dist/charts/StatCard.js +1 -1
- package/dist/charts/chartTheme.d.ts +3 -0
- package/dist/charts/index.d.ts +1 -0
- package/dist/charts/index.js +6 -6
- package/dist/components/Avatar.d.ts +1 -3
- package/dist/components/Avatar.js +1 -1
- package/dist/components/Badge.d.ts +1 -3
- package/dist/components/Badge.js +1 -1
- package/dist/components/Banner.d.ts +1 -3
- package/dist/components/Banner.js +69 -69
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/Breadcrumb.d.ts +1 -3
- package/dist/components/Breadcrumb.js +5 -5
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Button.d.ts +1 -3
- package/dist/components/Button.js +29 -29
- package/dist/components/Button.js.map +1 -1
- package/dist/components/ButtonGroup.d.ts +1 -3
- package/dist/components/ButtonGroup.js +1 -1
- package/dist/components/Checkbox.d.ts +1 -3
- package/dist/components/Checkbox.js +1 -1
- package/dist/components/CloudinaryImage.d.ts +1 -3
- package/dist/components/Loading.d.ts +1 -3
- package/dist/components/Loading.js +1 -1
- package/dist/components/LoadingDots.d.ts +1 -3
- package/dist/components/LottieAnimation.d.ts +1 -3
- package/dist/components/LottieAnimation.js +1 -1
- package/dist/components/Menu.d.ts +1 -3
- package/dist/components/Menu.js +1 -1
- package/dist/components/Modal.d.ts +1 -3
- package/dist/components/Modal.js +1 -1
- package/dist/components/NavLink.d.ts +1 -3
- package/dist/components/NavLink.js +1 -1
- package/dist/components/ProgressBar.d.ts +1 -3
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/RadialProgressBar.d.ts +1 -3
- package/dist/components/RadialProgressBar.js +1 -1
- package/dist/components/Table.d.ts +1 -3
- package/dist/components/Table.js +1 -1
- package/dist/components/Transition.d.ts +1 -3
- package/dist/components/Transition.js +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/useCalendar.d.ts +3 -0
- package/dist/composables/useCalendar.js +1 -1
- package/dist/composables/useFormValidation.d.ts +3 -0
- package/dist/composables/useMap.d.ts +3 -0
- package/dist/composables/useModal.d.ts +3 -0
- package/dist/composables/useNotifications.d.ts +3 -0
- package/dist/composables/useNotifications.js +221 -58
- package/dist/composables/useNotifications.js.map +1 -1
- package/dist/composables/useTabs.d.ts +1 -0
- package/dist/composables/useTheme.d.ts +3 -0
- package/dist/{dialog-B2WA4G25.js → dialog-BJ2Ld8l3.js} +2 -2
- package/dist/{dialog-B2WA4G25.js.map → dialog-BJ2Ld8l3.js.map} +1 -1
- package/dist/empty-state/ComingSoon.d.ts +1 -3
- package/dist/empty-state/ComingSoon.js +1 -1
- package/dist/empty-state/EmptyState.d.ts +1 -3
- package/dist/empty-state/EmptyState.js +1 -1
- package/dist/empty-state/index.d.ts +1 -0
- package/dist/empty-state/index.js +2 -2
- package/dist/forms/DynamicForm.d.ts +1 -3
- package/dist/forms/DynamicForm.js +1 -1
- package/dist/forms/DynamicFormField.d.ts +1 -3
- package/dist/forms/DynamicFormField.js +1 -1
- package/dist/forms/FormFieldWrapper.d.ts +1 -3
- package/dist/forms/FormFieldWrapper.js +56 -56
- package/dist/forms/FormFieldWrapper.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +505 -511
- package/dist/index.js.map +1 -1
- package/dist/inputs/AddDeleteButtonGroup.d.ts +1 -3
- package/dist/inputs/CheckboxInput.d.ts +1 -3
- package/dist/inputs/CheckboxInput.js +1 -1
- package/dist/inputs/ComboboxInput.d.ts +1 -3
- package/dist/inputs/ComboboxInput.js +1 -1
- package/dist/inputs/DatepickerInput.d.ts +1 -3
- package/dist/inputs/EmailInput.d.ts +1 -3
- package/dist/inputs/EmailInput.js +1 -1
- package/dist/inputs/EmptyInput.d.ts +1 -3
- package/dist/inputs/EmptyInput.js +1 -1
- package/dist/inputs/FileDropzoneInput.d.ts +1 -3
- package/dist/inputs/HiddenInput.d.ts +1 -3
- package/dist/inputs/HiddenInput.js +1 -1
- package/dist/inputs/PhoneInput.d.ts +1 -3
- package/dist/inputs/PhoneInput.js +33 -23
- package/dist/inputs/PhoneInput.js.map +1 -1
- package/dist/inputs/RichTextInput.d.ts +1 -3
- package/dist/inputs/RichTextInput.js +693 -693
- package/dist/inputs/RichTextInput.js.map +1 -1
- package/dist/inputs/SelectInput.d.ts +1 -3
- package/dist/inputs/SelectInput.js +1 -1
- package/dist/inputs/SelectTextInput.d.ts +1 -3
- package/dist/inputs/SelectTextInput.js +1 -1
- package/dist/inputs/SwitchInput.d.ts +1 -3
- package/dist/inputs/SwitchInput.js +1 -1
- package/dist/inputs/SwitchInputGroup.d.ts +1 -3
- package/dist/inputs/SwitchInputGroup.js +1 -1
- package/dist/inputs/TagifyInput.d.ts +1 -3
- package/dist/inputs/TagifyInput.js +1 -1
- package/dist/inputs/TextAreaInput.d.ts +1 -3
- package/dist/inputs/TextAreaInput.js +1 -1
- package/dist/inputs/TextInput.d.ts +1 -3
- package/dist/inputs/TextInput.js +43 -43
- package/dist/inputs/TextInput.js.map +1 -1
- package/dist/layouts/DashboardLayout.d.ts +1 -3
- package/dist/layouts/DashboardLayout.js +1 -1
- package/dist/layouts/DefaultLayout.d.ts +1 -3
- package/dist/layouts/HeaderLayout.d.ts +1 -3
- package/dist/layouts/NavigationGroup.d.ts +1 -3
- package/dist/layouts/NavigationGroup.js +1 -1
- package/dist/layouts/NavigationItem.d.ts +1 -3
- package/dist/layouts/NavigationItem.js +1 -1
- package/dist/layouts/ProfileHeaderAvatar.d.ts +1 -3
- package/dist/layouts/ProfileHeaderAvatar.js +1 -1
- package/dist/layouts/ProjectLogo.d.ts +1 -3
- package/dist/layouts/ProjectLogo.js +1 -1
- package/dist/layouts/SidebarLayout.d.ts +1 -3
- package/dist/layouts/SidebarLayout.js +1 -1
- package/dist/{listbox-p2_4hUSD.js → listbox-YaWWZiiG.js} +2 -2
- package/dist/{listbox-p2_4hUSD.js.map → listbox-YaWWZiiG.js.map} +1 -1
- package/dist/loading/ContentSkeleton.d.ts +1 -3
- package/dist/loading/ContentSkeleton.js +32 -32
- package/dist/loading/ContentSkeleton.js.map +1 -1
- package/dist/loading/SmartLoadingIndicator.d.ts +1 -3
- package/dist/loading/SmartLoadingIndicator.js +92 -92
- package/dist/loading/SmartLoadingIndicator.js.map +1 -1
- package/dist/loading/index.d.ts +1 -0
- package/dist/maps/GoogleMap.d.ts +1 -3
- package/dist/maps/GoogleMap.js +2 -2
- package/dist/maps/GoogleMap.js.map +1 -1
- package/dist/maps/UiInfoWindow.d.ts +1 -3
- package/dist/maps/UiMap.d.ts +1 -3
- package/dist/maps/UiMap.js +18 -15
- package/dist/maps/UiMap.js.map +1 -1
- package/dist/maps/UiMapAll.d.ts +1 -3
- package/dist/maps/UiMapMarker.d.ts +1 -3
- package/dist/maps/index.d.ts +1 -0
- package/dist/modals/AlertModal.d.ts +1 -3
- package/dist/modals/AlertModal.js +1 -1
- package/dist/modals/BaseModal.d.ts +1 -3
- package/dist/modals/BaseModal.js +1 -1
- package/dist/modals/ImageCropperModal.d.ts +1 -3
- package/dist/modals/ImageCropperModal.js +182 -185
- package/dist/modals/ImageCropperModal.js.map +1 -1
- package/dist/notifications/NotificationContainer.d.ts +1 -3
- package/dist/notifications/NotificationContainer.js +30 -16
- package/dist/notifications/NotificationContainer.js.map +1 -1
- package/dist/notifications/NotificationToast.d.ts +1 -3
- package/dist/notifications/NotificationToast.js +1 -1
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +1 -1
- package/dist/src/components/CloudinaryImage.d.ts +7 -8
- package/dist/src/components/CloudinaryImage.d.ts.map +1 -1
- package/dist/src/components/LottieAnimation.d.ts +6 -37
- package/dist/src/components/LottieAnimation.d.ts.map +1 -1
- package/dist/src/components/ThemeDebugModal.d.ts +6 -16
- package/dist/src/components/ThemeDebugModal.d.ts.map +1 -1
- package/dist/src/components/UiAvatar.d.ts +26 -36
- package/dist/src/components/UiAvatar.d.ts.map +1 -1
- package/dist/src/components/UiBadge.d.ts +6 -33
- package/dist/src/components/UiBadge.d.ts.map +1 -1
- package/dist/src/components/UiBanner.d.ts +34 -107
- package/dist/src/components/UiBanner.d.ts.map +1 -1
- package/dist/src/components/UiBreadcrumb.d.ts +10 -11
- package/dist/src/components/UiBreadcrumb.d.ts.map +1 -1
- package/dist/src/components/UiButton.d.ts +13 -66
- package/dist/src/components/UiButton.d.ts.map +1 -1
- package/dist/src/components/UiButtonGroup.d.ts +7 -37
- package/dist/src/components/UiButtonGroup.d.ts.map +1 -1
- package/dist/src/components/UiCheckbox.d.ts +8 -33
- package/dist/src/components/UiCheckbox.d.ts.map +1 -1
- package/dist/src/components/UiLoading.d.ts +2 -28
- package/dist/src/components/UiLoading.d.ts.map +1 -1
- package/dist/src/components/UiLoadingDots.d.ts +1 -1
- package/dist/src/components/UiLoadingDots.d.ts.map +1 -1
- package/dist/src/components/UiMenu.d.ts +4 -32
- package/dist/src/components/UiMenu.d.ts.map +1 -1
- package/dist/src/components/UiModal.d.ts +3 -2
- package/dist/src/components/UiModal.d.ts.map +1 -1
- package/dist/src/components/UiNavLink.d.ts +6 -40
- package/dist/src/components/UiNavLink.d.ts.map +1 -1
- package/dist/src/components/UiProgressBar.d.ts +3 -32
- package/dist/src/components/UiProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiRadialProgressBar.d.ts +3 -34
- package/dist/src/components/UiRadialProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiTable.d.ts +25 -67
- package/dist/src/components/UiTable.d.ts.map +1 -1
- package/dist/src/components/UiTransition.d.ts +3 -26
- package/dist/src/components/UiTransition.d.ts.map +1 -1
- package/dist/src/components/calendars/CalendarDashboard.d.ts +5 -17
- package/dist/src/components/calendars/CalendarDashboard.d.ts.map +1 -1
- package/dist/src/components/calendars/CalendarHeader.d.ts +8 -7
- package/dist/src/components/calendars/CalendarHeader.d.ts.map +1 -1
- package/dist/src/components/calendars/DayCalendar.d.ts +11 -17
- package/dist/src/components/calendars/DayCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/EventCard.d.ts +1 -2
- package/dist/src/components/calendars/EventCard.d.ts.map +1 -1
- package/dist/src/components/calendars/EventsList.d.ts +6 -18
- package/dist/src/components/calendars/EventsList.d.ts.map +1 -1
- package/dist/src/components/calendars/MonthCalendar.d.ts +6 -30
- package/dist/src/components/calendars/MonthCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/WeekCalendar.d.ts +10 -16
- package/dist/src/components/calendars/WeekCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/YearCalendar.d.ts +5 -29
- package/dist/src/components/calendars/YearCalendar.d.ts.map +1 -1
- package/dist/src/components/charts/BarChart.d.ts +6 -39
- package/dist/src/components/charts/BarChart.d.ts.map +1 -1
- package/dist/src/components/charts/FunnelChart.d.ts +5 -34
- package/dist/src/components/charts/FunnelChart.d.ts.map +1 -1
- package/dist/src/components/charts/LineChart.d.ts +6 -37
- package/dist/src/components/charts/LineChart.d.ts.map +1 -1
- package/dist/src/components/charts/PieChart.d.ts +6 -37
- package/dist/src/components/charts/PieChart.d.ts.map +1 -1
- package/dist/src/components/charts/SparklineChart.d.ts +3 -32
- package/dist/src/components/charts/SparklineChart.d.ts.map +1 -1
- package/dist/src/components/charts/StatCard.d.ts +2 -24
- package/dist/src/components/charts/StatCard.d.ts.map +1 -1
- package/dist/src/components/charts/chartTheme.d.ts +0 -1
- package/dist/src/components/empty-state/ComingSoon.d.ts +2 -29
- package/dist/src/components/empty-state/ComingSoon.d.ts.map +1 -1
- package/dist/src/components/empty-state/EmptyState.d.ts +4 -26
- package/dist/src/components/empty-state/EmptyState.d.ts.map +1 -1
- package/dist/src/components/forms/DynamicForm.d.ts +21 -47
- package/dist/src/components/forms/DynamicForm.d.ts.map +1 -1
- package/dist/src/components/forms/DynamicFormField.d.ts +8 -18
- package/dist/src/components/forms/DynamicFormField.d.ts.map +1 -1
- package/dist/src/components/forms/FormFieldWrapper.d.ts +14 -58
- package/dist/src/components/forms/FormFieldWrapper.d.ts.map +1 -1
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts +3 -4
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts.map +1 -1
- package/dist/src/components/inputs/CheckboxInput.d.ts +10 -37
- package/dist/src/components/inputs/CheckboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/ComboboxInput.d.ts +13 -48
- package/dist/src/components/inputs/ComboboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/DatepickerInput.d.ts +1045 -42
- package/dist/src/components/inputs/DatepickerInput.d.ts.map +1 -1
- package/dist/src/components/inputs/EmailInput.d.ts +10 -54
- package/dist/src/components/inputs/EmailInput.d.ts.map +1 -1
- package/dist/src/components/inputs/EmptyInput.d.ts +2 -26
- package/dist/src/components/inputs/EmptyInput.d.ts.map +1 -1
- package/dist/src/components/inputs/FileDropzoneInput.d.ts +8 -7
- package/dist/src/components/inputs/FileDropzoneInput.d.ts.map +1 -1
- package/dist/src/components/inputs/HiddenInput.d.ts +2 -23
- package/dist/src/components/inputs/HiddenInput.d.ts.map +1 -1
- package/dist/src/components/inputs/InputsShowcase.d.ts +1 -1
- package/dist/src/components/inputs/InputsShowcase.d.ts.map +1 -1
- package/dist/src/components/inputs/PhoneInput.d.ts +79 -16
- package/dist/src/components/inputs/PhoneInput.d.ts.map +1 -1
- package/dist/src/components/inputs/RichTextInput.d.ts +22 -80
- package/dist/src/components/inputs/RichTextInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SelectInput.d.ts +49 -42
- package/dist/src/components/inputs/SelectInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SelectTextInput.d.ts +52 -12
- package/dist/src/components/inputs/SelectTextInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SwitchInput.d.ts +115 -42
- package/dist/src/components/inputs/SwitchInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SwitchInputGroup.d.ts +2 -3
- package/dist/src/components/inputs/SwitchInputGroup.d.ts.map +1 -1
- package/dist/src/components/inputs/TagifyInput.d.ts +30 -20
- package/dist/src/components/inputs/TagifyInput.d.ts.map +1 -1
- package/dist/src/components/inputs/TextAreaInput.d.ts +9 -35
- package/dist/src/components/inputs/TextAreaInput.d.ts.map +1 -1
- package/dist/src/components/inputs/TextInput.d.ts +13 -73
- package/dist/src/components/inputs/TextInput.d.ts.map +1 -1
- package/dist/src/components/layouts/CardLayout.d.ts +20 -66
- package/dist/src/components/layouts/CardLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/DashboardLayout.d.ts +8 -5
- package/dist/src/components/layouts/DashboardLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/DefaultLayout.d.ts +1 -1
- package/dist/src/components/layouts/DefaultLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/HeaderLayout.d.ts +4 -4
- package/dist/src/components/layouts/HeaderLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/InfoCard.d.ts +2 -25
- package/dist/src/components/layouts/InfoCard.d.ts.map +1 -1
- package/dist/src/components/layouts/NavigationGroup.d.ts +5 -16
- package/dist/src/components/layouts/NavigationGroup.d.ts.map +1 -1
- package/dist/src/components/layouts/NavigationItem.d.ts +7 -24
- package/dist/src/components/layouts/NavigationItem.d.ts.map +1 -1
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts +10 -40
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts.map +1 -1
- package/dist/src/components/layouts/ProjectLogo.d.ts +2 -33
- package/dist/src/components/layouts/ProjectLogo.d.ts.map +1 -1
- package/dist/src/components/layouts/PropsTable.d.ts +2 -23
- package/dist/src/components/layouts/PropsTable.d.ts.map +1 -1
- package/dist/src/components/layouts/ShowcaseCard.d.ts +2 -29
- package/dist/src/components/layouts/ShowcaseCard.d.ts.map +1 -1
- package/dist/src/components/layouts/ShowcaseLayout.d.ts +5 -28
- package/dist/src/components/layouts/ShowcaseLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/SidebarLayout.d.ts +7 -4
- package/dist/src/components/layouts/SidebarLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/StateDisplay.d.ts +2 -23
- package/dist/src/components/layouts/StateDisplay.d.ts.map +1 -1
- package/dist/src/components/loading/ContentSkeleton.d.ts +2 -31
- package/dist/src/components/loading/ContentSkeleton.d.ts.map +1 -1
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts +6 -47
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts.map +1 -1
- package/dist/src/components/maps/GoogleMap.d.ts +7 -8
- package/dist/src/components/maps/GoogleMap.d.ts.map +1 -1
- package/dist/src/components/maps/UiInfoWindow.d.ts +229 -14
- package/dist/src/components/maps/UiInfoWindow.d.ts.map +1 -1
- package/dist/src/components/maps/UiMap.d.ts +5091 -101
- package/dist/src/components/maps/UiMap.d.ts.map +1 -1
- package/dist/src/components/maps/UiMapAll.d.ts +1130 -20
- package/dist/src/components/maps/UiMapAll.d.ts.map +1 -1
- package/dist/src/components/maps/UiMapMarker.d.ts +16 -17
- package/dist/src/components/maps/UiMapMarker.d.ts.map +1 -1
- package/dist/src/components/modals/AlertModal.d.ts +9 -10
- package/dist/src/components/modals/AlertModal.d.ts.map +1 -1
- package/dist/src/components/modals/BaseModal.d.ts +6 -7
- package/dist/src/components/modals/BaseModal.d.ts.map +1 -1
- package/dist/src/components/modals/ImageCropperModal.d.ts +379 -75
- package/dist/src/components/modals/ImageCropperModal.d.ts.map +1 -1
- package/dist/src/components/notifications/NotificationContainer.d.ts.map +1 -1
- package/dist/src/components/notifications/NotificationToast.d.ts +9 -18
- package/dist/src/components/notifications/NotificationToast.d.ts.map +1 -1
- package/dist/src/components/stepper/StepperPanels.d.ts +4 -14
- package/dist/src/components/stepper/StepperPanels.d.ts.map +1 -1
- package/dist/src/components/tabs/InlineTabs.d.ts +4 -28
- package/dist/src/components/tabs/InlineTabs.d.ts.map +1 -1
- package/dist/src/components/tabs/TabGroup.d.ts +6 -32
- package/dist/src/components/tabs/TabGroup.d.ts.map +1 -1
- package/dist/src/components/tabs/TabGroupUnderline.d.ts +6 -32
- package/dist/src/components/tabs/TabGroupUnderline.d.ts.map +1 -1
- package/dist/src/components/tabs/TabsInPills.d.ts +4 -26
- package/dist/src/components/tabs/TabsInPills.d.ts.map +1 -1
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +2 -37
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts.map +1 -1
- package/dist/src/components/wrappers/CardWrapper.d.ts +1 -1
- package/dist/src/components/wrappers/CardWrapper.d.ts.map +1 -1
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts +2 -23
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts.map +1 -1
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts +2 -25
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts.map +1 -1
- package/dist/src/composables/useCalendar.d.ts +4 -5
- package/dist/src/composables/useFormValidation.d.ts +0 -1
- package/dist/src/composables/useMap.d.ts +0 -1
- package/dist/src/composables/useNotifications.d.ts +1308 -30
- package/dist/src/composables/useNotifications.d.ts.map +1 -1
- package/dist/src/composables/useSimpleTabs.d.ts +0 -1
- package/dist/src/composables/useStringTransform.d.ts +0 -1
- package/dist/src/composables/useTabs.d.ts +0 -1
- package/dist/src/config/css-variables.d.ts +0 -1
- package/dist/src/config/design-tokens.d.ts +1 -1
- package/dist/src/config/design-tokens.d.ts.map +1 -1
- package/dist/src/dev.d.ts +0 -1
- package/dist/src/plugin/configure.d.ts +0 -1
- package/dist/src/types/calendars.d.ts +12 -11
- package/dist/src/types/calendars.d.ts.map +1 -1
- package/dist/src/types/core.d.ts +3 -4
- package/dist/src/types/core.d.ts.map +1 -1
- package/dist/src/types/form.d.ts +15 -13
- package/dist/src/types/form.d.ts.map +1 -1
- package/dist/src/types/forms.d.ts +2 -1
- package/dist/src/types/forms.d.ts.map +1 -1
- package/dist/src/types/inputs.d.ts +14 -9
- package/dist/src/types/inputs.d.ts.map +1 -1
- package/dist/src/types/layouts.d.ts +0 -1
- package/dist/src/types/navigation.d.ts +2 -1
- package/dist/src/types/navigation.d.ts.map +1 -1
- package/dist/src/types/tables.d.ts +8 -6
- package/dist/src/types/tables.d.ts.map +1 -1
- package/dist/src/types/ui.d.ts +1 -2
- package/dist/src/types/ui.d.ts.map +1 -1
- package/dist/src/utils/calendar.d.ts +1 -1
- package/dist/src/utils/calendar.d.ts.map +1 -1
- package/dist/src/utils/component-registry.d.ts +0 -1
- package/dist/src/utils/mapThemes.d.ts +0 -1
- package/dist/src/utils/phone.d.ts +0 -1
- package/dist/src/views/ButtonsShowcase.d.ts +3 -0
- package/dist/src/views/ButtonsShowcase.d.ts.map +1 -0
- package/dist/src/views/CalendarsShowcase.d.ts +3 -0
- package/dist/src/views/CalendarsShowcase.d.ts.map +1 -0
- package/dist/src/views/CardsShowcase.d.ts +3 -0
- package/dist/src/views/CardsShowcase.d.ts.map +1 -0
- package/dist/src/views/ChartsShowcase.d.ts +3 -0
- package/dist/src/views/ChartsShowcase.d.ts.map +1 -0
- package/dist/src/views/EmptyStatesShowcase.d.ts +3 -0
- package/dist/src/views/EmptyStatesShowcase.d.ts.map +1 -0
- package/dist/src/views/InputsShowcase.d.ts +3 -0
- package/dist/src/views/InputsShowcase.d.ts.map +1 -0
- package/dist/src/views/KitchenSink.d.ts +3 -0
- package/dist/src/views/KitchenSink.d.ts.map +1 -0
- package/dist/src/views/LayoutsShowcase.d.ts +3 -0
- package/dist/src/views/LayoutsShowcase.d.ts.map +1 -0
- package/dist/src/views/LoadingShowcase.d.ts +3 -0
- package/dist/src/views/LoadingShowcase.d.ts.map +1 -0
- package/dist/src/views/MapsShowcase.d.ts +3 -0
- package/dist/src/views/MapsShowcase.d.ts.map +1 -0
- package/dist/src/views/ModalsShowcase.d.ts +3 -0
- package/dist/src/views/ModalsShowcase.d.ts.map +1 -0
- package/dist/src/views/NotificationsShowcase.d.ts +3 -0
- package/dist/src/views/NotificationsShowcase.d.ts.map +1 -0
- package/dist/src/views/StepperShowcase.d.ts +3 -0
- package/dist/src/views/StepperShowcase.d.ts.map +1 -0
- package/dist/src/views/TabsShowcase.d.ts +3 -0
- package/dist/src/views/TabsShowcase.d.ts.map +1 -0
- package/dist/src/views/ValidationDemo.d.ts +3 -0
- package/dist/src/views/ValidationDemo.d.ts.map +1 -0
- package/dist/src/views/WrappersShowcase.d.ts +3 -0
- package/dist/src/views/WrappersShowcase.d.ts.map +1 -0
- package/dist/src/views/components/AvatarPage.d.ts +3 -0
- package/dist/src/views/components/AvatarPage.d.ts.map +1 -0
- package/dist/src/views/components/BadgePage.d.ts +3 -0
- package/dist/src/views/components/BadgePage.d.ts.map +1 -0
- package/dist/src/views/components/BannerPage.d.ts +3 -0
- package/dist/src/views/components/BannerPage.d.ts.map +1 -0
- package/dist/src/views/components/BreadcrumbPage.d.ts +3 -0
- package/dist/src/views/components/BreadcrumbPage.d.ts.map +1 -0
- package/dist/src/views/components/ButtonPage.d.ts +3 -0
- package/dist/src/views/components/ButtonPage.d.ts.map +1 -0
- package/dist/src/views/components/CloudinaryImagePage.d.ts +3 -0
- package/dist/src/views/components/CloudinaryImagePage.d.ts.map +1 -0
- package/dist/src/views/components/LoadingPage.d.ts +3 -0
- package/dist/src/views/components/LoadingPage.d.ts.map +1 -0
- package/dist/src/views/components/MenuPage.d.ts +3 -0
- package/dist/src/views/components/MenuPage.d.ts.map +1 -0
- package/dist/src/views/components/ModalPage.d.ts +3 -0
- package/dist/src/views/components/ModalPage.d.ts.map +1 -0
- package/dist/src/views/components/ProgressPage.d.ts +3 -0
- package/dist/src/views/components/ProgressPage.d.ts.map +1 -0
- package/dist/src/views/components/RichTextInputPage.d.ts +3 -0
- package/dist/src/views/components/RichTextInputPage.d.ts.map +1 -0
- package/dist/src/views/components/TablePage.d.ts +3 -0
- package/dist/src/views/components/TablePage.d.ts.map +1 -0
- package/dist/src/views/components/TextInputPage.d.ts +3 -0
- package/dist/src/views/components/TextInputPage.d.ts.map +1 -0
- package/dist/src/views/components/TransitionPage.d.ts +3 -0
- package/dist/src/views/components/TransitionPage.d.ts.map +1 -0
- package/dist/src/views/examples/CheckoutFormExample.d.ts +3 -0
- package/dist/src/views/examples/CheckoutFormExample.d.ts.map +1 -0
- package/dist/src/views/examples/ContactFormExample.d.ts +3 -0
- package/dist/src/views/examples/ContactFormExample.d.ts.map +1 -0
- package/dist/src/views/examples/RegistrationFormExample.d.ts +3 -0
- package/dist/src/views/examples/RegistrationFormExample.d.ts.map +1 -0
- package/dist/src/views/examples/SettingsFormExample.d.ts +3 -0
- package/dist/src/views/examples/SettingsFormExample.d.ts.map +1 -0
- package/dist/src/views/forms/ValidationPage.d.ts +3 -0
- package/dist/src/views/forms/ValidationPage.d.ts.map +1 -0
- package/dist/src/views/inputs/CheckboxPage.d.ts +3 -0
- package/dist/src/views/inputs/CheckboxPage.d.ts.map +1 -0
- package/dist/src/views/inputs/ComboboxPage.d.ts +3 -0
- package/dist/src/views/inputs/ComboboxPage.d.ts.map +1 -0
- package/dist/src/views/inputs/DatepickerPage.d.ts +3 -0
- package/dist/src/views/inputs/DatepickerPage.d.ts.map +1 -0
- package/dist/src/views/inputs/EmailPage.d.ts +3 -0
- package/dist/src/views/inputs/EmailPage.d.ts.map +1 -0
- package/dist/src/views/inputs/FileDropzonePage.d.ts +3 -0
- package/dist/src/views/inputs/FileDropzonePage.d.ts.map +1 -0
- package/dist/src/views/inputs/MiscInputsPage.d.ts +3 -0
- package/dist/src/views/inputs/MiscInputsPage.d.ts.map +1 -0
- package/dist/src/views/inputs/PhonePage.d.ts +3 -0
- package/dist/src/views/inputs/PhonePage.d.ts.map +1 -0
- package/dist/src/views/inputs/SelectPage.d.ts +3 -0
- package/dist/src/views/inputs/SelectPage.d.ts.map +1 -0
- package/dist/src/views/inputs/SelectTextPage.d.ts +3 -0
- package/dist/src/views/inputs/SelectTextPage.d.ts.map +1 -0
- package/dist/src/views/inputs/SwitchGroupPage.d.ts +3 -0
- package/dist/src/views/inputs/SwitchGroupPage.d.ts.map +1 -0
- package/dist/src/views/inputs/SwitchPage.d.ts +3 -0
- package/dist/src/views/inputs/SwitchPage.d.ts.map +1 -0
- package/dist/src/views/inputs/TextAreaPage.d.ts +3 -0
- package/dist/src/views/inputs/TextAreaPage.d.ts.map +1 -0
- package/dist/src/views/layouts/CardLayoutPage.d.ts +3 -0
- package/dist/src/views/layouts/CardLayoutPage.d.ts.map +1 -0
- package/dist/src/views/layouts/DashboardLayoutPage.d.ts +3 -0
- package/dist/src/views/layouts/DashboardLayoutPage.d.ts.map +1 -0
- package/dist/src/views/layouts/HeaderLayoutPage.d.ts +3 -0
- package/dist/src/views/layouts/HeaderLayoutPage.d.ts.map +1 -0
- package/dist/src/views/layouts/SidebarLayoutPage.d.ts +3 -0
- package/dist/src/views/layouts/SidebarLayoutPage.d.ts.map +1 -0
- package/dist/stepper/StepperPanels.d.ts +1 -3
- package/dist/stepper/StepperPanels.js +1 -1
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/tabs/InlineTabs.d.ts +1 -3
- package/dist/tabs/InlineTabs.js +1 -1
- package/dist/tabs/TabGroup.d.ts +1 -3
- package/dist/tabs/TabGroup.js +1 -1
- package/dist/tabs/TabGroupUnderline.d.ts +1 -3
- package/dist/tabs/TabGroupUnderline.js +1 -1
- package/dist/tabs/TabsInPills.d.ts +1 -3
- package/dist/tabs/TabsInPills.js +1 -1
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +4 -4
- package/dist/{tabs-Da32Mbhf.js → tabs-J5phClGv.js} +2 -2
- package/dist/{tabs-Da32Mbhf.js.map → tabs-J5phClGv.js.map} +1 -1
- package/dist/ui.css +1 -0
- package/dist/{use-outside-click-DNDV36Sc.js → use-outside-click-14T0Zn98.js} +3 -3
- package/dist/{use-outside-click-DNDV36Sc.js.map → use-outside-click-14T0Zn98.js.map} +1 -1
- package/dist/{use-tree-walker-BHCORE7u.js → use-tree-walker-Bo9gIb_K.js} +2 -2
- package/dist/{use-tree-walker-BHCORE7u.js.map → use-tree-walker-Bo9gIb_K.js.map} +1 -1
- package/dist/vue-router-B3K2xmg_.js +120 -0
- package/dist/vue-router-B3K2xmg_.js.map +1 -0
- package/dist/vue3-lottie.es-DT4qZE-F.js +7981 -0
- package/dist/{vue3-lottie.es-C_MDkNwR.js.map → vue3-lottie.es-DT4qZE-F.js.map} +1 -1
- package/dist/wrappers/BackgroundGradientWrapper.d.ts +1 -3
- package/dist/wrappers/BackgroundGradientWrapper.js +1 -1
- package/dist/wrappers/CardWrapper.d.ts +1 -3
- package/dist/wrappers/DisclosureWrapper.d.ts +1 -3
- package/dist/wrappers/DisclosureWrapper.js +1 -1
- package/dist/wrappers/FormErrorWrapper.d.ts +1 -3
- package/dist/wrappers/index.d.ts +1 -0
- package/dist/wrappers/index.js +2 -2
- package/package.json +26 -18
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js.map +0 -1
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js +0 -187
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js +0 -1315
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js.map +0 -1
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js +0 -253
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js.map +0 -1
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js.map +0 -1
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js +0 -122
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js +0 -36
- package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-2tAB9Hbx.js +0 -30
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js +0 -162
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js.map +0 -1
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js +0 -130
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js.map +0 -1
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js.map +0 -1
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js.map +0 -1
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js.map +0 -1
- package/dist/calendar-DyIP7WGv.js.map +0 -1
- package/dist/src/components/charts/BaseChart.d.ts +0 -81
- package/dist/src/components/charts/BaseChart.d.ts.map +0 -1
- package/dist/vue-router-BPbyZ7xA.js +0 -145
- package/dist/vue-router-BPbyZ7xA.js.map +0 -1
- package/dist/vue3-lottie.es-C_MDkNwR.js +0 -7976
|
@@ -1,13 +1,13 @@
|
|
|
1
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
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
|
|
3
|
+
import { w as le, a as ae, O as se, h as re, v as ne, N as Z, _ as q } from "./use-outside-click-14T0Zn98.js";
|
|
4
4
|
import { s as oe } from "./use-resolve-button-type-h6n-lm9q.js";
|
|
5
5
|
import { p as ue } from "./use-text-value-DKnkjK00.js";
|
|
6
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-
|
|
7
|
+
import { i as ce } from "./use-tree-walker-Bo9gIb_K.js";
|
|
8
8
|
import { t as pe, l as fe, i as E } from "./open-closed-JTEvYTg2.js";
|
|
9
9
|
import { o as p } from "./keyboard-Dd_2-cFu.js";
|
|
10
|
-
function ve(
|
|
10
|
+
function ve(l, g) {
|
|
11
11
|
return y(), P("svg", {
|
|
12
12
|
xmlns: "http://www.w3.org/2000/svg",
|
|
13
13
|
viewBox: "0 0 20 20",
|
|
@@ -18,57 +18,57 @@ function ve(a, g) {
|
|
|
18
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
19
|
]);
|
|
20
20
|
}
|
|
21
|
-
var me = ((
|
|
22
|
-
function be(
|
|
23
|
-
requestAnimationFrame(() => requestAnimationFrame(
|
|
21
|
+
var me = ((l) => (l[l.Open = 0] = "Open", l[l.Closed = 1] = "Closed", l))(me || {}), ge = ((l) => (l[l.Pointer = 0] = "Pointer", l[l.Other = 1] = "Other", l))(ge || {});
|
|
22
|
+
function be(l) {
|
|
23
|
+
requestAnimationFrame(() => requestAnimationFrame(l));
|
|
24
24
|
}
|
|
25
25
|
let z = Symbol("MenuContext");
|
|
26
|
-
function N(
|
|
26
|
+
function N(l) {
|
|
27
27
|
let g = X(z, null);
|
|
28
28
|
if (g === null) {
|
|
29
|
-
let c = new Error(`<${
|
|
29
|
+
let c = new Error(`<${l} /> is missing a parent <Menu /> component.`);
|
|
30
30
|
throw Error.captureStackTrace && Error.captureStackTrace(c, N), c;
|
|
31
31
|
}
|
|
32
32
|
return g;
|
|
33
33
|
}
|
|
34
|
-
let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "template" } }, setup(
|
|
35
|
-
let b = w(1), h = w(null), f = w(null), t = w([]), u = w(""),
|
|
36
|
-
function v(e = (
|
|
37
|
-
let
|
|
34
|
+
let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "template" } }, setup(l, { slots: g, attrs: c }) {
|
|
35
|
+
let b = w(1), h = w(null), f = w(null), t = w([]), u = w(""), s = w(null), d = w(1);
|
|
36
|
+
function v(e = (a) => a) {
|
|
37
|
+
let a = s.value !== null ? t.value[s.value] : null, r = se(e(t.value.slice()), (x) => m(x.dataRef.domRef)), o = a ? r.indexOf(a) : null;
|
|
38
38
|
return o === -1 && (o = null), { items: r, activeItemIndex: o };
|
|
39
39
|
}
|
|
40
|
-
let n = { menuState: b, buttonRef: h, itemsRef: f, items: t, searchQuery: u, activeItemIndex:
|
|
41
|
-
b.value = 1,
|
|
42
|
-
}, openMenu: () => b.value = 0, goToItem(e,
|
|
43
|
-
let o = v(), x = de(e === I.Specific ? { focus: I.Specific, id:
|
|
44
|
-
u.value = "",
|
|
40
|
+
let n = { menuState: b, buttonRef: h, itemsRef: f, items: t, searchQuery: u, activeItemIndex: s, activationTrigger: d, closeMenu: () => {
|
|
41
|
+
b.value = 1, s.value = null;
|
|
42
|
+
}, openMenu: () => b.value = 0, goToItem(e, a, r) {
|
|
43
|
+
let o = v(), x = de(e === I.Specific ? { focus: I.Specific, id: a } : { focus: e }, { resolveItems: () => o.items, resolveActiveIndex: () => o.activeItemIndex, resolveId: (i) => i.id, resolveDisabled: (i) => i.dataRef.disabled });
|
|
44
|
+
u.value = "", s.value = x, d.value = r ?? 1, t.value = o.items;
|
|
45
45
|
}, search(e) {
|
|
46
|
-
let
|
|
46
|
+
let a = u.value !== "" ? 0 : 1;
|
|
47
47
|
u.value += e.toLowerCase();
|
|
48
|
-
let r = (
|
|
49
|
-
o === -1 || o ===
|
|
48
|
+
let r = (s.value !== null ? t.value.slice(s.value + a).concat(t.value.slice(0, s.value + a)) : t.value).find((x) => x.dataRef.textValue.startsWith(u.value) && !x.dataRef.disabled), o = r ? t.value.indexOf(r) : -1;
|
|
49
|
+
o === -1 || o === s.value || (s.value = o, d.value = 1);
|
|
50
50
|
}, clearSearch() {
|
|
51
51
|
u.value = "";
|
|
52
|
-
}, registerItem(e,
|
|
53
|
-
let r = v((o) => [...o, { id: e, dataRef:
|
|
54
|
-
t.value = r.items,
|
|
52
|
+
}, registerItem(e, a) {
|
|
53
|
+
let r = v((o) => [...o, { id: e, dataRef: a }]);
|
|
54
|
+
t.value = r.items, s.value = r.activeItemIndex, d.value = 1;
|
|
55
55
|
}, unregisterItem(e) {
|
|
56
|
-
let
|
|
56
|
+
let a = v((r) => {
|
|
57
57
|
let o = r.findIndex((x) => x.id === e);
|
|
58
58
|
return o !== -1 && r.splice(o, 1), r;
|
|
59
59
|
});
|
|
60
|
-
t.value =
|
|
60
|
+
t.value = a.items, s.value = a.activeItemIndex, d.value = 1;
|
|
61
61
|
} };
|
|
62
|
-
return le([h, f], (e,
|
|
62
|
+
return le([h, f], (e, a) => {
|
|
63
63
|
var r;
|
|
64
|
-
n.closeMenu(),
|
|
64
|
+
n.closeMenu(), ae(a, re.Loose) || (e.preventDefault(), (r = m(h)) == null || r.focus());
|
|
65
65
|
}, k(() => b.value === 0)), G(z, n), pe(k(() => te(b.value, { 0: E.Open, 1: E.Closed }))), () => {
|
|
66
66
|
let e = { open: b.value === 0, close: n.closeMenu };
|
|
67
|
-
return O({ ourProps: {}, theirProps:
|
|
67
|
+
return O({ ourProps: {}, theirProps: l, slot: e, slots: g, attrs: c, name: "Menu" });
|
|
68
68
|
};
|
|
69
|
-
} }), xe = T({ name: "MenuButton", props: { disabled: { type: Boolean, default: !1 }, as: { type: [Object, String], default: "button" }, id: { type: String, default: null } }, setup(
|
|
69
|
+
} }), xe = T({ name: "MenuButton", props: { disabled: { type: Boolean, default: !1 }, as: { type: [Object, String], default: "button" }, id: { type: String, default: null } }, setup(l, { attrs: g, slots: c, expose: b }) {
|
|
70
70
|
var h;
|
|
71
|
-
let f = (h =
|
|
71
|
+
let f = (h = l.id) != null ? h : `headlessui-menu-button-${F()}`, t = N("MenuButton");
|
|
72
72
|
b({ el: t.buttonRef, $el: t.buttonRef });
|
|
73
73
|
function u(n) {
|
|
74
74
|
switch (n.key) {
|
|
@@ -88,7 +88,7 @@ let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "temp
|
|
|
88
88
|
break;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
function
|
|
91
|
+
function s(n) {
|
|
92
92
|
switch (n.key) {
|
|
93
93
|
case p.Space:
|
|
94
94
|
n.preventDefault();
|
|
@@ -96,7 +96,7 @@ let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "temp
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
function d(n) {
|
|
99
|
-
|
|
99
|
+
l.disabled || (t.menuState.value === 0 ? (t.closeMenu(), S(() => {
|
|
100
100
|
var e;
|
|
101
101
|
return (e = m(t.buttonRef)) == null ? void 0 : e.focus({ preventScroll: !0 });
|
|
102
102
|
})) : (n.preventDefault(), t.openMenu(), be(() => {
|
|
@@ -104,29 +104,29 @@ let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "temp
|
|
|
104
104
|
return (e = m(t.itemsRef)) == null ? void 0 : e.focus({ preventScroll: !0 });
|
|
105
105
|
})));
|
|
106
106
|
}
|
|
107
|
-
let v = oe(k(() => ({ as:
|
|
107
|
+
let v = oe(k(() => ({ as: l.as, type: g.type })), t.buttonRef);
|
|
108
108
|
return () => {
|
|
109
109
|
var n;
|
|
110
|
-
let e = { open: t.menuState.value === 0 }, { ...
|
|
111
|
-
return O({ ourProps: r, theirProps:
|
|
110
|
+
let e = { open: t.menuState.value === 0 }, { ...a } = l, 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: s, onClick: d };
|
|
111
|
+
return O({ ourProps: r, theirProps: a, slot: e, attrs: g, slots: c, name: "MenuButton" });
|
|
112
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(
|
|
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(l, { attrs: g, slots: c, expose: b }) {
|
|
114
114
|
var h;
|
|
115
|
-
let f = (h =
|
|
115
|
+
let f = (h = l.id) != null ? h : `headlessui-menu-items-${F()}`, t = N("MenuItems"), u = w(null);
|
|
116
116
|
b({ el: t.itemsRef, $el: t.itemsRef }), ce({ container: k(() => m(t.itemsRef)), enabled: k(() => t.menuState.value === 0), accept(e) {
|
|
117
117
|
return e.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : e.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
|
|
118
118
|
}, walk(e) {
|
|
119
119
|
e.setAttribute("role", "none");
|
|
120
120
|
} });
|
|
121
|
-
function
|
|
122
|
-
var
|
|
121
|
+
function s(e) {
|
|
122
|
+
var a;
|
|
123
123
|
switch (u.value && clearTimeout(u.value), e.key) {
|
|
124
124
|
case p.Space:
|
|
125
125
|
if (t.searchQuery.value !== "") return e.preventDefault(), e.stopPropagation(), t.search(e.key);
|
|
126
126
|
case p.Enter:
|
|
127
127
|
if (e.preventDefault(), e.stopPropagation(), t.activeItemIndex.value !== null) {
|
|
128
128
|
let r = t.items.value[t.activeItemIndex.value];
|
|
129
|
-
(
|
|
129
|
+
(a = m(r.dataRef.domRef)) == null || a.click();
|
|
130
130
|
}
|
|
131
131
|
t.closeMenu(), q(m(t.buttonRef));
|
|
132
132
|
break;
|
|
@@ -163,43 +163,43 @@ let he = T({ name: "Menu", props: { as: { type: [Object, String], default: "temp
|
|
|
163
163
|
}
|
|
164
164
|
let v = fe(), n = k(() => v !== null ? (v.value & E.Open) === E.Open : t.menuState.value === 0);
|
|
165
165
|
return () => {
|
|
166
|
-
var e,
|
|
167
|
-
let r = { open: t.menuState.value === 0 }, { ...o } =
|
|
166
|
+
var e, a;
|
|
167
|
+
let r = { open: t.menuState.value === 0 }, { ...o } = l, x = { "aria-activedescendant": t.activeItemIndex.value === null || (e = t.items.value[t.activeItemIndex.value]) == null ? void 0 : e.id, "aria-labelledby": (a = m(t.buttonRef)) == null ? void 0 : a.id, id: f, onKeydown: s, onKeyup: d, role: "menu", tabIndex: 0, ref: t.itemsRef };
|
|
168
168
|
return O({ ourProps: x, theirProps: o, slot: r, attrs: g, slots: c, features: U.RenderStrategy | U.Static, visible: n.value, name: "MenuItems" });
|
|
169
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(
|
|
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(l, { slots: g, attrs: c, expose: b }) {
|
|
171
171
|
var h;
|
|
172
|
-
let f = (h =
|
|
172
|
+
let f = (h = l.id) != null ? h : `headlessui-menu-item-${F()}`, t = N("MenuItem"), u = w(null);
|
|
173
173
|
b({ el: u, $el: u });
|
|
174
|
-
let
|
|
174
|
+
let s = k(() => t.activeItemIndex.value !== null ? t.items.value[t.activeItemIndex.value].id === f : !1), d = ue(u), v = k(() => ({ disabled: l.disabled, get textValue() {
|
|
175
175
|
return d();
|
|
176
176
|
}, domRef: u }));
|
|
177
177
|
H(() => t.registerItem(f, v)), J(() => t.unregisterItem(f)), W(() => {
|
|
178
|
-
t.menuState.value === 0 &&
|
|
178
|
+
t.menuState.value === 0 && s.value && t.activationTrigger.value !== 0 && S(() => {
|
|
179
179
|
var i, C;
|
|
180
180
|
return (C = (i = m(u)) == null ? void 0 : i.scrollIntoView) == null ? void 0 : C.call(i, { block: "nearest" });
|
|
181
181
|
});
|
|
182
182
|
});
|
|
183
183
|
function n(i) {
|
|
184
|
-
if (
|
|
184
|
+
if (l.disabled) return i.preventDefault();
|
|
185
185
|
t.closeMenu(), q(m(t.buttonRef));
|
|
186
186
|
}
|
|
187
187
|
function e() {
|
|
188
|
-
if (
|
|
188
|
+
if (l.disabled) return t.goToItem(I.Nothing);
|
|
189
189
|
t.goToItem(I.Specific, f);
|
|
190
190
|
}
|
|
191
|
-
let
|
|
191
|
+
let a = ie();
|
|
192
192
|
function r(i) {
|
|
193
|
-
|
|
193
|
+
a.update(i);
|
|
194
194
|
}
|
|
195
195
|
function o(i) {
|
|
196
|
-
|
|
196
|
+
a.wasMoved(i) && (l.disabled || s.value || t.goToItem(I.Specific, f, 0));
|
|
197
197
|
}
|
|
198
198
|
function x(i) {
|
|
199
|
-
|
|
199
|
+
a.wasMoved(i) && (l.disabled || s.value && t.goToItem(I.Nothing));
|
|
200
200
|
}
|
|
201
201
|
return () => {
|
|
202
|
-
let { disabled: i, ...C } =
|
|
202
|
+
let { disabled: i, ...C } = l, Q = { active: s.value, disabled: i, close: t.closeMenu };
|
|
203
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
204
|
};
|
|
205
205
|
} });
|
|
@@ -215,8 +215,8 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
215
215
|
disabled: { type: Boolean, default: !1 }
|
|
216
216
|
},
|
|
217
217
|
emits: ["item-click"],
|
|
218
|
-
setup(
|
|
219
|
-
const c =
|
|
218
|
+
setup(l, { emit: g }) {
|
|
219
|
+
const c = l, b = g, h = k(() => c.placement === "left" ? "sl-left-0" : "sl-right-0"), f = k(() => ({
|
|
220
220
|
auto: "sl-w-auto sl-min-w-[10rem]",
|
|
221
221
|
sm: "sl-w-40",
|
|
222
222
|
md: "sl-w-56",
|
|
@@ -224,15 +224,15 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
224
224
|
full: "sl-w-full"
|
|
225
225
|
})[c.width]), t = k(() => {
|
|
226
226
|
if (!c.items.length) return [];
|
|
227
|
-
const
|
|
227
|
+
const s = [];
|
|
228
228
|
let d = [];
|
|
229
229
|
for (const v of c.items)
|
|
230
|
-
d.push(v), v.dividerAfter && (
|
|
231
|
-
return d.length &&
|
|
232
|
-
}), u = (
|
|
233
|
-
|
|
230
|
+
d.push(v), v.dividerAfter && (s.push(d), d = []);
|
|
231
|
+
return d.length && s.push(d), s;
|
|
232
|
+
}), u = (s) => {
|
|
233
|
+
s.disabled || (s.action && s.action(), b("item-click", s));
|
|
234
234
|
};
|
|
235
|
-
return (
|
|
235
|
+
return (s, d) => (y(), B(M(he), {
|
|
236
236
|
as: "div",
|
|
237
237
|
class: "sl-relative sl-inline-block sl-text-left"
|
|
238
238
|
}, {
|
|
@@ -243,11 +243,11 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
243
243
|
class: _([
|
|
244
244
|
"sl-inline-flex sl-items-center sl-justify-center sl-rounded-lg sl-transition-colors",
|
|
245
245
|
l.disabled ? "sl-opacity-50 sl-cursor-not-allowed" : "sl-cursor-pointer",
|
|
246
|
-
!
|
|
246
|
+
!s.$slots.trigger && Me
|
|
247
247
|
])
|
|
248
248
|
}, {
|
|
249
249
|
default: R(() => [
|
|
250
|
-
$(
|
|
250
|
+
$(s.$slots, "trigger", {}, () => [
|
|
251
251
|
D(M(ve), {
|
|
252
252
|
class: "sl-h-5 sl-w-5",
|
|
253
253
|
"aria-hidden": "true"
|
|
@@ -282,15 +282,15 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
282
282
|
key: e.label,
|
|
283
283
|
disabled: e.disabled
|
|
284
284
|
}, {
|
|
285
|
-
default: R(({ active:
|
|
285
|
+
default: R(({ active: a, disabled: r }) => [
|
|
286
286
|
A("button", {
|
|
287
287
|
onClick: (o) => u(e),
|
|
288
288
|
class: _([
|
|
289
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
|
-
|
|
291
|
-
|
|
292
|
-
!
|
|
293
|
-
!
|
|
290
|
+
a && !e.danger ? "sl-bg-slate-100 dark:sl-bg-slate-700 sl-text-slate-900 dark:sl-text-white" : "",
|
|
291
|
+
a && e.danger ? "sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400" : "",
|
|
292
|
+
!a && e.danger ? "sl-text-red-600 dark:sl-text-red-400" : "",
|
|
293
|
+
!a && !e.danger ? "sl-text-slate-700 dark:sl-text-slate-200" : "",
|
|
294
294
|
r ? "sl-opacity-50 sl-cursor-not-allowed" : "sl-cursor-pointer"
|
|
295
295
|
])
|
|
296
296
|
}, [
|
|
@@ -298,10 +298,10 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
298
298
|
key: 0,
|
|
299
299
|
class: _([
|
|
300
300
|
"sl-h-4 sl-w-4 sl-flex-shrink-0",
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
!
|
|
304
|
-
!
|
|
301
|
+
a && !e.danger ? "sl-text-slate-500 dark:sl-text-slate-300" : "",
|
|
302
|
+
a && e.danger ? "sl-text-red-500 dark:sl-text-red-400" : "",
|
|
303
|
+
!a && e.danger ? "sl-text-red-400 dark:sl-text-red-500" : "",
|
|
304
|
+
!a && !e.danger ? "sl-text-slate-400 dark:sl-text-slate-500" : ""
|
|
305
305
|
]),
|
|
306
306
|
"aria-hidden": "true"
|
|
307
307
|
}, null, 8, ["class"])) : K("", !0),
|
|
@@ -312,7 +312,7 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
312
312
|
_: 2
|
|
313
313
|
}, 1032, ["disabled"]))), 128))
|
|
314
314
|
]))), 128)),
|
|
315
|
-
$(
|
|
315
|
+
$(s.$slots, "default")
|
|
316
316
|
]),
|
|
317
317
|
_: 3
|
|
318
318
|
}, 8, ["class"])
|
|
@@ -327,4 +327,4 @@ const we = ["onClick"], ye = { class: "sl-flex-1 sl-text-left" }, Se = {
|
|
|
327
327
|
export {
|
|
328
328
|
Ne as _
|
|
329
329
|
};
|
|
330
|
-
//# sourceMappingURL=UiMenu.vue_vue_type_script_setup_true_lang-
|
|
330
|
+
//# sourceMappingURL=UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js.map
|
|
@@ -1 +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":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.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","n","X","v","m","s","l","W","S","u","h","U","G","J","y","L","q","Y","D","P","Se","w","c","x","$","a","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","_normalizeClass","$slots","_renderSlot","EllipsisVerticalIcon","_Transition","MenuItems","_Fragment","_renderList","group","groupIndex","MenuItem","active","itemDisabled","$event","_resolveDynamicComponent","_hoisted_2","_toDisplayString","_hoisted_3"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
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
2
|
import h from "./components/Button.js";
|
|
3
3
|
import { S as B, h as g } from "./transition-_rPfnoET.js";
|
|
4
|
-
import { Y as T, G as $, V as N } from "./dialog-
|
|
4
|
+
import { Y as T, G as $, V as N } from "./dialog-BJ2Ld8l3.js";
|
|
5
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
6
|
__name: "UiModal",
|
|
7
7
|
props: {
|
|
@@ -42,8 +42,8 @@ const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto"
|
|
|
42
42
|
confirmTheme: { type: String, default: "primary" }
|
|
43
43
|
},
|
|
44
44
|
emits: ["update:modelValue", "cancel", "confirm"],
|
|
45
|
-
setup(m, { emit:
|
|
46
|
-
const s = m,
|
|
45
|
+
setup(m, { emit: v }) {
|
|
46
|
+
const s = m, _ = f(() => {
|
|
47
47
|
const l = {
|
|
48
48
|
sm: "24rem",
|
|
49
49
|
// 384px
|
|
@@ -81,7 +81,7 @@ const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto"
|
|
|
81
81
|
return {
|
|
82
82
|
maxWidth: l[s.size] || l.lg
|
|
83
83
|
};
|
|
84
|
-
}), n =
|
|
84
|
+
}), n = v, d = S(null), b = f(() => d.value), x = () => {
|
|
85
85
|
n("update:modelValue", !1), n("cancel");
|
|
86
86
|
}, k = () => {
|
|
87
87
|
n("confirm"), n("update:modelValue", !1);
|
|
@@ -107,11 +107,10 @@ const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto"
|
|
|
107
107
|
"leave-from": "opacity-100",
|
|
108
108
|
"leave-to": "opacity-0"
|
|
109
109
|
}, {
|
|
110
|
-
default: t(() => u[0] || (u[0] = [
|
|
110
|
+
default: t(() => [...u[0] || (u[0] = [
|
|
111
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]
|
|
112
|
+
])]),
|
|
113
|
+
_: 1
|
|
115
114
|
}),
|
|
116
115
|
e("div", j, [
|
|
117
116
|
e("div", {
|
|
@@ -129,7 +128,7 @@ const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto"
|
|
|
129
128
|
default: t(() => [
|
|
130
129
|
o(a($), {
|
|
131
130
|
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(
|
|
131
|
+
style: z(_.value)
|
|
133
132
|
}, {
|
|
134
133
|
default: t(() => [
|
|
135
134
|
e("div", F, [
|
|
@@ -211,4 +210,4 @@ const j = { class: "sl-fixed sl-inset-0 sl-z-10 sl-w-screen sl-overflow-y-auto"
|
|
|
211
210
|
export {
|
|
212
211
|
I as _
|
|
213
212
|
};
|
|
214
|
-
//# sourceMappingURL=UiModal.vue_vue_type_script_setup_true_lang-
|
|
213
|
+
//# sourceMappingURL=UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js.map
|
|
@@ -1 +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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"}
|
|
1
|
+
{"version":3,"file":"UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as R, toRefs as L, ref as u, watch as P, computed as d, createBlock as S, openBlock as v, mergeProps as U, unref as t, withCtx as j, createElementVNode as f, createElementBlock as D, createCommentVNode as T, renderSlot as l } from "vue";
|
|
2
|
-
import { u as V, a as z, b as q } from "./vue-router-
|
|
2
|
+
import { u as V, a as z, b as q } from "./vue-router-B3K2xmg_.js";
|
|
3
3
|
import F from "./components/Button.js";
|
|
4
4
|
const G = { class: "sl-flex sl-items-center sl-w-full" }, H = { class: "sl-flex sl-items-center sl-space-x-2 sl-flex-1" }, I = {
|
|
5
5
|
key: 0,
|
|
@@ -80,4 +80,4 @@ const G = { class: "sl-flex sl-items-center sl-w-full" }, H = { class: "sl-flex
|
|
|
80
80
|
export {
|
|
81
81
|
O as _
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=UiNavLink.vue_vue_type_script_setup_true_lang-
|
|
83
|
+
//# sourceMappingURL=UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js.map
|