@stachelock/ui 0.2.14 → 0.3.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/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js +128 -0
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js.map +1 -0
- package/dist/AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js +194 -0
- package/dist/AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js.map +1 -0
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js +34 -0
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js.map +1 -0
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js +67 -0
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js.map +1 -0
- package/dist/Bars3Icon-BdOqcGcY.js +22 -0
- package/dist/Bars3Icon-BdOqcGcY.js.map +1 -0
- package/dist/BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js +235 -0
- package/dist/BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js.map +1 -0
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js +328 -0
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js.map +1 -0
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js +13 -0
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js.map +1 -0
- package/dist/CheckIcon-BGlsmVwT.js +20 -0
- package/dist/CheckIcon-BGlsmVwT.js.map +1 -0
- package/dist/{CheckboxInput.vue_vue_type_script_setup_true_lang-tYAo46wK.js → CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js} +52 -51
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js.map +1 -0
- package/dist/ChevronRightIcon-DkUqw988.js +20 -0
- package/dist/ChevronRightIcon-DkUqw988.js.map +1 -0
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js +20 -0
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js.map +1 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js +1315 -0
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js.map +1 -0
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js +60 -0
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js.map +1 -0
- package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-Cg83utkU.js → DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js} +23 -22
- package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js.map +1 -0
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js +688 -0
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js.map +1 -0
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js +238 -0
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js.map +1 -0
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js +138 -0
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js.map +1 -0
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js +253 -0
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js.map +1 -0
- package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js → DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js} +25 -41
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js.map +1 -0
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js +122 -0
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js.map +1 -0
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js +32 -0
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js.map +1 -0
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js +74 -0
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js.map +1 -0
- package/dist/{EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js → EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js} +56 -77
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js.map +1 -0
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js → EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js} +9 -9
- package/dist/{EventsList.vue_vue_type_script_setup_true_lang-Cn_WOpZi.js.map → EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js.map} +1 -1
- package/dist/ExclamationCircleIcon-DjxYk45_.js +22 -0
- package/dist/ExclamationCircleIcon-DjxYk45_.js.map +1 -0
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js +36 -0
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js.map +1 -0
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js +22 -0
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js.map +1 -0
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js +211 -0
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js.map +1 -0
- package/dist/FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js +63 -0
- package/dist/FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js.map +1 -0
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js +67 -0
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js.map +1 -0
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js +22 -0
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js.map +1 -0
- package/dist/InformationCircleIcon-B322GNIt.js +40 -0
- package/dist/InformationCircleIcon-B322GNIt.js.map +1 -0
- package/dist/InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js +93 -0
- package/dist/InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js.map +1 -0
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js +66 -0
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js.map +1 -0
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js +36 -0
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js.map +1 -0
- package/dist/MapPinIcon-CSTDUZnD.js +27 -0
- package/dist/MapPinIcon-CSTDUZnD.js.map +1 -0
- package/dist/MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js +193 -0
- package/dist/MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js.map +1 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js +162 -0
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js.map +1 -0
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js +69 -0
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js.map +1 -0
- package/dist/{XMarkIcon-C4wILUsz.js → PlusIcon-aDFVlB90.js} +5 -5
- package/dist/PlusIcon-aDFVlB90.js.map +1 -0
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js +130 -0
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js.map +1 -0
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js +108 -0
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js.map +1 -0
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js +303 -0
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js.map +1 -0
- package/dist/SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js +339 -0
- package/dist/SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js.map +1 -0
- package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-CzLbBcNS.js → SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js} +25 -24
- package/dist/SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js.map +1 -0
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js +78 -0
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js.map +1 -0
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js +111 -0
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js.map +1 -0
- package/dist/StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js +119 -0
- package/dist/StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js.map +1 -0
- package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js → SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js} +63 -58
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js.map +1 -0
- package/dist/SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js +183 -0
- package/dist/SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js.map +1 -0
- package/dist/TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js +125 -0
- package/dist/TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js.map +1 -0
- package/dist/TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js +129 -0
- package/dist/TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js.map +1 -0
- package/dist/TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js +85 -0
- package/dist/TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js.map +1 -0
- package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js → TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js} +53 -63
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js.map +1 -0
- package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-CbR651TU.js → TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js} +47 -35
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js.map +1 -0
- package/dist/{UiAvatar.vue_vue_type_script_setup_true_lang-CDNjUA1L.js → UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js} +34 -34
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js.map +1 -0
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js +88 -0
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js.map +1 -0
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js +108 -0
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js.map +1 -0
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js +96 -0
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js.map +1 -0
- package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js → UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js} +48 -43
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js.map +1 -0
- package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js +489 -0
- package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js.map +1 -0
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js +330 -0
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js.map +1 -0
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js +214 -0
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js.map +1 -0
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js +83 -0
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js.map +1 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js +69 -0
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js.map +1 -0
- package/dist/{UiTable.vue_vue_type_script_setup_true_lang-hI1_xamh.js → UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js} +45 -44
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js.map +1 -0
- package/dist/XMarkIcon-Cwy3T6p8.js +22 -0
- package/dist/XMarkIcon-Cwy3T6p8.js.map +1 -0
- package/dist/XMarkIcon-DNvCkiOy.js +16 -0
- package/dist/XMarkIcon-DNvCkiOy.js.map +1 -0
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js +89 -0
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js.map +1 -0
- package/dist/active-element-history-BTBNVIJN.js +17 -0
- package/dist/active-element-history-BTBNVIJN.js.map +1 -0
- package/dist/calculate-active-index-Dim3sT-5.js +55 -0
- package/dist/calculate-active-index-Dim3sT-5.js.map +1 -0
- package/dist/calendar-DyIP7WGv.js +575 -0
- package/dist/calendar-DyIP7WGv.js.map +1 -0
- package/dist/calendars/CalendarDashboard.js +7 -7
- package/dist/calendars/CalendarHeader.js +1 -1
- package/dist/calendars/DayCalendar.js +1 -1
- package/dist/calendars/EventCard.js +1 -1
- package/dist/calendars/EventsList.js +1 -1
- package/dist/calendars/MonthCalendar.js +1 -1
- package/dist/calendars/WeekCalendar.js +376 -2
- package/dist/calendars/WeekCalendar.js.map +1 -1
- package/dist/calendars/YearCalendar.js +1 -1
- package/dist/charts/BarChart.d.ts +3 -0
- package/dist/charts/BarChart.js +5 -0
- package/dist/charts/BarChart.js.map +1 -0
- package/dist/charts/BaseChart.d.ts +3 -0
- package/dist/charts/BaseChart.js +135 -0
- package/dist/charts/BaseChart.js.map +1 -0
- package/dist/charts/FunnelChart.d.ts +3 -0
- package/dist/charts/FunnelChart.js +5 -0
- package/dist/charts/FunnelChart.js.map +1 -0
- package/dist/charts/LineChart.d.ts +3 -0
- package/dist/charts/LineChart.js +5 -0
- package/dist/charts/LineChart.js.map +1 -0
- package/dist/charts/PieChart.d.ts +3 -0
- package/dist/charts/PieChart.js +5 -0
- package/dist/charts/PieChart.js.map +1 -0
- package/dist/charts/SparklineChart.d.ts +3 -0
- package/dist/charts/SparklineChart.js +5 -0
- package/dist/charts/SparklineChart.js.map +1 -0
- package/dist/charts/StatCard.d.ts +3 -0
- package/dist/charts/StatCard.js +5 -0
- package/dist/charts/StatCard.js.map +1 -0
- package/dist/charts/chartTheme.d.ts +3 -0
- package/dist/charts/chartTheme.js +254 -0
- package/dist/charts/chartTheme.js.map +1 -0
- package/dist/charts/index.d.ts +1 -0
- package/dist/charts/index.js +33 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/components/Avatar.js +1 -1
- package/dist/components/Badge.js +2 -39
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Banner.d.ts +3 -0
- package/dist/components/Banner.js +476 -0
- package/dist/components/Banner.js.map +1 -0
- package/dist/components/Breadcrumb.js +269 -2
- package/dist/components/Breadcrumb.js.map +1 -1
- package/dist/components/Button.js +132 -105
- package/dist/components/Button.js.map +1 -1
- package/dist/components/ButtonGroup.d.ts +3 -0
- package/dist/components/ButtonGroup.js +5 -0
- package/dist/components/ButtonGroup.js.map +1 -0
- package/dist/components/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox.js +5 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/CloudinaryImage.d.ts +3 -0
- package/dist/components/CloudinaryImage.js +175 -0
- package/dist/components/CloudinaryImage.js.map +1 -0
- package/dist/components/Loading.js +1 -1
- package/dist/components/LoadingDots.js +3 -3
- package/dist/components/LoadingDots.js.map +1 -1
- package/dist/components/LottieAnimation.d.ts +3 -0
- package/dist/components/LottieAnimation.js +5 -0
- package/dist/components/LottieAnimation.js.map +1 -0
- package/dist/components/Menu.d.ts +3 -0
- package/dist/components/Menu.js +5 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/Modal.js +1 -1
- package/dist/components/NavLink.js +1 -1
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/RadialProgressBar.js +1 -1
- package/dist/components/Table.js +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +33 -0
- package/dist/composables/index.js.map +1 -0
- package/dist/composables/useCalendar.d.ts +3 -0
- package/dist/composables/useCalendar.js +32 -0
- package/dist/composables/useCalendar.js.map +1 -0
- package/dist/composables/useFormValidation.d.ts +3 -0
- package/dist/composables/useFormValidation.js +110 -0
- package/dist/composables/useFormValidation.js.map +1 -0
- package/dist/composables/useMap.d.ts +3 -0
- package/dist/composables/useMap.js +10 -0
- package/dist/composables/useMap.js.map +1 -0
- package/dist/composables/useModal.d.ts +3 -0
- package/dist/composables/useModal.js +75 -0
- package/dist/composables/useModal.js.map +1 -0
- package/dist/composables/useNotifications.d.ts +3 -0
- package/dist/composables/useNotifications.js +77 -0
- package/dist/composables/useNotifications.js.map +1 -0
- package/dist/composables/useTabs.d.ts +1 -0
- package/dist/composables/useTabs.js +259 -0
- package/dist/composables/useTabs.js.map +1 -0
- package/dist/composables/useTheme.d.ts +3 -0
- package/dist/composables/useTheme.js +119 -0
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/{description-CBd3BJ9O.js → description-C7cRw0tq.js} +2 -2
- package/dist/{description-CBd3BJ9O.js.map → description-C7cRw0tq.js.map} +1 -1
- package/dist/{dialog-U1KNiPzc.js → dialog-B2WA4G25.js} +141 -135
- package/dist/dialog-B2WA4G25.js.map +1 -0
- package/dist/empty-state/ComingSoon.d.ts +3 -0
- package/dist/empty-state/ComingSoon.js +5 -0
- package/dist/empty-state/ComingSoon.js.map +1 -0
- package/dist/empty-state/EmptyState.d.ts +3 -0
- package/dist/empty-state/EmptyState.js +5 -0
- package/dist/empty-state/EmptyState.js.map +1 -0
- package/dist/empty-state/index.d.ts +1 -0
- package/dist/empty-state/index.js +7 -0
- package/dist/empty-state/index.js.map +1 -0
- package/dist/env-BZfPsfnF.js +29 -0
- package/dist/env-BZfPsfnF.js.map +1 -0
- package/dist/form-f8yP4kN-.js +35 -0
- package/dist/form-f8yP4kN-.js.map +1 -0
- package/dist/forms/DynamicForm.js +1 -1
- package/dist/forms/DynamicFormField.js +1 -1
- package/dist/forms/FormFieldWrapper.js +72 -92
- package/dist/forms/FormFieldWrapper.js.map +1 -1
- package/dist/hidden-BSRluD1y.js +15 -0
- package/dist/hidden-BSRluD1y.js.map +1 -0
- package/dist/index-Dca39bYA.js +2167 -0
- package/dist/index-Dca39bYA.js.map +1 -0
- package/dist/index.js +1257 -274
- package/dist/index.js.map +1 -1
- package/dist/inputs/AddDeleteButtonGroup.d.ts +3 -0
- package/dist/inputs/AddDeleteButtonGroup.js +5 -0
- package/dist/inputs/AddDeleteButtonGroup.js.map +1 -0
- package/dist/inputs/CheckboxInput.js +1 -1
- package/dist/inputs/ComboboxInput.js +1 -1
- package/dist/inputs/DatepickerInput.d.ts +3 -0
- package/dist/inputs/DatepickerInput.js +5 -0
- package/dist/inputs/DatepickerInput.js.map +1 -0
- package/dist/inputs/EmailInput.d.ts +3 -0
- package/dist/inputs/EmailInput.js +5 -0
- package/dist/inputs/EmailInput.js.map +1 -0
- package/dist/inputs/EmptyInput.d.ts +3 -0
- package/dist/inputs/EmptyInput.js +5 -0
- package/dist/inputs/EmptyInput.js.map +1 -0
- package/dist/inputs/FileDropzoneInput.d.ts +3 -0
- package/dist/inputs/FileDropzoneInput.js +5 -0
- package/dist/inputs/FileDropzoneInput.js.map +1 -0
- package/dist/inputs/HiddenInput.d.ts +3 -0
- package/dist/inputs/HiddenInput.js +5 -0
- package/dist/inputs/HiddenInput.js.map +1 -0
- package/dist/inputs/PhoneInput.d.ts +3 -0
- package/dist/inputs/PhoneInput.js +3783 -0
- package/dist/inputs/PhoneInput.js.map +1 -0
- package/dist/inputs/RichTextInput.d.ts +3 -0
- package/dist/inputs/RichTextInput.js +17492 -0
- package/dist/inputs/RichTextInput.js.map +1 -0
- package/dist/inputs/SelectInput.js +1 -1
- package/dist/inputs/SelectTextInput.d.ts +3 -0
- package/dist/inputs/SelectTextInput.js +5 -0
- package/dist/inputs/SelectTextInput.js.map +1 -0
- package/dist/inputs/SwitchInput.js +1 -1
- package/dist/inputs/SwitchInputGroup.d.ts +3 -0
- package/dist/inputs/SwitchInputGroup.js +5 -0
- package/dist/inputs/SwitchInputGroup.js.map +1 -0
- package/dist/inputs/TagifyInput.js +1 -1
- package/dist/inputs/TextAreaInput.js +1 -1
- package/dist/inputs/TextInput.d.ts +3 -0
- package/dist/{components → inputs}/TextInput.js +17 -17
- package/dist/inputs/TextInput.js.map +1 -0
- package/dist/keyboard-Dd_2-cFu.js +5 -0
- package/dist/keyboard-Dd_2-cFu.js.map +1 -0
- package/dist/layouts/DashboardLayout.js +1 -1
- package/dist/layouts/ProfileHeaderAvatar.d.ts +3 -0
- package/dist/layouts/ProfileHeaderAvatar.js +5 -0
- package/dist/layouts/ProfileHeaderAvatar.js.map +1 -0
- package/dist/layouts/ProjectLogo.d.ts +3 -0
- package/dist/layouts/ProjectLogo.js +5 -0
- package/dist/layouts/ProjectLogo.js.map +1 -0
- package/dist/layouts/SidebarLayout.js +1 -1
- package/dist/listbox-p2_4hUSD.js +257 -0
- package/dist/listbox-p2_4hUSD.js.map +1 -0
- package/dist/loading/ContentSkeleton.d.ts +3 -0
- package/dist/loading/ContentSkeleton.js +96 -0
- package/dist/loading/ContentSkeleton.js.map +1 -0
- package/dist/loading/SmartLoadingIndicator.d.ts +3 -0
- package/dist/loading/SmartLoadingIndicator.js +230 -0
- package/dist/loading/SmartLoadingIndicator.js.map +1 -0
- package/dist/loading/index.d.ts +1 -0
- package/dist/loading/index.js +7 -0
- package/dist/loading/index.js.map +1 -0
- package/dist/mapThemes-DFE9fZm3.js +675 -0
- package/dist/mapThemes-DFE9fZm3.js.map +1 -0
- package/dist/maps/GoogleMap.d.ts +3 -0
- package/dist/maps/GoogleMap.js +170 -0
- package/dist/maps/GoogleMap.js.map +1 -0
- package/dist/maps/UiInfoWindow.d.ts +3 -0
- package/dist/maps/UiInfoWindow.js +286 -0
- package/dist/maps/UiInfoWindow.js.map +1 -0
- package/dist/maps/UiMap.d.ts +3 -0
- package/dist/maps/UiMap.js +591 -0
- package/dist/maps/UiMap.js.map +1 -0
- package/dist/maps/UiMapAll.d.ts +3 -0
- package/dist/maps/UiMapAll.js +5 -0
- package/dist/maps/UiMapAll.js.map +1 -0
- package/dist/maps/UiMapMarker.d.ts +3 -0
- package/dist/maps/UiMapMarker.js +237 -0
- package/dist/maps/UiMapMarker.js.map +1 -0
- package/dist/maps/index.d.ts +1 -0
- package/dist/maps/index.js +13 -0
- package/dist/maps/index.js.map +1 -0
- package/dist/micro-task-D-oTY33s.js +9 -0
- package/dist/micro-task-D-oTY33s.js.map +1 -0
- package/dist/modals/AlertModal.d.ts +3 -0
- package/dist/modals/AlertModal.js +5 -0
- package/dist/modals/AlertModal.js.map +1 -0
- package/dist/modals/BaseModal.d.ts +3 -0
- package/dist/modals/BaseModal.js +5 -0
- package/dist/modals/BaseModal.js.map +1 -0
- package/dist/modals/ImageCropperModal.d.ts +3 -0
- package/dist/modals/ImageCropperModal.js +1804 -0
- package/dist/modals/ImageCropperModal.js.map +1 -0
- package/dist/notifications/NotificationContainer.d.ts +3 -0
- package/dist/notifications/NotificationContainer.js +25 -0
- package/dist/notifications/NotificationContainer.js.map +1 -0
- package/dist/notifications/NotificationToast.d.ts +3 -0
- package/dist/notifications/NotificationToast.js +5 -0
- package/dist/notifications/NotificationToast.js.map +1 -0
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +7 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/open-closed-JTEvYTg2.js +19 -0
- package/dist/open-closed-JTEvYTg2.js.map +1 -0
- package/dist/render-QUUPyNjX.js +101 -0
- package/dist/render-QUUPyNjX.js.map +1 -0
- package/dist/src/components/CloudinaryImage.d.ts +144 -0
- package/dist/src/components/CloudinaryImage.d.ts.map +1 -0
- package/dist/src/components/LottieAnimation.d.ts +65 -0
- package/dist/src/components/LottieAnimation.d.ts.map +1 -0
- package/dist/src/components/ThemeDebugModal.d.ts +20 -0
- package/dist/src/components/ThemeDebugModal.d.ts.map +1 -0
- package/dist/src/components/UiAvatar.d.ts.map +1 -1
- package/dist/src/components/UiBadge.d.ts +22 -12
- package/dist/src/components/UiBadge.d.ts.map +1 -1
- package/dist/src/components/UiBanner.d.ts +166 -0
- package/dist/src/components/UiBanner.d.ts.map +1 -0
- package/dist/src/components/UiBreadcrumb.d.ts +240 -1
- package/dist/src/components/UiBreadcrumb.d.ts.map +1 -1
- package/dist/src/components/UiButton.d.ts +5 -4
- package/dist/src/components/UiButton.d.ts.map +1 -1
- package/dist/src/components/UiButtonGroup.d.ts +78 -0
- package/dist/src/components/UiButtonGroup.d.ts.map +1 -0
- package/dist/src/components/UiCheckbox.d.ts +55 -0
- package/dist/src/components/UiCheckbox.d.ts.map +1 -0
- package/dist/src/components/UiLoading.d.ts +2 -2
- package/dist/src/components/UiLoading.d.ts.map +1 -1
- package/dist/src/components/UiMenu.d.ts +67 -0
- package/dist/src/components/UiMenu.d.ts.map +1 -0
- package/dist/src/components/UiModal.d.ts +1 -1
- package/dist/src/components/UiModal.d.ts.map +1 -1
- package/dist/src/components/UiNavLink.d.ts +1 -1
- package/dist/src/components/UiProgressBar.d.ts +43 -31
- package/dist/src/components/UiProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiRadialProgressBar.d.ts +46 -39
- package/dist/src/components/UiRadialProgressBar.d.ts.map +1 -1
- package/dist/src/components/UiTable.d.ts.map +1 -1
- package/dist/src/components/UiTransition.d.ts +1 -1
- package/dist/src/components/calendars/CalendarHeader.d.ts +66 -19
- package/dist/src/components/calendars/CalendarHeader.d.ts.map +1 -1
- package/dist/src/components/calendars/DayCalendar.d.ts +11 -4
- package/dist/src/components/calendars/DayCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/MonthCalendar.d.ts +33 -22
- package/dist/src/components/calendars/MonthCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/WeekCalendar.d.ts.map +1 -1
- package/dist/src/components/calendars/YearCalendar.d.ts +41 -6
- package/dist/src/components/calendars/YearCalendar.d.ts.map +1 -1
- package/dist/src/components/charts/BarChart.d.ts +64 -0
- package/dist/src/components/charts/BarChart.d.ts.map +1 -0
- package/dist/src/components/charts/BaseChart.d.ts +81 -0
- package/dist/src/components/charts/BaseChart.d.ts.map +1 -0
- package/dist/src/components/charts/FunnelChart.d.ts +55 -0
- package/dist/src/components/charts/FunnelChart.d.ts.map +1 -0
- package/dist/src/components/charts/LineChart.d.ts +60 -0
- package/dist/src/components/charts/LineChart.d.ts.map +1 -0
- package/dist/src/components/charts/PieChart.d.ts +59 -0
- package/dist/src/components/charts/PieChart.d.ts.map +1 -0
- package/dist/src/components/charts/SparklineChart.d.ts +46 -0
- package/dist/src/components/charts/SparklineChart.d.ts.map +1 -0
- package/dist/src/components/charts/StatCard.d.ts +37 -0
- package/dist/src/components/charts/StatCard.d.ts.map +1 -0
- package/dist/src/components/charts/chartTheme.d.ts +166 -0
- package/dist/src/components/charts/chartTheme.d.ts.map +1 -0
- package/dist/src/components/charts/index.d.ts +9 -0
- package/dist/src/components/charts/index.d.ts.map +1 -0
- package/dist/src/components/empty-state/ComingSoon.d.ts +50 -0
- package/dist/src/components/empty-state/ComingSoon.d.ts.map +1 -0
- package/dist/src/components/empty-state/EmptyState.d.ts +49 -0
- package/dist/src/components/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/src/components/empty-state/index.d.ts +3 -0
- package/dist/src/components/empty-state/index.d.ts.map +1 -0
- package/dist/src/components/forms/DynamicForm.d.ts +29 -2
- package/dist/src/components/forms/DynamicForm.d.ts.map +1 -1
- package/dist/src/components/forms/DynamicFormField.d.ts.map +1 -1
- package/dist/src/components/forms/FormFieldWrapper.d.ts +2 -2
- package/dist/src/components/forms/FormFieldWrapper.d.ts.map +1 -1
- package/dist/src/components/index.d.ts +16 -1
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts +49 -0
- package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts.map +1 -0
- package/dist/src/components/inputs/CheckboxInput.d.ts +1 -1
- package/dist/src/components/inputs/CheckboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/ComboboxInput.d.ts.map +1 -1
- package/dist/src/components/inputs/DatepickerInput.d.ts +852 -0
- package/dist/src/components/inputs/DatepickerInput.d.ts.map +1 -0
- package/dist/src/components/inputs/EmailInput.d.ts +99 -0
- package/dist/src/components/inputs/EmailInput.d.ts.map +1 -0
- package/dist/src/components/inputs/EmptyInput.d.ts +36 -0
- package/dist/src/components/inputs/EmptyInput.d.ts.map +1 -0
- package/dist/src/components/inputs/FileDropzoneInput.d.ts +91 -0
- package/dist/src/components/inputs/FileDropzoneInput.d.ts.map +1 -0
- package/dist/src/components/inputs/HiddenInput.d.ts +30 -0
- package/dist/src/components/inputs/HiddenInput.d.ts.map +1 -0
- package/dist/src/components/inputs/PhoneInput.d.ts +211 -0
- package/dist/src/components/inputs/PhoneInput.d.ts.map +1 -0
- package/dist/src/components/inputs/RichTextInput.d.ts +102 -0
- package/dist/src/components/inputs/RichTextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/SelectInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SelectTextInput.d.ts +222 -0
- package/dist/src/components/inputs/SelectTextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/SwitchInput.d.ts +1 -1
- package/dist/src/components/inputs/SwitchInput.d.ts.map +1 -1
- package/dist/src/components/inputs/SwitchInputGroup.d.ts +93 -0
- package/dist/src/components/inputs/SwitchInputGroup.d.ts.map +1 -0
- package/dist/src/components/inputs/TagifyInput.d.ts +6 -6
- package/dist/src/components/inputs/TextAreaInput.d.ts.map +1 -1
- package/dist/src/components/{UiTextInput.d.ts → inputs/TextInput.d.ts} +7 -7
- package/dist/src/components/inputs/TextInput.d.ts.map +1 -0
- package/dist/src/components/inputs/index.d.ts +11 -0
- package/dist/src/components/inputs/index.d.ts.map +1 -1
- package/dist/src/components/layouts/CardLayout.d.ts +144 -0
- package/dist/src/components/layouts/CardLayout.d.ts.map +1 -0
- package/dist/src/components/layouts/DashboardLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/InfoCard.d.ts +43 -0
- package/dist/src/components/layouts/InfoCard.d.ts.map +1 -0
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts +85 -0
- package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts.map +1 -0
- package/dist/src/components/layouts/ProjectLogo.d.ts +67 -0
- package/dist/src/components/layouts/ProjectLogo.d.ts.map +1 -0
- package/dist/src/components/layouts/PropsTable.d.ts +38 -0
- package/dist/src/components/layouts/PropsTable.d.ts.map +1 -0
- package/dist/src/components/layouts/ShowcaseCard.d.ts +53 -0
- package/dist/src/components/layouts/ShowcaseCard.d.ts.map +1 -0
- package/dist/src/components/layouts/ShowcaseLayout.d.ts +58 -0
- package/dist/src/components/layouts/ShowcaseLayout.d.ts.map +1 -0
- package/dist/src/components/layouts/SidebarLayout.d.ts.map +1 -1
- package/dist/src/components/layouts/StateDisplay.d.ts +32 -0
- package/dist/src/components/layouts/StateDisplay.d.ts.map +1 -0
- package/dist/src/components/layouts/index.d.ts +8 -0
- package/dist/src/components/layouts/index.d.ts.map +1 -1
- package/dist/src/components/loading/ContentSkeleton.d.ts +53 -0
- package/dist/src/components/loading/ContentSkeleton.d.ts.map +1 -0
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts +88 -0
- package/dist/src/components/loading/SmartLoadingIndicator.d.ts.map +1 -0
- package/dist/src/components/loading/index.d.ts +3 -0
- package/dist/src/components/loading/index.d.ts.map +1 -0
- package/dist/src/components/maps/GoogleMap.d.ts +224 -0
- package/dist/src/components/maps/GoogleMap.d.ts.map +1 -0
- package/dist/src/components/maps/UiInfoWindow.d.ts +223 -0
- package/dist/src/components/maps/UiInfoWindow.d.ts.map +1 -0
- package/dist/src/components/maps/UiMap.d.ts +609 -0
- package/dist/src/components/maps/UiMap.d.ts.map +1 -0
- package/dist/src/components/maps/UiMapAll.d.ts +676 -0
- package/dist/src/components/maps/UiMapAll.d.ts.map +1 -0
- package/dist/src/components/maps/UiMapMarker.d.ts +223 -0
- package/dist/src/components/maps/UiMapMarker.d.ts.map +1 -0
- package/dist/src/components/maps/index.d.ts +6 -0
- package/dist/src/components/maps/index.d.ts.map +1 -0
- package/dist/src/components/modals/AlertModal.d.ts +156 -0
- package/dist/src/components/modals/AlertModal.d.ts.map +1 -0
- package/dist/src/components/modals/BaseModal.d.ts +127 -0
- package/dist/src/components/modals/BaseModal.d.ts.map +1 -0
- package/dist/src/components/modals/ImageCropperModal.d.ts +99 -0
- package/dist/src/components/modals/ImageCropperModal.d.ts.map +1 -0
- package/dist/src/components/modals/index.d.ts +4 -0
- package/dist/src/components/modals/index.d.ts.map +1 -0
- package/dist/src/components/notifications/NotificationContainer.d.ts +3 -0
- package/dist/src/components/notifications/NotificationContainer.d.ts.map +1 -0
- package/dist/src/components/notifications/NotificationToast.d.ts +22 -0
- package/dist/src/components/notifications/NotificationToast.d.ts.map +1 -0
- package/dist/src/components/notifications/index.d.ts +3 -0
- package/dist/src/components/notifications/index.d.ts.map +1 -0
- package/dist/src/components/stepper/StepperPanels.d.ts +22 -0
- package/dist/src/components/stepper/StepperPanels.d.ts.map +1 -0
- package/dist/src/components/stepper/index.d.ts +2 -0
- package/dist/src/components/stepper/index.d.ts.map +1 -0
- package/dist/src/components/tabs/InlineTabs.d.ts +48 -0
- package/dist/src/components/tabs/InlineTabs.d.ts.map +1 -0
- package/dist/src/components/tabs/TabGroup.d.ts +55 -0
- package/dist/src/components/tabs/TabGroup.d.ts.map +1 -0
- package/dist/src/components/tabs/TabGroupUnderline.d.ts +56 -0
- package/dist/src/components/tabs/TabGroupUnderline.d.ts.map +1 -0
- package/dist/src/components/tabs/TabsInPills.d.ts +44 -0
- package/dist/src/components/tabs/TabsInPills.d.ts.map +1 -0
- package/dist/src/components/tabs/index.d.ts +5 -0
- package/dist/src/components/tabs/index.d.ts.map +1 -0
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +64 -0
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/CardWrapper.d.ts +10 -0
- package/dist/src/components/wrappers/CardWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts +37 -0
- package/dist/src/components/wrappers/DisclosureWrapper.d.ts.map +1 -0
- package/dist/src/components/wrappers/FormErrorWrapper.d.ts +40 -0
- package/dist/src/components/{UiTextInput.d.ts.map → wrappers/FormErrorWrapper.d.ts.map} +1 -1
- package/dist/src/components/wrappers/index.d.ts +5 -0
- package/dist/src/components/wrappers/index.d.ts.map +1 -0
- package/dist/src/composables/index.d.ts +7 -0
- package/dist/src/composables/index.d.ts.map +1 -1
- package/dist/src/composables/useCalendar.d.ts +76 -20
- package/dist/src/composables/useCalendar.d.ts.map +1 -1
- package/dist/src/composables/useEventSegments.d.ts +74 -0
- package/dist/src/composables/useEventSegments.d.ts.map +1 -0
- package/dist/src/composables/useFormValidation.d.ts +47 -0
- package/dist/src/composables/useFormValidation.d.ts.map +1 -1
- package/dist/src/composables/useMap.d.ts +93 -0
- package/dist/src/composables/useMap.d.ts.map +1 -0
- package/dist/src/composables/useModal.d.ts +42 -2
- package/dist/src/composables/useModal.d.ts.map +1 -1
- package/dist/src/composables/useNotifications.d.ts +142 -0
- package/dist/src/composables/useNotifications.d.ts.map +1 -0
- package/dist/src/composables/useSimpleTabs.d.ts +45 -0
- package/dist/src/composables/useSimpleTabs.d.ts.map +1 -0
- package/dist/src/composables/useStringTransform.d.ts +107 -0
- package/dist/src/composables/useStringTransform.d.ts.map +1 -0
- package/dist/src/composables/useTabs.d.ts +48 -0
- package/dist/src/composables/useTabs.d.ts.map +1 -0
- package/dist/src/composables/useTheme.d.ts +37 -0
- package/dist/src/composables/useTheme.d.ts.map +1 -0
- package/dist/src/dev.d.ts +3 -0
- package/dist/src/dev.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/plugin/configure.d.ts +110 -0
- package/dist/src/plugin/configure.d.ts.map +1 -1
- package/dist/src/types/calendars.d.ts +74 -0
- package/dist/src/types/calendars.d.ts.map +1 -1
- package/dist/src/types/core.d.ts +679 -0
- package/dist/src/types/core.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/inputs.d.ts +147 -0
- package/dist/src/types/inputs.d.ts.map +1 -1
- package/dist/src/types/layouts.d.ts +25 -0
- package/dist/src/types/layouts.d.ts.map +1 -1
- package/dist/src/types/maps.d.ts +432 -0
- package/dist/src/types/maps.d.ts.map +1 -0
- package/dist/src/types/tabs.d.ts +75 -0
- package/dist/src/types/tabs.d.ts.map +1 -0
- package/dist/src/types/ui.d.ts +2 -3
- package/dist/src/types/ui.d.ts.map +1 -1
- package/dist/src/utils/calendar.d.ts +97 -5
- package/dist/src/utils/calendar.d.ts.map +1 -1
- package/dist/src/utils/countryCodes.d.ts +27 -0
- package/dist/src/utils/countryCodes.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/mapThemes.d.ts +90 -0
- package/dist/src/utils/mapThemes.d.ts.map +1 -0
- package/dist/src/utils/phone.d.ts +73 -0
- package/dist/src/utils/phone.d.ts.map +1 -0
- package/dist/src/utils/transitions.d.ts +55 -0
- package/dist/src/utils/transitions.d.ts.map +1 -0
- package/dist/src/views/components/index.d.ts +15 -0
- package/dist/src/views/components/index.d.ts.map +1 -0
- package/dist/src/views/examples/index.d.ts +5 -0
- package/dist/src/views/examples/index.d.ts.map +1 -0
- package/dist/src/views/forms/index.d.ts +3 -0
- package/dist/src/views/forms/index.d.ts.map +1 -0
- package/dist/src/views/index.d.ts +23 -0
- package/dist/src/views/index.d.ts.map +1 -0
- package/dist/src/views/inputs/index.d.ts +13 -0
- package/dist/src/views/inputs/index.d.ts.map +1 -0
- package/dist/src/views/layouts/index.d.ts +5 -0
- package/dist/src/views/layouts/index.d.ts.map +1 -0
- package/dist/stepper/StepperPanels.d.ts +3 -0
- package/dist/stepper/StepperPanels.js +5 -0
- package/dist/stepper/StepperPanels.js.map +1 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +5 -0
- package/dist/stepper/index.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/tabs/InlineTabs.d.ts +3 -0
- package/dist/tabs/InlineTabs.js +5 -0
- package/dist/tabs/InlineTabs.js.map +1 -0
- package/dist/tabs/TabGroup.d.ts +3 -0
- package/dist/tabs/TabGroup.js +5 -0
- package/dist/tabs/TabGroup.js.map +1 -0
- package/dist/tabs/TabGroupUnderline.d.ts +3 -0
- package/dist/tabs/TabGroupUnderline.js +5 -0
- package/dist/tabs/TabGroupUnderline.js.map +1 -0
- package/dist/tabs/TabsInPills.d.ts +3 -0
- package/dist/tabs/TabsInPills.js +5 -0
- package/dist/tabs/TabsInPills.js.map +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +11 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs-Da32Mbhf.js +202 -0
- package/dist/tabs-Da32Mbhf.js.map +1 -0
- package/dist/transition-_rPfnoET.js +191 -0
- package/dist/transition-_rPfnoET.js.map +1 -0
- package/dist/use-outside-click-DNDV36Sc.js +151 -0
- package/dist/use-outside-click-DNDV36Sc.js.map +1 -0
- package/dist/use-resolve-button-type-h6n-lm9q.js +20 -0
- package/dist/use-resolve-button-type-h6n-lm9q.js.map +1 -0
- package/dist/use-text-value-DKnkjK00.js +44 -0
- package/dist/use-text-value-DKnkjK00.js.map +1 -0
- package/dist/use-tree-walker-BHCORE7u.js +16 -0
- package/dist/use-tree-walker-BHCORE7u.js.map +1 -0
- package/dist/useEventSegments-B-r_8zCW.js +97 -0
- package/dist/useEventSegments-B-r_8zCW.js.map +1 -0
- package/dist/useMap-BaZEIoWM.js +525 -0
- package/dist/useMap-BaZEIoWM.js.map +1 -0
- package/dist/useSimpleTabs-CSgkChEU.js +103 -0
- package/dist/useSimpleTabs-CSgkChEU.js.map +1 -0
- package/dist/useStringTransform-CSr7nZWg.js +140 -0
- package/dist/useStringTransform-CSr7nZWg.js.map +1 -0
- package/dist/vue-datepicker-CEn0-fJj.js +4871 -0
- package/dist/vue-datepicker-CEn0-fJj.js.map +1 -0
- package/dist/vue-router-BPbyZ7xA.js +145 -0
- package/dist/vue-router-BPbyZ7xA.js.map +1 -0
- package/dist/vue3-lottie.es-C_MDkNwR.js +7976 -0
- package/dist/vue3-lottie.es-C_MDkNwR.js.map +1 -0
- package/dist/wrappers/BackgroundGradientWrapper.d.ts +3 -0
- package/dist/wrappers/BackgroundGradientWrapper.js +5 -0
- package/dist/wrappers/BackgroundGradientWrapper.js.map +1 -0
- package/dist/wrappers/CardWrapper.d.ts +3 -0
- package/dist/wrappers/CardWrapper.js +5 -0
- package/dist/wrappers/CardWrapper.js.map +1 -0
- package/dist/wrappers/DisclosureWrapper.d.ts +3 -0
- package/dist/wrappers/DisclosureWrapper.js +5 -0
- package/dist/wrappers/DisclosureWrapper.js.map +1 -0
- package/dist/wrappers/FormErrorWrapper.d.ts +3 -0
- package/dist/wrappers/FormErrorWrapper.js +5 -0
- package/dist/wrappers/FormErrorWrapper.js.map +1 -0
- package/dist/wrappers/index.d.ts +1 -0
- package/dist/wrappers/index.js +11 -0
- package/dist/wrappers/index.js.map +1 -0
- package/package.json +36 -4
- package/scripts/build-css.cjs +1 -1
- package/scripts/generate-config.cjs +1 -0
- package/scripts/generateRecursiveIndex.cjs +4 -1
- package/tailwind.config.js +1 -1
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js +0 -70
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-Cirr0hMB.js.map +0 -1
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-tYAo46wK.js.map +0 -1
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js +0 -1300
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-LE2kDHpU.js.map +0 -1
- package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-Cg83utkU.js.map +0 -1
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-xE5bCa3O.js +0 -123
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-xE5bCa3O.js.map +0 -1
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js +0 -217
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-BpfPAZiT.js.map +0 -1
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-DvT03FIS.js.map +0 -1
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-YV1lfgUY.js.map +0 -1
- package/dist/MonthCalendar.vue_vue_type_script_setup_true_lang-B9Bs0z8j.js +0 -66
- package/dist/MonthCalendar.vue_vue_type_script_setup_true_lang-B9Bs0z8j.js.map +0 -1
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js +0 -522
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-BPjHLHdM.js.map +0 -1
- package/dist/SidebarLayout.vue_vue_type_script_setup_true_lang-CzLbBcNS.js.map +0 -1
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-BFr2SByh.js.map +0 -1
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-DRR6jt_8.js.map +0 -1
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-CbR651TU.js.map +0 -1
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-CDNjUA1L.js.map +0 -1
- package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js +0 -82
- package/dist/UiBreadcrumb.vue_vue_type_script_setup_true_lang-quGuN9v4.js.map +0 -1
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-KbLKA4SA.js.map +0 -1
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js +0 -163
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-SAo39zpS.js.map +0 -1
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-Bz5oiCCk.js +0 -222
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-Bz5oiCCk.js.map +0 -1
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js +0 -51
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-D4-B3A7K.js.map +0 -1
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-hI1_xamh.js.map +0 -1
- package/dist/WeekCalendar.vue_vue_type_script_setup_true_lang-DAFQiRI9.js +0 -154
- package/dist/WeekCalendar.vue_vue_type_script_setup_true_lang-DAFQiRI9.js.map +0 -1
- package/dist/XMarkIcon-C4wILUsz.js.map +0 -1
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-BfJkvmpN.js +0 -29
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-BfJkvmpN.js.map +0 -1
- package/dist/calculate-active-index-CksdUwZY.js +0 -87
- package/dist/calculate-active-index-CksdUwZY.js.map +0 -1
- package/dist/calendar-905Ofszh.js +0 -77
- package/dist/calendar-905Ofszh.js.map +0 -1
- package/dist/components/TextInput.d.ts +0 -3
- package/dist/components/TextInput.js.map +0 -1
- package/dist/dialog-U1KNiPzc.js.map +0 -1
- package/dist/form-DQKuKVqJ.js +0 -51
- package/dist/form-DQKuKVqJ.js.map +0 -1
- package/dist/keyboard-DJD8TwH4.js +0 -113
- package/dist/keyboard-DJD8TwH4.js.map +0 -1
- package/dist/open-closed-DgcU-HDT.js +0 -179
- package/dist/open-closed-DgcU-HDT.js.map +0 -1
- package/dist/transition-CuxxW9dY.js +0 -209
- package/dist/transition-CuxxW9dY.js.map +0 -1
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { createElementBlock as d, openBlock as c, createElementVNode as a, defineComponent as T, ref as v, computed as w, Fragment as F, createCommentVNode as C, withModifiers as f, normalizeClass as M, createVNode as x, renderSlot as $, unref as b, createTextVNode as A, toDisplayString as g, renderList as N } from "vue";
|
|
2
|
+
import { r as X } from "./XMarkIcon-Cwy3T6p8.js";
|
|
3
|
+
function G(r, h) {
|
|
4
|
+
return c(), d("svg", {
|
|
5
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6
|
+
fill: "none",
|
|
7
|
+
viewBox: "0 0 24 24",
|
|
8
|
+
"stroke-width": "1.5",
|
|
9
|
+
stroke: "currentColor",
|
|
10
|
+
"aria-hidden": "true",
|
|
11
|
+
"data-slot": "icon"
|
|
12
|
+
}, [
|
|
13
|
+
a("path", {
|
|
14
|
+
"stroke-linecap": "round",
|
|
15
|
+
"stroke-linejoin": "round",
|
|
16
|
+
d: "M12 16.5V9.75m0 0 3 3m-3-3-3 3M6.75 19.5a4.5 4.5 0 0 1-1.41-8.775 5.25 5.25 0 0 1 10.233-2.33 3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5H6.75Z"
|
|
17
|
+
})
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
function L(r, h) {
|
|
21
|
+
return c(), d("svg", {
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
fill: "none",
|
|
24
|
+
viewBox: "0 0 24 24",
|
|
25
|
+
"stroke-width": "1.5",
|
|
26
|
+
stroke: "currentColor",
|
|
27
|
+
"aria-hidden": "true",
|
|
28
|
+
"data-slot": "icon"
|
|
29
|
+
}, [
|
|
30
|
+
a("path", {
|
|
31
|
+
"stroke-linecap": "round",
|
|
32
|
+
"stroke-linejoin": "round",
|
|
33
|
+
d: "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"
|
|
34
|
+
})
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
const O = { class: "sl-flex sl-flex-col sl-items-center sl-justify-center sl-py-5" }, H = { class: "sl-text-xs sl-text-gray-400 dark:sl-text-slate-300" }, W = {
|
|
38
|
+
key: 0,
|
|
39
|
+
class: "sl-mt-4 sl-w-full sl-px-4"
|
|
40
|
+
}, Z = { class: "sl-flex sl-flex-wrap sl-gap-2 sl-justify-center" }, R = { class: "sl-text-xs sl-text-gray-600 dark:sl-text-slate-200 sl-truncate sl-max-w-[120px]" }, J = ["onClick"], U = ["accept", "multiple", "disabled"], q = {
|
|
41
|
+
key: 0,
|
|
42
|
+
class: "sl-mt-2 sl-text-sm sl-text-red-600 dark:sl-text-red-400"
|
|
43
|
+
}, le = /* @__PURE__ */ T({
|
|
44
|
+
__name: "FileDropzoneInput",
|
|
45
|
+
props: {
|
|
46
|
+
/** Allow multiple file selection */
|
|
47
|
+
enableMultiple: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: !1
|
|
50
|
+
},
|
|
51
|
+
/** Accepted MIME types */
|
|
52
|
+
acceptedFormats: {
|
|
53
|
+
type: Array,
|
|
54
|
+
default: () => ["image/jpeg", "image/png", "image/gif", "application/pdf"]
|
|
55
|
+
},
|
|
56
|
+
/** Maximum file size in MB */
|
|
57
|
+
maximumFileSize: {
|
|
58
|
+
type: Number,
|
|
59
|
+
default: 10
|
|
60
|
+
},
|
|
61
|
+
/** Disable the dropzone */
|
|
62
|
+
disabled: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: !1
|
|
65
|
+
},
|
|
66
|
+
/** Custom ring/border classes */
|
|
67
|
+
ringClasses: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: ""
|
|
70
|
+
},
|
|
71
|
+
/** Height of the dropzone */
|
|
72
|
+
height: {
|
|
73
|
+
type: String,
|
|
74
|
+
default: "md"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
emits: ["update:files", "error"],
|
|
78
|
+
setup(r, { expose: h, emit: D }) {
|
|
79
|
+
const B = {
|
|
80
|
+
"image/jpeg": "JPG",
|
|
81
|
+
"image/png": "PNG",
|
|
82
|
+
"image/gif": "GIF",
|
|
83
|
+
"image/webp": "WEBP",
|
|
84
|
+
"image/svg+xml": "SVG",
|
|
85
|
+
"application/pdf": "PDF",
|
|
86
|
+
"application/msword": "DOC",
|
|
87
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "DOCX",
|
|
88
|
+
"application/vnd.ms-excel": "XLS",
|
|
89
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "XLSX",
|
|
90
|
+
"text/csv": "CSV",
|
|
91
|
+
"text/plain": "TXT",
|
|
92
|
+
"application/zip": "ZIP",
|
|
93
|
+
"video/mp4": "MP4",
|
|
94
|
+
"video/webm": "WEBM",
|
|
95
|
+
"audio/mpeg": "MP3",
|
|
96
|
+
"audio/wav": "WAV"
|
|
97
|
+
}, t = r, m = D, u = v(null), l = v([]), p = v(!1), i = v(""), S = w(() => {
|
|
98
|
+
const e = {
|
|
99
|
+
sm: "sl-h-32",
|
|
100
|
+
md: "sl-h-48",
|
|
101
|
+
lg: "sl-h-64",
|
|
102
|
+
auto: "sl-min-h-[128px]"
|
|
103
|
+
};
|
|
104
|
+
return e[t.height] || e.md;
|
|
105
|
+
}), _ = w(() => t.acceptedFormats.map((e) => B[e] || e.split("/")[1]?.toUpperCase()).filter(Boolean).join(", ")), y = (e) => {
|
|
106
|
+
const s = [], o = t.maximumFileSize * 1024 * 1024;
|
|
107
|
+
return Array.from(e).forEach((n) => {
|
|
108
|
+
if (!t.acceptedFormats.includes(n.type)) {
|
|
109
|
+
i.value = `File type "${n.type}" is not accepted`, m("error", i.value);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (n.size > o) {
|
|
113
|
+
i.value = `File "${n.name}" exceeds the maximum size of ${t.maximumFileSize}MB`, m("error", i.value);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
s.push(n);
|
|
117
|
+
}), s.length > 0 && (i.value = ""), s;
|
|
118
|
+
}, j = (e) => {
|
|
119
|
+
const s = e.target.files;
|
|
120
|
+
if (s) {
|
|
121
|
+
const o = y(s);
|
|
122
|
+
o.length > 0 && (t.enableMultiple ? l.value = [...l.value, ...o] : l.value = o.slice(0, 1), m("update:files", l.value));
|
|
123
|
+
}
|
|
124
|
+
u.value && (u.value.value = "");
|
|
125
|
+
}, z = (e) => {
|
|
126
|
+
if (p.value = !1, !t.disabled && e.dataTransfer?.files) {
|
|
127
|
+
const s = y(e.dataTransfer.files);
|
|
128
|
+
s.length > 0 && (t.enableMultiple ? l.value = [...l.value, ...s] : l.value = s.slice(0, 1), m("update:files", l.value));
|
|
129
|
+
}
|
|
130
|
+
}, V = () => {
|
|
131
|
+
t.disabled || (p.value = !0);
|
|
132
|
+
}, E = () => {
|
|
133
|
+
t.disabled || (p.value = !0);
|
|
134
|
+
}, I = () => {
|
|
135
|
+
p.value = !1;
|
|
136
|
+
}, k = () => {
|
|
137
|
+
t.disabled || u.value?.click();
|
|
138
|
+
}, P = (e) => {
|
|
139
|
+
l.value.splice(e, 1), m("update:files", l.value);
|
|
140
|
+
};
|
|
141
|
+
return h({ clearFiles: () => {
|
|
142
|
+
l.value = [], i.value = "", u.value && (u.value.value = "");
|
|
143
|
+
}, triggerFileInputClick: k }), (e, s) => (c(), d(F, null, [
|
|
144
|
+
a("div", {
|
|
145
|
+
class: M([
|
|
146
|
+
"sl-flex sl-flex-col sl-items-center sl-justify-center sl-w-full sl-rounded-lg sl-cursor-pointer sl-transition-colors",
|
|
147
|
+
"sl-bg-gray-50 dark:sl-bg-slate-800/50 hover:sl-bg-gray-100 dark:hover:sl-bg-slate-800",
|
|
148
|
+
r.ringClasses ? r.ringClasses : "sl-border-2 sl-border-dashed sl-border-gray-300 dark:sl-border-slate-600",
|
|
149
|
+
{ "sl-opacity-50 sl-cursor-not-allowed": r.disabled },
|
|
150
|
+
{ "sl-border-primary-500 sl-bg-primary-50 dark:sl-bg-primary-900/20": p.value },
|
|
151
|
+
S.value
|
|
152
|
+
]),
|
|
153
|
+
onClick: k,
|
|
154
|
+
onDragover: f(V, ["prevent"]),
|
|
155
|
+
onDragenter: f(E, ["prevent"]),
|
|
156
|
+
onDragleave: f(I, ["prevent"]),
|
|
157
|
+
onDrop: f(z, ["prevent"])
|
|
158
|
+
}, [
|
|
159
|
+
a("div", O, [
|
|
160
|
+
x(b(G), {
|
|
161
|
+
class: M([
|
|
162
|
+
"sl-h-10 sl-w-10 sl-mb-3",
|
|
163
|
+
p.value ? "sl-text-primary-500" : "sl-text-gray-400 dark:sl-text-slate-300"
|
|
164
|
+
]),
|
|
165
|
+
"aria-hidden": "true"
|
|
166
|
+
}, null, 8, ["class"]),
|
|
167
|
+
$(e.$slots, "default", {}, () => [
|
|
168
|
+
s[0] || (s[0] = a("p", { class: "sl-mb-2 sl-text-sm sl-text-gray-500 dark:sl-text-slate-300" }, [
|
|
169
|
+
a("span", { class: "sl-font-semibold" }, "Click to upload"),
|
|
170
|
+
A(" or drag and drop ")
|
|
171
|
+
], -1)),
|
|
172
|
+
a("p", H, g(_.value) + " (MAX. " + g(r.maximumFileSize) + "MB) ", 1)
|
|
173
|
+
]),
|
|
174
|
+
l.value.length > 0 ? (c(), d("div", W, [
|
|
175
|
+
a("div", Z, [
|
|
176
|
+
(c(!0), d(F, null, N(l.value, (o, n) => (c(), d("div", {
|
|
177
|
+
key: n,
|
|
178
|
+
class: "sl-flex sl-items-center sl-gap-2 sl-bg-white dark:sl-bg-slate-700 sl-rounded-md sl-px-3 sl-py-1.5 sl-shadow-sm sl-border sl-border-gray-200 dark:sl-border-slate-600"
|
|
179
|
+
}, [
|
|
180
|
+
x(b(L), { class: "sl-h-4 sl-w-4 sl-text-gray-400 dark:sl-text-slate-300" }),
|
|
181
|
+
a("span", R, g(o.name), 1),
|
|
182
|
+
a("button", {
|
|
183
|
+
type: "button",
|
|
184
|
+
class: "sl-text-gray-400 hover:sl-text-red-500 dark:sl-text-slate-300 dark:hover:sl-text-red-400 sl-transition-colors sl-p-0 sl-border-0 sl-bg-transparent sl-cursor-pointer",
|
|
185
|
+
onClick: f((Q) => P(n), ["stop"])
|
|
186
|
+
}, [
|
|
187
|
+
x(b(X), { class: "sl-h-4 sl-w-4" })
|
|
188
|
+
], 8, J)
|
|
189
|
+
]))), 128))
|
|
190
|
+
])
|
|
191
|
+
])) : C("", !0)
|
|
192
|
+
]),
|
|
193
|
+
a("input", {
|
|
194
|
+
ref_key: "fileInputRef",
|
|
195
|
+
ref: u,
|
|
196
|
+
type: "file",
|
|
197
|
+
class: "sl-hidden",
|
|
198
|
+
accept: r.acceptedFormats.join(", "),
|
|
199
|
+
multiple: r.enableMultiple,
|
|
200
|
+
disabled: r.disabled,
|
|
201
|
+
onChange: j
|
|
202
|
+
}, null, 40, U)
|
|
203
|
+
], 34),
|
|
204
|
+
i.value ? (c(), d("p", q, g(i.value), 1)) : C("", !0)
|
|
205
|
+
], 64));
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
export {
|
|
209
|
+
le as _
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js","sources":["../node_modules/@heroicons/vue/24/outline/esm/CloudArrowUpIcon.js","../node_modules/@heroicons/vue/24/outline/esm/DocumentIcon.js","../src/components/inputs/FileDropzoneInput.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"1.5\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\"\n }, [\n _createElementVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"M12 16.5V9.75m0 0 3 3m-3-3-3 3M6.75 19.5a4.5 4.5 0 0 1-1.41-8.775 5.25 5.25 0 0 1 10.233-2.33 3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5H6.75Z\"\n })\n ]))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"1.5\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\"\n }, [\n _createElementVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z\"\n })\n ]))\n}","<template>\n <div\n :class=\"[\n 'sl-flex sl-flex-col sl-items-center sl-justify-center sl-w-full sl-rounded-lg sl-cursor-pointer sl-transition-colors',\n 'sl-bg-gray-50 dark:sl-bg-slate-800/50 hover:sl-bg-gray-100 dark:hover:sl-bg-slate-800',\n ringClasses ? ringClasses : 'sl-border-2 sl-border-dashed sl-border-gray-300 dark:sl-border-slate-600',\n { 'sl-opacity-50 sl-cursor-not-allowed': disabled },\n { 'sl-border-primary-500 sl-bg-primary-50 dark:sl-bg-primary-900/20': isDragOver },\n heightClass\n ]\"\n @click=\"triggerFileInputClick\"\n @dragover.prevent=\"handleDragOver\"\n @dragenter.prevent=\"handleDragEnter\"\n @dragleave.prevent=\"handleDragLeave\"\n @drop.prevent=\"handleDrop\"\n >\n <div class=\"sl-flex sl-flex-col sl-items-center sl-justify-center sl-py-5\">\n <CloudArrowUpIcon\n :class=\"[\n 'sl-h-10 sl-w-10 sl-mb-3',\n isDragOver ? 'sl-text-primary-500' : 'sl-text-gray-400 dark:sl-text-slate-300'\n ]\"\n aria-hidden=\"true\"\n />\n \n <slot>\n <p class=\"sl-mb-2 sl-text-sm sl-text-gray-500 dark:sl-text-slate-300\">\n <span class=\"sl-font-semibold\">Click to upload</span> or drag and drop\n </p>\n <p class=\"sl-text-xs sl-text-gray-400 dark:sl-text-slate-300\">\n {{ acceptedFormatsText }} (MAX. {{ maximumFileSize }}MB)\n </p>\n </slot>\n \n <!-- Selected files preview -->\n <div v-if=\"selectedFiles.length > 0\" class=\"sl-mt-4 sl-w-full sl-px-4\">\n <div class=\"sl-flex sl-flex-wrap sl-gap-2 sl-justify-center\">\n <div\n v-for=\"(file, index) in selectedFiles\"\n :key=\"index\"\n class=\"sl-flex sl-items-center sl-gap-2 sl-bg-white dark:sl-bg-slate-700 sl-rounded-md sl-px-3 sl-py-1.5 sl-shadow-sm sl-border sl-border-gray-200 dark:sl-border-slate-600\"\n >\n <DocumentIcon class=\"sl-h-4 sl-w-4 sl-text-gray-400 dark:sl-text-slate-300\" />\n <span class=\"sl-text-xs sl-text-gray-600 dark:sl-text-slate-200 sl-truncate sl-max-w-[120px]\">{{ file.name }}</span>\n <button\n type=\"button\"\n class=\"sl-text-gray-400 hover:sl-text-red-500 dark:sl-text-slate-300 dark:hover:sl-text-red-400 sl-transition-colors sl-p-0 sl-border-0 sl-bg-transparent sl-cursor-pointer\"\n @click.stop=\"removeFile(index)\"\n >\n <XMarkIcon class=\"sl-h-4 sl-w-4\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n \n <input\n ref=\"fileInputRef\"\n type=\"file\"\n class=\"sl-hidden\"\n :accept=\"acceptedFormats.join(', ')\"\n :multiple=\"enableMultiple\"\n :disabled=\"disabled\"\n @change=\"handleInputFileChange\"\n />\n </div>\n \n <!-- Error message -->\n <p v-if=\"errorMessage\" class=\"sl-mt-2 sl-text-sm sl-text-red-600 dark:sl-text-red-400\">\n {{ errorMessage }}\n </p>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, type PropType } from 'vue';\nimport { CloudArrowUpIcon, DocumentIcon, XMarkIcon } from '@heroicons/vue/24/outline';\n\nexport type AcceptedFileType = \n | 'image/jpeg'\n | 'image/png'\n | 'image/gif'\n | 'image/webp'\n | 'image/svg+xml'\n | 'application/pdf'\n | 'application/msword'\n | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n | 'application/vnd.ms-excel'\n | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n | 'text/csv'\n | 'text/plain'\n | 'application/zip'\n | 'video/mp4'\n | 'video/webm'\n | 'audio/mpeg'\n | 'audio/wav';\n\nconst mimeToExtension: Record<string, string> = {\n 'image/jpeg': 'JPG',\n 'image/png': 'PNG',\n 'image/gif': 'GIF',\n 'image/webp': 'WEBP',\n 'image/svg+xml': 'SVG',\n 'application/pdf': 'PDF',\n 'application/msword': 'DOC',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'DOCX',\n 'application/vnd.ms-excel': 'XLS',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'XLSX',\n 'text/csv': 'CSV',\n 'text/plain': 'TXT',\n 'application/zip': 'ZIP',\n 'video/mp4': 'MP4',\n 'video/webm': 'WEBM',\n 'audio/mpeg': 'MP3',\n 'audio/wav': 'WAV',\n};\n\nconst props = defineProps({\n /** Allow multiple file selection */\n enableMultiple: {\n type: Boolean,\n default: false,\n },\n /** Accepted MIME types */\n acceptedFormats: {\n type: Array as PropType<AcceptedFileType[]>,\n default: () => ['image/jpeg', 'image/png', 'image/gif', 'application/pdf'],\n },\n /** Maximum file size in MB */\n maximumFileSize: {\n type: Number,\n default: 10,\n },\n /** Disable the dropzone */\n disabled: {\n type: Boolean,\n default: false,\n },\n /** Custom ring/border classes */\n ringClasses: {\n type: String,\n default: '',\n },\n /** Height of the dropzone */\n height: {\n type: String as PropType<'sm' | 'md' | 'lg' | 'auto'>,\n default: 'md',\n },\n});\n\nconst emit = defineEmits<{\n (e: 'update:files', files: FileList | File[]): void;\n (e: 'error', message: string): void;\n}>();\n\nconst fileInputRef = ref<HTMLInputElement | null>(null);\nconst selectedFiles = ref<File[]>([]);\nconst isDragOver = ref(false);\nconst errorMessage = ref('');\n\nconst heightClass = computed(() => {\n const heights: Record<string, string> = {\n sm: 'sl-h-32',\n md: 'sl-h-48',\n lg: 'sl-h-64',\n auto: 'sl-min-h-[128px]',\n };\n return heights[props.height] || heights.md;\n});\n\nconst acceptedFormatsText = computed(() => {\n return props.acceptedFormats\n .map(format => mimeToExtension[format] || format.split('/')[1]?.toUpperCase())\n .filter(Boolean)\n .join(', ');\n});\n\nconst validateFiles = (files: FileList | File[]): File[] => {\n const validFiles: File[] = [];\n const maxBytes = props.maximumFileSize * 1024 * 1024;\n \n Array.from(files).forEach(file => {\n // Check file type\n if (!props.acceptedFormats.includes(file.type as AcceptedFileType)) {\n errorMessage.value = `File type \"${file.type}\" is not accepted`;\n emit('error', errorMessage.value);\n return;\n }\n \n // Check file size\n if (file.size > maxBytes) {\n errorMessage.value = `File \"${file.name}\" exceeds the maximum size of ${props.maximumFileSize}MB`;\n emit('error', errorMessage.value);\n return;\n }\n \n validFiles.push(file);\n });\n \n if (validFiles.length > 0) {\n errorMessage.value = '';\n }\n \n return validFiles;\n};\n\nconst handleInputFileChange = (event: Event) => {\n const files = (event.target as HTMLInputElement).files;\n if (files) {\n const validFiles = validateFiles(files);\n if (validFiles.length > 0) {\n if (props.enableMultiple) {\n selectedFiles.value = [...selectedFiles.value, ...validFiles];\n } else {\n selectedFiles.value = validFiles.slice(0, 1);\n }\n emit('update:files', selectedFiles.value);\n }\n }\n \n // Reset input so same file can be selected again\n if (fileInputRef.value) {\n fileInputRef.value.value = '';\n }\n};\n\nconst handleDrop = (event: DragEvent) => {\n isDragOver.value = false;\n \n if (props.disabled) return;\n \n if (event.dataTransfer?.files) {\n const validFiles = validateFiles(event.dataTransfer.files);\n if (validFiles.length > 0) {\n if (props.enableMultiple) {\n selectedFiles.value = [...selectedFiles.value, ...validFiles];\n } else {\n selectedFiles.value = validFiles.slice(0, 1);\n }\n emit('update:files', selectedFiles.value);\n }\n }\n};\n\nconst handleDragOver = () => {\n if (!props.disabled) {\n isDragOver.value = true;\n }\n};\n\nconst handleDragEnter = () => {\n if (!props.disabled) {\n isDragOver.value = true;\n }\n};\n\nconst handleDragLeave = () => {\n isDragOver.value = false;\n};\n\nconst triggerFileInputClick = () => {\n if (!props.disabled) {\n fileInputRef.value?.click();\n }\n};\n\nconst removeFile = (index: number) => {\n selectedFiles.value.splice(index, 1);\n emit('update:files', selectedFiles.value);\n};\n\nconst clearFiles = () => {\n selectedFiles.value = [];\n errorMessage.value = '';\n if (fileInputRef.value) {\n fileInputRef.value.value = '';\n }\n};\n\n// Expose methods\ndefineExpose({ clearFiles, triggerFileInputClick });\n</script>\n\n"],"names":["render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","mimeToExtension","props","__props","emit","__emit","fileInputRef","ref","selectedFiles","isDragOver","errorMessage","heightClass","computed","heights","acceptedFormatsText","format","validateFiles","files","validFiles","maxBytes","file","handleInputFileChange","event","handleDrop","handleDragOver","handleDragEnter","handleDragLeave","triggerFileInputClick","removeFile","index","__expose","_normalizeClass","_hoisted_1","_createVNode","_unref","CloudArrowUpIcon","_renderSlot","_hoisted_2","_toDisplayString","_hoisted_3","_hoisted_4","_Fragment","_renderList","DocumentIcon","_hoisted_5","_withModifiers","$event","XMarkIcon","_hoisted_8"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { defineComponent as v, computed as f, createElementBlock as c, openBlock as i, renderSlot as x, createElementVNode as l, createVNode as m, unref as s, withCtx as y, Fragment as _, renderList as g, toDisplayString as w } from "vue";
|
|
2
|
+
import { r as E } from "./ExclamationCircleIcon-DjxYk45_.js";
|
|
3
|
+
import { S as k } from "./transition-_rPfnoET.js";
|
|
4
|
+
const S = "sl-transition-all sl-duration-500 sl-overflow-hidden", b = "sl-transform sl-scale-95 sl-opacity-0 sl-max-h-0", B = "sl-transform sl-scale-100 sl-opacity-100 sl-max-h-96", F = "sl-transition-all sl-duration-500 sl-overflow-hidden", L = "sl-transform sl-scale-100 sl-opacity-100 sl-max-h-96", T = "sl-transform sl-scale-95 sl-opacity-0 sl-max-h-0", N = { class: "sl-mt-4" }, j = { class: "sl-flex sl-grow sl-rounded-md sl-bg-red-50 dark:sl-bg-red-900/20 sl-p-3 sl-text-sm sl-text-red-600 dark:sl-text-red-400 sl-ring-1 sl-ring-red-100 dark:sl-ring-red-800" }, C = { class: "sl-space-y-1" }, M = /* @__PURE__ */ v({
|
|
5
|
+
__name: "FormErrorWrapper",
|
|
6
|
+
props: {
|
|
7
|
+
errors: { default: () => ({}) },
|
|
8
|
+
show: { type: Boolean, default: !1 }
|
|
9
|
+
},
|
|
10
|
+
setup(u) {
|
|
11
|
+
const d = u, o = (t) => {
|
|
12
|
+
const r = [];
|
|
13
|
+
for (const n in t) {
|
|
14
|
+
const e = t[n];
|
|
15
|
+
if (typeof e == "string") {
|
|
16
|
+
try {
|
|
17
|
+
const a = JSON.parse(e);
|
|
18
|
+
if (typeof a == "object" && a !== null) {
|
|
19
|
+
r.push(...o(a));
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
} catch {
|
|
23
|
+
}
|
|
24
|
+
r.push(e);
|
|
25
|
+
} else typeof e == "object" && e !== null && r.push(...o(e));
|
|
26
|
+
}
|
|
27
|
+
return r;
|
|
28
|
+
}, p = f(() => o(d.errors).filter(Boolean)), h = f(() => d.show && p.value.length > 0);
|
|
29
|
+
return (t, r) => (i(), c("div", null, [
|
|
30
|
+
x(t.$slots, "default"),
|
|
31
|
+
l("div", N, [
|
|
32
|
+
m(s(k), {
|
|
33
|
+
show: h.value,
|
|
34
|
+
enter: s(S),
|
|
35
|
+
"enter-from": s(b),
|
|
36
|
+
"enter-to": s(B),
|
|
37
|
+
leave: s(F),
|
|
38
|
+
"leave-from": s(L),
|
|
39
|
+
"leave-to": s(T)
|
|
40
|
+
}, {
|
|
41
|
+
default: y(() => [
|
|
42
|
+
l("div", j, [
|
|
43
|
+
l("ul", C, [
|
|
44
|
+
(i(!0), c(_, null, g(p.value, (n, e) => (i(), c("li", {
|
|
45
|
+
key: e,
|
|
46
|
+
class: "sl-flex sl-items-center sl-gap-2"
|
|
47
|
+
}, [
|
|
48
|
+
m(s(E), { class: "sl-h-4 sl-w-4 sl-flex-shrink-0" }),
|
|
49
|
+
l("span", null, w(n), 1)
|
|
50
|
+
]))), 128))
|
|
51
|
+
])
|
|
52
|
+
])
|
|
53
|
+
]),
|
|
54
|
+
_: 1
|
|
55
|
+
}, 8, ["show", "enter", "enter-from", "enter-to", "leave", "leave-from", "leave-to"])
|
|
56
|
+
])
|
|
57
|
+
]));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
export {
|
|
61
|
+
M as _
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js","sources":["../src/utils/transitions.ts","../src/components/wrappers/FormErrorWrapper.vue"],"sourcesContent":["/**\n * Transition class utilities for HeadlessUI components\n */\n\n// Standard enter/leave transitions\nexport const enterTransitionClasses = 'sl-transition sl-ease-out sl-duration-300';\nexport const enterFromTransitionClasses = 'sl-opacity-0 sl-translate-y-4 sm:sl-translate-y-0 sm:sl-scale-95';\nexport const enterToTransitionClasses = 'sl-opacity-100 sl-translate-y-0 sm:sl-scale-100';\nexport const leaveTransitionClasses = 'sl-transition sl-ease-in sl-duration-200';\nexport const leaveFromTransitionClasses = 'sl-opacity-100 sl-translate-y-0 sm:sl-scale-100';\nexport const leaveToTransitionClasses = 'sl-opacity-0 sl-translate-y-4 sm:sl-translate-y-0 sm:sl-scale-95';\n\n// Fade transitions\nexport const fadeEnterTransition = 'sl-transition-opacity sl-ease-out sl-duration-300';\nexport const fadeEnterFrom = 'sl-opacity-0';\nexport const fadeEnterTo = 'sl-opacity-100';\nexport const fadeLeaveTransition = 'sl-transition-opacity sl-ease-in sl-duration-200';\nexport const fadeLeaveFrom = 'sl-opacity-100';\nexport const fadeLeaveTo = 'sl-opacity-0';\n\n// Slide transitions\nexport const slideEnterTransition = 'sl-transform sl-transition sl-ease-in-out sl-duration-300';\nexport const slideEnterFromLeft = '-sl-translate-x-full';\nexport const slideEnterFromRight = 'sl-translate-x-full';\nexport const slideEnterFromTop = '-sl-translate-y-full';\nexport const slideEnterFromBottom = 'sl-translate-y-full';\nexport const slideEnterTo = 'sl-translate-x-0 sl-translate-y-0';\nexport const slideLeaveTransition = 'sl-transform sl-transition sl-ease-in-out sl-duration-300';\nexport const slideLeaveFrom = 'sl-translate-x-0 sl-translate-y-0';\nexport const slideLeaveToLeft = '-sl-translate-x-full';\nexport const slideLeaveToRight = 'sl-translate-x-full';\nexport const slideLeaveToTop = '-sl-translate-y-full';\nexport const slideLeaveToBottom = 'sl-translate-y-full';\n\n// Scale transitions\nexport const scaleEnterTransition = 'sl-transition sl-ease-out sl-duration-200';\nexport const scaleEnterFrom = 'sl-opacity-0 sl-scale-95';\nexport const scaleEnterTo = 'sl-opacity-100 sl-scale-100';\nexport const scaleLeaveTransition = 'sl-transition sl-ease-in sl-duration-150';\nexport const scaleLeaveFrom = 'sl-opacity-100 sl-scale-100';\nexport const scaleLeaveTo = 'sl-opacity-0 sl-scale-95';\n\n// Height-based expand/collapse transitions (for FormErrorWrapper, accordions, etc.)\nexport const expandEnterTransition = 'sl-transition-all sl-duration-500 sl-overflow-hidden';\nexport const expandEnterFrom = 'sl-transform sl-scale-95 sl-opacity-0 sl-max-h-0';\nexport const expandEnterTo = 'sl-transform sl-scale-100 sl-opacity-100 sl-max-h-96';\nexport const expandLeaveTransition = 'sl-transition-all sl-duration-500 sl-overflow-hidden';\nexport const expandLeaveFrom = 'sl-transform sl-scale-100 sl-opacity-100 sl-max-h-96';\nexport const expandLeaveTo = 'sl-transform sl-scale-95 sl-opacity-0 sl-max-h-0';\n\n/**\n * Helper to create transition props for HeadlessUI components\n */\nexport interface TransitionProps {\n enter: string;\n enterFrom: string;\n enterTo: string;\n leave: string;\n leaveFrom: string;\n leaveTo: string;\n}\n\nexport function createFadeTransition(): TransitionProps {\n return {\n enter: fadeEnterTransition,\n enterFrom: fadeEnterFrom,\n enterTo: fadeEnterTo,\n leave: fadeLeaveTransition,\n leaveFrom: fadeLeaveFrom,\n leaveTo: fadeLeaveTo,\n };\n}\n\nexport function createScaleTransition(): TransitionProps {\n return {\n enter: scaleEnterTransition,\n enterFrom: scaleEnterFrom,\n enterTo: scaleEnterTo,\n leave: scaleLeaveTransition,\n leaveFrom: scaleLeaveFrom,\n leaveTo: scaleLeaveTo,\n };\n}\n\nexport function createSlideTransition(direction: 'left' | 'right' | 'top' | 'bottom' = 'left'): TransitionProps {\n const enterFrom = {\n left: slideEnterFromLeft,\n right: slideEnterFromRight,\n top: slideEnterFromTop,\n bottom: slideEnterFromBottom,\n }[direction];\n \n const leaveTo = {\n left: slideLeaveToLeft,\n right: slideLeaveToRight,\n top: slideLeaveToTop,\n bottom: slideLeaveToBottom,\n }[direction];\n \n return {\n enter: slideEnterTransition,\n enterFrom,\n enterTo: slideEnterTo,\n leave: slideLeaveTransition,\n leaveFrom: slideLeaveFrom,\n leaveTo,\n };\n}\n\nexport function createExpandTransition(): TransitionProps {\n return {\n enter: expandEnterTransition,\n enterFrom: expandEnterFrom,\n enterTo: expandEnterTo,\n leave: expandLeaveTransition,\n leaveFrom: expandLeaveFrom,\n leaveTo: expandLeaveTo,\n };\n}\n\n","<!--\n @component FormErrorWrapper\n @description Form error display container with transition.\n \n A wrapper that displays form validation errors in a styled container\n with smooth enter/leave transitions.\n \n @props\n - errors (object, optional): Object with error messages keyed by field name\n - show (boolean, optional): Whether to show the error container\n \n @slots\n - default: Content to wrap (usually the form)\n-->\n<template>\n <div>\n <slot />\n <div class=\"sl-mt-4\">\n <TransitionRoot \n :show=\"showErrors\" \n :enter=\"expandEnterTransition\"\n :enter-from=\"expandEnterFrom\"\n :enter-to=\"expandEnterTo\"\n :leave=\"expandLeaveTransition\"\n :leave-from=\"expandLeaveFrom\"\n :leave-to=\"expandLeaveTo\"\n >\n <div class=\"sl-flex sl-grow sl-rounded-md sl-bg-red-50 dark:sl-bg-red-900/20 sl-p-3 sl-text-sm sl-text-red-600 dark:sl-text-red-400 sl-ring-1 sl-ring-red-100 dark:sl-ring-red-800\">\n <ul class=\"sl-space-y-1\">\n <li \n v-for=\"(error, i) in formattedErrors\" \n :key=\"i\" \n class=\"sl-flex sl-items-center sl-gap-2\"\n >\n <ExclamationCircleIcon class=\"sl-h-4 sl-w-4 sl-flex-shrink-0\" />\n <span>{{ error }}</span>\n </li>\n </ul>\n </div>\n </TransitionRoot>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { TransitionRoot } from '@headlessui/vue';\nimport { ExclamationCircleIcon } from '@heroicons/vue/24/outline';\nimport {\n expandEnterTransition,\n expandEnterFrom,\n expandEnterTo,\n expandLeaveTransition,\n expandLeaveFrom,\n expandLeaveTo,\n} from '../../utils/transitions';\n\ninterface Props {\n errors?: Record<string, string | undefined | Record<string, unknown>>;\n show?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n errors: () => ({}),\n show: false,\n});\n\n/**\n * Recursively flatten nested error objects into an array of strings\n */\nconst flattenErrors = (errors: Record<string, unknown>): string[] => {\n const errorMessages: string[] = [];\n \n for (const key in errors) {\n const value = errors[key];\n \n if (typeof value === 'string') {\n // Attempt to parse the string as JSON\n try {\n const parsed = JSON.parse(value);\n if (typeof parsed === 'object' && parsed !== null) {\n errorMessages.push(...flattenErrors(parsed as Record<string, unknown>));\n continue;\n }\n } catch {\n // Not a valid JSON string, it's a regular error message\n }\n errorMessages.push(value);\n } else if (typeof value === 'object' && value !== null) {\n errorMessages.push(...flattenErrors(value as Record<string, unknown>));\n }\n }\n \n return errorMessages;\n};\n\nconst formattedErrors = computed(() => {\n return flattenErrors(props.errors as Record<string, unknown>).filter(Boolean);\n});\n\nconst showErrors = computed(() => {\n return props.show && formattedErrors.value.length > 0;\n});\n</script>\n\n"],"names":["expandEnterTransition","expandEnterFrom","expandEnterTo","expandLeaveTransition","expandLeaveFrom","expandLeaveTo","props","__props","flattenErrors","errors","errorMessages","key","value","parsed","formattedErrors","computed","showErrors","_createElementBlock","_renderSlot","_ctx","_createElementVNode","_hoisted_1","_createVNode","_unref","TransitionRoot","_hoisted_2","_hoisted_3","_openBlock","_Fragment","_renderList","error","i","ExclamationCircleIcon"],"mappings":";;;AA2CO,MAAMA,IAAwB,wDACxBC,IAAkB,oDAClBC,IAAgB,wDAChBC,IAAwB,wDACxBC,IAAkB,wDAClBC,IAAgB;;;;;;;ACc7B,UAAMC,IAAQC,GAQRC,IAAgB,CAACC,MAA8C;AACnE,YAAMC,IAA0B,CAAA;AAEhC,iBAAWC,KAAOF,GAAQ;AACxB,cAAMG,IAAQH,EAAOE,CAAG;AAExB,YAAI,OAAOC,KAAU,UAAU;AAE7B,cAAI;AACF,kBAAMC,IAAS,KAAK,MAAMD,CAAK;AAC/B,gBAAI,OAAOC,KAAW,YAAYA,MAAW,MAAM;AACjD,cAAAH,EAAc,KAAK,GAAGF,EAAcK,CAAiC,CAAC;AACtE;AAAA,YACF;AAAA,UACF,QAAQ;AAAA,UAER;AACA,UAAAH,EAAc,KAAKE,CAAK;AAAA,QAC1B,MAAA,CAAW,OAAOA,KAAU,YAAYA,MAAU,QAChDF,EAAc,KAAK,GAAGF,EAAcI,CAAgC,CAAC;AAAA,MAEzE;AAEA,aAAOF;AAAA,IACT,GAEMI,IAAkBC,EAAS,MACxBP,EAAcF,EAAM,MAAiC,EAAE,OAAO,OAAO,CAC7E,GAEKU,IAAaD,EAAS,MACnBT,EAAM,QAAQQ,EAAgB,MAAM,SAAS,CACrD;2BAvFCG,EA0BM,OAAA,MAAA;AAAA,MAzBJC,EAAQC,EAAA,QAAA,SAAA;AAAA,MACRC,EAuBM,OAvBNC,GAuBM;AAAA,QAtBJC,EAqBiBC,EAAAC,CAAA,GAAA;AAAA,UApBd,MAAMR,EAAA;AAAA,UACN,OAAOO,EAAAvB,CAAA;AAAA,UACP,cAAYuB,EAAAtB,CAAA;AAAA,UACZ,YAAUsB,EAAArB,CAAA;AAAA,UACV,OAAOqB,EAAApB,CAAA;AAAA,UACP,cAAYoB,EAAAnB,CAAA;AAAA,UACZ,YAAUmB,EAAAlB,CAAA;AAAA,QAAA;qBAEX,MAWM;AAAA,YAXNe,EAWM,OAXNK,GAWM;AAAA,cAVJL,EASK,MATLM,GASK;AAAA,iBARHC,EAAA,EAAA,GAAAV,EAOKW,GAAA,MAAAC,EANkBf,EAAA,OAAe,CAA5BgB,GAAOC,YADjBd,EAOK,MAAA;AAAA,kBALF,KAAKc;AAAA,kBACN,OAAM;AAAA,gBAAA;kBAENT,EAAgEC,EAAAS,CAAA,GAAA,EAAzC,OAAM,kCAAgC;AAAA,kBAC7DZ,EAAwB,gBAAfU,CAAK,GAAA,CAAA;AAAA,gBAAA;;;;;;;;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { defineComponent as n, computed as s, createBlock as f, openBlock as c, mergeProps as p } from "vue";
|
|
2
|
+
import d from "./charts/BaseChart.js";
|
|
3
|
+
import { chartColors as h } from "./charts/chartTheme.js";
|
|
4
|
+
const C = /* @__PURE__ */ n({
|
|
5
|
+
__name: "FunnelChart",
|
|
6
|
+
props: {
|
|
7
|
+
data: {},
|
|
8
|
+
title: {},
|
|
9
|
+
height: { default: 300 },
|
|
10
|
+
colors: { default: () => h.primary },
|
|
11
|
+
loading: { type: Boolean, default: !1 },
|
|
12
|
+
sort: { default: "descending" },
|
|
13
|
+
showLabels: { type: Boolean, default: !0 }
|
|
14
|
+
},
|
|
15
|
+
emits: ["click"],
|
|
16
|
+
setup(o, { emit: i }) {
|
|
17
|
+
const t = o, l = i, r = s(() => ({
|
|
18
|
+
title: t.title ? { text: t.title } : void 0,
|
|
19
|
+
tooltip: {
|
|
20
|
+
trigger: "item",
|
|
21
|
+
formatter: "{b}: {c}"
|
|
22
|
+
},
|
|
23
|
+
color: t.colors,
|
|
24
|
+
series: [{
|
|
25
|
+
type: "funnel",
|
|
26
|
+
left: "10%",
|
|
27
|
+
width: "80%",
|
|
28
|
+
minSize: "20%",
|
|
29
|
+
maxSize: "100%",
|
|
30
|
+
gap: 2,
|
|
31
|
+
sort: t.sort,
|
|
32
|
+
label: {
|
|
33
|
+
show: t.showLabels,
|
|
34
|
+
position: "inside",
|
|
35
|
+
color: "#ffffff",
|
|
36
|
+
fontSize: 12,
|
|
37
|
+
fontWeight: 500
|
|
38
|
+
},
|
|
39
|
+
labelLine: {
|
|
40
|
+
show: !1
|
|
41
|
+
},
|
|
42
|
+
itemStyle: {
|
|
43
|
+
borderColor: "#ffffff",
|
|
44
|
+
borderWidth: 1
|
|
45
|
+
},
|
|
46
|
+
emphasis: {
|
|
47
|
+
label: {
|
|
48
|
+
fontSize: 14,
|
|
49
|
+
fontWeight: 600
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
data: t.data
|
|
53
|
+
}]
|
|
54
|
+
})), a = (e) => {
|
|
55
|
+
l("click", e);
|
|
56
|
+
};
|
|
57
|
+
return (e, m) => (c(), f(d, p({
|
|
58
|
+
option: r.value,
|
|
59
|
+
height: e.height,
|
|
60
|
+
loading: e.loading
|
|
61
|
+
}, e.$attrs, { onClick: a }), null, 16, ["option", "height", "loading"]));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
export {
|
|
65
|
+
C as _
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js","sources":["../src/components/charts/FunnelChart.vue"],"sourcesContent":["<!--\n @component FunnelChart\n @description Funnel chart for conversion/flow visualization.\n \n @props\n - data (array, required): Array of {name, value} objects\n - title (string, optional): Chart title\n - height (number|string, optional): Chart height\n - colors (array, optional): Custom color palette\n - sort (string, optional): Sort order - 'ascending' | 'descending' | 'none'\n \n @example\n <FunnelChart\n :data=\"[\n { name: 'Visits', value: 5000 },\n { name: 'Signups', value: 3000 },\n { name: 'Purchases', value: 1000 }\n ]\"\n title=\"Conversion Funnel\"\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 FunnelDataItem {\n name: string;\n value: number;\n}\n\ninterface Props {\n data: FunnelDataItem[];\n title?: string;\n height?: number | string;\n colors?: string[];\n loading?: boolean;\n sort?: 'ascending' | 'descending' | 'none';\n showLabels?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n height: 300,\n colors: () => chartColors.primary,\n loading: false,\n sort: 'descending',\n showLabels: 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 tooltip: {\n trigger: 'item',\n formatter: '{b}: {c}',\n },\n color: props.colors,\n series: [{\n type: 'funnel',\n left: '10%',\n width: '80%',\n minSize: '20%',\n maxSize: '100%',\n gap: 2,\n sort: props.sort,\n label: {\n show: props.showLabels,\n position: 'inside',\n color: '#ffffff',\n fontSize: 12,\n fontWeight: 500,\n },\n labelLine: {\n show: false,\n },\n itemStyle: {\n borderColor: '#ffffff',\n borderWidth: 1,\n },\n emphasis: {\n label: {\n fontSize: 14,\n fontWeight: 600,\n },\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","height","loading","$attrs"],"mappings":";;;;;;;;;;;;;;;;AAoDA,UAAMA,IAAQC,GAQRC,IAAOC,GAIPC,IAAcC,EAAwB,OACnC;AAAA,MACL,OAAOL,EAAM,QAAQ,EAAE,MAAMA,EAAM,UAAU;AAAA,MAC7C,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,OAAOA,EAAM;AAAA,MACb,QAAQ,CAAC;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,KAAK;AAAA,QACL,MAAMA,EAAM;AAAA,QACZ,OAAO;AAAA,UACL,MAAMA,EAAM;AAAA,UACZ,UAAU;AAAA,UACV,OAAO;AAAA,UACP,UAAU;AAAA,UACV,YAAY;AAAA,QAAA;AAAA,QAEd,WAAW;AAAA,UACT,MAAM;AAAA,QAAA;AAAA,QAER,WAAW;AAAA,UACT,aAAa;AAAA,UACb,aAAa;AAAA,QAAA;AAAA,QAEf,UAAU;AAAA,UACR,OAAO;AAAA,YACL,UAAU;AAAA,YACV,YAAY;AAAA,UAAA;AAAA,QACd;AAAA,QAEF,MAAMA,EAAM;AAAA,MAAA,CACb;AAAA,IAAA,EAEJ,GAEKM,IAAc,CAACC,MAA0B;AAC7C,MAAAL,EAAK,SAASK,CAAM;AAAA,IACtB;sBArFEC,EAAA,GAAAC,EAMEC,GANFC,EAME;AAAA,MALC,QAAQP,EAAA;AAAA,MACR,QAAQQ,EAAAA;AAAAA,MACR,SAASC,EAAAA;AAAAA,IAAAA,GACFC,EAAAA,QAAM,EACb,SAAOR,EAAA,CAAW,GAAA,MAAA,IAAA,CAAA,UAAA,UAAA,SAAA,CAAA;AAAA;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineComponent as t, createElementBlock as a, openBlock as p, unref as r } from "vue";
|
|
2
|
+
import { g as m } from "./id-DafBB_QF.js";
|
|
3
|
+
const s = ["name", "id", "value"], c = /* @__PURE__ */ t({
|
|
4
|
+
__name: "HiddenInput",
|
|
5
|
+
props: {
|
|
6
|
+
name: {},
|
|
7
|
+
value: { default: "" }
|
|
8
|
+
},
|
|
9
|
+
setup(n) {
|
|
10
|
+
const o = m(`sl-${n.name}`);
|
|
11
|
+
return (e, d) => (p(), a("input", {
|
|
12
|
+
name: e.name,
|
|
13
|
+
id: r(o),
|
|
14
|
+
type: "hidden",
|
|
15
|
+
value: e.value
|
|
16
|
+
}, null, 8, s));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
c as _
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js","sources":["../src/components/inputs/HiddenInput.vue"],"sourcesContent":["<!--\n @component HiddenInput\n @description Hidden input for storing form data without display.\n \n A simple hidden input element for storing values in forms that don't\n need to be visible to the user. Useful for tracking IDs, tokens, or\n other metadata within form submissions.\n \n @props\n - name (string, required): Field name for form binding\n - value (string, optional): The hidden value\n \n @example\n <HiddenInput name=\"userId\" :value=\"user.id\" />\n-->\n<template>\n <input \n :name=\"name\" \n :id=\"id\" \n type=\"hidden\" \n :value=\"value\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { generateId } from '../../utils/id'\n\ninterface Props {\n name: string\n value?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n value: ''\n})\n\nconst id = generateId(`sl-${props.name}`)\n</script>\n\n"],"names":["id","generateId","__props","_createElementBlock","name","_unref","value"],"mappings":";;;;;;;;;AAoCA,UAAMA,IAAKC,EAAW,MAJRC,EAIoB,IAAI,EAAE;2BApBtCC,EAKE,SAAA;AAAA,MAJC,MAAMC,EAAAA;AAAAA,MACN,IAAIC,EAAAL,CAAA;AAAA,MACL,MAAK;AAAA,MACJ,OAAOM,EAAAA;AAAAA,IAAAA;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createElementBlock as e, openBlock as r, createElementVNode as o } from "vue";
|
|
2
|
+
function i(t, n) {
|
|
3
|
+
return r(), e("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
"stroke-width": "1.5",
|
|
8
|
+
stroke: "currentColor",
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
"data-slot": "icon"
|
|
11
|
+
}, [
|
|
12
|
+
o("path", {
|
|
13
|
+
"stroke-linecap": "round",
|
|
14
|
+
"stroke-linejoin": "round",
|
|
15
|
+
d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
|
|
16
|
+
})
|
|
17
|
+
]);
|
|
18
|
+
}
|
|
19
|
+
function l(t, n) {
|
|
20
|
+
return r(), e("svg", {
|
|
21
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
22
|
+
fill: "none",
|
|
23
|
+
viewBox: "0 0 24 24",
|
|
24
|
+
"stroke-width": "1.5",
|
|
25
|
+
stroke: "currentColor",
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
"data-slot": "icon"
|
|
28
|
+
}, [
|
|
29
|
+
o("path", {
|
|
30
|
+
"stroke-linecap": "round",
|
|
31
|
+
"stroke-linejoin": "round",
|
|
32
|
+
d: "m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"
|
|
33
|
+
})
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
i as a,
|
|
38
|
+
l as r
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=InformationCircleIcon-B322GNIt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationCircleIcon-B322GNIt.js","sources":["../node_modules/@heroicons/vue/24/outline/esm/CheckCircleIcon.js","../node_modules/@heroicons/vue/24/outline/esm/InformationCircleIcon.js"],"sourcesContent":["import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"1.5\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\"\n }, [\n _createElementVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\"\n })\n ]))\n}","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport default function render(_ctx, _cache) {\n return (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n \"stroke-width\": \"1.5\",\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\"\n }, [\n _createElementVNode(\"path\", {\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n d: \"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"\n })\n ]))\n}"],"names":["render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode"],"mappings":";AAEe,SAASA,EAAOC,GAAMC,GAAQ;AAC3C,SAAQC,EAAU,GAAIC,EAAoB,OAAO;AAAA,IAC/C,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,aAAa;AAAA,EACjB,GAAK;AAAA,IACDC,EAAoB,QAAQ;AAAA,MAC1B,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,GAAG;AAAA,IACT,CAAK;AAAA,EACL,CAAG;AACH;AChBe,SAASL,EAAOC,GAAMC,GAAQ;AAC3C,SAAQC,EAAU,GAAIC,EAAoB,OAAO;AAAA,IAC/C,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,aAAa;AAAA,EACjB,GAAK;AAAA,IACDC,EAAoB,QAAQ;AAAA,MAC1B,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,GAAG;AAAA,IACT,CAAK;AAAA,EACL,CAAG;AACH;","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { defineComponent as w, createElementBlock as s, openBlock as t, createCommentVNode as o, createElementVNode as r, createVNode as I, unref as l, toDisplayString as n, Fragment as d, renderList as m, normalizeClass as u, withModifiers as V, createTextVNode as N, renderSlot as h } from "vue";
|
|
2
|
+
import { _ as S } from "./SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js";
|
|
3
|
+
import { u as $ } from "./useSimpleTabs-CSgkChEU.js";
|
|
4
|
+
const B = { class: "sl-w-full" }, M = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "sl-block sm:sl-hidden sl-mb-4"
|
|
7
|
+
}, E = { class: "sl-hidden sm:sl-block" }, O = { class: "sl-border-b sl-border-gray-200 dark:sl-border-slate-700 sm:sl-flex sm:sl-items-baseline" }, U = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "sl-text-base sl-font-semibold sl-leading-6 sl-text-gray-800 dark:sl-text-white"
|
|
10
|
+
}, z = { class: "sl-mt-4 sm:sl-ml-10 sm:sl-mt-0" }, A = { class: "sl--mb-px sl-flex sl-space-x-8" }, D = ["onClick", "aria-current"], F = { class: "sl-mt-4" }, L = { key: 0 }, K = /* @__PURE__ */ w({
|
|
11
|
+
__name: "InlineTabs",
|
|
12
|
+
props: {
|
|
13
|
+
tabs: {},
|
|
14
|
+
title: {},
|
|
15
|
+
dropdownOnMobile: { type: Boolean, default: !0 },
|
|
16
|
+
badgeTheme: { default: "primary" }
|
|
17
|
+
},
|
|
18
|
+
emits: ["tab-changed"],
|
|
19
|
+
setup(p, { emit: b }) {
|
|
20
|
+
const c = p, k = b, {
|
|
21
|
+
localTabs: i,
|
|
22
|
+
selectInputItems: g,
|
|
23
|
+
selectedTabItem: _,
|
|
24
|
+
setActiveTab: x,
|
|
25
|
+
handleSelectInputChange: f,
|
|
26
|
+
hasCount: y,
|
|
27
|
+
slots: v,
|
|
28
|
+
selectId: T
|
|
29
|
+
} = $({
|
|
30
|
+
getTabs: () => c.tabs,
|
|
31
|
+
onTabChange: (a) => k("tab-changed", a),
|
|
32
|
+
includeCountInName: !0,
|
|
33
|
+
badgeTheme: c.badgeTheme
|
|
34
|
+
});
|
|
35
|
+
return (a, j) => (t(), s("div", B, [
|
|
36
|
+
a.dropdownOnMobile ? (t(), s("div", M, [
|
|
37
|
+
I(S, {
|
|
38
|
+
name: l(T),
|
|
39
|
+
label: a.title,
|
|
40
|
+
items: l(g),
|
|
41
|
+
"model-value": l(_),
|
|
42
|
+
"item-key": "index",
|
|
43
|
+
"item-text": "name",
|
|
44
|
+
placeholder: "Select tab",
|
|
45
|
+
"onUpdate:modelValue": l(f)
|
|
46
|
+
}, null, 8, ["name", "label", "items", "model-value", "onUpdate:modelValue"])
|
|
47
|
+
])) : o("", !0),
|
|
48
|
+
r("div", E, [
|
|
49
|
+
r("div", O, [
|
|
50
|
+
a.title ? (t(), s("h3", U, n(a.title), 1)) : o("", !0),
|
|
51
|
+
r("div", z, [
|
|
52
|
+
r("nav", A, [
|
|
53
|
+
(t(!0), s(d, null, m(l(i), (e, C) => (t(), s("a", {
|
|
54
|
+
key: e.name,
|
|
55
|
+
href: "#",
|
|
56
|
+
onClick: V((q) => l(x)(C), ["prevent"]),
|
|
57
|
+
class: u([
|
|
58
|
+
e.current ? "sl-border-stachelock-600 sl-text-stachelock-600 dark:sl-text-stachelock-400" : "sl-border-transparent sl-text-gray-500 dark:sl-text-slate-400 hover:sl-border-gray-300 dark:hover:sl-border-slate-600 hover:sl-text-gray-700 dark:hover:sl-text-slate-300",
|
|
59
|
+
"sl-whitespace-nowrap sl-border-b-2 sl-px-1 sl-pb-4 sl-text-sm sl-font-medium sl-transition-colors sl-duration-200 sl-flex sl-items-center sl-gap-2",
|
|
60
|
+
e.disabled ? "sl-opacity-50 sl-cursor-not-allowed" : "sl-cursor-pointer"
|
|
61
|
+
]),
|
|
62
|
+
"aria-current": e.current ? "page" : void 0
|
|
63
|
+
}, [
|
|
64
|
+
N(n(e.name) + " ", 1),
|
|
65
|
+
l(y)(e) ? (t(), s("span", {
|
|
66
|
+
key: 0,
|
|
67
|
+
class: u([
|
|
68
|
+
"sl-rounded-full sl-py-0.5 sl-px-2.5 sl-text-xs sl-font-medium sl-tabular-nums",
|
|
69
|
+
e.current ? "sl-bg-stachelock-100 dark:sl-bg-stachelock-900/30 sl-text-stachelock-600 dark:sl-text-stachelock-400" : "sl-bg-gray-100 dark:sl-bg-slate-700 sl-text-gray-800 dark:sl-text-slate-200"
|
|
70
|
+
])
|
|
71
|
+
}, n(e.count), 3)) : o("", !0)
|
|
72
|
+
], 10, D))), 128))
|
|
73
|
+
])
|
|
74
|
+
])
|
|
75
|
+
])
|
|
76
|
+
]),
|
|
77
|
+
r("div", F, [
|
|
78
|
+
h(a.$slots, "default"),
|
|
79
|
+
(t(!0), s(d, null, m(l(i), (e) => (t(), s(d, {
|
|
80
|
+
key: e.name
|
|
81
|
+
}, [
|
|
82
|
+
e.current && l(v)[e.name] ? (t(), s("div", L, [
|
|
83
|
+
h(a.$slots, e.name)
|
|
84
|
+
])) : o("", !0)
|
|
85
|
+
], 64))), 128))
|
|
86
|
+
])
|
|
87
|
+
]));
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
export {
|
|
91
|
+
K as _
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js","sources":["../src/components/tabs/InlineTabs.vue"],"sourcesContent":["<!--\n @component InlineTabs\n @description Simple inline tab navigation with underline indicator.\n \n A lightweight tab component for simple tab navigation scenarios.\n Uses named slots for tab content. Shows SelectInput dropdown on mobile.\n \n @props\n - tabs (SimpleTabItem[], required): Array of tab configurations\n - title (string, optional): Optional heading title\n - dropdownOnMobile (boolean, optional): Show dropdown on mobile (default: true)\n - badgeTheme (TabBadgeTheme, optional): Theme for count badges (default: 'primary')\n \n @emits\n - tab-changed: Emitted when active tab changes, payload is the new index\n \n @example\n <InlineTabs\n title=\"Settings\"\n :tabs=\"[\n { name: 'General', current: true },\n { name: 'Security', current: false, count: 2 },\n { name: 'Notifications', current: false, count: 5 }\n ]\"\n @tab-changed=\"handleTabChange\"\n >\n <template #General>General content</template>\n <template #Security>Security content</template>\n <template #Notifications>Notifications content</template>\n </InlineTabs>\n-->\n<template>\n <div class=\"sl-w-full\">\n <!-- Mobile dropdown using SelectInput -->\n <div v-if=\"dropdownOnMobile\" class=\"sl-block sm:sl-hidden sl-mb-4\">\n <SelectInput\n :name=\"selectId\"\n :label=\"title\"\n :items=\"selectInputItems\"\n :model-value=\"selectedTabItem\"\n item-key=\"index\"\n item-text=\"name\"\n placeholder=\"Select tab\"\n @update:model-value=\"handleSelectInputChange\"\n />\n </div>\n\n <!-- Desktop tabs -->\n <div class=\"sl-hidden sm:sl-block\">\n <div class=\"sl-border-b sl-border-gray-200 dark:sl-border-slate-700 sm:sl-flex sm:sl-items-baseline\">\n <h3\n v-if=\"title\"\n class=\"sl-text-base sl-font-semibold sl-leading-6 sl-text-gray-800 dark:sl-text-white\"\n >\n {{ title }}\n </h3>\n <div class=\"sl-mt-4 sm:sl-ml-10 sm:sl-mt-0\">\n <nav class=\"sl--mb-px sl-flex sl-space-x-8\">\n <a\n v-for=\"(tab, index) in localTabs\"\n :key=\"tab.name\"\n href=\"#\"\n @click.prevent=\"setActiveTab(index)\"\n :class=\"[\n tab.current \n ? 'sl-border-stachelock-600 sl-text-stachelock-600 dark:sl-text-stachelock-400' \n : 'sl-border-transparent sl-text-gray-500 dark:sl-text-slate-400 hover:sl-border-gray-300 dark:hover:sl-border-slate-600 hover:sl-text-gray-700 dark:hover:sl-text-slate-300',\n 'sl-whitespace-nowrap sl-border-b-2 sl-px-1 sl-pb-4 sl-text-sm sl-font-medium sl-transition-colors sl-duration-200 sl-flex sl-items-center sl-gap-2',\n tab.disabled ? 'sl-opacity-50 sl-cursor-not-allowed' : 'sl-cursor-pointer'\n ]\"\n :aria-current=\"tab.current ? 'page' : undefined\"\n >\n {{ tab.name }}\n <span\n v-if=\"hasCount(tab)\"\n :class=\"[\n 'sl-rounded-full sl-py-0.5 sl-px-2.5 sl-text-xs sl-font-medium sl-tabular-nums',\n tab.current\n ? 'sl-bg-stachelock-100 dark:sl-bg-stachelock-900/30 sl-text-stachelock-600 dark:sl-text-stachelock-400'\n : 'sl-bg-gray-100 dark:sl-bg-slate-700 sl-text-gray-800 dark:sl-text-slate-200'\n ]\"\n >\n {{ tab.count }}\n </span>\n </a>\n </nav>\n </div>\n </div>\n </div>\n \n <!-- Default slot for general content -->\n <div class=\"sl-mt-4\">\n <slot name=\"default\" />\n \n <!-- Named slots for each tab -->\n <template v-for=\"tab in localTabs\" :key=\"tab.name\">\n <div v-if=\"tab.current && slots[tab.name]\">\n <slot :name=\"tab.name\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport SelectInput from '../inputs/SelectInput.vue';\nimport { useSimpleTabs } from '../../composables/useSimpleTabs';\nimport type { SimpleTabItem, TabBadgeTheme } from '../../types/tabs';\n\ninterface Props {\n tabs: SimpleTabItem[];\n title?: string;\n dropdownOnMobile?: boolean;\n badgeTheme?: TabBadgeTheme;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n dropdownOnMobile: true,\n badgeTheme: 'primary'\n});\n\nconst emit = defineEmits<{\n 'tab-changed': [tabIndex: number];\n}>();\n\n// Use the shared composable for all tab logic\nconst {\n localTabs,\n selectInputItems,\n selectedTabItem,\n setActiveTab,\n handleSelectInputChange,\n hasCount,\n slots,\n selectId\n} = useSimpleTabs({\n getTabs: () => props.tabs,\n onTabChange: (index) => emit('tab-changed', index),\n includeCountInName: true,\n badgeTheme: props.badgeTheme\n});\n</script>\n"],"names":["props","__props","emit","__emit","localTabs","selectInputItems","selectedTabItem","setActiveTab","handleSelectInputChange","hasCount","slots","selectId","useSimpleTabs","index","_openBlock","_createElementBlock","_hoisted_1","dropdownOnMobile","_hoisted_2","_createVNode","SelectInput","_unref","title","_createElementVNode","_hoisted_3","_hoisted_4","_hoisted_5","_toDisplayString","_hoisted_6","_hoisted_7","_Fragment","_renderList","tab","_withModifiers","$event","_normalizeClass","_hoisted_9","_renderSlot","_ctx","_hoisted_10"],"mappings":";;;;;;;;;;;;;;;;;;;AAoHA,UAAMA,IAAQC,GAKRC,IAAOC,GAKP;AAAA,MACJ,WAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,yBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,IAAA,IACEC,EAAc;AAAA,MAChB,SAAS,MAAMZ,EAAM;AAAA,MACrB,aAAa,CAACa,MAAUX,EAAK,eAAeW,CAAK;AAAA,MACjD,oBAAoB;AAAA,MACpB,YAAYb,EAAM;AAAA,IAAA,CACnB;sBA5GCc,EAAA,GAAAC,EAqEM,OArENC,GAqEM;AAAA,MAnEOC,EAAAA,oBAAXH,EAAA,GAAAC,EAWM,OAXNG,GAWM;AAAA,QAVJC,EASEC,GAAA;AAAA,UARC,MAAMC,EAAAV,CAAA;AAAA,UACN,OAAOW,EAAAA;AAAAA,UACP,OAAOD,EAAAhB,CAAA;AAAA,UACP,eAAagB,EAAAf,CAAA;AAAA,UACd,YAAS;AAAA,UACT,aAAU;AAAA,UACV,aAAY;AAAA,UACX,uBAAoBe,EAAAb,CAAA;AAAA,QAAA;;MAKzBe,EAwCM,OAxCNC,GAwCM;AAAA,QAvCJD,EAsCM,OAtCNE,GAsCM;AAAA,UApCIH,EAAAA,cADRP,EAKK,MALLW,GAKKC,EADAL,EAAAA,KAAK,GAAA,CAAA;UAEVC,EA8BM,OA9BNK,GA8BM;AAAA,YA7BJL,EA4BM,OA5BNM,GA4BM;AAAA,eA3BJf,EAAA,EAAA,GAAAC,EA0BIe,GAAA,MAAAC,EAzBqBV,EAAAjB,CAAA,GAAS,CAAxB4B,GAAKnB,YADfE,EA0BI,KAAA;AAAA,gBAxBD,KAAKiB,EAAI;AAAA,gBACV,MAAK;AAAA,gBACJ,SAAKC,EAAA,CAAAC,MAAUb,EAAAd,CAAA,EAAaM,CAAK,GAAA,CAAA,SAAA,CAAA;AAAA,gBACjC,OAAKsB,EAAA;AAAA,kBAAoBH,EAAI;;kBAAmeA,EAAI,WAAQ,wCAAA;AAAA,gBAAA;gBAO5gB,gBAAcA,EAAI,mBAAmB;AAAA,cAAA;oBAEnCA,EAAI,IAAI,IAAG,KACd,CAAA;AAAA,gBACQX,EAAAZ,CAAA,EAASuB,CAAG,UADpBjB,EAUO,QAAA;AAAA;kBARJ,OAAKoB,EAAA;AAAA;oBAAyHH,EAAI;;mBAOhIL,EAAAK,EAAI,KAAK,GAAA,CAAA;;;;;;MASxBT,EASM,OATNa,GASM;AAAA,QARJC,EAAuBC,EAAA,QAAA,SAAA;AAAA,gBAGvBvB,EAIWe,GAAA,MAAAC,EAJaV,EAAAjB,CAAA,GAAS,CAAhB4B;UAAwB,KAAAA,EAAI;AAAA,QAAA;UAChCA,EAAI,WAAWX,KAAMW,EAAI,IAAI,UAAxCjB,EAEM,OAAAwB,GAAA;AAAA,YADJF,EAAyBC,EAAA,QAAZN,EAAI,IAAI;AAAA,UAAA;;;;;;"}
|