@stachelock/ui 0.3.1 → 0.5.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-CkSUiLOH.js} +109 -108
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-CkSUiLOH.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-kEj-NYqm.js +1362 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-kEj-NYqm.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-7mcKkOWP.js +74 -0
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-7mcKkOWP.js.map +1 -0
- 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/NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js +110 -0
- package/dist/NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js.map +1 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js +238 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.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 +34 -36
- 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 +559 -565
- 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 +2 -22
- 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 +4 -4
- package/dist/src/components/CloudinaryImage.d.ts +7 -9
- package/dist/src/components/LottieAnimation.d.ts +6 -38
- package/dist/src/components/ThemeDebugModal.d.ts +6 -17
- package/dist/src/components/UiAvatar.d.ts +26 -37
- package/dist/src/components/UiBadge.d.ts +6 -34
- package/dist/src/components/UiBanner.d.ts +34 -108
- package/dist/src/components/UiBreadcrumb.d.ts +10 -12
- package/dist/src/components/UiButton.d.ts +13 -67
- package/dist/src/components/UiButtonGroup.d.ts +7 -38
- package/dist/src/components/UiCheckbox.d.ts +8 -34
- package/dist/src/components/UiLoading.d.ts +2 -29
- package/dist/src/components/UiLoadingDots.d.ts +1 -2
- package/dist/src/components/UiMenu.d.ts +4 -33
- package/dist/src/components/UiModal.d.ts +3 -3
- package/dist/src/components/UiNavLink.d.ts +6 -41
- package/dist/src/components/UiProgressBar.d.ts +3 -33
- package/dist/src/components/UiRadialProgressBar.d.ts +3 -35
- package/dist/src/components/UiTable.d.ts +25 -68
- package/dist/src/components/UiTransition.d.ts +3 -27
- package/dist/src/components/calendars/CalendarDashboard.d.ts +5 -18
- package/dist/src/components/calendars/CalendarHeader.d.ts +8 -8
- package/dist/src/components/calendars/DayCalendar.d.ts +11 -18
- package/dist/src/components/calendars/EventCard.d.ts +1 -3
- package/dist/src/components/calendars/EventsList.d.ts +6 -19
- package/dist/src/components/calendars/MonthCalendar.d.ts +6 -31
- package/dist/src/components/calendars/WeekCalendar.d.ts +10 -17
- package/dist/src/components/calendars/YearCalendar.d.ts +5 -30
- package/dist/src/components/calendars/index.d.ts +0 -1
- package/dist/src/components/charts/BarChart.d.ts +6 -40
- package/dist/src/components/charts/FunnelChart.d.ts +5 -35
- package/dist/src/components/charts/LineChart.d.ts +6 -38
- package/dist/src/components/charts/PieChart.d.ts +6 -38
- package/dist/src/components/charts/SparklineChart.d.ts +3 -33
- package/dist/src/components/charts/StatCard.d.ts +2 -25
- package/dist/src/components/charts/chartTheme.d.ts +0 -2
- package/dist/src/components/charts/index.d.ts +0 -1
- package/dist/src/components/empty-state/ComingSoon.d.ts +2 -30
- package/dist/src/components/empty-state/EmptyState.d.ts +4 -27
- package/dist/src/components/empty-state/index.d.ts +0 -1
- package/dist/src/components/forms/DynamicForm.d.ts +21 -48
- package/dist/src/components/forms/DynamicFormField.d.ts +8 -19
- package/dist/src/components/forms/FormFieldWrapper.d.ts +14 -59
- package/dist/src/components/forms/index.d.ts +0 -1
- package/dist/src/components/index.d.ts +0 -1
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts +3 -5
- package/dist/src/components/inputs/CheckboxInput.d.ts +10 -38
- package/dist/src/components/inputs/ComboboxInput.d.ts +13 -49
- package/dist/src/components/inputs/DatepickerInput.d.ts +1045 -43
- package/dist/src/components/inputs/EmailInput.d.ts +10 -55
- package/dist/src/components/inputs/EmptyInput.d.ts +2 -27
- package/dist/src/components/inputs/FileDropzoneInput.d.ts +8 -8
- package/dist/src/components/inputs/HiddenInput.d.ts +2 -24
- package/dist/src/components/inputs/InputsShowcase.d.ts +1 -2
- package/dist/src/components/inputs/PhoneInput.d.ts +79 -17
- package/dist/src/components/inputs/RichTextInput.d.ts +22 -81
- package/dist/src/components/inputs/SelectInput.d.ts +49 -43
- package/dist/src/components/inputs/SelectTextInput.d.ts +52 -13
- package/dist/src/components/inputs/SwitchInput.d.ts +115 -43
- package/dist/src/components/inputs/SwitchInputGroup.d.ts +2 -4
- package/dist/src/components/inputs/TagifyInput.d.ts +30 -21
- package/dist/src/components/inputs/TextAreaInput.d.ts +9 -36
- package/dist/src/components/inputs/TextInput.d.ts +13 -74
- package/dist/src/components/inputs/index.d.ts +0 -1
- package/dist/src/components/layouts/CardLayout.d.ts +20 -67
- package/dist/src/components/layouts/DashboardLayout.d.ts +8 -6
- package/dist/src/components/layouts/DefaultLayout.d.ts +1 -2
- package/dist/src/components/layouts/HeaderLayout.d.ts +4 -5
- package/dist/src/components/layouts/InfoCard.d.ts +2 -26
- package/dist/src/components/layouts/NavigationGroup.d.ts +5 -17
- package/dist/src/components/layouts/NavigationItem.d.ts +7 -25
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts +10 -41
- package/dist/src/components/layouts/ProjectLogo.d.ts +2 -34
- package/dist/src/components/layouts/PropsTable.d.ts +2 -24
- package/dist/src/components/layouts/ShowcaseCard.d.ts +2 -30
- package/dist/src/components/layouts/ShowcaseLayout.d.ts +5 -29
- package/dist/src/components/layouts/SidebarLayout.d.ts +7 -5
- package/dist/src/components/layouts/StateDisplay.d.ts +2 -24
- package/dist/src/components/layouts/index.d.ts +0 -1
- package/dist/src/components/loading/ContentSkeleton.d.ts +2 -32
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts +6 -48
- package/dist/src/components/loading/index.d.ts +0 -1
- package/dist/src/components/maps/GoogleMap.d.ts +7 -9
- package/dist/src/components/maps/UiInfoWindow.d.ts +229 -15
- package/dist/src/components/maps/UiMap.d.ts +5091 -102
- package/dist/src/components/maps/UiMapAll.d.ts +1130 -21
- package/dist/src/components/maps/UiMapMarker.d.ts +16 -18
- package/dist/src/components/maps/index.d.ts +0 -1
- package/dist/src/components/modals/AlertModal.d.ts +9 -11
- package/dist/src/components/modals/BaseModal.d.ts +6 -8
- package/dist/src/components/modals/ImageCropperModal.d.ts +379 -76
- package/dist/src/components/modals/index.d.ts +0 -1
- package/dist/src/components/notifications/NotificationContainer.d.ts +0 -1
- package/dist/src/components/notifications/NotificationToast.d.ts +9 -19
- package/dist/src/components/notifications/index.d.ts +0 -1
- package/dist/src/components/stepper/StepperPanels.d.ts +4 -15
- package/dist/src/components/stepper/index.d.ts +0 -1
- package/dist/src/components/tabs/InlineTabs.d.ts +4 -29
- package/dist/src/components/tabs/TabGroup.d.ts +6 -33
- package/dist/src/components/tabs/TabGroupUnderline.d.ts +6 -33
- package/dist/src/components/tabs/TabsInPills.d.ts +4 -27
- package/dist/src/components/tabs/index.d.ts +0 -1
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +2 -38
- package/dist/src/components/wrappers/CardWrapper.d.ts +1 -2
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts +2 -24
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts +2 -26
- package/dist/src/components/wrappers/index.d.ts +0 -1
- package/dist/src/composables/index.d.ts +0 -1
- package/dist/src/composables/useCalendar.d.ts +4 -6
- package/dist/src/composables/useEventSegments.d.ts +0 -1
- package/dist/src/composables/useFormValidation.d.ts +0 -2
- package/dist/src/composables/useMap.d.ts +0 -2
- package/dist/src/composables/useModal.d.ts +0 -1
- package/dist/src/composables/useNotifications.d.ts +1308 -31
- package/dist/src/composables/useSimpleTabs.d.ts +0 -2
- package/dist/src/composables/useStringTransform.d.ts +0 -2
- package/dist/src/composables/useTabs.d.ts +0 -2
- package/dist/src/composables/useTheme.d.ts +0 -1
- package/dist/src/config/css-variables.d.ts +0 -2
- package/dist/src/config/design-tokens.d.ts +1 -2
- package/dist/src/config/index.d.ts +0 -1
- package/dist/src/dev.d.ts +0 -2
- package/dist/src/index.d.ts +0 -1
- package/dist/src/plugin/configure.d.ts +0 -2
- package/dist/src/plugin/index.d.ts +0 -1
- package/dist/src/types/avatars.d.ts +0 -1
- package/dist/src/types/badges.d.ts +0 -1
- package/dist/src/types/calendars.d.ts +12 -12
- package/dist/src/types/core.d.ts +3 -5
- package/dist/src/types/form.d.ts +15 -14
- package/dist/src/types/forms.d.ts +2 -2
- package/dist/src/types/index.d.ts +0 -1
- package/dist/src/types/inputs.d.ts +14 -10
- package/dist/src/types/layouts.d.ts +0 -2
- package/dist/src/types/loading.d.ts +0 -1
- package/dist/src/types/maps.d.ts +0 -1
- package/dist/src/types/navigation.d.ts +2 -2
- package/dist/src/types/tables.d.ts +8 -7
- package/dist/src/types/tabs.d.ts +0 -1
- package/dist/src/types/transitions.d.ts +0 -1
- package/dist/src/types/ui.d.ts +1 -3
- package/dist/src/utils/calendar.d.ts +1 -2
- package/dist/src/utils/component-registry.d.ts +0 -2
- package/dist/src/utils/countryCodes.d.ts +0 -1
- package/dist/src/utils/id.d.ts +0 -1
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/utils/mapThemes.d.ts +0 -2
- package/dist/src/utils/phone.d.ts +0 -2
- package/dist/src/utils/transitions.d.ts +0 -1
- package/dist/src/views/ButtonsShowcase.d.ts +2 -0
- package/dist/src/views/CalendarsShowcase.d.ts +2 -0
- package/dist/src/views/CardsShowcase.d.ts +2 -0
- package/dist/src/views/ChartsShowcase.d.ts +2 -0
- package/dist/src/views/EmptyStatesShowcase.d.ts +2 -0
- package/dist/src/views/InputsShowcase.d.ts +2 -0
- package/dist/src/views/KitchenSink.d.ts +2 -0
- package/dist/src/views/LayoutsShowcase.d.ts +2 -0
- package/dist/src/views/LoadingShowcase.d.ts +2 -0
- package/dist/src/views/MapsShowcase.d.ts +2 -0
- package/dist/src/views/ModalsShowcase.d.ts +2 -0
- package/dist/src/views/NotificationsShowcase.d.ts +2 -0
- package/dist/src/views/StepperShowcase.d.ts +2 -0
- package/dist/src/views/TabsShowcase.d.ts +2 -0
- package/dist/src/views/ValidationDemo.d.ts +2 -0
- package/dist/src/views/WrappersShowcase.d.ts +2 -0
- package/dist/src/views/components/AvatarPage.d.ts +2 -0
- package/dist/src/views/components/BadgePage.d.ts +2 -0
- package/dist/src/views/components/BannerPage.d.ts +2 -0
- package/dist/src/views/components/BreadcrumbPage.d.ts +2 -0
- package/dist/src/views/components/ButtonPage.d.ts +2 -0
- package/dist/src/views/components/CloudinaryImagePage.d.ts +2 -0
- package/dist/src/views/components/LoadingPage.d.ts +2 -0
- package/dist/src/views/components/MenuPage.d.ts +2 -0
- package/dist/src/views/components/ModalPage.d.ts +2 -0
- package/dist/src/views/components/ProgressPage.d.ts +2 -0
- package/dist/src/views/components/RichTextInputPage.d.ts +2 -0
- package/dist/src/views/components/TablePage.d.ts +2 -0
- package/dist/src/views/components/TextInputPage.d.ts +2 -0
- package/dist/src/views/components/TransitionPage.d.ts +2 -0
- package/dist/src/views/components/index.d.ts +0 -1
- package/dist/src/views/examples/CheckoutFormExample.d.ts +2 -0
- package/dist/src/views/examples/ContactFormExample.d.ts +2 -0
- package/dist/src/views/examples/RegistrationFormExample.d.ts +2 -0
- package/dist/src/views/examples/SettingsFormExample.d.ts +2 -0
- package/dist/src/views/examples/index.d.ts +0 -1
- package/dist/src/views/forms/ValidationPage.d.ts +2 -0
- package/dist/src/views/forms/index.d.ts +0 -1
- package/dist/src/views/index.d.ts +0 -1
- package/dist/src/views/inputs/CheckboxPage.d.ts +2 -0
- package/dist/src/views/inputs/ComboboxPage.d.ts +2 -0
- package/dist/src/views/inputs/DatepickerPage.d.ts +2 -0
- package/dist/src/views/inputs/EmailPage.d.ts +2 -0
- package/dist/src/views/inputs/FileDropzonePage.d.ts +2 -0
- package/dist/src/views/inputs/MiscInputsPage.d.ts +2 -0
- package/dist/src/views/inputs/PhonePage.d.ts +2 -0
- package/dist/src/views/inputs/SelectPage.d.ts +2 -0
- package/dist/src/views/inputs/SelectTextPage.d.ts +2 -0
- package/dist/src/views/inputs/SwitchGroupPage.d.ts +2 -0
- package/dist/src/views/inputs/SwitchPage.d.ts +2 -0
- package/dist/src/views/inputs/TextAreaPage.d.ts +2 -0
- package/dist/src/views/inputs/index.d.ts +0 -1
- package/dist/src/views/layouts/CardLayoutPage.d.ts +2 -0
- package/dist/src/views/layouts/DashboardLayoutPage.d.ts +2 -0
- package/dist/src/views/layouts/HeaderLayoutPage.d.ts +2 -0
- package/dist/src/views/layouts/SidebarLayoutPage.d.ts +2 -0
- package/dist/src/views/layouts/index.d.ts +0 -1
- 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 +13 -1
- 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/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js +0 -74
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js.map +0 -1
- 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/CloudinaryImage.d.ts.map +0 -1
- package/dist/src/components/LottieAnimation.d.ts.map +0 -1
- package/dist/src/components/ThemeDebugModal.d.ts.map +0 -1
- package/dist/src/components/UiAvatar.d.ts.map +0 -1
- package/dist/src/components/UiBadge.d.ts.map +0 -1
- package/dist/src/components/UiBanner.d.ts.map +0 -1
- package/dist/src/components/UiBreadcrumb.d.ts.map +0 -1
- package/dist/src/components/UiButton.d.ts.map +0 -1
- package/dist/src/components/UiButtonGroup.d.ts.map +0 -1
- package/dist/src/components/UiCheckbox.d.ts.map +0 -1
- package/dist/src/components/UiLoading.d.ts.map +0 -1
- package/dist/src/components/UiLoadingDots.d.ts.map +0 -1
- package/dist/src/components/UiMenu.d.ts.map +0 -1
- package/dist/src/components/UiModal.d.ts.map +0 -1
- package/dist/src/components/UiNavLink.d.ts.map +0 -1
- package/dist/src/components/UiProgressBar.d.ts.map +0 -1
- package/dist/src/components/UiRadialProgressBar.d.ts.map +0 -1
- package/dist/src/components/UiTable.d.ts.map +0 -1
- package/dist/src/components/UiTransition.d.ts.map +0 -1
- package/dist/src/components/calendars/CalendarDashboard.d.ts.map +0 -1
- package/dist/src/components/calendars/CalendarHeader.d.ts.map +0 -1
- package/dist/src/components/calendars/DayCalendar.d.ts.map +0 -1
- package/dist/src/components/calendars/EventCard.d.ts.map +0 -1
- package/dist/src/components/calendars/EventsList.d.ts.map +0 -1
- package/dist/src/components/calendars/MonthCalendar.d.ts.map +0 -1
- package/dist/src/components/calendars/WeekCalendar.d.ts.map +0 -1
- package/dist/src/components/calendars/YearCalendar.d.ts.map +0 -1
- package/dist/src/components/calendars/index.d.ts.map +0 -1
- package/dist/src/components/charts/BarChart.d.ts.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/src/components/charts/FunnelChart.d.ts.map +0 -1
- package/dist/src/components/charts/LineChart.d.ts.map +0 -1
- package/dist/src/components/charts/PieChart.d.ts.map +0 -1
- package/dist/src/components/charts/SparklineChart.d.ts.map +0 -1
- package/dist/src/components/charts/StatCard.d.ts.map +0 -1
- package/dist/src/components/charts/chartTheme.d.ts.map +0 -1
- package/dist/src/components/charts/index.d.ts.map +0 -1
- package/dist/src/components/empty-state/ComingSoon.d.ts.map +0 -1
- package/dist/src/components/empty-state/EmptyState.d.ts.map +0 -1
- package/dist/src/components/empty-state/index.d.ts.map +0 -1
- package/dist/src/components/forms/DynamicForm.d.ts.map +0 -1
- package/dist/src/components/forms/DynamicFormField.d.ts.map +0 -1
- package/dist/src/components/forms/FormFieldWrapper.d.ts.map +0 -1
- package/dist/src/components/forms/index.d.ts.map +0 -1
- package/dist/src/components/index.d.ts.map +0 -1
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts.map +0 -1
- package/dist/src/components/inputs/CheckboxInput.d.ts.map +0 -1
- package/dist/src/components/inputs/ComboboxInput.d.ts.map +0 -1
- package/dist/src/components/inputs/DatepickerInput.d.ts.map +0 -1
- package/dist/src/components/inputs/EmailInput.d.ts.map +0 -1
- package/dist/src/components/inputs/EmptyInput.d.ts.map +0 -1
- package/dist/src/components/inputs/FileDropzoneInput.d.ts.map +0 -1
- package/dist/src/components/inputs/HiddenInput.d.ts.map +0 -1
- package/dist/src/components/inputs/InputsShowcase.d.ts.map +0 -1
- package/dist/src/components/inputs/PhoneInput.d.ts.map +0 -1
- package/dist/src/components/inputs/RichTextInput.d.ts.map +0 -1
- package/dist/src/components/inputs/SelectInput.d.ts.map +0 -1
- package/dist/src/components/inputs/SelectTextInput.d.ts.map +0 -1
- package/dist/src/components/inputs/SwitchInput.d.ts.map +0 -1
- package/dist/src/components/inputs/SwitchInputGroup.d.ts.map +0 -1
- package/dist/src/components/inputs/TagifyInput.d.ts.map +0 -1
- package/dist/src/components/inputs/TextAreaInput.d.ts.map +0 -1
- package/dist/src/components/inputs/TextInput.d.ts.map +0 -1
- package/dist/src/components/inputs/index.d.ts.map +0 -1
- package/dist/src/components/layouts/CardLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/DashboardLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/DefaultLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/HeaderLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/InfoCard.d.ts.map +0 -1
- package/dist/src/components/layouts/NavigationGroup.d.ts.map +0 -1
- package/dist/src/components/layouts/NavigationItem.d.ts.map +0 -1
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts.map +0 -1
- package/dist/src/components/layouts/ProjectLogo.d.ts.map +0 -1
- package/dist/src/components/layouts/PropsTable.d.ts.map +0 -1
- package/dist/src/components/layouts/ShowcaseCard.d.ts.map +0 -1
- package/dist/src/components/layouts/ShowcaseLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/SidebarLayout.d.ts.map +0 -1
- package/dist/src/components/layouts/StateDisplay.d.ts.map +0 -1
- package/dist/src/components/layouts/index.d.ts.map +0 -1
- package/dist/src/components/loading/ContentSkeleton.d.ts.map +0 -1
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts.map +0 -1
- package/dist/src/components/loading/index.d.ts.map +0 -1
- package/dist/src/components/maps/GoogleMap.d.ts.map +0 -1
- package/dist/src/components/maps/UiInfoWindow.d.ts.map +0 -1
- package/dist/src/components/maps/UiMap.d.ts.map +0 -1
- package/dist/src/components/maps/UiMapAll.d.ts.map +0 -1
- package/dist/src/components/maps/UiMapMarker.d.ts.map +0 -1
- package/dist/src/components/maps/index.d.ts.map +0 -1
- package/dist/src/components/modals/AlertModal.d.ts.map +0 -1
- package/dist/src/components/modals/BaseModal.d.ts.map +0 -1
- package/dist/src/components/modals/ImageCropperModal.d.ts.map +0 -1
- package/dist/src/components/modals/index.d.ts.map +0 -1
- package/dist/src/components/notifications/NotificationContainer.d.ts.map +0 -1
- package/dist/src/components/notifications/NotificationToast.d.ts.map +0 -1
- package/dist/src/components/notifications/index.d.ts.map +0 -1
- package/dist/src/components/stepper/StepperPanels.d.ts.map +0 -1
- package/dist/src/components/stepper/index.d.ts.map +0 -1
- package/dist/src/components/tabs/InlineTabs.d.ts.map +0 -1
- package/dist/src/components/tabs/TabGroup.d.ts.map +0 -1
- package/dist/src/components/tabs/TabGroupUnderline.d.ts.map +0 -1
- package/dist/src/components/tabs/TabsInPills.d.ts.map +0 -1
- package/dist/src/components/tabs/index.d.ts.map +0 -1
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts.map +0 -1
- package/dist/src/components/wrappers/CardWrapper.d.ts.map +0 -1
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts.map +0 -1
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts.map +0 -1
- package/dist/src/components/wrappers/index.d.ts.map +0 -1
- package/dist/src/composables/index.d.ts.map +0 -1
- package/dist/src/composables/useCalendar.d.ts.map +0 -1
- package/dist/src/composables/useEventSegments.d.ts.map +0 -1
- package/dist/src/composables/useFormValidation.d.ts.map +0 -1
- package/dist/src/composables/useMap.d.ts.map +0 -1
- package/dist/src/composables/useModal.d.ts.map +0 -1
- package/dist/src/composables/useNotifications.d.ts.map +0 -1
- package/dist/src/composables/useSimpleTabs.d.ts.map +0 -1
- package/dist/src/composables/useStringTransform.d.ts.map +0 -1
- package/dist/src/composables/useTabs.d.ts.map +0 -1
- package/dist/src/composables/useTheme.d.ts.map +0 -1
- package/dist/src/config/css-variables.d.ts.map +0 -1
- package/dist/src/config/design-tokens.d.ts.map +0 -1
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/dev.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/plugin/configure.d.ts.map +0 -1
- package/dist/src/plugin/index.d.ts.map +0 -1
- package/dist/src/types/avatars.d.ts.map +0 -1
- package/dist/src/types/badges.d.ts.map +0 -1
- package/dist/src/types/calendars.d.ts.map +0 -1
- package/dist/src/types/core.d.ts.map +0 -1
- package/dist/src/types/form.d.ts.map +0 -1
- package/dist/src/types/forms.d.ts.map +0 -1
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/inputs.d.ts.map +0 -1
- package/dist/src/types/layouts.d.ts.map +0 -1
- package/dist/src/types/loading.d.ts.map +0 -1
- package/dist/src/types/maps.d.ts.map +0 -1
- package/dist/src/types/navigation.d.ts.map +0 -1
- package/dist/src/types/tables.d.ts.map +0 -1
- package/dist/src/types/tabs.d.ts.map +0 -1
- package/dist/src/types/transitions.d.ts.map +0 -1
- package/dist/src/types/ui.d.ts.map +0 -1
- package/dist/src/utils/calendar.d.ts.map +0 -1
- package/dist/src/utils/component-registry.d.ts.map +0 -1
- package/dist/src/utils/countryCodes.d.ts.map +0 -1
- package/dist/src/utils/id.d.ts.map +0 -1
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/mapThemes.d.ts.map +0 -1
- package/dist/src/utils/phone.d.ts.map +0 -1
- package/dist/src/utils/transitions.d.ts.map +0 -1
- package/dist/src/views/components/index.d.ts.map +0 -1
- package/dist/src/views/examples/index.d.ts.map +0 -1
- package/dist/src/views/forms/index.d.ts.map +0 -1
- package/dist/src/views/index.d.ts.map +0 -1
- package/dist/src/views/inputs/index.d.ts.map +0 -1
- package/dist/src/views/layouts/index.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
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { defineComponent as h, computed as m, createBlock as l, openBlock as o, Teleport as k, createElementBlock as i, createCommentVNode as u, Fragment as a, renderList as d } from "vue";
|
|
2
|
+
import { useNotifications as y } from "./composables/useNotifications.js";
|
|
3
|
+
import { _ as f } from "./NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js";
|
|
4
|
+
const g = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "sl-notifications-position sl-notifications-tl"
|
|
7
|
+
}, C = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "sl-notifications-position sl-notifications-tc"
|
|
10
|
+
}, A = {
|
|
11
|
+
key: 2,
|
|
12
|
+
class: "sl-notifications-position sl-notifications-tr"
|
|
13
|
+
}, N = {
|
|
14
|
+
key: 3,
|
|
15
|
+
class: "sl-notifications-position sl-notifications-bl"
|
|
16
|
+
}, B = {
|
|
17
|
+
key: 4,
|
|
18
|
+
class: "sl-notifications-position sl-notifications-bc"
|
|
19
|
+
}, T = {
|
|
20
|
+
key: 5,
|
|
21
|
+
class: "sl-notifications-position sl-notifications-br"
|
|
22
|
+
}, P = /* @__PURE__ */ h({
|
|
23
|
+
__name: "NotificationContainer",
|
|
24
|
+
setup(x) {
|
|
25
|
+
const {
|
|
26
|
+
activeNotifications: p,
|
|
27
|
+
hideNotification: _,
|
|
28
|
+
executeAction: v,
|
|
29
|
+
bringToFront: b
|
|
30
|
+
} = y(), n = m(() => {
|
|
31
|
+
const e = {
|
|
32
|
+
tl: [],
|
|
33
|
+
tc: [],
|
|
34
|
+
tr: [],
|
|
35
|
+
bl: [],
|
|
36
|
+
bc: [],
|
|
37
|
+
br: []
|
|
38
|
+
};
|
|
39
|
+
for (const s of p.value) {
|
|
40
|
+
const t = s.position || "br";
|
|
41
|
+
e[t].push(s);
|
|
42
|
+
}
|
|
43
|
+
return e;
|
|
44
|
+
}), c = (e) => {
|
|
45
|
+
_(e);
|
|
46
|
+
}, r = (e, s) => {
|
|
47
|
+
if (s.label === "bringToFront") {
|
|
48
|
+
b(e.id);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
v(e.id, s), s.action !== "dismiss" && !e.sticky && setTimeout(() => {
|
|
52
|
+
_(e);
|
|
53
|
+
}, 100);
|
|
54
|
+
};
|
|
55
|
+
return (e, s) => (o(), l(k, { to: "body" }, [
|
|
56
|
+
n.value.tl.length > 0 ? (o(), i("div", g, [
|
|
57
|
+
(o(!0), i(a, null, d(n.value.tl, (t) => (o(), l(f, {
|
|
58
|
+
key: t.id,
|
|
59
|
+
notification: t,
|
|
60
|
+
onClose: c,
|
|
61
|
+
onAction: r
|
|
62
|
+
}, null, 8, ["notification"]))), 128))
|
|
63
|
+
])) : u("", !0),
|
|
64
|
+
n.value.tc.length > 0 ? (o(), i("div", C, [
|
|
65
|
+
(o(!0), i(a, null, d(n.value.tc, (t) => (o(), l(f, {
|
|
66
|
+
key: t.id,
|
|
67
|
+
notification: t,
|
|
68
|
+
onClose: c,
|
|
69
|
+
onAction: r
|
|
70
|
+
}, null, 8, ["notification"]))), 128))
|
|
71
|
+
])) : u("", !0),
|
|
72
|
+
n.value.tr.length > 0 ? (o(), i("div", A, [
|
|
73
|
+
(o(!0), i(a, null, d(n.value.tr, (t) => (o(), l(f, {
|
|
74
|
+
key: t.id,
|
|
75
|
+
notification: t,
|
|
76
|
+
onClose: c,
|
|
77
|
+
onAction: r
|
|
78
|
+
}, null, 8, ["notification"]))), 128))
|
|
79
|
+
])) : u("", !0),
|
|
80
|
+
n.value.bl.length > 0 ? (o(), i("div", N, [
|
|
81
|
+
(o(!0), i(a, null, d(n.value.bl, (t) => (o(), l(f, {
|
|
82
|
+
key: t.id,
|
|
83
|
+
notification: t,
|
|
84
|
+
onClose: c,
|
|
85
|
+
onAction: r
|
|
86
|
+
}, null, 8, ["notification"]))), 128))
|
|
87
|
+
])) : u("", !0),
|
|
88
|
+
n.value.bc.length > 0 ? (o(), i("div", B, [
|
|
89
|
+
(o(!0), i(a, null, d(n.value.bc, (t) => (o(), l(f, {
|
|
90
|
+
key: t.id,
|
|
91
|
+
notification: t,
|
|
92
|
+
onClose: c,
|
|
93
|
+
onAction: r
|
|
94
|
+
}, null, 8, ["notification"]))), 128))
|
|
95
|
+
])) : u("", !0),
|
|
96
|
+
n.value.br.length > 0 ? (o(), i("div", T, [
|
|
97
|
+
(o(!0), i(a, null, d(n.value.br, (t) => (o(), l(f, {
|
|
98
|
+
key: t.id,
|
|
99
|
+
notification: t,
|
|
100
|
+
onClose: c,
|
|
101
|
+
onAction: r
|
|
102
|
+
}, null, 8, ["notification"]))), 128))
|
|
103
|
+
])) : u("", !0)
|
|
104
|
+
]));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
export {
|
|
108
|
+
P as _
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js","sources":["../src/components/notifications/NotificationContainer.vue"],"sourcesContent":["<!--\n @component NotificationContainer\n @description Container for rendering all active notifications with proper positioning\n \n Place this component once at the root of your app to enable the notification\n system. It automatically renders all active notifications from the useNotifications\n composable with support for stacking, positioning, and actions.\n \n ## Features\n - Automatic notification stacking with offset calculation\n - Position-aware containers (6 positions: tr, tl, tc, br, bl, bc)\n - Card stacking mode for many notifications\n - Action button handling (dismiss, link, callback)\n - Pause/resume support\n - Works with importing packages (teleports to body)\n \n @example\n // In App.vue or main layout\n <template>\n <div id=\"app\">\n <RouterView />\n <NotificationContainer />\n </div>\n </template>\n \n @example\n // Using notifications in any component\n <script setup>\n import { useNotifications } from '@stachelock/ui'\n \n const { success, error, showNotification } = useNotifications()\n \n // Simple notifications\n success('Saved!', 'Your changes were saved successfully.')\n error('Error', 'Something went wrong.')\n \n // With actions\n showNotification({\n title: 'Confirm Delete',\n message: 'Are you sure you want to delete this item?',\n theme: 'warning',\n autoClose: false,\n actions: [\n { label: 'Delete', action: 'callback', callback: () => deleteItem(), theme: 'danger' },\n { label: 'Cancel', action: 'dismiss' }\n ]\n })\n </script>\n-->\n<template>\n <Teleport to=\"body\">\n <!-- Top Left -->\n <div \n v-if=\"notificationsByPosition.tl.length > 0\"\n class=\"sl-notifications-position sl-notifications-tl\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.tl\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n\n <!-- Top Center -->\n <div \n v-if=\"notificationsByPosition.tc.length > 0\"\n class=\"sl-notifications-position sl-notifications-tc\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.tc\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n\n <!-- Top Right -->\n <div \n v-if=\"notificationsByPosition.tr.length > 0\"\n class=\"sl-notifications-position sl-notifications-tr\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.tr\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n\n <!-- Bottom Left -->\n <div \n v-if=\"notificationsByPosition.bl.length > 0\"\n class=\"sl-notifications-position sl-notifications-bl\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.bl\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n\n <!-- Bottom Center -->\n <div \n v-if=\"notificationsByPosition.bc.length > 0\"\n class=\"sl-notifications-position sl-notifications-bc\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.bc\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n\n <!-- Bottom Right (Default) -->\n <div \n v-if=\"notificationsByPosition.br.length > 0\"\n class=\"sl-notifications-position sl-notifications-br\"\n >\n <NotificationToast\n v-for=\"notification in notificationsByPosition.br\"\n :key=\"notification.id\"\n :notification=\"notification\"\n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n </div>\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * NotificationContainer - Global notification renderer with position-aware containers\n * \n * Renders all active notifications from the notification system, grouped by position.\n * Uses Teleport to render notifications at the body level for proper z-index.\n * \n * ## Setup\n * Add this component once in your app root:\n * ```vue\n * <template>\n * <div id=\"app\">\n * <YourContent />\n * <NotificationContainer />\n * </div>\n * </template>\n * ```\n * \n * ## Usage\n * Then use the composable anywhere:\n * ```typescript\n * import { useNotifications } from '@stachelock/ui'\n * \n * const { success, error, warning, info, showNotification } = useNotifications()\n * \n * // Simple notifications (defaults to bottom-right)\n * success('Saved!', 'Your changes were saved successfully.')\n * error('Error', 'Something went wrong.')\n * \n * // Position-specific notifications\n * showNotification({\n * title: 'Top Right',\n * message: 'This appears in the top right.',\n * position: 'tr'\n * })\n * \n * // Advanced notification with actions\n * showNotification({\n * title: 'Session Expiring',\n * message: 'Your session will expire in 5 minutes.',\n * theme: 'warning',\n * position: 'br',\n * priority: 'high',\n * autoClose: false,\n * actions: [\n * { label: 'Extend Session', action: 'callback', callback: extendSession, theme: 'primary' },\n * { label: 'Logout', action: 'callback', callback: logout, theme: 'secondary' }\n * ]\n * })\n * ```\n */\nimport { computed } from 'vue';\nimport { \n useNotifications, \n type NotificationState, \n type NotificationAction,\n type NotificationPosition\n} from '../../composables/useNotifications';\nimport NotificationToast from './NotificationToast.vue';\n\nconst { \n activeNotifications, \n hideNotification, \n executeAction, \n bringToFront \n} = useNotifications();\n\n// Group notifications by position\nconst notificationsByPosition = computed(() => {\n const groups: Record<NotificationPosition, NotificationState[]> = {\n tl: [],\n tc: [],\n tr: [],\n bl: [],\n bc: [],\n br: []\n };\n \n for (const notification of activeNotifications.value) {\n const pos = notification.position || 'br';\n groups[pos].push(notification);\n }\n \n return groups;\n});\n\nconst handleClose = (notification: NotificationState) => {\n hideNotification(notification);\n};\n\nconst handleAction = (notification: NotificationState, action: NotificationAction) => {\n // Handle special \"bring to front\" action for card stacking\n if (action.label === 'bringToFront') {\n bringToFront(notification.id);\n return;\n }\n \n // Execute the action\n executeAction(notification.id, action);\n \n // Auto-dismiss after callback/link actions unless sticky\n if (action.action !== 'dismiss' && !notification.sticky) {\n // Small delay to let any callback complete\n setTimeout(() => {\n hideNotification(notification);\n }, 100);\n }\n};\n</script>\n\n<style>\n/* Position containers - these are fixed positioned containers for each corner/edge */\n.sl-notifications-position {\n position: fixed;\n z-index: 9999;\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 24px;\n pointer-events: none;\n max-height: calc(100vh - 48px);\n overflow: visible;\n}\n\n/* Allow pointer events on individual notifications and set proper width */\n.sl-notifications-position > * {\n pointer-events: auto;\n width: 384px; /* max-w-sm equivalent */\n max-width: calc(100vw - 48px);\n}\n\n/* Top positions */\n.sl-notifications-tl {\n top: 0;\n left: 0;\n align-items: flex-start;\n}\n\n.sl-notifications-tc {\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n\n.sl-notifications-tr {\n top: 0;\n right: 0;\n align-items: flex-end;\n}\n\n/* Bottom positions - flex-direction reversed so new items appear at bottom */\n.sl-notifications-bl {\n bottom: 0;\n left: 0;\n align-items: flex-start;\n flex-direction: column-reverse;\n}\n\n.sl-notifications-bc {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n flex-direction: column-reverse;\n}\n\n.sl-notifications-br {\n bottom: 0;\n right: 0;\n align-items: flex-end;\n flex-direction: column-reverse;\n}\n\n/* Mobile adjustments */\n@media (max-width: 640px) {\n .sl-notifications-position {\n padding: 16px;\n left: 0;\n right: 0;\n }\n \n .sl-notifications-position > * {\n width: 100%;\n max-width: 100%;\n }\n \n .sl-notifications-tl,\n .sl-notifications-tc,\n .sl-notifications-tr {\n top: 0;\n align-items: stretch;\n }\n \n .sl-notifications-bl,\n .sl-notifications-bc,\n .sl-notifications-br {\n bottom: 0;\n align-items: stretch;\n }\n \n /* On mobile, center positions take full width */\n .sl-notifications-tc,\n .sl-notifications-bc {\n transform: none;\n }\n}\n</style>\n"],"names":["activeNotifications","hideNotification","executeAction","bringToFront","useNotifications","notificationsByPosition","computed","groups","notification","pos","handleClose","handleAction","action","_createBlock","_Teleport","_openBlock","_createElementBlock","_hoisted_1","_Fragment","_renderList","NotificationToast","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAqMA,UAAM;AAAA,MACJ,qBAAAA;AAAA,MACA,kBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,IAAA,IACEC,EAAA,GAGEC,IAA0BC,EAAS,MAAM;AAC7C,YAAMC,IAA4D;AAAA,QAChE,IAAI,CAAA;AAAA,QACJ,IAAI,CAAA;AAAA,QACJ,IAAI,CAAA;AAAA,QACJ,IAAI,CAAA;AAAA,QACJ,IAAI,CAAA;AAAA,QACJ,IAAI,CAAA;AAAA,MAAC;AAGP,iBAAWC,KAAgBR,EAAoB,OAAO;AACpD,cAAMS,IAAMD,EAAa,YAAY;AACrC,QAAAD,EAAOE,CAAG,EAAE,KAAKD,CAAY;AAAA,MAC/B;AAEA,aAAOD;AAAA,IACT,CAAC,GAEKG,IAAc,CAACF,MAAoC;AACvD,MAAAP,EAAiBO,CAAY;AAAA,IAC/B,GAEMG,IAAe,CAACH,GAAiCI,MAA+B;AAEpF,UAAIA,EAAO,UAAU,gBAAgB;AACnC,QAAAT,EAAaK,EAAa,EAAE;AAC5B;AAAA,MACF;AAGA,MAAAN,EAAcM,EAAa,IAAII,CAAM,GAGjCA,EAAO,WAAW,aAAa,CAACJ,EAAa,UAE/C,WAAW,MAAM;AACf,QAAAP,EAAiBO,CAAY;AAAA,MAC/B,GAAG,GAAG;AAAA,IAEV;2BAlMEK,EAoFWC,GAAA,EApFD,IAAG,UAAM;AAAA,MAGTT,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNC,GAWM;AAAA,SAPJF,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;MAMLN,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNK,GAWM;AAAA,SAPJN,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;MAMLN,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNM,GAWM;AAAA,SAPJP,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;MAMLN,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNO,GAWM;AAAA,SAPJR,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;MAMLN,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNQ,GAWM;AAAA,SAPJT,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;MAMLN,EAAA,MAAwB,GAAG,SAAM,KADzCU,KAAAC,EAWM,OAXNS,GAWM;AAAA,SAPJV,EAAA,EAAA,GAAAC,EAMEE,GAAA,MAAAC,EALuBd,EAAA,MAAwB,KAAxCG,YADTK,EAMEO,GAAA;AAAA,UAJC,KAAKZ,EAAa;AAAA,UAClB,cAAAA;AAAA,UACA,SAAOE;AAAA,UACP,UAAQC;AAAA,QAAA;;;;;"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { defineComponent as J, computed as e, createBlock as k, openBlock as r, unref as h, withCtx as v, createVNode as w, createElementBlock as o, createCommentVNode as c, normalizeStyle as K, normalizeClass as i, createElementVNode as d, resolveDynamicComponent as P, toDisplayString as y, Fragment as Q, renderList as U, withModifiers as C } from "vue";
|
|
2
|
+
import { r as g, a as Z } from "./InformationCircleIcon-B322GNIt.js";
|
|
3
|
+
import { r as $ } from "./ExclamationCircleIcon-DjxYk45_.js";
|
|
4
|
+
import { r as _ } from "./ExclamationTriangleIcon-BNKYmV_J.js";
|
|
5
|
+
import { r as tt } from "./XMarkIcon-DNvCkiOy.js";
|
|
6
|
+
import { S as st, h as et } from "./transition-_rPfnoET.js";
|
|
7
|
+
const lt = ["aria-live"], at = { class: "sl-flex sl-items-start" }, rt = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "sl-mt-3 sl-flex sl-gap-2"
|
|
10
|
+
}, it = ["onClick"], ft = /* @__PURE__ */ J({
|
|
11
|
+
__name: "NotificationToast",
|
|
12
|
+
props: {
|
|
13
|
+
notification: {}
|
|
14
|
+
},
|
|
15
|
+
emits: ["close", "action"],
|
|
16
|
+
setup(l, { emit: z }) {
|
|
17
|
+
const s = l, u = z, S = () => {
|
|
18
|
+
u("close", s.notification);
|
|
19
|
+
}, M = (t) => {
|
|
20
|
+
u("action", s.notification, t);
|
|
21
|
+
}, B = () => {
|
|
22
|
+
s.notification.isCardMode && s.notification.cardStackIndex !== 0 && u("action", s.notification, { label: "bringToFront", action: "callback" });
|
|
23
|
+
}, I = () => {
|
|
24
|
+
}, N = e(() => {
|
|
25
|
+
const t = {
|
|
26
|
+
primary: "sl-bg-primary-600 dark:sl-bg-primary-700 sl-text-white",
|
|
27
|
+
secondary: "sl-bg-gray-600 dark:sl-bg-gray-700 sl-text-white",
|
|
28
|
+
dark: "sl-bg-gray-800 dark:sl-bg-gray-900 sl-text-white",
|
|
29
|
+
light: "sl-bg-white dark:sl-bg-gray-800 sl-text-gray-800 dark:sl-text-gray-100 sl-border sl-border-gray-200 dark:sl-border-gray-700",
|
|
30
|
+
warning: "sl-bg-amber-500 dark:sl-bg-amber-600 sl-text-white",
|
|
31
|
+
danger: "sl-bg-red-500 dark:sl-bg-red-600 sl-text-white",
|
|
32
|
+
success: "sl-bg-emerald-500 dark:sl-bg-emerald-600 sl-text-white",
|
|
33
|
+
info: "sl-bg-blue-500 dark:sl-bg-blue-600 sl-text-white",
|
|
34
|
+
ghost: "sl-bg-white dark:sl-bg-gray-800 sl-text-gray-800 dark:sl-text-gray-100 sl-border sl-border-gray-200 dark:sl-border-gray-700"
|
|
35
|
+
};
|
|
36
|
+
return t[s.notification.theme] || t.primary;
|
|
37
|
+
}), O = e(() => {
|
|
38
|
+
const t = {
|
|
39
|
+
default: "",
|
|
40
|
+
compact: "",
|
|
41
|
+
expanded: ""
|
|
42
|
+
};
|
|
43
|
+
return t[s.notification.variant] || t.default;
|
|
44
|
+
}), T = e(() => s.notification.priority === "urgent" ? "sl-animate-pulse" : ""), A = e(() => {
|
|
45
|
+
const t = "sl-absolute sl-top-0 sl-left-0 sl-right-0 sl-h-1";
|
|
46
|
+
return s.notification.priority === "urgent" ? `${t} sl-bg-red-400 dark:sl-bg-red-500` : s.notification.priority === "high" ? `${t} sl-bg-amber-400 dark:sl-bg-amber-500` : "";
|
|
47
|
+
}), F = e(() => s.notification.isCardMode ? "sl-cursor-pointer hover:sl-scale-[1.02] sl-transition-transform" : ""), L = e(() => {
|
|
48
|
+
const t = {};
|
|
49
|
+
return s.notification.maxWidth && (t.maxWidth = `${s.notification.maxWidth}px`), s.notification.isCardMode && (t.transform = `translate(${s.notification.cardOffsetX || 0}px, ${s.notification.cardOffsetY || 0}px)`, t.zIndex = s.notification.zIndex || 1), t;
|
|
50
|
+
}), b = e(() => {
|
|
51
|
+
const t = s.notification.theme;
|
|
52
|
+
return ["light", "ghost"].includes(t) ? "sl-text-gray-800 dark:sl-text-gray-100" : "sl-text-white";
|
|
53
|
+
}), V = e(() => {
|
|
54
|
+
const t = s.notification.theme;
|
|
55
|
+
return ["light", "ghost"].includes(t) ? "sl-text-gray-500 dark:sl-text-gray-400" : "sl-text-white/90";
|
|
56
|
+
}), W = e(() => {
|
|
57
|
+
const t = {
|
|
58
|
+
primary: "focus:sl-ring-primary-400 dark:focus:sl-ring-primary-500",
|
|
59
|
+
secondary: "focus:sl-ring-gray-400 dark:focus:sl-ring-gray-500",
|
|
60
|
+
dark: "focus:sl-ring-gray-400 dark:focus:sl-ring-gray-500",
|
|
61
|
+
light: "focus:sl-ring-gray-300 dark:focus:sl-ring-gray-600",
|
|
62
|
+
warning: "focus:sl-ring-amber-300 dark:focus:sl-ring-amber-500",
|
|
63
|
+
danger: "focus:sl-ring-red-300 dark:focus:sl-ring-red-500",
|
|
64
|
+
success: "focus:sl-ring-emerald-300 dark:focus:sl-ring-emerald-500",
|
|
65
|
+
info: "focus:sl-ring-blue-300 dark:focus:sl-ring-blue-500",
|
|
66
|
+
ghost: "focus:sl-ring-gray-300 dark:focus:sl-ring-gray-600"
|
|
67
|
+
};
|
|
68
|
+
return t[s.notification.theme] || t.primary;
|
|
69
|
+
}), D = e(() => {
|
|
70
|
+
const t = s.notification.theme, a = "sl-ml-4 sl-inline-flex sl-rounded-md sl-opacity-70 hover:sl-opacity-100 focus:sl-outline-none focus:sl-ring-2 focus:sl-ring-offset-2 sl-transition-opacity", n = ["light", "ghost"].includes(t) ? "sl-text-gray-400 dark:sl-text-gray-500 hover:sl-text-gray-500 dark:hover:sl-text-gray-400" : "sl-text-white/70 hover:sl-text-white";
|
|
71
|
+
return `${a} ${n}`;
|
|
72
|
+
}), p = e(() => {
|
|
73
|
+
if (s.notification.icon)
|
|
74
|
+
return s.notification.icon;
|
|
75
|
+
const t = s.notification.theme, a = {
|
|
76
|
+
primary: g,
|
|
77
|
+
secondary: g,
|
|
78
|
+
dark: $,
|
|
79
|
+
light: g,
|
|
80
|
+
warning: _,
|
|
81
|
+
danger: $,
|
|
82
|
+
success: Z,
|
|
83
|
+
info: g,
|
|
84
|
+
ghost: g
|
|
85
|
+
};
|
|
86
|
+
return a[t] || a.primary;
|
|
87
|
+
}), E = e(() => {
|
|
88
|
+
const t = {
|
|
89
|
+
compact: "sl-h-5 sl-w-5",
|
|
90
|
+
default: "sl-h-6 sl-w-6",
|
|
91
|
+
expanded: "sl-h-7 sl-w-7"
|
|
92
|
+
};
|
|
93
|
+
return t[s.notification.variant] || t.default;
|
|
94
|
+
}), R = e(() => {
|
|
95
|
+
const t = {
|
|
96
|
+
compact: "sl-text-xs sl-font-medium",
|
|
97
|
+
default: "sl-text-sm sl-font-medium",
|
|
98
|
+
expanded: "sl-text-base sl-font-semibold"
|
|
99
|
+
};
|
|
100
|
+
return t[s.notification.variant] || t.default;
|
|
101
|
+
}), X = e(() => {
|
|
102
|
+
const t = {
|
|
103
|
+
compact: "sl-mt-0.5 sl-text-xs",
|
|
104
|
+
default: "sl-mt-1 sl-text-sm",
|
|
105
|
+
expanded: "sl-mt-2 sl-text-sm"
|
|
106
|
+
};
|
|
107
|
+
return t[s.notification.variant] || t.default;
|
|
108
|
+
}), Y = e(() => {
|
|
109
|
+
const t = {
|
|
110
|
+
compact: "sl-p-3",
|
|
111
|
+
default: "sl-p-4",
|
|
112
|
+
expanded: "sl-p-5"
|
|
113
|
+
};
|
|
114
|
+
return t[s.notification.variant] || t.default;
|
|
115
|
+
}), j = e(() => {
|
|
116
|
+
const t = {
|
|
117
|
+
compact: "sl-ml-2 sl-w-0 sl-flex-1",
|
|
118
|
+
default: "sl-ml-3 sl-w-0 sl-flex-1 sl-pt-0.5",
|
|
119
|
+
expanded: "sl-ml-4 sl-w-0 sl-flex-1 sl-pt-0.5"
|
|
120
|
+
};
|
|
121
|
+
return t[s.notification.variant] || t.default;
|
|
122
|
+
}), q = (t) => {
|
|
123
|
+
const a = "sl-rounded sl-px-2 sl-py-1 sl-text-xs sl-font-medium sl-transition-colors focus:sl-outline-none focus:sl-ring-2 focus:sl-ring-offset-1", n = s.notification.theme, f = ["light", "ghost"].includes(n), m = {
|
|
124
|
+
primary: {
|
|
125
|
+
light: "sl-bg-primary-100 sl-text-primary-700 hover:sl-bg-primary-200 dark:sl-bg-primary-800 dark:sl-text-primary-200 dark:hover:sl-bg-primary-700",
|
|
126
|
+
dark: "sl-bg-white/20 sl-text-white hover:sl-bg-white/30"
|
|
127
|
+
},
|
|
128
|
+
secondary: {
|
|
129
|
+
light: "sl-bg-gray-100 sl-text-gray-700 hover:sl-bg-gray-200 dark:sl-bg-gray-700 dark:sl-text-gray-200 dark:hover:sl-bg-gray-600",
|
|
130
|
+
dark: "sl-bg-white/20 sl-text-white hover:sl-bg-white/30"
|
|
131
|
+
},
|
|
132
|
+
danger: {
|
|
133
|
+
light: "sl-bg-red-100 sl-text-red-700 hover:sl-bg-red-200 dark:sl-bg-red-900 dark:sl-text-red-200 dark:hover:sl-bg-red-800",
|
|
134
|
+
dark: "sl-bg-white/20 sl-text-white hover:sl-bg-white/30"
|
|
135
|
+
}
|
|
136
|
+
}, H = t.theme || "secondary", x = m[H] || m.secondary;
|
|
137
|
+
return `${a} ${f ? x.light : x.dark}`;
|
|
138
|
+
}, G = e(() => {
|
|
139
|
+
const t = s.notification.position, a = {
|
|
140
|
+
tr: "sl-translate-x-full sl-opacity-0",
|
|
141
|
+
tl: "-sl-translate-x-full sl-opacity-0",
|
|
142
|
+
br: "sl-translate-x-full sl-opacity-0",
|
|
143
|
+
bl: "-sl-translate-x-full sl-opacity-0",
|
|
144
|
+
tc: "-sl-translate-y-full sl-opacity-0",
|
|
145
|
+
bc: "sl-translate-y-full sl-opacity-0"
|
|
146
|
+
};
|
|
147
|
+
return a[t] || a.br;
|
|
148
|
+
});
|
|
149
|
+
return (t, a) => (r(), k(h(st), {
|
|
150
|
+
appear: "",
|
|
151
|
+
show: l.notification.isOpen,
|
|
152
|
+
as: "template",
|
|
153
|
+
onAfterLeave: I
|
|
154
|
+
}, {
|
|
155
|
+
default: v(() => [
|
|
156
|
+
w(h(et), {
|
|
157
|
+
as: "template",
|
|
158
|
+
enter: "sl-duration-300 sl-ease-out sl-transform",
|
|
159
|
+
"enter-from": G.value,
|
|
160
|
+
"enter-to": "sl-translate-y-0 sl-opacity-100 sl-translate-x-0",
|
|
161
|
+
leave: "sl-duration-200 sl-ease-in",
|
|
162
|
+
"leave-from": "sl-opacity-100",
|
|
163
|
+
"leave-to": "sl-opacity-0"
|
|
164
|
+
}, {
|
|
165
|
+
default: v(() => [
|
|
166
|
+
l.notification.isOpen ? (r(), o("div", {
|
|
167
|
+
key: 0,
|
|
168
|
+
class: i([
|
|
169
|
+
N.value,
|
|
170
|
+
O.value,
|
|
171
|
+
T.value,
|
|
172
|
+
F.value,
|
|
173
|
+
"sl-pointer-events-auto sl-overflow-hidden sl-rounded-lg sl-shadow-lg sl-ring-1 sl-ring-black/5 dark:sl-ring-white/10 sl-transition-all sl-duration-200 sl-relative"
|
|
174
|
+
]),
|
|
175
|
+
style: K(L.value),
|
|
176
|
+
onClick: B,
|
|
177
|
+
role: "alert",
|
|
178
|
+
"aria-live": l.notification.priority === "urgent" ? "assertive" : "polite"
|
|
179
|
+
}, [
|
|
180
|
+
d("div", {
|
|
181
|
+
class: i(Y.value)
|
|
182
|
+
}, [
|
|
183
|
+
d("div", at, [
|
|
184
|
+
p.value ? (r(), k(P(p.value), {
|
|
185
|
+
key: 0,
|
|
186
|
+
class: i([E.value, V.value, "sl-flex-shrink-0"]),
|
|
187
|
+
"aria-hidden": "true"
|
|
188
|
+
}, null, 8, ["class"])) : c("", !0),
|
|
189
|
+
d("div", {
|
|
190
|
+
class: i(j.value)
|
|
191
|
+
}, [
|
|
192
|
+
d("p", {
|
|
193
|
+
class: i([R.value, b.value])
|
|
194
|
+
}, y(l.notification.title), 3),
|
|
195
|
+
l.notification.message ? (r(), o("p", {
|
|
196
|
+
key: 0,
|
|
197
|
+
class: i([X.value, b.value, "sl-opacity-90"])
|
|
198
|
+
}, y(l.notification.message), 3)) : c("", !0),
|
|
199
|
+
l.notification.actions && l.notification.actions.length > 0 ? (r(), o("div", rt, [
|
|
200
|
+
(r(!0), o(Q, null, U(l.notification.actions, (n, f) => (r(), o("button", {
|
|
201
|
+
key: f,
|
|
202
|
+
type: "button",
|
|
203
|
+
class: i(q(n)),
|
|
204
|
+
onClick: C((m) => M(n), ["stop"])
|
|
205
|
+
}, y(n.label), 11, it))), 128))
|
|
206
|
+
])) : c("", !0)
|
|
207
|
+
], 2),
|
|
208
|
+
l.notification.dismissible !== !1 ? (r(), o("button", {
|
|
209
|
+
key: 1,
|
|
210
|
+
type: "button",
|
|
211
|
+
onClick: C(S, ["stop"]),
|
|
212
|
+
class: i([D.value, W.value])
|
|
213
|
+
}, [
|
|
214
|
+
a[0] || (a[0] = d("span", { class: "sl-sr-only" }, "Close", -1)),
|
|
215
|
+
w(h(tt), {
|
|
216
|
+
class: "sl-h-5 sl-w-5",
|
|
217
|
+
"aria-hidden": "true"
|
|
218
|
+
})
|
|
219
|
+
], 2)) : c("", !0)
|
|
220
|
+
])
|
|
221
|
+
], 2),
|
|
222
|
+
l.notification.priority === "urgent" || l.notification.priority === "high" ? (r(), o("div", {
|
|
223
|
+
key: 0,
|
|
224
|
+
class: i(A.value)
|
|
225
|
+
}, null, 2)) : c("", !0)
|
|
226
|
+
], 14, lt)) : c("", !0)
|
|
227
|
+
]),
|
|
228
|
+
_: 1
|
|
229
|
+
}, 8, ["enter-from"])
|
|
230
|
+
]),
|
|
231
|
+
_: 1
|
|
232
|
+
}, 8, ["show"]));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
export {
|
|
236
|
+
ft as _
|
|
237
|
+
};
|
|
238
|
+
//# sourceMappingURL=NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js","sources":["../src/components/notifications/NotificationToast.vue"],"sourcesContent":["<!--\n @component NotificationToast\n @description Individual notification toast with animations, theming, and dark mode support\n \n Displays a single notification with icon, title, message, actions, and close button.\n Supports multiple themes, variants, positions, and card stacking with smooth transitions.\n \n ## Features\n - Multiple themes with dark mode support\n - Three variants: default, compact, expanded\n - Action buttons with dismiss, link, and callback support\n - Card stacking mode for multiple notifications\n - Priority-based styling (low, normal, high, urgent)\n - Smooth enter/leave transitions\n \n @props\n - notification (NotificationState): The notification data object\n \n @emits\n - close: Emitted when the close button is clicked\n - action: Emitted when an action button is clicked\n \n @example\n <NotificationToast \n :notification=\"notification\" \n @close=\"handleClose\"\n @action=\"handleAction\"\n />\n-->\n<template>\n <TransitionRoot \n appear \n :show=\"notification.isOpen\" \n as=\"template\" \n @after-leave=\"onAfterLeave\"\n >\n <TransitionChild \n as=\"template\" \n enter=\"sl-duration-300 sl-ease-out sl-transform\"\n :enter-from=\"enterFromClass\"\n enter-to=\"sl-translate-y-0 sl-opacity-100 sl-translate-x-0\" \n leave=\"sl-duration-200 sl-ease-in\"\n leave-from=\"sl-opacity-100\" \n leave-to=\"sl-opacity-0\"\n >\n <div \n v-if=\"notification.isOpen\" \n :class=\"[\n themeClass,\n variantClass,\n priorityClass,\n cardModeClass,\n 'sl-pointer-events-auto sl-overflow-hidden sl-rounded-lg sl-shadow-lg sl-ring-1 sl-ring-black/5 dark:sl-ring-white/10 sl-transition-all sl-duration-200 sl-relative'\n ]\"\n :style=\"toastStyle\"\n @click=\"handleCardClick\"\n role=\"alert\"\n :aria-live=\"notification.priority === 'urgent' ? 'assertive' : 'polite'\"\n >\n <div :class=\"paddingClass\">\n <div class=\"sl-flex sl-items-start\">\n <!-- Icon -->\n <component \n v-if=\"iconComponent\"\n :is=\"iconComponent\" \n :class=\"[iconSizeClass, iconColorClass, 'sl-flex-shrink-0']\"\n aria-hidden=\"true\" \n />\n \n <!-- Content -->\n <div :class=\"contentMarginClass\">\n <!-- Title -->\n <p :class=\"[titleClass, textColorClass]\">\n {{ notification.title }}\n </p>\n \n <!-- Message -->\n <p \n v-if=\"notification.message\" \n :class=\"[messageClass, textColorClass, 'sl-opacity-90']\"\n >\n {{ notification.message }}\n </p>\n \n <!-- Actions -->\n <div \n v-if=\"notification.actions && notification.actions.length > 0\"\n class=\"sl-mt-3 sl-flex sl-gap-2\"\n >\n <button\n v-for=\"(action, idx) in notification.actions\"\n :key=\"idx\"\n type=\"button\"\n :class=\"getActionButtonClass(action)\"\n @click.stop=\"handleAction(action)\"\n >\n {{ action.label }}\n </button>\n </div>\n </div>\n \n <!-- Close Button -->\n <button \n v-if=\"notification.dismissible !== false\"\n type=\"button\" \n @click.stop=\"handleClose\"\n :class=\"[closeButtonClass, focusRingClass]\"\n >\n <span class=\"sl-sr-only\">Close</span>\n <XMarkIcon class=\"sl-h-5 sl-w-5\" aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n \n <!-- Priority indicator for urgent/high -->\n <div \n v-if=\"notification.priority === 'urgent' || notification.priority === 'high'\"\n :class=\"priorityIndicatorClass\"\n />\n </div>\n </TransitionChild>\n </TransitionRoot>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * NotificationToast - Individual notification display\n * \n * Renders a single notification with theming, icons, actions, and animations.\n * Used internally by NotificationContainer but can be used standalone.\n */\nimport { computed, type Component } from 'vue';\nimport { \n CheckCircleIcon, \n ExclamationTriangleIcon, \n ExclamationCircleIcon, \n InformationCircleIcon \n} from '@heroicons/vue/24/outline';\nimport { XMarkIcon } from '@heroicons/vue/20/solid';\nimport { TransitionRoot, TransitionChild } from '@headlessui/vue';\nimport type { NotificationState, NotificationAction } from '../../composables/useNotifications';\n\nconst props = defineProps<{ \n notification: NotificationState \n}>();\n\nconst emit = defineEmits<{\n close: [notification: NotificationState];\n action: [notification: NotificationState, action: NotificationAction];\n}>();\n\nconst handleClose = () => {\n emit('close', props.notification);\n};\n\nconst handleAction = (action: NotificationAction) => {\n emit('action', props.notification, action);\n};\n\nconst handleCardClick = () => {\n // Clicking on a card in card mode brings it to front\n if (props.notification.isCardMode && props.notification.cardStackIndex !== 0) {\n emit('action', props.notification, { label: 'bringToFront', action: 'callback' });\n }\n};\n\nconst onAfterLeave = () => {\n // Animation cleanup callback\n};\n\n// Theme classes with dark mode support\nconst themeClass = computed(() => {\n const themes: Record<string, string> = {\n primary: 'sl-bg-primary-600 dark:sl-bg-primary-700 sl-text-white',\n secondary: 'sl-bg-gray-600 dark:sl-bg-gray-700 sl-text-white',\n dark: 'sl-bg-gray-800 dark:sl-bg-gray-900 sl-text-white',\n light: 'sl-bg-white dark:sl-bg-gray-800 sl-text-gray-800 dark:sl-text-gray-100 sl-border sl-border-gray-200 dark:sl-border-gray-700',\n warning: 'sl-bg-amber-500 dark:sl-bg-amber-600 sl-text-white',\n danger: 'sl-bg-red-500 dark:sl-bg-red-600 sl-text-white',\n success: 'sl-bg-emerald-500 dark:sl-bg-emerald-600 sl-text-white',\n info: 'sl-bg-blue-500 dark:sl-bg-blue-600 sl-text-white',\n ghost: 'sl-bg-white dark:sl-bg-gray-800 sl-text-gray-800 dark:sl-text-gray-100 sl-border sl-border-gray-200 dark:sl-border-gray-700',\n };\n return themes[props.notification.theme] || themes.primary;\n});\n\n// Variant classes - width is controlled by container, just set max-width for variants\nconst variantClass = computed(() => {\n const variants: Record<string, string> = {\n default: '',\n compact: '',\n expanded: '',\n };\n return variants[props.notification.variant] || variants.default;\n});\n\n// Priority classes\nconst priorityClass = computed(() => {\n if (props.notification.priority === 'urgent') {\n return 'sl-animate-pulse';\n }\n return '';\n});\n\n// Priority indicator\nconst priorityIndicatorClass = computed(() => {\n const base = 'sl-absolute sl-top-0 sl-left-0 sl-right-0 sl-h-1';\n if (props.notification.priority === 'urgent') {\n return `${base} sl-bg-red-400 dark:sl-bg-red-500`;\n }\n if (props.notification.priority === 'high') {\n return `${base} sl-bg-amber-400 dark:sl-bg-amber-500`;\n }\n return '';\n});\n\n// Card mode classes\nconst cardModeClass = computed(() => {\n if (props.notification.isCardMode) {\n return 'sl-cursor-pointer hover:sl-scale-[1.02] sl-transition-transform';\n }\n return '';\n});\n\n// Toast style for card stacking and custom widths\nconst toastStyle = computed(() => {\n const styles: Record<string, string | number> = {};\n \n if (props.notification.maxWidth) {\n styles.maxWidth = `${props.notification.maxWidth}px`;\n }\n \n if (props.notification.isCardMode) {\n styles.transform = `translate(${props.notification.cardOffsetX || 0}px, ${props.notification.cardOffsetY || 0}px)`;\n styles.zIndex = props.notification.zIndex || 1;\n }\n \n return styles;\n});\n\n// Text color based on theme\nconst textColorClass = computed(() => {\n const theme = props.notification.theme;\n return ['light', 'ghost'].includes(theme) ? 'sl-text-gray-800 dark:sl-text-gray-100' : 'sl-text-white';\n});\n\n// Icon color\nconst iconColorClass = computed(() => {\n const theme = props.notification.theme;\n return ['light', 'ghost'].includes(theme) ? 'sl-text-gray-500 dark:sl-text-gray-400' : 'sl-text-white/90';\n});\n\n// Focus ring class\nconst focusRingClass = computed(() => {\n const rings: Record<string, string> = {\n primary: 'focus:sl-ring-primary-400 dark:focus:sl-ring-primary-500',\n secondary: 'focus:sl-ring-gray-400 dark:focus:sl-ring-gray-500',\n dark: 'focus:sl-ring-gray-400 dark:focus:sl-ring-gray-500',\n light: 'focus:sl-ring-gray-300 dark:focus:sl-ring-gray-600',\n warning: 'focus:sl-ring-amber-300 dark:focus:sl-ring-amber-500',\n danger: 'focus:sl-ring-red-300 dark:focus:sl-ring-red-500',\n success: 'focus:sl-ring-emerald-300 dark:focus:sl-ring-emerald-500',\n info: 'focus:sl-ring-blue-300 dark:focus:sl-ring-blue-500',\n ghost: 'focus:sl-ring-gray-300 dark:focus:sl-ring-gray-600',\n };\n return rings[props.notification.theme] || rings.primary;\n});\n\n// Close button class\nconst closeButtonClass = computed(() => {\n const theme = props.notification.theme;\n const baseClass = 'sl-ml-4 sl-inline-flex sl-rounded-md sl-opacity-70 hover:sl-opacity-100 focus:sl-outline-none focus:sl-ring-2 focus:sl-ring-offset-2 sl-transition-opacity';\n const colorClass = ['light', 'ghost'].includes(theme) \n ? 'sl-text-gray-400 dark:sl-text-gray-500 hover:sl-text-gray-500 dark:hover:sl-text-gray-400' \n : 'sl-text-white/70 hover:sl-text-white';\n return `${baseClass} ${colorClass}`;\n});\n\n// Icon component based on theme or custom\nconst iconComponent = computed((): Component | undefined => {\n // Allow custom icon override\n if (props.notification.icon) {\n return props.notification.icon;\n }\n \n const theme = props.notification.theme;\n const icons: Record<string, Component> = {\n primary: InformationCircleIcon,\n secondary: InformationCircleIcon,\n dark: ExclamationCircleIcon,\n light: InformationCircleIcon,\n warning: ExclamationTriangleIcon,\n danger: ExclamationCircleIcon,\n success: CheckCircleIcon,\n info: InformationCircleIcon,\n ghost: InformationCircleIcon,\n };\n return icons[theme] || icons.primary;\n});\n\n// Variant-specific sizing\nconst iconSizeClass = computed(() => {\n const sizes: Record<string, string> = {\n compact: 'sl-h-5 sl-w-5',\n default: 'sl-h-6 sl-w-6',\n expanded: 'sl-h-7 sl-w-7',\n };\n return sizes[props.notification.variant] || sizes.default;\n});\n\nconst titleClass = computed(() => {\n const sizes: Record<string, string> = {\n compact: 'sl-text-xs sl-font-medium',\n default: 'sl-text-sm sl-font-medium',\n expanded: 'sl-text-base sl-font-semibold',\n };\n return sizes[props.notification.variant] || sizes.default;\n});\n\nconst messageClass = computed(() => {\n const sizes: Record<string, string> = {\n compact: 'sl-mt-0.5 sl-text-xs',\n default: 'sl-mt-1 sl-text-sm',\n expanded: 'sl-mt-2 sl-text-sm',\n };\n return sizes[props.notification.variant] || sizes.default;\n});\n\nconst paddingClass = computed(() => {\n const sizes: Record<string, string> = {\n compact: 'sl-p-3',\n default: 'sl-p-4',\n expanded: 'sl-p-5',\n };\n return sizes[props.notification.variant] || sizes.default;\n});\n\nconst contentMarginClass = computed(() => {\n const sizes: Record<string, string> = {\n compact: 'sl-ml-2 sl-w-0 sl-flex-1',\n default: 'sl-ml-3 sl-w-0 sl-flex-1 sl-pt-0.5',\n expanded: 'sl-ml-4 sl-w-0 sl-flex-1 sl-pt-0.5',\n };\n return sizes[props.notification.variant] || sizes.default;\n});\n\n// Action button styling\nconst getActionButtonClass = (action: NotificationAction): string => {\n const base = 'sl-rounded sl-px-2 sl-py-1 sl-text-xs sl-font-medium sl-transition-colors focus:sl-outline-none focus:sl-ring-2 focus:sl-ring-offset-1';\n const theme = props.notification.theme;\n const isLightTheme = ['light', 'ghost'].includes(theme);\n \n const themes: Record<string, { light: string; dark: string }> = {\n primary: {\n light: 'sl-bg-primary-100 sl-text-primary-700 hover:sl-bg-primary-200 dark:sl-bg-primary-800 dark:sl-text-primary-200 dark:hover:sl-bg-primary-700',\n dark: 'sl-bg-white/20 sl-text-white hover:sl-bg-white/30'\n },\n secondary: {\n light: 'sl-bg-gray-100 sl-text-gray-700 hover:sl-bg-gray-200 dark:sl-bg-gray-700 dark:sl-text-gray-200 dark:hover:sl-bg-gray-600',\n dark: 'sl-bg-white/20 sl-text-white hover:sl-bg-white/30'\n },\n danger: {\n light: 'sl-bg-red-100 sl-text-red-700 hover:sl-bg-red-200 dark:sl-bg-red-900 dark:sl-text-red-200 dark:hover:sl-bg-red-800',\n dark: 'sl-bg-white/20 sl-text-white hover:sl-bg-white/30'\n }\n };\n \n const actionTheme = action.theme || 'secondary';\n const themeStyle = themes[actionTheme] || themes.secondary;\n \n return `${base} ${isLightTheme ? themeStyle.light : themeStyle.dark}`;\n};\n\n// Entry animation direction based on position\nconst enterFromClass = computed(() => {\n const position = props.notification.position;\n const classes: Record<string, string> = {\n tr: 'sl-translate-x-full sl-opacity-0',\n tl: '-sl-translate-x-full sl-opacity-0',\n br: 'sl-translate-x-full sl-opacity-0',\n bl: '-sl-translate-x-full sl-opacity-0',\n tc: '-sl-translate-y-full sl-opacity-0',\n bc: 'sl-translate-y-full sl-opacity-0',\n };\n return classes[position] || classes.br;\n});\n</script>\n"],"names":["props","__props","emit","__emit","handleClose","handleAction","action","handleCardClick","onAfterLeave","themeClass","computed","themes","variantClass","variants","priorityClass","priorityIndicatorClass","base","cardModeClass","toastStyle","styles","textColorClass","theme","iconColorClass","focusRingClass","rings","closeButtonClass","baseClass","colorClass","iconComponent","icons","InformationCircleIcon","ExclamationCircleIcon","ExclamationTriangleIcon","CheckCircleIcon","iconSizeClass","sizes","titleClass","messageClass","paddingClass","contentMarginClass","getActionButtonClass","isLightTheme","actionTheme","themeStyle","enterFromClass","position","classes","_createBlock","_unref","TransitionRoot","_createVNode","TransitionChild","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_2","_openBlock","_resolveDynamicComponent","_toDisplayString","_hoisted_3","_Fragment","idx","_withModifiers","$event","_hoisted_4","_cache","XMarkIcon"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as n, computed as s, createBlock as d, openBlock as h, mergeProps as
|
|
2
|
-
import
|
|
3
|
-
import { chartColors as
|
|
1
|
+
import { defineComponent as n, computed as s, createBlock as d, openBlock as h, mergeProps as c } from "vue";
|
|
2
|
+
import f from "./charts/BaseChart.js";
|
|
3
|
+
import { chartColors as u } from "./charts/chartTheme.js";
|
|
4
4
|
const w = /* @__PURE__ */ n({
|
|
5
5
|
__name: "PieChart",
|
|
6
6
|
props: {
|
|
@@ -8,14 +8,14 @@ const w = /* @__PURE__ */ n({
|
|
|
8
8
|
title: {},
|
|
9
9
|
donut: { type: Boolean, default: !1 },
|
|
10
10
|
height: { default: 300 },
|
|
11
|
-
colors: { default: () =>
|
|
11
|
+
colors: { default: () => u.primary },
|
|
12
12
|
loading: { type: Boolean, default: !1 },
|
|
13
13
|
showLabels: { type: Boolean, default: !1 },
|
|
14
14
|
showLegend: { type: Boolean, default: !0 }
|
|
15
15
|
},
|
|
16
16
|
emits: ["click"],
|
|
17
|
-
setup(
|
|
18
|
-
const e =
|
|
17
|
+
setup(t, { emit: a }) {
|
|
18
|
+
const e = t, l = a, i = s(() => ({
|
|
19
19
|
title: e.title ? { text: e.title } : void 0,
|
|
20
20
|
legend: e.showLegend ? {
|
|
21
21
|
show: !0,
|
|
@@ -53,17 +53,17 @@ const w = /* @__PURE__ */ n({
|
|
|
53
53
|
},
|
|
54
54
|
data: e.data
|
|
55
55
|
}]
|
|
56
|
-
})),
|
|
57
|
-
l("click",
|
|
56
|
+
})), r = (o) => {
|
|
57
|
+
l("click", o);
|
|
58
58
|
};
|
|
59
|
-
return (
|
|
60
|
-
option:
|
|
59
|
+
return (o, p) => (h(), d(f, c({
|
|
60
|
+
option: i.value,
|
|
61
61
|
height: t.height,
|
|
62
62
|
loading: t.loading
|
|
63
|
-
},
|
|
63
|
+
}, o.$attrs, { onClick: r }), null, 16, ["option", "height", "loading"]));
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
export {
|
|
67
67
|
w as _
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=PieChart.vue_vue_type_script_setup_true_lang-
|
|
69
|
+
//# sourceMappingURL=PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieChart.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
{"version":3,"file":"PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js","sources":["../src/components/charts/PieChart.vue"],"sourcesContent":["<!--\n @component PieChart\n @description Pie/Donut chart component.\n \n @props\n - data (array, required): Array of {name, value} objects\n - title (string, optional): Chart title\n - donut (boolean, optional): Render as donut chart\n - height (number|string, optional): Chart height\n - colors (array, optional): Custom color palette\n - showLabels (boolean, optional): Show segment labels\n \n @example\n <PieChart\n :data=\"[\n { name: 'Category A', value: 40 },\n { name: 'Category B', value: 30 },\n { name: 'Category C', value: 30 }\n ]\"\n title=\"Distribution\"\n donut\n />\n-->\n<template>\n <BaseChart\n :option=\"chartOption\"\n :height=\"height\"\n :loading=\"loading\"\n v-bind=\"$attrs\"\n @click=\"handleClick\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport BaseChart from './BaseChart.vue';\nimport { chartColors } from './chartTheme';\nimport type { EChartsOption } from 'echarts';\n\ninterface PieDataItem {\n name: string;\n value: number;\n}\n\ninterface Props {\n data: PieDataItem[];\n title?: string;\n donut?: boolean;\n height?: number | string;\n colors?: string[];\n loading?: boolean;\n showLabels?: boolean;\n showLegend?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n donut: false,\n height: 300,\n colors: () => chartColors.primary,\n loading: false,\n showLabels: false,\n showLegend: true,\n});\n\nconst emit = defineEmits<{\n click: [params: unknown];\n}>();\n\nconst chartOption = computed<EChartsOption>(() => {\n return {\n title: props.title ? { text: props.title } : undefined,\n legend: props.showLegend ? { \n show: true,\n orient: 'horizontal',\n bottom: 0,\n } : { show: false },\n tooltip: {\n trigger: 'item',\n formatter: '{b}: {c} ({d}%)',\n },\n color: props.colors,\n series: [{\n type: 'pie',\n radius: props.donut ? ['40%', '70%'] : '70%',\n center: ['50%', '45%'],\n avoidLabelOverlap: true,\n itemStyle: {\n borderRadius: 4,\n borderColor: '#ffffff',\n borderWidth: 2,\n },\n label: {\n show: props.showLabels,\n position: props.donut ? 'center' : 'outside',\n },\n emphasis: {\n label: {\n show: true,\n fontSize: 14,\n fontWeight: 600,\n },\n },\n labelLine: {\n show: props.showLabels && !props.donut,\n },\n data: props.data,\n }],\n };\n});\n\nconst handleClick = (params: unknown): void => {\n emit('click', params);\n};\n</script>\n\n"],"names":["props","__props","emit","__emit","chartOption","computed","handleClick","params","_openBlock","_createBlock","BaseChart","_mergeProps","$attrs"],"mappings":";;;;;;;;;;;;;;;;;AAuDA,UAAMA,IAAQC,GASRC,IAAOC,GAIPC,IAAcC,EAAwB,OACnC;AAAA,MACL,OAAOL,EAAM,QAAQ,EAAE,MAAMA,EAAM,UAAU;AAAA,MAC7C,QAAQA,EAAM,aAAa;AAAA,QACzB,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA,IACN,EAAE,MAAM,GAAA;AAAA,MACZ,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,OAAOA,EAAM;AAAA,MACb,QAAQ,CAAC;AAAA,QACP,MAAM;AAAA,QACN,QAAQA,EAAM,QAAQ,CAAC,OAAO,KAAK,IAAI;AAAA,QACvC,QAAQ,CAAC,OAAO,KAAK;AAAA,QACrB,mBAAmB;AAAA,QACnB,WAAW;AAAA,UACT,cAAc;AAAA,UACd,aAAa;AAAA,UACb,aAAa;AAAA,QAAA;AAAA,QAEf,OAAO;AAAA,UACL,MAAMA,EAAM;AAAA,UACZ,UAAUA,EAAM,QAAQ,WAAW;AAAA,QAAA;AAAA,QAErC,UAAU;AAAA,UACR,OAAO;AAAA,YACL,MAAM;AAAA,YACN,UAAU;AAAA,YACV,YAAY;AAAA,UAAA;AAAA,QACd;AAAA,QAEF,WAAW;AAAA,UACT,MAAMA,EAAM,cAAc,CAACA,EAAM;AAAA,QAAA;AAAA,QAEnC,MAAMA,EAAM;AAAA,MAAA,CACb;AAAA,IAAA,EAEJ,GAEKM,IAAc,CAACC,MAA0B;AAC7C,MAAAL,EAAK,SAASK,CAAM;AAAA,IACtB;sBAxFEC,EAAA,GAAAC,EAMEC,GANFC,EAME;AAAA,MALC,QAAQP,EAAA;AAAA,MACR,QAAQH,EAAA;AAAA,MACR,SAASA,EAAA;AAAA,IAAA,GACFW,EAAAA,QAAM,EACb,SAAON,EAAA,CAAW,GAAA,MAAA,IAAA,CAAA,UAAA,UAAA,SAAA,CAAA;AAAA;;"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { defineComponent as $, ref as m, computed as n, onMounted as j, onBeforeUnmount as B, createElementBlock as o, openBlock as a, createElementVNode as r, createVNode as U, createCommentVNode as u, normalizeStyle as v, normalizeClass as k, renderSlot as f, createBlock as I, toDisplayString as c, Transition as R, withCtx as S } from "vue";
|
|
2
|
+
import M from "./components/CloudinaryImage.js";
|
|
3
|
+
const P = { class: "sl-relative sl-flex sl-items-center sl-gap-3" }, T = ["aria-expanded"], V = ["src", "alt"], O = {
|
|
4
|
+
key: 2,
|
|
5
|
+
class: "sl-w-full sl-h-full sl-inline-flex sl-items-center sl-justify-center sl-bg-stachelock-200 dark:sl-bg-stachelock-700"
|
|
6
|
+
}, A = { class: "sl-p-4 sl-border-b sl-border-gray-200 dark:sl-border-slate-700" }, D = { class: "sl-text-sm sl-font-medium sl-text-gray-900 dark:sl-text-white" }, H = { class: "sl-text-xs sl-text-gray-500 dark:sl-text-slate-400" }, K = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "sl-py-1"
|
|
9
|
+
}, J = /* @__PURE__ */ $({
|
|
10
|
+
__name: "ProfileHeaderAvatar",
|
|
11
|
+
props: {
|
|
12
|
+
userName: {},
|
|
13
|
+
userEmail: { default: "" },
|
|
14
|
+
imagePublicId: {},
|
|
15
|
+
imageUrl: {},
|
|
16
|
+
showLogout: { type: Boolean, default: !0 },
|
|
17
|
+
logoutLabel: { default: "Log Out" },
|
|
18
|
+
size: { default: 40 },
|
|
19
|
+
ringColorClass: { default: "sl-ring-stachelock-400" },
|
|
20
|
+
menuTop: { default: "3rem" },
|
|
21
|
+
menuRight: { default: "0" }
|
|
22
|
+
},
|
|
23
|
+
emits: ["logout", "menu-toggle"],
|
|
24
|
+
setup(e, { expose: y, emit: b }) {
|
|
25
|
+
const s = e, d = b, l = m(!1), x = m(null), p = m(null), w = n(() => s.userName ? s.userName.split(" ").map((t) => t[0]).join("").toUpperCase().slice(0, 2) : "U"), C = n(() => `hover:sl-ring-2 hover:${s.ringColorClass}`), z = n(() => `sl-ring-2 ${s.ringColorClass}`), N = n(() => s.size < 32 ? "sl-text-xs" : s.size < 48 ? "sl-text-sm" : "sl-text-base"), E = n(() => ({
|
|
26
|
+
top: s.menuTop,
|
|
27
|
+
right: s.menuRight
|
|
28
|
+
})), g = () => {
|
|
29
|
+
l.value = !l.value, d("menu-toggle", l.value);
|
|
30
|
+
}, i = () => {
|
|
31
|
+
l.value && (l.value = !1, d("menu-toggle", !1));
|
|
32
|
+
}, L = () => {
|
|
33
|
+
i(), d("logout");
|
|
34
|
+
}, h = (t) => {
|
|
35
|
+
t.key === "Escape" && i();
|
|
36
|
+
};
|
|
37
|
+
return j(() => {
|
|
38
|
+
document.addEventListener("keydown", h);
|
|
39
|
+
}), B(() => {
|
|
40
|
+
document.removeEventListener("keydown", h);
|
|
41
|
+
}), y({
|
|
42
|
+
toggleMenu: g,
|
|
43
|
+
closeMenu: i,
|
|
44
|
+
isMenuOpen: l
|
|
45
|
+
}), (t, q) => (a(), o("div", P, [
|
|
46
|
+
r("button", {
|
|
47
|
+
ref_key: "avatarButton",
|
|
48
|
+
ref: x,
|
|
49
|
+
type: "button",
|
|
50
|
+
onClick: g,
|
|
51
|
+
class: k(["sl-relative sl-inline-flex sl-items-center sl-justify-center sl-rounded-full sl-overflow-hidden sl-transition-all sl-flex-shrink-0 focus:sl-outline-none", [
|
|
52
|
+
C.value,
|
|
53
|
+
{ [z.value]: l.value }
|
|
54
|
+
]]),
|
|
55
|
+
style: v({ width: `${e.size}px`, height: `${e.size}px` }),
|
|
56
|
+
"aria-expanded": l.value,
|
|
57
|
+
"aria-haspopup": "true"
|
|
58
|
+
}, [
|
|
59
|
+
f(t.$slots, "avatar", {}, () => [
|
|
60
|
+
e.imagePublicId ? (a(), I(M, {
|
|
61
|
+
key: 0,
|
|
62
|
+
"public-id": e.imagePublicId,
|
|
63
|
+
alt: e.userName,
|
|
64
|
+
width: e.size,
|
|
65
|
+
height: e.size,
|
|
66
|
+
"custom-classes": { image: { "sl-w-full sl-h-full sl-object-cover sl-object-center": !0 } },
|
|
67
|
+
skeleton: "user"
|
|
68
|
+
}, null, 8, ["public-id", "alt", "width", "height"])) : e.imageUrl ? (a(), o("img", {
|
|
69
|
+
key: 1,
|
|
70
|
+
src: e.imageUrl,
|
|
71
|
+
alt: e.userName,
|
|
72
|
+
class: "sl-w-full sl-h-full sl-object-cover sl-object-center"
|
|
73
|
+
}, null, 8, V)) : (a(), o("div", O, [
|
|
74
|
+
r("span", {
|
|
75
|
+
class: k(["sl-font-semibold sl-text-stachelock-700 dark:sl-text-stachelock-200", N.value])
|
|
76
|
+
}, c(w.value), 3)
|
|
77
|
+
]))
|
|
78
|
+
])
|
|
79
|
+
], 14, T),
|
|
80
|
+
U(R, {
|
|
81
|
+
"enter-active-class": "sl-transition sl-ease-out sl-duration-100",
|
|
82
|
+
"enter-from-class": "sl-transform sl-opacity-0 sl-scale-95",
|
|
83
|
+
"enter-to-class": "sl-transform sl-opacity-100 sl-scale-100",
|
|
84
|
+
"leave-active-class": "sl-transition sl-ease-in sl-duration-75",
|
|
85
|
+
"leave-from-class": "sl-transform sl-opacity-100 sl-scale-100",
|
|
86
|
+
"leave-to-class": "sl-transform sl-opacity-0 sl-scale-95"
|
|
87
|
+
}, {
|
|
88
|
+
default: S(() => [
|
|
89
|
+
l.value ? (a(), o("div", {
|
|
90
|
+
key: 0,
|
|
91
|
+
ref_key: "menuRef",
|
|
92
|
+
ref: p,
|
|
93
|
+
class: "sl-absolute sl-bg-white dark:sl-bg-slate-800 sl-rounded-lg sl-shadow-lg sl-border sl-border-gray-200 dark:sl-border-slate-700 sl-z-50 sl-min-w-max sl-overflow-hidden",
|
|
94
|
+
style: v(E.value),
|
|
95
|
+
role: "menu",
|
|
96
|
+
"aria-orientation": "vertical"
|
|
97
|
+
}, [
|
|
98
|
+
r("div", A, [
|
|
99
|
+
f(t.$slots, "menu-header", {}, () => [
|
|
100
|
+
r("p", D, c(e.userName), 1),
|
|
101
|
+
r("p", H, c(e.userEmail), 1)
|
|
102
|
+
])
|
|
103
|
+
]),
|
|
104
|
+
t.$slots["menu-items"] ? (a(), o("div", K, [
|
|
105
|
+
f(t.$slots, "menu-items")
|
|
106
|
+
])) : u("", !0),
|
|
107
|
+
e.showLogout ? (a(), o("button", {
|
|
108
|
+
key: 1,
|
|
109
|
+
type: "button",
|
|
110
|
+
onClick: L,
|
|
111
|
+
class: "sl-w-full sl-text-left sl-px-4 sl-py-2 sl-text-sm sl-text-red-600 dark:sl-text-red-400 hover:sl-bg-red-50 dark:hover:sl-bg-red-900/20 sl-transition-colors",
|
|
112
|
+
role: "menuitem"
|
|
113
|
+
}, c(e.logoutLabel), 1)) : u("", !0)
|
|
114
|
+
], 4)) : u("", !0)
|
|
115
|
+
]),
|
|
116
|
+
_: 3
|
|
117
|
+
}),
|
|
118
|
+
l.value ? (a(), o("div", {
|
|
119
|
+
key: 0,
|
|
120
|
+
class: "sl-fixed sl-inset-0 sl-z-40",
|
|
121
|
+
onClick: i,
|
|
122
|
+
"aria-hidden": "true"
|
|
123
|
+
})) : u("", !0)
|
|
124
|
+
]));
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
export {
|
|
128
|
+
J as _
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-DkABeWJt.js.map
|