@stachelock/ui 0.5.5 → 0.6.2
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 +33 -31
- 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 +2652 -790
- 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/UiBanner.d.ts +1 -1
- package/dist/src/components/UiLoadingDots.d.ts +1 -1
- package/dist/src/components/UiMenu.d.ts +1 -1
- package/dist/src/components/UiModal.d.ts +1 -1
- package/dist/src/components/collection-editor/CollectionItemList.d.ts +42 -0
- package/dist/src/components/collection-editor/OrganizationsEditor.d.ts +29 -0
- package/dist/src/components/collection-editor/RelatedNamesEditor.d.ts +26 -0
- package/dist/src/components/collection-editor/SocialLinksEditor.d.ts +26 -0
- package/dist/src/components/collection-editor/index.d.ts +5 -0
- package/dist/src/components/forms/FormFieldWrapper.d.ts +1 -1
- package/dist/src/components/index.d.ts +2 -0
- package/dist/src/components/inputs/AddressInput.d.ts +40 -0
- package/dist/src/components/inputs/ComboboxInput.d.ts +2 -2
- package/dist/src/components/inputs/DatepickerInput.d.ts +19 -19
- package/dist/src/components/inputs/EmailInput.d.ts +2 -2
- package/dist/src/components/inputs/PhoneInput.d.ts +2 -2
- package/dist/src/components/inputs/RichTextInput.d.ts +2 -2
- package/dist/src/components/inputs/SelectInput.d.ts +2 -2
- package/dist/src/components/inputs/SelectTextInput.d.ts +4 -4
- package/dist/src/components/inputs/TagifyInput.d.ts +2 -2
- package/dist/src/components/inputs/TextInput.d.ts +3 -3
- package/dist/src/components/inputs/index.d.ts +1 -0
- package/dist/src/components/layouts/CardLayout.d.ts +1 -1
- package/dist/src/components/maps/UiInfoWindow.d.ts +2 -2
- package/dist/src/components/maps/UiMap.d.ts +2 -2
- package/dist/src/components/maps/UiMapAll.d.ts +10 -10
- package/dist/src/components/maps/UiMapMarker.d.ts +2 -2
- package/dist/src/components/modals/BaseModal.d.ts +1 -1
- package/dist/src/components/profiles/BentoProfileLayout.d.ts +9 -0
- package/dist/src/components/profiles/ProfileCard.d.ts +30 -0
- package/dist/src/components/profiles/ProfileContactCard.d.ts +12 -0
- package/dist/src/components/profiles/ProfileHeaderCard.d.ts +20 -0
- package/dist/src/components/profiles/ProfileLocationCard.d.ts +17 -0
- package/dist/src/components/profiles/ProfileOrganizationsCard.d.ts +11 -0
- package/dist/src/components/profiles/ProfilePersonalCard.d.ts +10 -0
- package/dist/src/components/profiles/ProfileProfessionalCard.d.ts +11 -0
- package/dist/src/components/profiles/ProfileRelatedNamesCard.d.ts +11 -0
- package/dist/src/components/profiles/index.d.ts +9 -0
- package/dist/src/composables/index.d.ts +1 -0
- package/dist/src/composables/useCollectionEditor.d.ts +64 -0
- package/dist/src/composables/useNotifications.d.ts +4 -4
- 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/collection-editor.d.ts +134 -0
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/profiles.d.ts +149 -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/useCollectionEditor-BYyoAT0U.js +121 -0
- 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":"UiInfoWindow.js","sources":["../../src/components/maps/UiInfoWindow.vue"],"sourcesContent":["<template>\n <Teleport to=\"body\">\n <Transition\n enter-active-class=\"sl-transition sl-ease-out sl-duration-200\"\n enter-from-class=\"sl-opacity-0 sl-scale-95\"\n enter-to-class=\"sl-opacity-100 sl-scale-100\"\n leave-active-class=\"sl-transition sl-ease-in sl-duration-150\"\n leave-from-class=\"sl-opacity-100 sl-scale-100\"\n leave-to-class=\"sl-opacity-0 sl-scale-95\"\n >\n <div\n v-if=\"visible\"\n class=\"sl-fixed sl-inset-0 sl-z-50 sl-flex sl-items-center sl-justify-center sl-p-4\"\n >\n <!-- Backdrop -->\n <div \n class=\"sl-absolute sl-inset-0 sl-bg-black/50 sl-backdrop-blur-sm\"\n @click=\"handleBackdropClick\"\n />\n\n <!-- Modal Content -->\n <div\n class=\"sl-relative sl-w-full sl-max-w-md sl-rounded-xl sl-shadow-2xl sl-overflow-hidden\"\n :class=\"[\n isDark \n ? 'sl-bg-gray-800 sl-border sl-border-gray-700' \n : 'sl-bg-white'\n ]\"\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <!-- Loading State -->\n <div \n v-if=\"loading\" \n class=\"sl-p-8 sl-flex sl-flex-col sl-items-center sl-justify-center\"\n >\n <div \n class=\"sl-animate-spin sl-rounded-full sl-h-10 sl-w-10 sl-border-3 sl-border-t-transparent sl-mb-4\"\n :class=\"isDark ? 'sl-border-primary-400' : 'sl-border-primary-600'\"\n />\n <p \n class=\"sl-text-sm\"\n :class=\"isDark ? 'sl-text-gray-400' : 'sl-text-gray-600'\"\n >\n {{ loadingText }}\n </p>\n </div>\n\n <!-- Error State -->\n <div \n v-else-if=\"error\" \n class=\"sl-p-8 sl-text-center\"\n >\n <ExclamationCircleIcon \n class=\"sl-h-12 sl-w-12 sl-mx-auto sl-mb-4\"\n :class=\"isDark ? 'sl-text-red-400' : 'sl-text-red-500'\"\n />\n <p \n class=\"sl-font-medium sl-mb-2\"\n :class=\"isDark ? 'sl-text-red-300' : 'sl-text-red-600'\"\n >\n {{ error }}\n </p>\n <button\n v-if=\"showRetry\"\n @click=\"emit('retry')\"\n class=\"sl-text-sm sl-underline\"\n :class=\"isDark ? 'sl-text-red-400 hover:sl-text-red-300' : 'sl-text-red-500 hover:sl-text-red-400'\"\n >\n Try Again\n </button>\n </div>\n\n <!-- Content -->\n <template v-else>\n <!-- Header -->\n <div \n class=\"sl-flex sl-items-start sl-gap-4 sl-p-5 sl-border-b\"\n :class=\"isDark ? 'sl-border-gray-700' : 'sl-border-gray-100'\"\n >\n <!-- Avatar/Image -->\n <div \n v-if=\"showAvatar || imageUrl\" \n class=\"sl-flex-shrink-0\"\n >\n <img\n v-if=\"imageUrl\"\n :src=\"imageUrl\"\n :alt=\"title\"\n class=\"sl-h-14 sl-w-14 sl-rounded-full sl-object-cover sl-ring-2\"\n :class=\"isDark ? 'sl-ring-gray-600' : 'sl-ring-gray-200'\"\n />\n <div \n v-else-if=\"showAvatar\"\n class=\"sl-h-14 sl-w-14 sl-rounded-full sl-flex sl-items-center sl-justify-center sl-text-lg sl-font-semibold\"\n :class=\"[\n isDark \n ? 'sl-bg-primary-900 sl-text-primary-300' \n : 'sl-bg-primary-100 sl-text-primary-700'\n ]\"\n >\n {{ avatarInitials }}\n </div>\n </div>\n\n <!-- Title & Subtitle -->\n <div class=\"sl-flex-1 sl-min-w-0\">\n <h3 \n class=\"sl-text-lg sl-font-semibold sl-truncate\"\n :class=\"isDark ? 'sl-text-gray-100' : 'sl-text-gray-900'\"\n >\n <slot name=\"title\">{{ title }}</slot>\n </h3>\n <p \n v-if=\"subtitle\" \n class=\"sl-text-sm sl-mt-0.5 sl-truncate\"\n :class=\"isDark ? 'sl-text-gray-400' : 'sl-text-gray-500'\"\n >\n <slot name=\"subtitle\">{{ subtitle }}</slot>\n </p>\n </div>\n\n <!-- Close Button -->\n <button\n @click=\"handleClose\"\n class=\"sl-flex-shrink-0 sl-p-1.5 sl-rounded-full sl-transition-colors\"\n :class=\"[\n isDark \n ? 'hover:sl-bg-gray-700 sl-text-gray-400 hover:sl-text-gray-300' \n : 'hover:sl-bg-gray-100 sl-text-gray-400 hover:sl-text-gray-600'\n ]\"\n >\n <XMarkIcon class=\"sl-h-5 sl-w-5\" />\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"sl-p-5\">\n <slot>\n <!-- Details List -->\n <div \n v-if=\"details && details.length\" \n class=\"sl-space-y-3\"\n >\n <div \n v-for=\"(detail, idx) in details\" \n :key=\"idx\"\n class=\"sl-flex sl-items-start sl-gap-3\"\n >\n <div \n class=\"sl-flex-shrink-0 sl-w-2 sl-h-2 sl-rounded-full sl-mt-2\"\n :class=\"isDark ? 'sl-bg-gray-600' : 'sl-bg-gray-300'\"\n />\n <div class=\"sl-min-w-0 sl-flex-1\">\n <p \n class=\"sl-text-xs sl-font-medium sl-uppercase sl-tracking-wide\"\n :class=\"isDark ? 'sl-text-gray-500' : 'sl-text-gray-400'\"\n >\n {{ detail.label }}\n </p>\n <!-- Email -->\n <a\n v-if=\"detail.type === 'email' && detail.value\"\n :href=\"`mailto:${detail.value}`\"\n class=\"sl-text-sm sl-underline sl-break-all\"\n :class=\"isDark ? 'sl-text-primary-400 hover:sl-text-primary-300' : 'sl-text-primary-600 hover:sl-text-primary-500'\"\n >\n {{ detail.value }}\n </a>\n <!-- Phone -->\n <a\n v-else-if=\"detail.type === 'phone' && detail.value\"\n :href=\"`tel:${detail.value}`\"\n class=\"sl-text-sm sl-underline\"\n :class=\"isDark ? 'sl-text-primary-400 hover:sl-text-primary-300' : 'sl-text-primary-600 hover:sl-text-primary-500'\"\n >\n {{ detail.value }}\n </a>\n <!-- Link -->\n <a\n v-else-if=\"detail.type === 'link' && detail.value\"\n :href=\"detail.value\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"sl-text-sm sl-underline sl-break-all\"\n :class=\"isDark ? 'sl-text-primary-400 hover:sl-text-primary-300' : 'sl-text-primary-600 hover:sl-text-primary-500'\"\n >\n {{ detail.value }}\n </a>\n <!-- Text (default) -->\n <p \n v-else \n class=\"sl-text-sm\"\n :class=\"isDark ? 'sl-text-gray-300' : 'sl-text-gray-700'\"\n >\n {{ detail.value || 'Not available' }}\n </p>\n </div>\n </div>\n </div>\n\n <!-- Custom Content -->\n <div \n v-else-if=\"content\" \n class=\"sl-text-sm\"\n :class=\"isDark ? 'sl-text-gray-300' : 'sl-text-gray-700'\"\n v-html=\"content\"\n />\n\n <!-- Empty State -->\n <p \n v-else \n class=\"sl-text-sm sl-text-center sl-py-4\"\n :class=\"isDark ? 'sl-text-gray-500' : 'sl-text-gray-400'\"\n >\n No additional information available\n </p>\n </slot>\n </div>\n\n <!-- Footer / Actions -->\n <div \n v-if=\"actions?.length || $slots.footer\"\n class=\"sl-flex sl-items-center sl-gap-3 sl-p-5 sl-pt-0\"\n >\n <slot name=\"footer\">\n <button\n v-for=\"(action, idx) in actions\"\n :key=\"idx\"\n @click=\"handleAction(action)\"\n class=\"sl-flex-1 sl-py-2.5 sl-px-4 sl-text-sm sl-font-medium sl-rounded-lg sl-transition-colors\"\n :class=\"getActionClass(action.theme)\"\n >\n {{ action.label }}\n </button>\n </slot>\n </div>\n </template>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * @component UiInfoWindow\n * @description A modal info window component for displaying marker details\n * \n * Supports:\n * - Dark/light mode\n * - Loading and error states\n * - Avatar/image display\n * - Detail list with various types (email, phone, link, text)\n * - Custom actions\n * - Customizable via slots\n */\n\nimport { computed, watch, type PropType } from 'vue';\nimport { ExclamationCircleIcon, XMarkIcon } from '@heroicons/vue/24/outline';\nimport { useTheme } from '../../composables/useTheme';\nimport type { InfoWindowContent } from '../../types/maps';\n\n// Props\nconst props = defineProps({\n /** Whether the modal is visible */\n visible: {\n type: Boolean,\n default: false,\n },\n /** Loading state */\n loading: {\n type: Boolean,\n default: false,\n },\n /** Loading text */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n /** Error message */\n error: {\n type: String as PropType<string | null>,\n default: null,\n },\n /** Show retry button on error */\n showRetry: {\n type: Boolean,\n default: true,\n },\n /** Title text */\n title: {\n type: String,\n default: '',\n },\n /** Subtitle text */\n subtitle: {\n type: String,\n default: '',\n },\n /** Main content (HTML allowed) */\n content: {\n type: String,\n default: '',\n },\n /** Image URL */\n imageUrl: {\n type: String,\n default: '',\n },\n /** Show avatar (fallback to initials) */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n /** Detail items */\n details: {\n type: Array as PropType<InfoWindowContent['details']>,\n default: () => [],\n },\n /** Action buttons */\n actions: {\n type: Array as PropType<InfoWindowContent['actions']>,\n default: () => [],\n },\n /** Close on backdrop click */\n closeOnBackdrop: {\n type: Boolean,\n default: true,\n },\n /** Close on Escape key */\n closeOnEscape: {\n type: Boolean,\n default: true,\n },\n /** Data object (for passing to action handlers) */\n data: {\n type: Object,\n default: undefined,\n },\n});\n\n// Emits\nconst emit = defineEmits<{\n (e: 'close'): void;\n (e: 'retry'): void;\n (e: 'action', payload: { action: string; data?: unknown }): void;\n (e: 'update:visible', value: boolean): void;\n}>();\n\n// Composables\nconst { isDark } = useTheme();\n\n// Computed\nconst avatarInitials = computed(() => {\n if (!props.title) return '?';\n const parts = props.title.split(' ').filter(Boolean);\n if (parts.length >= 2) {\n return `${parts[0][0]}${parts[1][0]}`.toUpperCase();\n }\n return props.title.substring(0, 2).toUpperCase();\n});\n\n// Methods\nfunction handleClose() {\n emit('close');\n emit('update:visible', false);\n}\n\nfunction handleBackdropClick() {\n if (props.closeOnBackdrop) {\n handleClose();\n }\n}\n\nfunction handleAction(action: { label: string; action: string; theme?: string }) {\n emit('action', { action: action.action, data: props.data });\n}\n\nfunction getActionClass(theme?: string): string {\n const base = isDark.value;\n \n switch (theme) {\n case 'primary':\n return base \n ? 'sl-bg-primary-600 sl-text-white hover:sl-bg-primary-500' \n : 'sl-bg-primary-600 sl-text-white hover:sl-bg-primary-700';\n case 'secondary':\n return base \n ? 'sl-bg-gray-700 sl-text-gray-200 hover:sl-bg-gray-600' \n : 'sl-bg-gray-100 sl-text-gray-700 hover:sl-bg-gray-200';\n case 'danger':\n return base \n ? 'sl-bg-red-600 sl-text-white hover:sl-bg-red-500' \n : 'sl-bg-red-600 sl-text-white hover:sl-bg-red-700';\n default:\n return base \n ? 'sl-bg-gray-700 sl-text-gray-200 hover:sl-bg-gray-600' \n : 'sl-bg-gray-100 sl-text-gray-700 hover:sl-bg-gray-200';\n }\n}\n\n// Handle escape key\nfunction handleKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape' && props.closeOnEscape && props.visible) {\n handleClose();\n }\n}\n\n// Watch visibility to manage escape key listener\nwatch(() => props.visible, (visible) => {\n if (typeof window === 'undefined') return;\n \n if (visible) {\n window.addEventListener('keydown', handleKeydown);\n // Prevent body scroll when modal is open\n document.body.style.overflow = 'hidden';\n } else {\n window.removeEventListener('keydown', handleKeydown);\n document.body.style.overflow = '';\n }\n}, { immediate: true });\n</script>\n\n<style scoped>\n.sl-border-3 {\n border-width: 3px;\n}\n</style>\n\n"],"names":["props","__props","emit","__emit","isDark","useTheme","avatarInitials","computed","parts","handleClose","handleBackdropClick","handleAction","action","getActionClass","theme","base","handleKeydown","e","watch","visible","_createBlock","_Teleport","_createVNode","_Transition","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_unref","_hoisted_2","_normalizeClass","_hoisted_3","ExclamationCircleIcon","_Fragment","_hoisted_4","_hoisted_6","_renderSlot","_ctx","XMarkIcon","_hoisted_7","_hoisted_8","_renderList","detail","idx","_hoisted_9","_toDisplayString","_hoisted_10","_hoisted_11","_hoisted_12","$slots","_hoisted_14","$event","_hoisted_15"],"mappings":"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"}
|
package/dist/maps/UiMap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UiMap.js","sources":["../../src/components/maps/UiMap.vue"],"sourcesContent":["<template>\n <div \n class=\"sl-map-container sl-relative\" \n :style=\"containerStyle\"\n :class=\"containerClass\"\n >\n <!-- Loading State -->\n <div \n v-if=\"isLoading && !hideLoadingState\" \n class=\"sl-map-loading sl-absolute sl-inset-0 sl-flex sl-items-center sl-justify-center sl-z-10\"\n :class=\"[\n isDark \n ? 'sl-bg-gray-900/90' \n : 'sl-bg-gray-100/90'\n ]\"\n >\n <div class=\"sl-flex sl-flex-col sl-items-center sl-gap-3\">\n <div \n class=\"sl-animate-spin sl-rounded-full sl-h-10 sl-w-10 sl-border-3 sl-border-t-transparent\"\n :class=\"isDark ? 'sl-border-primary-400' : 'sl-border-primary-600'\"\n />\n <span \n class=\"sl-text-sm sl-font-medium\"\n :class=\"isDark ? 'sl-text-gray-300' : 'sl-text-gray-600'\"\n >\n {{ loadingText }}\n </span>\n </div>\n </div>\n\n <!-- Error State -->\n <div \n v-if=\"error && !hideErrorState\" \n class=\"sl-map-error sl-absolute sl-inset-0 sl-flex sl-items-center sl-justify-center sl-z-20 sl-p-4\"\n :class=\"[\n isDark \n ? 'sl-bg-red-900/20' \n : 'sl-bg-red-50'\n ]\"\n >\n <div class=\"sl-flex sl-flex-col sl-items-center sl-gap-3 sl-text-center sl-max-w-md\">\n <ExclamationCircleIcon \n class=\"sl-h-12 sl-w-12\"\n :class=\"isDark ? 'sl-text-red-400' : 'sl-text-red-500'\"\n />\n <div>\n <h3 \n class=\"sl-text-lg sl-font-semibold sl-mb-1\"\n :class=\"isDark ? 'sl-text-red-300' : 'sl-text-red-800'\"\n >\n Map Loading Failed\n </h3>\n <p \n class=\"sl-text-sm sl-mb-4\"\n :class=\"isDark ? 'sl-text-red-400' : 'sl-text-red-600'\"\n >\n {{ error }}\n </p>\n <button \n v-if=\"showRetry\"\n @click=\"handleRetry\"\n class=\"sl-px-4 sl-py-2 sl-text-sm sl-font-medium sl-rounded-lg sl-transition-colors\"\n :class=\"[\n isDark \n ? 'sl-bg-red-600 sl-text-white hover:sl-bg-red-500' \n : 'sl-bg-red-600 sl-text-white hover:sl-bg-red-700'\n ]\"\n >\n Retry Loading\n </button>\n </div>\n </div>\n </div>\n\n <!-- Address Unavailable State -->\n <div \n v-if=\"showAddressUnavailable\" \n class=\"sl-map-unavailable sl-absolute sl-inset-0 sl-flex sl-items-center sl-justify-center sl-z-10\"\n :class=\"[\n isDark \n ? 'sl-bg-gray-800' \n : 'sl-bg-gray-100'\n ]\"\n >\n <slot name=\"address-unavailable\">\n <div class=\"sl-text-center sl-p-6\">\n <MapPinIcon \n class=\"sl-h-12 sl-w-12 sl-mx-auto sl-mb-3\"\n :class=\"isDark ? 'sl-text-gray-600' : 'sl-text-gray-400'\"\n />\n <p \n class=\"sl-text-sm sl-font-medium\"\n :class=\"isDark ? 'sl-text-gray-400' : 'sl-text-gray-600'\"\n >\n {{ addressUnavailableMessage }}\n </p>\n </div>\n </slot>\n </div>\n\n <!-- Google Map -->\n <GoogleMapComponent\n v-if=\"isApiReady && !error\"\n :id=\"mapId\"\n ref=\"googleMapRef\"\n :api-promise=\"apiPromise ?? undefined\"\n :center=\"effectiveCenter\"\n :zoom=\"effectiveZoom\"\n :styles=\"effectiveStyles\"\n :map-type-id=\"mapTypeId\"\n :disable-default-ui=\"disableDefaultUi\"\n :zoom-control=\"zoomControl\"\n :map-type-control=\"mapTypeControl\"\n :street-view-control=\"streetViewControl\"\n :fullscreen-control=\"fullscreenControl\"\n :scale-control=\"scaleControl\"\n :rotate-control=\"rotateControl\"\n :clickable-icons=\"clickableIcons\"\n :gesture-handling=\"gestureHandling\"\n :keyboard-shortcuts=\"keyboardShortcuts\"\n :scrollwheel=\"scrollwheel\"\n :disable-double-click-zoom=\"disableDoubleClickZoom\"\n :draggable=\"draggable\"\n :min-zoom=\"minZoom\"\n :max-zoom=\"maxZoom\"\n :tilt=\"tilt\"\n :heading=\"heading\"\n :restriction=\"restriction\"\n class=\"sl-w-full sl-h-full\"\n :class=\"mapClass\"\n :style=\"mapStyle\"\n @click=\"handleMapClick\"\n @dblclick=\"handleMapDblClick\"\n @rightclick=\"handleMapRightClick\"\n @center_changed=\"handleCenterChanged\"\n @zoom_changed=\"handleZoomChanged\"\n @bounds_changed=\"handleBoundsChanged\"\n @maptypeid_changed=\"handleMapTypeIdChanged\"\n @idle=\"handleIdle\"\n @dragstart=\"handleDragStart\"\n @drag=\"handleDrag\"\n @dragend=\"handleDragEnd\"\n @tilt_changed=\"handleTiltChanged\"\n @heading_changed=\"handleHeadingChanged\"\n >\n <template #default=\"{ ready, map }\">\n <!-- Pass map instance to slot content when ready -->\n <slot \n v-if=\"ready && map\" \n :map=\"map\" \n :ready=\"ready\"\n :is-dark=\"isDark\"\n />\n </template>\n </GoogleMapComponent>\n\n <!-- Map Controls Overlay -->\n <div \n v-if=\"showCustomControls && isApiReady\" \n class=\"sl-map-controls sl-absolute sl-z-10\"\n :class=\"controlsPositionClass\"\n >\n <slot name=\"controls\" :is-dark=\"isDark\">\n <!-- Default zoom controls -->\n <div \n v-if=\"showDefaultZoomControls\"\n class=\"sl-flex sl-flex-col sl-rounded-lg sl-shadow-md sl-overflow-hidden\"\n :class=\"isDark ? 'sl-bg-gray-800' : 'sl-bg-white'\"\n >\n <button\n @click=\"zoomIn\"\n class=\"sl-w-8 sl-h-8 sl-flex sl-items-center sl-justify-center sl-border-b sl-transition-colors\"\n :class=\"[\n isDark \n ? 'sl-border-gray-700 hover:sl-bg-gray-700' \n : 'sl-border-gray-200 hover:sl-bg-gray-50'\n ]\"\n title=\"Zoom in\"\n >\n <PlusIcon class=\"sl-w-4 sl-h-4\" :class=\"isDark ? 'sl-text-gray-300' : 'sl-text-gray-600'\" />\n </button>\n <button\n @click=\"zoomOut\"\n class=\"sl-w-8 sl-h-8 sl-flex sl-items-center sl-justify-center sl-transition-colors\"\n :class=\"isDark ? 'hover:sl-bg-gray-700' : 'hover:sl-bg-gray-50'\"\n title=\"Zoom out\"\n >\n <MinusIcon class=\"sl-w-4 sl-h-4\" :class=\"isDark ? 'sl-text-gray-300' : 'sl-text-gray-600'\" />\n </button>\n </div>\n </slot>\n </div>\n\n <!-- Info/Status Overlay -->\n <slot name=\"overlay\" :is-dark=\"isDark\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n/// <reference types=\"@types/google.maps\" />\n/**\n * @component UiMap\n * @description A flexible, theme-aware Google Maps wrapper component\n * \n * Supports:\n * - Dark/light mode with automatic theme switching\n * - Custom map styling and themes\n * - Flexible marker and content slots\n * - Custom controls overlay\n * - Loading/error states\n * - Full Google Maps API integration\n */\n\nimport { ref, computed, watch, onMounted, defineAsyncComponent, provide, type PropType } from 'vue';\nimport { ExclamationCircleIcon, MapPinIcon, PlusIcon, MinusIcon } from '@heroicons/vue/24/outline';\nimport { useMap } from '../../composables/useMap';\nimport { useTheme } from '../../composables/useTheme';\nimport type { \n LatLngLiteral, \n LatLngBoundsLiteral, \n MapTheme, \n MapTypeId,\n GestureHandling,\n MapInstance,\n} from '../../types/maps';\nimport type { MapStyles } from '../../utils/mapThemes';\n\n// Async import Google Map component\nconst GoogleMapComponent = defineAsyncComponent(() =>\n import('vue3-google-map').then(m => m.GoogleMap)\n);\n\n// Props\nconst props = defineProps({\n /** Unique map ID */\n id: {\n type: String,\n default: () => `sl-map-${Date.now()}`,\n },\n /** Google Maps API key (optional if provided via plugin) */\n apiKey: {\n type: String,\n default: '',\n },\n /** Map center coordinates */\n center: {\n type: Object as PropType<LatLngLiteral>,\n default: undefined,\n },\n /** Initial zoom level (1-21) */\n zoom: {\n type: Number,\n default: undefined,\n },\n /** Minimum zoom level */\n minZoom: {\n type: Number,\n default: 1,\n },\n /** Maximum zoom level */\n maxZoom: {\n type: Number,\n default: 21,\n },\n /** Map type */\n mapTypeId: {\n type: String as PropType<MapTypeId>,\n default: 'roadmap',\n },\n /** Map theme preset */\n theme: {\n type: String as PropType<MapTheme>,\n default: 'ultraLight',\n },\n /** Auto-switch theme based on dark mode */\n autoTheme: {\n type: Boolean,\n default: true,\n },\n /** Light mode theme */\n lightTheme: {\n type: String as PropType<MapTheme>,\n default: 'ultraLight',\n },\n /** Dark mode theme */\n darkTheme: {\n type: String as PropType<MapTheme>,\n default: 'dark',\n },\n /** Custom map styles (overrides theme) */\n styles: {\n type: Array as PropType<MapStyles>,\n default: undefined,\n },\n /** Container width */\n width: {\n type: String,\n default: '100%',\n },\n /** Container height */\n height: {\n type: String,\n default: '400px',\n },\n /** Container CSS class */\n containerClass: {\n type: String,\n default: '',\n },\n /** Map element CSS class */\n mapClass: {\n type: String,\n default: 'sl-rounded-lg sl-overflow-hidden',\n },\n /** Map element inline style */\n mapStyle: {\n type: Object,\n default: undefined,\n },\n /** Loading text */\n loadingText: {\n type: String,\n default: 'Loading map...',\n },\n /** Hide loading state */\n hideLoadingState: {\n type: Boolean,\n default: false,\n },\n /** Hide error state */\n hideErrorState: {\n type: Boolean,\n default: false,\n },\n /** Show retry button on error */\n showRetry: {\n type: Boolean,\n default: true,\n },\n /** Show address unavailable state */\n showAddressUnavailable: {\n type: Boolean,\n default: false,\n },\n /** Address unavailable message */\n addressUnavailableMessage: {\n type: String,\n default: 'Location not available',\n },\n /** Disable all default UI */\n disableDefaultUi: {\n type: Boolean,\n default: false,\n },\n /** Show zoom control */\n zoomControl: {\n type: Boolean,\n default: true,\n },\n /** Show map type control */\n mapTypeControl: {\n type: Boolean,\n default: false,\n },\n /** Show street view control */\n streetViewControl: {\n type: Boolean,\n default: false,\n },\n /** Show fullscreen control */\n fullscreenControl: {\n type: Boolean,\n default: false,\n },\n /** Show scale control */\n scaleControl: {\n type: Boolean,\n default: false,\n },\n /** Show rotate control */\n rotateControl: {\n type: Boolean,\n default: false,\n },\n /** Clickable POI icons */\n clickableIcons: {\n type: Boolean,\n default: false,\n },\n /** Gesture handling mode */\n gestureHandling: {\n type: String as PropType<GestureHandling>,\n default: 'auto',\n },\n /** Keyboard shortcuts */\n keyboardShortcuts: {\n type: Boolean,\n default: true,\n },\n /** Scroll wheel zoom */\n scrollwheel: {\n type: Boolean,\n default: true,\n },\n /** Disable double click zoom */\n disableDoubleClickZoom: {\n type: Boolean,\n default: false,\n },\n /** Draggable map */\n draggable: {\n type: Boolean,\n default: true,\n },\n /** Map tilt */\n tilt: {\n type: Number,\n default: 0,\n },\n /** Map heading (rotation) */\n heading: {\n type: Number,\n default: 0,\n },\n /** Restrict map bounds */\n restriction: {\n type: Object as PropType<{ latLngBounds: LatLngBoundsLiteral; strictBounds?: boolean }>,\n default: undefined,\n },\n /** Show custom controls overlay */\n showCustomControls: {\n type: Boolean,\n default: false,\n },\n /** Show default zoom controls */\n showDefaultZoomControls: {\n type: Boolean,\n default: true,\n },\n /** Custom controls position */\n controlsPosition: {\n type: String as PropType<'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'>,\n default: 'bottom-left',\n },\n});\n\n// Emits\nconst emit = defineEmits<{\n (e: 'click', payload: { position: LatLngLiteral; placeId?: string }): void;\n (e: 'dblclick', payload: { position: LatLngLiteral }): void;\n (e: 'rightclick', payload: { position: LatLngLiteral }): void;\n (e: 'center-changed', payload: { center: LatLngLiteral }): void;\n (e: 'zoom-changed', payload: { zoom: number }): void;\n (e: 'bounds-changed', payload: { bounds: LatLngBoundsLiteral }): void;\n (e: 'map-type-changed', payload: { mapTypeId: MapTypeId }): void;\n (e: 'idle'): void;\n (e: 'dragstart'): void;\n (e: 'drag', payload: { center: LatLngLiteral }): void;\n (e: 'dragend', payload: { center: LatLngLiteral }): void;\n (e: 'tilt-changed', payload: { tilt: number }): void;\n (e: 'heading-changed', payload: { heading: number }): void;\n (e: 'ready', payload: { map: google.maps.Map }): void;\n (e: 'error', payload: { message: string; error?: Error }): void;\n (e: 'update:center', center: LatLngLiteral): void;\n (e: 'update:zoom', zoom: number): void;\n}>();\n\n// Composables\nconst { isDark } = useTheme();\nconst {\n isApiLoading,\n isApiReady,\n apiError,\n apiPromise: useMapApiPromise,\n mapStyles: useMapStyles,\n center: useMapCenter,\n zoom: useMapZoom,\n initializeApi,\n setMap,\n panTo,\n setZoom: setMapZoom,\n fitBounds: fitMapBounds,\n} = useMap({\n apiKey: props.apiKey,\n theme: props.theme,\n autoTheme: props.autoTheme,\n lightTheme: props.lightTheme as MapTheme,\n darkTheme: props.darkTheme as MapTheme,\n customStyles: props.styles,\n defaultCenter: props.center,\n defaultZoom: props.zoom,\n});\n\n// Refs\nconst googleMapRef = ref<InstanceType<typeof GoogleMapComponent> | null>(null);\nconst error = ref<string | null>(null);\nconst isMapReady = ref(false);\n\n// Computed\nconst mapId = computed(() => props.id);\n\nconst containerStyle = computed(() => ({\n width: props.width,\n height: props.height,\n}));\n\nconst isLoading = computed(() => isApiLoading.value && !isMapReady.value);\n\nconst effectiveCenter = computed(() => props.center || useMapCenter.value);\n\nconst effectiveZoom = computed(() => props.zoom ?? useMapZoom.value);\n\nconst effectiveStyles = computed(() => {\n if (props.styles) return props.styles;\n return useMapStyles.value;\n});\n\nconst apiPromise = computed(() => useMapApiPromise.value);\n\nconst controlsPositionClass = computed(() => {\n const positions: Record<string, string> = {\n 'top-left': 'sl-top-4 sl-left-4',\n 'top-right': 'sl-top-4 sl-right-4',\n 'bottom-left': 'sl-bottom-4 sl-left-4',\n 'bottom-right': 'sl-bottom-4 sl-right-4',\n };\n return positions[props.controlsPosition] || positions['bottom-left'];\n});\n\n// Event handlers\nfunction handleMapClick(event: google.maps.MapMouseEvent) {\n if (event.latLng) {\n const eventWithPlaceId = event as google.maps.MapMouseEvent & { placeId?: string };\n emit('click', {\n position: { lat: event.latLng.lat(), lng: event.latLng.lng() },\n placeId: eventWithPlaceId.placeId,\n });\n }\n}\n\nfunction handleMapDblClick(event: google.maps.MapMouseEvent) {\n if (event.latLng) {\n emit('dblclick', {\n position: { lat: event.latLng.lat(), lng: event.latLng.lng() },\n });\n }\n}\n\nfunction handleMapRightClick(event: google.maps.MapMouseEvent) {\n if (event.latLng) {\n emit('rightclick', {\n position: { lat: event.latLng.lat(), lng: event.latLng.lng() },\n });\n }\n}\n\nfunction handleCenterChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n const center = map.getCenter();\n if (center) {\n const position = { lat: center.lat(), lng: center.lng() };\n emit('center-changed', { center: position });\n emit('update:center', position);\n }\n }\n}\n\nfunction handleZoomChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n const zoom = map.getZoom();\n if (zoom !== undefined) {\n emit('zoom-changed', { zoom });\n emit('update:zoom', zoom);\n }\n }\n}\n\nfunction handleBoundsChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n const bounds = map.getBounds();\n if (bounds) {\n const ne = bounds.getNorthEast();\n const sw = bounds.getSouthWest();\n emit('bounds-changed', {\n bounds: {\n north: ne.lat(),\n south: sw.lat(),\n east: ne.lng(),\n west: sw.lng(),\n },\n });\n }\n }\n}\n\nfunction handleMapTypeIdChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n const mapTypeId = map.getMapTypeId() as MapTypeId;\n emit('map-type-changed', { mapTypeId });\n }\n}\n\nfunction handleIdle() {\n const map = googleMapRef.value?.map;\n if (map && !isMapReady.value) {\n isMapReady.value = true;\n setMap(map);\n emit('ready', { map });\n }\n emit('idle');\n}\n\nfunction handleDragStart() {\n emit('dragstart');\n}\n\nfunction handleDrag() {\n const map = googleMapRef.value?.map;\n if (map) {\n const center = map.getCenter();\n if (center) {\n emit('drag', { center: { lat: center.lat(), lng: center.lng() } });\n }\n }\n}\n\nfunction handleDragEnd() {\n const map = googleMapRef.value?.map;\n if (map) {\n const center = map.getCenter();\n if (center) {\n emit('dragend', { center: { lat: center.lat(), lng: center.lng() } });\n }\n }\n}\n\nfunction handleTiltChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n emit('tilt-changed', { tilt: map.getTilt() || 0 });\n }\n}\n\nfunction handleHeadingChanged() {\n const map = googleMapRef.value?.map;\n if (map) {\n emit('heading-changed', { heading: map.getHeading() || 0 });\n }\n}\n\nfunction handleRetry() {\n error.value = null;\n initializeApi().catch(err => {\n error.value = err.message;\n emit('error', { message: err.message, error: err });\n });\n}\n\n// Public methods for map control\nfunction zoomIn() {\n const map = googleMapRef.value?.map;\n if (map) {\n const currentZoom = map.getZoom() || 10;\n map.setZoom(Math.min(currentZoom + 1, props.maxZoom));\n }\n}\n\nfunction zoomOut() {\n const map = googleMapRef.value?.map;\n if (map) {\n const currentZoom = map.getZoom() || 10;\n map.setZoom(Math.max(currentZoom - 1, props.minZoom));\n }\n}\n\nfunction getMap(): google.maps.Map | null {\n return googleMapRef.value?.map || null;\n}\n\nfunction panToPosition(position: LatLngLiteral) {\n panTo(position);\n}\n\nfunction setZoomLevel(zoom: number) {\n setMapZoom(zoom);\n}\n\nfunction fitToBounds(bounds: LatLngBoundsLiteral, padding?: number) {\n fitMapBounds(bounds, padding);\n}\n\nfunction resetMap() {\n const map = googleMapRef.value?.map;\n if (map) {\n map.setCenter(effectiveCenter.value);\n map.setZoom(effectiveZoom.value);\n }\n}\n\n// Watch for prop changes\nwatch(() => props.center, (newCenter) => {\n if (newCenter && googleMapRef.value?.map) {\n googleMapRef.value.map.setCenter(newCenter);\n }\n});\n\nwatch(() => props.zoom, (newZoom) => {\n if (newZoom !== undefined && googleMapRef.value?.map) {\n googleMapRef.value.map.setZoom(newZoom);\n }\n});\n\nwatch(() => props.styles, (newStyles) => {\n if (newStyles && googleMapRef.value?.map) {\n googleMapRef.value.map.setOptions({ styles: newStyles });\n }\n});\n\n// Watch for API errors\nwatch(apiError, (err) => {\n if (err) {\n error.value = err;\n emit('error', { message: err });\n }\n});\n\n// Initialize on mount\nonMounted(async () => {\n try {\n await initializeApi();\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to initialize map';\n error.value = message;\n emit('error', { message, error: err instanceof Error ? err : undefined });\n }\n});\n\n// Provide map instance for child components\nprovide('slMapInstance', {\n getMap,\n isDark,\n});\n\n// Expose methods\ndefineExpose<MapInstance>({\n getMap,\n panTo: panToPosition,\n panBy: (x: number, y: number) => {\n const map = getMap();\n if (map) map.panBy(x, y);\n },\n setZoom: setZoomLevel,\n getZoom: () => googleMapRef.value?.map?.getZoom(),\n setCenter: panToPosition,\n getCenter: () => {\n const center = googleMapRef.value?.map?.getCenter();\n return center ? { lat: center.lat(), lng: center.lng() } : undefined;\n },\n getBounds: () => {\n const bounds = googleMapRef.value?.map?.getBounds();\n if (!bounds) return undefined;\n const ne = bounds.getNorthEast();\n const sw = bounds.getSouthWest();\n return { north: ne.lat(), south: sw.lat(), east: ne.lng(), west: sw.lng() };\n },\n fitBounds: fitToBounds,\n fitToMarkers: () => {}, // Implemented in UiMapAll\n reset: resetMap,\n addMarker: () => {}, // Implemented in UiMapAll\n removeMarker: () => {},\n updateMarker: () => {},\n clearMarkers: () => {},\n getMarkers: () => [],\n getVisibleMarkers: () => [],\n});\n</script>\n\n<style scoped>\n.sl-map-container {\n position: relative;\n}\n\n.sl-border-3 {\n border-width: 3px;\n}\n</style>\n\n"],"names":["GoogleMapComponent","defineAsyncComponent","m","props","__props","emit","__emit","isDark","useTheme","isApiLoading","isApiReady","apiError","useMapApiPromise","useMapStyles","useMapCenter","useMapZoom","initializeApi","setMap","panTo","setMapZoom","fitMapBounds","useMap","googleMapRef","ref","error","isMapReady","mapId","computed","containerStyle","isLoading","effectiveCenter","effectiveZoom","effectiveStyles","apiPromise","controlsPositionClass","positions","handleMapClick","event","eventWithPlaceId","handleMapDblClick","handleMapRightClick","handleCenterChanged","map","center","position","handleZoomChanged","zoom","handleBoundsChanged","bounds","ne","sw","handleMapTypeIdChanged","mapTypeId","handleIdle","handleDragStart","handleDrag","handleDragEnd","handleTiltChanged","handleHeadingChanged","handleRetry","err","zoomIn","currentZoom","zoomOut","getMap","panToPosition","setZoomLevel","fitToBounds","padding","resetMap","watch","newCenter","newZoom","newStyles","onMounted","message","provide","__expose","x","y","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_hoisted_1","_hoisted_2","_createVNode","ExclamationCircleIcon","_renderSlot","_ctx","_hoisted_3","MapPinIcon","_createBlock","_withCtx","ready","PlusIcon","MinusIcon"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UiMapAll.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UiMapMarker.js","sources":["../../src/components/maps/UiMapMarker.vue"],"sourcesContent":["<template>\n <AdvancedMarker\n v-if=\"isReady\"\n :options=\"markerOptions\"\n @click=\"handleClick\"\n @drag=\"handleDrag\"\n @dragstart=\"handleDragStart\"\n @dragend=\"handleDragEnd\"\n >\n <!-- Custom pin content -->\n <div \n v-if=\"!icon?.url\"\n class=\"sl-marker-pin\"\n :style=\"pinStyle\"\n @mouseenter=\"handleMouseOver\"\n @mouseleave=\"handleMouseOut\"\n >\n <slot name=\"content\">\n <div v-if=\"pin\" class=\"sl-pin-marker\" :style=\"pinMarkerStyle\">\n <div class=\"sl-pin-head\" :style=\"pinHeadStyle\"></div>\n <div class=\"sl-pin-point\" :style=\"pinPointStyle\"></div>\n </div>\n <div v-else class=\"sl-circle-marker\" :style=\"circleMarkerStyle\">\n <span v-if=\"label\" class=\"sl-marker-label\" :style=\"labelStyle\">\n {{ typeof label === 'string' ? label : label.text }}\n </span>\n </div>\n </slot>\n </div>\n <!-- Custom image icon -->\n <img \n v-else \n :src=\"icon.url\" \n :alt=\"title\"\n :style=\"imageIconStyle\"\n @mouseenter=\"handleMouseOver\"\n @mouseleave=\"handleMouseOut\"\n />\n </AdvancedMarker>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * @component UiMapMarker\n * @description A flexible marker component for UiMap using AdvancedMarkerElement\n * \n * Supports:\n * - Custom marker content (DOM-based)\n * - Drag and drop\n * - Click and hover events\n * - Custom labels\n * - Integration with UiMap dark mode\n * \n * Note: Migrated from deprecated google.maps.Marker to google.maps.marker.AdvancedMarkerElement\n */\n\nimport { computed, inject, defineAsyncComponent, type PropType } from 'vue';\nimport type { LatLngLiteral, MapMarker, MapMarkerIcon, MapMarkerLabel } from '../../types/maps';\nimport { markerColors } from '../../utils/mapThemes';\n\n// Async import AdvancedMarker component (replaces deprecated Marker)\nconst AdvancedMarker = defineAsyncComponent(() =>\n import('vue3-google-map').then(m => m.AdvancedMarker)\n);\n\n// Props\nconst props = defineProps({\n /** Geographic position */\n position: {\n type: Object as PropType<LatLngLiteral>,\n required: true,\n },\n /** Marker ID */\n id: {\n type: [String, Number] as PropType<string | number>,\n default: () => `marker-${Date.now()}`,\n },\n /** Display title (tooltip) */\n title: {\n type: String,\n default: '',\n },\n /** Custom data associated with marker */\n data: {\n type: Object,\n default: undefined,\n },\n /** Z-index for stacking order */\n zIndex: {\n type: Number,\n default: 100,\n },\n /** Whether marker is draggable */\n draggable: {\n type: Boolean,\n default: false,\n },\n /** Whether marker is visible */\n visible: {\n type: Boolean,\n default: true,\n },\n /** Custom icon configuration */\n icon: {\n type: Object as PropType<MapMarkerIcon>,\n default: undefined,\n },\n /** Marker color theme */\n color: {\n type: String as PropType<'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'dark' | 'light' | string>,\n default: 'primary',\n },\n /** Marker size */\n size: {\n type: String as PropType<'sm' | 'md' | 'lg'>,\n default: 'md',\n },\n /** Use pin marker style */\n pin: {\n type: Boolean,\n default: false,\n },\n /** Custom label */\n label: {\n type: [String, Object] as PropType<string | MapMarkerLabel>,\n default: undefined,\n },\n /** Animation (DROP, BOUNCE) */\n animation: {\n type: String as PropType<'DROP' | 'BOUNCE'>,\n default: undefined,\n },\n /** Whether Google Maps API is ready */\n ready: {\n type: Boolean,\n default: true,\n },\n});\n\n// Emits - Note: AdvancedMarkerElement uses 'gmp-click' internally, but vue3-google-map emits 'click'\n// Double-click and right-click are handled via DOM events on the content element\nconst emit = defineEmits<{\n (e: 'click', payload: { marker: MapMarker; position: LatLngLiteral; event: google.maps.MapMouseEvent }): void;\n (e: 'dragstart', payload: { marker: MapMarker; position: LatLngLiteral; event: google.maps.MapMouseEvent }): void;\n (e: 'drag', payload: { marker: MapMarker; position: LatLngLiteral; event: google.maps.MapMouseEvent }): void;\n (e: 'dragend', payload: { marker: MapMarker; position: LatLngLiteral; event: google.maps.MapMouseEvent }): void;\n (e: 'mouseover', payload: { marker: MapMarker }): void;\n (e: 'mouseout', payload: { marker: MapMarker }): void;\n}>();\n\n// Inject parent map context\nconst mapContext = inject<{ isDark: { value: boolean } }>('slMapInstance', { isDark: { value: false } });\n\n// Computed\nconst isReady = computed(() => props.ready && props.visible);\n\nconst markerData = computed<MapMarker>(() => ({\n id: props.id,\n position: props.position,\n title: props.title,\n data: props.data,\n zIndex: props.zIndex,\n draggable: props.draggable,\n visible: props.visible,\n}));\n\nconst resolvedColor = computed(() => {\n // Check if it's a named color\n if (props.color in markerColors) {\n return markerColors[props.color as keyof typeof markerColors];\n }\n // Otherwise use as-is (hex color)\n return props.color;\n});\n\nconst sizeScale = computed(() => {\n const sizes = { sm: 16, md: 24, lg: 32 };\n return sizes[props.size] || sizes.md;\n});\n\n// AdvancedMarkerElement options\nconst markerOptions = computed<google.maps.marker.AdvancedMarkerElementOptions>(() => ({\n position: props.position,\n title: props.title,\n zIndex: props.zIndex,\n gmpDraggable: props.draggable,\n gmpClickable: true,\n}));\n\n// Styles for custom DOM-based markers\nconst pinStyle = computed(() => ({\n cursor: 'pointer',\n transform: 'translate(-50%, -100%)',\n}));\n\nconst circleMarkerStyle = computed(() => ({\n width: `${sizeScale.value}px`,\n height: `${sizeScale.value}px`,\n borderRadius: '50%',\n backgroundColor: resolvedColor.value,\n border: `2px solid ${mapContext?.isDark?.value ? '#374151' : '#ffffff'}`,\n boxShadow: '0 2px 4px rgba(0,0,0,0.2)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}));\n\nconst pinMarkerStyle = computed(() => ({\n display: 'flex',\n flexDirection: 'column' as const,\n alignItems: 'center',\n}));\n\nconst pinHeadStyle = computed(() => ({\n width: `${sizeScale.value}px`,\n height: `${sizeScale.value}px`,\n borderRadius: '50% 50% 50% 0',\n backgroundColor: resolvedColor.value,\n border: `2px solid ${mapContext?.isDark?.value ? '#374151' : '#ffffff'}`,\n boxShadow: '0 2px 4px rgba(0,0,0,0.2)',\n transform: 'rotate(-45deg)',\n}));\n\nconst pinPointStyle = computed(() => ({\n width: '4px',\n height: '4px',\n backgroundColor: resolvedColor.value,\n marginTop: '-2px',\n}));\n\nconst labelStyle = computed(() => {\n const labelConfig = props.label;\n if (!labelConfig) return {};\n \n if (typeof labelConfig === 'string') {\n return {\n color: mapContext?.isDark?.value ? '#f3f4f6' : '#1f2937',\n fontSize: '10px',\n fontWeight: '600',\n };\n }\n \n return {\n color: labelConfig.color ?? (mapContext?.isDark?.value ? '#f3f4f6' : '#1f2937'),\n fontFamily: labelConfig.fontFamily ?? 'inherit',\n fontSize: labelConfig.fontSize ?? '10px',\n fontWeight: labelConfig.fontWeight ?? '600',\n };\n});\n\nconst imageIconStyle = computed(() => {\n if (!props.icon?.scaledSize) return {};\n return {\n width: `${props.icon.scaledSize.width}px`,\n height: `${props.icon.scaledSize.height}px`,\n };\n});\n\n// Event handlers for AdvancedMarkerElement\nfunction handleClick(event: google.maps.marker.AdvancedMarkerClickEvent) {\n emit('click', {\n marker: markerData.value,\n position: props.position,\n event: event as unknown as google.maps.MapMouseEvent,\n });\n}\n\nfunction handleDragStart(event: google.maps.MapMouseEvent) {\n emit('dragstart', {\n marker: markerData.value,\n position: event.latLng ? { lat: event.latLng.lat(), lng: event.latLng.lng() } : props.position,\n event,\n });\n}\n\nfunction handleDrag(event: google.maps.MapMouseEvent) {\n emit('drag', {\n marker: markerData.value,\n position: event.latLng ? { lat: event.latLng.lat(), lng: event.latLng.lng() } : props.position,\n event,\n });\n}\n\nfunction handleDragEnd(event: google.maps.MapMouseEvent) {\n emit('dragend', {\n marker: markerData.value,\n position: event.latLng ? { lat: event.latLng.lat(), lng: event.latLng.lng() } : props.position,\n event,\n });\n}\n\nfunction handleMouseOver() {\n emit('mouseover', { marker: markerData.value });\n}\n\nfunction handleMouseOut() {\n emit('mouseout', { marker: markerData.value });\n}\n</script>\n\n<style scoped>\n.sl-marker-pin {\n position: relative;\n}\n\n.sl-circle-marker {\n transition: transform 0.15s ease;\n}\n\n.sl-circle-marker:hover {\n transform: scale(1.1);\n}\n\n.sl-pin-marker {\n transition: transform 0.15s ease;\n}\n\n.sl-pin-marker:hover {\n transform: scale(1.1);\n}\n\n.sl-marker-label {\n text-shadow: 0 1px 2px rgba(0,0,0,0.3);\n white-space: nowrap;\n}\n</style>\n\n"],"names":["AdvancedMarker","defineAsyncComponent","m","props","__props","emit","__emit","mapContext","inject","isReady","computed","markerData","resolvedColor","markerColors","sizeScale","sizes","markerOptions","pinStyle","circleMarkerStyle","pinMarkerStyle","pinHeadStyle","pinPointStyle","labelStyle","labelConfig","imageIconStyle","handleClick","event","handleDragStart","handleDrag","handleDragEnd","handleMouseOver","handleMouseOut","_createBlock","_unref","_createElementBlock","_renderSlot","_ctx","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
package/dist/maps/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"micro-task-D-oTY33s.js","sources":["../node_modules/@headlessui/vue/dist/utils/micro-task.js"],"sourcesContent":["function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n"],"names":["t","e","o"],"mappings":"AAAA,SAASA,EAAEC,GAAE;AAAC,SAAO,kBAAgB,aAAW,eAAeA,CAAC,IAAE,QAAQ,QAAO,EAAG,KAAKA,CAAC,EAAE,MAAM,CAAAC,MAAG,WAAW,MAAI;AAAC,UAAMA;AAAA,EAAC,CAAC,CAAC;AAAC;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlertModal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|