@stachelock/ui 0.5.5 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -5
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-6taLcPq0.js +77 -0
- package/dist/{AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js → AlertModal.vue_vue_type_script_setup_true_lang-DzhVQdx4.js} +45 -65
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js +0 -1
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js +0 -1
- package/dist/{BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js → BaseModal.vue_vue_type_script_setup_true_lang--iGzFCnC.js} +42 -44
- package/dist/{CalendarHeader.vue_vue_type_script_setup_true_lang-CkSUiLOH.js → CalendarHeader.vue_vue_type_script_setup_true_lang-hGa2MLyo.js} +114 -141
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js +0 -1
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js +0 -1
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-BigvbBAU.js +331 -0
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js +0 -1
- package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js → DashboardLayout.vue_vue_type_script_setup_true_lang-BAx4gKqh.js} +44 -47
- package/dist/{DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js → DatepickerInput.vue_vue_type_style_index_0_lang-DbI3619T.js} +23 -24
- package/dist/{DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js → DayCalendar.vue_vue_type_script_setup_true_lang-D-4jcUvI.js} +1 -2
- package/dist/DefaultLayout.vue_vue_type_script_setup_true_lang-BZAz6aC-.js +0 -1
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-CgHPOC-w.js +35 -0
- package/dist/{DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js → DynamicForm.vue_vue_type_script_setup_true_lang-BR8Pq7Kw.js} +52 -53
- package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js → DynamicFormField.vue_vue_type_script_setup_true_lang-BCVmqg_n.js} +7 -8
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js +0 -1
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js +0 -1
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-7mcKkOWP.js +0 -1
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-B3TP-mWX.js +74 -0
- package/dist/EventsList.vue_vue_type_script_setup_true_lang-BTIoGr_e.js +87 -0
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-BJR-_ngq.js +176 -0
- package/dist/{FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js → FormErrorWrapper.vue_vue_type_script_setup_true_lang-D7ZAgfPs.js} +12 -13
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js +0 -1
- package/dist/HeaderLayout.vue_vue_type_script_setup_true_lang-BY2G6hCc.js +0 -1
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js +0 -1
- package/dist/{InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js → InlineTabs.vue_vue_type_script_setup_true_lang-B5w4yzcZ.js} +1 -2
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js +0 -1
- package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js → LottieAnimation.vue_vue_type_script_setup_true_lang-C0R4ADBb.js} +1 -2
- package/dist/{MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js → MonthCalendar.vue_vue_type_style_index_0_lang-lnKkvJ9u.js} +1 -2
- package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js +0 -1
- package/dist/NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js +0 -1
- package/dist/{NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js → NotificationContainer.vue_vue_type_style_index_0_lang-CvJRwezr.js} +1 -2
- package/dist/{NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js → NotificationToast.vue_vue_type_script_setup_true_lang-BBWpW4km.js} +61 -64
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js +0 -1
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-CKCoHD1o.js +0 -1
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js +0 -1
- package/dist/{SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js → SelectInput.vue_vue_type_script_setup_true_lang-D4GNv0MY.js} +56 -58
- package/dist/{SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js → SelectTextInput.vue_vue_type_script_setup_true_lang-BVaViHPl.js} +66 -69
- package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js → SidebarLayout.vue_vue_type_script_setup_true_lang-CZ21EVcZ.js} +36 -39
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js +0 -1
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-B5SuaSXL.js +66 -0
- package/dist/{StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js → StepperPanels.vue_vue_type_script_setup_true_lang-DPLQ9mQn.js} +34 -49
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-D5Es9AjF.js +200 -0
- package/dist/{SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js → SwitchInputGroup.vue_vue_type_script_setup_true_lang-DigNYqVZ.js} +1 -2
- package/dist/{TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js → TabGroup.vue_vue_type_script_setup_true_lang-BsbiEA4E.js} +19 -20
- package/dist/{TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js → TabGroupUnderline.vue_vue_type_script_setup_true_lang-CPcp1-Za.js} +21 -22
- package/dist/{TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js → TabsInPills.vue_vue_type_script_setup_true_lang-U5CdRL7s.js} +1 -2
- package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js → TagifyInput.vue_vue_type_script_setup_true_lang-BF2mK8JC.js} +14 -15
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js +0 -1
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js +0 -1
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js +0 -1
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js +0 -1
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js +0 -1
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js +0 -1
- package/dist/{UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js → UiMapAll.vue_vue_type_script_setup_true_lang-11yT7mTH.js} +93 -111
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-gnoIJm6x.js +127 -0
- package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js → UiModal.vue_vue_type_script_setup_true_lang-BZC7aN7K.js} +41 -43
- package/dist/{UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js → UiNavLink.vue_vue_type_script_setup_true_lang-C5Gicm8o.js} +4 -5
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js +0 -1
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js +0 -1
- package/dist/UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js +0 -1
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js +0 -1
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -1
- package/dist/calendar-DLry-Vik.js +147 -0
- package/dist/calendars/CalendarDashboard.js +3 -4
- package/dist/calendars/CalendarHeader.js +1 -2
- package/dist/calendars/DayCalendar.js +1 -2
- package/dist/calendars/EventCard.js +1 -2
- package/dist/calendars/EventsList.js +1 -2
- package/dist/calendars/MonthCalendar.js +1 -2
- package/dist/calendars/WeekCalendar.js +1 -2
- package/dist/calendars/YearCalendar.js +0 -1
- package/dist/charts/BarChart.js +0 -1
- package/dist/charts/BaseChart.js +42 -59
- package/dist/charts/FunnelChart.js +0 -1
- package/dist/charts/LineChart.js +0 -1
- package/dist/charts/PieChart.js +0 -1
- package/dist/charts/SparklineChart.js +0 -1
- package/dist/charts/StatCard.js +1 -2
- package/dist/charts/chartTheme.js +0 -1
- package/dist/charts/index.js +1 -2
- package/dist/components/Avatar.js +0 -1
- package/dist/components/Badge.js +0 -1
- package/dist/components/Banner.js +178 -351
- package/dist/components/Breadcrumb.js +41 -42
- package/dist/components/Button.js +0 -1
- package/dist/components/ButtonGroup.js +0 -1
- package/dist/components/Checkbox.js +0 -1
- package/dist/components/CloudinaryImage.js +51 -81
- package/dist/components/Loading.js +0 -1
- package/dist/components/LoadingDots.js +0 -1
- package/dist/components/LottieAnimation.js +1 -2
- package/dist/components/Menu.js +1 -2
- package/dist/components/Modal.js +1 -2
- package/dist/components/NavLink.js +1 -2
- package/dist/components/ProgressBar.js +0 -1
- package/dist/components/RadialProgressBar.js +0 -1
- package/dist/components/Table.js +0 -1
- package/dist/components/Transition.js +0 -1
- package/dist/composables/index.js +1 -2
- package/dist/composables/useCalendar.js +1 -2
- package/dist/composables/useFormValidation.js +0 -1
- package/dist/composables/useMap.js +3 -3
- package/dist/composables/useModal.js +0 -1
- package/dist/composables/useNotifications.js +0 -1
- package/dist/composables/useTabs.js +87 -193
- package/dist/composables/useTheme.js +0 -1
- package/dist/empty-state/ComingSoon.js +0 -1
- package/dist/empty-state/EmptyState.js +0 -1
- package/dist/empty-state/index.js +0 -1
- package/dist/forms/DynamicForm.js +1 -2
- package/dist/forms/DynamicFormField.js +1 -2
- package/dist/forms/FormFieldWrapper.js +7 -8
- package/dist/id-DafBB_QF.js +0 -1
- package/dist/index.js +1343 -725
- package/dist/inputs/AddDeleteButtonGroup.js +1 -2
- package/dist/inputs/CheckboxInput.js +0 -1
- package/dist/inputs/ComboboxInput.js +1 -2
- package/dist/inputs/DatepickerInput.js +1 -2
- package/dist/inputs/EmailInput.js +0 -1
- package/dist/inputs/EmptyInput.js +0 -1
- package/dist/inputs/FileDropzoneInput.js +1 -2
- package/dist/inputs/HiddenInput.js +0 -1
- package/dist/inputs/PhoneInput.js +371 -3539
- package/dist/inputs/RichTextInput.js +235 -17298
- package/dist/inputs/SelectInput.js +1 -2
- package/dist/inputs/SelectTextInput.js +1 -2
- package/dist/inputs/SwitchInput.js +1 -2
- package/dist/inputs/SwitchInputGroup.js +1 -2
- package/dist/inputs/TagifyInput.js +1 -2
- package/dist/inputs/TextAreaInput.js +0 -1
- package/dist/inputs/TextInput.js +7 -8
- package/dist/layouts/DashboardLayout.js +1 -2
- package/dist/layouts/DefaultLayout.js +0 -1
- package/dist/layouts/HeaderLayout.js +0 -1
- package/dist/layouts/NavigationGroup.js +0 -1
- package/dist/layouts/NavigationItem.js +0 -1
- package/dist/layouts/ProfileHeaderAvatar.js +0 -1
- package/dist/layouts/ProjectLogo.js +0 -1
- package/dist/layouts/SidebarLayout.js +1 -2
- package/dist/loading/ContentSkeleton.js +0 -1
- package/dist/loading/SmartLoadingIndicator.js +0 -1
- package/dist/loading/index.js +0 -1
- package/dist/mapThemes-DFE9fZm3.js +0 -1
- package/dist/maps/GoogleMap.js +13 -14
- package/dist/maps/UiInfoWindow.js +41 -43
- package/dist/maps/UiMap.js +28 -31
- package/dist/maps/UiMapAll.js +1 -2
- package/dist/maps/UiMapMarker.js +1 -2
- package/dist/maps/index.js +1 -2
- package/dist/modals/AlertModal.js +1 -2
- package/dist/modals/BaseModal.js +1 -2
- package/dist/modals/ImageCropperModal.js +130 -1666
- package/dist/notifications/NotificationContainer.js +1 -2
- package/dist/notifications/NotificationToast.js +1 -2
- package/dist/notifications/index.js +2 -3
- package/dist/src/components/inputs/AddressInput.d.ts +40 -0
- package/dist/src/components/inputs/DatepickerInput.d.ts +7 -7
- package/dist/src/components/inputs/index.d.ts +1 -0
- package/dist/src/components/maps/UiMap.d.ts +1 -1
- package/dist/src/components/maps/UiMapAll.d.ts +6 -6
- package/dist/src/plugin/configure.d.ts +3 -1
- package/dist/src/services/geocoding.service.d.ts +68 -0
- package/dist/src/services/index.d.ts +1 -0
- package/dist/src/types/address.d.ts +164 -0
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/views/inputs/index.d.ts +1 -0
- package/dist/stepper/StepperPanels.js +1 -2
- package/dist/stepper/index.js +1 -2
- package/dist/style.css +1 -1
- package/dist/tabs/InlineTabs.js +1 -2
- package/dist/tabs/TabGroup.js +1 -2
- package/dist/tabs/TabGroupUnderline.js +1 -2
- package/dist/tabs/TabsInPills.js +1 -2
- package/dist/tabs/index.js +4 -5
- package/dist/ui.css +1 -1
- package/dist/useEventSegments-B-r_8zCW.js +0 -1
- package/dist/useMap-BGg0H582.js +297 -0
- package/dist/useSimpleTabs-CSgkChEU.js +0 -1
- package/dist/useStringTransform-CSr7nZWg.js +0 -1
- package/dist/wrappers/BackgroundGradientWrapper.js +0 -1
- package/dist/wrappers/CardWrapper.js +0 -1
- package/dist/wrappers/DisclosureWrapper.js +1 -2
- package/dist/wrappers/FormErrorWrapper.js +1 -2
- package/dist/wrappers/index.js +2 -3
- package/package.json +9 -1
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js +0 -128
- package/dist/AddDeleteButtonGroup.vue_vue_type_script_setup_true_lang-CFS3lVF-.js.map +0 -1
- package/dist/AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js.map +0 -1
- package/dist/BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js.map +0 -1
- package/dist/BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js.map +0 -1
- package/dist/Bars3Icon-BdOqcGcY.js +0 -22
- package/dist/Bars3Icon-BdOqcGcY.js.map +0 -1
- package/dist/BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js.map +0 -1
- package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-CkSUiLOH.js.map +0 -1
- package/dist/CardWrapper.vue_vue_type_script_setup_true_lang-D59QBAi9.js.map +0 -1
- package/dist/CheckIcon-BGlsmVwT.js +0 -20
- package/dist/CheckIcon-BGlsmVwT.js.map +0 -1
- package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js.map +0 -1
- package/dist/ChevronRightIcon-DkUqw988.js +0 -20
- package/dist/ChevronRightIcon-DkUqw988.js.map +0 -1
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js +0 -20
- package/dist/ChevronUpDownIcon-Bq_fsgrb.js.map +0 -1
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-kEj-NYqm.js +0 -1362
- package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-kEj-NYqm.js.map +0 -1
- package/dist/ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js.map +0 -1
- package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js.map +0 -1
- package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js.map +0 -1
- package/dist/DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js.map +0 -1
- package/dist/DefaultLayout.vue_vue_type_script_setup_true_lang-BZAz6aC-.js.map +0 -1
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js +0 -138
- package/dist/DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js.map +0 -1
- package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js.map +0 -1
- package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js.map +0 -1
- package/dist/EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js.map +0 -1
- package/dist/EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js.map +0 -1
- package/dist/EmptyState.vue_vue_type_script_setup_true_lang-7mcKkOWP.js.map +0 -1
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js +0 -136
- package/dist/EventCard.vue_vue_type_script_setup_true_lang-j1mtKShZ.js.map +0 -1
- package/dist/EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js +0 -102
- package/dist/EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js.map +0 -1
- package/dist/ExclamationCircleIcon-DjxYk45_.js +0 -22
- package/dist/ExclamationCircleIcon-DjxYk45_.js.map +0 -1
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js +0 -36
- package/dist/ExclamationCircleIcon-DmL8Wwjo.js.map +0 -1
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js +0 -22
- package/dist/ExclamationTriangleIcon-BNKYmV_J.js.map +0 -1
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js +0 -211
- package/dist/FileDropzoneInput.vue_vue_type_script_setup_true_lang-CclXceTb.js.map +0 -1
- package/dist/FormErrorWrapper.vue_vue_type_script_setup_true_lang-BQOlG_ab.js.map +0 -1
- package/dist/FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js.map +0 -1
- package/dist/HeaderLayout.vue_vue_type_script_setup_true_lang-BY2G6hCc.js.map +0 -1
- package/dist/HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js.map +0 -1
- package/dist/InformationCircleIcon-B322GNIt.js +0 -40
- package/dist/InformationCircleIcon-B322GNIt.js.map +0 -1
- package/dist/InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js.map +0 -1
- package/dist/LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js.map +0 -1
- package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js.map +0 -1
- package/dist/MapPinIcon-CSTDUZnD.js +0 -27
- package/dist/MapPinIcon-CSTDUZnD.js.map +0 -1
- package/dist/MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js.map +0 -1
- package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js.map +0 -1
- package/dist/NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js.map +0 -1
- package/dist/NotificationContainer.vue_vue_type_style_index_0_lang-DSfNw4Ge.js.map +0 -1
- package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-CU__ORw8.js.map +0 -1
- package/dist/PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js.map +0 -1
- package/dist/PlusIcon-aDFVlB90.js +0 -40
- package/dist/PlusIcon-aDFVlB90.js.map +0 -1
- package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-CKCoHD1o.js.map +0 -1
- package/dist/ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js.map +0 -1
- package/dist/SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js.map +0 -1
- package/dist/SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js.map +0 -1
- package/dist/SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js.map +0 -1
- package/dist/SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js.map +0 -1
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js +0 -111
- package/dist/StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js.map +0 -1
- package/dist/StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js.map +0 -1
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js +0 -280
- package/dist/SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js.map +0 -1
- package/dist/SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js.map +0 -1
- package/dist/TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js.map +0 -1
- package/dist/TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js.map +0 -1
- package/dist/TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js.map +0 -1
- package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js.map +0 -1
- package/dist/TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js.map +0 -1
- package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js.map +0 -1
- package/dist/UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js.map +0 -1
- package/dist/UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js.map +0 -1
- package/dist/UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js.map +0 -1
- package/dist/UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js.map +0 -1
- package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-CMAyvJMk.js.map +0 -1
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js +0 -330
- package/dist/UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js.map +0 -1
- package/dist/UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js.map +0 -1
- package/dist/UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js.map +0 -1
- package/dist/UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js.map +0 -1
- package/dist/UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js.map +0 -1
- package/dist/UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js.map +0 -1
- package/dist/XMarkIcon-Cwy3T6p8.js +0 -22
- package/dist/XMarkIcon-Cwy3T6p8.js.map +0 -1
- package/dist/XMarkIcon-DNvCkiOy.js +0 -16
- package/dist/XMarkIcon-DNvCkiOy.js.map +0 -1
- package/dist/YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js.map +0 -1
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +0 -1
- package/dist/active-element-history-BTBNVIJN.js +0 -17
- package/dist/active-element-history-BTBNVIJN.js.map +0 -1
- package/dist/calculate-active-index-Dim3sT-5.js +0 -55
- package/dist/calculate-active-index-Dim3sT-5.js.map +0 -1
- package/dist/calendar-BlSSD4nO.js +0 -575
- package/dist/calendar-BlSSD4nO.js.map +0 -1
- package/dist/calendars/CalendarDashboard.js.map +0 -1
- package/dist/calendars/CalendarHeader.js.map +0 -1
- package/dist/calendars/DayCalendar.js.map +0 -1
- package/dist/calendars/EventCard.js.map +0 -1
- package/dist/calendars/EventsList.js.map +0 -1
- package/dist/calendars/MonthCalendar.js.map +0 -1
- package/dist/calendars/WeekCalendar.js.map +0 -1
- package/dist/calendars/YearCalendar.js.map +0 -1
- package/dist/charts/BarChart.js.map +0 -1
- package/dist/charts/BaseChart.js.map +0 -1
- package/dist/charts/FunnelChart.js.map +0 -1
- package/dist/charts/LineChart.js.map +0 -1
- package/dist/charts/PieChart.js.map +0 -1
- package/dist/charts/SparklineChart.js.map +0 -1
- package/dist/charts/StatCard.js.map +0 -1
- package/dist/charts/chartTheme.js.map +0 -1
- package/dist/charts/index.js.map +0 -1
- package/dist/components/Avatar.js.map +0 -1
- package/dist/components/Badge.js.map +0 -1
- package/dist/components/Banner.js.map +0 -1
- package/dist/components/Breadcrumb.js.map +0 -1
- package/dist/components/Button.js.map +0 -1
- package/dist/components/ButtonGroup.js.map +0 -1
- package/dist/components/Checkbox.js.map +0 -1
- package/dist/components/CloudinaryImage.js.map +0 -1
- package/dist/components/Loading.js.map +0 -1
- package/dist/components/LoadingDots.js.map +0 -1
- package/dist/components/LottieAnimation.js.map +0 -1
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/Modal.js.map +0 -1
- package/dist/components/NavLink.js.map +0 -1
- package/dist/components/ProgressBar.js.map +0 -1
- package/dist/components/RadialProgressBar.js.map +0 -1
- package/dist/components/Table.js.map +0 -1
- package/dist/components/Transition.js.map +0 -1
- package/dist/composables/index.js.map +0 -1
- package/dist/composables/useCalendar.js.map +0 -1
- package/dist/composables/useFormValidation.js.map +0 -1
- package/dist/composables/useMap.js.map +0 -1
- package/dist/composables/useModal.js.map +0 -1
- package/dist/composables/useNotifications.js.map +0 -1
- package/dist/composables/useTabs.js.map +0 -1
- package/dist/composables/useTheme.js.map +0 -1
- package/dist/description-C7cRw0tq.js +0 -30
- package/dist/description-C7cRw0tq.js.map +0 -1
- package/dist/dialog-BJ2Ld8l3.js +0 -499
- package/dist/dialog-BJ2Ld8l3.js.map +0 -1
- package/dist/empty-state/ComingSoon.js.map +0 -1
- package/dist/empty-state/EmptyState.js.map +0 -1
- package/dist/empty-state/index.js.map +0 -1
- package/dist/env-BZfPsfnF.js +0 -29
- package/dist/env-BZfPsfnF.js.map +0 -1
- package/dist/form-f8yP4kN-.js +0 -35
- package/dist/form-f8yP4kN-.js.map +0 -1
- package/dist/forms/DynamicForm.js.map +0 -1
- package/dist/forms/DynamicFormField.js.map +0 -1
- package/dist/forms/FormFieldWrapper.js.map +0 -1
- package/dist/hidden-BSRluD1y.js +0 -15
- package/dist/hidden-BSRluD1y.js.map +0 -1
- package/dist/id-DafBB_QF.js.map +0 -1
- package/dist/index-Dca39bYA.js +0 -2167
- package/dist/index-Dca39bYA.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/inputs/AddDeleteButtonGroup.js.map +0 -1
- package/dist/inputs/CheckboxInput.js.map +0 -1
- package/dist/inputs/ComboboxInput.js.map +0 -1
- package/dist/inputs/DatepickerInput.js.map +0 -1
- package/dist/inputs/EmailInput.js.map +0 -1
- package/dist/inputs/EmptyInput.js.map +0 -1
- package/dist/inputs/FileDropzoneInput.js.map +0 -1
- package/dist/inputs/HiddenInput.js.map +0 -1
- package/dist/inputs/PhoneInput.js.map +0 -1
- package/dist/inputs/RichTextInput.js.map +0 -1
- package/dist/inputs/SelectInput.js.map +0 -1
- package/dist/inputs/SelectTextInput.js.map +0 -1
- package/dist/inputs/SwitchInput.js.map +0 -1
- package/dist/inputs/SwitchInputGroup.js.map +0 -1
- package/dist/inputs/TagifyInput.js.map +0 -1
- package/dist/inputs/TextAreaInput.js.map +0 -1
- package/dist/inputs/TextInput.js.map +0 -1
- package/dist/keyboard-Dd_2-cFu.js +0 -5
- package/dist/keyboard-Dd_2-cFu.js.map +0 -1
- package/dist/layouts/DashboardLayout.js.map +0 -1
- package/dist/layouts/DefaultLayout.js.map +0 -1
- package/dist/layouts/HeaderLayout.js.map +0 -1
- package/dist/layouts/NavigationGroup.js.map +0 -1
- package/dist/layouts/NavigationItem.js.map +0 -1
- package/dist/layouts/ProfileHeaderAvatar.js.map +0 -1
- package/dist/layouts/ProjectLogo.js.map +0 -1
- package/dist/layouts/SidebarLayout.js.map +0 -1
- package/dist/listbox-YaWWZiiG.js +0 -257
- package/dist/listbox-YaWWZiiG.js.map +0 -1
- package/dist/loading/ContentSkeleton.js.map +0 -1
- package/dist/loading/SmartLoadingIndicator.js.map +0 -1
- package/dist/loading/index.js.map +0 -1
- package/dist/mapThemes-DFE9fZm3.js.map +0 -1
- package/dist/maps/GoogleMap.js.map +0 -1
- package/dist/maps/UiInfoWindow.js.map +0 -1
- package/dist/maps/UiMap.js.map +0 -1
- package/dist/maps/UiMapAll.js.map +0 -1
- package/dist/maps/UiMapMarker.js.map +0 -1
- package/dist/maps/index.js.map +0 -1
- package/dist/micro-task-D-oTY33s.js +0 -9
- package/dist/micro-task-D-oTY33s.js.map +0 -1
- package/dist/modals/AlertModal.js.map +0 -1
- package/dist/modals/BaseModal.js.map +0 -1
- package/dist/modals/ImageCropperModal.js.map +0 -1
- package/dist/notifications/NotificationContainer.js.map +0 -1
- package/dist/notifications/NotificationToast.js.map +0 -1
- package/dist/notifications/index.js.map +0 -1
- package/dist/open-closed-JTEvYTg2.js +0 -19
- package/dist/open-closed-JTEvYTg2.js.map +0 -1
- package/dist/render-QUUPyNjX.js +0 -101
- package/dist/render-QUUPyNjX.js.map +0 -1
- package/dist/stepper/StepperPanels.js.map +0 -1
- package/dist/stepper/index.js.map +0 -1
- package/dist/tabs/InlineTabs.js.map +0 -1
- package/dist/tabs/TabGroup.js.map +0 -1
- package/dist/tabs/TabGroupUnderline.js.map +0 -1
- package/dist/tabs/TabsInPills.js.map +0 -1
- package/dist/tabs/index.js.map +0 -1
- package/dist/tabs-J5phClGv.js +0 -202
- package/dist/tabs-J5phClGv.js.map +0 -1
- package/dist/transition-_rPfnoET.js +0 -191
- package/dist/transition-_rPfnoET.js.map +0 -1
- package/dist/use-outside-click-14T0Zn98.js +0 -151
- package/dist/use-outside-click-14T0Zn98.js.map +0 -1
- package/dist/use-resolve-button-type-h6n-lm9q.js +0 -20
- package/dist/use-resolve-button-type-h6n-lm9q.js.map +0 -1
- package/dist/use-text-value-DKnkjK00.js +0 -44
- package/dist/use-text-value-DKnkjK00.js.map +0 -1
- package/dist/use-tree-walker-Bo9gIb_K.js +0 -16
- package/dist/use-tree-walker-Bo9gIb_K.js.map +0 -1
- package/dist/useEventSegments-B-r_8zCW.js.map +0 -1
- package/dist/useMap-BaZEIoWM.js +0 -525
- package/dist/useMap-BaZEIoWM.js.map +0 -1
- package/dist/useSimpleTabs-CSgkChEU.js.map +0 -1
- package/dist/useStringTransform-CSr7nZWg.js.map +0 -1
- package/dist/vue-datepicker-CEn0-fJj.js +0 -4871
- package/dist/vue-datepicker-CEn0-fJj.js.map +0 -1
- package/dist/vue-router-B3K2xmg_.js +0 -120
- package/dist/vue-router-B3K2xmg_.js.map +0 -1
- package/dist/vue3-lottie.es-DT4qZE-F.js +0 -7981
- package/dist/vue3-lottie.es-DT4qZE-F.js.map +0 -1
- package/dist/wrappers/BackgroundGradientWrapper.js.map +0 -1
- package/dist/wrappers/CardWrapper.js.map +0 -1
- package/dist/wrappers/DisclosureWrapper.js.map +0 -1
- package/dist/wrappers/FormErrorWrapper.js.map +0 -1
- package/dist/wrappers/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTextInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchInputGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TagifyInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../src/components/inputs/TextInput.vue"],"sourcesContent":["<!--\n @component TextInput\n @description Text input component with vee-validate integration.\n \n A single-line text input with built-in validation, error display, and\n styling options. Integrates with vee-validate for form validation.\n \n @props\n - name (string, required): Field name for form binding\n - value (string, optional): Input value (use v-model:value)\n - type (string, optional): Input type (text, email, password, etc.)\n - label (string, optional): Display label\n - placeholder (string, optional): Placeholder text\n - disabled (boolean, optional): Disabled state\n - rules (Schema, optional): Yup validation schema\n - validateOnMount (boolean, optional): Validate when mounted\n - lazy (boolean, optional): Debounce value updates\n - colorfulValidation (boolean, optional): Color-coded validation states\n - showValidCheck (boolean, optional): Show check icon when valid\n - showErrors (boolean, optional): Force show errors\n \n @emits\n - update:value: Emitted when value changes\n - update:validity: Emitted when validation state changes\n - focus: Emitted on focus\n - blur: Emitted on blur\n \n @slots\n - prefix: Content before input (e.g., icon, URL prefix)\n - input-right: Content inside input on right (e.g., button)\n \n @example\n <TextInput\n name=\"email\"\n label=\"Email Address\"\n v-model:value=\"form.email\"\n :rules=\"emailSchema\"\n placeholder=\"you@example.com\"\n />\n-->\n<template>\n <div class=\"sl-form\">\n <FormFieldWrapper :id=\"id\" :name=\"name\" :label=\"label\" :tertiary-label=\"tertiaryLabel\" :error-message=\"errorMessage\"\n :success-message=\"successMessage\" :is-valid=\"meta.valid\" :is-touched=\"meta.touched\" :show-errors=\"showErrors\"\n :show-valid-check=\"showValidCheck\" :colorful-validation=\"colorfulValidation\" :disabled=\"disabled\"\n :disabled-message=\"disabledMessage\" :box-shadow=\"boxShadow\">\n <!-- Prefix slot is passed through to wrapper -->\n <template #prefix>\n <slot name=\"prefix\" />\n </template>\n\n <!-- Default slot: the input field, consuming wrapper-provided classes -->\n <template #default=\"{ inputClasses }\">\n <input v-bind=\"$attrs\" :name=\"name\" :id=\"id\" :type=\"type\" :value=\"inputValue\" :placeholder=\"placeholder\"\n :spellcheck=\"spellcheck\" :disabled=\"disabled\"\n class=\"sl-block sl-w-full sl-bg-transparent sl-text-gray-900 dark:sl-text-white placeholder:sl-text-gray-400 dark:placeholder:sl-text-gray-400 focus:sl-ring-0 focus:sl-outline-none sm:sl-text-sm sm:sl-leading-6\"\n :class=\"[\n inputClasses,\n 'sl-py-1.5 sl-pl-2 sl-pr-2',\n { 'sl-uppercase': capitalize },\n { 'sl-text-gray-400': disabled },\n { 'sl-pr-10': showValidCheck },\n inputClass,\n ]\" :style=\"inputStyle\" @input=\"handleInput\" @focus=\"handleFocus\" @blur=\"handleBlur\" />\n </template>\n\n <template #input-right>\n <slot name=\"input-right\" />\n </template>\n </FormFieldWrapper>\n </div>\n\n</template>\n\n<script setup lang=\"ts\">\n/**\n * TextInput - Text input with vee-validate integration\n * \n * Provides a styled text input component with built-in validation support.\n * Uses FormFieldWrapper for consistent styling and error display.\n * \n * ## Features\n * - vee-validate integration with Yup schemas\n * - Automatic error message display\n * - Success state indication\n * - Prefix slot for icons or URL prefixes\n * - Debounced lazy mode for performance\n * - Transform function for value preprocessing\n * \n * ## Validation\n * - Uses useField from vee-validate\n * - Validates on blur by default\n * - Emits update:validity for form integration\n * \n * @module components/inputs/TextInput\n * @see {@link TextInputType} for prop interface\n * @see {@link FormFieldWrapper} for wrapper component\n */\nimport { toRef, watch, ref, nextTick } from 'vue';\nimport { useField } from 'vee-validate';\nimport { debounce } from 'lodash-es';\nimport type { TextInputType } from '../../types/ui';\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue';\nimport { generateId } from '../../utils/id';\n\ndefineOptions({ inheritAttrs: false })\n\ninterface TextInputProps extends TextInputType {\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<TextInputProps>(), {\n type: 'text',\n value: '',\n label: '',\n successMessage: '',\n placeholder: '',\n rules: () => ({}),\n validateOnMount: true,\n disabled: false,\n disabledMessage: '',\n inputClass: '',\n inputStyle: '',\n spellcheck: true,\n capitalize: false,\n lazy: false,\n transformFunction: (v: string) => v,\n tertiaryLabel: '',\n colorfulValidation: true,\n showValidCheck: true,\n showErrors: false,\n boxShadow: false,\n});\n\nconst emits = defineEmits<{\n 'update:value': [value: string]\n 'focus': [event: Event]\n 'blur': [event: Event]\n 'error': [error: string | null]\n 'update:validity': [isValid: boolean]\n}>();\n\nconst touched = ref(false);\nconst id = generateId(props.name || 'text-input');\nconst validateOnMountRef = ref(props.validateOnMount);\n\nconst { value: inputValue, errorMessage, handleChange, meta, validate, setTouched } =\n useField(toRef(props, 'name'), toRef(props, 'rules'), {\n initialValue: props.value,\n validateOnValueUpdate: !props.lazy,\n validateOnMount: validateOnMountRef.value,\n });\n\n\nconst emitValue = (v: string) => emits('update:value', v);\nconst debouncedEmit = debounce(emitValue, 300);\n\nfunction handleInput(e: Event) {\n const v = (e.target as HTMLInputElement).value;\n if (props.lazy) debouncedEmit(v);\n else emitValue(v);\n handleChange(props.transformFunction(v));\n}\n\nasync function handleBlur(e: Event) {\n if (!touched.value) {\n touched.value = true;\n setTouched(true);\n }\n if (props.lazy) emitValue(inputValue.value);\n await validate();\n emits('blur', e);\n}\n\nfunction handleFocus(e: Event) {\n emits('focus', e);\n}\n\nwatch(() => meta.valid, v => nextTick(() => emits('update:validity', v)), { immediate: true });\n\nwatch(() => props.value, v => {\n if (v !== inputValue.value) inputValue.value = v;\n});\n\n// Wrapper now manages error/success visuals consistently across inputs\n</script>\n\n<style scoped>\n.error-message,\n.disabled-message {\n min-height: 1.4em;\n}\n\ninput:disabled {\n color: #9ca3af;\n background-color: #f3f4f6;\n}\n\n:global(.dark) input:disabled {\n color: #6b7280;\n background-color: #1e293b;\n}\n</style>\n\n"],"names":["props","__props","emits","__emit","touched","ref","id","generateId","validateOnMountRef","inputValue","errorMessage","handleChange","meta","validate","setTouched","useField","toRef","emitValue","v","debouncedEmit","debounce","handleInput","e","handleBlur","handleFocus","watch","nextTick","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","_renderSlot","_ctx","_withCtx","inputClasses","_createElementVNode","_mergeProps"],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var o = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(o || {});
|
|
2
|
-
export {
|
|
3
|
-
o
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=keyboard-Dd_2-cFu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-Dd_2-cFu.js","sources":["../node_modules/@headlessui/vue/dist/keyboard.js"],"sourcesContent":["var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n"],"names":["r"],"mappings":"AAAG,IAAC,KAAG,CAAAA,OAAIA,EAAE,QAAM,KAAIA,EAAE,QAAM,SAAQA,EAAE,SAAO,UAASA,EAAE,YAAU,aAAYA,EAAE,SAAO,UAASA,EAAE,YAAU,aAAYA,EAAE,UAAQ,WAAUA,EAAE,aAAW,cAAaA,EAAE,YAAU,aAAYA,EAAE,OAAK,QAAOA,EAAE,MAAI,OAAMA,EAAE,SAAO,UAASA,EAAE,WAAS,YAAWA,EAAE,MAAI,OAAMA,IAAI,KAAG,CAAA,CAAE;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardLayout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultLayout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderLayout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationItem.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileHeaderAvatar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectLogo.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarLayout.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/listbox-YaWWZiiG.js
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { defineComponent as C, ref as R, computed as m, provide as Q, onMounted as F, watch as K, h as z, Fragment as W, onUnmounted as G, watchEffect as J, nextTick as V, toRaw as S, inject as X } from "vue";
|
|
2
|
-
import { d as Y, e as Z } from "./form-f8yP4kN-.js";
|
|
3
|
-
import { u as D, o as x, A as j, E as _, T as $, i as M, N as U } from "./render-QUUPyNjX.js";
|
|
4
|
-
import { w as ee, a as te, h as le, O as ae } from "./use-outside-click-14T0Zn98.js";
|
|
5
|
-
import { s as oe } from "./use-resolve-button-type-h6n-lm9q.js";
|
|
6
|
-
import { p as ie } from "./use-text-value-DKnkjK00.js";
|
|
7
|
-
import { u as ne, f as ue, c as O } from "./calculate-active-index-Dim3sT-5.js";
|
|
8
|
-
import { f as re, u as se } from "./hidden-BSRluD1y.js";
|
|
9
|
-
import { t as ve, l as de, i as E } from "./open-closed-JTEvYTg2.js";
|
|
10
|
-
import { o as f } from "./keyboard-Dd_2-cFu.js";
|
|
11
|
-
function pe(t, b) {
|
|
12
|
-
return t === b;
|
|
13
|
-
}
|
|
14
|
-
var ce = ((t) => (t[t.Open = 0] = "Open", t[t.Closed = 1] = "Closed", t))(ce || {}), fe = ((t) => (t[t.Single = 0] = "Single", t[t.Multi = 1] = "Multi", t))(fe || {}), be = ((t) => (t[t.Pointer = 0] = "Pointer", t[t.Other = 1] = "Other", t))(be || {});
|
|
15
|
-
function me(t) {
|
|
16
|
-
requestAnimationFrame(() => requestAnimationFrame(t));
|
|
17
|
-
}
|
|
18
|
-
let q = Symbol("ListboxContext");
|
|
19
|
-
function B(t) {
|
|
20
|
-
let b = X(q, null);
|
|
21
|
-
if (b === null) {
|
|
22
|
-
let y = new Error(`<${t} /> is missing a parent <Listbox /> component.`);
|
|
23
|
-
throw Error.captureStackTrace && Error.captureStackTrace(y, B), y;
|
|
24
|
-
}
|
|
25
|
-
return b;
|
|
26
|
-
}
|
|
27
|
-
let ke = C({ name: "Listbox", emits: { "update:modelValue": (t) => !0 }, props: { as: { type: [Object, String], default: "template" }, disabled: { type: [Boolean], default: !1 }, by: { type: [String, Function], default: () => pe }, horizontal: { type: [Boolean], default: !1 }, modelValue: { type: [Object, String, Number, Boolean], default: void 0 }, defaultValue: { type: [Object, String, Number, Boolean], default: void 0 }, form: { type: String, optional: !0 }, name: { type: String, optional: !0 }, multiple: { type: [Boolean], default: !1 } }, inheritAttrs: !1, setup(t, { slots: b, attrs: y, emit: h }) {
|
|
28
|
-
let r = R(1), s = R(null), e = R(null), d = R(null), v = R([]), p = R(""), c = R(null), a = R(1);
|
|
29
|
-
function i(l = (o) => o) {
|
|
30
|
-
let o = c.value !== null ? v.value[c.value] : null, n = ae(l(v.value.slice()), (g) => x(g.dataRef.domRef)), u = o ? n.indexOf(o) : null;
|
|
31
|
-
return u === -1 && (u = null), { options: n, activeOptionIndex: u };
|
|
32
|
-
}
|
|
33
|
-
let w = m(() => t.multiple ? 1 : 0), [P, L] = Y(m(() => t.modelValue), (l) => h("update:modelValue", l), m(() => t.defaultValue)), T = m(() => P.value === void 0 ? D(w.value, { 1: [], 0: void 0 }) : P.value), k = { listboxState: r, value: T, mode: w, compare(l, o) {
|
|
34
|
-
if (typeof t.by == "string") {
|
|
35
|
-
let n = t.by;
|
|
36
|
-
return l?.[n] === o?.[n];
|
|
37
|
-
}
|
|
38
|
-
return t.by(l, o);
|
|
39
|
-
}, orientation: m(() => t.horizontal ? "horizontal" : "vertical"), labelRef: s, buttonRef: e, optionsRef: d, disabled: m(() => t.disabled), options: v, searchQuery: p, activeOptionIndex: c, activationTrigger: a, closeListbox() {
|
|
40
|
-
t.disabled || r.value !== 1 && (r.value = 1, c.value = null);
|
|
41
|
-
}, openListbox() {
|
|
42
|
-
t.disabled || r.value !== 0 && (r.value = 0);
|
|
43
|
-
}, goToOption(l, o, n) {
|
|
44
|
-
if (t.disabled || r.value === 1) return;
|
|
45
|
-
let u = i(), g = ue(l === O.Specific ? { focus: O.Specific, id: o } : { focus: l }, { resolveItems: () => u.options, resolveActiveIndex: () => u.activeOptionIndex, resolveId: (A) => A.id, resolveDisabled: (A) => A.dataRef.disabled });
|
|
46
|
-
p.value = "", c.value = g, a.value = n ?? 1, v.value = u.options;
|
|
47
|
-
}, search(l) {
|
|
48
|
-
if (t.disabled || r.value === 1) return;
|
|
49
|
-
let o = p.value !== "" ? 0 : 1;
|
|
50
|
-
p.value += l.toLowerCase();
|
|
51
|
-
let n = (c.value !== null ? v.value.slice(c.value + o).concat(v.value.slice(0, c.value + o)) : v.value).find((g) => g.dataRef.textValue.startsWith(p.value) && !g.dataRef.disabled), u = n ? v.value.indexOf(n) : -1;
|
|
52
|
-
u === -1 || u === c.value || (c.value = u, a.value = 1);
|
|
53
|
-
}, clearSearch() {
|
|
54
|
-
t.disabled || r.value !== 1 && p.value !== "" && (p.value = "");
|
|
55
|
-
}, registerOption(l, o) {
|
|
56
|
-
let n = i((u) => [...u, { id: l, dataRef: o }]);
|
|
57
|
-
v.value = n.options, c.value = n.activeOptionIndex;
|
|
58
|
-
}, unregisterOption(l) {
|
|
59
|
-
let o = i((n) => {
|
|
60
|
-
let u = n.findIndex((g) => g.id === l);
|
|
61
|
-
return u !== -1 && n.splice(u, 1), n;
|
|
62
|
-
});
|
|
63
|
-
v.value = o.options, c.value = o.activeOptionIndex, a.value = 1;
|
|
64
|
-
}, theirOnChange(l) {
|
|
65
|
-
t.disabled || L(l);
|
|
66
|
-
}, select(l) {
|
|
67
|
-
t.disabled || L(D(w.value, { 0: () => l, 1: () => {
|
|
68
|
-
let o = S(k.value.value).slice(), n = S(l), u = o.findIndex((g) => k.compare(n, S(g)));
|
|
69
|
-
return u === -1 ? o.push(n) : o.splice(u, 1), o;
|
|
70
|
-
} }));
|
|
71
|
-
} };
|
|
72
|
-
ee([e, d], (l, o) => {
|
|
73
|
-
var n;
|
|
74
|
-
k.closeListbox(), te(o, le.Loose) || (l.preventDefault(), (n = x(e)) == null || n.focus());
|
|
75
|
-
}, m(() => r.value === 0)), Q(q, k), ve(m(() => D(r.value, { 0: E.Open, 1: E.Closed })));
|
|
76
|
-
let I = m(() => {
|
|
77
|
-
var l;
|
|
78
|
-
return (l = x(e)) == null ? void 0 : l.closest("form");
|
|
79
|
-
});
|
|
80
|
-
return F(() => {
|
|
81
|
-
K([I], () => {
|
|
82
|
-
if (!I.value || t.defaultValue === void 0) return;
|
|
83
|
-
function l() {
|
|
84
|
-
k.theirOnChange(t.defaultValue);
|
|
85
|
-
}
|
|
86
|
-
return I.value.addEventListener("reset", l), () => {
|
|
87
|
-
var o;
|
|
88
|
-
(o = I.value) == null || o.removeEventListener("reset", l);
|
|
89
|
-
};
|
|
90
|
-
}, { immediate: !0 });
|
|
91
|
-
}), () => {
|
|
92
|
-
let { name: l, modelValue: o, disabled: n, form: u, ...g } = t, A = { open: r.value === 0, disabled: n, value: T.value };
|
|
93
|
-
return z(W, [...l != null && T.value != null ? Z({ [l]: T.value }).map(([N, H]) => z(re, _({ features: se.Hidden, key: N, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: u, disabled: n, name: N, value: H }))) : [], j({ ourProps: {}, theirProps: { ...y, ...$(g, ["defaultValue", "onUpdate:modelValue", "horizontal", "multiple", "by"]) }, slot: A, slots: b, attrs: y, name: "Listbox" })]);
|
|
94
|
-
};
|
|
95
|
-
} });
|
|
96
|
-
C({ name: "ListboxLabel", props: { as: { type: [Object, String], default: "label" }, id: { type: String, default: null } }, setup(t, { attrs: b, slots: y }) {
|
|
97
|
-
var h;
|
|
98
|
-
let r = (h = t.id) != null ? h : `headlessui-listbox-label-${M()}`, s = B("ListboxLabel");
|
|
99
|
-
function e() {
|
|
100
|
-
var d;
|
|
101
|
-
(d = x(s.buttonRef)) == null || d.focus({ preventScroll: !0 });
|
|
102
|
-
}
|
|
103
|
-
return () => {
|
|
104
|
-
let d = { open: s.listboxState.value === 0, disabled: s.disabled.value }, { ...v } = t, p = { id: r, ref: s.labelRef, onClick: e };
|
|
105
|
-
return j({ ourProps: p, theirProps: v, slot: d, attrs: b, slots: y, name: "ListboxLabel" });
|
|
106
|
-
};
|
|
107
|
-
} });
|
|
108
|
-
let De = C({ name: "ListboxButton", props: { as: { type: [Object, String], default: "button" }, id: { type: String, default: null } }, setup(t, { attrs: b, slots: y, expose: h }) {
|
|
109
|
-
var r;
|
|
110
|
-
let s = (r = t.id) != null ? r : `headlessui-listbox-button-${M()}`, e = B("ListboxButton");
|
|
111
|
-
h({ el: e.buttonRef, $el: e.buttonRef });
|
|
112
|
-
function d(a) {
|
|
113
|
-
switch (a.key) {
|
|
114
|
-
case f.Space:
|
|
115
|
-
case f.Enter:
|
|
116
|
-
case f.ArrowDown:
|
|
117
|
-
a.preventDefault(), e.openListbox(), V(() => {
|
|
118
|
-
var i;
|
|
119
|
-
(i = x(e.optionsRef)) == null || i.focus({ preventScroll: !0 }), e.value.value || e.goToOption(O.First);
|
|
120
|
-
});
|
|
121
|
-
break;
|
|
122
|
-
case f.ArrowUp:
|
|
123
|
-
a.preventDefault(), e.openListbox(), V(() => {
|
|
124
|
-
var i;
|
|
125
|
-
(i = x(e.optionsRef)) == null || i.focus({ preventScroll: !0 }), e.value.value || e.goToOption(O.Last);
|
|
126
|
-
});
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
function v(a) {
|
|
131
|
-
switch (a.key) {
|
|
132
|
-
case f.Space:
|
|
133
|
-
a.preventDefault();
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function p(a) {
|
|
138
|
-
e.disabled.value || (e.listboxState.value === 0 ? (e.closeListbox(), V(() => {
|
|
139
|
-
var i;
|
|
140
|
-
return (i = x(e.buttonRef)) == null ? void 0 : i.focus({ preventScroll: !0 });
|
|
141
|
-
})) : (a.preventDefault(), e.openListbox(), me(() => {
|
|
142
|
-
var i;
|
|
143
|
-
return (i = x(e.optionsRef)) == null ? void 0 : i.focus({ preventScroll: !0 });
|
|
144
|
-
})));
|
|
145
|
-
}
|
|
146
|
-
let c = oe(m(() => ({ as: t.as, type: b.type })), e.buttonRef);
|
|
147
|
-
return () => {
|
|
148
|
-
var a, i;
|
|
149
|
-
let w = { open: e.listboxState.value === 0, disabled: e.disabled.value, value: e.value.value }, { ...P } = t, L = { ref: e.buttonRef, id: s, type: c.value, "aria-haspopup": "listbox", "aria-controls": (a = x(e.optionsRef)) == null ? void 0 : a.id, "aria-expanded": e.listboxState.value === 0, "aria-labelledby": e.labelRef.value ? [(i = x(e.labelRef)) == null ? void 0 : i.id, s].join(" ") : void 0, disabled: e.disabled.value === !0 ? !0 : void 0, onKeydown: d, onKeyup: v, onClick: p };
|
|
150
|
-
return j({ ourProps: L, theirProps: P, slot: w, attrs: b, slots: y, name: "ListboxButton" });
|
|
151
|
-
};
|
|
152
|
-
} }), Te = C({ name: "ListboxOptions", props: { as: { type: [Object, String], default: "ul" }, static: { type: Boolean, default: !1 }, unmount: { type: Boolean, default: !0 }, id: { type: String, default: null } }, setup(t, { attrs: b, slots: y, expose: h }) {
|
|
153
|
-
var r;
|
|
154
|
-
let s = (r = t.id) != null ? r : `headlessui-listbox-options-${M()}`, e = B("ListboxOptions"), d = R(null);
|
|
155
|
-
h({ el: e.optionsRef, $el: e.optionsRef });
|
|
156
|
-
function v(a) {
|
|
157
|
-
switch (d.value && clearTimeout(d.value), a.key) {
|
|
158
|
-
case f.Space:
|
|
159
|
-
if (e.searchQuery.value !== "") return a.preventDefault(), a.stopPropagation(), e.search(a.key);
|
|
160
|
-
case f.Enter:
|
|
161
|
-
if (a.preventDefault(), a.stopPropagation(), e.activeOptionIndex.value !== null) {
|
|
162
|
-
let i = e.options.value[e.activeOptionIndex.value];
|
|
163
|
-
e.select(i.dataRef.value);
|
|
164
|
-
}
|
|
165
|
-
e.mode.value === 0 && (e.closeListbox(), V(() => {
|
|
166
|
-
var i;
|
|
167
|
-
return (i = x(e.buttonRef)) == null ? void 0 : i.focus({ preventScroll: !0 });
|
|
168
|
-
}));
|
|
169
|
-
break;
|
|
170
|
-
case D(e.orientation.value, { vertical: f.ArrowDown, horizontal: f.ArrowRight }):
|
|
171
|
-
return a.preventDefault(), a.stopPropagation(), e.goToOption(O.Next);
|
|
172
|
-
case D(e.orientation.value, { vertical: f.ArrowUp, horizontal: f.ArrowLeft }):
|
|
173
|
-
return a.preventDefault(), a.stopPropagation(), e.goToOption(O.Previous);
|
|
174
|
-
case f.Home:
|
|
175
|
-
case f.PageUp:
|
|
176
|
-
return a.preventDefault(), a.stopPropagation(), e.goToOption(O.First);
|
|
177
|
-
case f.End:
|
|
178
|
-
case f.PageDown:
|
|
179
|
-
return a.preventDefault(), a.stopPropagation(), e.goToOption(O.Last);
|
|
180
|
-
case f.Escape:
|
|
181
|
-
a.preventDefault(), a.stopPropagation(), e.closeListbox(), V(() => {
|
|
182
|
-
var i;
|
|
183
|
-
return (i = x(e.buttonRef)) == null ? void 0 : i.focus({ preventScroll: !0 });
|
|
184
|
-
});
|
|
185
|
-
break;
|
|
186
|
-
case f.Tab:
|
|
187
|
-
a.preventDefault(), a.stopPropagation();
|
|
188
|
-
break;
|
|
189
|
-
default:
|
|
190
|
-
a.key.length === 1 && (e.search(a.key), d.value = setTimeout(() => e.clearSearch(), 350));
|
|
191
|
-
break;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
let p = de(), c = m(() => p !== null ? (p.value & E.Open) === E.Open : e.listboxState.value === 0);
|
|
195
|
-
return () => {
|
|
196
|
-
var a, i;
|
|
197
|
-
let w = { open: e.listboxState.value === 0 }, { ...P } = t, L = { "aria-activedescendant": e.activeOptionIndex.value === null || (a = e.options.value[e.activeOptionIndex.value]) == null ? void 0 : a.id, "aria-multiselectable": e.mode.value === 1 ? !0 : void 0, "aria-labelledby": (i = x(e.buttonRef)) == null ? void 0 : i.id, "aria-orientation": e.orientation.value, id: s, onKeydown: v, role: "listbox", tabIndex: 0, ref: e.optionsRef };
|
|
198
|
-
return j({ ourProps: L, theirProps: P, slot: w, attrs: b, slots: y, features: U.RenderStrategy | U.Static, visible: c.value, name: "ListboxOptions" });
|
|
199
|
-
};
|
|
200
|
-
} }), Ie = C({ name: "ListboxOption", props: { as: { type: [Object, String], default: "li" }, value: { type: [Object, String, Number, Boolean] }, disabled: { type: Boolean, default: !1 }, id: { type: String, default: null } }, setup(t, { slots: b, attrs: y, expose: h }) {
|
|
201
|
-
var r;
|
|
202
|
-
let s = (r = t.id) != null ? r : `headlessui-listbox-option-${M()}`, e = B("ListboxOption"), d = R(null);
|
|
203
|
-
h({ el: d, $el: d });
|
|
204
|
-
let v = m(() => e.activeOptionIndex.value !== null ? e.options.value[e.activeOptionIndex.value].id === s : !1), p = m(() => D(e.mode.value, { 0: () => e.compare(S(e.value.value), S(t.value)), 1: () => S(e.value.value).some((l) => e.compare(S(l), S(t.value))) })), c = m(() => D(e.mode.value, { 1: () => {
|
|
205
|
-
var l;
|
|
206
|
-
let o = S(e.value.value);
|
|
207
|
-
return ((l = e.options.value.find((n) => o.some((u) => e.compare(S(u), S(n.dataRef.value))))) == null ? void 0 : l.id) === s;
|
|
208
|
-
}, 0: () => p.value })), a = ie(d), i = m(() => ({ disabled: t.disabled, value: t.value, get textValue() {
|
|
209
|
-
return a();
|
|
210
|
-
}, domRef: d }));
|
|
211
|
-
F(() => e.registerOption(s, i)), G(() => e.unregisterOption(s)), F(() => {
|
|
212
|
-
K([e.listboxState, p], () => {
|
|
213
|
-
e.listboxState.value === 0 && p.value && D(e.mode.value, { 1: () => {
|
|
214
|
-
c.value && e.goToOption(O.Specific, s);
|
|
215
|
-
}, 0: () => {
|
|
216
|
-
e.goToOption(O.Specific, s);
|
|
217
|
-
} });
|
|
218
|
-
}, { immediate: !0 });
|
|
219
|
-
}), J(() => {
|
|
220
|
-
e.listboxState.value === 0 && v.value && e.activationTrigger.value !== 0 && V(() => {
|
|
221
|
-
var l, o;
|
|
222
|
-
return (o = (l = x(d)) == null ? void 0 : l.scrollIntoView) == null ? void 0 : o.call(l, { block: "nearest" });
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
function w(l) {
|
|
226
|
-
if (t.disabled) return l.preventDefault();
|
|
227
|
-
e.select(t.value), e.mode.value === 0 && (e.closeListbox(), V(() => {
|
|
228
|
-
var o;
|
|
229
|
-
return (o = x(e.buttonRef)) == null ? void 0 : o.focus({ preventScroll: !0 });
|
|
230
|
-
}));
|
|
231
|
-
}
|
|
232
|
-
function P() {
|
|
233
|
-
if (t.disabled) return e.goToOption(O.Nothing);
|
|
234
|
-
e.goToOption(O.Specific, s);
|
|
235
|
-
}
|
|
236
|
-
let L = ne();
|
|
237
|
-
function T(l) {
|
|
238
|
-
L.update(l);
|
|
239
|
-
}
|
|
240
|
-
function k(l) {
|
|
241
|
-
L.wasMoved(l) && (t.disabled || v.value || e.goToOption(O.Specific, s, 0));
|
|
242
|
-
}
|
|
243
|
-
function I(l) {
|
|
244
|
-
L.wasMoved(l) && (t.disabled || v.value && e.goToOption(O.Nothing));
|
|
245
|
-
}
|
|
246
|
-
return () => {
|
|
247
|
-
let { disabled: l } = t, o = { active: v.value, selected: p.value, disabled: l }, { value: n, disabled: u, ...g } = t, A = { id: s, ref: d, role: "option", tabIndex: l === !0 ? void 0 : -1, "aria-disabled": l === !0 ? !0 : void 0, "aria-selected": p.value, disabled: void 0, onClick: w, onFocus: P, onPointerenter: T, onMouseenter: T, onPointermove: k, onMousemove: k, onPointerleave: I, onMouseleave: I };
|
|
248
|
-
return j({ ourProps: A, theirProps: g, slot: o, attrs: y, slots: b, name: "ListboxOption" });
|
|
249
|
-
};
|
|
250
|
-
} });
|
|
251
|
-
export {
|
|
252
|
-
Te as A,
|
|
253
|
-
Ie as F,
|
|
254
|
-
ke as I,
|
|
255
|
-
De as j
|
|
256
|
-
};
|
|
257
|
-
//# sourceMappingURL=listbox-YaWWZiiG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listbox-YaWWZiiG.js","sources":["../node_modules/@headlessui/vue/dist/components/listbox/listbox.js"],"sourcesContent":["import{computed as x,defineComponent as E,Fragment as z,h as N,inject as _,nextTick as V,onMounted as K,onUnmounted as q,provide as W,ref as T,toRaw as R,watch as H,watchEffect as G}from\"vue\";import{useControllable as J}from'../../hooks/use-controllable.js';import{useId as F}from'../../hooks/use-id.js';import{useOutsideClick as X}from'../../hooks/use-outside-click.js';import{useResolveButtonType as Y}from'../../hooks/use-resolve-button-type.js';import{useTextValue as Z}from'../../hooks/use-text-value.js';import{useTrackedPointer as ee}from'../../hooks/use-tracked-pointer.js';import{Features as te,Hidden as oe}from'../../internal/hidden.js';import{State as B,useOpenClosed as ae,useOpenClosedProvider as ie}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as ne,Focus as g}from'../../utils/calculate-active-index.js';import{dom as S}from'../../utils/dom.js';import{FocusableMode as le,isFocusableElement as ue,sortByDomNode as re}from'../../utils/focus-management.js';import{objectToFormEntries as se}from'../../utils/form.js';import{match as P}from'../../utils/match.js';import{compact as de,Features as U,omit as fe,render as j}from'../../utils/render.js';function pe(o,b){return o===b}var ce=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(ce||{}),ve=(r=>(r[r.Single=0]=\"Single\",r[r.Multi=1]=\"Multi\",r))(ve||{}),be=(r=>(r[r.Pointer=0]=\"Pointer\",r[r.Other=1]=\"Other\",r))(be||{});function me(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let $=Symbol(\"ListboxContext\");function A(o){let b=_($,null);if(b===null){let r=new Error(`<${o} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,A),r}return b}let Ie=E({name:\"Listbox\",emits:{\"update:modelValue\":o=>!0},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>pe},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(o,{slots:b,attrs:r,emit:w}){let n=T(1),e=T(null),f=T(null),v=T(null),s=T([]),m=T(\"\"),p=T(null),a=T(1);function u(t=i=>i){let i=p.value!==null?s.value[p.value]:null,l=re(t(s.value.slice()),O=>S(O.dataRef.domRef)),d=i?l.indexOf(i):null;return d===-1&&(d=null),{options:l,activeOptionIndex:d}}let D=x(()=>o.multiple?1:0),[y,L]=J(x(()=>o.modelValue),t=>w(\"update:modelValue\",t),x(()=>o.defaultValue)),M=x(()=>y.value===void 0?P(D.value,{[1]:[],[0]:void 0}):y.value),k={listboxState:n,value:M,mode:D,compare(t,i){if(typeof o.by==\"string\"){let l=o.by;return(t==null?void 0:t[l])===(i==null?void 0:i[l])}return o.by(t,i)},orientation:x(()=>o.horizontal?\"horizontal\":\"vertical\"),labelRef:e,buttonRef:f,optionsRef:v,disabled:x(()=>o.disabled),options:s,searchQuery:m,activeOptionIndex:p,activationTrigger:a,closeListbox(){o.disabled||n.value!==1&&(n.value=1,p.value=null)},openListbox(){o.disabled||n.value!==0&&(n.value=0)},goToOption(t,i,l){if(o.disabled||n.value===1)return;let d=u(),O=ne(t===g.Specific?{focus:g.Specific,id:i}:{focus:t},{resolveItems:()=>d.options,resolveActiveIndex:()=>d.activeOptionIndex,resolveId:h=>h.id,resolveDisabled:h=>h.dataRef.disabled});m.value=\"\",p.value=O,a.value=l!=null?l:1,s.value=d.options},search(t){if(o.disabled||n.value===1)return;let l=m.value!==\"\"?0:1;m.value+=t.toLowerCase();let O=(p.value!==null?s.value.slice(p.value+l).concat(s.value.slice(0,p.value+l)):s.value).find(I=>I.dataRef.textValue.startsWith(m.value)&&!I.dataRef.disabled),h=O?s.value.indexOf(O):-1;h===-1||h===p.value||(p.value=h,a.value=1)},clearSearch(){o.disabled||n.value!==1&&m.value!==\"\"&&(m.value=\"\")},registerOption(t,i){let l=u(d=>[...d,{id:t,dataRef:i}]);s.value=l.options,p.value=l.activeOptionIndex},unregisterOption(t){let i=u(l=>{let d=l.findIndex(O=>O.id===t);return d!==-1&&l.splice(d,1),l});s.value=i.options,p.value=i.activeOptionIndex,a.value=1},theirOnChange(t){o.disabled||L(t)},select(t){o.disabled||L(P(D.value,{[0]:()=>t,[1]:()=>{let i=R(k.value.value).slice(),l=R(t),d=i.findIndex(O=>k.compare(l,R(O)));return d===-1?i.push(l):i.splice(d,1),i}}))}};X([f,v],(t,i)=>{var l;k.closeListbox(),ue(i,le.Loose)||(t.preventDefault(),(l=S(f))==null||l.focus())},x(()=>n.value===0)),W($,k),ie(x(()=>P(n.value,{[0]:B.Open,[1]:B.Closed})));let C=x(()=>{var t;return(t=S(f))==null?void 0:t.closest(\"form\")});return K(()=>{H([C],()=>{if(!C.value||o.defaultValue===void 0)return;function t(){k.theirOnChange(o.defaultValue)}return C.value.addEventListener(\"reset\",t),()=>{var i;(i=C.value)==null||i.removeEventListener(\"reset\",t)}},{immediate:!0})}),()=>{let{name:t,modelValue:i,disabled:l,form:d,...O}=o,h={open:n.value===0,disabled:l,value:M.value};return N(z,[...t!=null&&M.value!=null?se({[t]:M.value}).map(([I,Q])=>N(oe,de({features:te.Hidden,key:I,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:d,disabled:l,name:I,value:Q}))):[],j({ourProps:{},theirProps:{...r,...fe(O,[\"defaultValue\",\"onUpdate:modelValue\",\"horizontal\",\"multiple\",\"by\"])},slot:h,slots:b,attrs:r,name:\"Listbox\"})])}}}),Ee=E({name:\"ListboxLabel\",props:{as:{type:[Object,String],default:\"label\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r}){var f;let w=(f=o.id)!=null?f:`headlessui-listbox-label-${F()}`,n=A(\"ListboxLabel\");function e(){var v;(v=S(n.buttonRef))==null||v.focus({preventScroll:!0})}return()=>{let v={open:n.listboxState.value===0,disabled:n.disabled.value},{...s}=o,m={id:w,ref:n.labelRef,onClick:e};return j({ourProps:m,theirProps:s,slot:v,attrs:b,slots:r,name:\"ListboxLabel\"})}}}),je=E({name:\"ListboxButton\",props:{as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-button-${F()}`,e=A(\"ListboxButton\");w({el:e.buttonRef,$el:e.buttonRef});function f(a){switch(a.key){case c.Space:case c.Enter:case c.ArrowDown:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.First)});break;case c.ArrowUp:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.Last)});break}}function v(a){switch(a.key){case c.Space:a.preventDefault();break}}function s(a){e.disabled.value||(e.listboxState.value===0?(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(a.preventDefault(),e.openListbox(),me(()=>{var u;return(u=S(e.optionsRef))==null?void 0:u.focus({preventScroll:!0})})))}let m=Y(x(()=>({as:o.as,type:b.type})),e.buttonRef);return()=>{var y,L;let a={open:e.listboxState.value===0,disabled:e.disabled.value,value:e.value.value},{...u}=o,D={ref:e.buttonRef,id:n,type:m.value,\"aria-haspopup\":\"listbox\",\"aria-controls\":(y=S(e.optionsRef))==null?void 0:y.id,\"aria-expanded\":e.listboxState.value===0,\"aria-labelledby\":e.labelRef.value?[(L=S(e.labelRef))==null?void 0:L.id,n].join(\" \"):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:f,onKeyup:v,onClick:s};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,name:\"ListboxButton\"})}}}),Ae=E({name:\"ListboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-options-${F()}`,e=A(\"ListboxOptions\"),f=T(null);w({el:e.optionsRef,$el:e.optionsRef});function v(a){switch(f.value&&clearTimeout(f.value),a.key){case c.Space:if(e.searchQuery.value!==\"\")return a.preventDefault(),a.stopPropagation(),e.search(a.key);case c.Enter:if(a.preventDefault(),a.stopPropagation(),e.activeOptionIndex.value!==null){let u=e.options.value[e.activeOptionIndex.value];e.select(u.dataRef.value)}e.mode.value===0&&(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})}));break;case P(e.orientation.value,{vertical:c.ArrowDown,horizontal:c.ArrowRight}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Next);case P(e.orientation.value,{vertical:c.ArrowUp,horizontal:c.ArrowLeft}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Previous);case c.Home:case c.PageUp:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.First);case c.End:case c.PageDown:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Last);case c.Escape:a.preventDefault(),a.stopPropagation(),e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})});break;case c.Tab:a.preventDefault(),a.stopPropagation();break;default:a.key.length===1&&(e.search(a.key),f.value=setTimeout(()=>e.clearSearch(),350));break}}let s=ae(),m=x(()=>s!==null?(s.value&B.Open)===B.Open:e.listboxState.value===0);return()=>{var y,L;let a={open:e.listboxState.value===0},{...u}=o,D={\"aria-activedescendant\":e.activeOptionIndex.value===null||(y=e.options.value[e.activeOptionIndex.value])==null?void 0:y.id,\"aria-multiselectable\":e.mode.value===1?!0:void 0,\"aria-labelledby\":(L=S(e.buttonRef))==null?void 0:L.id,\"aria-orientation\":e.orientation.value,id:n,onKeydown:v,role:\"listbox\",tabIndex:0,ref:e.optionsRef};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,features:U.RenderStrategy|U.Static,visible:m.value,name:\"ListboxOptions\"})}}}),Fe=E({name:\"ListboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:b,attrs:r,expose:w}){var C;let n=(C=o.id)!=null?C:`headlessui-listbox-option-${F()}`,e=A(\"ListboxOption\"),f=T(null);w({el:f,$el:f});let v=x(()=>e.activeOptionIndex.value!==null?e.options.value[e.activeOptionIndex.value].id===n:!1),s=x(()=>P(e.mode.value,{[0]:()=>e.compare(R(e.value.value),R(o.value)),[1]:()=>R(e.value.value).some(t=>e.compare(R(t),R(o.value)))})),m=x(()=>P(e.mode.value,{[1]:()=>{var i;let t=R(e.value.value);return((i=e.options.value.find(l=>t.some(d=>e.compare(R(d),R(l.dataRef.value)))))==null?void 0:i.id)===n},[0]:()=>s.value})),p=Z(f),a=x(()=>({disabled:o.disabled,value:o.value,get textValue(){return p()},domRef:f}));K(()=>e.registerOption(n,a)),q(()=>e.unregisterOption(n)),K(()=>{H([e.listboxState,s],()=>{e.listboxState.value===0&&s.value&&P(e.mode.value,{[1]:()=>{m.value&&e.goToOption(g.Specific,n)},[0]:()=>{e.goToOption(g.Specific,n)}})},{immediate:!0})}),G(()=>{e.listboxState.value===0&&v.value&&e.activationTrigger.value!==0&&V(()=>{var t,i;return(i=(t=S(f))==null?void 0:t.scrollIntoView)==null?void 0:i.call(t,{block:\"nearest\"})})});function u(t){if(o.disabled)return t.preventDefault();e.select(o.value),e.mode.value===0&&(e.closeListbox(),V(()=>{var i;return(i=S(e.buttonRef))==null?void 0:i.focus({preventScroll:!0})}))}function D(){if(o.disabled)return e.goToOption(g.Nothing);e.goToOption(g.Specific,n)}let y=ee();function L(t){y.update(t)}function M(t){y.wasMoved(t)&&(o.disabled||v.value||e.goToOption(g.Specific,n,0))}function k(t){y.wasMoved(t)&&(o.disabled||v.value&&e.goToOption(g.Nothing))}return()=>{let{disabled:t}=o,i={active:v.value,selected:s.value,disabled:t},{value:l,disabled:d,...O}=o,h={id:n,ref:f,role:\"option\",tabIndex:t===!0?void 0:-1,\"aria-disabled\":t===!0?!0:void 0,\"aria-selected\":s.value,disabled:void 0,onClick:u,onFocus:D,onPointerenter:L,onMouseenter:L,onPointermove:M,onMousemove:M,onPointerleave:k,onMouseleave:k};return j({ourProps:h,theirProps:O,slot:i,attrs:r,slots:b,name:\"ListboxOption\"})}}});export{Ie as Listbox,je as ListboxButton,Ee as ListboxLabel,Fe as ListboxOption,Ae as ListboxOptions};\n"],"names":["o","r","ve","$","A","_","Ie","E","w","n","T","e","f","v","s","m","p","u","t","i","l","re","O","S","d","D","x","y","J","M","P","ne","g","h","I","R","X","ue","le","W","ie","B","C","K","H","N","z","se","Q","oe","de","te","j","fe","F","je","c","V","Y","L","a","Ae","ae","U","Fe","Z","q","G","ee","k"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentSkeleton.js","sources":["../../src/components/loading/ContentSkeleton.vue"],"sourcesContent":["<!--\n @component ContentSkeleton\n @description Skeleton loading placeholders for various content types.\n \n Provides animated skeleton loading states for lists, cards, tables,\n pages, and custom layouts.\n \n @props\n - type (string, optional): Skeleton type - 'list' | 'card' | 'table' | 'page' | 'custom'\n - itemCount (number, optional): Number of skeleton items to show\n - columnCount (number, optional): Number of columns for table type\n - columns (number, optional): Grid columns for card/page layouts\n - containerClass (string, optional): Additional container classes\n \n @slots\n - custom: Custom skeleton content when type is 'custom'\n \n @example\n <ContentSkeleton type=\"list\" :item-count=\"5\" />\n <ContentSkeleton type=\"card\" :item-count=\"3\" :columns=\"3\" />\n <ContentSkeleton type=\"table\" :item-count=\"10\" :column-count=\"4\" />\n-->\n<template>\n <div class=\"sl-animate-pulse\" :class=\"containerClass\">\n <!-- List skeleton -->\n <template v-if=\"type === 'list'\">\n <div class=\"sl-space-y-3\">\n <div \n v-for=\"n in itemCount\" \n :key=\"n\" \n class=\"sl-flex sl-items-center sl-space-x-4\"\n >\n <div class=\"sl-rounded-full sl-bg-gray-300 dark:sl-bg-slate-600 sl-h-10 sl-w-10\" />\n <div class=\"sl-flex-1 sl-space-y-2\">\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-3/4\" />\n <div class=\"sl-h-3 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-1/2\" />\n </div>\n </div>\n </div>\n </template>\n\n <!-- Card skeleton -->\n <template v-else-if=\"type === 'card'\">\n <div class=\"sl-grid sl-gap-4\" :class=\"gridClass\">\n <div \n v-for=\"n in itemCount\" \n :key=\"n\" \n class=\"sl-border sl-border-gray-200 dark:sl-border-slate-700 sl-rounded-lg sl-p-4\"\n >\n <div class=\"sl-h-32 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-mb-4\" />\n <div class=\"sl-space-y-2\">\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-3/4\" />\n <div class=\"sl-h-3 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-1/2\" />\n <div class=\"sl-h-3 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-5/6\" />\n </div>\n </div>\n </div>\n </template>\n\n <!-- Table skeleton -->\n <template v-else-if=\"type === 'table'\">\n <div class=\"sl-space-y-3\">\n <!-- Table header -->\n <div class=\"sl-flex sl-space-x-4 sl-pb-2 sl-border-b sl-border-gray-200 dark:sl-border-slate-700\">\n <div \n v-for=\"n in columnCount\" \n :key=\"n\" \n class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-flex-1\" \n />\n </div>\n <!-- Table rows -->\n <div \n v-for=\"n in itemCount\" \n :key=\"n\" \n class=\"sl-flex sl-space-x-4 sl-py-2\"\n >\n <div \n v-for=\"col in columnCount\" \n :key=\"col\" \n class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-flex-1\" \n />\n </div>\n </div>\n </template>\n\n <!-- Page skeleton -->\n <template v-else-if=\"type === 'page'\">\n <div class=\"sl-space-y-6\">\n <!-- Header -->\n <div class=\"sl-space-y-2\">\n <div class=\"sl-h-8 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-1/3\" />\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-2/3\" />\n </div>\n \n <!-- Content blocks -->\n <div class=\"sl-grid sl-gap-6\" :class=\"gridClass\">\n <div \n v-for=\"n in itemCount\" \n :key=\"n\" \n class=\"sl-space-y-3\"\n >\n <div class=\"sl-h-6 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-1/4\" />\n <div class=\"sl-space-y-2\">\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded\" />\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-5/6\" />\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-3/4\" />\n </div>\n </div>\n </div>\n </div>\n </template>\n\n <!-- Custom slot for custom skeletons -->\n <template v-else-if=\"type === 'custom'\">\n <slot name=\"custom\">\n <!-- Default custom skeleton -->\n <div class=\"sl-space-y-4\">\n <div class=\"sl-h-6 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-1/2\" />\n <div class=\"sl-h-32 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded\" />\n <div class=\"sl-h-4 sl-bg-gray-300 dark:sl-bg-slate-600 sl-rounded sl-w-3/4\" />\n </div>\n </slot>\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\n\ntype SkeletonType = 'list' | 'card' | 'table' | 'page' | 'custom';\n\ninterface Props {\n type?: SkeletonType;\n itemCount?: number;\n columnCount?: number;\n containerClass?: string;\n columns?: number;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n type: 'list',\n itemCount: 3,\n columnCount: 3,\n containerClass: '',\n columns: 1\n});\n\nconst gridClass = computed(() => {\n if (props.type === 'card' || props.type === 'page') {\n const colsClass: Record<number, string> = {\n 1: 'sl-grid-cols-1',\n 2: 'sl-grid-cols-1 sm:sl-grid-cols-2',\n 3: 'sl-grid-cols-1 sm:sl-grid-cols-2 lg:sl-grid-cols-3',\n 4: 'sl-grid-cols-1 sm:sl-grid-cols-2 lg:sl-grid-cols-4'\n };\n return colsClass[props.columns] || 'sl-grid-cols-1';\n }\n return '';\n});\n</script>\n\n<style scoped>\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n\n.sl-animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n</style>\n\n"],"names":["props","__props","gridClass","computed","_createElementBlock","_normalizeClass","_openBlock","_hoisted_1","_Fragment","_renderList","n","_createElementVNode","_hoisted_2","_hoisted_3","col","_hoisted_4","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2IA,UAAMA,IAAQC,GAQRC,IAAYC,EAAS,MACrBH,EAAM,SAAS,UAAUA,EAAM,SAAS,SACA;AAAA,MACxC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,EAEYA,EAAM,OAAO,KAAK,mBAE9B,EACR;2BAvICI,EAoGM,OAAA;AAAA,MApGD,OAAKC,EAAA,CAAC,oBAA2BJ,EAAA,cAAc,CAAA;AAAA,IAAA;MAElCA,EAAA,SAAI,UAClBK,KAAAF,EAYM,OAZNG,GAYM;AAAA,gBAXJH,EAUMI,GAAA,MAAAC,EATQR,EAAA,WAAS,CAAdS,YADTN,EAUM,OAAA;AAAA,UARH,KAAKM;AAAA,UACN,OAAM;AAAA,QAAA;UAENC,EAAmF,OAAA,EAA9E,OAAM,sEAAA,GAAqE,MAAA,EAAA;AAAA,UAChFA,EAGM,OAAA,EAHD,OAAM,4BAAwB;AAAA,YACjCA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,YAC3EA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,UAAA;;YAO9DV,EAAA,SAAI,eACvBG,EAaM,OAAA;AAAA;QAbD,OAAKC,EAAA,CAAC,oBAA2BH,EAAA,KAAS,CAAA;AAAA,MAAA;gBAC7CE,EAWMI,GAAA,MAAAC,EAVQR,EAAA,WAAS,CAAdS,YADTN,EAWM,OAAA;AAAA,UATH,KAAKM;AAAA,UACN,OAAM;AAAA,QAAA;;;eAaST,EAAA,SAAI,WACvBK,KAAAF,EAqBM,OArBNQ,GAqBM;AAAA,QAnBJD,EAMM,OANNE,GAMM;AAAA,kBALJT,EAIEI,GAAA,MAAAC,EAHYR,EAAA,aAAW,CAAhBS,YADTN,EAIE,OAAA;AAAA,YAFC,KAAKM;AAAA,YACN,OAAM;AAAA,UAAA;;gBAIVN,EAUMI,GAAA,MAAAC,EATQR,EAAA,WAAS,CAAdS,YADTN,EAUM,OAAA;AAAA,UARH,KAAKM;AAAA,UACN,OAAM;AAAA,QAAA;kBAENN,EAIEI,GAAA,MAAAC,EAHcR,EAAA,aAAW,CAAlBa,YADTV,EAIE,OAAA;AAAA,YAFC,KAAKU;AAAA,YACN,OAAM;AAAA,UAAA;;YAOOb,EAAA,SAAI,UACvBK,EAAA,GAAAF,EAsBM,OAtBNW,GAsBM;AAAA,wBApBJJ,EAGM,OAAA,EAHD,OAAM,kBAAc;AAAA,UACvBA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,UAC3EA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,QAAA;QAI7EA,EAaM,OAAA;AAAA,UAbD,OAAKN,EAAA,CAAC,oBAA2BH,EAAA,KAAS,CAAA;AAAA,QAAA;kBAC7CE,EAWMI,GAAA,MAAAC,EAVQR,EAAA,WAAS,CAAdS,YADTN,EAWM,OAAA;AAAA,YATH,KAAKM;AAAA,YACN,OAAM;AAAA,UAAA;;;;YAcOT,EAAA,SAAI,WACvBe,EAOOC,gCAPP,MAOO;AAAA,wBALLN,EAIM,OAAA,EAJD,OAAM,kBAAc;AAAA,UACvBA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,UAC3EA,EAAsE,OAAA,EAAjE,OAAM,0DAAwD;AAAA,UACnEA,EAA8E,OAAA,EAAzE,OAAM,kEAAgE;AAAA,QAAA;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SmartLoadingIndicator.js","sources":["../../src/components/loading/SmartLoadingIndicator.vue"],"sourcesContent":["<!--\n @component SmartLoadingIndicator\n @description Context-aware loading indicator with multiple display modes.\n \n A flexible loading component that supports spinner, dots, progress bar,\n and skeleton display modes with delayed showing and minimum duration.\n \n @props\n - isLoading (boolean, required): Whether to show loading state\n - delay (number, optional): Delay before showing (default: 300ms)\n - minDuration (number, optional): Minimum display time (default: 500ms)\n - size (string, optional): Size variant - 'sm' | 'md' | 'lg' | 'xl'\n - variant (string, optional): Display variant - 'spinner' | 'dots' | 'progress' | 'skeleton'\n - message (string, optional): Loading message\n - subMessage (string, optional): Secondary message\n - progress (number, optional): Progress percentage (0-100)\n - progressLabel (string, optional): Label for progress bar\n - showPercentage (boolean, optional): Show percentage on progress bar\n - showCancel (boolean, optional): Show cancel button\n - cancelText (string, optional): Cancel button text\n - fullScreen (boolean, optional): Full screen overlay\n - overlay (boolean, optional): Background overlay\n - skeletonType (string, optional): Skeleton type when variant is 'skeleton'\n \n @emits\n - cancel: Emitted when cancel button is clicked\n \n @example\n <SmartLoadingIndicator\n :is-loading=\"loading\"\n variant=\"spinner\"\n message=\"Loading data...\"\n />\n-->\n<template>\n <Transition name=\"loading\" mode=\"out-in\">\n <div v-if=\"shouldShowLoading\" class=\"sl-loading-container\" :class=\"containerClasses\">\n <!-- Spinner variant -->\n <div v-if=\"variant === 'spinner'\" class=\"sl-flex sl-flex-col sl-items-center sl-space-y-4 sl-p-8\">\n <div class=\"sl-loading-spinner\" :class=\"spinnerSizeClass\">\n <svg class=\"sl-animate-spin\" viewBox=\"0 0 24 24\" fill=\"none\">\n <circle class=\"sl-opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path class=\"sl-opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\" />\n </svg>\n </div>\n <div v-if=\"message\" class=\"sl-text-center\">\n <p class=\"sl-text-base sl-font-medium sl-text-gray-900 dark:sl-text-white\">{{ message }}</p>\n <p v-if=\"subMessage\" class=\"sl-mt-1 sl-text-sm sl-text-gray-500 dark:sl-text-slate-400\">{{ subMessage }}</p>\n </div>\n <div v-if=\"progress !== undefined\" class=\"sl-w-full sl-max-w-xs\">\n <div class=\"sl-flex sl-justify-between sl-mb-1\">\n <span v-if=\"progressLabel\" class=\"sl-text-sm sl-text-gray-600 dark:sl-text-slate-400\">{{ progressLabel }}</span>\n <span v-if=\"showPercentage\" class=\"sl-text-sm sl-text-gray-600 dark:sl-text-slate-400\">{{ progress }}%</span>\n </div>\n <div class=\"sl-h-2 sl-bg-gray-200 dark:sl-bg-slate-700 sl-rounded-full sl-overflow-hidden\">\n <div \n class=\"sl-h-full sl-bg-stachelock-600 sl-rounded-full sl-transition-all sl-duration-300\"\n :style=\"{ width: `${progress}%` }\"\n />\n </div>\n </div>\n <button\n v-if=\"showCancel\"\n @click=\"handleCancel\"\n class=\"sl-px-4 sl-py-2 sl-text-sm sl-font-medium sl-text-gray-700 dark:sl-text-slate-300 sl-bg-white dark:sl-bg-slate-800 sl-border sl-border-gray-300 dark:sl-border-slate-600 sl-rounded-md hover:sl-bg-gray-50 dark:hover:sl-bg-slate-700 sl-transition-colors\"\n >\n {{ cancelText }}\n </button>\n </div>\n\n <!-- Dots variant -->\n <div v-else-if=\"variant === 'dots'\" class=\"sl-flex sl-flex-col sl-items-center sl-space-y-4 sl-p-8\">\n <div class=\"sl-flex sl-space-x-2\">\n <div class=\"sl-loading-dot\" :class=\"dotSizeClass\" style=\"animation-delay: 0s\" />\n <div class=\"sl-loading-dot\" :class=\"dotSizeClass\" style=\"animation-delay: 0.2s\" />\n <div class=\"sl-loading-dot\" :class=\"dotSizeClass\" style=\"animation-delay: 0.4s\" />\n </div>\n <div v-if=\"message\" class=\"sl-text-center\">\n <p class=\"sl-text-base sl-font-medium sl-text-gray-900 dark:sl-text-white\">{{ message }}</p>\n <p v-if=\"subMessage\" class=\"sl-mt-1 sl-text-sm sl-text-gray-500 dark:sl-text-slate-400\">{{ subMessage }}</p>\n </div>\n </div>\n\n <!-- Progress variant -->\n <div v-else-if=\"variant === 'progress'\" class=\"sl-flex sl-flex-col sl-items-center sl-space-y-4 sl-p-8\">\n <div v-if=\"message\" class=\"sl-text-center\">\n <p class=\"sl-text-base sl-font-medium sl-text-gray-900 dark:sl-text-white\">{{ message }}</p>\n </div>\n <div class=\"sl-w-full sl-max-w-md\">\n <div class=\"sl-flex sl-justify-between sl-mb-1\">\n <span v-if=\"progressLabel\" class=\"sl-text-sm sl-text-gray-600 dark:sl-text-slate-400\">{{ progressLabel }}</span>\n <span v-if=\"showPercentage\" class=\"sl-text-sm sl-text-gray-600 dark:sl-text-slate-400\">{{ progress || 0 }}%</span>\n </div>\n <div class=\"sl-h-2 sl-bg-gray-200 dark:sl-bg-slate-700 sl-rounded-full sl-overflow-hidden\">\n <div \n class=\"sl-h-full sl-bg-stachelock-600 sl-rounded-full sl-transition-all sl-duration-300\"\n :style=\"{ width: `${progress || 0}%` }\"\n />\n </div>\n </div>\n <p v-if=\"subMessage\" class=\"sl-text-sm sl-text-gray-500 dark:sl-text-slate-400\">{{ subMessage }}</p>\n </div>\n\n <!-- Skeleton variant -->\n <div v-else-if=\"variant === 'skeleton'\" class=\"sl-w-full\">\n <slot name=\"skeleton\">\n <ContentSkeleton :type=\"skeletonType\" />\n </slot>\n </div>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onUnmounted } from 'vue';\nimport ContentSkeleton from './ContentSkeleton.vue';\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl';\ntype Variant = 'spinner' | 'dots' | 'progress' | 'skeleton';\ntype SkeletonType = 'list' | 'card' | 'table' | 'custom';\n\ninterface Props {\n isLoading: boolean;\n delay?: number;\n minDuration?: number;\n size?: Size;\n variant?: Variant;\n message?: string;\n subMessage?: string;\n progress?: number;\n progressLabel?: string;\n showPercentage?: boolean;\n showCancel?: boolean;\n cancelText?: string;\n fullScreen?: boolean;\n overlay?: boolean;\n skeletonType?: SkeletonType;\n containerClass?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n delay: 300,\n minDuration: 500,\n size: 'md',\n variant: 'spinner',\n cancelText: 'Cancel',\n fullScreen: false,\n overlay: false,\n skeletonType: 'list',\n showPercentage: false,\n showCancel: false,\n containerClass: '',\n});\n\nconst emit = defineEmits<{\n cancel: [];\n}>();\n\nconst showSpinner = ref(false);\nconst shouldShowLoading = ref(false);\nlet delayTimer: ReturnType<typeof setTimeout> | null = null;\nlet minDurationTimer: ReturnType<typeof setTimeout> | null = null;\nlet startTime = 0;\n\nconst containerClasses = computed(() => [\n props.containerClass,\n {\n 'sl-fixed sl-inset-0 sl-z-50 sl-bg-white dark:sl-bg-slate-900 sl-flex sl-items-center sl-justify-center': props.fullScreen,\n 'sl-absolute sl-inset-0 sl-bg-white/80 dark:sl-bg-slate-900/80 sl-flex sl-items-center sl-justify-center': props.overlay && !props.fullScreen,\n }\n]);\n\nconst spinnerSizeClass = computed(() => {\n const sizes: Record<Size, string> = {\n sm: 'sl-w-6 sl-h-6',\n md: 'sl-w-8 sl-h-8',\n lg: 'sl-w-12 sl-h-12',\n xl: 'sl-w-16 sl-h-16',\n };\n return sizes[props.size];\n});\n\nconst dotSizeClass = computed(() => {\n const sizes: Record<Size, string> = {\n sm: 'sl-w-2 sl-h-2',\n md: 'sl-w-3 sl-h-3',\n lg: 'sl-w-4 sl-h-4',\n xl: 'sl-w-5 sl-h-5',\n };\n return sizes[props.size];\n});\n\nfunction hideLoading(): void {\n showSpinner.value = false;\n shouldShowLoading.value = false;\n clearTimers();\n}\n\nfunction clearTimers(): void {\n if (delayTimer) {\n clearTimeout(delayTimer);\n delayTimer = null;\n }\n if (minDurationTimer) {\n clearTimeout(minDurationTimer);\n minDurationTimer = null;\n }\n}\n\nfunction handleCancel(): void {\n emit('cancel');\n}\n\nwatch(() => props.isLoading, (newVal) => {\n if (newVal) {\n startTime = Date.now();\n clearTimers();\n \n // For skeletons, show immediately\n if (props.variant === 'skeleton') {\n shouldShowLoading.value = true;\n return;\n }\n \n // Start delay timer for spinner/dots/progress\n delayTimer = setTimeout(() => {\n showSpinner.value = true;\n shouldShowLoading.value = true;\n \n // Ensure minimum display time\n const elapsed = Date.now() - startTime;\n const remaining = props.minDuration - elapsed;\n \n if (remaining > 0) {\n minDurationTimer = setTimeout(() => {\n if (!props.isLoading) {\n hideLoading();\n }\n }, remaining);\n }\n }, props.delay);\n } else {\n const elapsed = Date.now() - startTime;\n \n if (elapsed < props.delay) {\n clearTimers();\n hideLoading();\n } else if (elapsed < props.minDuration) {\n const remaining = props.minDuration - elapsed;\n setTimeout(() => {\n hideLoading();\n }, remaining);\n } else {\n hideLoading();\n }\n }\n});\n\nonUnmounted(() => {\n clearTimers();\n});\n</script>\n\n<style scoped>\n.sl-loading-spinner {\n @apply sl-text-stachelock-600;\n}\n\n.sl-loading-dot {\n @apply sl-rounded-full sl-bg-stachelock-600;\n animation: bounce 1.4s infinite ease-in-out both;\n}\n\n@keyframes bounce {\n 0%, 80%, 100% {\n transform: scale(0);\n }\n 40% {\n transform: scale(1);\n }\n}\n\n.loading-enter-active,\n.loading-leave-active {\n transition: opacity 0.3s ease;\n}\n\n.loading-enter-from,\n.loading-leave-to {\n opacity: 0;\n}\n</style>\n\n"],"names":["props","__props","emit","__emit","showSpinner","ref","shouldShowLoading","delayTimer","minDurationTimer","startTime","containerClasses","computed","spinnerSizeClass","dotSizeClass","hideLoading","clearTimers","handleCancel","watch","newVal","elapsed","remaining","onUnmounted","_createBlock","_Transition","_createElementBlock","_normalizeClass","_openBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_renderSlot","_ctx","_createVNode","ContentSkeleton"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapThemes-DFE9fZm3.js","sources":["../src/utils/mapThemes.ts"],"sourcesContent":["/**\n * @fileoverview Google Maps Theme Definitions\n * \n * Comprehensive map theme styles for Google Maps with support for\n * light mode, dark mode, and various aesthetic presets.\n * \n * @module utils/mapThemes\n */\n\n/// <reference types=\"@types/google.maps\" />\n\nimport type { MapTheme } from '../types/maps';\n\n/**\n * Map style definition type (Google Maps style array)\n */\nexport type MapStyles = google.maps.MapTypeStyle[];\n\n/**\n * Ultra Light theme - minimal, clean look\n * Great for data visualization where map details shouldn't distract\n */\nexport const ultraLightTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#f5f5f5' }]\n },\n {\n elementType: 'labels.icon',\n stylers: [{ visibility: 'off' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#616161' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#f5f5f5' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#bdbdbd' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#eeeeee' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#757575' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ color: '#e5e5e5' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#9e9e9e' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#ffffff' }]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#757575' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#dadada' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#616161' }]\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#9e9e9e' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [{ color: '#e5e5e5' }]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{ color: '#eeeeee' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#c9c9c9' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#9e9e9e' }]\n }\n];\n\n/**\n * Light theme - clean, modern appearance\n */\nexport const lightTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#ffffff' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#4a5568' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#ffffff' }]\n },\n {\n featureType: 'administrative',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#cbd5e0' }]\n },\n {\n featureType: 'landscape',\n elementType: 'geometry',\n stylers: [{ color: '#f7fafc' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#edf2f7' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ color: '#c6f6d5' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#ffffff' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#e2e8f0' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#feebc8' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#f6ad55' }]\n },\n {\n featureType: 'transit',\n elementType: 'geometry',\n stylers: [{ color: '#e2e8f0' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#bee3f8' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#4299e1' }]\n }\n];\n\n/**\n * Dark theme - modern dark mode for nighttime or dark UI contexts\n * Optimized for reduced eye strain and OLED screens\n */\nexport const darkTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#1a202c' }]\n },\n {\n elementType: 'labels.icon',\n stylers: [{ visibility: 'off' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#a0aec0' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#1a202c' }]\n },\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [{ color: '#2d3748' }]\n },\n {\n featureType: 'administrative.country',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#cbd5e0' }]\n },\n {\n featureType: 'administrative.locality',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#e2e8f0' }]\n },\n {\n featureType: 'landscape',\n elementType: 'geometry',\n stylers: [{ color: '#2d3748' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#2d3748' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#718096' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ color: '#1c4532' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#68d391' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#4a5568' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#2d3748' }]\n },\n {\n featureType: 'road',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#a0aec0' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#5a67d8' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#4c51bf' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#e2e8f0' }]\n },\n {\n featureType: 'transit',\n elementType: 'geometry',\n stylers: [{ color: '#2d3748' }]\n },\n {\n featureType: 'transit.station',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#a0aec0' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#1a365d' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#63b3ed' }]\n }\n];\n\n/**\n * Night theme - deep dark theme with subtle highlights\n */\nexport const nightTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#0d1117' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#8b949e' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#0d1117' }]\n },\n {\n featureType: 'administrative',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#30363d' }]\n },\n {\n featureType: 'landscape',\n elementType: 'geometry',\n stylers: [{ color: '#161b22' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#21262d' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ color: '#0d1912' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#30363d' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#484f58' }]\n },\n {\n featureType: 'transit',\n elementType: 'geometry',\n stylers: [{ color: '#21262d' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#0c1929' }]\n }\n];\n\n/**\n * Silver theme - subtle, professional appearance\n */\nexport const silverTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#f5f5f5' }]\n },\n {\n elementType: 'labels.icon',\n stylers: [{ visibility: 'off' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#616161' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#f5f5f5' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#eeeeee' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{ color: '#e5e5e5' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#ffffff' }]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#dadada' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'transit',\n stylers: [{ visibility: 'off' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#c9c9c9' }]\n }\n];\n\n/**\n * Retro theme - vintage map styling\n */\nexport const retroTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#ebe3cd' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#523735' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#f5f1e6' }]\n },\n {\n featureType: 'administrative',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#c9b2a6' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#dcd2be' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#ae9e90' }]\n },\n {\n featureType: 'landscape.natural',\n elementType: 'geometry',\n stylers: [{ color: '#dfd2ae' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#dfd2ae' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#93817c' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [{ color: '#a5b076' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#f5f1e6' }]\n },\n {\n featureType: 'road.arterial',\n elementType: 'geometry',\n stylers: [{ color: '#fdfcf8' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#f8c967' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#e9bc62' }]\n },\n {\n featureType: 'road.highway.controlled_access',\n elementType: 'geometry',\n stylers: [{ color: '#e98d58' }]\n },\n {\n featureType: 'road.highway.controlled_access',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#db8555' }]\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#806b63' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [{ color: '#dfd2ae' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#8f7d77' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#ebe3cd' }]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{ color: '#dfd2ae' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry.fill',\n stylers: [{ color: '#b9d3c2' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#92998d' }]\n }\n];\n\n/**\n * Aubergine theme - deep purple dark theme\n */\nexport const aubergineTheme: MapStyles = [\n {\n elementType: 'geometry',\n stylers: [{ color: '#1d2c4d' }]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [{ color: '#8ec3b9' }]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#1a3646' }]\n },\n {\n featureType: 'administrative.country',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#4b6878' }]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#64779e' }]\n },\n {\n featureType: 'administrative.province',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#4b6878' }]\n },\n {\n featureType: 'landscape.man_made',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#334e87' }]\n },\n {\n featureType: 'landscape.natural',\n elementType: 'geometry',\n stylers: [{ color: '#023e58' }]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{ color: '#283d6a' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#6f9ba5' }]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#1d2c4d' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [{ color: '#023e58' }]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#3C7680' }]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{ color: '#304a7d' }]\n },\n {\n featureType: 'road',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#98a5be' }]\n },\n {\n featureType: 'road',\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#1d2c4d' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{ color: '#2c6675' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [{ color: '#255763' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#b0d5ce' }]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#023e58' }]\n },\n {\n featureType: 'transit',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#98a5be' }]\n },\n {\n featureType: 'transit',\n elementType: 'labels.text.stroke',\n stylers: [{ color: '#1d2c4d' }]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry.fill',\n stylers: [{ color: '#283d6a' }]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{ color: '#3a4762' }]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{ color: '#0e1626' }]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{ color: '#4e6d70' }]\n }\n];\n\n/**\n * Map of theme names to their styles\n */\nexport const mapThemes: Record<MapTheme, MapStyles | undefined> = {\n default: undefined, // Use Google Maps default\n light: lightTheme,\n dark: darkTheme,\n ultraLight: ultraLightTheme,\n silver: silverTheme,\n night: nightTheme,\n retro: retroTheme,\n aubergine: aubergineTheme,\n custom: undefined, // Use custom styles prop\n};\n\n/**\n * Get map styles for a given theme\n * @param theme - Theme name\n * @param customStyles - Custom styles to use when theme is 'custom'\n * @returns Map styles array or undefined for default\n */\nexport function getMapStyles(\n theme: MapTheme,\n customStyles?: MapStyles\n): MapStyles | undefined {\n if (theme === 'custom' && customStyles) {\n return customStyles;\n }\n return mapThemes[theme];\n}\n\n/**\n * Get the appropriate theme based on dark mode state\n * @param isDark - Whether dark mode is enabled\n * @param lightThemeName - Theme to use in light mode\n * @param darkThemeName - Theme to use in dark mode\n * @returns Map styles array or undefined\n */\nexport function getThemeForMode(\n isDark: boolean,\n lightThemeName: MapTheme = 'ultraLight',\n darkThemeName: MapTheme = 'dark'\n): MapStyles | undefined {\n return isDark ? mapThemes[darkThemeName] : mapThemes[lightThemeName];\n}\n\n/**\n * Marker color palette for consistent marker styling\n */\nexport const markerColors = {\n primary: '#3E4B9A',\n secondary: '#6366f1',\n success: '#10b981',\n warning: '#f59e0b',\n danger: '#ef4444',\n info: '#3b82f6',\n dark: '#1f2937',\n light: '#f3f4f6',\n};\n\n/**\n * Cluster color scale based on size\n */\nexport const clusterColors = {\n small: '#10b981', // Green for small clusters (2-10)\n medium: '#f59e0b', // Amber for medium clusters (11-50)\n large: '#f97316', // Orange for large clusters (51-200)\n extraLarge: '#ef4444', // Red for extra large clusters (200+)\n};\n\n/**\n * Get cluster color based on cluster size\n */\nexport function getClusterColor(size: number): string {\n if (size <= 10) return clusterColors.small;\n if (size <= 50) return clusterColors.medium;\n if (size <= 200) return clusterColors.large;\n return clusterColors.extraLarge;\n}\n\n/**\n * Get cluster size class name for styling\n */\nexport function getClusterSizeClass(size: number): string {\n if (size <= 10) return 'cluster-small';\n if (size <= 50) return 'cluster-medium';\n if (size <= 200) return 'cluster-large';\n return 'cluster-extra-large';\n}\n\n/**\n * Export themes for external use (re-export from vue3-google-map compatible)\n */\nexport const ultraLight = ultraLightTheme;\n\n"],"names":["ultraLightTheme","lightTheme","darkTheme","nightTheme","silverTheme","retroTheme","aubergineTheme","mapThemes","getMapStyles","theme","customStyles","getThemeForMode","isDark","lightThemeName","darkThemeName","markerColors","clusterColors","getClusterColor","size"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleMap.js","sources":["../../src/components/maps/GoogleMap.vue"],"sourcesContent":["<template>\n <div class=\"sl-google-map-container\" :style=\"containerStyle\">\n <div v-if=\"!isLoaded\" class=\"sl-map-loading sl-flex sl-items-center sl-justify-center sl-h-full sl-bg-gray-100 sl-rounded-lg\">\n <div class=\"sl-flex sl-flex-col sl-items-center sl-gap-2\">\n <div class=\"sl-animate-spin sl-rounded-full sl-h-8 sl-w-8 sl-border-b-2 sl-border-primary-600\"></div>\n <span class=\"sl-text-sm sl-text-gray-500\">Loading map...</span>\n </div>\n </div>\n \n <div v-else-if=\"error\" class=\"sl-map-error sl-flex sl-items-center sl-justify-center sl-h-full sl-bg-red-50 sl-rounded-lg sl-p-4\">\n <div class=\"sl-flex sl-flex-col sl-items-center sl-gap-2 sl-text-center\">\n <ExclamationCircleIcon class=\"sl-h-10 sl-w-10 sl-text-red-400\" />\n <span class=\"sl-text-sm sl-text-red-600\">{{ error }}</span>\n </div>\n </div>\n \n <GoogleMapComponent\n v-else\n :api-key=\"effectiveApiKey\"\n :center=\"effectiveCenter\"\n :zoom=\"effectiveZoom\"\n :map-type-id=\"mapTypeId\"\n :styles=\"mapStyles\"\n :disable-default-ui=\"disableDefaultUi\"\n :street-view-control=\"streetViewControl\"\n :zoom-control=\"zoomControl\"\n :fullscreen-control=\"fullscreenControl\"\n :map-type-control=\"mapTypeControl\"\n class=\"sl-w-full sl-h-full sl-rounded-lg sl-overflow-hidden\"\n @click=\"handleMapClick\"\n @center_changed=\"handleCenterChanged\"\n @zoom_changed=\"handleZoomChanged\"\n >\n <!-- Marker for single location -->\n <Marker\n v-if=\"marker && !markers.length\"\n :options=\"{ position: marker }\"\n @click=\"handleMarkerClick(marker)\"\n />\n \n <!-- Multiple markers -->\n <Marker\n v-for=\"(m, index) in markers\"\n :key=\"index\"\n :options=\"{ position: m.position, title: m.title }\"\n @click=\"handleMarkerClick(m)\"\n />\n \n <!-- Custom content slot -->\n <slot />\n </GoogleMapComponent>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n/// <reference types=\"@types/google.maps\" />\nimport { ref, computed, inject, onMounted, defineAsyncComponent, type PropType } from 'vue';\nimport { ExclamationCircleIcon } from '@heroicons/vue/24/outline';\nimport type { GoogleMapsOptions } from '@/plugin/configure';\n\n// Dynamic imports for Google Maps components\nconst GoogleMapComponent = defineAsyncComponent(() => \n import('vue3-google-map').then(m => m.GoogleMap)\n);\nconst Marker = defineAsyncComponent(() => \n import('vue3-google-map').then(m => m.Marker)\n);\n\nexport interface MapMarker {\n position: { lat: number; lng: number };\n title?: string;\n id?: string | number;\n data?: unknown;\n}\n\nconst props = defineProps({\n /** Google Maps API key (can also be provided via plugin) */\n apiKey: {\n type: String,\n default: '',\n },\n /** Map center coordinates */\n center: {\n type: Object as PropType<{ lat: number; lng: number }>,\n default: undefined,\n },\n /** Zoom level (1-20) */\n zoom: {\n type: Number,\n default: undefined,\n },\n /** Single marker position */\n marker: {\n type: Object as PropType<{ lat: number; lng: number }>,\n default: undefined,\n },\n /** Multiple markers */\n markers: {\n type: Array as PropType<MapMarker[]>,\n default: () => [],\n },\n /** Map width */\n width: {\n type: String,\n default: '100%',\n },\n /** Map height */\n height: {\n type: String,\n default: '400px',\n },\n /** Map type: roadmap, satellite, hybrid, terrain */\n mapTypeId: {\n type: String as PropType<'roadmap' | 'satellite' | 'hybrid' | 'terrain'>,\n default: 'roadmap',\n },\n /** Custom map styles */\n mapStyles: {\n type: Array as PropType<google.maps.MapTypeStyle[]>,\n default: undefined,\n },\n /** Disable all default UI */\n disableDefaultUi: {\n type: Boolean,\n default: false,\n },\n /** Show street view control */\n streetViewControl: {\n type: Boolean,\n default: true,\n },\n /** Show zoom control */\n zoomControl: {\n type: Boolean,\n default: true,\n },\n /** Show fullscreen control */\n fullscreenControl: {\n type: Boolean,\n default: true,\n },\n /** Show map type control */\n mapTypeControl: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits<{\n (e: 'click', event: { lat: number; lng: number }): void;\n (e: 'marker-click', marker: MapMarker | { lat: number; lng: number }): void;\n (e: 'center-changed', center: { lat: number; lng: number }): void;\n (e: 'zoom-changed', zoom: number): void;\n}>();\n\n// Get plugin configuration\nconst googleMapsConfig = inject<GoogleMapsOptions>('googleMaps', {} as GoogleMapsOptions);\n\nconst isLoaded = ref(false);\nconst error = ref<string | null>(null);\n\n// Computed values with fallback to config\nconst effectiveApiKey = computed(() => {\n return props.apiKey || googleMapsConfig?.apiKey || '';\n});\n\nconst effectiveCenter = computed(() => {\n return props.center || googleMapsConfig?.defaultCenter || { lat: 0, lng: 0 };\n});\n\nconst effectiveZoom = computed(() => {\n return props.zoom ?? googleMapsConfig?.defaultZoom ?? 10;\n});\n\nconst containerStyle = computed(() => ({\n width: props.width,\n height: props.height,\n}));\n\nonMounted(() => {\n if (!effectiveApiKey.value) {\n error.value = 'Google Maps API key is required. Provide it via the apiKey prop or through the StachelockUI plugin configuration.';\n return;\n }\n \n // Small delay to ensure the map component is ready\n setTimeout(() => {\n isLoaded.value = true;\n }, 100);\n});\n\nconst handleMapClick = (event: google.maps.MapMouseEvent) => {\n if (event.latLng) {\n emit('click', {\n lat: event.latLng.lat(),\n lng: event.latLng.lng(),\n });\n }\n};\n\nconst handleMarkerClick = (marker: MapMarker | { lat: number; lng: number }) => {\n emit('marker-click', marker);\n};\n\nconst handleCenterChanged = (center: google.maps.LatLng) => {\n emit('center-changed', {\n lat: center.lat(),\n lng: center.lng(),\n });\n};\n\nconst handleZoomChanged = (zoom: number) => {\n emit('zoom-changed', zoom);\n};\n</script>\n\n<style scoped>\n.sl-google-map-container {\n position: relative;\n}\n</style>\n\n"],"names":["GoogleMapComponent","defineAsyncComponent","m","Marker","props","__props","emit","__emit","googleMapsConfig","inject","isLoaded","ref","error","effectiveApiKey","computed","effectiveCenter","effectiveZoom","containerStyle","onMounted","handleMapClick","event","handleMarkerClick","marker","handleCenterChanged","center","handleZoomChanged","zoom","_createElementBlock","_openBlock","_hoisted_2","_createElementVNode","_hoisted_3","_createVNode","_unref","ExclamationCircleIcon","_hoisted_4","_toDisplayString","_createBlock","_cache","$event","_Fragment","_renderList","index","_renderSlot","_ctx","_hoisted_1"],"mappings":"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"}
|