utopia-ui 3.0.91 → 3.0.93

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/Components/Gaming/hooks/useQuests.tsx","../src/Components/Map/hooks/useClusterRef.tsx","../src/Components/Map/hooks/useLayers.tsx","../src/Components/Map/hooks/useWindowDimension.tsx","../src/Components/Map/hooks/useFilter.tsx","../src/Components/Map/hooks/useItems.tsx","../src/Components/Map/hooks/useLeafletRefs.tsx","../src/Components/Auth/useAuth.tsx","../src/Components/Map/hooks/usePermissions.tsx","../src/Components/Map/hooks/usePopupForm.tsx","../src/Components/Map/hooks/useSelectPosition.tsx","../src/Utils/HashTagRegex.tsx","../src/Components/Map/hooks/useTags.tsx","../src/Components/AppShell/hooks/useAppState.tsx","../src/Components/AppShell/ContextWrapper.tsx","../src/Components/AppShell/hooks/useTheme.tsx","../src/Utils/ContainsUUID.ts","../src/Components/Map/Subcomponents/AddButton.tsx","../src/Components/Map/Subcomponents/Controls/Control.tsx","../node_modules/@heroicons/react/24/outline/esm/FunnelIcon.js","../src/Components/Map/Subcomponents/Controls/FilterControl.tsx","../node_modules/@heroicons/react/24/outline/esm/HeartIcon.js","../src/Components/Map/Subcomponents/Controls/GratitudeControl.tsx","../src/Components/Map/Subcomponents/Controls/LayerControl.tsx","../node_modules/@heroicons/react/24/outline/esm/FlagIcon.js","../node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js","../src/Components/Map/hooks/useTimeout.tsx","../src/Components/Map/hooks/useDebounce.tsx","../src/Utils/FormatTags.ts","../src/Utils/MarkerIconFactory.ts","../node_modules/leaflet.locatecontrol/src/L.Control.Locate.js","../src/Components/Map/Subcomponents/Controls/LocateControl.tsx","../node_modules/@heroicons/react/16/solid/esm/Bars3Icon.js","../src/Components/Map/Subcomponents/Controls/SidebarControl.tsx","../src/Components/Map/Subcomponents/Controls/SearchControl.tsx","../src/Components/Map/Subcomponents/Controls/TagsControl.tsx","../src/Utils/ReplaceURLs.ts","../src/Components/Map/Subcomponents/ItemPopupComponents/TextView.tsx","../src/Components/Map/Subcomponents/SelectPosition.tsx","../src/Components/Map/UtopiaMapInner.tsx","../src/Components/Map/UtopiaMap.tsx","../src/Components/Map/LayerContext.ts","../src/Components/Map/Layer.tsx","../src/Components/Map/Tags.tsx","../src/Components/Map/Permissions.tsx","../src/Components/Templates/ThemeControl.tsx","../node_modules/@heroicons/react/16/solid/esm/EllipsisVerticalIcon.js","../src/Components/AppShell/UserControl.tsx","../src/Components/AppShell/NavBar.tsx","../src/Components/AppShell/SetAppState.tsx","../src/Components/AppShell/AppShell.tsx","../src/Components/AppShell/SidebarSubmenu.tsx","../src/Components/AppShell/SideBar.tsx","../src/Components/AppShell/Content.tsx","../src/Components/Templates/MapOverlayPage.tsx","../src/Components/Auth/LoginPage.tsx","../src/Components/Auth/SignupPage.tsx","../src/Components/Auth/RequestPasswordPage.tsx","../src/Components/Auth/SetNewPasswordPage.tsx","../src/Components/Input/TextAreaInput.tsx","../src/Components/Input/TextInput.tsx","../src/Components/Typography/Subtitle.tsx","../src/Components/Templates/TitleCard.tsx","../src/Components/Templates/CardPage.tsx","../src/Components/Templates/SelectUser.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextAreaInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupStartEndInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupCheckboxInput.tsx","../node_modules/@heroicons/react/24/solid/esm/CalendarDaysIcon.js","../src/Components/Map/Subcomponents/ItemPopupComponents/StartEndView.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupButton.tsx","../node_modules/@heroicons/react/24/outline/esm/PlusIcon.js","../src/Components/Profile/Subcomponents/PlusButton.tsx","../src/Utils/RandomColor.ts","../node_modules/@heroicons/react/24/solid/esm/PencilIcon.js","../node_modules/@heroicons/react/24/solid/esm/TrashIcon.js","../src/Components/Templates/DialogModal.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx","../src/Utils/TimeAgo.ts","../src/Components/Templates/DateUserInfo.tsx","../src/Components/Templates/ItemCard.tsx","../src/Components/Templates/OverlayItemsIndexPage.tsx","../src/Components/Templates/EmojiPicker.tsx","../src/Components/Templates/AttestationForm.tsx","../src/Components/Templates/TagView.tsx","../src/Components/Templates/MarketView.tsx","../src/Components/Profile/UserSettings.tsx","../src/Components/Profile/itemFunctions.ts","../node_modules/@heroicons/react/24/outline/esm/EnvelopeIcon.js","../node_modules/@heroicons/react/24/outline/esm/PhoneIcon.js","../src/Components/Profile/Subcomponents/ContactInfoView.tsx","../src/Components/Profile/Subcomponents/CrowdfundingView.tsx","../src/Components/Profile/Subcomponents/GalleryView.tsx","../src/Components/Profile/Subcomponents/SocialShareButton.tsx","../src/Components/Profile/Subcomponents/SocialShareBar.tsx","../src/Components/Profile/Subcomponents/GroupSubHeaderView.tsx","../src/Components/Profile/Subcomponents/ProfileStartEndView.tsx","../node_modules/radash/dist/esm/object.mjs","../src/Components/Profile/Subcomponents/ProfileTextView.tsx","../src/Components/Profile/Templates/FlexView.tsx","../src/Components/Profile/Templates/OnepagerView.tsx","../src/Components/Profile/Templates/SimpleView.tsx","../node_modules/@heroicons/react/24/outline/esm/LinkIcon.js","../src/Components/Profile/Subcomponents/ActionsButton.tsx","../node_modules/@heroicons/react/24/outline/esm/LinkSlashIcon.js","../src/Components/Profile/Subcomponents/LinkedItemsHeaderView.tsx","../src/Components/Profile/Templates/TabsView.tsx","../src/Components/Profile/ProfileView.tsx","../node_modules/@heroicons/react/24/outline/esm/ArrowUpTrayIcon.js","../src/Components/Profile/Subcomponents/AvatarWidget.tsx","../src/Components/Profile/hooks/useClickOutside.tsx","../src/Components/Profile/Subcomponents/ColorPicker.tsx","../src/Components/Profile/Subcomponents/FormHeader.tsx","../src/Components/Profile/Subcomponents/ContactInfoForm.tsx","../src/Components/Profile/Subcomponents/CrowdfundingForm.tsx","../src/Components/Input/ComboBoxInput.tsx","../src/Components/Profile/Subcomponents/GroupSubheaderForm.tsx","../src/Components/Profile/Subcomponents/ProfileStartEndForm.tsx","../src/Components/Profile/Subcomponents/MarkdownHint.tsx","../src/Components/Profile/Subcomponents/ProfileTextForm.tsx","../src/Components/Profile/Templates/FlexForm.tsx","../src/Components/Profile/Templates/OnepagerForm.tsx","../src/Components/Profile/Templates/SimpleForm.tsx","../src/Components/Input/Autocomplete.tsx","../src/Components/Profile/Subcomponents/TagsWidget.tsx","../src/Components/Profile/Templates/TabsForm.tsx","../src/Components/Profile/ProfileForm.tsx","../src/Components/Gaming/Modal.tsx","../src/Components/Gaming/Quests.tsx","../src/Components/Item/TemplateItemContext.ts","../src/Components/Item/templateify.tsx","../src/Components/Map/Subcomponents/ItemFormPopup.tsx","../src/Components/Item/PopupForm.tsx","../src/Components/Map/Subcomponents/ItemViewPopup.tsx","../src/Components/Item/PopupView.tsx","../src/Components/Item/index.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useState, createContext, useContext } from 'react';\nconst QuestContext = createContext({\n open: false,\n setQuestsOpen: () => { },\n});\nfunction useQuestsManager(initialOpen) {\n const [open, setOpen] = useState(initialOpen);\n const setQuestsOpen = useCallback((questOpen) => {\n setOpen(questOpen);\n }, []);\n return { open, setQuestsOpen };\n}\nexport const QuestsProvider = ({ initialOpen, children, }) => (_jsx(QuestContext.Provider, { value: useQuestsManager(initialOpen), children: children }));\nexport const useQuestsOpen = () => {\n const { open } = useContext(QuestContext);\n return open;\n};\nexport const useSetQuestOpen = () => {\n const { setQuestsOpen } = useContext(QuestContext);\n return setQuestsOpen;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createContext, useContext, useState } from 'react';\nconst ClusterRefContext = createContext({\n clusterRef: {},\n setClusterRef: () => { },\n});\nfunction useClusterRefManager() {\n const [clusterRef, setClusterRef] = useState({});\n return { clusterRef, setClusterRef };\n}\nexport const ClusterRefProvider = ({ children }) => (_jsx(ClusterRefContext.Provider, { value: useClusterRefManager(), children: children }));\nexport const useClusterRef = () => {\n const { clusterRef } = useContext(ClusterRefContext);\n return clusterRef;\n};\nexport const useSetClusterRef = () => {\n const { setClusterRef } = useContext(ClusterRefContext);\n return setClusterRef;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useReducer, createContext, useContext } from 'react';\nconst LayerContext = createContext({\n layers: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n addLayer: () => { },\n});\nfunction useLayerManager(initialLayers) {\n const [layers, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD LAYER':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((layer) => layer.name === action.layer.name);\n if (!exist) {\n return [...state, action.layer];\n }\n else\n return state;\n default:\n throw new Error();\n }\n }, initialLayers);\n const addLayer = useCallback((layer) => {\n dispatch({\n type: 'ADD LAYER',\n layer,\n });\n }, []);\n return { layers, addLayer };\n}\nexport const LayersProvider = ({ initialLayers, children }) => (_jsx(LayerContext.Provider, { value: useLayerManager(initialLayers), children: children }));\nexport const useLayers = () => {\n const { layers } = useContext(LayerContext);\n return layers;\n};\nexport const useAddLayer = () => {\n const { addLayer } = useContext(LayerContext);\n return addLayer;\n};\n","import { useState, useEffect } from 'react';\nfunction getWindowDimensions() {\n const { innerWidth: width, innerHeight: height } = window;\n return {\n width,\n height,\n };\n}\nexport default function useWindowDimensions() {\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowDimensions;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable no-case-declarations */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useLayers } from './useLayers';\nimport useWindowDimensions from './useWindowDimension';\nconst FilterContext = createContext({\n filterTags: [],\n searchPhrase: '',\n visibleLayers: [],\n visibleGroupTypes: [],\n addFilterTag: () => { },\n removeFilterTag: () => { },\n resetFilterTags: () => { },\n setSearchPhrase: () => { },\n addVisibleLayer: () => { },\n toggleVisibleLayer: () => { },\n resetVisibleLayers: () => { },\n isLayerVisible: () => true,\n addVisibleGroupType: () => { },\n toggleVisibleGroupType: () => { },\n isGroupTypeVisible: () => true,\n});\nfunction useFilterManager(initialTags) {\n const [filterTags, dispatchTags] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_TAG':\n const exist = state.find((tag) => tag.id === action.tag.id);\n if (!exist) {\n return [...state, action.tag];\n }\n else\n return state;\n case 'REMOVE_TAG':\n return state.filter(({ name }) => name !== action.name);\n case 'RESET_TAGS':\n return initialTags;\n default:\n throw new Error();\n }\n }, initialTags);\n const initialLayers = useLayers();\n const navigate = useNavigate();\n const windowDimensions = useWindowDimensions();\n const [visibleLayers, dispatchLayers] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_LAYER':\n const exist1 = state.find((layer) => layer.name === action.layer.name);\n if (!exist1) {\n return [...state, action.layer];\n }\n else\n return state;\n case 'TOGGLE_LAYER':\n const exist2 = state.some((layer) => layer.name === action.layer.name);\n if (exist2)\n return state.filter(({ name }) => name !== action.layer.name);\n else\n return [...state, action.layer];\n case 'RESET_LAYERS':\n return initialLayers;\n default:\n throw new Error();\n }\n }, initialLayers);\n const [visibleGroupTypes, dispatchGroupTypes] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_GROUP_TYPE':\n const exist1 = state.find((groupType) => groupType === action.groupType);\n if (!exist1) {\n return [...state, action.groupType];\n }\n else\n return state;\n case 'TOGGLE_GROUP_TYPE':\n const exist2 = state.some((groupType) => groupType === action.groupType);\n if (exist2)\n return state.filter((groupType) => groupType !== action.groupType);\n else\n return [...state, action.groupType];\n case 'RESET_GROUP_TYPE':\n return [];\n default:\n throw new Error();\n }\n }, []);\n const [searchPhrase, searchPhraseSet] = useState('');\n const addFilterTag = useCallback((tag) => {\n const params = new URLSearchParams(location.search);\n const urlTags = params.get('tags');\n const decodedTags = urlTags ? decodeURIComponent(urlTags) : '';\n if (!decodedTags.includes(tag.name)) {\n params.set('tags', `${urlTags || ''}${urlTags ? ';' : ''}${tag.name}`);\n }\n if (windowDimensions.width < 786 && location.pathname.split('/').length > 2)\n navigate('/' + `${params ? `?${params}` : ''}`);\n else\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n dispatchTags({\n type: 'ADD_TAG',\n tag,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const removeFilterTag = useCallback((name) => {\n const params = new URLSearchParams(window.location.search);\n const urlTags = params.get('tags');\n let newUrlTags = '';\n const tags = urlTags?.split(';');\n if (tags?.length === 0 && urlTags?.length && urlTags.length > 0)\n tags[0] = urlTags;\n tags?.map((urlTag) => {\n if (!(urlTag.toLocaleLowerCase() === name.toLocaleLowerCase())) {\n newUrlTags = newUrlTags + `${newUrlTags === '' ? urlTag : `;${urlTag}`}`;\n }\n return null;\n });\n if (newUrlTags !== '') {\n params.set('tags', `${newUrlTags}`);\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n }\n else {\n params.delete('tags');\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n }\n dispatchTags({\n type: 'REMOVE_TAG',\n name,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const resetFilterTags = useCallback(() => {\n dispatchTags({\n type: 'RESET_TAGS',\n });\n }, []);\n const addVisibleLayer = (layer) => {\n dispatchLayers({\n type: 'ADD_LAYER',\n layer,\n });\n };\n const toggleVisibleLayer = (layer) => {\n dispatchLayers({\n type: 'TOGGLE_LAYER',\n layer,\n });\n };\n const resetVisibleLayers = useCallback(() => {\n dispatchLayers({\n type: 'RESET_LAYERS',\n });\n }, []);\n const isLayerVisible = useCallback((layer) => {\n return visibleLayers.some((l) => l.name === layer.name);\n }, [visibleLayers]);\n const addVisibleGroupType = (groupType) => {\n dispatchGroupTypes({\n type: 'ADD_GROUP_TYPE',\n groupType,\n });\n };\n const toggleVisibleGroupType = (groupType) => {\n dispatchGroupTypes({\n type: 'TOGGLE_GROUP_TYPE',\n groupType,\n });\n };\n const isGroupTypeVisible = useCallback((groupType) => {\n return visibleGroupTypes.some((gt) => gt === groupType);\n }, [visibleGroupTypes]);\n const setSearchPhrase = useCallback((phrase) => {\n searchPhraseSet(phrase);\n }, []);\n return {\n filterTags,\n addFilterTag,\n removeFilterTag,\n resetFilterTags,\n setSearchPhrase,\n searchPhrase,\n visibleLayers,\n toggleVisibleLayer,\n resetVisibleLayers,\n isLayerVisible,\n addVisibleLayer,\n visibleGroupTypes,\n addVisibleGroupType,\n toggleVisibleGroupType,\n isGroupTypeVisible,\n };\n}\nexport const FilterProvider = ({ initialTags, children }) => (_jsx(FilterContext.Provider, { value: useFilterManager(initialTags), children: children }));\nexport const useFilterTags = () => {\n const { filterTags } = useContext(FilterContext);\n return filterTags;\n};\nexport const useAddFilterTag = () => {\n const { addFilterTag } = useContext(FilterContext);\n return addFilterTag;\n};\nexport const useRemoveFilterTag = () => {\n const { removeFilterTag } = useContext(FilterContext);\n return removeFilterTag;\n};\nexport const useResetFilterTags = () => {\n const { resetFilterTags } = useContext(FilterContext);\n return resetFilterTags;\n};\nexport const useSearchPhrase = () => {\n const { searchPhrase } = useContext(FilterContext);\n return searchPhrase;\n};\nexport const useSetSearchPhrase = () => {\n const { setSearchPhrase } = useContext(FilterContext);\n return setSearchPhrase;\n};\nexport const useVisibleLayer = () => {\n const { visibleLayers } = useContext(FilterContext);\n return visibleLayers;\n};\nexport const useAddVisibleLayer = () => {\n const { addVisibleLayer } = useContext(FilterContext);\n return addVisibleLayer;\n};\nexport const useToggleVisibleLayer = () => {\n const { toggleVisibleLayer } = useContext(FilterContext);\n return toggleVisibleLayer;\n};\nexport const useResetVisibleLayers = () => {\n const { resetVisibleLayers } = useContext(FilterContext);\n return resetVisibleLayers;\n};\nexport const useIsLayerVisible = () => {\n const { isLayerVisible } = useContext(FilterContext);\n return isLayerVisible;\n};\nexport const useAddVisibleGroupType = () => {\n const { addVisibleGroupType } = useContext(FilterContext);\n return addVisibleGroupType;\n};\nexport const useToggleVisibleGroupType = () => {\n const { toggleVisibleGroupType } = useContext(FilterContext);\n return toggleVisibleGroupType;\n};\nexport const useIsGroupTypeVisible = () => {\n const { isGroupTypeVisible } = useContext(FilterContext);\n return isGroupTypeVisible;\n};\nexport const useVisibleGroupType = () => {\n const { visibleGroupTypes } = useContext(FilterContext);\n return visibleGroupTypes;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-misused-promises */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useAddLayer } from './useLayers';\nconst ItemContext = createContext({\n items: [],\n addItem: () => { },\n updateItem: () => { },\n removeItem: () => { },\n resetItems: () => { },\n setItemsApi: () => { },\n setItemsData: () => { },\n allItemsLoaded: false,\n});\nfunction useItemsManager(initialItems) {\n const addLayer = useAddLayer();\n const [allItemsLoaded, setallItemsLoaded] = useState(false);\n const [items, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((item) => item.id === action.item.id);\n if (!exist) {\n return [...state, action.item];\n }\n else\n return state;\n case 'UPDATE':\n return state.map((item) => {\n if (item.id === action.item.id) {\n return action.item;\n }\n return item;\n });\n case 'REMOVE':\n return state.filter((item) => item !== action.item);\n case 'RESET':\n return state.filter((item) => item.layer?.name !== action.layer.name);\n default:\n throw new Error();\n }\n }, initialItems);\n const setItemsApi = useCallback(async (layer) => {\n addLayer(layer);\n const result = await toast.promise(layer.api.getItems(), {\n pending: `loading ${layer.name} ...`,\n success: `${layer.name} loaded`,\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n });\n result.map((item) => {\n dispatch({ type: 'ADD', item: { ...item, layer } });\n return null;\n });\n setallItemsLoaded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const setItemsData = useCallback((layer) => {\n addLayer(layer);\n layer.data?.map((item) => {\n dispatch({ type: 'ADD', item: { ...item, layer } });\n return null;\n });\n setallItemsLoaded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const addItem = useCallback(async (item) => {\n dispatch({\n type: 'ADD',\n item,\n });\n }, []);\n const updateItem = useCallback(async (item) => {\n dispatch({\n type: 'UPDATE',\n item,\n });\n }, []);\n const removeItem = useCallback((item) => {\n dispatch({\n type: 'REMOVE',\n item,\n });\n }, []);\n const resetItems = useCallback((layer) => {\n dispatch({\n type: 'RESET',\n layer,\n });\n }, []);\n return {\n items,\n updateItem,\n addItem,\n removeItem,\n resetItems,\n setItemsApi,\n setItemsData,\n allItemsLoaded,\n };\n}\nexport const ItemsProvider = ({ initialItems, children }) => (_jsx(ItemContext.Provider, { value: useItemsManager(initialItems), children: children }));\nexport const useItems = () => {\n const { items } = useContext(ItemContext);\n return items;\n};\nexport const useAddItem = () => {\n const { addItem } = useContext(ItemContext);\n return addItem;\n};\nexport const useUpdateItem = () => {\n const { updateItem } = useContext(ItemContext);\n return updateItem;\n};\nexport const useRemoveItem = () => {\n const { removeItem } = useContext(ItemContext);\n return removeItem;\n};\nexport const useResetItems = () => {\n const { resetItems } = useContext(ItemContext);\n return resetItems;\n};\nexport const useSetItemsApi = () => {\n const { setItemsApi } = useContext(ItemContext);\n return setItemsApi;\n};\nexport const useSetItemsData = () => {\n const { setItemsData } = useContext(ItemContext);\n return setItemsData;\n};\nexport const useAllItemsLoaded = () => {\n const { allItemsLoaded } = useContext(ItemContext);\n return allItemsLoaded;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useReducer, createContext, useContext } from 'react';\nconst LeafletRefsContext = createContext({\n leafletRefs: {},\n addMarker: () => { },\n addPopup: () => { },\n});\nfunction useLeafletRefsManager(initialLeafletRefs) {\n const [leafletRefs, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_MARKER':\n return {\n ...state,\n [action.item.id]: {\n ...state[action.item.id],\n marker: action.marker,\n item: action.item,\n },\n };\n case 'ADD_POPUP':\n return {\n ...state,\n [action.item.id]: { ...state[action.item.id], popup: action.popup, item: action.item },\n };\n default:\n throw new Error();\n }\n }, initialLeafletRefs);\n const addMarker = useCallback((item, marker) => {\n dispatch({\n type: 'ADD_MARKER',\n item,\n marker,\n });\n }, []);\n const addPopup = useCallback((item, popup) => {\n dispatch({\n type: 'ADD_POPUP',\n item,\n popup,\n });\n }, []);\n return { leafletRefs, addMarker, addPopup };\n}\nexport const LeafletRefsProvider = ({ initialLeafletRefs, children }) => (_jsx(LeafletRefsContext.Provider, { value: useLeafletRefsManager(initialLeafletRefs), children: children }));\nexport const useLeafletRefs = () => {\n const { leafletRefs } = useContext(LeafletRefsContext);\n return leafletRefs;\n};\nexport const useAddMarker = () => {\n const { addMarker } = useContext(LeafletRefsContext);\n return addMarker;\n};\nexport const useAddPopup = () => {\n const { addPopup } = useContext(LeafletRefsContext);\n return addPopup;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useState, useContext, useEffect } from 'react';\nconst AuthContext = createContext({\n isAuthenticated: false,\n user: null,\n login: () => Promise.reject(Error('Unimplemented')),\n register: () => Promise.reject(Error('Unimplemented')),\n loading: false,\n logout: () => Promise.reject(Error('Unimplemented')),\n updateUser: () => Promise.reject(Error('Unimplemented')),\n token: '',\n requestPasswordReset: () => Promise.reject(Error('Unimplemented')),\n passwordReset: () => Promise.reject(Error('Unimplemented')),\n});\n/**\n * @category Auth\n */\nexport const AuthProvider = ({ userApi, children }) => {\n const [user, setUser] = useState(null);\n const [token, setToken] = useState();\n const [loading, setLoading] = useState(false);\n const isAuthenticated = !!user;\n useEffect(() => {\n setLoading(true);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n loadUser();\n setLoading(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n async function loadUser() {\n try {\n const token = await userApi.getToken();\n setToken(token);\n if (token) {\n const me = await userApi.getUser();\n setUser(me);\n setLoading(false);\n return me;\n }\n else\n return undefined;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n setLoading(false);\n return undefined;\n }\n }\n const login = async (credentials) => {\n setLoading(true);\n try {\n const user = await userApi.login(credentials.email, credentials.password);\n setToken(user?.access_token);\n return await loadUser();\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const register = async (credentials, userName) => {\n setLoading(true);\n try {\n /* const res = */ await userApi.register(credentials.email, credentials.password, userName);\n return await login(credentials);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const logout = async () => {\n try {\n await userApi.logout();\n setUser(null);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const updateUser = async (user) => {\n setLoading(true);\n try {\n const updatedUser = await userApi.updateUser(user);\n setUser(updatedUser);\n await loadUser();\n setLoading(false);\n return updatedUser;\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const requestPasswordReset = async (email, resetUrl) => {\n setLoading(true);\n try {\n await userApi.requestPasswordReset(email, resetUrl);\n return setLoading(false);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const passwordReset = async (token, newPassword) => {\n setLoading(true);\n try {\n await userApi.passwordReset(token, newPassword);\n return setLoading(false);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n return (_jsx(AuthContext.Provider, { value: {\n isAuthenticated,\n user,\n login,\n register,\n loading,\n logout,\n updateUser,\n token,\n requestPasswordReset,\n passwordReset,\n }, children: children }));\n};\nexport const useAuth = () => useContext(AuthContext);\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nconst PermissionContext = createContext({\n permissions: [],\n setPermissionApi: () => { },\n setPermissionData: () => { },\n setAdminRole: () => { },\n hasUserPermission: () => true,\n});\nfunction usePermissionsManager(initialPermissions) {\n const [permissions, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((permission) => permission.id === action.permission.id);\n if (!exist) {\n return [...state, action.permission];\n }\n else\n return state;\n case 'REMOVE':\n return state.filter(({ id }) => id !== action.id);\n default:\n throw new Error();\n }\n }, initialPermissions);\n const [adminRole, setAdminRole] = useState(null);\n const { user } = useAuth();\n const setPermissionApi = useCallback(async (api) => {\n const result = await api.getItems();\n result.map((permission) => {\n dispatch({ type: 'ADD', permission });\n return null;\n });\n }, []);\n const setPermissionData = useCallback((data) => {\n data.map((permission) => {\n dispatch({ type: 'ADD', permission });\n return null;\n });\n }, []);\n const hasUserPermission = useCallback((collectionName, action, item, layer) => {\n const evaluateCondition = (condition) => {\n if (condition.user_created?._eq === '$CURRENT_USER') {\n return item?.user_created?.id === user?.id;\n }\n if (condition.public_edit?._eq === true) {\n return item?.public_edit === true;\n }\n return false;\n };\n const evaluatePermissions = (permissionConditions) => {\n if (!permissionConditions?._and) {\n return true;\n }\n return permissionConditions._and.every((andCondition) => andCondition._or\n ? andCondition._or.some((orCondition) => evaluateCondition(orCondition))\n : evaluateCondition(andCondition));\n };\n if (collectionName === 'items' && action === 'create' && layer?.public_edit_items)\n return true;\n // Bedingung für leere Berechtigungen nur, wenn NICHT item und create\n if (permissions.length === 0)\n return true;\n else if (user && user.role?.id === adminRole)\n return true;\n else {\n return permissions.some((p) => p.action === action &&\n p.collection === collectionName &&\n ((p.policy?.name === user?.role?.name &&\n (!item || evaluatePermissions(p.permissions))) ||\n (p.policy?.name === '$t:public_label' &&\n (layer?.public_edit_items || item?.layer?.public_edit_items) &&\n (!item || evaluatePermissions(p.permissions)))));\n }\n }, [permissions, user, adminRole]);\n return { permissions, setPermissionApi, setPermissionData, setAdminRole, hasUserPermission };\n}\nexport const PermissionsProvider = ({ initialPermissions, children, }) => (_jsx(PermissionContext.Provider, { value: usePermissionsManager(initialPermissions), children: children }));\nexport const usePermissions = () => {\n const { permissions } = useContext(PermissionContext);\n return permissions;\n};\nexport const useSetPermissionApi = () => {\n const { setPermissionApi } = useContext(PermissionContext);\n return setPermissionApi;\n};\nexport const useSetPermissionData = () => {\n const { setPermissionData } = useContext(PermissionContext);\n return setPermissionData;\n};\nexport const useHasUserPermission = () => {\n const { hasUserPermission } = useContext(PermissionContext);\n return hasUserPermission;\n};\nexport const useSetAdminRole = () => {\n const { setAdminRole } = useContext(PermissionContext);\n return setAdminRole;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useContext, useState } from 'react';\nconst PoupFormContext = createContext({\n popupForm: {},\n setPopupForm: () => {\n /* empty function */\n },\n});\nfunction usePopupFormManager() {\n const [popupForm, setPopupForm] = useState(null);\n return { popupForm, setPopupForm };\n}\nexport const PopupFormProvider = ({ children }) => (_jsx(PoupFormContext.Provider, { value: usePopupFormManager(), children: children }));\nexport const usePopupForm = () => {\n const { popupForm, setPopupForm } = useContext(PoupFormContext);\n return { popupForm, setPopupForm };\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/await-thenable */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { createContext, useContext, useEffect, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useUpdateItem } from './useItems';\nimport { useHasUserPermission } from './usePermissions';\nconst SelectPositionContext = createContext({\n selectPosition: null,\n setSelectPosition: () => { },\n setMarkerClicked: () => { },\n setMapClicked: () => { },\n});\nfunction useSelectPositionManager() {\n const [selectPosition, setSelectPosition] = useState(null);\n const [markerClicked, setMarkerClicked] = useState();\n const [mapClicked, setMapClicked] = useState();\n const updateItem = useUpdateItem();\n const hasUserPermission = useHasUserPermission();\n useEffect(() => {\n if (selectPosition &&\n markerClicked &&\n 'text' in selectPosition &&\n markerClicked.id !== selectPosition.id) {\n itemUpdateParent({ ...selectPosition, parent: markerClicked.id });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [markerClicked]);\n useEffect(() => {\n if (selectPosition != null) {\n // selectPosition can be null, Layer or Item\n if ('menuIcon' in selectPosition) {\n // if selectPosition is a Layer\n mapClicked &&\n mapClicked.setItemFormPopup({\n layer: selectPosition,\n position: mapClicked.position,\n });\n setSelectPosition(null);\n }\n if ('text' in selectPosition) {\n // if selectPosition is an Item\n const position = mapClicked?.position.lng &&\n {\n type: 'Point',\n coordinates: [mapClicked.position.lng, mapClicked.position.lat],\n };\n position && itemUpdatePosition({ ...selectPosition, position });\n setSelectPosition(null);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapClicked]);\n const itemUpdateParent = async (updatedItem) => {\n if (markerClicked?.layer?.api?.collectionName &&\n hasUserPermission(markerClicked.layer.api.collectionName, 'update', markerClicked)) {\n let success = false;\n try {\n await updatedItem.layer?.api?.updateItem({\n id: updatedItem.id,\n parent: updatedItem.parent,\n position: null,\n });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n await updateItem({ ...updatedItem, parent: updatedItem.parent, position: undefined });\n await linkItem(updatedItem.id);\n toast.success('Item position updated');\n setSelectPosition(null);\n setMarkerClicked(null);\n }\n }\n else {\n setSelectPosition(null);\n toast.error(\"you don't have permission to add items to \" + markerClicked?.name);\n }\n };\n const itemUpdatePosition = async (updatedItem) => {\n let success = false;\n try {\n await updatedItem.layer?.api?.updateItem({\n id: updatedItem.id,\n position: updatedItem.position,\n });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n updateItem(updatedItem);\n toast.success('Item position updated');\n }\n };\n const linkItem = async (id) => {\n if (markerClicked) {\n const newRelations = markerClicked.relations || [];\n if (!newRelations.some((r) => r.related_items_id === id)) {\n newRelations.push({ items_id: markerClicked.id, related_items_id: id });\n const updatedItem = { id: markerClicked.id, relations: newRelations };\n let success = false;\n try {\n await markerClicked.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...markerClicked, relations: newRelations });\n toast.success('Item linked');\n }\n }\n }\n };\n return { selectPosition, setSelectPosition, setMarkerClicked, setMapClicked };\n}\nexport const SelectPositionProvider = ({ children }) => (_jsx(SelectPositionContext.Provider, { value: useSelectPositionManager(), children: children }));\nexport const useSelectPosition = () => {\n const { selectPosition } = useContext(SelectPositionContext);\n return selectPosition;\n};\nexport const useSetSelectPosition = () => {\n const { setSelectPosition } = useContext(SelectPositionContext);\n return setSelectPosition;\n};\nexport const useSetMarkerClicked = () => {\n const { setMarkerClicked } = useContext(SelectPositionContext);\n return setMarkerClicked;\n};\nexport const useSetMapClicked = () => {\n const { setMapClicked } = useContext(SelectPositionContext);\n return setMapClicked;\n};\n","export const hashTagRegex = /(#+[a-zA-Z0-9À-ÖØ-öø-ʸ_-]{1,})/g;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nconst TagContext = createContext({\n tags: [],\n addTag: () => { },\n setTagApi: () => { },\n setTagData: () => { },\n getItemTags: () => [],\n allTagsLoaded: false,\n});\nfunction useTagsManager(initialTags) {\n const [allTagsLoaded, setallTagsLoaded] = useState(false);\n const [tagCount, setTagCount] = useState(0);\n const [tags, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((tag) => tag.name.toLocaleLowerCase() === action.tag.name.toLocaleLowerCase());\n if (!exist) {\n const newState = [...state, { ...action.tag }];\n if (tagCount === newState.length)\n setallTagsLoaded(true);\n return newState;\n }\n else\n return state;\n default:\n throw new Error();\n }\n }, initialTags);\n const [api, setApi] = useState({});\n const setTagApi = useCallback(async (api) => {\n setApi(api);\n const result = await api.getItems();\n setTagCount(result.length);\n if (tagCount === 0)\n setallTagsLoaded(true);\n if (result) {\n result.map((tag) => {\n // tag.name = tag.name.toLocaleLowerCase();\n dispatch({ type: 'ADD', tag });\n return null;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const setTagData = useCallback((data) => {\n data.map((tag) => {\n // tag.name = tag.name.toLocaleLowerCase();\n dispatch({ type: 'ADD', tag });\n return null;\n });\n }, []);\n const addTag = (tag) => {\n dispatch({\n type: 'ADD',\n tag,\n });\n if (!tags.some((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())) {\n api.createItem && api.createItem(tag);\n }\n };\n const getItemTags = useCallback((item) => {\n const text = item.text;\n const itemTagStrings = text?.match(hashTagRegex);\n const itemTags = [];\n itemTagStrings?.map((tag) => {\n if (tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n itemTags.push(tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase()));\n }\n return null;\n });\n // Could be refactored as it occurs in multiple places\n item.offers?.forEach((o) => {\n const offer = tags.find((t) => t.id === o.tags_id);\n offer && itemTags.push(offer);\n });\n item.needs?.forEach((n) => {\n const need = tags.find((t) => t.id === n.tags_id);\n need && itemTags.push(need);\n });\n return itemTags;\n }, [tags]);\n return { tags, addTag, setTagApi, setTagData, getItemTags, allTagsLoaded };\n}\nexport const TagsProvider = ({ initialTags, children }) => (_jsx(TagContext.Provider, { value: useTagsManager(initialTags), children: children }));\nexport const useTags = () => {\n const { tags } = useContext(TagContext);\n return tags;\n};\nexport const useAddTag = () => {\n const { addTag } = useContext(TagContext);\n return addTag;\n};\nexport const useSetTagApi = () => {\n const { setTagApi } = useContext(TagContext);\n return setTagApi;\n};\nexport const useSetTagData = () => {\n const { setTagData } = useContext(TagContext);\n return setTagData;\n};\nexport const useGetItemTags = () => {\n const { getItemTags } = useContext(TagContext);\n return getItemTags;\n};\nexport const useAllTagsLoaded = () => {\n const { allTagsLoaded } = useContext(TagContext);\n return allTagsLoaded;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useState, createContext, useContext } from 'react';\nconst initialAppState = {\n assetsApi: {},\n sideBarOpen: false,\n sideBarSlim: false,\n showThemeControl: false,\n embedded: false,\n openCollectiveApiKey: '',\n};\nconst AppContext = createContext({\n state: initialAppState,\n setAppState: () => { },\n});\nfunction useAppManager() {\n const [state, setState] = useState(initialAppState);\n const setAppState = useCallback((newState) => {\n setState((prevState) => ({\n ...prevState,\n ...newState,\n }));\n }, []);\n return { state, setAppState };\n}\nexport const AppStateProvider = ({ children }) => _jsx(AppContext.Provider, { value: useAppManager(), children: children });\nexport const useAppState = () => {\n const { state } = useContext(AppContext);\n return state;\n};\nexport const useSetAppState = () => {\n const { setAppState } = useContext(AppContext);\n return setAppState;\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { useContext, createContext } from 'react';\nimport { BrowserRouter as Router, useInRouterContext } from 'react-router-dom';\nimport { ToastContainer } from 'react-toastify';\nimport { QuestsProvider } from '#components/Gaming/hooks/useQuests';\nimport { ClusterRefProvider } from '#components/Map/hooks/useClusterRef';\nimport { FilterProvider } from '#components/Map/hooks/useFilter';\nimport { ItemsProvider } from '#components/Map/hooks/useItems';\nimport { LayersProvider } from '#components/Map/hooks/useLayers';\nimport { LeafletRefsProvider } from '#components/Map/hooks/useLeafletRefs';\nimport { PermissionsProvider } from '#components/Map/hooks/usePermissions';\nimport { PopupFormProvider } from '#components/Map/hooks/usePopupForm';\nimport { SelectPositionProvider } from '#components/Map/hooks/useSelectPosition';\nimport { TagsProvider } from '#components/Map/hooks/useTags';\nimport { AppStateProvider } from './hooks/useAppState';\n// Helper context to determine if the ContextWrapper is already present.\nconst ContextCheckContext = createContext(false);\nconst CloseButton = ({ closeToast }) => (_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2 tw:focus:outline-hidden', onClick: closeToast, children: \"\\u2715\" }));\nexport const ContextWrapper = ({ children }) => {\n const isWrapped = useContext(ContextCheckContext);\n const isInsideRouter = useInRouterContext();\n let returnValue = children;\n if (!isWrapped) {\n returnValue = (_jsx(ContextCheckContext.Provider, { value: true, children: _jsx(Wrappers, { children: returnValue }) }));\n }\n if (!isInsideRouter) {\n returnValue = _jsx(Router, { children: returnValue });\n }\n return returnValue;\n};\n// eslint-disable-next-line react/prop-types\nexport const Wrappers = ({ children }) => {\n const queryClient = new QueryClient();\n return (_jsx(PermissionsProvider, { initialPermissions: [], children: _jsx(TagsProvider, { initialTags: [], children: _jsx(LayersProvider, { initialLayers: [], children: _jsx(FilterProvider, { initialTags: [], children: _jsx(ItemsProvider, { initialItems: [], children: _jsx(SelectPositionProvider, { children: _jsx(LeafletRefsProvider, { initialLeafletRefs: {}, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(AppStateProvider, { children: _jsx(ClusterRefProvider, { children: _jsx(PopupFormProvider, { children: _jsxs(QuestsProvider, { initialOpen: true, children: [_jsx(ToastContainer, { position: 'top-right', autoClose: 2000, hideProgressBar: true, newestOnTop: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: 'light', closeButton: CloseButton }), children] }) }) }) }) }) }) }) }) }) }) }) }));\n};\n","import { useEffect } from 'react';\nexport const useTheme = (defaultTheme = 'default') => {\n useEffect(() => {\n const savedTheme = localStorage.getItem('theme');\n const initialTheme = savedTheme ? JSON.parse(savedTheme) : defaultTheme;\n if (initialTheme !== 'default') {\n document.documentElement.setAttribute('data-theme', defaultTheme);\n localStorage.setItem('theme', JSON.stringify(initialTheme));\n }\n }, [defaultTheme]);\n};\n","export function containsUUID(str) {\n const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i;\n return uuidRegex.test(str);\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport SVG from 'react-inlinesvg';\nimport PlusSVG from '#assets/plus.svg';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nexport default function AddButton({ triggerAction, }) {\n const layers = useLayers();\n const hasUserPermission = useHasUserPermission();\n const canAddItems = () => {\n let canAdd = false;\n layers.map((layer) => {\n if (layer.api?.createItem &&\n hasUserPermission(layer.api.collectionName, 'create', undefined, layer) &&\n layer.listed)\n canAdd = true;\n return null;\n });\n return canAdd;\n };\n return (_jsx(_Fragment, { children: canAddItems() ? (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-top tw:dropdown-end tw:dropdown-hover tw:z-500 tw:absolute tw:right-4 tw:bottom-4', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:btn-lg tw:shadow tw:bg-base-100', children: _jsx(SVG, { src: PlusSVG, className: 'tw:h-5 tw:w-5' }) }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:pr-1 tw:list-none', children: layers.map((layer) => layer.api?.createItem &&\n hasUserPermission(layer.api.collectionName, 'create', undefined, layer) &&\n layer.listed && (_jsx(\"li\", { children: _jsx(\"a\", { children: _jsx(\"div\", { className: 'tw:tooltip tw:tooltip-left', \"data-tip\": layer.menuText, children: _jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:border-0 tw:pl-2 tw:p-0 tw:mb-3 tw:w-10 tw:h-10 tw:cursor-pointer tw:rounded-full tw:mouse tw:drop-shadow-md tw:transition tw:ease-in tw:duration-200 tw:focus:outline-hidden', style: { backgroundColor: layer.menuColor || '#777' }, onClick: () => {\n triggerAction(layer);\n }, onTouchEnd: (e) => {\n triggerAction(layer);\n e.preventDefault();\n }, children: _jsx(\"img\", { src: layer.menuIcon, className: 'tw:h-6 tw:w-6 tw:text-white', style: { filter: 'invert(100%) brightness(200%)' } }) }) }) }) }, layer.name))) })] })) : ('') }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { DomEvent } from 'leaflet';\nimport { createRef, useEffect } from 'react';\nexport const Control = ({ position, children, zIndex, absolute, }) => {\n const controlContainerRef = createRef();\n useEffect(() => {\n if (controlContainerRef.current !== null) {\n DomEvent.disableClickPropagation(controlContainerRef.current);\n DomEvent.disableScrollPropagation(controlContainerRef.current);\n }\n }, [controlContainerRef]);\n return (_jsx(\"div\", { ref: controlContainerRef, style: { zIndex }, className: `${absolute && 'tw:absolute'} tw:z-999 tw:flex-col ${position === 'topLeft' && 'tw:top-4 tw:left-4'} ${position === 'bottomLeft' && 'tw:bottom-4 tw:left-4'} ${position === 'topRight' && 'tw:bottom-4 tw:right-4'} ${position === 'bottomRight' && 'tw:bottom-4 tw:right-4'}`, children: children }));\n};\n","import * as React from \"react\";\nfunction FunnelIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(FunnelIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport FunnelIcon from '@heroicons/react/24/outline/FunnelIcon';\nimport { useEffect, useState } from 'react';\nimport { useAddVisibleGroupType, useIsGroupTypeVisible, useToggleVisibleGroupType, useVisibleGroupType, } from '#components/Map/hooks/useFilter';\nexport function FilterControl() {\n const [open, setOpen] = useState(false);\n const groupTypes = [\n { text: 'Regional Gruppe', value: 'Regional-Gruppe' },\n { text: 'Themen Gruppe', value: 'Themen-Gruppe' },\n { text: 'liebevoll.jetzt', value: 'liebevoll.jetzt' },\n ];\n useEffect(() => {\n groupTypes.map((layer) => addVisibleGroupType(layer.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const isGroupTypeVisible = useIsGroupTypeVisible();\n const toggleVisibleGroupType = useToggleVisibleGroupType();\n const addVisibleGroupType = useAddVisibleGroupType();\n const visibleGroupTypes = useVisibleGroupType();\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: open ? (_jsxs(\"div\", { className: 'tw:card-body tw:pr-4 tw:min-w-[8rem] tw:p-2 tw:w-fit tw:transition-all tw:duration-300', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setOpen(false);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"ul\", { className: 'tw:flex-row', children: groupTypes.map((groupType) => (_jsx(\"li\", { children: _jsxs(\"label\", { htmlFor: groupType.value, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1', children: [_jsx(\"input\", { id: groupType.value, onChange: () => toggleVisibleGroupType(groupType.value), type: 'checkbox', className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isGroupTypeVisible(groupType.value) }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: groupType.text })] }) }, groupType.value))) })] })) : (_jsxs(\"div\", { className: 'tw:indicator', children: [visibleGroupTypes.length < groupTypes.length && (_jsx(\"span\", { className: 'tw:indicator-item tw:badge tw:badge-success tw:h-4 tw:p-2 tw:translate-x-1/3 tw:-translate-y-1/3 tw:border-0' })), _jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n setOpen(true);\n }, children: _jsx(FunnelIcon, { className: 'size-6 tw:stroke-[2.5]' }) })] })) }));\n}\n","import * as React from \"react\";\nfunction HeartIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(HeartIcon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport HeartIcon from '@heroicons/react/24/outline/HeartIcon';\nimport { useNavigate } from 'react-router-dom';\nimport { useAuth } from '#components/Auth/useAuth';\nexport const GratitudeControl = () => {\n const navigate = useNavigate();\n const { isAuthenticated } = useAuth();\n if (isAuthenticated) {\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: _jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n navigate('/select-user');\n }, children: _jsx(HeartIcon, { className: 'tw:stroke-[2.5]' }) }) }));\n }\n else\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport LayerSVG from '#assets/layer.svg';\nimport { useIsLayerVisible, useToggleVisibleLayer } from '#components/Map/hooks/useFilter';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nexport function LayerControl() {\n const [open, setOpen] = useState(false);\n const layers = useLayers();\n const isLayerVisible = useIsLayerVisible();\n const toggleVisibleLayer = useToggleVisibleLayer();\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: open ? (_jsxs(\"div\", { className: 'tw:card-body tw:pr-4 tw:min-w-[8rem] tw:p-2 tw:transition-all tw:w-fit tw:duration-300', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setOpen(false);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"ul\", { className: 'tw:flex-row', children: layers.map((layer) => layer.listed && (_jsx(\"li\", { children: _jsxs(\"label\", { htmlFor: layer.name, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1 tw:text-base-content', children: [_jsx(\"input\", { id: layer.name, onChange: () => toggleVisibleLayer(layer), type: 'checkbox', className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isLayerVisible(layer) }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: layer.name })] }) }, layer.name))) })] })) : (_jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n setOpen(true);\n }, children: _jsx(SVG, { src: LayerSVG }) })) }));\n}\n","import * as React from \"react\";\nfunction FlagIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(FlagIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction MagnifyingGlassIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(MagnifyingGlassIcon);\nexport default ForwardRef;","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { useCallback, useEffect, useRef } from 'react';\nexport const useTimeout = (callback, delay) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef();\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n const set = useCallback(() => {\n timeoutRef.current = setTimeout(() => callbackRef.current(), delay);\n }, [delay]);\n const clear = useCallback(() => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n }, []);\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n return { reset, clear };\n};\n","import { useEffect } from 'react';\nimport { useTimeout } from './useTimeout';\nexport const useDebounce = (callback, delay, deps) => {\n const { reset, clear } = useTimeout(callback, delay);\n useEffect(reset, [...deps, reset]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n};\n","export function decodeTag(string) {\n const formatedTag = string.replace(/_/g, '\\u00A0');\n return formatedTag.charAt(0).toUpperCase() + formatedTag.slice(1);\n}\nexport function encodeTag(string) {\n return string.replace(/\\s+/g, '_');\n}\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { divIcon, Point } from 'leaflet';\nconst createSvg = (shape, markerColor, borderColor) => {\n const svgMap = {\n circle: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17.5 2.746c-8.284 0-15 6.853-15 15.307 0 .963.098 1.902.265 2.816a15.413 15.413 0 002.262 5.684l.134.193 12.295 17.785 12.439-17.863.056-.08a15.422 15.422 0 002.343-6.112c.123-.791.206-1.597.206-2.423 0-8.454-6.716-15.307-15-15.307\" fill=\"' +\n markerColor +\n '\" /><path d=\"M17.488 2.748c-8.284 0-15 6.853-15 15.307 0 .963.098 1.902.265 2.816a15.413 15.413 0 002.262 5.684l.134.193 12.295 17.785 12.44-17.863.055-.08a15.422 15.422 0 002.343-6.112c.124-.791.206-1.597.206-2.423 0-8.454-6.716-15.307-15-15.307m0 1.071c7.68 0 13.929 6.386 13.929 14.236 0 .685-.064 1.423-.193 2.258-.325 2.075-1.059 3.99-2.164 5.667l-.055.078-11.557 16.595L6.032 26.14l-.12-.174a14.256 14.256 0 01-2.105-5.29 14.698 14.698 0 01-.247-2.62c0-7.851 6.249-14.237 13.928-14.237\" fill=\"' +\n borderColor +\n '\" opacity=\"1\" /></svg>',\n square: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M28.205 3.217H6.777c-2.367 0-4.286 1.87-4.286 4.179v19.847c0 2.308 1.919 4.179 4.286 4.179h5.357l5.337 13.58 5.377-13.58h5.357c2.366 0 4.285-1.87 4.285-4.179V7.396c0-2.308-1.919-4.179-4.285-4.179\" fill=\"' +\n markerColor +\n '\" /><g opacity=\"1\" transform=\"matrix(1.0714 0 0 -1.0714 -233.22 146.783)\"><path d=\"M244 134h-20c-2.209 0-4-1.746-4-3.9v-18.525c0-2.154 1.791-3.9 4-3.9h5L233.982 95 239 107.675h5c2.209 0 4 1.746 4 3.9V130.1c0 2.154-1.791 3.9-4 3.9m0-1c1.654 0 3-1.301 3-2.9v-18.525c0-1.599-1.346-2.9-3-2.9h-5.68l-.25-.632-4.084-10.318-4.055 10.316-.249.634H224c-1.654 0-3 1.301-3 2.9V130.1c0 1.599 1.346 2.9 3 2.9h20\" fill=\"' +\n borderColor +\n '\" /></g></svg>',\n star: '<svg width=\"34\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M32.92 16.93l-3.525-3.525V8.419a1.983 1.983 0 00-1.983-1.982h-4.985L18.9 2.91a1.984 1.984 0 00-2.803 0l-3.524 3.526H7.588a1.983 1.983 0 00-1.982 1.982v4.986L2.081 16.93a1.982 1.982 0 000 2.803l3.525 3.526v4.984c0 1.096.888 1.983 1.982 1.983h4.986L17.457 45l4.97-14.773h4.985a1.983 1.983 0 001.983-1.983V23.26l3.525-3.526a1.982 1.982 0 000-2.803\" fill=\"' +\n markerColor +\n '\" /><g opacity=\".15\" transform=\"matrix(1.0667 0 0 -1.0667 -347.3 97.26)\"><path d=\"M342 89c-.476 0-.951-.181-1.314-.544l-3.305-3.305h-4.673a1.858 1.858 0 01-1.859-1.858v-4.674l-3.305-3.305a1.857 1.857 0 010-2.627l3.305-3.305v-4.674a1.86 1.86 0 011.859-1.859h4.673L341.959 49l4.659 13.849h4.674a1.86 1.86 0 011.859 1.859v4.674l3.305 3.305a1.858 1.858 0 010 2.627l-3.305 3.305v4.674a1.859 1.859 0 01-1.859 1.858h-4.674l-3.304 3.305A1.851 1.851 0 01342 89m0-1a.853.853 0 00.607-.251l3.304-3.305.293-.293h5.088a.86.86 0 00.859-.858v-5.088l3.598-3.598A.852.852 0 00356 74a.85.85 0 00-.251-.606l-3.598-3.598v-5.088a.86.86 0 00-.859-.859h-5.393l-.229-.681-3.702-11.006-3.637 11.001-.227.686h-5.396a.86.86 0 00-.859.859v5.088l-3.598 3.598c-.162.162-.251.377-.251.606s.089.445.251.607l3.598 3.598v5.088a.86.86 0 00.859.858h5.087l3.598 3.598A.853.853 0 00342 88\" fill=\"#231f20\" /></g></svg>',\n penta: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.872 17.35L9.679 2.993h15.615L33.1 17.35 17.486 44.992z\" fill=\"' +\n markerColor +\n '\" /><g opacity=\".15\" transform=\"matrix(1.0769 0 0 -1.0769 -272.731 48.23)\"><path d=\"M276.75 42h-14.5L255 28.668 269.5 3 284 28.668zm-.595-1l6.701-12.323L269.5 5.033l-13.356 23.644L262.845 41z\" fill=\"#231f20\" /></g></svg>',\n };\n // eslint-disable-next-line security/detect-object-injection\n return svgMap[shape];\n};\nconst MarkerIconFactory = (shape, color1, color2, icon, assetsURL) => {\n if (icon)\n return divIcon({\n html: `<div class=\"svg-container\">${createSvg(shape, color1, color2)}<img class=\"overlay-svg\" style=\"width: ${icon.size ? icon.size : '12.5'}px; filter: invert(1) brightness(2);\" src=\"${`${assetsURL ?? ''}` + icon.image}\"></div>`,\n iconAnchor: [17, 40],\n popupAnchor: [0, -40],\n iconSize: new Point(40, 46),\n className: 'leaflet-data-marker',\n shadowAnchor: [0, 0],\n });\n else\n return divIcon({\n html: `<div class=\"svg-container\">${createSvg(shape, color1, color2)}<svg fill=\"#fff\" class=\"overlay-svg\" width=\"13\"xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256z\"/></svg></div>`,\n iconAnchor: [17, 40],\n popupAnchor: [0, -40],\n iconSize: new Point(40, 46),\n className: 'leaflet-data-marker',\n shadowAnchor: [0, 0],\n });\n};\nexport default MarkerIconFactory;\n","/*!\nCopyright (c) 2016 Dominik Moritz\n\nThis file is part of the leaflet locate control. It is licensed under the MIT license.\nYou can find the project at: https://github.com/domoritz/leaflet-locatecontrol\n*/\n(function (factory, window) {\n // see https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md#module-loaders\n // for details on how to structure a leaflet plugin.\n\n // define an AMD module that relies on 'leaflet'\n if (typeof define === \"function\" && define.amd) {\n define([\"leaflet\"], factory);\n\n // define a Common JS module that relies on 'leaflet'\n } else if (typeof exports === \"object\") {\n if (typeof window !== \"undefined\" && window.L) {\n module.exports = factory(L);\n } else {\n module.exports = factory(require(\"leaflet\"));\n }\n }\n\n // attach your plugin to the global 'L' variable\n if (typeof window !== \"undefined\" && window.L) {\n window.L.Control.Locate = factory(L);\n }\n})(function (L) {\n const LDomUtilApplyClassesMethod = (method, element, classNames) => {\n classNames = classNames.split(\" \");\n classNames.forEach(function (className) {\n L.DomUtil[method].call(this, element, className);\n });\n };\n\n const addClasses = (el, names) => LDomUtilApplyClassesMethod(\"addClass\", el, names);\n const removeClasses = (el, names) => LDomUtilApplyClassesMethod(\"removeClass\", el, names);\n\n /**\n * Compatible with L.Circle but a true marker instead of a path\n */\n const LocationMarker = L.Marker.extend({\n initialize(latlng, options) {\n L.Util.setOptions(this, options);\n this._latlng = latlng;\n this.createIcon();\n },\n\n /**\n * Create a styled circle location marker\n */\n createIcon() {\n const opt = this.options;\n\n let style = \"\";\n\n if (opt.color !== undefined) {\n style += `stroke:${opt.color};`;\n }\n if (opt.weight !== undefined) {\n style += `stroke-width:${opt.weight};`;\n }\n if (opt.fillColor !== undefined) {\n style += `fill:${opt.fillColor};`;\n }\n if (opt.fillOpacity !== undefined) {\n style += `fill-opacity:${opt.fillOpacity};`;\n }\n if (opt.opacity !== undefined) {\n style += `opacity:${opt.opacity};`;\n }\n\n const icon = this._getIconSVG(opt, style);\n\n this._locationIcon = L.divIcon({\n className: icon.className,\n html: icon.svg,\n iconSize: [icon.w, icon.h]\n });\n\n this.setIcon(this._locationIcon);\n },\n\n /**\n * Return the raw svg for the shape\n *\n * Split so can be easily overridden\n */\n _getIconSVG(options, style) {\n const r = options.radius;\n const w = options.weight;\n const s = r + w;\n const s2 = s * 2;\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${s2}\" height=\"${s2}\" version=\"1.1\" viewBox=\"-${s} -${s} ${s2} ${s2}\">` +\n '<circle r=\"' +\n r +\n '\" style=\"' +\n style +\n '\" />' +\n \"</svg>\";\n return {\n className: \"leaflet-control-locate-location\",\n svg,\n w: s2,\n h: s2\n };\n },\n\n setStyle(style) {\n L.Util.setOptions(this, style);\n this.createIcon();\n }\n });\n\n const CompassMarker = LocationMarker.extend({\n initialize(latlng, heading, options) {\n L.Util.setOptions(this, options);\n this._latlng = latlng;\n this._heading = heading;\n this.createIcon();\n },\n\n setHeading(heading) {\n this._heading = heading;\n },\n\n /**\n * Create a styled arrow compass marker\n */\n _getIconSVG(options, style) {\n const r = options.radius;\n const w = options.width + options.weight;\n const h = (r + options.depth + options.weight) * 2;\n const path = `M0,0 l${options.width / 2},${options.depth} l-${w},0 z`;\n const svgstyle = `transform: rotate(${this._heading}deg)`;\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${w}\" height=\"${h}\" version=\"1.1\" viewBox=\"-${w / 2} 0 ${w} ${h}\" style=\"${svgstyle}\">` +\n '<path d=\"' +\n path +\n '\" style=\"' +\n style +\n '\" />' +\n \"</svg>\";\n return {\n className: \"leaflet-control-locate-heading\",\n svg,\n w,\n h\n };\n }\n });\n\n const LocateControl = L.Control.extend({\n options: {\n /** Position of the control */\n position: \"topleft\",\n /** The layer that the user's location should be drawn on. By default creates a new layer. */\n layer: undefined,\n /**\n * Automatically sets the map view (zoom and pan) to the user's location as it updates.\n * While the map is following the user's location, the control is in the `following` state,\n * which changes the style of the control and the circle marker.\n *\n * Possible values:\n * - false: never updates the map view when location changes.\n * - 'once': set the view when the location is first determined\n * - 'always': always updates the map view when location changes.\n * The map view follows the user's location.\n * - 'untilPan': like 'always', except stops updating the\n * view if the user has manually panned the map.\n * The map view follows the user's location until she pans.\n * - 'untilPanOrZoom': (default) like 'always', except stops updating the\n * view if the user has manually panned the map.\n * The map view follows the user's location until she pans.\n */\n setView: \"untilPanOrZoom\",\n /** Keep the current map zoom level when setting the view and only pan. */\n keepCurrentZoomLevel: false,\n /** After activating the plugin by clicking on the icon, zoom to the selected zoom level, even when keepCurrentZoomLevel is true. Set to 'false' to disable this feature. */\n initialZoomLevel: false,\n /**\n * This callback can be used to override the viewport tracking\n * This function should return a LatLngBounds object.\n *\n * For example to extend the viewport to ensure that a particular LatLng is visible:\n *\n * getLocationBounds: function(locationEvent) {\n * return locationEvent.bounds.extend([-33.873085, 151.219273]);\n * },\n */\n getLocationBounds(locationEvent) {\n return locationEvent.bounds;\n },\n /** Smooth pan and zoom to the location of the marker. Only works in Leaflet 1.0+. */\n flyTo: false,\n /**\n * The user location can be inside and outside the current view when the user clicks on the\n * control that is already active. Both cases can be configures separately.\n * Possible values are:\n * - 'setView': zoom and pan to the current location\n * - 'stop': stop locating and remove the location marker\n */\n clickBehavior: {\n /** What should happen if the user clicks on the control while the location is within the current view. */\n inView: \"stop\",\n /** What should happen if the user clicks on the control while the location is outside the current view. */\n outOfView: \"setView\",\n /**\n * What should happen if the user clicks on the control while the location is within the current view\n * and we could be following but are not. Defaults to a special value which inherits from 'inView';\n */\n inViewNotFollowing: \"inView\"\n },\n /**\n * If set, save the map bounds just before centering to the user's\n * location. When control is disabled, set the view back to the\n * bounds that were saved.\n */\n returnToPrevBounds: false,\n /**\n * Keep a cache of the location after the user deactivates the control. If set to false, the user has to wait\n * until the locate API returns a new location before they see where they are again.\n */\n cacheLocation: true,\n /** If set, a circle that shows the location accuracy is drawn. */\n drawCircle: true,\n /** If set, the marker at the users' location is drawn. */\n drawMarker: true,\n /** If set and supported then show the compass heading */\n showCompass: true,\n /** The class to be used to create the marker. For example L.CircleMarker or L.Marker */\n markerClass: LocationMarker,\n /** The class us be used to create the compass bearing arrow */\n compassClass: CompassMarker,\n /** Accuracy circle style properties. NOTE these styles should match the css animations styles */\n circleStyle: {\n className: \"leaflet-control-locate-circle\",\n color: \"#136AEC\",\n fillColor: \"#136AEC\",\n fillOpacity: 0.15,\n weight: 0\n },\n /** Inner marker style properties. Only works if your marker class supports `setStyle`. */\n markerStyle: {\n className: \"leaflet-control-locate-marker\",\n color: \"#fff\",\n fillColor: \"#2A93EE\",\n fillOpacity: 1,\n weight: 3,\n opacity: 1,\n radius: 9\n },\n /** Compass */\n compassStyle: {\n fillColor: \"#2A93EE\",\n fillOpacity: 1,\n weight: 0,\n color: \"#fff\",\n opacity: 1,\n radius: 9, // How far is the arrow is from the center of of the marker\n width: 9, // Width of the arrow\n depth: 6 // Length of the arrow\n },\n /**\n * Changes to accuracy circle and inner marker while following.\n * It is only necessary to provide the properties that should change.\n */\n followCircleStyle: {},\n followMarkerStyle: {\n // color: '#FFA500',\n // fillColor: '#FFB000'\n },\n followCompassStyle: {},\n /** The CSS class for the icon. For example fa-location-arrow or fa-map-marker */\n icon: \"leaflet-control-locate-location-arrow\",\n iconLoading: \"leaflet-control-locate-spinner\",\n /** The element to be created for icons. For example span or i */\n iconElementTag: \"span\",\n /** The element to be created for the text. For example small or span */\n textElementTag: \"small\",\n /** Padding around the accuracy circle. */\n circlePadding: [0, 0],\n /** Use metric units. */\n metric: true,\n /**\n * This callback can be used in case you would like to override button creation behavior.\n * This is useful for DOM manipulation frameworks such as angular etc.\n * This function should return an object with HtmlElement for the button (link property) and the icon (icon property).\n */\n createButtonCallback(container, options) {\n const link = L.DomUtil.create(\"a\", \"leaflet-bar-part leaflet-bar-part-single\", container);\n link.title = options.strings.title;\n link.href = \"#\";\n link.setAttribute(\"role\", \"button\");\n const icon = L.DomUtil.create(options.iconElementTag, options.icon, link);\n\n if (options.strings.text !== undefined) {\n const text = L.DomUtil.create(options.textElementTag, \"leaflet-locate-text\", link);\n text.textContent = options.strings.text;\n link.classList.add(\"leaflet-locate-text-active\");\n link.parentNode.style.display = \"flex\";\n if (options.icon.length > 0) {\n icon.classList.add(\"leaflet-locate-icon\");\n }\n }\n\n return { link, icon };\n },\n /** This event is called in case of any location error that is not a time out error. */\n onLocationError(err, control) {\n alert(err.message);\n },\n /**\n * This event is called when the user's location is outside the bounds set on the map.\n * The event is called repeatedly when the location changes.\n */\n onLocationOutsideMapBounds(control) {\n control.stop();\n alert(control.options.strings.outsideMapBoundsMsg);\n },\n /** Display a pop-up when the user click on the inner marker. */\n showPopup: true,\n strings: {\n title: \"Show me where I am\",\n metersUnit: \"meters\",\n feetUnit: \"feet\",\n popup: \"You are within {distance} {unit} from this point\",\n outsideMapBoundsMsg: \"You seem located outside the boundaries of the map\"\n },\n /** The default options passed to leaflets locate method. */\n locateOptions: {\n maxZoom: Infinity,\n watch: true, // if you overwrite this, visualization cannot be updated\n setView: false // have to set this to false because we have to\n // do setView manually\n }\n },\n\n initialize(options) {\n // set default options if nothing is set (merge one step deep)\n for (const i in options) {\n if (typeof this.options[i] === \"object\") {\n L.extend(this.options[i], options[i]);\n } else {\n this.options[i] = options[i];\n }\n }\n\n // extend the follow marker style and circle from the normal style\n this.options.followMarkerStyle = L.extend({}, this.options.markerStyle, this.options.followMarkerStyle);\n this.options.followCircleStyle = L.extend({}, this.options.circleStyle, this.options.followCircleStyle);\n this.options.followCompassStyle = L.extend({}, this.options.compassStyle, this.options.followCompassStyle);\n },\n\n /**\n * Add control to map. Returns the container for the control.\n */\n onAdd(map) {\n const container = L.DomUtil.create(\"div\", \"leaflet-control-locate leaflet-bar leaflet-control\");\n this._container = container;\n this._map = map;\n this._layer = this.options.layer || new L.LayerGroup();\n this._layer.addTo(map);\n this._event = undefined;\n this._compassHeading = null;\n this._prevBounds = null;\n\n const linkAndIcon = this.options.createButtonCallback(container, this.options);\n this._link = linkAndIcon.link;\n this._icon = linkAndIcon.icon;\n\n L.DomEvent.on(\n this._link,\n \"click\",\n function (ev) {\n L.DomEvent.stopPropagation(ev);\n L.DomEvent.preventDefault(ev);\n this._onClick();\n },\n this\n ).on(this._link, \"dblclick\", L.DomEvent.stopPropagation);\n\n this._resetVariables();\n\n this._map.on(\"unload\", this._unload, this);\n\n return container;\n },\n\n /**\n * This method is called when the user clicks on the control.\n */\n _onClick() {\n this._justClicked = true;\n const wasFollowing = this._isFollowing();\n this._userPanned = false;\n this._userZoomed = false;\n\n if (this._active && !this._event) {\n // click while requesting\n this.stop();\n } else if (this._active) {\n const behaviors = this.options.clickBehavior;\n let behavior = behaviors.outOfView;\n if (this._map.getBounds().contains(this._event.latlng)) {\n behavior = wasFollowing ? behaviors.inView : behaviors.inViewNotFollowing;\n }\n\n // Allow inheriting from another behavior\n if (behaviors[behavior]) {\n behavior = behaviors[behavior];\n }\n\n switch (behavior) {\n case \"setView\":\n this.setView();\n break;\n case \"stop\":\n this.stop();\n if (this.options.returnToPrevBounds) {\n const f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;\n f.bind(this._map)(this._prevBounds);\n }\n break;\n }\n } else {\n if (this.options.returnToPrevBounds) {\n this._prevBounds = this._map.getBounds();\n }\n this.start();\n }\n\n this._updateContainerStyle();\n },\n\n /**\n * Starts the plugin:\n * - activates the engine\n * - draws the marker (if coordinates available)\n */\n start() {\n this._activate();\n\n if (this._event) {\n this._drawMarker(this._map);\n\n // if we already have a location but the user clicked on the control\n if (this.options.setView) {\n this.setView();\n }\n }\n this._updateContainerStyle();\n },\n\n /**\n * Stops the plugin:\n * - deactivates the engine\n * - reinitializes the button\n * - removes the marker\n */\n stop() {\n this._deactivate();\n\n this._cleanClasses();\n this._resetVariables();\n\n this._removeMarker();\n },\n\n /**\n * Keep the control active but stop following the location\n */\n stopFollowing() {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n },\n\n /**\n * This method launches the location engine.\n * It is called before the marker is updated,\n * event if it does not mean that the event will be ready.\n *\n * Override it if you want to add more functionalities.\n * It should set the this._active to true and do nothing if\n * this._active is true.\n */\n _activate() {\n if (this._active || !this._map) {\n return;\n }\n\n this._map.locate(this.options.locateOptions);\n this._map.fire(\"locateactivate\", this);\n this._active = true;\n\n // bind event listeners\n this._map.on(\"locationfound\", this._onLocationFound, this);\n this._map.on(\"locationerror\", this._onLocationError, this);\n this._map.on(\"dragstart\", this._onDrag, this);\n this._map.on(\"zoomstart\", this._onZoom, this);\n this._map.on(\"zoomend\", this._onZoomEnd, this);\n if (this.options.showCompass) {\n const oriAbs = \"ondeviceorientationabsolute\" in window;\n if (oriAbs || \"ondeviceorientation\" in window) {\n const _this = this;\n const deviceorientation = function () {\n L.DomEvent.on(window, oriAbs ? \"deviceorientationabsolute\" : \"deviceorientation\", _this._onDeviceOrientation, _this);\n };\n if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === \"function\") {\n DeviceOrientationEvent.requestPermission().then(function (permissionState) {\n if (permissionState === \"granted\") {\n deviceorientation();\n }\n });\n } else {\n deviceorientation();\n }\n }\n }\n },\n\n /**\n * Called to stop the location engine.\n *\n * Override it to shutdown any functionalities you added on start.\n */\n _deactivate() {\n if (!this._active || !this._map) {\n return;\n }\n\n this._map.stopLocate();\n this._map.fire(\"locatedeactivate\", this);\n this._active = false;\n\n if (!this.options.cacheLocation) {\n this._event = undefined;\n }\n\n // unbind event listeners\n this._map.off(\"locationfound\", this._onLocationFound, this);\n this._map.off(\"locationerror\", this._onLocationError, this);\n this._map.off(\"dragstart\", this._onDrag, this);\n this._map.off(\"zoomstart\", this._onZoom, this);\n this._map.off(\"zoomend\", this._onZoomEnd, this);\n if (this.options.showCompass) {\n this._compassHeading = null;\n if (\"ondeviceorientationabsolute\" in window) {\n L.DomEvent.off(window, \"deviceorientationabsolute\", this._onDeviceOrientation, this);\n } else if (\"ondeviceorientation\" in window) {\n L.DomEvent.off(window, \"deviceorientation\", this._onDeviceOrientation, this);\n }\n }\n },\n\n /**\n * Zoom (unless we should keep the zoom level) and an to the current view.\n */\n setView() {\n this._drawMarker();\n if (this._isOutsideMapBounds()) {\n this._event = undefined; // clear the current location so we can get back into the bounds\n this.options.onLocationOutsideMapBounds(this);\n } else {\n if (this._justClicked && this.options.initialZoomLevel !== false) {\n var f = this.options.flyTo ? this._map.flyTo : this._map.setView;\n f.bind(this._map)([this._event.latitude, this._event.longitude], this.options.initialZoomLevel);\n } else if (this.options.keepCurrentZoomLevel) {\n var f = this.options.flyTo ? this._map.flyTo : this._map.panTo;\n f.bind(this._map)([this._event.latitude, this._event.longitude]);\n } else {\n var f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;\n // Ignore zoom events while setting the viewport as these would stop following\n this._ignoreEvent = true;\n f.bind(this._map)(this.options.getLocationBounds(this._event), {\n padding: this.options.circlePadding,\n maxZoom: this.options.initialZoomLevel || this.options.locateOptions.maxZoom\n });\n L.Util.requestAnimFrame(function () {\n // Wait until after the next animFrame because the flyTo can be async\n this._ignoreEvent = false;\n }, this);\n }\n }\n },\n\n /**\n *\n */\n _drawCompass() {\n if (!this._event) {\n return;\n }\n\n const latlng = this._event.latlng;\n\n if (this.options.showCompass && latlng && this._compassHeading !== null) {\n const cStyle = this._isFollowing() ? this.options.followCompassStyle : this.options.compassStyle;\n if (!this._compass) {\n this._compass = new this.options.compassClass(latlng, this._compassHeading, cStyle).addTo(this._layer);\n } else {\n this._compass.setLatLng(latlng);\n this._compass.setHeading(this._compassHeading);\n // If the compassClass can be updated with setStyle, update it.\n if (this._compass.setStyle) {\n this._compass.setStyle(cStyle);\n }\n }\n //\n }\n if (this._compass && (!this.options.showCompass || this._compassHeading === null)) {\n this._compass.removeFrom(this._layer);\n this._compass = null;\n }\n },\n\n /**\n * Draw the marker and accuracy circle on the map.\n *\n * Uses the event retrieved from onLocationFound from the map.\n */\n _drawMarker() {\n if (this._event.accuracy === undefined) {\n this._event.accuracy = 0;\n }\n\n const radius = this._event.accuracy;\n const latlng = this._event.latlng;\n\n // circle with the radius of the location's accuracy\n if (this.options.drawCircle) {\n const style = this._isFollowing() ? this.options.followCircleStyle : this.options.circleStyle;\n\n if (!this._circle) {\n this._circle = L.circle(latlng, radius, style).addTo(this._layer);\n } else {\n this._circle.setLatLng(latlng).setRadius(radius).setStyle(style);\n }\n }\n\n let distance;\n let unit;\n if (this.options.metric) {\n distance = radius.toFixed(0);\n unit = this.options.strings.metersUnit;\n } else {\n distance = (radius * 3.2808399).toFixed(0);\n unit = this.options.strings.feetUnit;\n }\n\n // small inner marker\n if (this.options.drawMarker) {\n const mStyle = this._isFollowing() ? this.options.followMarkerStyle : this.options.markerStyle;\n if (!this._marker) {\n this._marker = new this.options.markerClass(latlng, mStyle).addTo(this._layer);\n } else {\n this._marker.setLatLng(latlng);\n // If the markerClass can be updated with setStyle, update it.\n if (this._marker.setStyle) {\n this._marker.setStyle(mStyle);\n }\n }\n }\n\n this._drawCompass();\n\n const t = this.options.strings.popup;\n function getPopupText() {\n if (typeof t === \"string\") {\n return L.Util.template(t, { distance, unit });\n } else if (typeof t === \"function\") {\n return t({ distance, unit });\n } else {\n return t;\n }\n }\n if (this.options.showPopup && t && this._marker) {\n this._marker.bindPopup(getPopupText())._popup.setLatLng(latlng);\n }\n if (this.options.showPopup && t && this._compass) {\n this._compass.bindPopup(getPopupText())._popup.setLatLng(latlng);\n }\n },\n\n /**\n * Remove the marker from map.\n */\n _removeMarker() {\n this._layer.clearLayers();\n this._marker = undefined;\n this._circle = undefined;\n },\n\n /**\n * Unload the plugin and all event listeners.\n * Kind of the opposite of onAdd.\n */\n _unload() {\n this.stop();\n this._map.off(\"unload\", this._unload, this);\n },\n\n /**\n * Sets the compass heading\n */\n _setCompassHeading(angle) {\n if (!isNaN(parseFloat(angle)) && isFinite(angle)) {\n angle = Math.round(angle);\n\n this._compassHeading = angle;\n L.Util.requestAnimFrame(this._drawCompass, this);\n } else {\n this._compassHeading = null;\n }\n },\n\n /**\n * If the compass fails calibration just fail safely and remove the compass\n */\n _onCompassNeedsCalibration() {\n this._setCompassHeading();\n },\n\n /**\n * Process and normalise compass events\n */\n _onDeviceOrientation(e) {\n if (!this._active) {\n return;\n }\n\n if (e.webkitCompassHeading) {\n // iOS\n this._setCompassHeading(e.webkitCompassHeading);\n } else if (e.absolute && e.alpha) {\n // Android\n this._setCompassHeading(360 - e.alpha);\n }\n },\n\n /**\n * Calls deactivate and dispatches an error.\n */\n _onLocationError(err) {\n // ignore time out error if the location is watched\n if (err.code == 3 && this.options.locateOptions.watch) {\n return;\n }\n\n this.stop();\n this.options.onLocationError(err, this);\n },\n\n /**\n * Stores the received event and updates the marker.\n */\n _onLocationFound(e) {\n // no need to do anything if the location has not changed\n if (this._event && this._event.latlng.lat === e.latlng.lat && this._event.latlng.lng === e.latlng.lng && this._event.accuracy === e.accuracy) {\n return;\n }\n\n if (!this._active) {\n // we may have a stray event\n return;\n }\n\n this._event = e;\n\n this._drawMarker();\n this._updateContainerStyle();\n\n switch (this.options.setView) {\n case \"once\":\n if (this._justClicked) {\n this.setView();\n }\n break;\n case \"untilPan\":\n if (!this._userPanned) {\n this.setView();\n }\n break;\n case \"untilPanOrZoom\":\n if (!this._userPanned && !this._userZoomed) {\n this.setView();\n }\n break;\n case \"always\":\n this.setView();\n break;\n case false:\n // don't set the view\n break;\n }\n\n this._justClicked = false;\n },\n\n /**\n * When the user drags. Need a separate event so we can bind and unbind event listeners.\n */\n _onDrag() {\n // only react to drags once we have a location\n if (this._event && !this._ignoreEvent) {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n },\n\n /**\n * When the user zooms. Need a separate event so we can bind and unbind event listeners.\n */\n _onZoom() {\n // only react to drags once we have a location\n if (this._event && !this._ignoreEvent) {\n this._userZoomed = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n },\n\n /**\n * After a zoom ends update the compass and handle sideways zooms\n */\n _onZoomEnd() {\n if (this._event) {\n this._drawCompass();\n }\n\n if (this._event && !this._ignoreEvent) {\n // If we have zoomed in and out and ended up sideways treat it as a pan\n if (this._marker && !this._map.getBounds().pad(-0.3).contains(this._marker.getLatLng())) {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n }\n },\n\n /**\n * Compute whether the map is following the user location with pan and zoom.\n */\n _isFollowing() {\n if (!this._active) {\n return false;\n }\n\n if (this.options.setView === \"always\") {\n return true;\n } else if (this.options.setView === \"untilPan\") {\n return !this._userPanned;\n } else if (this.options.setView === \"untilPanOrZoom\") {\n return !this._userPanned && !this._userZoomed;\n }\n },\n\n /**\n * Check if location is in map bounds\n */\n _isOutsideMapBounds() {\n if (this._event === undefined) {\n return false;\n }\n return this._map.options.maxBounds && !this._map.options.maxBounds.contains(this._event.latlng);\n },\n\n /**\n * Toggles button class between following and active.\n */\n _updateContainerStyle() {\n if (!this._container) {\n return;\n }\n\n if (this._active && !this._event) {\n // active but don't have a location yet\n this._setClasses(\"requesting\");\n } else if (this._isFollowing()) {\n this._setClasses(\"following\");\n } else if (this._active) {\n this._setClasses(\"active\");\n } else {\n this._cleanClasses();\n }\n },\n\n /**\n * Sets the CSS classes for the state.\n */\n _setClasses(state) {\n if (state == \"requesting\") {\n removeClasses(this._container, \"active following\");\n addClasses(this._container, \"requesting\");\n\n removeClasses(this._icon, this.options.icon);\n addClasses(this._icon, this.options.iconLoading);\n } else if (state == \"active\") {\n removeClasses(this._container, \"requesting following\");\n addClasses(this._container, \"active\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n } else if (state == \"following\") {\n removeClasses(this._container, \"requesting\");\n addClasses(this._container, \"active following\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n }\n },\n\n /**\n * Removes all classes from button.\n */\n _cleanClasses() {\n L.DomUtil.removeClass(this._container, \"requesting\");\n L.DomUtil.removeClass(this._container, \"active\");\n L.DomUtil.removeClass(this._container, \"following\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n },\n\n /**\n * Reinitializes state variables.\n */\n _resetVariables() {\n // whether locate is active or not\n this._active = false;\n\n // true if the control was clicked for the first time\n // we need this so we can pan and zoom once we have the location\n this._justClicked = false;\n\n // true if the user has panned the map after clicking the control\n this._userPanned = false;\n\n // true if the user has zoomed the map after clicking the control\n this._userZoomed = false;\n }\n });\n\n L.control.locate = (options) => new L.Control.Locate(options);\n\n return LocateControl;\n}, window);\n","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { control } from 'leaflet';\nimport { useEffect, useRef, useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useMap, useMapEvents } from 'react-leaflet';\nimport TargetSVG from '#assets/target.svg';\n// eslint-disable-next-line import/no-unassigned-import\nimport 'leaflet.locatecontrol';\n// Converts leaflet.locatecontrol to a React Component\nexport const LocateControl = () => {\n const map = useMap();\n // prevent react18 from calling useEffect twice\n const init = useRef(false);\n const [lc, setLc] = useState(null);\n const [active, setActive] = useState(false);\n const [loading, setLoading] = useState(false);\n useEffect(() => {\n if (!init.current) {\n // @ts-ignore\n setLc(control.locate().addTo(map));\n init.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useMapEvents({\n locationfound: () => {\n setLoading(false);\n setActive(true);\n },\n });\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'tw:card tw:flex-none tw:h-12 tw:w-12 tw:bg-base-100 tw:shadow-xl tw:items-center tw:justify-center tw:hover:bg-slate-300 tw:hover:cursor-pointer tw:transition-all tw:duration-300 tw:ml-2', children: _jsx(\"div\", { className: 'tw:card-body tw:card tw:p-2 tw:h-10 tw:w-10 ', onClick: () => {\n if (active) {\n lc.stop();\n setActive(false);\n }\n else {\n lc.start();\n setLoading(true);\n }\n }, children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-md tw:mt-1' })) : (_jsx(SVG, { src: TargetSVG, className: 'tw:mt-1 tw:p-[1px]', style: { fill: `${active ? '#fc8702' : 'currentColor'}` } })) }) }) }));\n};\n","import * as React from \"react\";\nfunction Bars3Icon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M2 3.75A.75.75 0 0 1 2.75 3h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75ZM2 8a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 8Zm0 4.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(Bars3Icon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Bars3Icon from '@heroicons/react/16/solid/Bars3Icon';\nimport { useAppState, useSetAppState } from '#components/AppShell/hooks/useAppState';\n// Converts leaflet.locatecontrol to a React Component\nexport const SidebarControl = () => {\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebar = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'tw:card tw:justify-center tw:items-center tw:bg-base-100 tw:flex-none tw:shadow-xl tw:px-0 tw:hover:bg-slate-300 tw:hover:cursor-pointer tw:transition-all tw:duration-300 tw:mr-2 tw:h-12 tw:w-12 ', onClick: () => toggleSidebar(), children: _jsx(Bars3Icon, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport FlagIcon from '@heroicons/react/24/outline/FlagIcon';\nimport MagnifyingGlassIcon from '@heroicons/react/24/outline/MagnifyingGlassIcon';\nimport axios from 'axios';\nimport { LatLng, LatLngBounds, marker } from 'leaflet';\nimport { useRef, useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useMap, useMapEvents } from 'react-leaflet';\nimport { useNavigate } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useDebounce } from '#components/Map/hooks/useDebounce';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport useWindowDimensions from '#components/Map/hooks/useWindowDimension';\nimport { decodeTag } from '#utils/FormatTags';\nimport MarkerIconFactory from '#utils/MarkerIconFactory';\nimport { LocateControl } from './LocateControl';\nimport { SidebarControl } from './SidebarControl';\nexport const SearchControl = () => {\n const windowDimensions = useWindowDimensions();\n const [popupOpen, setPopupOpen] = useState(false);\n const [value, setValue] = useState('');\n const [geoResults, setGeoResults] = useState([]);\n const [tagsResults, setTagsResults] = useState([]);\n const [itemsResults, setItemsResults] = useState([]);\n const [hideSuggestions, setHideSuggestions] = useState(true);\n const map = useMap();\n const tags = useTags();\n const items = useItems();\n const leafletRefs = useLeafletRefs();\n const addFilterTag = useAddFilterTag();\n const appState = useAppState();\n useMapEvents({\n popupopen: () => {\n setPopupOpen(true);\n },\n popupclose: () => {\n setPopupOpen(false);\n },\n });\n const navigate = useNavigate();\n useDebounce(() => {\n const searchGeo = async () => {\n try {\n const { data } = await axios.get(`https://photon.komoot.io/api/?q=${value}&limit=5`);\n setGeoResults(data.features);\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n };\n searchGeo();\n setItemsResults(items.filter((item) => {\n return (value.length > 2 &&\n ((item.layer?.listed && item.name.toLowerCase().includes(value.toLowerCase())) ||\n item.text?.toLowerCase().includes(value.toLowerCase())));\n }));\n let phrase = value;\n if (value.startsWith('#'))\n phrase = value.substring(1);\n setTagsResults(tags.filter((tag) => tag.name.toLowerCase().includes(phrase.toLowerCase())));\n }, 500, [value]);\n const hide = async () => {\n setTimeout(() => {\n setHideSuggestions(true);\n }, 200);\n };\n const searchInput = useRef(null);\n return (_jsx(_Fragment, { children: !(windowDimensions.height < 500 && popupOpen && hideSuggestions) && (_jsxs(\"div\", { className: 'tw:w-[calc(100vw-2rem)] tw:max-w-[22rem] ', children: [_jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [appState.embedded && _jsx(SidebarControl, {}), _jsxs(\"div\", { className: 'tw:relative tw:shrink tw:max-w-69 tw:w-full', children: [_jsx(\"input\", { type: 'text', placeholder: 'search ...', autoComplete: 'off', value: value, className: 'tw:input tw:input-bordered tw:h-12 tw:grow tw:shadow-xl tw:rounded-box tw:pr-12 tw:w-full', ref: searchInput, onChange: (e) => setValue(e.target.value), onFocus: () => {\n setHideSuggestions(false);\n if (windowDimensions.width < 500)\n map.closePopup();\n }, onBlur: () => hide() }), value.length > 0 && (_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:absolute tw:right-2 tw:top-2', onClick: () => setValue(''), children: \"\\u2715\" }))] }), _jsx(LocateControl, {})] }), hideSuggestions ||\n (Array.from(geoResults).length === 0 &&\n itemsResults.length === 0 &&\n tagsResults.length === 0 &&\n !isGeoCoordinate(value)) ||\n value.length === 0 ? ('') : (_jsxs(\"div\", { className: 'tw:card tw:card-body tw:bg-base-100 tw:p-4 tw:mt-2 tw:shadow-xl tw:overflow-y-auto tw:max-h-[calc(100dvh-152px)] tw:absolute tw:z-3000 tw:w-83', children: [tagsResults.length > 0 && (_jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: tagsResults.slice(0, 3).map((tag) => (_jsx(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-1 tw:px-4 tw:shadow-md tw:card tw:mr-2 tw:mb-2 tw:cursor-pointer', style: { backgroundColor: tag.color }, onClick: () => {\n addFilterTag(tag);\n }, children: _jsxs(\"b\", { children: [\"#\", decodeTag(tag.name)] }) }, tag.name))) })), itemsResults.length > 0 && tagsResults.length > 0 && (_jsx(\"hr\", { className: 'tw:opacity-50' })), itemsResults.slice(0, 5).map((item) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:hover:font-bold tw:flex tw:flex-row', onClick: () => {\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === item)?.[1]\n .marker;\n if (marker) {\n navigate(`/${item.id}?${new URLSearchParams(window.location.search)}`);\n }\n else {\n navigate('item/' + item.id + '?' + new URLSearchParams(window.location.search));\n }\n }, children: [item.layer?.menuIcon ? (_jsx(SVG, { src: item.layer.menuIcon, className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-5 tw:h-5', preProcessor: (code) => {\n code = code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"');\n code = code.replace(/stroke=\".*?\"/g, 'stroke=\"currentColor\"');\n return code;\n } })) : (_jsx(\"div\", { className: 'tw:w-5' })), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: item.name }), _jsx(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: item.text })] })] }, item.id))), Array.from(geoResults).length > 0 &&\n (itemsResults.length > 0 || tagsResults.length > 0) && (_jsx(\"hr\", { className: 'tw:opacity-50' })), Array.from(geoResults).map((geo) => (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:hover:font-bold tw:cursor-pointer', onClick: () => {\n searchInput.current?.blur();\n marker(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), {\n icon: MarkerIconFactory('circle', '#777', 'RGBA(35, 31, 32, 0.2)'),\n })\n .addTo(map)\n .bindPopup(`<h3 class=\"tw:text-base tw:font-bold\">${geo?.properties.name ? geo?.properties.name : value}<h3>${capitalizeFirstLetter(geo?.properties?.osm_value)}`)\n .openPopup()\n .addEventListener('popupclose', (e) => {\n // eslint-disable-next-line no-console\n console.log(e.target.remove());\n });\n if (geo.properties.extent)\n map.fitBounds(new LatLngBounds(new LatLng(geo.properties.extent[1], geo.properties.extent[0]), new LatLng(geo.properties.extent[3], geo.properties.extent[2])));\n else\n map.setView(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), 15, { duration: 1 });\n hide();\n }, children: [_jsx(MagnifyingGlassIcon, { className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-5' }), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: geo?.properties.name ? geo?.properties.name : value }), _jsxs(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: [geo?.properties?.city && `${capitalizeFirstLetter(geo?.properties?.city)}, `, ' ', geo?.properties?.osm_value &&\n geo?.properties?.osm_value !== 'yes' &&\n geo?.properties?.osm_value !== 'primary' &&\n geo?.properties?.osm_value !== 'path' &&\n geo?.properties?.osm_value !== 'secondary' &&\n geo?.properties?.osm_value !== 'residential' &&\n geo?.properties?.osm_value !== 'unclassified' &&\n `${capitalizeFirstLetter(geo?.properties?.osm_value)}, `, ' ', geo.properties.state && `${geo.properties.state}, `, ' ', geo.properties.country && geo.properties.country] })] })] }, Math.random()))), isGeoCoordinate(value) && (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:hover:font-bold tw:cursor-pointer', onClick: () => {\n marker(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), {\n icon: MarkerIconFactory('circle', '#777', 'RGBA(35, 31, 32, 0.2)'),\n })\n .addTo(map)\n .bindPopup(`<h3 class=\"tw:text-base tw:font-bold\">${extractCoordinates(value)[0]}, ${extractCoordinates(value)[1]}</h3>`)\n .openPopup()\n .addEventListener('popupclose', (e) => {\n // eslint-disable-next-line no-console\n console.log(e.target.remove());\n });\n map.setView(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), 15, { duration: 1 });\n }, children: [_jsx(FlagIcon, { className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-4' }), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: value }), _jsx(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: 'Coordiante' })] })] }))] }))] })) }));\n};\nfunction isGeoCoordinate(input) {\n const geokoordinatenRegex = \n // eslint-disable-next-line security/detect-unsafe-regex\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\n return geokoordinatenRegex.test(input);\n}\nfunction extractCoordinates(input) {\n const result = input.split(',');\n if (result) {\n const latitude = parseFloat(result[0]);\n const longitude = parseFloat(result[1]);\n if (!isNaN(latitude) && !isNaN(longitude)) {\n return [latitude, longitude];\n }\n }\n return null; // Invalid input or error\n}\nfunction capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useFilterTags, useRemoveFilterTag } from '#components/Map/hooks/useFilter';\nimport { decodeTag } from '#utils/FormatTags';\nexport const TagsControl = () => {\n const filterTags = useFilterTags();\n const removeFilterTag = useRemoveFilterTag();\n return (_jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mt-4 tw:w-[calc(100vw-2rem)] tw:max-w-xs', children: filterTags.map((tag) => (_jsxs(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl tw:card tw:mr-2 tw:mb-2', style: { backgroundColor: tag.color }, children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-xs tw:btn-circle tw:absolute tw:-right-2 tw:-top-2 tw:bg-white tw:text-gray-600', onClick: () => removeFilterTag(tag.name), children: \"\\u2715\" }) }), _jsxs(\"b\", { children: [\"#\", decodeTag(tag.name)] })] }, tag.id))) }));\n};\n","export const urlRegex = \n// eslint-disable-next-line no-useless-escape, security/detect-unsafe-regex\n/(^| )(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,10})?(\\/.*)?$/gm;\nexport const mailRegex = /(?<![[(])([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})(?![\\])])/gi;\nexport function fixUrls(message) {\n message = message.replace(urlRegex, function (url) {\n let hyperlink = url.replace(' ', '');\n if (!hyperlink.match('^https?://')) {\n hyperlink = 'https://' + hyperlink;\n }\n return hyperlink;\n });\n return message;\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { memo } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkBreaks from 'remark-breaks';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { decodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { fixUrls, mailRegex } from '#utils/ReplaceURLs';\n/**\n * @category Map\n */\nexport const TextView = ({ item, itemId, text, truncate = false, rawText, itemTextField, }) => {\n if (item) {\n text = item.text;\n itemId = item.id;\n }\n const tags = useTags();\n const addFilterTag = useAddFilterTag();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const itemTextFieldDummy = itemTextField;\n let innerText = '';\n let replacedText = '';\n if (rawText) {\n innerText = replacedText = rawText;\n }\n else if (text) {\n innerText = text;\n }\n if (innerText && truncate)\n innerText = truncateText(removeMarkdownKeepLinksAndParagraphs(innerText), 100);\n if (innerText)\n replacedText = fixUrls(innerText);\n if (replacedText) {\n replacedText = replacedText.replace(/(?<!\\]?\\()https?:\\/\\/[^\\s)]+(?!\\))/g, (url) => {\n let shortUrl = url;\n if (url.match('^https://')) {\n shortUrl = url.split('https://')[1];\n }\n if (url.match('^http://')) {\n shortUrl = url.split('http://')[1];\n }\n return `[${shortUrl}](${url})`;\n });\n }\n if (replacedText) {\n replacedText = replacedText.replace(mailRegex, (url) => {\n return `[${url}](mailto:${url})`;\n });\n }\n if (replacedText) {\n replacedText = replacedText.replace(hashTagRegex, (match) => {\n return `[${match}](${match})`;\n });\n }\n const CustomH1 = ({ children }) => _jsx(\"h1\", { className: 'tw:text-xl tw:font-bold', children: children });\n const CustomH2 = ({ children }) => _jsx(\"h2\", { className: 'tw:text-lg tw:font-bold', children: children });\n const CustomH3 = ({ children }) => _jsx(\"h3\", { className: 'tw:text-base tw:font-bold', children: children });\n const CustomH4 = ({ children }) => _jsx(\"h4\", { className: 'tw:text-base tw:font-bold', children: children });\n const CustomH5 = ({ children }) => _jsx(\"h5\", { className: 'tw:text-sm tw:font-bold', children: children });\n const CustomH6 = ({ children }) => _jsx(\"h6\", { className: 'tw:text-sm tw:font-bold', children: children });\n const CustomParagraph = ({ children }) => _jsx(\"p\", { className: 'tw:my-2!', children: children });\n const CustomUnorderdList = ({ children }) => (_jsx(\"ul\", { className: 'tw:list-disc tw:list-inside', children: children }));\n const CustomOrderdList = ({ children }) => (_jsx(\"ol\", { className: 'tw:list-decimal tw:list-inside', children: children }));\n const CustomHorizontalRow = ({ children }) => _jsx(\"hr\", { className: 'tw:border-current', children: children });\n // eslint-disable-next-line react/prop-types\n const CustomImage = ({ alt, src, title }) => (_jsx(\"img\", { className: 'tw:max-w-full tw:rounded tw:shadow', src: src, alt: alt, title: title }));\n const CustomExternalLink = ({ href, children }) => (_jsxs(\"a\", { className: 'tw:font-bold tw:underline', href: href, target: '_blank', rel: 'noreferrer', children: [' ', children] }));\n const CustomHashTagLink = ({ children, tag, itemId, }) => {\n return (_jsx(\"a\", { style: { color: tag ? tag.color : '#faa', fontWeight: 'bold', cursor: 'pointer' }, onClick: (e) => {\n e.stopPropagation();\n addFilterTag(tag);\n }, children: decodeTag(children) }, tag ? tag.name + itemId : itemId));\n };\n // eslint-disable-next-line react/display-name\n const MemoizedVideoEmbed = memo(({ url }) => (_jsx(\"iframe\", { className: 'tw:w-full', src: url, allow: 'fullscreen; picture-in-picture', allowFullScreen: true })));\n return (_jsx(Markdown, { className: 'tw:text-map tw:leading-map tw:text-sm', remarkPlugins: [remarkBreaks], components: {\n p: CustomParagraph,\n a: ({ href, children }) => {\n const isYouTubeVideo = href?.startsWith('https://www.youtube.com/watch?v=');\n const isRumbleVideo = href?.startsWith('https://rumble.com/embed/');\n if (isYouTubeVideo) {\n const videoId = href?.split('v=')[1].split('&')[0];\n const youtubeEmbedUrl = `https://www.youtube-nocookie.com/embed/${videoId}`;\n return _jsx(MemoizedVideoEmbed, { url: youtubeEmbedUrl });\n }\n if (isRumbleVideo) {\n return _jsx(MemoizedVideoEmbed, { url: href });\n }\n if (href?.startsWith('#')) {\n const tag = tags.find((t) => t.name.toLowerCase() === decodeURI(href).slice(1).toLowerCase());\n if (tag)\n return (_jsx(CustomHashTagLink, { tag: tag, itemId: itemId, children: children }));\n else\n return children;\n }\n else {\n return _jsx(CustomExternalLink, { href: href, children: children });\n }\n },\n ul: CustomUnorderdList,\n ol: CustomOrderdList,\n img: CustomImage,\n hr: CustomHorizontalRow,\n h1: CustomH1,\n h2: CustomH2,\n h3: CustomH3,\n h4: CustomH4,\n h5: CustomH5,\n h6: CustomH6,\n }, children: replacedText }));\n};\nfunction removeMarkdownKeepLinksAndParagraphs(text) {\n // Remove Markdown syntax using regular expressions but keep links and paragraphs\n return text\n .replace(/!\\[.*?\\]\\(.*?\\)/g, '') // Remove images\n .replace(/(`{1,3})(.*?)\\1/g, '$2') // Remove inline code\n .replace(/(\\*{1,2}|_{1,2})(.*?)\\1/g, '$2') // Remove bold and italic\n .replace(/(#+)\\s+(.*)/g, '$2') // Remove headers\n .replace(/>\\s+(.*)/g, '$1') // Remove blockquotes\n .replace(/^\\s*\\n/gm, '\\n') // Preserve empty lines\n .replace(/(\\r\\n|\\n|\\r)/gm, '\\n'); // Preserve line breaks\n}\nfunction truncateText(text, limit) {\n if (text.length <= limit) {\n return text;\n }\n let truncated = '';\n let length = 0;\n // Split the text by paragraphs\n const paragraphs = text.split('\\n');\n for (const paragraph of paragraphs) {\n if (length + paragraph.length > limit) {\n truncated += paragraph.slice(0, limit - length) + '...';\n break;\n }\n else {\n truncated += paragraph + '\\n';\n length += paragraph.length;\n }\n }\n return truncated.trim();\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nexport const SelectPosition = ({ setSelectNewItemPosition }) => {\n return (_jsxs(\"div\", { className: 'tw:animate-pulseGrow tw:button tw:z-1000 tw:absolute tw:right-5 tw:top-4 tw:drop-shadow-md', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setSelectNewItemPosition(null);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"div\", { className: 'tw:alert tw:bg-base-100 tw:text-base-content', children: _jsx(\"div\", { children: _jsx(\"span\", { className: 'tw:text-lg', children: \"Select position on the map!\" }) }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useRef } from 'react';\nimport { TileLayer, useMapEvents, GeoJSON, useMap } from 'react-leaflet';\nimport MarkerClusterGroup from 'react-leaflet-cluster';\nimport { Outlet, useLocation } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useSetAppState } from '#components/AppShell/hooks/useAppState';\nimport { useTheme } from '#components/AppShell/hooks/useTheme';\nimport { containsUUID } from '#utils/ContainsUUID';\nimport { useClusterRef, useSetClusterRef } from './hooks/useClusterRef';\nimport { useAddVisibleLayer } from './hooks/useFilter';\nimport { useLayers } from './hooks/useLayers';\nimport { useLeafletRefs } from './hooks/useLeafletRefs';\nimport { usePopupForm } from './hooks/usePopupForm';\nimport { useSelectPosition, useSetMapClicked, useSetSelectPosition, } from './hooks/useSelectPosition';\nimport AddButton from './Subcomponents/AddButton';\nimport { Control } from './Subcomponents/Controls/Control';\nimport { FilterControl } from './Subcomponents/Controls/FilterControl';\nimport { GratitudeControl } from './Subcomponents/Controls/GratitudeControl';\nimport { LayerControl } from './Subcomponents/Controls/LayerControl';\nimport { SearchControl } from './Subcomponents/Controls/SearchControl';\nimport { TagsControl } from './Subcomponents/Controls/TagsControl';\nimport { TextView } from './Subcomponents/ItemPopupComponents/TextView';\nimport { SelectPosition } from './Subcomponents/SelectPosition';\nexport function UtopiaMapInner({ children, geo, showFilterControl = false, showGratitudeControl = false, showLayerControl = true, showThemeControl = false, defaultTheme = '', donationWidget, }) {\n const selectNewItemPosition = useSelectPosition();\n const setSelectNewItemPosition = useSetSelectPosition();\n const setClusterRef = useSetClusterRef();\n const clusterRef = useClusterRef();\n const setMapClicked = useSetMapClicked();\n const { setPopupForm } = usePopupForm();\n const layers = useLayers();\n const addVisibleLayer = useAddVisibleLayer();\n const leafletRefs = useLeafletRefs();\n const location = useLocation();\n const map = useMap();\n useTheme(defaultTheme);\n useEffect(() => {\n layers.forEach((layer) => addVisibleLayer(layer));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [layers]);\n const setAppState = useSetAppState();\n useEffect(() => {\n setAppState({ showThemeControl });\n }, [setAppState, showThemeControl]);\n const init = useRef(false);\n useEffect(() => {\n if (!init.current) {\n donationWidget &&\n setTimeout(() => {\n toast(_jsxs(_Fragment, { children: [_jsx(TextView, { itemId: '', rawText: '## Do you like this Map?' }), _jsxs(\"div\", { children: [_jsx(TextView, { itemId: '', rawText: 'Support us building free opensource maps for communities and help us grow 🌱☀️' }), _jsx(\"a\", { href: 'https://opencollective.com/utopia-project', children: _jsx(\"div\", { className: 'tw:btn tw:btn-sm tw:float-right tw:btn-primary', children: \"Donate\" }) })] })] }), { autoClose: false });\n }, 600000);\n init.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n function MapEventListener() {\n useMapEvents({\n click: (e) => {\n resetMetaTags();\n // eslint-disable-next-line no-console\n console.log(e.latlng.lat + ',' + e.latlng.lng);\n if (selectNewItemPosition) {\n setMapClicked({ position: e.latlng, setItemFormPopup: setPopupForm });\n }\n },\n moveend: () => { },\n });\n return null;\n }\n useMapEvents({\n popupopen: (e) => {\n const item = Object.entries(leafletRefs).find((r) => r[1].popup === e.popup)?.[1].item;\n if (window.location.pathname.split('/')[1] !== item?.id) {\n const params = new URLSearchParams(window.location.search);\n if (!location.pathname.includes('/item/')) {\n window.history.pushState({}, '', `/${item?.id}` + `${params.toString() !== '' ? `?${params}` : ''}`);\n }\n let title = '';\n if (item?.name)\n title = item.name;\n document.title = `${document.title.split('-')[0]} - ${title}`;\n }\n },\n });\n const openPopup = () => {\n if (!containsUUID(window.location.pathname)) {\n map.closePopup();\n }\n else {\n if (window.location.pathname.split('/')[1]) {\n const id = window.location.pathname.split('/')[1];\n // eslint-disable-next-line security/detect-object-injection\n const ref = leafletRefs[id];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (ref) {\n clusterRef.hasLayer(ref.marker) &&\n clusterRef?.zoomToShowLayer(ref.marker, () => {\n ref.marker.openPopup();\n });\n let title = '';\n if (ref.item.name)\n title = ref.item.name;\n document.title = `${document.title.split('-')[0]} - ${title}`;\n document\n .querySelector('meta[property=\"og:title\"]')\n ?.setAttribute('content', ref.item.name);\n document\n .querySelector('meta[property=\"og:description\"]')\n ?.setAttribute('content', ref.item.text ?? '');\n }\n }\n }\n };\n useEffect(() => {\n openPopup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [leafletRefs, location]);\n const resetMetaTags = () => {\n const params = new URLSearchParams(window.location.search);\n if (!containsUUID(window.location.pathname)) {\n window.history.pushState({}, '', '/' + `${params.toString() !== '' ? `?${params}` : ''}`);\n }\n document.title = document.title.split('-')[0];\n document.querySelector('meta[property=\"og:title\"]')?.setAttribute('content', document.title);\n document\n .querySelector('meta[property=\"og:description\"]')\n ?.setAttribute('content', `${document.querySelector('meta[name=\"description\"]')?.getAttribute('content')}`);\n };\n const onEachFeature = (feature, layer) => {\n if (feature.properties) {\n layer.bindPopup(feature.properties.name);\n }\n };\n return (_jsxs(\"div\", { className: `tw:h-full ${selectNewItemPosition != null ? 'crosshair-cursor-enabled' : ''}`, children: [_jsx(Outlet, {}), _jsxs(Control, { position: 'topLeft', zIndex: '1000', absolute: true, children: [_jsx(SearchControl, {}), _jsx(TagsControl, {})] }), _jsxs(Control, { position: 'bottomLeft', zIndex: '999', absolute: true, children: [showFilterControl && _jsx(FilterControl, {}), showLayerControl && _jsx(LayerControl, {}), showGratitudeControl && _jsx(GratitudeControl, {})] }), _jsx(TileLayer, { maxZoom: 19, attribution: '\\u00A9 <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors', url: 'https://tile.osmand.net/hd/{z}/{x}/{y}.png' }), _jsx(MarkerClusterGroup, { ref: (r) => setClusterRef(r), showCoverageOnHover: true, chunkedLoading: true, maxClusterRadius: 50, removeOutsideVisibleBounds: false, children: children }), geo && (_jsx(GeoJSON, { data: geo, onEachFeature: onEachFeature, eventHandlers: {\n click: (e) => {\n if (selectNewItemPosition) {\n e.layer.closePopup();\n setMapClicked({ position: e.latlng, setItemFormPopup: setPopupForm });\n }\n },\n } })), _jsx(MapEventListener, {}), _jsx(AddButton, { triggerAction: setSelectNewItemPosition }), selectNewItemPosition != null && (_jsx(SelectPosition, { setSelectNewItemPosition: setSelectNewItemPosition }))] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { LatLng } from 'leaflet';\nimport { MapContainer } from 'react-leaflet';\nimport { ContextWrapper } from '#components/AppShell/ContextWrapper';\nimport { UtopiaMapInner } from './UtopiaMapInner';\n/**\n * This component creates the map.\n * ```tsx\n * <UtopiaMap center={[50.6, 9.5]} zoom={5} height=\"100dvh\" width=\"100dvw\" />\n * ```\n * You can define its {@link Layer | `Layers`} as supcomponents.\n * ```tsx\n * <UtopiaMap center={[50.6, 15.5]} zoom={5} height=\"100dvh\" width=\"100dvw\">\n * <Layer\n * name=\"events\"\n * markerIcon=\"calendar\"\n * markerShape=\"square\"\n * markerDefaultColor=\"#700\"\n * data={events}\n * />\n * <Layer\n * name=\"places\"\n * markerIcon=\"point\"\n * markerShape=\"circle\"\n * markerDefaultColor=\"#007\"\n * data={places}\n * />\n * </UtopiaMap>\n * ```\n * You can also pass {@link Tags | `Tags`} or {@link Permissions | `Permissions`} as subcomponents.\n * ```tsx\n * <UtopiaMap center={[50.6, 15.5]} zoom={5} height=\"100dvh\" width=\"100dvw\">\n * ...\n * <Tags data={tags} />\n * <Permissions data={permissions} />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nfunction UtopiaMap({ height = '500px', width = '100%', center = [50.6, 9.5], zoom = 10, children, geo, showFilterControl = false, showGratitudeControl = false, showLayerControl = true, showZoomControl = false, showThemeControl = false, defaultTheme, donationWidget, }) {\n return (_jsx(ContextWrapper, { children: _jsx(MapContainer, { style: { height, width }, center: new LatLng(center[0], center[1]), zoom: zoom, zoomControl: showZoomControl, maxZoom: 19, children: _jsx(UtopiaMapInner, { geo: geo, showFilterControl: showFilterControl, showGratitudeControl: showGratitudeControl, showLayerControl: showLayerControl, donationWidget: donationWidget, showThemeControl: showThemeControl, defaultTheme: defaultTheme, children: children }) }) }));\n}\nexport { UtopiaMap };\n","import { createContext } from 'react';\nconst LayerContext = createContext({\n name: '',\n markerDefaultColor: '',\n markerDefaultColor2: '',\n markerShape: '',\n menuText: '',\n});\nexport default LayerContext;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useSetItemsApi, useSetItemsData } from './hooks/useItems';\nimport { useAddTag } from './hooks/useTags';\nimport LayerContext from './LayerContext';\n/**\n * @category Map\n */\nexport const Layer = ({ data, children, name = 'places', menuIcon = 'MapPinIcon', menuText = 'add new place', menuColor = '#2E7D32', markerIcon, markerShape = 'circle', markerDefaultColor = '#777', markerDefaultColor2 = 'RGBA(35, 31, 32, 0.2)', api, itemType, userProfileLayer = false, customEditLink, customEditParameter, \n// eslint-disable-next-line camelcase\npublic_edit_items, listed = true, }) => {\n const setItemsApi = useSetItemsApi();\n const setItemsData = useSetItemsData();\n const addTag = useAddTag();\n const [newTagsToAdd] = useState([]);\n const [tagsReady] = useState(false);\n useEffect(() => {\n data &&\n setItemsData({\n data,\n children,\n name,\n menuIcon,\n menuText,\n menuColor,\n markerIcon,\n markerShape,\n markerDefaultColor,\n markerDefaultColor2,\n api,\n itemType,\n userProfileLayer,\n // Can we just use editCallback for all cases?\n customEditLink,\n customEditParameter,\n // eslint-disable-next-line camelcase\n public_edit_items,\n listed,\n });\n api &&\n setItemsApi({\n data,\n children,\n name,\n menuIcon,\n menuText,\n menuColor,\n markerIcon,\n markerShape,\n markerDefaultColor,\n markerDefaultColor2,\n api,\n itemType,\n userProfileLayer,\n customEditLink,\n customEditParameter,\n // eslint-disable-next-line camelcase\n public_edit_items,\n listed,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, api]);\n useEffect(() => {\n if (tagsReady) {\n const processedTags = {};\n newTagsToAdd.map((newtag) => {\n if (!processedTags[newtag.name]) {\n processedTags[newtag.name] = true;\n addTag(newtag);\n }\n return null;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagsReady]);\n return (_jsx(LayerContext.Provider, { value: {\n name,\n markerDefaultColor,\n markerDefaultColor2,\n markerShape,\n markerIcon,\n menuText,\n }, children: children }));\n};\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useAddFilterTag, useFilterTags, useResetFilterTags } from './hooks/useFilter';\nimport { useSetTagData, useSetTagApi, useTags } from './hooks/useTags';\n/**\n * This Components injects Tags comming from an {@link ItemsApi | `API`}\n * ```tsx\n * <Tags api={tagsApi} />\n * ```\n * or from on {@link Tag| `Array`}\n * ```tsx\n * <Tags data={tags} />\n * ```\n * Can be child of {@link AppShell | `AppShell`}\n * ```tsx\n * <AppShell>\n * ...\n * <Tags api={tagsApi} />\n * </AppShell>\n * ```\n * Or child of {@link UtopiaMap | `UtopiaMap`}\n * ```tsx\n * <UtopiaMap>\n * ...\n * <Tags api={tagsApi} />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nexport function Tags({ data, api }) {\n const setTagData = useSetTagData();\n const setTagApi = useSetTagApi();\n useEffect(() => {\n data && setTagData(data);\n api && setTagApi(api);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [api, data]);\n const location = useLocation();\n const addFilterTag = useAddFilterTag();\n const resetFilterTags = useResetFilterTags();\n const tags = useTags();\n const filterTags = useFilterTags();\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTags = params.get('tags');\n const decodedTags = urlTags ? decodeURIComponent(urlTags) : '';\n const decodedTagsArray = decodedTags.split(';');\n if (decodedTagsArray.some((ut) => !filterTags.find((ft) => ut.toLocaleLowerCase() === ft.name.toLocaleLowerCase())) ||\n filterTags.some((ft) => !decodedTagsArray.find((ut) => ut.toLocaleLowerCase() === ft.name.toLocaleLowerCase()))) {\n resetFilterTags();\n decodedTagsArray.map((urlTag) => {\n const tag = tags.find((t) => t.name.toLocaleLowerCase() === urlTag.toLocaleLowerCase());\n tag && addFilterTag(tag);\n return null;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location, tags]);\n return _jsx(_Fragment, {});\n}\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useSetPermissionData, useSetPermissionApi, useSetAdminRole } from './hooks/usePermissions';\n/**\n * This Components injects Permissions comming from an {@link ItemsApi | `API`}\n * ```tsx\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * ```\n * or from on {@link Permission| `Array`}\n * ```tsx\n * <Permissions data={permissions} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * ```\n * Can be child of {@link AppShell | `AppShell`}\n * ```tsx\n * <AppShell>\n * ...\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * </AppShell>\n * ```\n * Or child of {@link UtopiaMap | `UtopiaMap`}\n * ```tsx\n * <UtopiaMap>\n * ...\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nexport function Permissions({ data, api, adminRole, }) {\n const setPermissionData = useSetPermissionData();\n const setPermissionApi = useSetPermissionApi();\n const setAdminRole = useSetAdminRole();\n const { user } = useAuth();\n useEffect(() => {\n adminRole && setAdminRole(adminRole);\n data && setPermissionData(data);\n api && setPermissionApi(api);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [api, data, adminRole, user]);\n return _jsx(_Fragment, {});\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState, useEffect } from 'react';\nconst themes = [\n 'default',\n 'light',\n 'dark',\n 'valentine',\n 'retro',\n 'aqua',\n 'cyberpunk',\n 'caramellatte',\n 'abyss',\n 'silk',\n];\nexport const ThemeControl = () => {\n const [theme, setTheme] = useState(() => {\n const savedTheme = localStorage.getItem('theme');\n return savedTheme ? JSON.parse(savedTheme) : 'default';\n });\n useEffect(() => {\n if (theme !== 'default') {\n localStorage.setItem('theme', JSON.stringify(theme));\n }\n else\n localStorage.removeItem('theme');\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n return (_jsxs(\"div\", { className: 'tw:dropdown tw:mr-2', children: [_jsxs(\"div\", { tabIndex: 0, role: 'button', className: 'tw:btn tw:m-1', children: [\"Theme\", _jsx(\"svg\", { width: '12px', height: '12px', className: 'tw:inline-block tw:h-2 tw:w-2 tw:fill-current tw:opacity-60', xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 2048 2048', children: _jsx(\"path\", { d: 'M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z' }) })] }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:bg-base-200 tw:rounded-box tw:z-1 tw:w-36 tw:p-2 tw:shadow-2xl', children: themes.map((t) => (_jsx(\"li\", { children: _jsx(\"input\", { className: `tw:btn ${theme === t ? 'tw:bg-base-300' : ''} tw:btn-sm tw:btn-block tw:btn-ghost tw:justify-start`, type: 'radio', name: 'theme', value: t, checked: theme === t, onChange: () => setTheme(t), \"aria-label\": t.toLowerCase() }) }, t))) })] }));\n};\n","import * as React from \"react\";\nfunction EllipsisVerticalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM8 6.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM9.5 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EllipsisVerticalIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport { useState, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useAppState } from './hooks/useAppState';\nexport const UserControl = () => {\n const { isAuthenticated, user, logout } = useAuth();\n const appState = useAppState();\n const [userProfile, setUserProfile] = useState({});\n const items = useItems();\n useEffect(() => {\n const profile = user && items.find((i) => i.user_created?.id === user.id && i.layer?.userProfileLayer);\n profile\n ? setUserProfile(profile)\n : setUserProfile({ id: crypto.randomUUID(), name: user?.first_name ?? '', text: '' });\n }, [user, items]);\n const onLogout = async () => {\n await toast.promise(logout(), {\n success: {\n render() {\n return 'Bye bye';\n },\n // other options\n icon: '👋',\n },\n error: {\n render({ data }) {\n return JSON.stringify(data);\n },\n },\n pending: 'logging out ..',\n });\n };\n return (_jsx(_Fragment, { children: isAuthenticated ? (_jsxs(\"div\", { className: 'tw:flex tw:mr-2', children: [_jsxs(Link, { to: `${userProfile.id && '/item/' + userProfile.id}`, className: 'tw:flex tw:items-center', children: [userProfile.image && (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:w-10 tw:rounded-full', children: _jsx(\"img\", { src: appState.assetsApi.url + userProfile.image }) }) })), _jsx(\"div\", { className: 'tw:ml-2 tw:mr-2', children: userProfile.name || user?.first_name })] }), _jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-end', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:btn tw:btn-ghost tw:btn-square', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 0, className: 'tw:menu tw:menu-compact tw:dropdown-content tw:mt-4 tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:w-52 tw:z-10000!', children: [_jsx(\"li\", { children: _jsx(Link, { to: `${userProfile.id && '/edit-item/' + userProfile.id}`, children: \"Profile\" }) }), _jsx(\"li\", { children: _jsx(Link, { to: '/user-settings', children: \"Settings\" }) }), _jsx(\"li\", { children: _jsx(\"a\", { onClick: () => {\n void onLogout();\n }, children: \"Logout\" }) })] })] })] })) : (_jsxs(\"div\", { className: 'tw:mr-2 tw:flex tw:items-center', children: [_jsxs(\"div\", { className: 'tw:hidden tw:md:flex', children: [_jsx(Link, { to: '/login', children: _jsx(\"div\", { className: 'tw:self-center tw:btn tw:btn-ghost tw:mr-2', children: \"Login\" }) }), _jsx(Link, { to: '/signup', children: _jsx(\"div\", { className: 'tw:btn tw:btn-ghost tw:mr-2', children: \"Sign Up\" }) })] }), _jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-end', children: [_jsx(\"label\", { tabIndex: 1, className: 'tw:btn tw:btn-ghost tw:md:hidden', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 1, className: 'tw:menu tw:dropdown-content tw:mt-4 tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:w-52 tw:z-10000!', children: [_jsx(\"li\", { children: _jsx(Link, { to: '/login', children: \"Login\" }) }), _jsx(\"li\", { children: _jsx(Link, { to: '/signup', children: \"Sign Up\" }) })] })] })] })) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Bars3Icon from '@heroicons/react/16/solid/Bars3Icon';\nimport QuestionMarkIcon from '@heroicons/react/24/outline/QuestionMarkCircleIcon';\nimport { useEffect, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ThemeControl } from '#components/Templates/ThemeControl';\nimport { useAppState, useSetAppState } from './hooks/useAppState';\nimport { UserControl } from './UserControl';\nexport default function NavBar({ appName }) {\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebar = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n const nameRef = useRef(null);\n const [nameWidth, setNameWidth] = useState(0);\n useEffect(() => {\n !appState.embedded && nameRef.current && setNameWidth(nameRef.current.scrollWidth);\n }, [nameRef, appName, appState.embedded]);\n if (!appState.embedded) {\n return (_jsx(_Fragment, { children: _jsxs(\"div\", { className: 'tw:navbar tw:bg-base-100 tw:z-9998 tw:shadow-xl tw:relative tw:p-0', children: [_jsx(\"button\", { className: 'tw:btn tw:btn-square tw:btn-ghost tw:ml-3', \"aria-controls\": '#sidenav', \"aria-haspopup\": 'true', onClick: () => toggleSidebar(), children: _jsx(Bars3Icon, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }), _jsx(\"div\", { className: 'tw:flex-1 tw:mr-2', children: _jsxs(\"div\", { className: 'tw:flex-1 tw:truncate tw:grid tw:grid-flow-col', style: { maxWidth: nameWidth + 60 }, children: [_jsx(Link, { className: 'tw:btn tw:btn-ghost tw:px-2 tw:normal-case tw:text-xl tw:flex-1 tw:truncate', to: '/', children: _jsx(\"h1\", { ref: nameRef, className: 'tw:truncate', children: appName }) }), _jsx(\"button\", { className: 'tw:btn tw:px-2 tw:btn-ghost', onClick: () => window.my_modal_3.showModal(), children: _jsx(QuestionMarkIcon, { className: 'tw:h-5 tw:w-5' }) })] }) }), appState.showThemeControl && _jsx(ThemeControl, {}), _jsx(UserControl, {})] }) }));\n }\n else\n return _jsx(_Fragment, {});\n}\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useSetAppState } from './hooks/useAppState';\nexport const SetAppState = ({ assetsApi, embedded, openCollectiveApiKey, }) => {\n const setAppState = useSetAppState();\n useEffect(() => {\n setAppState({ assetsApi });\n }, [assetsApi, setAppState]);\n useEffect(() => {\n setAppState({ embedded });\n }, [embedded, setAppState]);\n useEffect(() => {\n setAppState({ openCollectiveApiKey });\n }, [openCollectiveApiKey, setAppState]);\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { ContextWrapper } from './ContextWrapper';\nimport NavBar from './NavBar';\nimport { SetAppState } from './SetAppState';\n/**\n * @category AppShell\n */\nexport function AppShell({ appName, children, assetsApi, embedded, openCollectiveApiKey, }) {\n return (_jsx(ContextWrapper, { children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(SetAppState, { assetsApi: assetsApi, embedded: embedded, openCollectiveApiKey: openCollectiveApiKey }), _jsx(NavBar, { appName: appName }), _jsx(\"div\", { id: 'app-content', className: 'tw:flex', children: children })] }) }));\n}\n","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport ChevronDownIcon from '@heroicons/react/24/outline/ChevronDownIcon';\nimport { useEffect, useState } from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nfunction SidebarSubmenu({ submenu, name, icon, }) {\n const location = useLocation();\n const [isExpanded, setIsExpanded] = useState(false);\n /** Open Submenu list if path found in routes, this is for directly loading submenu routes first time */\n useEffect(() => {\n if (submenu?.filter((m) => {\n return m.path === location.pathname;\n })[0])\n setIsExpanded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (_jsxs(\"div\", { className: 'flex-col', children: [_jsxs(\"div\", { className: 'w-full', onClick: () => setIsExpanded(!isExpanded), children: [icon, \" \", _jsxs(\"span\", { children: [name, \" \"] }), _jsx(ChevronDownIcon, { className: 'w-5 h-5 mt-1 float-right delay-400 duration-500 transition-all ' +\n (isExpanded ? 'rotate-180' : '') })] }), _jsx(\"div\", { className: ' w-full' + (isExpanded ? '' : 'hidden'), children: _jsx(\"ul\", { className: 'menu menu-compact', children: submenu?.map((m, k) => {\n return (_jsx(\"li\", { children: _jsxs(Link, { to: m.path, className: '', children: [m.icon, _jsx(\"span\", { className: '', \"data-te-sidenav-slim\": 'false', children: m.name }), location.pathname === m.path ? (_jsx(\"span\", { className: 'absolute mt-1 mb-1 inset-y-0 left-0 w-1 rounded-tr-md rounded-br-md bg-primary ', \"aria-hidden\": 'true' })) : null] }) }, k));\n }) }) })] }));\n}\nexport default SidebarSubmenu;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport ChevronRightIcon from '@heroicons/react/24/outline/ChevronRightIcon';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { useAppState, useSetAppState } from './hooks/useAppState';\nimport SidebarSubmenu from './SidebarSubmenu';\n/**\n * @category AppShell\n */\nexport function SideBar({ routes, bottomRoutes }) {\n const location = useLocation();\n const params = new URLSearchParams(window.location.search);\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebarOpen = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n const toggleSidebarSlim = () => {\n setAppState({ sideBarSlim: !appState.sideBarSlim });\n };\n return (_jsx(\"nav\", { id: 'sidenav', className: `${appState.sideBarOpen ? 'tw:translate-x-0' : 'tw:-translate-x-full'}\n ${appState.sideBarSlim ? 'tw:w-14' : 'tw:w-48'}\n ${appState.embedded ? 'tw:mt-5.5 tw:h-[calc(100dvh-22px)]' : 'tw:mt-16 tw:h-[calc(100dvh-64px)]'}\n tw:fixed tw:left-0 tw:transition-all tw:duration-300 tw:top-0 tw:z-10035 \n tw:overflow-hidden tw:shadow-xl tw:dark:bg-zinc-800`, children: _jsxs(\"div\", { className: `tw:flex tw:flex-col ${appState.embedded ? 'tw:h-full' : 'tw:h-[calc(100dvh-64px)]'}`, children: [_jsx(\"ul\", { className: 'tw:menu tw:w-full tw:bg-base-100 tw:text-base-content tw:p-0', children: routes.map((route, k) => {\n return (_jsx(\"li\", { className: '', children: route.submenu ? (_jsx(SidebarSubmenu, { ...route })) : (_jsxs(NavLink, { end: true, target: route.blank ? '_blank' : '_self', \n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n to: `${route.path}${params && '?' + params.toString()}`, className: ({ isActive }) => `${isActive ? 'tw:font-semibold tw:bg-base-200 tw:rounded-none!' : 'tw:font-normal tw:rounded-none!'}`, onClick: () => {\n if (screen.width < 640 && !appState.sideBarSlim)\n toggleSidebarOpen();\n }, children: [route.icon, _jsx(\"span\", { className: `${appState.sideBarSlim ? 'tw:hidden' : ''}`, \"data-te-sidenav-slim\": 'false', children: route.name }), (location.pathname.includes(route.path) && route.path.length > 1) ||\n location.pathname === route.path ? (_jsx(\"span\", { className: 'tw:absolute tw:inset-y-0 tw:left-0 tw:w-1 tw:rounded-tr-md tw:rounded-br-md tw:bg-primary ', \"aria-hidden\": 'true' })) : null] })) }, k));\n }) }), _jsx(\"div\", { id: 'slim-toggler', className: 'tw:w-full tw:bg-base-100 tw:flex-1 tw:grid tw:place-items-end', \"aria-haspopup\": 'true', children: _jsxs(\"div\", { className: 'tw:w-full', children: [_jsx(\"ul\", { className: 'tw:menu tw:w-full tw:bg-base-100 tw:text-base-content tw:p-0 tw:mb-0', \"data-te-sidenav-menu-ref\": true, children: bottomRoutes?.map((route, k) => {\n return (_jsx(\"li\", { className: '', children: route.submenu ? (_jsx(SidebarSubmenu, { ...route })) : (_jsxs(NavLink, { end: true, target: route.blank ? '_blank' : '_self', to: route.path, className: ({ isActive }) => `${isActive ? 'tw:font-semibold tw:bg-base-200 tw:rounded-none!' : 'tw:font-normal tw:rounded-none!'}`, onClick: () => {\n if (screen.width < 640 && !appState.sideBarSlim)\n toggleSidebarOpen();\n }, children: [route.icon, _jsx(\"span\", { className: `${appState.sideBarSlim ? 'tw:hidden' : ''}`, \"data-te-sidenav-slim\": 'false', children: route.name }), (location.pathname.includes(route.path) && route.path.length > 1) ||\n location.pathname === route.path ? (_jsx(\"span\", { className: 'tw:absolute tw:inset-y-0 tw:left-0 tw:w-1 tw:rounded-tr-md tw:rounded-br-md tw:bg-primary ', \"aria-hidden\": 'true' })) : null] })) }, k));\n }) }), _jsx(ChevronRightIcon, { className: 'tw:w-5 tw:h-5 tw:mb-4 tw:mr-5 tw:mt-2 tw:cursor-pointer tw:float-right tw:delay-400 tw:duration-500 tw:transition-all ' +\n (!appState.sideBarSlim ? 'tw:rotate-180' : ''), onClick: () => toggleSidebarSlim() })] }) })] }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useAppState } from './hooks/useAppState';\n/**\n * @category AppShell\n */\nexport function Content({ children }) {\n const appState = useAppState();\n return (_jsx(\"div\", { className: `${appState.sideBarOpen && !appState.sideBarSlim ? 'tw:ml-48' : appState.sideBarOpen && appState.sideBarSlim ? 'tw:ml-14' : ''} tw:w-full tw:h-full tw:bg-base-200 tw:relative tw:transition-all tw:duration-300`, children: children }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DomEvent } from 'leaflet';\nimport { createRef, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\n/**\n * @category Templates\n */\nexport function MapOverlayPage({ children, className, backdrop, card = true, }) {\n const closeScreen = () => {\n navigate(`/${window.location.search ? window.location.search : ''}`);\n };\n const navigate = useNavigate();\n const overlayRef = createRef();\n const backdropRef = createRef();\n useEffect(() => {\n if (overlayRef.current !== null) {\n DomEvent.disableClickPropagation(overlayRef.current);\n DomEvent.disableScrollPropagation(overlayRef.current);\n }\n if (backdropRef.current !== null && backdrop) {\n DomEvent.disableClickPropagation(backdropRef.current);\n DomEvent.disableScrollPropagation(backdropRef.current);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [overlayRef, backdropRef]);\n return (_jsx(\"div\", { className: `tw:absolute tw:h-full tw:w-full tw:m-auto ${backdrop ? 'tw:z-2000' : ''}`, children: _jsx(\"div\", { ref: backdropRef, className: `${backdrop ? 'tw:backdrop-brightness-75' : ''} tw:h-full tw:w-full tw:grid tw:place-items-center tw:m-auto`, children: _jsxs(\"div\", { ref: overlayRef, className: `${card ? 'tw:card tw:card-body' : ''} tw:shadow-xl tw:bg-base-100 tw:p-6 ${className ?? ''} ${backdrop ? '' : 'tw:z-2000'} tw:absolute tw:top-0 tw:bottom-0 tw:right-0 tw:left-0 tw:m-auto`, children: [children, _jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2', onClick: () => closeScreen(), children: \"\\u2715\" })] }) }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function LoginPage() {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const { login, loading } = useAuth();\n const navigate = useNavigate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onLogin = async () => {\n await toast.promise(login({ email, password }), {\n success: {\n render({ data }) {\n navigate('/');\n return `Hi ${data?.first_name ? data.first_name : 'Traveler'}`;\n },\n // other options\n icon: '✌️',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n autoClose: 10000,\n },\n pending: 'logging in ...',\n });\n };\n useEffect(() => {\n const keyDownHandler = (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n onLogin();\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [onLogin]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Login\" }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:text-right tw:text-primary', children: _jsx(Link, { to: '/reset-password', children: _jsx(\"span\", { className: 'tw:text-sm tw:inline-block tw:hover:text-primary tw:hover:underline tw:hover:cursor-pointer tw:transition tw:duration-200', children: \"Forgot Password?\" }) }) }), _jsx(\"div\", { className: 'tw:card-actions', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onLogin(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Login' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function SignupPage() {\n const [email, setEmail] = useState('');\n const [userName, setUserName] = useState('');\n const [password, setPassword] = useState('');\n const { register, loading } = useAuth();\n const navigate = useNavigate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onRegister = async () => {\n await toast.promise(register({ email, password }, userName), {\n success: {\n render({ data }) {\n navigate('/');\n return `Hi ${data?.first_name ? data.first_name : 'Traveler'}`;\n },\n // other options\n icon: '✌️',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n autoClose: 10000,\n },\n pending: 'creating new user ...',\n });\n };\n useEffect(() => {\n const keyDownHandler = (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n onRegister();\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [onRegister]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Sign Up\" }), _jsx(\"input\", { type: 'text', placeholder: 'Name', value: userName, onChange: (e) => setUserName(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onRegister(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Sign Up' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function RequestPasswordPage({ resetUrl }) {\n const [email, setEmail] = useState('');\n const { requestPasswordReset, loading } = useAuth();\n const navigate = useNavigate();\n const onReset = async () => {\n await toast.promise(requestPasswordReset(email, resetUrl), {\n success: {\n render() {\n navigate('/');\n return 'Check your mailbox';\n },\n // other options\n icon: '📬',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n pending: 'sending email ...',\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Reset Password\" }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onReset(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Send' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function SetNewPasswordPage() {\n const [password, setPassword] = useState('');\n const { passwordReset, loading } = useAuth();\n const navigate = useNavigate();\n const onReset = async () => {\n const token = window.location.search.split('token=')[1];\n await toast.promise(passwordReset(token, password), {\n success: {\n render() {\n navigate('/');\n return 'New password set';\n },\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n pending: 'setting password ...',\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Set new Password\" }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onReset(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Set' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useState } from 'react';\n/**\n * @category Input\n */\nexport function TextAreaInput({ labelTitle, dataField, labelStyle, containerStyle, inputStyle, defaultValue, placeholder, required = true, updateFormValue, }) {\n const ref = useRef(null);\n const [inputValue, setInputValue] = useState(defaultValue);\n useEffect(() => {\n setInputValue(defaultValue);\n }, [defaultValue]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n if (updateFormValue) {\n updateFormValue(newValue);\n }\n };\n return (_jsxs(\"div\", { className: `tw:form-control tw:w-full ${containerStyle ?? ''}`, children: [labelTitle ? (_jsx(\"label\", { className: 'tw:label', children: _jsx(\"span\", { className: `tw:label-text tw:text-base-content ${labelStyle ?? ''}`, children: labelTitle }) })) : null, _jsx(\"textarea\", { required: required, ref: ref, value: inputValue, name: dataField, className: `tw:textarea tw:textarea-bordered tw:w-full tw:leading-5 ${inputStyle ?? ''}`, placeholder: placeholder ?? '', onChange: handleChange })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\n/**\n * @category Input\n */\nexport function TextInput({ labelTitle, labelStyle, type, dataField, containerStyle, inputStyle, defaultValue, placeholder, autocomplete, pattern, required = true, updateFormValue, }) {\n const [inputValue, setInputValue] = useState(defaultValue ?? '');\n useEffect(() => {\n setInputValue(defaultValue ?? '');\n }, [defaultValue]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n if (updateFormValue) {\n updateFormValue(newValue);\n }\n };\n return (_jsxs(\"div\", { className: `tw:form-control ${containerStyle ?? ''}`, children: [labelTitle ? (_jsx(\"label\", { className: 'tw:label', children: _jsx(\"span\", { className: `tw:label-text tw:text-base-content ${labelStyle ?? ''}`, children: labelTitle }) })) : null, _jsx(\"input\", { required: required, pattern: pattern, type: type ?? 'text', name: dataField, value: inputValue, placeholder: placeholder ?? '', autoComplete: autocomplete, onChange: handleChange, className: `tw:input tw:input-bordered tw:w-full ${inputStyle ?? ''}` })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Subtitle({ styleClass, children }) {\n return _jsx(\"div\", { className: `tw:text-xl tw:font-semibold ${styleClass}`, children: children });\n}\nexport default Subtitle;\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Subtitle from '#components/Typography/Subtitle';\n/**\n * @category Templates\n */\nexport function TitleCard({ title, hideTitle, children, topMargin, TopSideButtons, className, }) {\n return (_jsxs(\"div\", { className: 'card tw:w-full tw:p-6 tw:bg-base-100 tw:shadow-xl tw:h-fit tw:mb-4 ' +\n (className ?? '') +\n ' ' +\n (topMargin ?? 'tw:mt-6'), children: [!hideTitle && (_jsxs(_Fragment, { children: [_jsxs(Subtitle, { styleClass: TopSideButtons ? 'tw:inline-block' : '', children: [title, TopSideButtons && (_jsx(\"div\", { className: 'tw:inline-block tw:float-right', children: TopSideButtons }))] }), _jsx(\"div\", { className: 'divider tw:mt-2' })] })), _jsx(\"div\", { className: 'tw:h-full tw:bg-transparent tw:w-full tw:pb-6 tw:bg-base-100', children: children })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Link } from 'react-router-dom';\nimport { TitleCard } from './TitleCard';\n/**\n * @category Templates\n */\nexport function CardPage({ title, hideTitle, children, parents, }) {\n return (_jsx(\"main\", { className: 'tw:flex-1 tw:overflow-y-auto tw:overflow-x-hidden tw:pt-2 tw:px-6 tw:min-w-80 tw:flex tw:justify-center', children: _jsxs(\"div\", { className: 'tw:w-full tw:xl:max-w-6xl ', children: [_jsx(\"div\", { className: 'tw:text-sm breadcrumbs', children: _jsxs(\"ul\", { children: [_jsx(\"li\", { children: _jsx(Link, { to: '/', children: \"Home\" }) }), parents?.map((b, i) => (_jsx(\"li\", { children: _jsx(Link, { to: b.path, children: b.name }) }, i))), _jsx(\"li\", { children: title })] }) }), _jsx(TitleCard, { hideTitle: hideTitle, title: title, topMargin: 'tw:my-2', className: ' tw:mb-4', children: children })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const SelectUser = () => {\n const appState = useAppState();\n const items = useItems();\n const users = items.filter((i) => i.layer?.userProfileLayer);\n const [selectedUsers, setSelectedUsers] = useState([]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:h-3/4 tw:w-80', children: [_jsx(\"div\", { className: 'tw:text-center tw:text-xl tw:font-bold tw:mb-4', children: \"Gratitude to ...\" }), _jsx(\"div\", { className: 'tw:overflow-x-auto tw:w-full fade', children: _jsx(\"table\", { className: 'tw:table tw:w-full', children: _jsx(\"tbody\", { children: users.map((u, k) => {\n return (_jsxs(\"tr\", { children: [_jsx(\"td\", { children: _jsx(\"input\", { type: 'checkbox', onChange: () => setSelectedUsers((prev) => [...prev, u.id]), className: 'checkbox checkbox-sm' }) }), _jsx(\"td\", { children: _jsxs(\"div\", { className: 'tw:flex tw:items-center tw:space-x-3', children: [u.image ? (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:w-8 tw:h-8', children: _jsx(\"img\", { src: appState.assetsApi.url + u.image + '?width=40&heigth=40', alt: 'Avatar' }) }) })) : (_jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:text-xl tw:md:text-2xl tw:bg-slate-200 tw:rounded-full tw:w-8 tw:h-8' })), _jsx(\"div\", { children: _jsx(\"div\", { className: 'tw:font-bold', children: u.name }) })] }) })] }, k));\n }) }) }) }), _jsx(\"div\", { className: 'tw:w-full tw:grid tw:mt-4', children: _jsx(Link, { className: 'tw:place-self-center ', to: '/attestation-form' + '?to=' + selectedUsers.map((u) => u, ','), children: _jsx(\"button\", { className: 'tw:btn tw:px-8', children: \"Next\" }) }) })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextAreaInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupTextAreaInput = ({ dataField, placeholder, style, item, }) => {\n return (_jsx(TextAreaInput, { defaultValue: item?.text ? item.text : '', dataField: dataField, placeholder: placeholder, inputStyle: style }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { TextInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupStartEndInput = ({ item, showLabels = true, updateStartValue, updateEndValue, }) => {\n return (_jsxs(\"div\", { className: 'tw:grid tw:grid-cols-2 tw:gap-2', children: [_jsx(TextInput, { type: 'date', placeholder: 'start', dataField: 'start', inputStyle: 'tw:text-sm tw:px-2', labelTitle: showLabels ? 'start' : '', defaultValue: item && item.start ? item.start.substring(0, 10) : '', autocomplete: 'one-time-code', updateFormValue: updateStartValue }), _jsx(TextInput, { type: 'date', placeholder: 'end', dataField: 'end', inputStyle: 'tw:text-sm tw:px-2', labelTitle: showLabels ? 'end' : '', defaultValue: item && item.end ? item.end.substring(0, 10) : '', autocomplete: 'one-time-code', updateFormValue: updateEndValue })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupTextInput = ({ dataField, placeholder, style, item, }) => {\n return (_jsx(TextInput, { defaultValue: item?.name ? item.name : '', dataField: dataField, placeholder: placeholder, inputStyle: style, type: 'text', containerStyle: 'tw:mt-4' }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * @category Map\n */\nexport const PopupCheckboxInput = ({ dataField, label, item, }) => {\n return (_jsxs(\"label\", { htmlFor: item?.id, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1', children: [_jsx(\"input\", { id: item?.id, type: 'checkbox', name: dataField, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: item?.public_edit }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: label })] }));\n};\n","import * as React from \"react\";\nfunction CalendarDaysIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.5 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM8.25 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM9.75 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM10.5 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM12.75 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM14.25 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM15 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM16.5 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM15 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM16.5 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M6.75 2.25A.75.75 0 0 1 7.5 3v1.5h9V3A.75.75 0 0 1 18 3v1.5h.75a3 3 0 0 1 3 3v11.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V7.5a3 3 0 0 1 3-3H6V3a.75.75 0 0 1 .75-.75Zm13.5 9a1.5 1.5 0 0 0-1.5-1.5H5.25a1.5 1.5 0 0 0-1.5 1.5v7.5a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5v-7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CalendarDaysIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport CalendarIcon from '@heroicons/react/24/solid/CalendarDaysIcon';\n/**\n * @category Map\n */\nexport const StartEndView = ({ item }) => {\n return (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:mb-4 tw:mt-1', children: [_jsxs(\"div\", { className: 'tw:basis-2/5 tw:flex tw:flex-row', children: [_jsx(CalendarIcon, { className: 'tw:h-4 tw:w-4 tw:mr-2' }), _jsx(\"time\", { className: 'tw:align-middle', dateTime: item && item.start ? item.start.substring(0, 10) : '', children: item && item.start ? new Date(item.start).toLocaleDateString() : '' })] }), _jsx(\"div\", { className: 'tw:basis-1/5 tw:place-content-center', children: _jsx(\"span\", { children: \"-\" }) }), _jsxs(\"div\", { className: 'tw:basis-2/5 tw:flex tw:flex-row', children: [_jsx(CalendarIcon, { className: 'tw:h-4 tw:w-4 tw:mr-2' }), _jsx(\"time\", { className: 'tw:align-middle', dateTime: item && item.end ? item.end.substring(0, 10) : '', children: item && item.end ? new Date(item.end).toLocaleDateString() : '' })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { Link } from 'react-router-dom';\nimport { useGetItemTags } from '#components/Map/hooks/useTags';\n/**\n * @category Map\n */\nexport const PopupButton = ({ url, parameterField, text, item, }) => {\n const params = new URLSearchParams(window.location.search);\n const getItemTags = useGetItemTags();\n return (_jsx(Link, { to: `${url}/${parameterField ? item?.id : ''}?${params}`, children: _jsx(\"button\", { style: {\n backgroundColor: `${item?.color ?? (item && (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color ? getItemTags(item)[0].color : (item?.layer?.markerDefaultColor ?? '#000')))}`,\n }, className: 'tw:btn tw:text-white tw:btn-sm tw:float-right tw:mt-1', children: text }) }));\n};\n","import * as React from \"react\";\nfunction PlusIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 4.5v15m7.5-7.5h-15\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PlusIcon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport PlusIcon from '@heroicons/react/24/outline/PlusIcon';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nexport function PlusButton({ layer, triggerAction, color, collection = 'items', }) {\n const hasUserPermission = useHasUserPermission();\n return (_jsx(_Fragment, { children: hasUserPermission(collection, 'create', undefined, layer) && (_jsx(\"div\", { className: 'tw:dropdown tw:dropdown-top tw:dropdown-end tw:dropdown-hover tw:z-3000 tw:absolute tw:right-4 tw:bottom-4', children: _jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow', onClick: () => {\n triggerAction();\n }, style: { backgroundColor: color, color: '#fff' }, children: _jsx(PlusIcon, { className: 'tw:w-5 tw:h-5 tw:stroke-[2.5]' }) }) })) }));\n}\n","const goldenRatioConjugate = 0.618033988749895;\nexport const randomColor = () => {\n return hsvToHex((Math.random() + goldenRatioConjugate) % 1, 0.8, 0.7);\n};\nfunction hsvToHex(h, s, v) {\n let r, g, b;\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n }\n return rgbToHex(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255));\n}\nconst rgbToHex = (r, g, b) => '#' +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('');\n","import * as React from \"react\";\nfunction PencilIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-12.15 12.15a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32L19.513 8.2Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PencilIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction TrashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.5 4.478v.227a48.816 48.816 0 0 1 3.878.512.75.75 0 1 1-.256 1.478l-.209-.035-1.005 13.07a3 3 0 0 1-2.991 2.77H8.084a3 3 0 0 1-2.991-2.77L4.087 6.66l-.209.035a.75.75 0 0 1-.256-1.478A48.567 48.567 0 0 1 7.5 4.705v-.227c0-1.564 1.213-2.9 2.816-2.951a52.662 52.662 0 0 1 3.369 0c1.603.051 2.815 1.387 2.815 2.951Zm-6.136-1.452a51.196 51.196 0 0 1 3.273 0C14.39 3.05 15 3.684 15 4.478v.113a49.488 49.488 0 0 0-6 0v-.113c0-.794.609-1.428 1.364-1.452Zm-.355 5.945a.75.75 0 1 0-1.5.058l.347 9a.75.75 0 1 0 1.499-.058l-.346-9Zm5.48.058a.75.75 0 1 0-1.498-.058l-.347 9a.75.75 0 0 0 1.5.058l.345-9Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(TrashIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect, useRef } from 'react';\nconst isClickInsideRectangle = (e, element) => {\n const r = element.getBoundingClientRect();\n return e.clientX > r.left && e.clientX < r.right && e.clientY > r.top && e.clientY < r.bottom;\n};\nconst DialogModal = ({ title, isOpened, onClose, children, showCloseButton = true, closeOnClickOutside = true, className, }) => {\n const ref = useRef(null);\n useEffect(() => {\n if (isOpened) {\n ref.current?.showModal();\n ref.current?.classList.remove('tw:hidden');\n document.body.classList.add('modal-open'); // prevent bg scroll\n }\n else {\n ref.current?.close();\n ref.current?.classList.add('tw:hidden');\n document.body.classList.remove('modal-open');\n }\n }, [isOpened]);\n if (isOpened) {\n return (_jsx(\"dialog\", { className: `${className ?? ''} card tw:shadow-xl tw:absolute tw:right-0 tw:top-0 tw:bottom-0 tw:left-0 tw:m-auto tw:transition-opacity tw:duration-300 tw:p-4 tw:max-w-xl tw:bg-base-100`, ref: ref, onCancel: onClose, onClick: (e) => ref.current && !isClickInsideRectangle(e, ref.current) && closeOnClickOutside && onClose(), children: _jsxs(\"div\", { className: 'card-body tw:p-2', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: title }), children, showCloseButton && (_jsx(\"button\", { className: 'btn btn-sm btn-circle btn-ghost tw:absolute tw:right-2 tw:top-2', onClick: onClose, children: \"\\u2715\" }))] }) }));\n }\n else\n return _jsx(_Fragment, {});\n};\nexport default DialogModal;\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport PencilIcon from '@heroicons/react/24/solid/PencilIcon';\nimport TrashIcon from '@heroicons/react/24/solid/TrashIcon';\nimport { useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useNavigate } from 'react-router-dom';\nimport TargetDotSVG from '#assets/targetDot.svg';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport DialogModal from '#components/Templates/DialogModal';\nexport function HeaderView({ item, api, editCallback, deleteCallback, setPositionCallback, loading, hideMenu = false, big = false, truncateSubname = true, hideSubname = false, showAddress = false, }) {\n const [modalOpen, setModalOpen] = useState(false);\n const hasUserPermission = useHasUserPermission();\n const navigate = useNavigate();\n const appState = useAppState();\n const [imageLoaded, setImageLoaded] = useState(false);\n const avatar = item.image && appState.assetsApi.url + item.image + '?width=160&heigth=160';\n const title = item.name;\n const subtitle = item.subname;\n const [address] = useState('');\n const params = new URLSearchParams(window.location.search);\n const openDeleteModal = async (event) => {\n setModalOpen(true);\n event.stopPropagation();\n };\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [_jsx(\"div\", { className: 'tw:grow tw:max-w-[calc(100%-60px)] }', children: _jsxs(\"div\", { className: 'flex items-center', children: [avatar && (_jsx(\"div\", { className: 'tw:avatar', children: _jsxs(\"div\", { className: `${big ? 'tw:w-20' : 'tw:w-10'} tw:inline tw:items-center tw:justify-center overflow-hidden`, children: [_jsx(\"img\", { className: 'tw:w-full tw:h-full tw:object-cover tw:rounded-full', src: avatar, alt: item.name + ' logo', onLoad: () => setImageLoaded(true), onError: () => setImageLoaded(false), style: { display: imageLoaded ? 'block' : 'none' } }), !imageLoaded && (_jsx(\"div\", { className: 'tw:w-full tw:h-full tw:bg-gray-200 tw:rounded-full' }))] }) })), _jsxs(\"div\", { className: `${avatar ? 'tw:ml-2' : ''} tw:overflow-hidden`, children: [_jsx(\"div\", { className: `${big ? 'tw:xl:text-3xl tw:text-2xl' : 'tw:text-xl'} tw:font-semibold tw:truncate`, title: title, children: title }), showAddress && address && !hideSubname && (_jsx(\"div\", { className: `tw:text-xs tw:text-gray-500 ${truncateSubname && 'tw:truncate'}`, children: address })), subtitle && !hideSubname && (_jsx(\"div\", { className: `tw:text-xs tw:opacity-50 ${truncateSubname && 'tw:truncate'}`, children: subtitle }))] })] }) }), _jsx(\"div\", { onClick: (e) => e.stopPropagation(), className: `${big ? 'tw:mt-5' : 'tw:mt-1'}`, children: (api?.deleteItem || item.layer?.api?.updateItem) &&\n (hasUserPermission(api?.collectionName, 'delete', item) ||\n hasUserPermission(api?.collectionName, 'update', item)) &&\n !hideMenu && (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-bottom', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:bg-base-100 tw:btn tw:m-1 tw:leading-3 tw:border-none tw:min-h-0 tw:h-6', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:menu tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:z-1000', children: [api?.updateItem &&\n hasUserPermission(api.collectionName, 'update', item) &&\n editCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:text-base-content! tw:cursor-pointer', onClick: (e) => item.layer?.customEditLink\n ? navigate(`${item.layer.customEditLink}${item.layer.customEditParameter ? `/${item.id}${params && '?' + params}` : ''} `)\n : editCallback(e), children: _jsx(PencilIcon, { className: 'tw:h-5 tw:w-5' }) }) })), api?.updateItem &&\n hasUserPermission(api.collectionName, 'update', item) &&\n setPositionCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:text-base-content! tw:cursor-pointer', onClick: setPositionCallback, children: _jsx(SVG, { src: TargetDotSVG, className: 'tw:w-5 tw:h-5' }) }) })), api?.deleteItem &&\n hasUserPermission(api.collectionName, 'delete', item) &&\n deleteCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:cursor-pointer tw:text-error!', onClick: openDeleteModal, children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-sm' })) : (_jsx(TrashIcon, { className: 'tw:h-5 tw:w-5' })) }) }))] })] })) })] }), _jsx(DialogModal, { isOpened: modalOpen, title: 'Are you sure?', showCloseButton: false, onClose: () => setModalOpen(false), children: _jsxs(\"div\", { onClick: (e) => e.stopPropagation(), children: [_jsxs(\"span\", { children: [\"Do you want to delete \", _jsx(\"b\", { children: item.name }), \"?\"] }), _jsx(\"div\", { className: 'tw:grid', children: _jsxs(\"div\", { className: 'tw:flex tw:justify-between', children: [_jsx(\"label\", { className: 'tw:btn tw:mt-4 tw:btn-error', onClick: (e) => {\n deleteCallback(e);\n setModalOpen(false);\n }, children: \"Yes\" }), _jsx(\"label\", { className: 'tw:btn tw:mt-4', onClick: () => setModalOpen(false), children: \"No\" })] }) })] }) })] }));\n}\n","// in miliseconds\nconst units = [\n { label: 'year', seconds: 31536000 },\n { label: 'month', seconds: 2592000 },\n { label: 'week', seconds: 604800 },\n { label: 'day', seconds: 86400 },\n { label: 'hour', seconds: 3600 },\n { label: 'minute', seconds: 60 },\n { label: 'second', seconds: 1 },\n];\nexport const timeAgo = (date) => {\n const time = Math.floor((new Date().valueOf() - new Date(date).valueOf()) / 1000);\n const { interval, unit } = calculateTimeDifference(time);\n const suffix = interval === 1 ? '' : 's';\n return `${interval} ${unit}${suffix} ago`;\n};\nconst calculateTimeDifference = (time) => {\n for (const { label, seconds } of units) {\n const interval = Math.floor(time / seconds);\n if (interval >= 1) {\n return {\n interval,\n unit: label,\n };\n }\n }\n return {\n interval: 0,\n unit: '',\n };\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { timeAgo } from '#utils/TimeAgo';\nexport const DateUserInfo = ({ item }) => {\n const [infoExpanded, setInfoExpanded] = useState(false);\n return (_jsxs(\"div\", { className: 'tw:flex tw:-mb-1 tw:flex-row tw:mr-2 tw:-mt-2', onClick: (e) => e.stopPropagation(), children: [infoExpanded ? (_jsx(\"p\", { className: 'tw:italic tw:min-h-[21px] tw:my-0! tw:text-gray-500', onClick: () => setInfoExpanded(false), children: `${item.date_updated && item.date_updated !== item.date_created ? 'updated' : 'posted'} ${item.user_created?.first_name ? `by ${item.user_created.first_name}` : ''} ${item.date_updated ? timeAgo(item.date_updated) : timeAgo(item.date_created)}` })) : (_jsx(\"p\", { className: 'tw:my-0! tw:min-h-[21px] tw:font-bold tw:cursor-pointer tw:text-gray-500', onClick: () => setInfoExpanded(true), children: \"\\u24D8\" })), _jsx(\"div\", { className: 'tw:grow ' })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useNavigate } from 'react-router-dom';\nimport useWindowDimensions from '#components/Map/hooks/useWindowDimension';\nimport { StartEndView, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport { DateUserInfo } from './DateUserInfo';\nexport const ItemCard = ({ i, loading, url, deleteCallback, }) => {\n const navigate = useNavigate();\n const windowDimensions = useWindowDimensions();\n return (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:p-4 tw:mb-4 tw:h-fit', onClick: () => {\n // We could have an onClick callback instead\n const params = new URLSearchParams(window.location.search);\n if (windowDimensions.width < 786 && i.position)\n navigate('/' + i.id + `${params.size > 0 ? `?${params.toString()}` : ''}`);\n else\n navigate(url + i.id + `${params.size > 0 ? `?${params.toString()}` : ''}`);\n }, children: [_jsx(HeaderView, { loading: loading, item: i, api: i.layer?.api, editCallback: () => navigate('/edit-item/' + i.id), deleteCallback: () => deleteCallback(i) }), _jsxs(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: [i.layer?.itemType.show_start_end && _jsx(StartEndView, { item: i }), i.layer?.itemType.show_text && _jsx(TextView, { truncate: true, text: i.text, itemId: i.id })] }), _jsx(DateUserInfo, { item: i })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useRef, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextInput, TextAreaInput } from '#components/Input';\nimport { useFilterTags } from '#components/Map/hooks/useFilter';\nimport { useAddItem, useItems, useRemoveItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useAddTag, useGetItemTags, useTags } from '#components/Map/hooks/useTags';\nimport { Control } from '#components/Map/Subcomponents/Controls/Control';\nimport { SearchControl } from '#components/Map/Subcomponents/Controls/SearchControl';\nimport { TagsControl } from '#components/Map/Subcomponents/Controls/TagsControl';\nimport { PopupStartEndInput } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { PlusButton } from '#components/Profile/Subcomponents/PlusButton';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\nimport { ItemCard } from './ItemCard';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const OverlayItemsIndexPage = ({ url, layerName, parameterField, plusButton = true, }) => {\n const [loading, setLoading] = useState(false);\n const [addItemPopupType, setAddItemPopupType] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const parameterFieldDummy = parameterField;\n const tabRef = useRef(null);\n function scroll() {\n tabRef.current?.scrollIntoView();\n }\n useEffect(() => {\n scroll();\n }, [addItemPopupType]);\n useEffect(() => {\n setAddItemPopupType('');\n }, [layerName]);\n const tags = useTags();\n const addTag = useAddTag();\n const { user } = useAuth();\n const items = useItems();\n const addItem = useAddItem();\n const removeItem = useRemoveItem();\n const layers = useLayers();\n const filterTags = useFilterTags();\n const getItemTags = useGetItemTags();\n const layer = layers.find((l) => l.name === layerName);\n const submitNewItem = async (evt) => {\n evt.preventDefault();\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n setLoading(true);\n if (formItem.text) {\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n }\n const uuid = crypto.randomUUID();\n let success = false;\n try {\n await layer?.api?.createItem({ ...formItem, id: uuid });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n toast.success('New item created');\n }\n addItem({ ...formItem, user_created: user ?? undefined, id: uuid, layer, public_edit: !user });\n setLoading(false);\n setAddItemPopupType('');\n };\n const deleteItem = async (item) => {\n setLoading(true);\n let success = false;\n try {\n await layer?.api?.deleteItem(item.id);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n toast.success('Item deleted');\n }\n removeItem(item);\n setLoading(false);\n };\n return (_jsxs(_Fragment, { children: [_jsx(MapOverlayPage, { className: 'tw:rounded-none tw:overflow-y-auto tw:bg-base-200 tw:p-4!', children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(\"div\", { className: 'tw:flex-none', children: _jsxs(Control, { position: 'topLeft', zIndex: '1000', absolute: false, children: [_jsx(SearchControl, {}), _jsx(TagsControl, {})] }) }), _jsx(\"div\", { className: 'tw:overflow-scroll fade tw:flex-1', children: _jsxs(\"div\", { className: 'tw:columns-1 tw:md:columns-2 tw:lg:columns-3 tw:2xl:columns-4 tw:gap-6 tw:pt-4', children: [items\n .filter((i) => i.layer?.name === layerName)\n .filter((item) => filterTags.length === 0\n ? item\n : filterTags.some((tag) => getItemTags(item).some((filterTag) => filterTag.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())))\n .sort((a, b) => {\n // Convert date_created to milliseconds, handle undefined by converting to lowest possible date (0 milliseconds)\n const dateA = a.date_updated\n ? new Date(a.date_updated).getTime()\n : a.date_created\n ? new Date(a.date_created).getTime()\n : 0;\n const dateB = b.date_updated\n ? new Date(b.date_updated).getTime()\n : b.date_created\n ? new Date(b.date_created).getTime()\n : 0;\n return dateB - dateA; // Subtracts milliseconds which are numbers\n })\n .map((i, k) => (_jsx(\"div\", { className: 'tw:break-inside-avoid tw:mb-6', children: _jsx(ItemCard, { i: i, loading: loading, url: url, deleteCallback: () => deleteItem(i) }) }, k))), addItemPopupType === 'place' && (_jsx(\"form\", { ref: tabRef, autoComplete: 'off', onSubmit: (e) => submitNewItem(e), children: _jsxs(\"div\", { className: 'tw:cursor-pointer tw:break-inside-avoid card tw:border-[1px] tw:border-base-300 card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:p-6 tw:mb-10', children: [_jsx(\"label\", { className: 'btn btn-sm tw:rounded-2xl btn-circle btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => setAddItemPopupType(''), children: _jsx(\"p\", { className: 'tw:text-center', children: \"\\u2715\" }) }), _jsx(TextInput, { type: 'text', placeholder: 'Name', dataField: 'name', defaultValue: '', inputStyle: '' }), layer?.itemType.show_start_end_input && _jsx(PopupStartEndInput, {}), _jsx(TextAreaInput, { placeholder: 'Text', dataField: 'text', defaultValue: '', inputStyle: 'tw:h-40 tw:mt-5' }), _jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"button\", { className: loading\n ? 'btn btn-disabled tw:mt-5 tw:place-self-center'\n : 'btn tw:mt-5 tw:place-self-center', type: 'submit', children: loading ? _jsx(\"span\", { className: 'loading loading-spinner' }) : 'Save' }) })] }) }))] }) })] }) }), plusButton && (_jsx(PlusButton, { layer: layer, triggerAction: () => {\n setAddItemPopupType('place');\n scroll();\n }, color: '#777', collection: 'items' }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nexport const EmojiPicker = ({ selectedEmoji, selectedColor, selectedShape, setSelectedEmoji, setSelectedColor, setSelectedShape, }) => {\n const [isOpen, setIsOpen] = useState(false);\n const emojis = [\n '❤️',\n '🙏',\n '👍',\n '🌻',\n '✨',\n '☀️',\n '🔥',\n '🪵',\n '💧',\n '🎶',\n '🎨',\n '🍄',\n '📝',\n '✉️',\n '🧩',\n '💡',\n '🎓',\n '💬',\n '🛠',\n '💻',\n '🕹',\n '🖨',\n '🚐',\n '🛒',\n '⚽️',\n '🧵',\n '👀',\n '🌱',\n '🏕',\n '💪',\n '🎁',\n '🏹',\n '🥕',\n '🥇',\n '🥈',\n '🥉',\n ];\n const shapes = ['squircle', 'circle', 'hexagon-2'];\n const colors = [\n '#FF99C8',\n '#fff0d6',\n '#FCF6BD',\n '#D0F4DE',\n '#A9DEF9',\n '#E4C1F9',\n '#de324c',\n '#f4895f',\n '#f8e16f',\n '#95cf92',\n '#369acc',\n '#9656a2',\n ];\n const toggleDropdown = () => {\n setIsOpen(!isOpen);\n };\n const selectEmoji = (emoji) => {\n setSelectedEmoji(emoji);\n setIsOpen(false);\n };\n const selectShape = (shape) => {\n setSelectedShape(shape);\n setIsOpen(false);\n };\n const selectColor = (color) => {\n setSelectedColor(color);\n setIsOpen(false);\n };\n return (_jsxs(_Fragment, { children: [_jsx(\"div\", { onClick: toggleDropdown, className: `tw:cursor-pointer ${selectedEmoji === 'select badge' ? 'tw:text-sm tw:p-9! tw:text-center ' : 'tw:text-6xl'} tw:mask tw:mask-${selectedShape} tw:p-6`, style: { backgroundColor: selectedColor }, children: selectedEmoji }), isOpen && (_jsxs(\"div\", { className: 'tw:absolute tw:z-3000 tw:top-0 tw:left-1/2 tw:transform tw:-translate-x-1/2 tw:mt-12 tw:bg-base-100 tw:rounded-2xl tw:shadow-lg tw:p-2 tw:w-full', children: [_jsx(\"div\", { className: 'tw:grid tw:grid-cols-6 tw:gap-2 tw:pb-2', children: emojis.map((emoji) => (_jsx(\"button\", { onClick: () => selectEmoji(emoji), className: `tw:cursor-pointer tw:text-2xl tw:p-2 tw:hover:bg-base-200 tw:rounded-md ${emoji === selectedEmoji ? 'tw:bg-base-300' : ''}`, children: emoji }, emoji))) }), _jsx(\"hr\", {}), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-3 tw:gap-2 tw:py-2', children: shapes.map((shape) => (_jsx(\"div\", { className: `tw:cursor-pointer tw:hover:bg-base-200 tw:rounded-md tw:p-2 ${shape === selectedShape ? 'tw:bg-base-300' : ''}`, onClick: () => selectShape(shape), children: _jsx(\"div\", { className: `tw:h-12 tw:w-full tw:mask ${shape === 'squircle' ? 'tw:mask-squircle' : shape === 'circle' ? 'tw:mask-circle' : 'tw:mask-hexagon-2'} tw:bg-neutral-content` }) }, shape))) }), _jsx(\"hr\", {}), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-6 tw:gap-2 tw:py-2 tw:px-6', children: colors.map((color) => (_jsx(\"div\", { className: `tw:cursor-pointer tw:hover:bg-base-200 tw:rounded-md tw:p-2 tw:flex tw:justify-center tw:items-center ${color === selectedColor ? 'tw:bg-base-300' : ''}`, onClick: () => selectColor(color), children: _jsx(\"div\", { className: `tw:h-8 tw:w-8 tw:rounded-full`, style: { backgroundColor: color } }) }, color))) })] }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useRef, useState, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { EmojiPicker } from './EmojiPicker';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const AttestationForm = ({ api }) => {\n const items = useItems();\n const appState = useAppState();\n const [users, setUsers] = useState();\n const navigate = useNavigate();\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const toUserIds = params.get('to');\n setUsers(items.filter((i) => toUserIds?.includes(i.id)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, location]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef(null);\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.style.width = 'auto';\n inputRef.current.style.width = `${inputRef.current.scrollWidth + 20}px`;\n }\n }, [inputValue]);\n const handleChange = (event) => {\n setInputValue(event.target.value);\n };\n const sendAttestation = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = [];\n users?.map((u) => to.push({ directus_users_id: u.user_created?.id }));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n api?.createItem &&\n toast\n .promise(api.createItem({\n text: inputValue,\n emoji: selectedEmoji,\n color: selectedColor,\n shape: selectedShape,\n to,\n }), {\n pending: 'creating attestation ...',\n success: 'Attestation created',\n error: {\n render({ data }) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n return `${data}`;\n },\n },\n })\n .then(() => navigate('/item/' +\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n items.find((i) => \n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n i.user_created?.id === to[0].directus_users_id &&\n i.layer?.userProfileLayer === true)?.id +\n '?tab=2'));\n };\n const [selectedEmoji, setSelectedEmoji] = useState('select badge');\n const [selectedShape, setSelectedShape] = useState('circle');\n const [selectedColor, setSelectedColor] = useState('#fff0d6');\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:h-fit tw:min-h-56 tw:w-96', children: [_jsx(\"div\", { className: 'tw:text-center tw:text-xl tw:font-bold', children: \"Gratitude\" }), _jsx(\"div\", { className: 'tw:text-center tw:text-base tw:text-gray-400', children: \"to\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-row tw:justify-center tw:items-center tw:flex-wrap', children: users?.map((u, k) => (_jsxs(\"div\", { className: 'tw:flex tw:items-center tw:space-x-3 tw:mx-2 tw:my-1', children: [u.image ? (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:w-8 tw:h-8', children: _jsx(\"img\", { src: appState.assetsApi.url + u.image + '?width=40&heigth=40', alt: 'Avatar' }) }) })) : (_jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:text-xl tw:md:text-2xl tw:bg-slate-200 tw:rounded-full tw:w-8 tw:h-8' })), _jsx(\"div\", { children: _jsx(\"div\", { className: 'tw:font-bold', children: u.name }) })] }, k)), ', ') }), _jsxs(\"div\", { className: 'tw:w-full', children: [_jsx(\"div\", { className: 'tw:flex tw:justify-center tw:items-center', children: _jsx(\"div\", { className: ' tw:flex tw:justify-center tw:items-center tw:w-28 tw:h-28 tw:m-4', children: _jsx(EmojiPicker, { selectedEmoji: selectedEmoji, selectedColor: selectedColor, selectedShape: selectedShape, setSelectedEmoji: setSelectedEmoji, setSelectedColor: setSelectedColor, setSelectedShape: setSelectedShape }) }) }), _jsx(\"div\", { className: 'tw:flex tw:justify-center tw:items-center', children: _jsx(\"input\", { ref: inputRef, value: inputValue, onChange: handleChange, type: 'text', placeholder: '... and say some words', className: 'input tw:min-w-0 tw:w-fit tw:resize-none tw:overflow-hidden tw:text-center ' }) })] }), _jsx(\"div\", { className: 'tw:w-full tw:grid tw:mt-4', children: _jsx(\"button\", { onClick: sendAttestation, className: 'tw:btn tw:place-self-center tw:px-8', children: \"Next\" }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { decodeTag } from '#utils/FormatTags';\nexport const TagView = ({ tag, heighlight, onClick, count, }) => {\n return (\n // Use your imagination to render suggestions.\n _jsxs(\"div\", { onClick: onClick, className: `tw:flex tw:items-center tw:flex-row tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl card tw:mt-3 tw:mr-4 tw:cursor-pointer tw:w-fit ${heighlight ? 'tw:border-4 tw:border-base-200 tw:shadow-lg' : ''}`, style: { backgroundColor: tag.color ? tag.color : '#666' }, children: [_jsx(\"b\", { children: decodeTag(tag.name) }), count && _jsxs(\"span\", { className: 'tw:ml-2', children: [\"(\", count, \")\"] })] }, tag.name));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { MapOverlayPage } from './MapOverlayPage';\nimport { TagView } from './TagView';\nfunction groupAndCount(arr) {\n const grouped = arr.reduce((acc, obj) => {\n const found = acc.find((item) => JSON.stringify(item.object) === JSON.stringify(obj));\n if (found) {\n found.count += 1;\n }\n else {\n acc.push({ object: obj, count: 1 });\n }\n return acc;\n }, []);\n return grouped.sort((a, b) => b.count - a.count);\n}\n/**\n * @category Templates\n */\nexport const MarketView = () => {\n const [offers, setOffers] = useState([]);\n const [needs, setNeeds] = useState([]);\n const navigate = useNavigate();\n const items = useItems();\n const tags = useTags();\n useEffect(() => {\n setOffers([]);\n setNeeds([]);\n for (const item of items) {\n item.offers?.forEach((o) => {\n const tag = tags.find((t) => t.id === o.tags_id);\n tag && setOffers((current) => [...current, tag]);\n });\n item.needs?.forEach((n) => {\n const tag = tags.find((t) => t.id === n.tags_id);\n tag && setNeeds((current) => [...current, tag]);\n });\n }\n // eslint-disable-next-line no-console\n console.log(offers);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n return (_jsx(MapOverlayPage, { className: 'tw:rounded-none tw:overflow-y-auto tw:bg-base-200 tw:p-4!', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:md:grid-cols-2', children: [_jsxs(\"div\", { children: [_jsx(\"p\", { className: 'tw:text-lg tw:font-bold', children: \"Offers\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: groupAndCount(offers).map((o) => (_jsx(TagView, { onClick: () => navigate(`/?tags=${o.object.name}`), tag: o.object, count: o.count }, o.object.id))) })] }), _jsxs(\"div\", { children: [_jsx(\"p\", { className: 'tw:text-lg tw:font-bold', children: \"Needs\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: groupAndCount(needs).map((o) => (_jsx(TagView, { onClick: () => navigate(`/?tags=${o.object.name}`), tag: o.object, count: o.count }, o.object.id))) })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextInput } from '#components/Input';\nimport { MapOverlayPage } from '#components/Templates';\n/**\n * @category Profile\n */\nexport function UserSettings() {\n const { user, updateUser, loading /* token */ } = useAuth();\n const [id, setId] = useState('');\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [passwordChanged, setPasswordChanged] = useState(false);\n const navigate = useNavigate();\n useEffect(() => {\n setId(user?.id ? user.id : '');\n setEmail(user?.email ? user.email : '');\n setPassword(user?.password ? user.password : '');\n }, [user]);\n const onUpdateUser = () => {\n let changedUser = {};\n changedUser = { id, email, ...(passwordChanged && { password }) };\n toast\n .promise(updateUser(changedUser), {\n pending: 'updating Profile ...',\n success: 'Profile updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .then(() => navigate('/'))\n .catch((e) => {\n throw e;\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:mx-4 tw:mt-4 tw:max-h-[calc(100dvh-96px)] tw:h-fit tw:md:w-[calc(50%-32px)] tw:w-[calc(100%-32px)] tw:max-w-xl tw:left-auto! tw:top-0 tw:bottom-0', children: [_jsx(\"div\", { className: 'tw:text-xl tw:font-semibold', children: \"Settings\" }), _jsx(\"div\", { className: 'tw:divider tw:mt-2' }), _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:gap-6', children: [_jsx(TextInput, { type: 'email', placeholder: 'new E-Mail', defaultValue: user?.email ? user.email : '', updateFormValue: (v) => setEmail(v) }), _jsx(TextInput, { type: 'password', placeholder: 'new Password', defaultValue: user?.password ? user.password : '', updateFormValue: (v) => {\n setPassword(v);\n setPasswordChanged(true);\n } })] }), _jsx(\"div\", { className: 'tw:mt-8', children: _jsx(\"button\", { className: loading\n ? ' tw:loading tw:btn-disabled tw:btn tw:btn-primary tw:float-right'\n : 'tw:btn tw:btn-primary tw:float-right', onClick: () => onUpdateUser(), children: \"Update\" }) })] }));\n}\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { toast } from 'react-toastify';\nimport { encodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\n// eslint-disable-next-line promise/avoid-new\nconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nexport const submitNewItem = async (evt, type, item, user, setLoading, tags, addTag, addItem, linkItem, resetFilterTags, layers, addItemPopupType, setAddItemPopupType) => {\n evt.preventDefault();\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n setLoading(true);\n formItem.text &&\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n const uuid = crypto.randomUUID();\n const layer = layers.find((l) => l.name.toLocaleLowerCase().replace('s', '') === addItemPopupType.toLocaleLowerCase());\n let success = false;\n try {\n await layer?.api?.createItem({ ...formItem, id: uuid, type, parent: item.id });\n await linkItem(uuid);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n addItem({ ...formItem, id: uuid, type, layer, user_created: user, parent: item.id });\n toast.success('New item created');\n resetFilterTags();\n }\n setLoading(false);\n setAddItemPopupType('');\n};\nexport const linkItem = async (id, item, updateItem) => {\n const newRelations = item.relations || [];\n newRelations?.push({ items_id: item.id, related_items_id: id });\n const updatedItem = { id: item.id, relations: newRelations };\n let success = false;\n try {\n await item?.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...item, relations: newRelations });\n toast.success('Item linked');\n }\n};\nexport const unlinkItem = async (id, item, updateItem) => {\n const newRelations = item.relations?.filter((r) => r.related_items_id !== id);\n const updatedItem = { id: item.id, relations: newRelations };\n let success = false;\n try {\n await item?.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...item, relations: newRelations });\n toast.success('Item unlinked');\n }\n};\nexport const handleDelete = async (event, item, setLoading, removeItem, map, navigate) => {\n event.stopPropagation();\n setLoading(true);\n let success = false;\n try {\n await item.layer?.api?.deleteItem(item.id);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n removeItem(item);\n toast.success('Item deleted');\n }\n setLoading(false);\n map.closePopup();\n const params = new URLSearchParams(window.location.search);\n window.history.pushState({}, '', '/' + `${params ? `?${params}` : ''}`);\n navigate('/');\n};\nexport const onUpdateItem = async (state, item, tags, addTag, setLoading, navigate, updateItem, addItem, user, params) => {\n let changedItem = {};\n const offerUpdates = [];\n // check for new offers\n await state.offers?.map((o) => {\n const existingOffer = item?.offers?.find((t) => t.tags_id === o.id);\n existingOffer && offerUpdates.push(existingOffer.id);\n if (!existingOffer && !tags.some((t) => t.id === o.id))\n addTag({ ...o, offer_or_need: true });\n !existingOffer && offerUpdates.push({ items_id: item?.id, tags_id: o.id });\n return null;\n });\n const needsUpdates = [];\n await state.needs?.map((n) => {\n const existingNeed = item?.needs?.find((t) => t.tags_id === n.id);\n existingNeed && needsUpdates.push(existingNeed.id);\n !existingNeed && needsUpdates.push({ items_id: item?.id, tags_id: n.id });\n !existingNeed && !tags.some((t) => t.id === n.id) && addTag({ ...n, offer_or_need: true });\n return null;\n });\n // update profile item in current state\n changedItem = {\n id: state.id,\n name: state.name,\n subname: state.subname,\n text: state.text,\n ...(state.color && { color: state.color }),\n position: item.position,\n ...(state.group_type && { group_type: state.group_type }),\n ...(state.status && { status: state.status }),\n contact: state.contact,\n telephone: state.telephone,\n ...(state.end && { end: state.end }),\n ...(state.start && { start: state.start }),\n ...(state.marker_icon && { markerIcon: state.marker_icon }),\n next_appointment: state.next_appointment,\n ...(state.image.length > 10 && { image: state.image }),\n ...(state.offers.length > 0 && { offers: offerUpdates }),\n ...(state.needs.length > 0 && { needs: needsUpdates }),\n ...(state.openCollectiveSlug && { openCollectiveSlug: state.openCollectiveSlug }),\n };\n const offersState = [];\n const needsState = [];\n state.offers.map((o) => {\n offersState.push({ items_id: item?.id, tags_id: o.id });\n return null;\n });\n state.needs.map((n) => {\n needsState.push({ items_id: item?.id, tags_id: n.id });\n return null;\n });\n changedItem = { ...changedItem, offers: offersState, needs: needsState };\n setLoading(true);\n await state.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({\n id: crypto.randomUUID(),\n name: encodeTag(tag.slice(1).toLocaleLowerCase()),\n color: randomColor(),\n });\n }\n return null;\n });\n // take care that addTag request comes before item request\n await sleep(200);\n if (!item.new) {\n item?.layer?.api?.updateItem &&\n toast\n .promise(item?.layer?.api?.updateItem(changedItem), {\n pending: 'updating Item ...',\n success: 'Item updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .catch(setLoading(false))\n .then(() => item && updateItem({ ...item, ...changedItem }))\n .then(() => {\n setLoading(false);\n navigate(`/item/${item.id}${params && '?' + params}`);\n return null;\n });\n }\n else {\n item.new = false;\n item.layer?.api?.createItem &&\n toast\n .promise(item.layer?.api?.createItem(changedItem), {\n pending: 'updating Item ...',\n success: 'Item updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .catch(setLoading(false))\n .then(() => item &&\n addItem({\n ...item,\n ...changedItem,\n layer: item.layer,\n user_created: user,\n }))\n .then(() => {\n setLoading(false);\n navigate(`/${params && '?' + params}`);\n return null;\n });\n }\n};\n","import * as React from \"react\";\nfunction EnvelopeIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EnvelopeIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PhoneIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PhoneIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport EnvelopeIcon from '@heroicons/react/24/outline/EnvelopeIcon';\nimport PhoneIcon from '@heroicons/react/24/outline/PhoneIcon';\nimport { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nexport const ContactInfoView = ({ item, heading }) => {\n const appState = useAppState();\n const [profileOwner, setProfileOwner] = useState();\n const items = useItems();\n useEffect(() => {\n setProfileOwner(items.find((i) => i.user_created?.id === item.user_created?.id && i.layer?.userProfileLayer));\n }, [item, items]);\n return (_jsxs(\"div\", { className: 'tw:bg-base-200 tw:mb-6 tw:mt-6 tw:p-6', children: [_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: heading }), _jsxs(\"div\", { className: 'tw:mt-4 tw:flex tw:items-center', children: [profileOwner?.image && (_jsx(ConditionalLink, { url: '/item/' + profileOwner?.id, children: _jsx(\"div\", { className: 'tw:mr-5 tw:flex tw:items-center tw:justify-center', children: _jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:w-20 tw:h-20 tw:bg-gray-200 rounded-full tw:flex tw:items-center tw:justify-center overflow-hidden', children: _jsx(\"img\", { src: appState.assetsApi.url + profileOwner?.image, alt: profileOwner?.name, className: 'tw:w-full tw:h-full tw:object-cover' }) }) }) }) })), _jsxs(\"div\", { className: 'tw:text-sm tw:grow', children: [_jsx(\"p\", { className: 'tw:font-semibold', children: profileOwner?.name }), item.contact && (_jsx(\"p\", { children: _jsxs(\"a\", { href: `mailto:${item.contact}`, className: 'tw:mt-2 tw:text-green-500 tw:inline-flex tw:items-center', children: [_jsx(EnvelopeIcon, { className: 'tw:w-4 tw:h-4 tw:mr-1' }), item.contact] }) })), item.telephone && (_jsx(\"p\", { children: _jsxs(\"a\", { href: `tel:${item.telephone}`, className: 'tw:mt-2 tw:text-green-500 tw:inline-flex tw:items-center tw:whitespace-nowrap', children: [_jsx(PhoneIcon, { className: 'tw:w-4 tw:h-4 tw:mr-1' }), item.telephone] }) }))] })] })] }));\n};\n// eslint-disable-next-line react/prop-types\nconst ConditionalLink = ({ url, children }) => {\n const params = new URLSearchParams(window.location.search);\n if (url) {\n return _jsx(Link, { to: url + '?' + params, children: children });\n }\n return children;\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport axios from 'axios';\nimport { useState, useEffect } from 'react';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nconst GET_TRANSACTIONS = `\n query GetAccountStats($slug: String!) {\n account(slug: $slug) {\n name\n type\n stats {\n balance {\n valueInCents\n currency\n }\n totalAmountReceived(net: true) {\n valueInCents\n currency\n }\n totalAmountSpent {\n valueInCents\n currency\n }\n contributionsCount\n contributorsCount\n }\n }\n }\n`;\nconst formatCurrency = (valueInCents, currency) => {\n const value = valueInCents / 100;\n const options = {\n style: 'currency',\n currency,\n ...(Math.abs(value) >= 1000 ? { minimumFractionDigits: 0, maximumFractionDigits: 0 } : {}),\n };\n return new Intl.NumberFormat('de-DE', options).format(value);\n};\nexport const CrowdfundingView = ({ item }) => {\n // Hier wird slug aus dem Item extrahiert.\n const slug = item.openCollectiveSlug;\n const appState = useAppState();\n const token = appState.openCollectiveApiKey;\n const graphqlClient = axios.create({\n baseURL: 'https://api.opencollective.com/graphql/v2',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const [data, setData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n useEffect(() => {\n const fetchData = async () => {\n setLoading(true);\n setError(null);\n try {\n const response = await graphqlClient.post('', {\n query: GET_TRANSACTIONS,\n variables: { slug },\n });\n if (response.data.errors?.length) {\n setError(response.data.errors[0].message);\n }\n else {\n setData(response.data.data ?? null);\n }\n }\n catch (err) {\n if (err instanceof Error) {\n setError(err.message);\n }\n else {\n throw err;\n }\n }\n setLoading(false);\n };\n if (slug) {\n void fetchData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [slug]);\n if (!slug)\n return null;\n if (loading)\n return (_jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-lg tw:text-neutral-content' }) }));\n if (error) {\n return _jsxs(\"p\", { className: 'tw:text-center tw:text-lg tw:text-red-500', children: [\"Error: \", error] });\n }\n if (!data?.account) {\n return (_jsx(\"p\", { className: 'tw:text-center tw:text-lg tw:text-red-500', children: \"No data available for this account.\" }));\n }\n const { stats } = data.account;\n const balanceValueInCents = stats.balance?.valueInCents ?? 0;\n const currency = stats.balance?.currency ?? 'USD';\n const currentBalance = balanceValueInCents;\n return (_jsx(\"div\", { className: 'tw:mx-6 tw:mb-6', children: _jsxs(\"div\", { className: 'tw:card tw:bg-base-200 tw:w-fit tw:max-w-full tw:shadow', children: [_jsxs(\"div\", { className: 'tw:stats tw:bg-base-200 tw:stats-horizontal tw:rounded-b-none', children: [_jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Current Balance\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-xl lg:tw:text-3xl', children: formatCurrency(currentBalance, currency) })] }), _jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Received\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-green-500 tw:text-xl lg:tw:text-3xl', children: formatCurrency(stats.totalAmountReceived.valueInCents, currency) })] }), _jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Spent\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-red-500 tw:text-xl lg:tw:text-3xl', children: formatCurrency(stats.totalAmountReceived.valueInCents - currentBalance, currency) })] })] }), _jsx(\"hr\", { className: 'tw:border-1 tw:border-current/10 tw:border-dashed' }), _jsxs(\"div\", { className: 'tw:m-4 tw:items-center', children: [_jsx(\"a\", { href: `https://opencollective.com/${slug}/donate`, target: '_blank', rel: 'noreferrer', children: _jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-primary tw:float-right tw:ml-4', children: \"Donate\" }) }), _jsxs(\"div\", { className: 'tw:flex-1 tw:mr-4', children: [\"Support\", ' ', _jsx(\"a\", { className: 'tw:font-bold', href: `https://opencollective.com/${slug}`, target: '_blank', rel: 'noreferrer', children: data.account.name }), ' ', \"on \", _jsx(\"span\", { className: 'tw:font-bold', children: \"Open\\u00A0Collective\" })] })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { RowsPhotoAlbum } from 'react-photo-album';\nimport ReactLightbox from 'yet-another-react-lightbox';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nexport const GalleryView = ({ item }) => {\n const [index, setIndex] = useState(-1);\n const appState = useAppState();\n const images = item.gallery?.map((i, j) => ({\n src: appState.assetsApi.url + `${i.directus_files_id.id}.jpg`,\n width: i.directus_files_id.width,\n height: i.directus_files_id.height,\n index: j,\n })) ?? [];\n if (images.length > 0)\n return (_jsxs(\"div\", { className: 'tw:mx-6 tw:mb-6', children: [_jsx(RowsPhotoAlbum, { photos: images, targetRowHeight: 150, onClick: ({ index: current }) => setIndex(current) }), _jsx(ReactLightbox, { index: index, slides: images, open: index >= 0, close: () => setIndex(-1) })] }));\n else\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { cloneElement } from 'react';\nimport FacebookSVG from '#assets/share/facebook.svg';\nimport LinkedinSVG from '#assets/share/linkedin.svg';\nimport TelegramSVG from '#assets/share/telegram.svg';\nimport TwitterSVG from '#assets/share/twitter.svg';\nimport WhatsappSVG from '#assets/share/whatsapp.svg';\nimport XingSVG from '#assets/share/xing.svg';\nconst platformConfigs = {\n facebook: {\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u={url}',\n icon: _jsx(\"img\", { src: FacebookSVG, alt: 'Facebook' }),\n bgColor: '#3b5998',\n },\n twitter: {\n shareUrl: 'https://twitter.com/intent/tweet?text={title}:%20{url}',\n icon: _jsx(\"img\", { src: TwitterSVG, alt: 'Twitter' }),\n bgColor: '#55acee',\n },\n linkedin: {\n shareUrl: 'http://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}',\n icon: _jsx(\"img\", { src: LinkedinSVG, alt: 'Linkedin' }),\n bgColor: '#4875b4',\n },\n xing: {\n shareUrl: 'https://www.xing-share.com/app/user?op=share;sc_p=xing-share;url={url}',\n icon: _jsx(\"img\", { src: XingSVG, alt: 'Xing' }),\n bgColor: '#026466',\n },\n whatsapp: {\n shareUrl: 'https://api.whatsapp.com/send?text={title}%20{url}',\n icon: _jsx(\"img\", { src: WhatsappSVG, alt: 'Whatsapp' }),\n bgColor: '#25D366',\n },\n telegram: {\n shareUrl: 'https://t.me/share/url?url={url}&text={title}',\n icon: _jsx(\"img\", { src: TelegramSVG, alt: 'Telegram' }),\n bgColor: '#0088cc',\n },\n};\nconst SocialShareButton = ({ platform, url, title, }) => {\n // eslint-disable-next-line security/detect-object-injection\n const config = platformConfigs[platform];\n if (!config) {\n return null;\n }\n const { shareUrl, icon, bgColor } = config;\n const finalShareUrl = shareUrl\n .replace('{url}', encodeURIComponent(url))\n .replace('{title}', encodeURIComponent(title));\n return (_jsx(\"a\", { href: finalShareUrl, target: '_blank', rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white', style: {\n color: 'white',\n backgroundColor: bgColor,\n }, title: `share link on ${platform}`, children: cloneElement(icon, { className: 'tw:w-4 tw:h-4 tw:fill-current' }) }));\n};\nexport default SocialShareButton;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { toast } from 'react-toastify';\nimport ChevronSVG from '#assets/chevron.svg';\nimport ClipboardSVG from '#assets/share/clipboard.svg';\nimport SocialShareButton from './SocialShareButton';\nconst SocialShareBar = ({ url, title, platforms = ['facebook', 'twitter', 'linkedin', 'xing', 'email'], }) => {\n const copyLink = () => {\n navigator.clipboard\n .writeText(url)\n .then(() => {\n toast.success('link copied to clipboard');\n return null;\n })\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n .catch((error) => {\n toast.error('Fehler beim Kopieren des Links: ', error);\n });\n };\n return (_jsxs(\"div\", { className: 'tw:flex tw:place-content-end tw:justify-end tw:space-x-2 tw:grow tw:min-w-fit tw:pl-2', children: [platforms.map((platform) => (_jsx(SocialShareButton, { platform: platform, url: url, title: title }, platform))), platforms.includes('email') && (_jsx(\"a\", { href: `mailto:?subject=${title}&body=${url}`, target: '_blank', rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white tw:hover:cursor-pointer', style: {\n color: 'white',\n backgroundColor: '#444',\n }, onClick: () => copyLink(), title: 'share link via email', children: _jsx(\"img\", { src: ChevronSVG, alt: '\\\\/', className: 'tw:h-4 tw:w-4' }) })), platforms.includes('clipboard') && (_jsx(\"div\", { rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white tw:hover:cursor-pointer', style: {\n color: 'white',\n backgroundColor: '#888',\n }, onClick: () => copyLink(), title: 'copy Link', children: _jsx(\"img\", { src: ClipboardSVG, className: 'tw:w-5' }) }))] }));\n};\nexport default SocialShareBar;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport SocialShareBar from './SocialShareBar';\nexport const GroupSubHeaderView = ({ item, shareBaseUrl, platforms, }) => (_jsxs(\"div\", { className: 'tw:px-6', children: [_jsxs(\"div\", { className: 'tw:float-left tw:mt-2 tw:mb-4 tw:flex tw:items-center', children: [item.status && (_jsx(\"div\", { className: 'tw:mt-1.5', children: _jsx(\"span\", { className: 'tw:text-sm tw:text-current tw:bg-base-300 tw:rounded tw:py-0.5 tw:px-2 tw:inline-flex tw:items-center tw:mr-2', children: item.status }) })), item.group_type && (_jsx(\"div\", { className: 'tw:mt-1.5', children: _jsx(\"span\", { className: 'tw:text-sm tw:text-current tw:bg-base-300 tw:rounded tw:py-1 tw:px-2', children: item.group_type }) }))] }), _jsx(\"div\", { children: _jsx(SocialShareBar, { url: shareBaseUrl && item.slug\n ? shareBaseUrl + item.slug\n : window.location.protocol + '//' + window.location.host + '/item/' + item.id, title: item.name, platforms: platforms }) })] }));\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { StartEndView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileStartEndView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:mt-2 tw:px-6 tw:max-w-xs', children: _jsx(StartEndView, { item: item }) }));\n};\n","import { objectify } from './array.mjs';\nimport { toInt } from './number.mjs';\nimport { isPrimitive, isObject, isArray } from './typed.mjs';\n\nconst shake = (obj, filter = (x) => x === void 0) => {\n if (!obj)\n return {};\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n if (filter(obj[key])) {\n return acc;\n } else {\n acc[key] = obj[key];\n return acc;\n }\n }, {});\n};\nconst mapKeys = (obj, mapFunc) => {\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[mapFunc(key, obj[key])] = obj[key];\n return acc;\n }, {});\n};\nconst mapValues = (obj, mapFunc) => {\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[key] = mapFunc(obj[key], key);\n return acc;\n }, {});\n};\nconst mapEntries = (obj, toEntry) => {\n if (!obj)\n return {};\n return Object.entries(obj).reduce((acc, [key, value]) => {\n const [newKey, newValue] = toEntry(key, value);\n acc[newKey] = newValue;\n return acc;\n }, {});\n};\nconst invert = (obj) => {\n if (!obj)\n return {};\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[obj[key]] = key;\n return acc;\n }, {});\n};\nconst lowerize = (obj) => mapKeys(obj, (k) => k.toLowerCase());\nconst upperize = (obj) => mapKeys(obj, (k) => k.toUpperCase());\nconst clone = (obj) => {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const newObj = new obj.constructor();\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n newObj[prop] = obj[prop];\n });\n return newObj;\n};\nconst listify = (obj, toItem) => {\n if (!obj)\n return [];\n const entries = Object.entries(obj);\n if (entries.length === 0)\n return [];\n return entries.reduce((acc, entry) => {\n acc.push(toItem(entry[0], entry[1]));\n return acc;\n }, []);\n};\nconst pick = (obj, keys2) => {\n if (!obj)\n return {};\n return keys2.reduce((acc, key) => {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nconst omit = (obj, keys2) => {\n if (!obj)\n return {};\n if (!keys2 || keys2.length === 0)\n return obj;\n return keys2.reduce(\n (acc, key) => {\n delete acc[key];\n return acc;\n },\n { ...obj }\n );\n};\nconst get = (value, path, defaultValue) => {\n const segments = path.split(/[\\.\\[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null)\n return defaultValue;\n if (current === void 0)\n return defaultValue;\n const dequoted = key.replace(/['\"]/g, \"\");\n if (dequoted.trim() === \"\")\n continue;\n current = current[dequoted];\n }\n if (current === void 0)\n return defaultValue;\n return current;\n};\nconst set = (initial, path, value) => {\n if (!initial)\n return {};\n if (!path || value === void 0)\n return initial;\n const segments = path.split(/[\\.\\[\\]]/g).filter((x) => !!x.trim());\n const _set = (node) => {\n if (segments.length > 1) {\n const key = segments.shift();\n const nextIsNum = toInt(segments[0], null) === null ? false : true;\n node[key] = node[key] === void 0 ? nextIsNum ? [] : {} : node[key];\n _set(node[key]);\n } else {\n node[segments[0]] = value;\n }\n };\n const cloned = clone(initial);\n _set(cloned);\n return cloned;\n};\nconst assign = (initial, override) => {\n if (!initial || !override)\n return initial ?? override ?? {};\n return Object.entries({ ...initial, ...override }).reduce(\n (acc, [key, value]) => {\n return {\n ...acc,\n [key]: (() => {\n if (isObject(initial[key]))\n return assign(initial[key], value);\n return value;\n })()\n };\n },\n {}\n );\n};\nconst keys = (value) => {\n if (!value)\n return [];\n const getKeys = (nested, paths) => {\n if (isObject(nested)) {\n return Object.entries(nested).flatMap(\n ([k, v]) => getKeys(v, [...paths, k])\n );\n }\n if (isArray(nested)) {\n return nested.flatMap((item, i) => getKeys(item, [...paths, `${i}`]));\n }\n return [paths.join(\".\")];\n };\n return getKeys(value, []);\n};\nconst crush = (value) => {\n if (!value)\n return {};\n return objectify(\n keys(value),\n (k) => k,\n (k) => get(value, k)\n );\n};\nconst construct = (obj) => {\n if (!obj)\n return {};\n return Object.keys(obj).reduce((acc, path) => {\n return set(acc, path, obj[path]);\n }, {});\n};\n\nexport { assign, clone, construct, crush, get, invert, keys, listify, lowerize, mapEntries, mapKeys, mapValues, omit, pick, set, shake, upperize };\n//# sourceMappingURL=object.mjs.map\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { get } from 'radash';\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileTextView = ({ item, dataField = 'text', heading, hideWhenEmpty, }) => {\n const text = get(item, dataField);\n const parsedText = typeof text !== 'string' ? '' : text;\n return (_jsxs(\"div\", { className: 'tw:my-10 tw:mt-2 tw:px-6', children: [!(text === '' && hideWhenEmpty) && (_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: heading })), _jsx(\"div\", { className: 'tw:mt-2 tw:text-sm', children: _jsx(TextView, { itemId: item.id, rawText: parsedText }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { ContactInfoView } from '#components/Profile/Subcomponents/ContactInfoView';\nimport { CrowdfundingView } from '#components/Profile/Subcomponents/CrowdfundingView';\nimport { GalleryView } from '#components/Profile/Subcomponents/GalleryView';\nimport { GroupSubHeaderView } from '#components/Profile/Subcomponents/GroupSubHeaderView';\nimport { ProfileStartEndView } from '#components/Profile/Subcomponents/ProfileStartEndView';\nimport { ProfileTextView } from '#components/Profile/Subcomponents/ProfileTextView';\nconst componentMap = {\n groupSubheaders: GroupSubHeaderView,\n texts: ProfileTextView,\n contactInfos: ContactInfoView,\n startEnd: ProfileStartEndView,\n gallery: GalleryView,\n crowdfundings: CrowdfundingView,\n // weitere Komponenten hier\n};\nexport const FlexView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:h-full tw:overflow-y-auto fade', children: item.layer?.itemType.profileTemplate.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (templateItem) => {\n const TemplateComponent = componentMap[templateItem.collection];\n return TemplateComponent ? (_jsx(TemplateComponent, { item: item, ...templateItem.item }, templateItem.id)) : (_jsxs(\"div\", { className: 'tw:mx-6 tw:mb-6', children: [templateItem.collection, \" view not found\"] }, templateItem.id));\n }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ContactInfoView } from '#components/Profile/Subcomponents/ContactInfoView';\nimport { GroupSubHeaderView } from '#components/Profile/Subcomponents/GroupSubHeaderView';\nexport const OnepagerView = ({ item }) => {\n return (_jsxs(\"div\", { className: 'tw:h-full tw:overflow-y-auto fade', children: [_jsx(GroupSubHeaderView, { item: item, shareBaseUrl: `https://www.wuerdekompass.org/aktivitaeten/gruppensuche/#/gruppe/${item.slug}` }), item.user_created?.first_name && _jsx(ContactInfoView, { heading: 'Du hast Fragen?', item: item }), _jsx(\"div\", { className: 'tw:my-10 tw:mt-2 tw:px-6 tw:text-sm ', children: _jsx(TextView, { itemId: item.id, rawText: item.text ?? 'Keine Beschreibung vorhanden' }) }), item.next_appointment && (_jsxs(\"div\", { className: 'tw:my-10 tw:px-6', children: [_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: \"N\\u00E4chste Termine\" }), _jsx(\"div\", { className: 'tw:mt-2 tw:text-sm', children: _jsx(TextView, { itemId: item.id, rawText: item.next_appointment }) })] })), \";\"] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const SimpleView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:mt-8 tw:h-full tw:overflow-y-auto fade tw:px-6', children: _jsx(TextView, { text: item.text, itemId: item.id }) }));\n};\n","import * as React from \"react\";\nfunction LinkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport LinkIcon from '@heroicons/react/24/outline/LinkIcon';\nimport PlusIcon from '@heroicons/react/24/outline/PlusIcon';\nimport { useState } from 'react';\nimport { TextInput } from '#components/Input';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useGetItemTags } from '#components/Map/hooks/useTags';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport DialogModal from '#components/Templates/DialogModal';\nexport function ActionButton({ item, triggerAddButton, triggerItemSelected, existingRelations, itemType, collection = 'items', customStyle, }) {\n const hasUserPermission = useHasUserPermission();\n const [modalOpen, setModalOpen] = useState(false);\n const [search, setSearch] = useState('');\n const getItemTags = useGetItemTags();\n const items = useItems();\n const filterdItems = items\n .filter((i) => !itemType || i.layer?.itemType.name === itemType)\n .filter((i) => !existingRelations.some((s) => s.id === i.id))\n .filter((i) => i.id !== item.id);\n const backgroundColor = item.color ??\n (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color\n ? getItemTags(item)[0].color\n : item.layer?.markerDefaultColor);\n return (_jsx(_Fragment, { children: hasUserPermission(collection, 'update', item) && (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: `tw:absolute tw:right-6 tw:bottom-4 tw:flex tw:flex-col ${customStyle}`, children: [triggerItemSelected && (_jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow', onClick: () => {\n setModalOpen(true);\n }, style: {\n backgroundColor,\n color: '#fff',\n }, children: _jsx(LinkIcon, { className: 'tw:h-5 tw:w-5 tw:stroke-[2.5]' }) })), triggerAddButton && (_jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow tw:mt-2', onClick: () => {\n triggerAddButton();\n }, style: {\n backgroundColor,\n color: '#fff',\n }, children: _jsx(PlusIcon, { className: 'tw:w-5 tw:h-5 tw:stroke-[2.5]' }) }))] }), _jsxs(DialogModal, { title: 'Select', isOpened: modalOpen, onClose: () => setModalOpen(false), className: 'tw:w-xl tw:sm:w-2xl tw:min-h-80 tw:bg-base-200', children: [_jsx(TextInput, { defaultValue: '', placeholder: '\\uD83D\\uDD0D Search', containerStyle: 'lg:col-span-2 tw:m-4 ', updateFormValue: (val) => {\n setSearch(val);\n } }), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2', children: filterdItems\n .filter((item) => {\n return search === ''\n ? item\n : item.name.toLowerCase().includes(search.toLowerCase());\n })\n .map((i) => (_jsx(\"div\", { className: 'tw:cursor-pointer tw:card tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:mx-4 tw:p-4 tw:mb-4 tw:h-fit', onClick: () => {\n triggerItemSelected(i.id);\n setModalOpen(false);\n }, children: _jsx(HeaderView, { item: i, hideMenu: true }) }, i.id))) })] })] })) }));\n}\n","import * as React from \"react\";\nfunction LinkSlashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M13.181 8.68a4.503 4.503 0 0 1 1.903 6.405m-9.768-2.782L3.56 14.06a4.5 4.5 0 0 0 6.364 6.365l3.129-3.129m5.614-5.615 1.757-1.757a4.5 4.5 0 0 0-6.364-6.365l-4.5 4.5c-.258.26-.479.541-.661.84m1.903 6.405a4.495 4.495 0 0 1-1.242-.88 4.483 4.483 0 0 1-1.062-1.683m6.587 2.345 5.907 5.907m-5.907-5.907L8.898 8.898M2.991 2.99 8.898 8.9\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkSlashIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport LinkSlashIcon from '@heroicons/react/24/outline/LinkSlashIcon';\nimport { useEffect } from 'react';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nexport function LinkedItemsHeaderView({ item, unlinkCallback, loading, unlinkPermission, }) {\n const appState = useAppState();\n const avatar = item.image ? appState.assetsApi.url + item.image : null;\n const title = item.name;\n const subtitle = item.subname;\n useEffect(() => { }, [item]);\n return (_jsx(_Fragment, { children: _jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [_jsx(\"div\", { className: 'tw:grow tw:max-w-[calc(100%-60px)] }', children: _jsxs(\"div\", { className: 'flex items-center', children: [avatar && (_jsx(\"img\", { className: 'tw:w-10 tw:inline tw:rounded-full', src: avatar, alt: item.name + ' logo' })), _jsxs(\"div\", { className: `${avatar ? 'tw:ml-2' : ''} tw:overflow-hidden`, children: [_jsx(\"div\", { className: 'tw:text-xl tw:font-semibold tw:truncate', children: title }), subtitle && (_jsx(\"div\", { className: 'tw:text-xs tw:truncate tw:text-gray-500 ', children: subtitle }))] })] }) }), _jsx(\"div\", { className: 'tw:col-span-1', onClick: (e) => e.stopPropagation(), children: unlinkPermission && (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-bottom', children: [_jsx(\"label\", { tabIndex: 0, className: ' tw:btn tw:m-1 tw:leading-3 tw:border-none tw:min-h-0 tw:h-6', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:menu tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:z-1000', children: true && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:cursor-pointer tw:text-error!', onClick: () => unlinkCallback(item.id), children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-sm' })) : (_jsx(LinkSlashIcon, { className: 'tw:h-5 tw:w-5 tw:stroke-3' })) }) })) })] })) })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { StartEndView, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ActionButton } from '#components/Profile/Subcomponents/ActionsButton';\nimport { LinkedItemsHeaderView } from '#components/Profile/Subcomponents/LinkedItemsHeaderView';\nimport { TagView } from '#components/Templates/TagView';\nimport { timeAgo } from '#utils/TimeAgo';\nexport const TabsView = ({ attestations, item, offers, needs, relations, updatePermission, loading, linkItem, unlinkItem, }) => {\n const addFilterTag = useAddFilterTag();\n const [activeTab, setActiveTab] = useState();\n const navigate = useNavigate();\n const [addItemPopupType] = useState('');\n const items = useItems();\n const appState = useAppState();\n const getUserProfile = (id) => {\n return items.find((i) => i.user_created?.id === id && i.layer?.userProfileLayer);\n };\n useEffect(() => {\n scroll();\n }, [addItemPopupType]);\n function scroll() {\n tabRef.current?.scrollIntoView();\n }\n const tabRef = useRef(null);\n const updateActiveTab = useCallback((id) => {\n setActiveTab(id);\n const params = new URLSearchParams(window.location.search);\n params.set('tab', `${id}`);\n const newUrl = location.pathname + '?' + params.toString();\n window.history.pushState({}, '', newUrl);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [location.pathname]);\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTab = params.get('tab');\n setActiveTab(urlTab ? Number(urlTab) : 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n return (_jsxs(\"div\", { role: 'tablist', className: 'tw:tabs tw:tabs-lift tw:mt-2 tw:mb-2 tw:px-6', children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2! ', \"aria-label\": `${item.layer?.itemType.icon_as_labels && activeTab !== 1 ? '📝' : '📝\\u00A0Info'}`, checked: activeTab === 1 && true, onChange: () => updateActiveTab(1) }), _jsxs(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto fade tw:pt-2 tw:pb-4 tw:mb-4 tw:overflow-x-hidden', children: [item.layer?.itemType.show_start_end && (_jsx(\"div\", { className: 'tw:max-w-xs', children: _jsx(StartEndView, { item: item }) })), _jsx(TextView, { text: item.text, itemId: item.id }), _jsx(\"div\", { className: 'tw:h-4' }), _jsx(TextView, { text: item.contact, itemId: item.id })] }), item.layer?.itemType.questlog && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2!', \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 2 ? '❤️' : '❤️\\u00A0Trust'}`, checked: activeTab === 2 && true, onChange: () => updateActiveTab(2) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto fade tw:pt-2 tw:pb-4 tw:mb-4 tw:overflow-x-hidden', children: _jsx(\"table\", { className: 'sm:tw:table-sm md:tw:table-md tw:w-full', children: _jsx(\"tbody\", { children: attestations\n .filter((a) => a.to.some((t) => t.directus_users_id === item.user_created?.id))\n .sort((a, b) => new Date(b.date_created).getTime() - new Date(a.date_created).getTime())\n .map((a, i) => (_jsxs(\"tr\", { children: [_jsx(\"td\", { children: _jsx(\"div\", { className: `tw:cursor-pointer tw:text-3xl tw:mask ${a.shape === 'squircle' ? 'tw:mask-squircle' : a.shape === 'circle' ? 'tw:mask-circle' : 'tw:mask-hexagon-2'} tw:p-2 tw:my-2 tw:mr-2 tw:shadow-xl`, \n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n style: { backgroundColor: a.color }, children: a.emoji }) }), _jsx(\"td\", { children: _jsx(\"div\", { className: 'tw:mr-2', children: _jsx(\"i\", { children: a.text }) }) }), _jsx(\"td\", { children: getUserProfile(a.user_created.id) ? (_jsx(Link, { to: '/item/' + getUserProfile(a.user_created.id)?.id, children: _jsxs(\"div\", { className: 'flex items-center gap-3', children: [_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:rounded-full tw:h-8 tw:w-8 tw:mr-2', children: getUserProfile(a.user_created.id)?.image && (_jsx(\"img\", { src: appState.assetsApi.url +\n getUserProfile(a.user_created.id)?.image, alt: 'Avatar' })) }) }), _jsxs(\"div\", { children: [_jsxs(\"div\", { className: 'font-bold', children: [getUserProfile(a.user_created.id)?.name ??\n a.user_created.first_name, ' '] }), _jsx(\"div\", { className: 'tw:text-xs opacity-50 tw:text-zinc-500', children: timeAgo(a.date_created) })] })] }) })) : (_jsxs(\"div\", { children: [_jsxs(\"div\", { className: 'font-bold', children: [a.user_created.first_name, \" \"] }), _jsx(\"div\", { className: 'tw:text-xs opacity-50 tw:text-zinc-500', children: timeAgo(a.date_created) })] })) })] }, i))) }) }) })] })), item.layer?.itemType.offers_and_needs && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: `tw:tab tw:font-bold tw:ps-2! tw:pe-2! ${!(item.layer.itemType.icon_as_labels && activeTab !== 3) && 'tw:min-w-[10.4em]'} `, \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 3 ? '♻️' : '♻️\\u00A0Offers & Needs'}`, checked: activeTab === 3 && true, onChange: () => updateActiveTab(3) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:h-[calc(100dvh-268px)] tw:overflow-y-auto fade tw:pt-4 tw:pb-1', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1', children: [offers.length > 0 ? (_jsxs(\"div\", { className: 'tw:col-span-1', children: [_jsx(\"h3\", { className: 'tw:-mb-2', children: \"Offers\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mb-4', children: offers.map((o) => (_jsx(TagView, { tag: o, onClick: () => {\n addFilterTag(o);\n } }, o.id))) })] })) : (''), needs.length > 0 ? (_jsxs(\"div\", { className: 'tw:col-span-1', children: [_jsx(\"h3\", { className: 'tw:-mb-2 tw:col-span-1', children: \"Needs\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mb-4', children: needs.map((n) => (_jsx(TagView, { tag: n, onClick: () => addFilterTag(n) }, n.id))) })] })) : ('')] }) }) })] })), item.layer?.itemType.relations && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2! ', \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 7 ? '🔗' : '🔗\\u00A0Links'}`, checked: activeTab === 7 && true, onChange: () => updateActiveTab(7) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto tw:pt-4 tw:pb-1 tw:-mr-4 tw:-mb-4 tw:overflow-x-hidden', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2 tw:md:grid-cols-1 tw:lg:grid-cols-1 tw:xl:grid-cols-1 tw:2xl:grid-cols-2 tw:pb-4', children: [relations &&\n relations.map((i) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:bg-base-200 tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:text-base-content tw:p-6 tw:mr-4 tw:mb-4', onClick: () => navigate('/item/' + i.id), children: [_jsx(LinkedItemsHeaderView, { unlinkPermission: updatePermission, item: i, unlinkCallback: unlinkItem, loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: _jsx(TextView, { truncate: true, text: i.text, itemId: item.id }) })] }, i.id))), updatePermission && (_jsx(ActionButton, { collection: 'items', item: item, existingRelations: relations, triggerItemSelected: linkItem }))] }) }) })] }))] }));\n};\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { LatLng } from 'leaflet';\nimport { useEffect, useState } from 'react';\nimport { useMap } from 'react-leaflet';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { useClusterRef } from '#components/Map/hooks/useClusterRef';\nimport { useItems, useRemoveItem, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useSelectPosition, useSetSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport { MapOverlayPage } from '#components/Templates';\nimport { handleDelete, linkItem, unlinkItem } from './itemFunctions';\nimport { FlexView } from './Templates/FlexView';\nimport { OnepagerView } from './Templates/OnepagerView';\nimport { SimpleView } from './Templates/SimpleView';\nimport { TabsView } from './Templates/TabsView';\n/**\n * @category Profile\n */\nexport function ProfileView({ attestationApi }) {\n const [item, setItem] = useState();\n const [updatePermission, setUpdatePermission] = useState(false);\n const [relations, setRelations] = useState([]);\n const [offers, setOffers] = useState([]);\n const [needs, setNeeds] = useState([]);\n const [loading, setLoading] = useState(false);\n const [template, setTemplate] = useState('');\n const location = useLocation();\n const items = useItems();\n const updateItem = useUpdateItem();\n const map = useMap();\n const selectPosition = useSelectPosition();\n const removeItem = useRemoveItem();\n const tags = useTags();\n const navigate = useNavigate();\n const hasUserPermission = useHasUserPermission();\n const setSelectPosition = useSetSelectPosition();\n const clusterRef = useClusterRef();\n const leafletRefs = useLeafletRefs();\n const layers = useLayers();\n const [attestations, setAttestations] = useState([]);\n useEffect(() => {\n if (attestationApi) {\n attestationApi\n .getItems()\n .then((value) => {\n // eslint-disable-next-line no-console\n console.log(value);\n setAttestations(value);\n return null;\n })\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching items:', error);\n });\n }\n }, [attestationApi]);\n useEffect(() => {\n const itemId = location.pathname.split('/')[2];\n const item = items.find((i) => i.id === itemId);\n item && setItem(item);\n }, [items, location]);\n useEffect(() => {\n setOffers([]);\n setNeeds([]);\n setRelations([]);\n item?.offers?.forEach((o) => {\n const tag = tags.find((t) => t.id === o.tags_id);\n tag && setOffers((current) => [...current, tag]);\n });\n item?.needs?.forEach((n) => {\n const tag = tags.find((t) => t.id === n.tags_id);\n tag && setNeeds((current) => [...current, tag]);\n });\n item?.relations?.forEach((r) => {\n const item = items.find((i) => i.id === r.related_items_id);\n item && setRelations((current) => [...current, item]);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item, items]);\n useEffect(() => {\n const setMap = (marker, x) => {\n map.setView(new LatLng(item?.position?.coordinates[1], item?.position?.coordinates[0] + x / 4), undefined);\n setTimeout(() => {\n marker.openPopup();\n }, 500);\n };\n if (item) {\n if (item.position) {\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === item)?.[1].marker;\n marker &&\n clusterRef.hasLayer(marker) &&\n clusterRef?.zoomToShowLayer(marker, () => {\n const bounds = map.getBounds();\n const x = bounds.getEast() - bounds.getWest();\n setMap(marker, x);\n });\n }\n else {\n const parent = getFirstAncestor(item);\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === parent)?.[1].marker;\n marker &&\n clusterRef.hasLayer(marker) &&\n clusterRef?.zoomToShowLayer(marker, () => {\n const bounds = map.getBounds();\n const x = bounds.getEast() - bounds.getWest();\n setMap(marker, x);\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n const getFirstAncestor = (item) => {\n const parent = items.find((i) => i.id === item.parent);\n if (parent?.parent) {\n return getFirstAncestor(parent);\n }\n else {\n return parent;\n }\n };\n useEffect(() => {\n item && hasUserPermission('items', 'update', item) && setUpdatePermission(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n useEffect(() => {\n selectPosition && map.closePopup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectPosition]);\n useEffect(() => {\n if (item?.layer?.itemType.template)\n setTemplate(item.layer.itemType.template);\n else {\n const userLayer = layers.find((l) => l.userProfileLayer === true);\n if (userLayer)\n setTemplate(userLayer.itemType.template);\n }\n }, [item, layers]);\n return (_jsx(_Fragment, { children: item && (_jsx(MapOverlayPage, { className: `tw:p-0! tw:overflow-scroll tw:m-4! tw:md:w-[calc(50%-32px)] tw:w-[calc(100%-32px)] tw:min-w-80 tw:max-w-3xl tw:left-0! tw:sm:left-auto! tw:top-0 tw:bottom-0 tw:transition-opacity tw:duration-500 ${!selectPosition ? 'tw:opacity-100 tw:pointer-events-auto' : 'tw:opacity-0 tw:pointer-events-none'}`, children: _jsxs(_Fragment, { children: [_jsx(\"div\", { className: 'tw:px-6 tw:pt-6', children: _jsx(HeaderView, { api: item.layer?.api, item: item, deleteCallback: (e) => handleDelete(e, item, setLoading, removeItem, map, navigate), editCallback: () => navigate('/edit-item/' + item.id), setPositionCallback: () => {\n map.closePopup();\n setSelectPosition(item);\n navigate('/');\n }, big: true, truncateSubname: false }) }), template === 'onepager' && _jsx(OnepagerView, { item: item }), template === 'simple' && _jsx(SimpleView, { item: item }), template === 'flex' && _jsx(FlexView, { item: item }), template === 'tabs' && (_jsx(TabsView, { attestations: attestations, item: item, loading: loading, offers: offers, needs: needs, relations: relations, updatePermission: updatePermission, linkItem: (id) => linkItem(id, item, updateItem), unlinkItem: (id) => unlinkItem(id, item, updateItem) }))] }) }, item.id)) }));\n}\n","import * as React from \"react\";\nfunction ArrowUpTrayIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ArrowUpTrayIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport ArrowUpTrayIcon from '@heroicons/react/24/outline/ArrowUpTrayIcon';\nimport { useState, useCallback, useRef } from 'react';\nimport { ReactCrop, centerCrop, makeAspectCrop } from 'react-image-crop';\nimport UserSVG from '#assets/user.svg';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport DialogModal from '#components/Templates/DialogModal';\nexport const AvatarWidget = ({ avatar, setAvatar }) => {\n const [crop, setCrop] = useState();\n const [image, setImage] = useState('');\n const [cropModalOpen, setCropModalOpen] = useState(false);\n const [cropping, setCropping] = useState(false);\n const appState = useAppState();\n const imgRef = useRef(null);\n const onImageChange = useCallback((event) => {\n const file = event.target.files && event.target.files[0];\n if (file) {\n const validFormats = ['image/jpeg', 'image/png'];\n const maxSizeMB = 10;\n const maxSizeBytes = maxSizeMB * 1024 * 1024;\n if (!validFormats.includes(file.type)) {\n alert('Unsupported file format. Please upload a JPEG or PNG image.');\n return;\n }\n if (file.size > maxSizeBytes) {\n alert(`File size exceeds ${maxSizeMB}MB. Please upload a smaller image.`);\n return;\n }\n setImage(URL.createObjectURL(file));\n setCropModalOpen(true);\n }\n else {\n alert('No file selected or an error occurred while selecting the file.');\n }\n }, []);\n const onImageLoad = useCallback((e) => {\n const { width, height } = e.currentTarget;\n setCrop(centerAspectCrop(width, height, 1));\n }, []);\n const centerAspectCrop = (mediaWidth, mediaHeight, aspect) => {\n return centerCrop(makeAspectCrop({\n unit: 'px',\n width: mediaWidth / 2,\n }, aspect, mediaWidth, mediaHeight), mediaWidth, mediaHeight);\n };\n async function resizeImage(image, maxWidth, maxHeight) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n let width = image.width;\n let height = image.height;\n if (width > maxWidth) {\n height *= maxWidth / width;\n width = maxWidth;\n }\n if (height > maxHeight) {\n width *= maxHeight / height;\n height = maxHeight;\n }\n canvas.width = width;\n canvas.height = height;\n if (ctx) {\n ctx.drawImage(image, 0, 0, width, height);\n }\n const resizedImage = new Image();\n resizedImage.src = canvas.toDataURL();\n await resizedImage.decode();\n return resizedImage;\n }\n const renderCrop = useCallback(async () => {\n const image = imgRef.current;\n if (crop && image) {\n const resizedImage = await resizeImage(image, 1024, 1024); // Bildgröße vor dem Zuschneiden reduzieren\n const scaleX = resizedImage.naturalWidth / resizedImage.width;\n const scaleY = resizedImage.naturalHeight / resizedImage.height;\n const canvas = new OffscreenCanvas(crop.width * scaleX, crop.height * scaleY);\n const ctx = canvas.getContext('2d');\n const pixelRatio = window.devicePixelRatio;\n canvas.width = crop.width * pixelRatio * scaleX;\n canvas.height = crop.height * pixelRatio * scaleY;\n if (ctx) {\n ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n ctx.drawImage(resizedImage, crop.x * scaleX, crop.y * scaleY, crop.width * scaleX, crop.height * scaleY, 0, 0, crop.width * scaleX, crop.height * scaleY);\n }\n const blob = await canvas.convertToBlob();\n await resizeBlob(blob);\n setCropping(false);\n setImage('');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [crop]);\n const resizeBlob = useCallback(async (blob) => {\n const img = new Image();\n img.src = URL.createObjectURL(blob);\n await img.decode();\n const canvas = new OffscreenCanvas(400, 400);\n const ctx = canvas.getContext('2d');\n ctx?.drawImage(img, 0, 0, 400, 400);\n const resizedBlob = await canvas.convertToBlob();\n const asset = await appState.assetsApi.upload(resizedBlob, 'avatar');\n setAvatar(asset.id);\n }, [appState.assetsApi, setAvatar]);\n return (_jsxs(_Fragment, { children: [!cropping ? (_jsxs(\"label\", { className: 'custom-file-upload', children: [_jsx(\"input\", { type: 'file', accept: 'image/*', className: 'tw:file-input tw:w-full tw:max-w-xs', onChange: onImageChange }), _jsx(\"div\", { className: 'button tw:btn tw:btn-lg tw:btn-circle tw:animate-none', children: _jsx(ArrowUpTrayIcon, { className: 'tw:w-6 tw:h-6' }) }), avatar ? (_jsx(\"div\", { className: 'tw:h-20 tw:w-20', children: _jsx(\"img\", { src: appState.assetsApi.url + avatar, className: 'tw:h-20 tw:w-20 tw:rounded-full' }) })) : (_jsx(\"div\", { className: 'tw:h-20 tw:w-20', children: _jsx(\"img\", { src: UserSVG, className: 'tw:rounded-full' }) }))] })) : (_jsx(\"div\", { className: 'tw:w-20 tw:flex tw:items-center tw:justify-center', children: _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) })), _jsxs(DialogModal, { title: '', isOpened: cropModalOpen, onClose: () => {\n setCropModalOpen(false);\n setImage('');\n }, closeOnClickOutside: false, children: [_jsx(ReactCrop, { crop: crop, onChange: (c) => setCrop(c), aspect: 1, children: _jsx(\"img\", { src: image, ref: imgRef, onLoad: onImageLoad }) }), _jsx(\"button\", { className: 'tw:btn tw:btn-primary', onClick: () => {\n setCropping(true);\n setCropModalOpen(false);\n renderCrop();\n }, children: \"Select\" })] })] }));\n};\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect } from 'react';\n// Improved version of https://usehooks.com/useOnClickOutside/\nconst useClickOutside = (ref, handler) => {\n useEffect(() => {\n let startedInside = false;\n let startedWhenMounted = false;\n const listener = (event) => {\n // Do nothing if `mousedown` or `touchstart` started inside ref element\n if (startedInside || !startedWhenMounted)\n return;\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target))\n return;\n handler(event);\n };\n const validateEventStart = (event) => {\n startedWhenMounted = ref.current;\n startedInside = ref.current && ref.current.contains(event.target);\n };\n document.addEventListener('mousedown', validateEventStart);\n document.addEventListener('touchstart', validateEventStart);\n document.addEventListener('click', listener);\n return () => {\n document.removeEventListener('mousedown', validateEventStart);\n document.removeEventListener('touchstart', validateEventStart);\n document.removeEventListener('click', listener);\n };\n }, [ref, handler]);\n};\nexport default useClickOutside;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { HexColorPicker } from 'react-colorful';\nimport useClickOutside from '#components/Profile/hooks/useClickOutside';\n// eslint-disable-next-line react/prop-types\nexport const ColorPicker = ({ color, onChange, className }) => {\n const popover = useRef(null);\n const [isOpen, toggle] = useState(false);\n const close = useCallback(() => toggle(false), []);\n useClickOutside(popover, close);\n const colorPickerRef = useRef(null);\n useEffect(() => {\n // Füge dem Color-Picker explizit Event-Listener hinzu\n const colorPickerElement = colorPickerRef.current;\n if (colorPickerElement) {\n const enablePropagation = (event) => {\n // Verhindere, dass Leaflet die Propagation stoppt\n event.stopPropagation = () => { };\n };\n ['click', 'dblclick', 'mousedown', 'touchstart'].forEach((eventType) => {\n colorPickerElement.addEventListener(eventType, enablePropagation, true);\n });\n }\n }, []);\n return (_jsxs(\"div\", { ref: colorPickerRef, className: `picker ${className}`, children: [_jsx(\"div\", { className: 'swatch', style: { backgroundColor: color }, onClick: () => toggle(true) }), isOpen && (_jsx(\"div\", { className: 'popover tw:z-10000', ref: popover, children: _jsx(HexColorPicker, { color: color, onChange: onChange, onClick: () => toggle(false) }) }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable react/prop-types */\nimport { TextInput } from '#components/Input';\nimport { AvatarWidget } from './AvatarWidget';\nimport { ColorPicker } from './ColorPicker';\nexport const FormHeader = ({ item, state, setState }) => {\n return (_jsx(\"div\", { className: 'tw:flex-none', children: _jsxs(\"div\", { className: 'tw:flex', children: [_jsx(AvatarWidget, { avatar: state.image, setAvatar: (i) => setState((prevState) => ({\n ...prevState,\n image: i,\n })) }), _jsx(ColorPicker, { color: state.color, onChange: (c) => setState((prevState) => ({\n ...prevState,\n color: c,\n })), className: 'tw:-left-6 tw:top-14 tw:-mr-6' }), _jsxs(\"div\", { className: 'tw:grow tw:mr-4 tw:pt-1', children: [_jsx(TextInput, { placeholder: 'Name', defaultValue: item?.name ? item.name : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n name: v,\n })), containerStyle: 'tw:grow tw:px-4', inputStyle: 'tw:input-md' }), _jsx(TextInput, { placeholder: 'Subtitle', required: false, defaultValue: item?.subname ? item.subname : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n subname: v,\n })), containerStyle: 'tw:grow tw:px-4 tw:mt-1', inputStyle: 'tw:input-sm' })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextInput } from '#components/Input';\nexport const ContactInfoForm = ({ state, setState, }) => {\n return (_jsxs(\"div\", { className: 'tw:mt-4 tw:space-y-4', children: [_jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'email', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Email-Adresse (Kontakt):\" }), _jsx(TextInput, { placeholder: 'Email', type: 'email', required: false, defaultValue: state.contact, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n contact: v,\n })) })] }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'telephone', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Telefonnummer (Kontakt):\" }), _jsx(TextInput, { placeholder: 'Telefonnummer', type: 'tel', required: false, pattern: '^\\\\+?[0-9\\\\s\\\\-]{7,15}$', defaultValue: state.telephone, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n telephone: v,\n })) })] })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextInput } from '#components/Input';\nexport const CrowdfundingForm = ({ state, setState, }) => {\n return (_jsx(\"div\", { className: 'tw:mt-4 tw:space-y-4', children: _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'OpenCollectiveSlug', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Open Collective Slug:\" }), _jsx(TextInput, { placeholder: 'Open Collective Slug', type: 'text', required: false, defaultValue: state.openCollectiveSlug, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n openCollectiveSlug: v,\n })) })] }) }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nconst ComboBoxInput = ({ id, options, value, onValueChange }) => {\n const handleChange = (e) => {\n onValueChange(e.target.value);\n };\n return (_jsx(\"select\", { id: id, className: 'tw:form-select tw:block tw:w-full tw:py-2 tw:px-4 tw:border tw:border-gray-300 rounded-md tw:shadow-sm tw:text-sm tw:focus:outline-hidden tw:focus:ring-indigo-500 tw:focus:border-indigo-500 tw:sm:text-sm', onChange: handleChange, value: value, children: options.map((o) => (_jsx(\"option\", { value: o, children: o }, o))) }));\n};\nexport default ComboBoxInput;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { useEffect } from 'react';\nimport ComboBoxInput from '#components/Input/ComboBoxInput';\nexport const GroupSubheaderForm = ({ state, setState, groupStates, groupTypes, }) => {\n useEffect(() => {\n if (groupTypes && groupStates && state.name !== '') {\n const groupType = groupTypes.find((gt) => gt.groupTypes_id.name === state.group_type);\n const customImage = !groupTypes.some((gt) => gt.groupTypes_id.image.id === state.image || !state.image);\n setState((prevState) => ({\n ...prevState,\n color: groupType?.groupTypes_id.color || groupTypes[0].groupTypes_id.color,\n marker_icon: groupType?.groupTypes_id.markerIcon || groupTypes[0].groupTypes_id.markerIcon,\n image: customImage\n ? state.image\n : groupType?.groupTypes_id.image.id || groupTypes[0].groupTypes_id.image.id,\n status: state.status || groupStates[0],\n group_type: state.group_type || groupTypes[0].groupTypes_id.name,\n }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.group_type, groupTypes]);\n return (_jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-6', children: [_jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'status', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenstatus:\" }), _jsx(ComboBoxInput, { id: 'status', options: groupStates || [], value: state.status, onValueChange: (v) => setState((prevState) => ({\n ...prevState,\n status: v,\n })) })] }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'groupType', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenart:\" }), _jsx(ComboBoxInput, { id: 'groupType', options: groupTypes?.map((gt) => gt.groupTypes_id.name) || [], value: state.group_type, onValueChange: (v) => setState((prevState) => ({\n ...prevState,\n group_type: v,\n })) })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { PopupStartEndInput } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileStartEndForm = ({ item, setState, }) => {\n return (_jsx(PopupStartEndInput, { item: item, showLabels: false, updateEndValue: (e) => setState((prevState) => ({\n ...prevState,\n end: e,\n })), updateStartValue: (s) => setState((prevState) => ({\n ...prevState,\n start: s,\n })) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport MarkdownSVG from '#assets/markdown.svg';\nexport const MarkdownHint = () => {\n const [expended, setExpended] = useState(false);\n return (_jsxs(\"div\", { onClick: () => setExpended(true), title: 'Markdown is supported', className: 'flex tw:flex-row tw:text-gray-400 tw:cursor-pointer tw:items-center', children: [_jsx(\"img\", { src: MarkdownSVG, alt: 'Markdown', className: 'octicon octicon-markdown tw:gray-400' }), expended && (_jsxs(\"a\", { href: 'https://www.markdownguide.org/cheat-sheet/#basic-syntax', target: '_blank', rel: 'noreferrer', children: [_jsx(\"span\", { className: 'Button-label tw:ml-1', children: \"Markdown is support\" }), ' '] }))] }));\n};\n","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState } from 'react';\nimport { TextAreaInput } from '#components/Input';\nimport { MarkdownHint } from './MarkdownHint';\nexport const ProfileTextForm = ({ state, setState, \n// Is this really used?\ndataField, heading, size, hideInputLabel, required, }) => {\n const [field, setField] = useState(dataField || 'text');\n useEffect(() => {\n if (!dataField) {\n setField('text');\n }\n }, [dataField]);\n return (_jsxs(\"div\", { className: 'tw:h-full tw:flex tw:flex-col tw:mt-4', children: [_jsxs(\"div\", { className: 'tw:flex tw:justify-between tw:items-center', children: [_jsxs(\"label\", { htmlFor: 'nextAppointment', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: [heading || 'Text', \":\"] }), _jsx(MarkdownHint, {})] }), _jsx(TextAreaInput, { placeholder: '...', \n // eslint-disable-next-line security/detect-object-injection\n defaultValue: state[field], updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n [field]: v,\n })), labelStyle: hideInputLabel ? 'tw:hidden' : '', containerStyle: size === 'full' ? 'tw:grow tw:h-full' : '', inputStyle: size === 'full' ? 'tw:h-full' : 'tw:h-24', required: required })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { ContactInfoForm } from '#components/Profile/Subcomponents/ContactInfoForm';\nimport { CrowdfundingForm } from '#components/Profile/Subcomponents/CrowdfundingForm';\nimport { GroupSubheaderForm } from '#components/Profile/Subcomponents/GroupSubheaderForm';\nimport { ProfileStartEndForm } from '#components/Profile/Subcomponents/ProfileStartEndForm';\nimport { ProfileTextForm } from '#components/Profile/Subcomponents/ProfileTextForm';\nconst componentMap = {\n groupSubheaders: GroupSubheaderForm,\n texts: ProfileTextForm,\n contactInfos: ContactInfoForm,\n startEnd: ProfileStartEndForm,\n crowdfundings: CrowdfundingForm,\n // weitere Komponenten hier\n};\nexport const FlexForm = ({ item, state, setState, }) => {\n return (_jsx(\"div\", { className: 'tw:mt-6 tw:flex tw:flex-col tw:h-full', children: item.layer?.itemType.profileTemplate.map((templateItem) => {\n const TemplateComponent = componentMap[templateItem.collection];\n return TemplateComponent ? (_jsx(TemplateComponent, { state: state, setState: setState, item: item, ...templateItem.item }, templateItem.id)) : (_jsxs(\"div\", { className: 'tw:mt-2', children: [templateItem.collection, \" form not found\"] }, templateItem.id));\n }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextAreaInput } from '#components/Input';\nimport { ContactInfoForm } from '#components/Profile/Subcomponents/ContactInfoForm';\nimport { GroupSubheaderForm } from '#components/Profile/Subcomponents/GroupSubheaderForm';\nexport const OnepagerForm = ({ item, state, setState, }) => {\n return (_jsxs(\"div\", { className: 'tw:space-y-6 tw:mt-6', children: [_jsx(GroupSubheaderForm, { state: state, setState: setState, item: item }), _jsx(ContactInfoForm, { state: state, setState: setState }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'description', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenbeschreibung:\" }), _jsx(TextAreaInput, { placeholder: 'Beschreibung', defaultValue: state.text || '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), inputStyle: 'tw:h-48' })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { TextAreaInput } from '#components/Input';\n// eslint-disable-next-line react/prop-types\nexport const SimpleForm = ({ state, setState }) => {\n return (_jsx(TextAreaInput, { placeholder: 'About me ...', \n // eslint-disable-next-line react/prop-types\n defaultValue: state?.text || '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), containerStyle: 'tw:mt-8 tw:h-full', inputStyle: 'tw:h-full' }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { useEffect, useRef, useState } from 'react';\nimport { TagView } from '#components/Templates/TagView';\nexport const Autocomplete = ({ inputProps, suggestions, onSelected, pushFilteredSuggestions, setFocus, }) => {\n const [filteredSuggestions, setFilteredSuggestions] = useState([]);\n const [heighlightedSuggestion, setHeighlightedSuggestion] = useState(0);\n useEffect(() => {\n pushFilteredSuggestions && setFilteredSuggestions(pushFilteredSuggestions);\n }, [pushFilteredSuggestions]);\n useEffect(() => {\n setFocus && inputRef.current?.focus();\n }, [setFocus]);\n const inputRef = useRef();\n const getSuggestionValue = (suggestion) => suggestion.name;\n const getSuggestions = (value) => {\n const inputValue = value.trim().toLowerCase();\n const inputLength = inputValue.length;\n return inputLength === 0\n ? []\n : suggestions.filter((tag) => tag.name.toLowerCase().slice(0, inputLength) === inputValue);\n };\n const handleChange = (e) => {\n setFilteredSuggestions(getSuggestions(e.target.value));\n // Call the parent's onChange handler, if it exists\n if (inputProps.onChange) {\n inputProps.onChange(e);\n }\n };\n function handleSuggestionClick(suggestion) {\n onSelected(suggestion);\n }\n const handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowDown':\n heighlightedSuggestion < filteredSuggestions.length - 1 &&\n setHeighlightedSuggestion((current) => current + 1);\n break;\n case 'ArrowUp':\n heighlightedSuggestion > 0 && setHeighlightedSuggestion((current) => current - 1);\n break;\n case 'Enter':\n if (filteredSuggestions.length > 0) {\n // eslint-disable-next-line security/detect-object-injection\n onSelected(filteredSuggestions[heighlightedSuggestion]);\n setHeighlightedSuggestion(0);\n }\n filteredSuggestions.length === 0 && inputProps.onKeyDown(event);\n break;\n default:\n inputProps.onKeyDown(event);\n break;\n }\n };\n return (_jsxs(\"div\", { children: [_jsx(\"input\", { ref: inputRef, ...inputProps, type: 'text', onChange: (e) => handleChange(e), tabIndex: '-1', onKeyDown: handleKeyDown, className: 'tw:border-none tw:focus:outline-none tw:focus:ring-0 tw:mt-5' }), _jsx(\"ul\", { className: `tw:absolute tw:z-4000 ${filteredSuggestions.length > 0 && 'tw:bg-base-100 tw:rounded-xl tw:p-2'}`, children: filteredSuggestions.map((suggestion, index) => (_jsx(\"li\", { onClick: () => handleSuggestionClick(suggestion), children: _jsx(TagView, { heighlight: index === heighlightedSuggestion, tag: suggestion }) }, index))) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect, useState } from 'react';\nimport { Autocomplete } from '#components/Input/Autocomplete';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { decodeTag, encodeTag } from '#utils/FormatTags';\nimport { randomColor } from '#utils/RandomColor';\n// eslint-disable-next-line react/prop-types\nexport const TagsWidget = ({ placeholder, containerStyle, defaultTags, onUpdate }) => {\n const [input, setInput] = useState('');\n const [isKeyReleased, setIsKeyReleased] = useState(false);\n const tags = useTags();\n const [pushFilteredSuggestions, setPushFilteredSuggestions] = useState([]);\n const [focusInput, setFocusInput] = useState(false);\n const [currentTags, setCurrentTags] = useState(defaultTags);\n useEffect(() => {\n setCurrentTags(defaultTags);\n }, [defaultTags]);\n const onChange = (e) => {\n const { value } = e.target;\n setInput(value);\n };\n const onKeyDown = (e) => {\n const { key } = e;\n const trimmedInput = input.trim();\n if ((key === 'Enter' || key === ',') &&\n trimmedInput.length &&\n // eslint-disable-next-line react/prop-types\n !defaultTags.some((tag) => tag.name.toLocaleLowerCase() === trimmedInput.toLocaleLowerCase())) {\n e.preventDefault();\n const newTag = tags.find((t) => t.name === trimmedInput.toLocaleLowerCase());\n newTag && onUpdate([...currentTags, newTag]);\n !newTag &&\n onUpdate([\n ...currentTags,\n { id: crypto.randomUUID(), name: encodeTag(trimmedInput), color: randomColor() },\n ]);\n setInput('');\n setPushFilteredSuggestions([]);\n }\n // eslint-disable-next-line react/prop-types\n if (key === 'Backspace' && !input.length && defaultTags.length && isKeyReleased) {\n const defaultTagsCopy = [...defaultTags];\n const poppedTag = defaultTagsCopy.pop();\n e.preventDefault();\n onUpdate(defaultTagsCopy);\n poppedTag && setInput(poppedTag.name);\n }\n setIsKeyReleased(false);\n };\n const onKeyUp = () => {\n setIsKeyReleased(true);\n };\n const deleteTag = (tag) => {\n onUpdate(currentTags.filter((t) => t !== tag));\n };\n const onSelected = (tag) => {\n // eslint-disable-next-line react/prop-types\n if (!defaultTags.some((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())) {\n const newTag = tags.find((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase());\n newTag && onUpdate([...currentTags, newTag]);\n !newTag &&\n onUpdate([\n ...currentTags,\n { id: crypto.randomUUID(), name: tag.name.toLocaleLowerCase(), color: randomColor() },\n ]);\n setInput('');\n setPushFilteredSuggestions([]);\n }\n };\n const inputProps = {\n value: input,\n placeholder,\n onKeyDown,\n onKeyUp,\n onChange,\n className: 'tw:bg-transparent tw:w-fit tw:mt-5 tw:h-fit',\n };\n /* eslint-disable react/prop-types */\n return (_jsx(\"div\", { onClick: () => {\n setFocusInput(true);\n setTimeout(() => {\n setFocusInput(false);\n }, 200);\n }, className: `tw:textarea tw:cursor-text ${containerStyle}`, children: _jsxs(\"div\", { className: 'tw:flex tw:flex-wrap tw:h-fit', children: [defaultTags.map((tag) => (_jsxs(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl tw:card tw:mt-3 tw:mr-4', style: { backgroundColor: tag.color ? tag.color : '#666' }, children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-xs tw:btn-circle tw:absolute tw:-right-2 tw:-top-2 tw:bg-white tw:text-gray-600', onClick: () => deleteTag(tag), children: \"\\u2715\" }) }), _jsx(\"b\", { children: decodeTag(tag.name) })] }, tag.name))), _jsx(Autocomplete, { suggestions: tags, pushFilteredSuggestions: pushFilteredSuggestions, setFocus: focusInput, inputProps: inputProps, onSelected: (tag) => onSelected(tag) })] }) }));\n /* eslint-enable react/prop-types */\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable react/prop-types */\nimport { useCallback, useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { TextAreaInput } from '#components/Input';\nimport { useUpdateItem } from '#components/Map/hooks/useItems';\nimport { PopupStartEndInput, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ActionButton } from '#components/Profile/Subcomponents/ActionsButton';\nimport { LinkedItemsHeaderView } from '#components/Profile/Subcomponents/LinkedItemsHeaderView';\nimport { TagsWidget } from '#components/Profile/Subcomponents/TagsWidget';\nexport const TabsForm = ({ item, state, setState, updatePermission, linkItem, unlinkItem, loading, setUrlParams, }) => {\n const [activeTab, setActiveTab] = useState(1);\n const navigate = useNavigate();\n const updateItem = useUpdateItem();\n const updateActiveTab = useCallback((id) => {\n setActiveTab(id);\n const params = new URLSearchParams(window.location.search);\n params.set('tab', `${id}`);\n const newUrl = location.pathname + '?' + params.toString();\n window.history.pushState({}, '', newUrl);\n setUrlParams(params);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [location.pathname]);\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTab = params.get('tab');\n setActiveTab(urlTab ? Number(urlTab) : 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n return (_jsx(\"div\", { className: 'tw:grow', children: _jsxs(\"div\", { role: 'tablist', className: 'tw:tabs tw:h-full tw:tabs-lift tw:mt-3', children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab ', \"aria-label\": 'Info', checked: activeTab === 1 && true, onChange: () => updateActiveTab(1) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:border-(--fallback-bc,oklch(var(--bc)/0.2)) tw:rounded-box tw:!h-[calc(100%-48px)] tw:min-h-56 tw:border-none', children: _jsxs(\"div\", { className: `tw:flex tw:flex-col tw:h-full ${item.layer.itemType.show_start_end_input && 'tw:pt-4'}`, children: [item.layer.itemType.show_start_end_input && (_jsx(PopupStartEndInput, { item: item, showLabels: false, updateEndValue: (e) => setState((prevState) => ({\n ...prevState,\n end: e,\n })), updateStartValue: (s) => setState((prevState) => ({\n ...prevState,\n start: s,\n })) })), _jsx(TextAreaInput, { placeholder: 'about ...', defaultValue: item?.text ? item.text : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), containerStyle: 'tw:grow', inputStyle: `tw:h-full ${!item.layer.itemType.show_start_end_input && 'tw:border-t-0 tw:rounded-tl-none'}` }), _jsx(TextAreaInput, { placeholder: 'contact info ...', defaultValue: state.contact || '', updateFormValue: (c) => setState((prevState) => ({\n ...prevState,\n contact: c,\n })), inputStyle: '', containerStyle: 'tw:pt-4 tw:h-24 tw:flex-none', required: false })] }) }), item.layer?.itemType.offers_and_needs && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:min-w-[10em] ', \"aria-label\": 'Offers & Needs', checked: activeTab === 3 && true, onChange: () => updateActiveTab(3) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:border-(--fallback-bc,oklch(var(--bc)/0.2)) tw:rounded-box tw:!h-[calc(100%-48px)] tw:min-h-56 tw:border-none', children: _jsxs(\"div\", { className: 'tw:h-full', children: [_jsx(\"div\", { className: 'tw:w-full tw:h-[calc(50%-0.75em)] tw:mb-4', children: _jsx(TagsWidget, { defaultTags: state.offers, onUpdate: (v) => setState((prevState) => ({\n ...prevState,\n offers: v,\n })), placeholder: 'enter your offers', containerStyle: 'tw:bg-transparent tw:w-full tw:h-full tw:mt-3 tw:text-xs tw:h-[calc(100%-1rem)] tw:min-h-[5em] tw:pb-2 tw:overflow-auto' }) }), _jsx(\"div\", { className: 'tw:w-full tw:h-[calc(50%-1.5em)]', children: _jsx(TagsWidget, { defaultTags: state.needs, onUpdate: (v) => setState((prevState) => ({\n ...prevState,\n needs: v,\n })), placeholder: 'enter your needs', containerStyle: 'tw:bg-transparent tw:w-full tw:h-full tw:mt-3 tw:text-xs tw:h-[calc(100%-1rem)] tw:min-h-[5em] tw:pb-2 tw:overflow-auto' }) })] }) })] })), item.layer?.itemType.relations && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab ', \"aria-label\": 'Links', checked: activeTab === 7 && true, onChange: () => updateActiveTab(7) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:rounded-box tw:!h-[calc(100%-48px)] tw:overflow-y-auto tw:pt-4 tw:overflow-x-hidden fade', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2 tw:md:grid-cols-1 tw:lg:grid-cols-1 tw:xl:grid-cols-1 tw:2xl:grid-cols-2 tw:mb-4', children: [state.relations &&\n state.relations.map((i) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:bg-base-200 tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:text-base-content tw:mx-4 tw:p-6 tw:mb-4', onClick: () => navigate('/item/' + i.id), children: [_jsx(LinkedItemsHeaderView, { unlinkPermission: updatePermission, item: i, unlinkCallback: (id) => unlinkItem(id, item, updateItem), loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: _jsx(TextView, { truncate: true, itemId: item.id }) })] }, i.id))), updatePermission && (_jsx(ActionButton, { customStyle: 'tw:bottom-24!', collection: 'items', item: item, existingRelations: state.relations, triggerItemSelected: (id) => linkItem(id, item, updateItem) }))] }) }) })] }))] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useState } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems, useUpdateItem, useAddItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useAddTag, useGetItemTags, useTags } from '#components/Map/hooks/useTags';\nimport { MapOverlayPage } from '#components/Templates';\nimport { linkItem, onUpdateItem, unlinkItem } from './itemFunctions';\nimport { FormHeader } from './Subcomponents/FormHeader';\nimport { FlexForm } from './Templates/FlexForm';\nimport { OnepagerForm } from './Templates/OnepagerForm';\nimport { SimpleForm } from './Templates/SimpleForm';\nimport { TabsForm } from './Templates/TabsForm';\n/**\n * @category Profile\n */\nexport function ProfileForm() {\n const [state, setState] = useState({\n color: '',\n id: '',\n group_type: 'wuerdekompass',\n status: 'active',\n name: '',\n subname: '',\n text: '',\n contact: '',\n telephone: '',\n next_appointment: '',\n image: '',\n marker_icon: {},\n offers: [],\n needs: [],\n relations: [],\n start: '',\n end: '',\n openCollectiveSlug: '',\n });\n const [updatePermission, setUpdatePermission] = useState(false);\n const [loading, setLoading] = useState(false);\n const [item, setItem] = useState({});\n const { user } = useAuth();\n const updateItem = useUpdateItem();\n const addItem = useAddItem();\n const layers = useLayers();\n const location = useLocation();\n const tags = useTags();\n const addTag = useAddTag();\n const navigate = useNavigate();\n const hasUserPermission = useHasUserPermission();\n const getItemTags = useGetItemTags();\n const items = useItems();\n const [urlParams, setUrlParams] = useState(new URLSearchParams(location.search));\n useEffect(() => {\n item && hasUserPermission('items', 'update', item) && setUpdatePermission(true);\n }, [hasUserPermission, item]);\n useEffect(() => {\n const itemId = location.pathname.split('/')[2];\n const item = items.find((i) => i.id === itemId);\n item && setItem(item);\n if (!item) {\n if (items.some((i) => i.user_created?.id === user?.id && i.layer?.userProfileLayer)) {\n navigate('/');\n toast.error('Item does not exist');\n }\n else {\n const layer = layers.find((l) => l.userProfileLayer);\n setItem({\n id: crypto.randomUUID(),\n name: user?.first_name ?? '',\n text: '',\n layer,\n new: true,\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n useEffect(() => {\n const newColor = item.color ??\n (getItemTags(item) && getItemTags(item)[0]?.color\n ? getItemTags(item)[0].color\n : item.layer?.markerDefaultColor);\n const offers = (item.offers ?? []).reduce((acc, o) => {\n const offer = tags.find((t) => t.id === o.tags_id);\n if (offer)\n acc.push(offer);\n return acc;\n }, []);\n const needs = (item.needs ?? []).reduce((acc, o) => {\n const need = tags.find((t) => t.id === o.tags_id);\n if (need)\n acc.push(need);\n return acc;\n }, []);\n const relations = (item.relations ?? []).reduce((acc, r) => {\n const relatedItem = items.find((i) => i.id === r.related_items_id);\n if (relatedItem)\n acc.push(relatedItem);\n return acc;\n }, []);\n setState({\n color: newColor ?? '',\n id: item?.id ?? '',\n group_type: item?.group_type ?? '',\n status: item?.status ?? '',\n name: item?.name ?? '',\n subname: item?.subname ?? '',\n text: item?.text ?? '',\n contact: item?.contact ?? '',\n telephone: item?.telephone ?? '',\n next_appointment: item?.next_appointment ?? '',\n image: item?.image ?? '',\n // Do we actually mean marker_icon here?\n marker_icon: item?.markerIcon,\n offers,\n needs,\n relations,\n start: item.start ?? '',\n end: item.end ?? '',\n openCollectiveSlug: item.openCollectiveSlug ?? '',\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item, tags, items]);\n const [template, setTemplate] = useState('');\n useEffect(() => {\n if (item.layer?.itemType.template)\n setTemplate(item.layer?.itemType.template);\n else {\n const userLayer = layers.find((l) => l.userProfileLayer === true);\n if (userLayer)\n setTemplate(userLayer.itemType.template);\n }\n }, [item, layers]);\n return (_jsx(_Fragment, { children: _jsx(MapOverlayPage, { backdrop: true, className: 'tw:mx-4 tw:mt-4 tw:mb-4 tw:overflow-x-hidden tw:w-[calc(100%-32px)] tw:md:w-[calc(50%-32px)] tw:max-w-3xl tw:left-auto! tw:top-0 tw:bottom-0', children: _jsx(\"form\", { className: 'tw:h-full', onSubmit: (e) => {\n e.preventDefault();\n void onUpdateItem(state, item, tags, addTag, setLoading, navigate, updateItem, addItem, user, urlParams);\n }, children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(FormHeader, { item: item, state: state, setState: setState }), template === 'onepager' && (_jsx(OnepagerForm, { item: item, state: state, setState: setState })), template === 'simple' && _jsx(SimpleForm, { state: state, setState: setState }), template === 'flex' && (_jsx(FlexForm, { item: item, state: state, setState: setState })), template === 'tabs' && (_jsx(TabsForm, { loading: loading, item: item, state: state, setState: setState, updatePermission: updatePermission, linkItem: (id) => linkItem(id, item, updateItem), unlinkItem: (id) => unlinkItem(id, item, updateItem), setUrlParams: setUrlParams })), _jsx(\"div\", { className: 'tw:mt-4 tw:flex-none', children: _jsx(\"button\", { className: `${loading ? ' tw:loading tw:btn tw:float-right' : 'tw:btn tw:float-right'}`, type: 'submit', style: {\n // We could refactor this, it is used several times at different locations\n backgroundColor: `${item.color ?? (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color ? getItemTags(item)[0].color : item?.layer?.markerDefaultColor)}`,\n color: '#fff',\n }, children: \"Update\" }) })] }) }) }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\n/**\n * @category Gaming\n */\nexport function Modal({ children, showOnStartup, }) {\n useEffect(() => {\n if (showOnStartup) {\n window.my_modal_3.showModal();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (_jsx(_Fragment, { children: _jsxs(\"dialog\", { id: 'my_modal_3', className: 'tw:modal tw:transition-all tw:duration-300', children: [_jsxs(\"form\", { method: 'dialog', className: 'tw:modal-box tw:transition-none', children: [_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2 tw:focus:outline-hidden', children: \"\\u2715\" }), children] }), _jsx(\"form\", { method: 'dialog', className: 'tw:modal-backdrop', children: _jsx(\"button\", { children: \"close\" }) })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport QuestionMarkCircleIcon from '@heroicons/react/24/outline/QuestionMarkCircleIcon';\nimport { useEffect, useState } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useQuestsOpen, useSetQuestOpen } from './hooks/useQuests';\n/**\n * @category Gaming\n */\nexport function Quests() {\n const questsOpen = useQuestsOpen();\n const setQuestsOpen = useSetQuestOpen();\n const { isAuthenticated, user } = useAuth();\n useEffect(() => {\n setQuestsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const [profile, setProfie] = useState();\n const items = useItems();\n useEffect(() => {\n setProfie(items.find((i) => i.user_created?.id === user?.id &&\n i.layer?.userProfileLayer &&\n i.user_created?.id != null));\n }, [items, user]);\n return (_jsx(_Fragment, { children: questsOpen ? (_jsx(\"div\", { className: 'tw:card tw:w-48 tw:bg-base-100 tw:shadow-xl tw:absolute tw:bottom-4 tw:left-4 tw:z-2000', children: _jsxs(\"div\", { className: 'tw:card-body tw:p-4 tw:pt-0', children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-1 tw:top-1', onClick: () => setQuestsOpen(false), children: \"\\u2715\" }) }), _jsxs(\"h2\", { className: 'tw:card-title tw:m-auto ', children: [\"Level 1\", _jsx(QuestionMarkCircleIcon, {})] }), _jsxs(\"ul\", { className: 'tw:flex-row', children: [_jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isAuthenticated || false }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Sign Up\" })] }) }), _jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: !!profile?.text }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Fill Profile\" })] }) }), _jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: !!profile?.image }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Upload Avatar\" })] }) })] }), ' '] }) })) : ('') }));\n}\n","import { createContext } from 'react';\nconst ItemContext = createContext(undefined);\nexport default ItemContext;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useContext } from 'react';\nimport ItemContext from './TemplateItemContext';\nexport function templateify(Component) {\n const TemplateComponent = (props) => {\n const item = useContext(ItemContext);\n return _jsx(Component, { ...props, item: item });\n };\n return TemplateComponent;\n}\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { Popup as LeafletPopup, useMap } from 'react-leaflet';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextAreaInput } from '#components/Input/TextAreaInput';\nimport { TextInput } from '#components/Input/TextInput';\nimport TemplateItemContext from '#components/Item/TemplateItemContext';\nimport { useResetFilterTags } from '#components/Map/hooks/useFilter';\nimport { useAddItem, useItems, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { usePopupForm } from '#components/Map/hooks/usePopupForm';\nimport { useAddTag, useTags } from '#components/Map/hooks/useTags';\nimport LayerContext from '#components/Map/LayerContext';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\nexport function ItemFormPopup(props) {\n const layerContext = useContext(LayerContext);\n const { menuText, name: activeLayerName } = layerContext;\n const { popupForm, setPopupForm } = usePopupForm();\n const [spinner, setSpinner] = useState(false);\n const formRef = useRef(null);\n const map = useMap();\n const addItem = useAddItem();\n const updateItem = useUpdateItem();\n const items = useItems();\n const tags = useTags();\n const addTag = useAddTag();\n const resetFilterTags = useResetFilterTags();\n const { user } = useAuth();\n const handleSubmit = async (evt) => {\n if (!popupForm) {\n throw new Error('Popup form is not defined');\n }\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n formItem.position = {\n type: 'Point',\n coordinates: [popupForm.position.lng, popupForm.position.lat],\n };\n evt.preventDefault();\n const name = formItem.name ? formItem.name : user?.first_name;\n if (!name) {\n toast.error('Name is must be defined');\n return;\n }\n setSpinner(true);\n formItem.text &&\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n if (popupForm.item) {\n let success = false;\n try {\n await popupForm.layer.api?.updateItem({ ...formItem, id: popupForm.item.id });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...popupForm.item, ...formItem });\n toast.success('Item updated');\n }\n setSpinner(false);\n map.closePopup();\n }\n else {\n const item = items.find((i) => i.user_created?.id === user?.id && i.layer?.id === popupForm.layer.id);\n const uuid = crypto.randomUUID();\n let success = false;\n try {\n popupForm.layer.userProfileLayer &&\n item &&\n (await popupForm.layer.api?.updateItem({ ...formItem, id: item.id }));\n (!popupForm.layer.userProfileLayer || !item) &&\n (await popupForm.layer.api?.createItem({\n ...formItem,\n name,\n id: uuid,\n }));\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n if (popupForm.layer.userProfileLayer && item)\n updateItem({ ...item, ...formItem });\n if (!popupForm.layer.userProfileLayer || !item) {\n addItem({\n ...formItem,\n name: (formItem.name ? formItem.name : user?.first_name) ?? '',\n user_created: user ?? undefined,\n id: uuid,\n layer: popupForm.layer,\n public_edit: !user,\n });\n }\n toast.success('New item created');\n resetFilterTags();\n }\n setSpinner(false);\n map.closePopup();\n }\n setPopupForm(null);\n };\n const resetPopup = () => {\n if (formRef.current) {\n formRef.current.reset();\n }\n };\n useEffect(() => {\n resetPopup();\n }, [popupForm?.position]);\n return (popupForm &&\n popupForm.layer.name === activeLayerName && (_jsx(LeafletPopup, { minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80], eventHandlers: {\n remove: () => {\n setTimeout(function () {\n resetPopup();\n }, 100);\n },\n }, position: popupForm.position, children: _jsxs(\"form\", { ref: formRef, onReset: resetPopup, autoComplete: 'off', onSubmit: (e) => handleSubmit(e), children: [popupForm.item ? (_jsx(\"div\", { className: 'tw:h-3' })) : (_jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"b\", { className: 'tw:text-xl tw:text-center tw:font-bold', children: menuText }) })), props.children ? (_jsx(TemplateItemContext.Provider, { value: popupForm.item, children: props.children })) : (_jsxs(_Fragment, { children: [_jsx(TextInput, { type: 'text', placeholder: 'Name', dataField: 'name', defaultValue: popupForm.item ? popupForm.item.name : '', inputStyle: '' }), _jsx(TextAreaInput, { placeholder: 'Text', dataField: 'text', defaultValue: popupForm.item?.text ?? '', inputStyle: 'tw:h-40 tw:mt-5' }, popupForm.position.toString())] })), _jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"button\", { className: spinner\n ? 'tw:btn tw:btn-disabled tw:mt-5 tw:place-self-center'\n : 'tw:btn tw:mt-5 tw:place-self-center', type: 'submit', children: spinner ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Save' }) })] }) })));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { ItemFormPopup } from '#components/Map/Subcomponents/ItemFormPopup';\n/**\n * @category Item\n */\nexport const PopupForm = ({ children }) => {\n return _jsx(ItemFormPopup, { children: children });\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { LatLng } from 'leaflet';\nimport { forwardRef, useState } from 'react';\nimport { Popup as LeafletPopup, useMap } from 'react-leaflet';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useRemoveItem, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { usePopupForm } from '#components/Map/hooks/usePopupForm';\nimport { useSetSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { timeAgo } from '#utils/TimeAgo';\nimport { HeaderView } from './ItemPopupComponents/HeaderView';\nimport { TextView } from './ItemPopupComponents/TextView';\n// eslint-disable-next-line react/display-name\nexport const ItemViewPopup = forwardRef((props, ref) => {\n const map = useMap();\n const [loading, setLoading] = useState(false);\n const removeItem = useRemoveItem();\n const updadateItem = useUpdateItem();\n const navigate = useNavigate();\n const setSelectPosition = useSetSelectPosition();\n const { setPopupForm } = usePopupForm();\n const [infoExpanded, setInfoExpanded] = useState(false);\n const handleEdit = (event) => {\n event.stopPropagation();\n map.closePopup();\n if (!props.item.layer) {\n throw new Error('Layer is not defined');\n }\n setPopupForm({\n position: new LatLng(props.item.position?.coordinates[1], props.item.position?.coordinates[0]),\n layer: props.item.layer,\n item: props.item,\n });\n };\n const handleDelete = async (event) => {\n event.stopPropagation();\n setLoading(true);\n let success = false;\n try {\n !props.item.layer?.userProfileLayer &&\n (await props.item.layer?.api?.deleteItem(props.item.id));\n props.item.layer?.userProfileLayer &&\n (await props.item.layer.api?.updateItem({ id: props.item.id, position: null }));\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n !props.item.layer?.userProfileLayer && removeItem(props.item);\n props.item.layer?.userProfileLayer && updadateItem({ ...props.item, position: undefined });\n toast.success('Item deleted');\n }\n setLoading(false);\n map.closePopup();\n const params = new URLSearchParams(window.location.search);\n window.history.pushState({}, '', '/' + `${params ? `?${params}` : ''}`);\n navigate('/');\n };\n return (_jsx(LeafletPopup, { ref: ref, maxHeight: 377, minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80], children: _jsxs(\"div\", { className: 'tw:bg-base-100 tw:text-base-content', children: [_jsx(HeaderView, { api: props.item.layer?.api, item: props.item, editCallback: handleEdit, deleteCallback: handleDelete, setPositionCallback: () => {\n map.closePopup();\n setSelectPosition(props.item);\n navigate('/');\n }, loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: props.children ?? _jsx(TextView, { text: props.item.text, itemId: props.item.id }) }), _jsxs(\"div\", { className: 'tw:flex tw:-mb-1 tw:flex-row tw:mr-2 tw:mt-1', children: [infoExpanded ? (_jsx(\"p\", { className: 'tw:italic tw:min-h-[21px] tw:my-0! tw:opacity-50', children: `${props.item.date_updated && props.item.date_updated !== props.item.date_created ? 'updated' : 'posted'} ${props.item && props.item.user_created && props.item.user_created.first_name ? `by ${props.item.user_created.first_name}` : ''} ${props.item.date_updated ? timeAgo(props.item.date_updated) : timeAgo(props.item.date_created)}` })) : (_jsx(\"p\", { className: 'tw:my-0! tw:min-h-[21px] tw:font-bold tw:cursor-pointer tw:text-gray-500', onClick: () => setInfoExpanded(true), children: \"\\u24D8\" })), _jsx(\"div\", { className: 'tw:grow' })] })] }) }));\n});\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useMemo, useState } from 'react';\nimport { Marker, Tooltip } from 'react-leaflet';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useFilterTags, useIsLayerVisible, useIsGroupTypeVisible, useVisibleGroupType, } from '#components/Map/hooks/useFilter';\nimport { useItems, useAllItemsLoaded } from '#components/Map/hooks/useItems';\nimport { useAddMarker, useAddPopup, useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useSetMarkerClicked, useSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { useGetItemTags, useAllTagsLoaded, useTags } from '#components/Map/hooks/useTags';\nimport LayerContext from '#components/Map/LayerContext';\nimport { ItemViewPopup } from '#components/Map/Subcomponents/ItemViewPopup';\nimport { encodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport MarkerIconFactory from '#utils/MarkerIconFactory';\nimport { randomColor } from '#utils/RandomColor';\nimport TemplateItemContext from './TemplateItemContext';\n/**\n * @category Item\n */\nexport const PopupView = ({ children }) => {\n const layerContext = useContext(LayerContext);\n const { name, markerDefaultColor, markerDefaultColor2, markerShape, markerIcon } = layerContext;\n const filterTags = useFilterTags();\n const appState = useAppState();\n const items = useItems();\n const getItemTags = useGetItemTags();\n const addMarker = useAddMarker();\n const addPopup = useAddPopup();\n const leafletRefs = useLeafletRefs();\n const allTagsLoaded = useAllTagsLoaded();\n const allItemsLoaded = useAllItemsLoaded();\n const setMarkerClicked = useSetMarkerClicked();\n const selectPosition = useSelectPosition();\n const tags = useTags();\n const [newTagsToAdd, setNewTagsToAdd] = useState([]);\n const [tagsReady, setTagsReady] = useState(false);\n const isLayerVisible = useIsLayerVisible();\n const isGroupTypeVisible = useIsGroupTypeVisible();\n const visibleGroupTypes = useVisibleGroupType();\n const visibleItems = useMemo(() => items\n .filter((item) => item.layer?.name === name)\n .filter((item) => filterTags.length === 0\n ? item\n : filterTags.some((tag) => getItemTags(item).some((filterTag) => filterTag.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())))\n .filter((item) => item.layer && isLayerVisible(item.layer))\n .filter((item) => (item.group_type && isGroupTypeVisible(item.group_type)) ||\n visibleGroupTypes.length === 0), [\n filterTags,\n getItemTags,\n isGroupTypeVisible,\n isLayerVisible,\n items,\n name,\n visibleGroupTypes.length,\n ]);\n return visibleItems.map((item) => {\n if (!(item.position?.coordinates[0] && item.position.coordinates[1]))\n return null;\n if (item.tags) {\n item.text += '\\n\\n';\n item.tags.map((tag) => {\n if (!item.text?.includes(`#${encodeTag(tag)}`)) {\n item.text += `#${encodeTag(tag)}`;\n }\n return item.text;\n });\n }\n if (allTagsLoaded && allItemsLoaded) {\n item.text?.match(hashTagRegex)?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase()) &&\n !newTagsToAdd.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n const newTag = {\n id: crypto.randomUUID(),\n name: tag.slice(1),\n color: randomColor(),\n };\n setNewTagsToAdd((current) => [...current, newTag]);\n }\n return null;\n });\n !tagsReady && setTagsReady(true);\n }\n const itemTags = getItemTags(item);\n const latitude = item.position.coordinates[1];\n const longitude = item.position.coordinates[0];\n let color1 = markerDefaultColor;\n let color2 = markerDefaultColor2;\n if (item.color) {\n color1 = item.color;\n }\n else if (itemTags[0]) {\n color1 = itemTags[0].color;\n }\n if (itemTags[0] && item.color) {\n color2 = itemTags[0].color;\n }\n else if (itemTags[1]) {\n color2 = itemTags[1].color;\n }\n return (_jsx(TemplateItemContext.Provider, { value: item, children: _jsxs(Marker, { ref: (r) => {\n if (!(item.id in leafletRefs && leafletRefs[item.id].marker === r)) {\n r && addMarker(item, r);\n }\n }, eventHandlers: {\n click: () => {\n selectPosition && setMarkerClicked(item);\n },\n }, icon: MarkerIconFactory(markerShape, color1, color2, item.markerIcon ?? markerIcon, appState.assetsApi.url), position: [latitude, longitude], children: [_jsx(ItemViewPopup, { ref: (r) => {\n if (!(item.id in leafletRefs && leafletRefs[item.id].popup === r)) {\n r && addPopup(item, r);\n }\n }, item: item, children: children }), _jsx(Tooltip, { offset: [0, -38], direction: 'top', children: item.name })] }) }, item.id));\n });\n};\n","import { TextView as PlainTextView, StartEndView as PlainStartEndView, PopupTextInput as PlainPopupTextInput, PopupButton as PlainPopupButton, PopupCheckboxInput as PlainPopupCheckboxInput, PopupTextAreaInput as PlainPopupTextAreaInput, PopupStartEndInput as PlainPopupStartEndInput, } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { templateify } from './templateify';\nexport { PopupForm } from './PopupForm';\nexport { PopupView } from './PopupView';\nexport const TextView = templateify(PlainTextView);\nexport const StartEndView = templateify(PlainStartEndView);\nexport const PopupTextInput = templateify(PlainPopupTextInput);\nexport const PopupButton = templateify(PlainPopupButton);\nexport const PopupCheckboxInput = templateify(PlainPopupCheckboxInput);\nexport const PopupTextAreaInput = templateify(PlainPopupTextAreaInput);\nexport const PopupStartEndInput = templateify(PlainPopupStartEndInput);\n"],"names":["createContext","useState","useCallback","_jsx","useContext","LayerContext","useReducer","useEffect","useNavigate","ItemContext","toast","useInRouterContext","Router","QueryClient","QueryClientProvider","_jsxs","ToastContainer","_Fragment","createRef","DomEvent","React","ForwardRef","FunnelIcon","HeartIcon","useRef","divIcon","Point","useMap","control","useMapEvents","Bars3Icon","marker","LatLng","LatLngBounds","MagnifyingGlassIcon","FlagIcon","TextView","memo","useLocation","Outlet","TileLayer","GeoJSON","MapContainer","Link","EllipsisVerticalIcon","NavLink","PopupTextAreaInput","PopupStartEndInput","PopupTextInput","PopupCheckboxInput","StartEndView","CalendarIcon","PopupButton","PlusIcon","PencilIcon","TrashIcon","EnvelopeIcon","PhoneIcon","RowsPhotoAlbum","cloneElement","componentMap","LinkIcon","LinkSlashIcon","centerCrop","makeAspectCrop","ArrowUpTrayIcon","ReactCrop","HexColorPicker","QuestionMarkCircleIcon","LeafletPopup","TemplateItemContext","forwardRef","useMemo","Marker","Tooltip","PlainTextView","PlainStartEndView","PlainPopupTextInput","PlainPopupButton","PlainPopupCheckboxInput","PlainPopupTextAreaInput","PlainPopupStartEndInput"],"mappings":"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","x_google_ignoreList":[0,20,22,25,26,31,33,47,70,73,76,77,90,91,99,104,106,110]}
1
+ {"version":3,"file":"index.cjs","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/Components/Gaming/hooks/useQuests.tsx","../src/Components/Map/hooks/useClusterRef.tsx","../src/Components/Map/hooks/useLayers.tsx","../src/Components/Map/hooks/useWindowDimension.tsx","../src/Components/Map/hooks/useFilter.tsx","../src/Components/Map/hooks/useItems.tsx","../src/Components/Map/hooks/useLeafletRefs.tsx","../src/Components/Auth/useAuth.tsx","../src/Components/Map/hooks/usePermissions.tsx","../src/Components/Map/hooks/usePopupForm.tsx","../src/Components/Map/hooks/useSelectPosition.tsx","../src/Utils/HashTagRegex.tsx","../src/Components/Map/hooks/useTags.tsx","../src/Components/AppShell/hooks/useAppState.tsx","../src/Components/AppShell/ContextWrapper.tsx","../src/Components/AppShell/hooks/useTheme.tsx","../src/Utils/ContainsUUID.ts","../src/Components/Map/Subcomponents/AddButton.tsx","../src/Components/Map/Subcomponents/Controls/Control.tsx","../node_modules/@heroicons/react/24/outline/esm/FunnelIcon.js","../src/Components/Map/Subcomponents/Controls/FilterControl.tsx","../node_modules/@heroicons/react/24/outline/esm/HeartIcon.js","../src/Components/Map/Subcomponents/Controls/GratitudeControl.tsx","../src/Components/Map/Subcomponents/Controls/LayerControl.tsx","../node_modules/@heroicons/react/24/outline/esm/FlagIcon.js","../node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js","../src/Components/Map/hooks/useTimeout.tsx","../src/Components/Map/hooks/useDebounce.tsx","../src/Utils/FormatTags.ts","../src/Utils/MarkerIconFactory.ts","../node_modules/leaflet.locatecontrol/src/L.Control.Locate.js","../src/Components/Map/Subcomponents/Controls/LocateControl.tsx","../node_modules/@heroicons/react/16/solid/esm/Bars3Icon.js","../src/Components/Map/Subcomponents/Controls/SidebarControl.tsx","../src/Components/Map/Subcomponents/Controls/SearchControl.tsx","../src/Components/Map/Subcomponents/Controls/TagsControl.tsx","../src/Utils/ReplaceURLs.ts","../src/Components/Map/Subcomponents/ItemPopupComponents/TextView.tsx","../src/Components/Map/Subcomponents/SelectPosition.tsx","../src/Components/Map/UtopiaMapInner.tsx","../src/Components/Map/UtopiaMap.tsx","../src/Components/Map/LayerContext.ts","../src/Components/Map/Layer.tsx","../src/Components/Map/Tags.tsx","../src/Components/Map/Permissions.tsx","../src/Components/Templates/ThemeControl.tsx","../node_modules/@heroicons/react/16/solid/esm/EllipsisVerticalIcon.js","../src/Components/AppShell/UserControl.tsx","../src/Components/AppShell/NavBar.tsx","../src/Components/AppShell/SetAppState.tsx","../src/Components/AppShell/AppShell.tsx","../src/Components/AppShell/SidebarSubmenu.tsx","../src/Components/AppShell/SideBar.tsx","../src/Components/AppShell/Content.tsx","../src/Components/Templates/MapOverlayPage.tsx","../src/Components/Auth/LoginPage.tsx","../src/Components/Auth/SignupPage.tsx","../src/Components/Auth/RequestPasswordPage.tsx","../src/Components/Auth/SetNewPasswordPage.tsx","../src/Components/Input/TextAreaInput.tsx","../src/Components/Input/TextInput.tsx","../src/Components/Typography/Subtitle.tsx","../src/Components/Templates/TitleCard.tsx","../src/Components/Templates/CardPage.tsx","../src/Components/Templates/SelectUser.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextAreaInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupStartEndInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextInput.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupCheckboxInput.tsx","../node_modules/@heroicons/react/24/solid/esm/CalendarDaysIcon.js","../src/Components/Map/Subcomponents/ItemPopupComponents/StartEndView.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/PopupButton.tsx","../node_modules/@heroicons/react/24/outline/esm/PlusIcon.js","../src/Components/Profile/Subcomponents/PlusButton.tsx","../src/Utils/RandomColor.ts","../node_modules/@heroicons/react/24/solid/esm/PencilIcon.js","../node_modules/@heroicons/react/24/solid/esm/TrashIcon.js","../src/Components/Templates/DialogModal.tsx","../src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.tsx","../src/Utils/TimeAgo.ts","../src/Components/Templates/DateUserInfo.tsx","../src/Components/Templates/ItemCard.tsx","../src/Components/Templates/OverlayItemsIndexPage.tsx","../src/Components/Templates/EmojiPicker.tsx","../src/Components/Templates/AttestationForm.tsx","../src/Components/Templates/TagView.tsx","../src/Components/Templates/MarketView.tsx","../src/Components/Profile/UserSettings.tsx","../src/Components/Profile/itemFunctions.ts","../node_modules/@heroicons/react/24/outline/esm/EnvelopeIcon.js","../node_modules/@heroicons/react/24/outline/esm/PhoneIcon.js","../src/Components/Profile/Subcomponents/ContactInfoView.tsx","../src/Components/Profile/Subcomponents/CrowdfundingView.tsx","../src/Components/Profile/Subcomponents/GalleryView.tsx","../src/Components/Profile/Subcomponents/SocialShareButton.tsx","../src/Components/Profile/Subcomponents/SocialShareBar.tsx","../src/Components/Profile/Subcomponents/GroupSubHeaderView.tsx","../src/Components/Profile/Subcomponents/ProfileStartEndView.tsx","../node_modules/radash/dist/esm/object.mjs","../src/Components/Profile/Subcomponents/ProfileTextView.tsx","../src/Components/Profile/Templates/FlexView.tsx","../src/Components/Profile/Templates/OnepagerView.tsx","../src/Components/Profile/Templates/SimpleView.tsx","../node_modules/@heroicons/react/24/outline/esm/LinkIcon.js","../src/Components/Profile/Subcomponents/ActionsButton.tsx","../node_modules/@heroicons/react/24/outline/esm/LinkSlashIcon.js","../src/Components/Profile/Subcomponents/LinkedItemsHeaderView.tsx","../src/Components/Profile/Templates/TabsView.tsx","../src/Components/Profile/ProfileView.tsx","../node_modules/@heroicons/react/24/outline/esm/ArrowUpTrayIcon.js","../src/Components/Profile/Subcomponents/AvatarWidget.tsx","../src/Components/Profile/hooks/useClickOutside.tsx","../src/Components/Profile/Subcomponents/ColorPicker.tsx","../src/Components/Profile/Subcomponents/FormHeader.tsx","../src/Components/Profile/Subcomponents/ContactInfoForm.tsx","../src/Components/Profile/Subcomponents/CrowdfundingForm.tsx","../src/Components/Input/ComboBoxInput.tsx","../src/Components/Profile/Subcomponents/GroupSubheaderForm.tsx","../src/Components/Profile/Subcomponents/ProfileStartEndForm.tsx","../src/Components/Profile/Subcomponents/MarkdownHint.tsx","../src/Components/Profile/Subcomponents/ProfileTextForm.tsx","../src/Components/Profile/Templates/FlexForm.tsx","../src/Components/Profile/Templates/OnepagerForm.tsx","../src/Components/Profile/Templates/SimpleForm.tsx","../src/Components/Input/Autocomplete.tsx","../src/Components/Profile/Subcomponents/TagsWidget.tsx","../src/Components/Profile/Templates/TabsForm.tsx","../src/Components/Profile/ProfileForm.tsx","../src/Components/Gaming/Modal.tsx","../src/Components/Gaming/Quests.tsx","../src/Components/Item/TemplateItemContext.ts","../src/Components/Item/templateify.tsx","../src/Components/Map/Subcomponents/ItemFormPopup.tsx","../src/Components/Item/PopupForm.tsx","../src/Components/Map/Subcomponents/ItemViewPopup.tsx","../src/Components/Item/PopupView.tsx","../src/Components/Item/index.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useState, createContext, useContext } from 'react';\nconst QuestContext = createContext({\n open: false,\n setQuestsOpen: () => { },\n});\nfunction useQuestsManager(initialOpen) {\n const [open, setOpen] = useState(initialOpen);\n const setQuestsOpen = useCallback((questOpen) => {\n setOpen(questOpen);\n }, []);\n return { open, setQuestsOpen };\n}\nexport const QuestsProvider = ({ initialOpen, children, }) => (_jsx(QuestContext.Provider, { value: useQuestsManager(initialOpen), children: children }));\nexport const useQuestsOpen = () => {\n const { open } = useContext(QuestContext);\n return open;\n};\nexport const useSetQuestOpen = () => {\n const { setQuestsOpen } = useContext(QuestContext);\n return setQuestsOpen;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createContext, useContext, useState } from 'react';\nconst ClusterRefContext = createContext({\n clusterRef: {},\n setClusterRef: () => { },\n});\nfunction useClusterRefManager() {\n const [clusterRef, setClusterRef] = useState({});\n return { clusterRef, setClusterRef };\n}\nexport const ClusterRefProvider = ({ children }) => (_jsx(ClusterRefContext.Provider, { value: useClusterRefManager(), children: children }));\nexport const useClusterRef = () => {\n const { clusterRef } = useContext(ClusterRefContext);\n return clusterRef;\n};\nexport const useSetClusterRef = () => {\n const { setClusterRef } = useContext(ClusterRefContext);\n return setClusterRef;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useReducer, createContext, useContext } from 'react';\nconst LayerContext = createContext({\n layers: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n addLayer: () => { },\n});\nfunction useLayerManager(initialLayers) {\n const [layers, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD LAYER':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((layer) => layer.name === action.layer.name);\n if (!exist) {\n return [...state, action.layer];\n }\n else\n return state;\n default:\n throw new Error();\n }\n }, initialLayers);\n const addLayer = useCallback((layer) => {\n dispatch({\n type: 'ADD LAYER',\n layer,\n });\n }, []);\n return { layers, addLayer };\n}\nexport const LayersProvider = ({ initialLayers, children }) => (_jsx(LayerContext.Provider, { value: useLayerManager(initialLayers), children: children }));\nexport const useLayers = () => {\n const { layers } = useContext(LayerContext);\n return layers;\n};\nexport const useAddLayer = () => {\n const { addLayer } = useContext(LayerContext);\n return addLayer;\n};\n","import { useState, useEffect } from 'react';\nfunction getWindowDimensions() {\n const { innerWidth: width, innerHeight: height } = window;\n return {\n width,\n height,\n };\n}\nexport default function useWindowDimensions() {\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\n useEffect(() => {\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n return windowDimensions;\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable no-case-declarations */\nimport { useCallback, useReducer, createContext, useContext, useState, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useLayers } from './useLayers';\nimport useWindowDimensions from './useWindowDimension';\nconst FilterContext = createContext({\n filterTags: [],\n searchPhrase: '',\n visibleLayers: [],\n visibleGroupTypes: [],\n addFilterTag: () => { },\n removeFilterTag: () => { },\n resetFilterTags: () => { },\n setSearchPhrase: () => { },\n addVisibleLayer: () => { },\n toggleVisibleLayer: () => { },\n resetVisibleLayers: () => { },\n isLayerVisible: () => true,\n addVisibleGroupType: () => { },\n toggleVisibleGroupType: () => { },\n isGroupTypeVisible: () => true,\n});\nfunction useFilterManager(initialTags) {\n const [filterTags, dispatchTags] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_TAG':\n const exist = state.find((tag) => tag.id === action.tag.id);\n if (!exist) {\n return [...state, action.tag];\n }\n else\n return state;\n case 'REMOVE_TAG':\n return state.filter(({ name }) => name !== action.name);\n case 'RESET_TAGS':\n return initialTags;\n default:\n throw new Error();\n }\n }, initialTags);\n const initialLayers = useLayers();\n const navigate = useNavigate();\n const windowDimensions = useWindowDimensions();\n const [visibleLayers, dispatchLayers] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_LAYER':\n const exist1 = state.find((layer) => layer.name === action.layer.name);\n if (!exist1) {\n return [...state, action.layer];\n }\n else\n return state;\n case 'TOGGLE_LAYER':\n const exist2 = state.some((layer) => layer.name === action.layer.name);\n if (exist2)\n return state.filter(({ name }) => name !== action.layer.name);\n else\n return [...state, action.layer];\n case 'RESET_LAYERS':\n return initialLayers;\n default:\n throw new Error();\n }\n }, initialLayers);\n const allLayers = useLayers();\n useEffect(() => {\n if (allLayers.length === 0)\n return;\n const visibleNames = visibleLayers.map((l) => l.name);\n const allNames = allLayers.map((l) => l.name);\n const params = new URLSearchParams(location.search);\n const allVisible = visibleNames.length === allNames.length &&\n visibleNames.every((name) => allNames.includes(name));\n if (allVisible) {\n params.delete('layers');\n }\n else {\n params.set('layers', visibleNames.join(','));\n }\n navigate(`${location.pathname}?${params.toString()}`, { replace: true });\n }, [visibleLayers, allLayers, navigate]);\n const [visibleGroupTypes, dispatchGroupTypes] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_GROUP_TYPE':\n const exist1 = state.find((groupType) => groupType === action.groupType);\n if (!exist1) {\n return [...state, action.groupType];\n }\n else\n return state;\n case 'TOGGLE_GROUP_TYPE':\n const exist2 = state.some((groupType) => groupType === action.groupType);\n if (exist2)\n return state.filter((groupType) => groupType !== action.groupType);\n else\n return [...state, action.groupType];\n case 'RESET_GROUP_TYPE':\n return [];\n default:\n throw new Error();\n }\n }, []);\n const [searchPhrase, searchPhraseSet] = useState('');\n const addFilterTag = useCallback((tag) => {\n const params = new URLSearchParams(location.search);\n const urlTags = params.get('tags');\n const decodedTags = urlTags ? decodeURIComponent(urlTags) : '';\n if (!decodedTags.includes(tag.name)) {\n params.set('tags', `${urlTags || ''}${urlTags ? ';' : ''}${tag.name}`);\n }\n if (windowDimensions.width < 786 && location.pathname.split('/').length > 2)\n navigate('/' + `${params ? `?${params}` : ''}`);\n else\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n dispatchTags({\n type: 'ADD_TAG',\n tag,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const removeFilterTag = useCallback((name) => {\n const params = new URLSearchParams(window.location.search);\n const urlTags = params.get('tags');\n let newUrlTags = '';\n const tags = urlTags?.split(';');\n if (tags?.length === 0 && urlTags?.length && urlTags.length > 0)\n tags[0] = urlTags;\n tags?.map((urlTag) => {\n if (!(urlTag.toLocaleLowerCase() === name.toLocaleLowerCase())) {\n newUrlTags = newUrlTags + `${newUrlTags === '' ? urlTag : `;${urlTag}`}`;\n }\n return null;\n });\n if (newUrlTags !== '') {\n params.set('tags', `${newUrlTags}`);\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n }\n else {\n params.delete('tags');\n navigate(location.pathname + `${params ? `?${params}` : ''}`);\n }\n dispatchTags({\n type: 'REMOVE_TAG',\n name,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const resetFilterTags = useCallback(() => {\n dispatchTags({\n type: 'RESET_TAGS',\n });\n }, []);\n const addVisibleLayer = (layer) => {\n dispatchLayers({\n type: 'ADD_LAYER',\n layer,\n });\n };\n const toggleVisibleLayer = (layer) => {\n dispatchLayers({\n type: 'TOGGLE_LAYER',\n layer,\n });\n };\n const resetVisibleLayers = useCallback(() => {\n dispatchLayers({\n type: 'RESET_LAYERS',\n });\n }, []);\n const isLayerVisible = useCallback((layer) => {\n return visibleLayers.some((l) => l.name === layer.name);\n }, [visibleLayers]);\n const addVisibleGroupType = (groupType) => {\n dispatchGroupTypes({\n type: 'ADD_GROUP_TYPE',\n groupType,\n });\n };\n const toggleVisibleGroupType = (groupType) => {\n dispatchGroupTypes({\n type: 'TOGGLE_GROUP_TYPE',\n groupType,\n });\n };\n const isGroupTypeVisible = useCallback((groupType) => {\n return visibleGroupTypes.some((gt) => gt === groupType);\n }, [visibleGroupTypes]);\n const setSearchPhrase = useCallback((phrase) => {\n searchPhraseSet(phrase);\n }, []);\n return {\n filterTags,\n addFilterTag,\n removeFilterTag,\n resetFilterTags,\n setSearchPhrase,\n searchPhrase,\n visibleLayers,\n toggleVisibleLayer,\n resetVisibleLayers,\n isLayerVisible,\n addVisibleLayer,\n visibleGroupTypes,\n addVisibleGroupType,\n toggleVisibleGroupType,\n isGroupTypeVisible,\n };\n}\nexport const FilterProvider = ({ initialTags, children }) => (_jsx(FilterContext.Provider, { value: useFilterManager(initialTags), children: children }));\nexport const useFilterTags = () => {\n const { filterTags } = useContext(FilterContext);\n return filterTags;\n};\nexport const useAddFilterTag = () => {\n const { addFilterTag } = useContext(FilterContext);\n return addFilterTag;\n};\nexport const useRemoveFilterTag = () => {\n const { removeFilterTag } = useContext(FilterContext);\n return removeFilterTag;\n};\nexport const useResetFilterTags = () => {\n const { resetFilterTags } = useContext(FilterContext);\n return resetFilterTags;\n};\nexport const useSearchPhrase = () => {\n const { searchPhrase } = useContext(FilterContext);\n return searchPhrase;\n};\nexport const useSetSearchPhrase = () => {\n const { setSearchPhrase } = useContext(FilterContext);\n return setSearchPhrase;\n};\nexport const useVisibleLayer = () => {\n const { visibleLayers } = useContext(FilterContext);\n return visibleLayers;\n};\nexport const useAddVisibleLayer = () => {\n const { addVisibleLayer } = useContext(FilterContext);\n return addVisibleLayer;\n};\nexport const useToggleVisibleLayer = () => {\n const { toggleVisibleLayer } = useContext(FilterContext);\n return toggleVisibleLayer;\n};\nexport const useResetVisibleLayers = () => {\n const { resetVisibleLayers } = useContext(FilterContext);\n return resetVisibleLayers;\n};\nexport const useIsLayerVisible = () => {\n const { isLayerVisible } = useContext(FilterContext);\n return isLayerVisible;\n};\nexport const useAddVisibleGroupType = () => {\n const { addVisibleGroupType } = useContext(FilterContext);\n return addVisibleGroupType;\n};\nexport const useToggleVisibleGroupType = () => {\n const { toggleVisibleGroupType } = useContext(FilterContext);\n return toggleVisibleGroupType;\n};\nexport const useIsGroupTypeVisible = () => {\n const { isGroupTypeVisible } = useContext(FilterContext);\n return isGroupTypeVisible;\n};\nexport const useVisibleGroupType = () => {\n const { visibleGroupTypes } = useContext(FilterContext);\n return visibleGroupTypes;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-misused-promises */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useAddLayer } from './useLayers';\nconst ItemContext = createContext({\n items: [],\n addItem: () => { },\n updateItem: () => { },\n removeItem: () => { },\n resetItems: () => { },\n setItemsApi: () => { },\n setItemsData: () => { },\n allItemsLoaded: false,\n});\nfunction useItemsManager(initialItems) {\n const addLayer = useAddLayer();\n const [allItemsLoaded, setallItemsLoaded] = useState(false);\n const [items, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((item) => item.id === action.item.id);\n if (!exist) {\n return [...state, action.item];\n }\n else\n return state;\n case 'UPDATE':\n return state.map((item) => {\n if (item.id === action.item.id) {\n return action.item;\n }\n return item;\n });\n case 'REMOVE':\n return state.filter((item) => item !== action.item);\n case 'RESET':\n return state.filter((item) => item.layer?.name !== action.layer.name);\n default:\n throw new Error();\n }\n }, initialItems);\n const setItemsApi = useCallback(async (layer) => {\n addLayer(layer);\n const result = await toast.promise(layer.api.getItems(), {\n pending: `loading ${layer.name} ...`,\n success: `${layer.name} loaded`,\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n });\n result.map((item) => {\n dispatch({ type: 'ADD', item: { ...item, layer } });\n return null;\n });\n setallItemsLoaded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const setItemsData = useCallback((layer) => {\n addLayer(layer);\n layer.data?.map((item) => {\n dispatch({ type: 'ADD', item: { ...item, layer } });\n return null;\n });\n setallItemsLoaded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const addItem = useCallback(async (item) => {\n dispatch({\n type: 'ADD',\n item,\n });\n }, []);\n const updateItem = useCallback(async (item) => {\n dispatch({\n type: 'UPDATE',\n item,\n });\n }, []);\n const removeItem = useCallback((item) => {\n dispatch({\n type: 'REMOVE',\n item,\n });\n }, []);\n const resetItems = useCallback((layer) => {\n dispatch({\n type: 'RESET',\n layer,\n });\n }, []);\n return {\n items,\n updateItem,\n addItem,\n removeItem,\n resetItems,\n setItemsApi,\n setItemsData,\n allItemsLoaded,\n };\n}\nexport const ItemsProvider = ({ initialItems, children }) => (_jsx(ItemContext.Provider, { value: useItemsManager(initialItems), children: children }));\nexport const useItems = () => {\n const { items } = useContext(ItemContext);\n return items;\n};\nexport const useAddItem = () => {\n const { addItem } = useContext(ItemContext);\n return addItem;\n};\nexport const useUpdateItem = () => {\n const { updateItem } = useContext(ItemContext);\n return updateItem;\n};\nexport const useRemoveItem = () => {\n const { removeItem } = useContext(ItemContext);\n return removeItem;\n};\nexport const useResetItems = () => {\n const { resetItems } = useContext(ItemContext);\n return resetItems;\n};\nexport const useSetItemsApi = () => {\n const { setItemsApi } = useContext(ItemContext);\n return setItemsApi;\n};\nexport const useSetItemsData = () => {\n const { setItemsData } = useContext(ItemContext);\n return setItemsData;\n};\nexport const useAllItemsLoaded = () => {\n const { allItemsLoaded } = useContext(ItemContext);\n return allItemsLoaded;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useReducer, createContext, useContext } from 'react';\nconst LeafletRefsContext = createContext({\n leafletRefs: {},\n addMarker: () => { },\n addPopup: () => { },\n});\nfunction useLeafletRefsManager(initialLeafletRefs) {\n const [leafletRefs, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD_MARKER':\n return {\n ...state,\n [action.item.id]: {\n ...state[action.item.id],\n marker: action.marker,\n item: action.item,\n },\n };\n case 'ADD_POPUP':\n return {\n ...state,\n [action.item.id]: { ...state[action.item.id], popup: action.popup, item: action.item },\n };\n default:\n throw new Error();\n }\n }, initialLeafletRefs);\n const addMarker = useCallback((item, marker) => {\n dispatch({\n type: 'ADD_MARKER',\n item,\n marker,\n });\n }, []);\n const addPopup = useCallback((item, popup) => {\n dispatch({\n type: 'ADD_POPUP',\n item,\n popup,\n });\n }, []);\n return { leafletRefs, addMarker, addPopup };\n}\nexport const LeafletRefsProvider = ({ initialLeafletRefs, children }) => (_jsx(LeafletRefsContext.Provider, { value: useLeafletRefsManager(initialLeafletRefs), children: children }));\nexport const useLeafletRefs = () => {\n const { leafletRefs } = useContext(LeafletRefsContext);\n return leafletRefs;\n};\nexport const useAddMarker = () => {\n const { addMarker } = useContext(LeafletRefsContext);\n return addMarker;\n};\nexport const useAddPopup = () => {\n const { addPopup } = useContext(LeafletRefsContext);\n return addPopup;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useState, useContext, useEffect } from 'react';\nconst AuthContext = createContext({\n isAuthenticated: false,\n user: null,\n login: () => Promise.reject(Error('Unimplemented')),\n register: () => Promise.reject(Error('Unimplemented')),\n loading: false,\n logout: () => Promise.reject(Error('Unimplemented')),\n updateUser: () => Promise.reject(Error('Unimplemented')),\n token: '',\n requestPasswordReset: () => Promise.reject(Error('Unimplemented')),\n passwordReset: () => Promise.reject(Error('Unimplemented')),\n});\n/**\n * @category Auth\n */\nexport const AuthProvider = ({ userApi, children }) => {\n const [user, setUser] = useState(null);\n const [token, setToken] = useState();\n const [loading, setLoading] = useState(false);\n const isAuthenticated = !!user;\n useEffect(() => {\n setLoading(true);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n loadUser();\n setLoading(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n async function loadUser() {\n try {\n const token = await userApi.getToken();\n setToken(token);\n if (token) {\n const me = await userApi.getUser();\n setUser(me);\n setLoading(false);\n return me;\n }\n else\n return undefined;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n setLoading(false);\n return undefined;\n }\n }\n const login = async (credentials) => {\n setLoading(true);\n try {\n const user = await userApi.login(credentials.email, credentials.password);\n setToken(user?.access_token);\n return await loadUser();\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const register = async (credentials, userName) => {\n setLoading(true);\n try {\n /* const res = */ await userApi.register(credentials.email, credentials.password, userName);\n return await login(credentials);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const logout = async () => {\n try {\n await userApi.logout();\n setUser(null);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const updateUser = async (user) => {\n setLoading(true);\n try {\n const updatedUser = await userApi.updateUser(user);\n setUser(updatedUser);\n await loadUser();\n setLoading(false);\n return updatedUser;\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const requestPasswordReset = async (email, resetUrl) => {\n setLoading(true);\n try {\n await userApi.requestPasswordReset(email, resetUrl);\n return setLoading(false);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n const passwordReset = async (token, newPassword) => {\n setLoading(true);\n try {\n await userApi.passwordReset(token, newPassword);\n return setLoading(false);\n }\n catch (error) {\n setLoading(false);\n throw error;\n }\n };\n return (_jsx(AuthContext.Provider, { value: {\n isAuthenticated,\n user,\n login,\n register,\n loading,\n logout,\n updateUser,\n token,\n requestPasswordReset,\n passwordReset,\n }, children: children }));\n};\nexport const useAuth = () => useContext(AuthContext);\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nconst PermissionContext = createContext({\n permissions: [],\n setPermissionApi: () => { },\n setPermissionData: () => { },\n setAdminRole: () => { },\n hasUserPermission: () => true,\n});\nfunction usePermissionsManager(initialPermissions) {\n const [permissions, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((permission) => permission.id === action.permission.id);\n if (!exist) {\n return [...state, action.permission];\n }\n else\n return state;\n case 'REMOVE':\n return state.filter(({ id }) => id !== action.id);\n default:\n throw new Error();\n }\n }, initialPermissions);\n const [adminRole, setAdminRole] = useState(null);\n const { user } = useAuth();\n const setPermissionApi = useCallback(async (api) => {\n const result = await api.getItems();\n result.map((permission) => {\n dispatch({ type: 'ADD', permission });\n return null;\n });\n }, []);\n const setPermissionData = useCallback((data) => {\n data.map((permission) => {\n dispatch({ type: 'ADD', permission });\n return null;\n });\n }, []);\n const hasUserPermission = useCallback((collectionName, action, item, layer) => {\n const evaluateCondition = (condition) => {\n if (condition.user_created?._eq === '$CURRENT_USER') {\n return item?.user_created?.id === user?.id;\n }\n if (condition.public_edit?._eq === true) {\n return item?.public_edit === true;\n }\n return false;\n };\n const evaluatePermissions = (permissionConditions) => {\n if (!permissionConditions?._and) {\n return true;\n }\n return permissionConditions._and.every((andCondition) => andCondition._or\n ? andCondition._or.some((orCondition) => evaluateCondition(orCondition))\n : evaluateCondition(andCondition));\n };\n if (collectionName === 'items' && action === 'create' && layer?.public_edit_items)\n return true;\n // Bedingung für leere Berechtigungen nur, wenn NICHT item und create\n if (permissions.length === 0)\n return true;\n else if (user && user.role?.id === adminRole)\n return true;\n else {\n return permissions.some((p) => p.action === action &&\n p.collection === collectionName &&\n ((p.policy?.name === user?.role?.name &&\n (!item || evaluatePermissions(p.permissions))) ||\n (p.policy?.name === '$t:public_label' &&\n (layer?.public_edit_items || item?.layer?.public_edit_items) &&\n (!item || evaluatePermissions(p.permissions)))));\n }\n }, [permissions, user, adminRole]);\n return { permissions, setPermissionApi, setPermissionData, setAdminRole, hasUserPermission };\n}\nexport const PermissionsProvider = ({ initialPermissions, children, }) => (_jsx(PermissionContext.Provider, { value: usePermissionsManager(initialPermissions), children: children }));\nexport const usePermissions = () => {\n const { permissions } = useContext(PermissionContext);\n return permissions;\n};\nexport const useSetPermissionApi = () => {\n const { setPermissionApi } = useContext(PermissionContext);\n return setPermissionApi;\n};\nexport const useSetPermissionData = () => {\n const { setPermissionData } = useContext(PermissionContext);\n return setPermissionData;\n};\nexport const useHasUserPermission = () => {\n const { hasUserPermission } = useContext(PermissionContext);\n return hasUserPermission;\n};\nexport const useSetAdminRole = () => {\n const { setAdminRole } = useContext(PermissionContext);\n return setAdminRole;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useContext, useState } from 'react';\nconst PoupFormContext = createContext({\n popupForm: {},\n setPopupForm: () => {\n /* empty function */\n },\n});\nfunction usePopupFormManager() {\n const [popupForm, setPopupForm] = useState(null);\n return { popupForm, setPopupForm };\n}\nexport const PopupFormProvider = ({ children }) => (_jsx(PoupFormContext.Provider, { value: usePopupFormManager(), children: children }));\nexport const usePopupForm = () => {\n const { popupForm, setPopupForm } = useContext(PoupFormContext);\n return { popupForm, setPopupForm };\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/await-thenable */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { createContext, useContext, useEffect, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useUpdateItem } from './useItems';\nimport { useHasUserPermission } from './usePermissions';\nconst SelectPositionContext = createContext({\n selectPosition: null,\n setSelectPosition: () => { },\n setMarkerClicked: () => { },\n setMapClicked: () => { },\n});\nfunction useSelectPositionManager() {\n const [selectPosition, setSelectPosition] = useState(null);\n const [markerClicked, setMarkerClicked] = useState();\n const [mapClicked, setMapClicked] = useState();\n const updateItem = useUpdateItem();\n const hasUserPermission = useHasUserPermission();\n useEffect(() => {\n if (selectPosition &&\n markerClicked &&\n 'text' in selectPosition &&\n markerClicked.id !== selectPosition.id) {\n itemUpdateParent({ ...selectPosition, parent: markerClicked.id });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [markerClicked]);\n useEffect(() => {\n if (selectPosition != null) {\n // selectPosition can be null, Layer or Item\n if ('menuIcon' in selectPosition) {\n // if selectPosition is a Layer\n mapClicked &&\n mapClicked.setItemFormPopup({\n layer: selectPosition,\n position: mapClicked.position,\n });\n setSelectPosition(null);\n }\n if ('text' in selectPosition) {\n // if selectPosition is an Item\n const position = mapClicked?.position.lng &&\n {\n type: 'Point',\n coordinates: [mapClicked.position.lng, mapClicked.position.lat],\n };\n position && itemUpdatePosition({ ...selectPosition, position });\n setSelectPosition(null);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapClicked]);\n const itemUpdateParent = async (updatedItem) => {\n if (markerClicked?.layer?.api?.collectionName &&\n hasUserPermission(markerClicked.layer.api.collectionName, 'update', markerClicked)) {\n let success = false;\n try {\n await updatedItem.layer?.api?.updateItem({\n id: updatedItem.id,\n parent: updatedItem.parent,\n position: null,\n });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n await updateItem({ ...updatedItem, parent: updatedItem.parent, position: undefined });\n await linkItem(updatedItem.id);\n toast.success('Item position updated');\n setSelectPosition(null);\n setMarkerClicked(null);\n }\n }\n else {\n setSelectPosition(null);\n toast.error(\"you don't have permission to add items to \" + markerClicked?.name);\n }\n };\n const itemUpdatePosition = async (updatedItem) => {\n let success = false;\n try {\n await updatedItem.layer?.api?.updateItem({\n id: updatedItem.id,\n position: updatedItem.position,\n });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n updateItem(updatedItem);\n toast.success('Item position updated');\n }\n };\n const linkItem = async (id) => {\n if (markerClicked) {\n const newRelations = markerClicked.relations || [];\n if (!newRelations.some((r) => r.related_items_id === id)) {\n newRelations.push({ items_id: markerClicked.id, related_items_id: id });\n const updatedItem = { id: markerClicked.id, relations: newRelations };\n let success = false;\n try {\n await markerClicked.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...markerClicked, relations: newRelations });\n toast.success('Item linked');\n }\n }\n }\n };\n return { selectPosition, setSelectPosition, setMarkerClicked, setMapClicked };\n}\nexport const SelectPositionProvider = ({ children }) => (_jsx(SelectPositionContext.Provider, { value: useSelectPositionManager(), children: children }));\nexport const useSelectPosition = () => {\n const { selectPosition } = useContext(SelectPositionContext);\n return selectPosition;\n};\nexport const useSetSelectPosition = () => {\n const { setSelectPosition } = useContext(SelectPositionContext);\n return setSelectPosition;\n};\nexport const useSetMarkerClicked = () => {\n const { setMarkerClicked } = useContext(SelectPositionContext);\n return setMarkerClicked;\n};\nexport const useSetMapClicked = () => {\n const { setMapClicked } = useContext(SelectPositionContext);\n return setMapClicked;\n};\n","export const hashTagRegex = /(#+[a-zA-Z0-9À-ÖØ-öø-ʸ_-]{1,})/g;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { useCallback, useReducer, createContext, useContext, useState } from 'react';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nconst TagContext = createContext({\n tags: [],\n addTag: () => { },\n setTagApi: () => { },\n setTagData: () => { },\n getItemTags: () => [],\n allTagsLoaded: false,\n});\nfunction useTagsManager(initialTags) {\n const [allTagsLoaded, setallTagsLoaded] = useState(false);\n const [tagCount, setTagCount] = useState(0);\n const [tags, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case 'ADD':\n // eslint-disable-next-line no-case-declarations\n const exist = state.find((tag) => tag.name.toLocaleLowerCase() === action.tag.name.toLocaleLowerCase());\n if (!exist) {\n const newState = [...state, { ...action.tag }];\n if (tagCount === newState.length)\n setallTagsLoaded(true);\n return newState;\n }\n else\n return state;\n default:\n throw new Error();\n }\n }, initialTags);\n const [api, setApi] = useState({});\n const setTagApi = useCallback(async (api) => {\n setApi(api);\n const result = await api.getItems();\n setTagCount(result.length);\n if (tagCount === 0)\n setallTagsLoaded(true);\n if (result) {\n result.map((tag) => {\n // tag.name = tag.name.toLocaleLowerCase();\n dispatch({ type: 'ADD', tag });\n return null;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const setTagData = useCallback((data) => {\n data.map((tag) => {\n // tag.name = tag.name.toLocaleLowerCase();\n dispatch({ type: 'ADD', tag });\n return null;\n });\n }, []);\n const addTag = (tag) => {\n dispatch({\n type: 'ADD',\n tag,\n });\n if (!tags.some((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())) {\n api.createItem && api.createItem(tag);\n }\n };\n const getItemTags = useCallback((item) => {\n const text = item.text;\n const itemTagStrings = text?.match(hashTagRegex);\n const itemTags = [];\n itemTagStrings?.map((tag) => {\n if (tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n itemTags.push(tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase()));\n }\n return null;\n });\n // Could be refactored as it occurs in multiple places\n item.offers?.forEach((o) => {\n const offer = tags.find((t) => t.id === o.tags_id);\n offer && itemTags.push(offer);\n });\n item.needs?.forEach((n) => {\n const need = tags.find((t) => t.id === n.tags_id);\n need && itemTags.push(need);\n });\n return itemTags;\n }, [tags]);\n return { tags, addTag, setTagApi, setTagData, getItemTags, allTagsLoaded };\n}\nexport const TagsProvider = ({ initialTags, children }) => (_jsx(TagContext.Provider, { value: useTagsManager(initialTags), children: children }));\nexport const useTags = () => {\n const { tags } = useContext(TagContext);\n return tags;\n};\nexport const useAddTag = () => {\n const { addTag } = useContext(TagContext);\n return addTag;\n};\nexport const useSetTagApi = () => {\n const { setTagApi } = useContext(TagContext);\n return setTagApi;\n};\nexport const useSetTagData = () => {\n const { setTagData } = useContext(TagContext);\n return setTagData;\n};\nexport const useGetItemTags = () => {\n const { getItemTags } = useContext(TagContext);\n return getItemTags;\n};\nexport const useAllTagsLoaded = () => {\n const { allTagsLoaded } = useContext(TagContext);\n return allTagsLoaded;\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { useCallback, useState, createContext, useContext } from 'react';\nconst initialAppState = {\n assetsApi: {},\n sideBarOpen: false,\n sideBarSlim: false,\n showThemeControl: false,\n embedded: false,\n openCollectiveApiKey: '',\n};\nconst AppContext = createContext({\n state: initialAppState,\n setAppState: () => { },\n});\nfunction useAppManager() {\n const [state, setState] = useState(initialAppState);\n const setAppState = useCallback((newState) => {\n setState((prevState) => ({\n ...prevState,\n ...newState,\n }));\n }, []);\n return { state, setAppState };\n}\nexport const AppStateProvider = ({ children }) => _jsx(AppContext.Provider, { value: useAppManager(), children: children });\nexport const useAppState = () => {\n const { state } = useContext(AppContext);\n return state;\n};\nexport const useSetAppState = () => {\n const { setAppState } = useContext(AppContext);\n return setAppState;\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { useContext, createContext } from 'react';\nimport { BrowserRouter as Router, useInRouterContext } from 'react-router-dom';\nimport { ToastContainer } from 'react-toastify';\nimport { QuestsProvider } from '#components/Gaming/hooks/useQuests';\nimport { ClusterRefProvider } from '#components/Map/hooks/useClusterRef';\nimport { FilterProvider } from '#components/Map/hooks/useFilter';\nimport { ItemsProvider } from '#components/Map/hooks/useItems';\nimport { LayersProvider } from '#components/Map/hooks/useLayers';\nimport { LeafletRefsProvider } from '#components/Map/hooks/useLeafletRefs';\nimport { PermissionsProvider } from '#components/Map/hooks/usePermissions';\nimport { PopupFormProvider } from '#components/Map/hooks/usePopupForm';\nimport { SelectPositionProvider } from '#components/Map/hooks/useSelectPosition';\nimport { TagsProvider } from '#components/Map/hooks/useTags';\nimport { AppStateProvider } from './hooks/useAppState';\n// Helper context to determine if the ContextWrapper is already present.\nconst ContextCheckContext = createContext(false);\nconst CloseButton = ({ closeToast }) => (_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2 tw:focus:outline-hidden', onClick: closeToast, children: \"\\u2715\" }));\nexport const ContextWrapper = ({ children }) => {\n const isWrapped = useContext(ContextCheckContext);\n const isInsideRouter = useInRouterContext();\n let returnValue = children;\n if (!isWrapped) {\n returnValue = (_jsx(ContextCheckContext.Provider, { value: true, children: _jsx(Wrappers, { children: returnValue }) }));\n }\n if (!isInsideRouter) {\n returnValue = _jsx(Router, { children: returnValue });\n }\n return returnValue;\n};\n// eslint-disable-next-line react/prop-types\nexport const Wrappers = ({ children }) => {\n const queryClient = new QueryClient();\n return (_jsx(PermissionsProvider, { initialPermissions: [], children: _jsx(TagsProvider, { initialTags: [], children: _jsx(LayersProvider, { initialLayers: [], children: _jsx(FilterProvider, { initialTags: [], children: _jsx(ItemsProvider, { initialItems: [], children: _jsx(SelectPositionProvider, { children: _jsx(LeafletRefsProvider, { initialLeafletRefs: {}, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(AppStateProvider, { children: _jsx(ClusterRefProvider, { children: _jsx(PopupFormProvider, { children: _jsxs(QuestsProvider, { initialOpen: true, children: [_jsx(ToastContainer, { position: 'top-right', autoClose: 2000, hideProgressBar: true, newestOnTop: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: 'light', closeButton: CloseButton }), children] }) }) }) }) }) }) }) }) }) }) }) }));\n};\n","import { useEffect } from 'react';\nexport const useTheme = (defaultTheme = 'default') => {\n useEffect(() => {\n const savedTheme = localStorage.getItem('theme');\n const initialTheme = savedTheme ? JSON.parse(savedTheme) : defaultTheme;\n if (initialTheme !== 'default') {\n document.documentElement.setAttribute('data-theme', defaultTheme);\n localStorage.setItem('theme', JSON.stringify(initialTheme));\n }\n }, [defaultTheme]);\n};\n","export function containsUUID(str) {\n const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i;\n return uuidRegex.test(str);\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport SVG from 'react-inlinesvg';\nimport PlusSVG from '#assets/plus.svg';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nexport default function AddButton({ triggerAction, }) {\n const layers = useLayers();\n const hasUserPermission = useHasUserPermission();\n const canAddItems = () => {\n let canAdd = false;\n layers.map((layer) => {\n if (layer.api?.createItem &&\n hasUserPermission(layer.api.collectionName, 'create', undefined, layer) &&\n layer.listed)\n canAdd = true;\n return null;\n });\n return canAdd;\n };\n return (_jsx(_Fragment, { children: canAddItems() ? (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-top tw:dropdown-end tw:dropdown-hover tw:z-500 tw:absolute tw:right-4 tw:bottom-4', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:btn-lg tw:shadow tw:bg-base-100', children: _jsx(SVG, { src: PlusSVG, className: 'tw:h-5 tw:w-5' }) }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:pr-1 tw:list-none', children: layers.map((layer) => layer.api?.createItem &&\n hasUserPermission(layer.api.collectionName, 'create', undefined, layer) &&\n layer.listed && (_jsx(\"li\", { children: _jsx(\"a\", { children: _jsx(\"div\", { className: 'tw:tooltip tw:tooltip-left', \"data-tip\": layer.menuText, children: _jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:border-0 tw:pl-2 tw:p-0 tw:mb-3 tw:w-10 tw:h-10 tw:cursor-pointer tw:rounded-full tw:mouse tw:drop-shadow-md tw:transition tw:ease-in tw:duration-200 tw:focus:outline-hidden', style: { backgroundColor: layer.menuColor || '#777' }, onClick: () => {\n triggerAction(layer);\n }, onTouchEnd: (e) => {\n triggerAction(layer);\n e.preventDefault();\n }, children: _jsx(\"img\", { src: layer.menuIcon, className: 'tw:h-6 tw:w-6 tw:text-white', style: { filter: 'invert(100%) brightness(200%)' } }) }) }) }) }, layer.name))) })] })) : ('') }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { DomEvent } from 'leaflet';\nimport { createRef, useEffect } from 'react';\nexport const Control = ({ position, children, zIndex, absolute, }) => {\n const controlContainerRef = createRef();\n useEffect(() => {\n if (controlContainerRef.current !== null) {\n DomEvent.disableClickPropagation(controlContainerRef.current);\n DomEvent.disableScrollPropagation(controlContainerRef.current);\n }\n }, [controlContainerRef]);\n return (_jsx(\"div\", { ref: controlContainerRef, style: { zIndex }, className: `${absolute && 'tw:absolute'} tw:z-999 tw:flex-col ${position === 'topLeft' && 'tw:top-4 tw:left-4'} ${position === 'bottomLeft' && 'tw:bottom-4 tw:left-4'} ${position === 'topRight' && 'tw:bottom-4 tw:right-4'} ${position === 'bottomRight' && 'tw:bottom-4 tw:right-4'}`, children: children }));\n};\n","import * as React from \"react\";\nfunction FunnelIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(FunnelIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport FunnelIcon from '@heroicons/react/24/outline/FunnelIcon';\nimport { useEffect, useState } from 'react';\nimport { useAddVisibleGroupType, useIsGroupTypeVisible, useToggleVisibleGroupType, useVisibleGroupType, } from '#components/Map/hooks/useFilter';\nexport function FilterControl() {\n const [open, setOpen] = useState(false);\n const groupTypes = [\n { text: 'Regional Gruppe', value: 'Regional-Gruppe' },\n { text: 'Themen Gruppe', value: 'Themen-Gruppe' },\n { text: 'liebevoll.jetzt', value: 'liebevoll.jetzt' },\n ];\n useEffect(() => {\n groupTypes.map((layer) => addVisibleGroupType(layer.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const isGroupTypeVisible = useIsGroupTypeVisible();\n const toggleVisibleGroupType = useToggleVisibleGroupType();\n const addVisibleGroupType = useAddVisibleGroupType();\n const visibleGroupTypes = useVisibleGroupType();\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: open ? (_jsxs(\"div\", { className: 'tw:card-body tw:pr-4 tw:min-w-[8rem] tw:p-2 tw:w-fit tw:transition-all tw:duration-300', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setOpen(false);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"ul\", { className: 'tw:flex-row', children: groupTypes.map((groupType) => (_jsx(\"li\", { children: _jsxs(\"label\", { htmlFor: groupType.value, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1', children: [_jsx(\"input\", { id: groupType.value, onChange: () => toggleVisibleGroupType(groupType.value), type: 'checkbox', className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isGroupTypeVisible(groupType.value) }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: groupType.text })] }) }, groupType.value))) })] })) : (_jsxs(\"div\", { className: 'tw:indicator', children: [visibleGroupTypes.length < groupTypes.length && (_jsx(\"span\", { className: 'tw:indicator-item tw:badge tw:badge-success tw:h-4 tw:p-2 tw:translate-x-1/3 tw:-translate-y-1/3 tw:border-0' })), _jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n setOpen(true);\n }, children: _jsx(FunnelIcon, { className: 'size-6 tw:stroke-[2.5]' }) })] })) }));\n}\n","import * as React from \"react\";\nfunction HeartIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(HeartIcon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport HeartIcon from '@heroicons/react/24/outline/HeartIcon';\nimport { useNavigate } from 'react-router-dom';\nimport { useAuth } from '#components/Auth/useAuth';\nexport const GratitudeControl = () => {\n const navigate = useNavigate();\n const { isAuthenticated } = useAuth();\n if (isAuthenticated) {\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: _jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n navigate('/select-user');\n }, children: _jsx(HeartIcon, { className: 'tw:stroke-[2.5]' }) }) }));\n }\n else\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport LayerSVG from '#assets/layer.svg';\nimport { useIsLayerVisible, useToggleVisibleLayer } from '#components/Map/hooks/useFilter';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nexport function LayerControl({ expandLayerControl = false }) {\n const [open, setOpen] = useState(expandLayerControl);\n const layers = useLayers();\n const isLayerVisible = useIsLayerVisible();\n const toggleVisibleLayer = useToggleVisibleLayer();\n return (_jsx(\"div\", { className: 'tw:card tw:bg-base-100 tw:shadow-xl tw:mt-2 tw:w-fit', children: open ? (_jsxs(\"div\", { className: 'tw:card-body tw:pr-4 tw:min-w-[8rem] tw:p-2 tw:transition-all tw:w-fit tw:duration-300', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setOpen(false);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"ul\", { className: 'tw:flex-row', children: layers.map((layer) => layer.listed && (_jsx(\"li\", { children: _jsxs(\"label\", { htmlFor: layer.name, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1 tw:text-base-content', children: [_jsx(\"input\", { id: layer.name, onChange: () => toggleVisibleLayer(layer), type: 'checkbox', className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isLayerVisible(layer) }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: layer.name })] }) }, layer.name))) })] })) : (_jsx(\"div\", { className: 'tw:card-body tw:hover:bg-slate-300 tw:card tw:p-2 tw:h-10 tw:w-10 tw:transition-all tw:duration-300 tw:hover:cursor-pointer', onClick: () => {\n setOpen(true);\n }, children: _jsx(SVG, { src: LayerSVG }) })) }));\n}\n","import * as React from \"react\";\nfunction FlagIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(FlagIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction MagnifyingGlassIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(MagnifyingGlassIcon);\nexport default ForwardRef;","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { useCallback, useEffect, useRef } from 'react';\nexport const useTimeout = (callback, delay) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef();\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n const set = useCallback(() => {\n timeoutRef.current = setTimeout(() => callbackRef.current(), delay);\n }, [delay]);\n const clear = useCallback(() => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n }, []);\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n return { reset, clear };\n};\n","import { useEffect } from 'react';\nimport { useTimeout } from './useTimeout';\nexport const useDebounce = (callback, delay, deps) => {\n const { reset, clear } = useTimeout(callback, delay);\n useEffect(reset, [...deps, reset]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n};\n","export function decodeTag(string) {\n const formatedTag = string.replace(/_/g, '\\u00A0');\n return formatedTag.charAt(0).toUpperCase() + formatedTag.slice(1);\n}\nexport function encodeTag(string) {\n return string.replace(/\\s+/g, '_');\n}\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { divIcon, Point } from 'leaflet';\nconst createSvg = (shape, markerColor, borderColor) => {\n const svgMap = {\n circle: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17.5 2.746c-8.284 0-15 6.853-15 15.307 0 .963.098 1.902.265 2.816a15.413 15.413 0 002.262 5.684l.134.193 12.295 17.785 12.439-17.863.056-.08a15.422 15.422 0 002.343-6.112c.123-.791.206-1.597.206-2.423 0-8.454-6.716-15.307-15-15.307\" fill=\"' +\n markerColor +\n '\" /><path d=\"M17.488 2.748c-8.284 0-15 6.853-15 15.307 0 .963.098 1.902.265 2.816a15.413 15.413 0 002.262 5.684l.134.193 12.295 17.785 12.44-17.863.055-.08a15.422 15.422 0 002.343-6.112c.124-.791.206-1.597.206-2.423 0-8.454-6.716-15.307-15-15.307m0 1.071c7.68 0 13.929 6.386 13.929 14.236 0 .685-.064 1.423-.193 2.258-.325 2.075-1.059 3.99-2.164 5.667l-.055.078-11.557 16.595L6.032 26.14l-.12-.174a14.256 14.256 0 01-2.105-5.29 14.698 14.698 0 01-.247-2.62c0-7.851 6.249-14.237 13.928-14.237\" fill=\"' +\n borderColor +\n '\" opacity=\"1\" /></svg>',\n square: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M28.205 3.217H6.777c-2.367 0-4.286 1.87-4.286 4.179v19.847c0 2.308 1.919 4.179 4.286 4.179h5.357l5.337 13.58 5.377-13.58h5.357c2.366 0 4.285-1.87 4.285-4.179V7.396c0-2.308-1.919-4.179-4.285-4.179\" fill=\"' +\n markerColor +\n '\" /><g opacity=\"1\" transform=\"matrix(1.0714 0 0 -1.0714 -233.22 146.783)\"><path d=\"M244 134h-20c-2.209 0-4-1.746-4-3.9v-18.525c0-2.154 1.791-3.9 4-3.9h5L233.982 95 239 107.675h5c2.209 0 4 1.746 4 3.9V130.1c0 2.154-1.791 3.9-4 3.9m0-1c1.654 0 3-1.301 3-2.9v-18.525c0-1.599-1.346-2.9-3-2.9h-5.68l-.25-.632-4.084-10.318-4.055 10.316-.249.634H224c-1.654 0-3 1.301-3 2.9V130.1c0 1.599 1.346 2.9 3 2.9h20\" fill=\"' +\n borderColor +\n '\" /></g></svg>',\n star: '<svg width=\"34\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M32.92 16.93l-3.525-3.525V8.419a1.983 1.983 0 00-1.983-1.982h-4.985L18.9 2.91a1.984 1.984 0 00-2.803 0l-3.524 3.526H7.588a1.983 1.983 0 00-1.982 1.982v4.986L2.081 16.93a1.982 1.982 0 000 2.803l3.525 3.526v4.984c0 1.096.888 1.983 1.982 1.983h4.986L17.457 45l4.97-14.773h4.985a1.983 1.983 0 001.983-1.983V23.26l3.525-3.526a1.982 1.982 0 000-2.803\" fill=\"' +\n markerColor +\n '\" /><g opacity=\".15\" transform=\"matrix(1.0667 0 0 -1.0667 -347.3 97.26)\"><path d=\"M342 89c-.476 0-.951-.181-1.314-.544l-3.305-3.305h-4.673a1.858 1.858 0 01-1.859-1.858v-4.674l-3.305-3.305a1.857 1.857 0 010-2.627l3.305-3.305v-4.674a1.86 1.86 0 011.859-1.859h4.673L341.959 49l4.659 13.849h4.674a1.86 1.86 0 011.859 1.859v4.674l3.305 3.305a1.858 1.858 0 010 2.627l-3.305 3.305v4.674a1.859 1.859 0 01-1.859 1.858h-4.674l-3.304 3.305A1.851 1.851 0 01342 89m0-1a.853.853 0 00.607-.251l3.304-3.305.293-.293h5.088a.86.86 0 00.859-.858v-5.088l3.598-3.598A.852.852 0 00356 74a.85.85 0 00-.251-.606l-3.598-3.598v-5.088a.86.86 0 00-.859-.859h-5.393l-.229-.681-3.702-11.006-3.637 11.001-.227.686h-5.396a.86.86 0 00-.859.859v5.088l-3.598 3.598c-.162.162-.251.377-.251.606s.089.445.251.607l3.598 3.598v5.088a.86.86 0 00.859.858h5.087l3.598 3.598A.853.853 0 00342 88\" fill=\"#231f20\" /></g></svg>',\n penta: '<svg width=\"33\" height=\"44\" viewBox=\"0 0 35 45\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.872 17.35L9.679 2.993h15.615L33.1 17.35 17.486 44.992z\" fill=\"' +\n markerColor +\n '\" /><g opacity=\".15\" transform=\"matrix(1.0769 0 0 -1.0769 -272.731 48.23)\"><path d=\"M276.75 42h-14.5L255 28.668 269.5 3 284 28.668zm-.595-1l6.701-12.323L269.5 5.033l-13.356 23.644L262.845 41z\" fill=\"#231f20\" /></g></svg>',\n };\n // eslint-disable-next-line security/detect-object-injection\n return svgMap[shape];\n};\nconst MarkerIconFactory = (shape, color1, color2, icon, assetsURL) => {\n if (icon)\n return divIcon({\n html: `<div class=\"svg-container\">${createSvg(shape, color1, color2)}<img class=\"overlay-svg\" style=\"width: ${icon.size ? icon.size : '12.5'}px; filter: invert(1) brightness(2);\" src=\"${`${assetsURL ?? ''}` + icon.image}\"></div>`,\n iconAnchor: [17, 40],\n popupAnchor: [0, -40],\n iconSize: new Point(40, 46),\n className: 'leaflet-data-marker',\n shadowAnchor: [0, 0],\n });\n else\n return divIcon({\n html: `<div class=\"svg-container\">${createSvg(shape, color1, color2)}<svg fill=\"#fff\" class=\"overlay-svg\" width=\"13\"xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256z\"/></svg></div>`,\n iconAnchor: [17, 40],\n popupAnchor: [0, -40],\n iconSize: new Point(40, 46),\n className: 'leaflet-data-marker',\n shadowAnchor: [0, 0],\n });\n};\nexport default MarkerIconFactory;\n","/*!\nCopyright (c) 2016 Dominik Moritz\n\nThis file is part of the leaflet locate control. It is licensed under the MIT license.\nYou can find the project at: https://github.com/domoritz/leaflet-locatecontrol\n*/\n(function (factory, window) {\n // see https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md#module-loaders\n // for details on how to structure a leaflet plugin.\n\n // define an AMD module that relies on 'leaflet'\n if (typeof define === \"function\" && define.amd) {\n define([\"leaflet\"], factory);\n\n // define a Common JS module that relies on 'leaflet'\n } else if (typeof exports === \"object\") {\n if (typeof window !== \"undefined\" && window.L) {\n module.exports = factory(L);\n } else {\n module.exports = factory(require(\"leaflet\"));\n }\n }\n\n // attach your plugin to the global 'L' variable\n if (typeof window !== \"undefined\" && window.L) {\n window.L.Control.Locate = factory(L);\n }\n})(function (L) {\n const LDomUtilApplyClassesMethod = (method, element, classNames) => {\n classNames = classNames.split(\" \");\n classNames.forEach(function (className) {\n L.DomUtil[method].call(this, element, className);\n });\n };\n\n const addClasses = (el, names) => LDomUtilApplyClassesMethod(\"addClass\", el, names);\n const removeClasses = (el, names) => LDomUtilApplyClassesMethod(\"removeClass\", el, names);\n\n /**\n * Compatible with L.Circle but a true marker instead of a path\n */\n const LocationMarker = L.Marker.extend({\n initialize(latlng, options) {\n L.Util.setOptions(this, options);\n this._latlng = latlng;\n this.createIcon();\n },\n\n /**\n * Create a styled circle location marker\n */\n createIcon() {\n const opt = this.options;\n\n let style = \"\";\n\n if (opt.color !== undefined) {\n style += `stroke:${opt.color};`;\n }\n if (opt.weight !== undefined) {\n style += `stroke-width:${opt.weight};`;\n }\n if (opt.fillColor !== undefined) {\n style += `fill:${opt.fillColor};`;\n }\n if (opt.fillOpacity !== undefined) {\n style += `fill-opacity:${opt.fillOpacity};`;\n }\n if (opt.opacity !== undefined) {\n style += `opacity:${opt.opacity};`;\n }\n\n const icon = this._getIconSVG(opt, style);\n\n this._locationIcon = L.divIcon({\n className: icon.className,\n html: icon.svg,\n iconSize: [icon.w, icon.h]\n });\n\n this.setIcon(this._locationIcon);\n },\n\n /**\n * Return the raw svg for the shape\n *\n * Split so can be easily overridden\n */\n _getIconSVG(options, style) {\n const r = options.radius;\n const w = options.weight;\n const s = r + w;\n const s2 = s * 2;\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${s2}\" height=\"${s2}\" version=\"1.1\" viewBox=\"-${s} -${s} ${s2} ${s2}\">` +\n '<circle r=\"' +\n r +\n '\" style=\"' +\n style +\n '\" />' +\n \"</svg>\";\n return {\n className: \"leaflet-control-locate-location\",\n svg,\n w: s2,\n h: s2\n };\n },\n\n setStyle(style) {\n L.Util.setOptions(this, style);\n this.createIcon();\n }\n });\n\n const CompassMarker = LocationMarker.extend({\n initialize(latlng, heading, options) {\n L.Util.setOptions(this, options);\n this._latlng = latlng;\n this._heading = heading;\n this.createIcon();\n },\n\n setHeading(heading) {\n this._heading = heading;\n },\n\n /**\n * Create a styled arrow compass marker\n */\n _getIconSVG(options, style) {\n const r = options.radius;\n const w = options.width + options.weight;\n const h = (r + options.depth + options.weight) * 2;\n const path = `M0,0 l${options.width / 2},${options.depth} l-${w},0 z`;\n const svgstyle = `transform: rotate(${this._heading}deg)`;\n const svg =\n `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${w}\" height=\"${h}\" version=\"1.1\" viewBox=\"-${w / 2} 0 ${w} ${h}\" style=\"${svgstyle}\">` +\n '<path d=\"' +\n path +\n '\" style=\"' +\n style +\n '\" />' +\n \"</svg>\";\n return {\n className: \"leaflet-control-locate-heading\",\n svg,\n w,\n h\n };\n }\n });\n\n const LocateControl = L.Control.extend({\n options: {\n /** Position of the control */\n position: \"topleft\",\n /** The layer that the user's location should be drawn on. By default creates a new layer. */\n layer: undefined,\n /**\n * Automatically sets the map view (zoom and pan) to the user's location as it updates.\n * While the map is following the user's location, the control is in the `following` state,\n * which changes the style of the control and the circle marker.\n *\n * Possible values:\n * - false: never updates the map view when location changes.\n * - 'once': set the view when the location is first determined\n * - 'always': always updates the map view when location changes.\n * The map view follows the user's location.\n * - 'untilPan': like 'always', except stops updating the\n * view if the user has manually panned the map.\n * The map view follows the user's location until she pans.\n * - 'untilPanOrZoom': (default) like 'always', except stops updating the\n * view if the user has manually panned the map.\n * The map view follows the user's location until she pans.\n */\n setView: \"untilPanOrZoom\",\n /** Keep the current map zoom level when setting the view and only pan. */\n keepCurrentZoomLevel: false,\n /** After activating the plugin by clicking on the icon, zoom to the selected zoom level, even when keepCurrentZoomLevel is true. Set to 'false' to disable this feature. */\n initialZoomLevel: false,\n /**\n * This callback can be used to override the viewport tracking\n * This function should return a LatLngBounds object.\n *\n * For example to extend the viewport to ensure that a particular LatLng is visible:\n *\n * getLocationBounds: function(locationEvent) {\n * return locationEvent.bounds.extend([-33.873085, 151.219273]);\n * },\n */\n getLocationBounds(locationEvent) {\n return locationEvent.bounds;\n },\n /** Smooth pan and zoom to the location of the marker. Only works in Leaflet 1.0+. */\n flyTo: false,\n /**\n * The user location can be inside and outside the current view when the user clicks on the\n * control that is already active. Both cases can be configures separately.\n * Possible values are:\n * - 'setView': zoom and pan to the current location\n * - 'stop': stop locating and remove the location marker\n */\n clickBehavior: {\n /** What should happen if the user clicks on the control while the location is within the current view. */\n inView: \"stop\",\n /** What should happen if the user clicks on the control while the location is outside the current view. */\n outOfView: \"setView\",\n /**\n * What should happen if the user clicks on the control while the location is within the current view\n * and we could be following but are not. Defaults to a special value which inherits from 'inView';\n */\n inViewNotFollowing: \"inView\"\n },\n /**\n * If set, save the map bounds just before centering to the user's\n * location. When control is disabled, set the view back to the\n * bounds that were saved.\n */\n returnToPrevBounds: false,\n /**\n * Keep a cache of the location after the user deactivates the control. If set to false, the user has to wait\n * until the locate API returns a new location before they see where they are again.\n */\n cacheLocation: true,\n /** If set, a circle that shows the location accuracy is drawn. */\n drawCircle: true,\n /** If set, the marker at the users' location is drawn. */\n drawMarker: true,\n /** If set and supported then show the compass heading */\n showCompass: true,\n /** The class to be used to create the marker. For example L.CircleMarker or L.Marker */\n markerClass: LocationMarker,\n /** The class us be used to create the compass bearing arrow */\n compassClass: CompassMarker,\n /** Accuracy circle style properties. NOTE these styles should match the css animations styles */\n circleStyle: {\n className: \"leaflet-control-locate-circle\",\n color: \"#136AEC\",\n fillColor: \"#136AEC\",\n fillOpacity: 0.15,\n weight: 0\n },\n /** Inner marker style properties. Only works if your marker class supports `setStyle`. */\n markerStyle: {\n className: \"leaflet-control-locate-marker\",\n color: \"#fff\",\n fillColor: \"#2A93EE\",\n fillOpacity: 1,\n weight: 3,\n opacity: 1,\n radius: 9\n },\n /** Compass */\n compassStyle: {\n fillColor: \"#2A93EE\",\n fillOpacity: 1,\n weight: 0,\n color: \"#fff\",\n opacity: 1,\n radius: 9, // How far is the arrow is from the center of of the marker\n width: 9, // Width of the arrow\n depth: 6 // Length of the arrow\n },\n /**\n * Changes to accuracy circle and inner marker while following.\n * It is only necessary to provide the properties that should change.\n */\n followCircleStyle: {},\n followMarkerStyle: {\n // color: '#FFA500',\n // fillColor: '#FFB000'\n },\n followCompassStyle: {},\n /** The CSS class for the icon. For example fa-location-arrow or fa-map-marker */\n icon: \"leaflet-control-locate-location-arrow\",\n iconLoading: \"leaflet-control-locate-spinner\",\n /** The element to be created for icons. For example span or i */\n iconElementTag: \"span\",\n /** The element to be created for the text. For example small or span */\n textElementTag: \"small\",\n /** Padding around the accuracy circle. */\n circlePadding: [0, 0],\n /** Use metric units. */\n metric: true,\n /**\n * This callback can be used in case you would like to override button creation behavior.\n * This is useful for DOM manipulation frameworks such as angular etc.\n * This function should return an object with HtmlElement for the button (link property) and the icon (icon property).\n */\n createButtonCallback(container, options) {\n const link = L.DomUtil.create(\"a\", \"leaflet-bar-part leaflet-bar-part-single\", container);\n link.title = options.strings.title;\n link.href = \"#\";\n link.setAttribute(\"role\", \"button\");\n const icon = L.DomUtil.create(options.iconElementTag, options.icon, link);\n\n if (options.strings.text !== undefined) {\n const text = L.DomUtil.create(options.textElementTag, \"leaflet-locate-text\", link);\n text.textContent = options.strings.text;\n link.classList.add(\"leaflet-locate-text-active\");\n link.parentNode.style.display = \"flex\";\n if (options.icon.length > 0) {\n icon.classList.add(\"leaflet-locate-icon\");\n }\n }\n\n return { link, icon };\n },\n /** This event is called in case of any location error that is not a time out error. */\n onLocationError(err, control) {\n alert(err.message);\n },\n /**\n * This event is called when the user's location is outside the bounds set on the map.\n * The event is called repeatedly when the location changes.\n */\n onLocationOutsideMapBounds(control) {\n control.stop();\n alert(control.options.strings.outsideMapBoundsMsg);\n },\n /** Display a pop-up when the user click on the inner marker. */\n showPopup: true,\n strings: {\n title: \"Show me where I am\",\n metersUnit: \"meters\",\n feetUnit: \"feet\",\n popup: \"You are within {distance} {unit} from this point\",\n outsideMapBoundsMsg: \"You seem located outside the boundaries of the map\"\n },\n /** The default options passed to leaflets locate method. */\n locateOptions: {\n maxZoom: Infinity,\n watch: true, // if you overwrite this, visualization cannot be updated\n setView: false // have to set this to false because we have to\n // do setView manually\n }\n },\n\n initialize(options) {\n // set default options if nothing is set (merge one step deep)\n for (const i in options) {\n if (typeof this.options[i] === \"object\") {\n L.extend(this.options[i], options[i]);\n } else {\n this.options[i] = options[i];\n }\n }\n\n // extend the follow marker style and circle from the normal style\n this.options.followMarkerStyle = L.extend({}, this.options.markerStyle, this.options.followMarkerStyle);\n this.options.followCircleStyle = L.extend({}, this.options.circleStyle, this.options.followCircleStyle);\n this.options.followCompassStyle = L.extend({}, this.options.compassStyle, this.options.followCompassStyle);\n },\n\n /**\n * Add control to map. Returns the container for the control.\n */\n onAdd(map) {\n const container = L.DomUtil.create(\"div\", \"leaflet-control-locate leaflet-bar leaflet-control\");\n this._container = container;\n this._map = map;\n this._layer = this.options.layer || new L.LayerGroup();\n this._layer.addTo(map);\n this._event = undefined;\n this._compassHeading = null;\n this._prevBounds = null;\n\n const linkAndIcon = this.options.createButtonCallback(container, this.options);\n this._link = linkAndIcon.link;\n this._icon = linkAndIcon.icon;\n\n L.DomEvent.on(\n this._link,\n \"click\",\n function (ev) {\n L.DomEvent.stopPropagation(ev);\n L.DomEvent.preventDefault(ev);\n this._onClick();\n },\n this\n ).on(this._link, \"dblclick\", L.DomEvent.stopPropagation);\n\n this._resetVariables();\n\n this._map.on(\"unload\", this._unload, this);\n\n return container;\n },\n\n /**\n * This method is called when the user clicks on the control.\n */\n _onClick() {\n this._justClicked = true;\n const wasFollowing = this._isFollowing();\n this._userPanned = false;\n this._userZoomed = false;\n\n if (this._active && !this._event) {\n // click while requesting\n this.stop();\n } else if (this._active) {\n const behaviors = this.options.clickBehavior;\n let behavior = behaviors.outOfView;\n if (this._map.getBounds().contains(this._event.latlng)) {\n behavior = wasFollowing ? behaviors.inView : behaviors.inViewNotFollowing;\n }\n\n // Allow inheriting from another behavior\n if (behaviors[behavior]) {\n behavior = behaviors[behavior];\n }\n\n switch (behavior) {\n case \"setView\":\n this.setView();\n break;\n case \"stop\":\n this.stop();\n if (this.options.returnToPrevBounds) {\n const f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;\n f.bind(this._map)(this._prevBounds);\n }\n break;\n }\n } else {\n if (this.options.returnToPrevBounds) {\n this._prevBounds = this._map.getBounds();\n }\n this.start();\n }\n\n this._updateContainerStyle();\n },\n\n /**\n * Starts the plugin:\n * - activates the engine\n * - draws the marker (if coordinates available)\n */\n start() {\n this._activate();\n\n if (this._event) {\n this._drawMarker(this._map);\n\n // if we already have a location but the user clicked on the control\n if (this.options.setView) {\n this.setView();\n }\n }\n this._updateContainerStyle();\n },\n\n /**\n * Stops the plugin:\n * - deactivates the engine\n * - reinitializes the button\n * - removes the marker\n */\n stop() {\n this._deactivate();\n\n this._cleanClasses();\n this._resetVariables();\n\n this._removeMarker();\n },\n\n /**\n * Keep the control active but stop following the location\n */\n stopFollowing() {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n },\n\n /**\n * This method launches the location engine.\n * It is called before the marker is updated,\n * event if it does not mean that the event will be ready.\n *\n * Override it if you want to add more functionalities.\n * It should set the this._active to true and do nothing if\n * this._active is true.\n */\n _activate() {\n if (this._active || !this._map) {\n return;\n }\n\n this._map.locate(this.options.locateOptions);\n this._map.fire(\"locateactivate\", this);\n this._active = true;\n\n // bind event listeners\n this._map.on(\"locationfound\", this._onLocationFound, this);\n this._map.on(\"locationerror\", this._onLocationError, this);\n this._map.on(\"dragstart\", this._onDrag, this);\n this._map.on(\"zoomstart\", this._onZoom, this);\n this._map.on(\"zoomend\", this._onZoomEnd, this);\n if (this.options.showCompass) {\n const oriAbs = \"ondeviceorientationabsolute\" in window;\n if (oriAbs || \"ondeviceorientation\" in window) {\n const _this = this;\n const deviceorientation = function () {\n L.DomEvent.on(window, oriAbs ? \"deviceorientationabsolute\" : \"deviceorientation\", _this._onDeviceOrientation, _this);\n };\n if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === \"function\") {\n DeviceOrientationEvent.requestPermission().then(function (permissionState) {\n if (permissionState === \"granted\") {\n deviceorientation();\n }\n });\n } else {\n deviceorientation();\n }\n }\n }\n },\n\n /**\n * Called to stop the location engine.\n *\n * Override it to shutdown any functionalities you added on start.\n */\n _deactivate() {\n if (!this._active || !this._map) {\n return;\n }\n\n this._map.stopLocate();\n this._map.fire(\"locatedeactivate\", this);\n this._active = false;\n\n if (!this.options.cacheLocation) {\n this._event = undefined;\n }\n\n // unbind event listeners\n this._map.off(\"locationfound\", this._onLocationFound, this);\n this._map.off(\"locationerror\", this._onLocationError, this);\n this._map.off(\"dragstart\", this._onDrag, this);\n this._map.off(\"zoomstart\", this._onZoom, this);\n this._map.off(\"zoomend\", this._onZoomEnd, this);\n if (this.options.showCompass) {\n this._compassHeading = null;\n if (\"ondeviceorientationabsolute\" in window) {\n L.DomEvent.off(window, \"deviceorientationabsolute\", this._onDeviceOrientation, this);\n } else if (\"ondeviceorientation\" in window) {\n L.DomEvent.off(window, \"deviceorientation\", this._onDeviceOrientation, this);\n }\n }\n },\n\n /**\n * Zoom (unless we should keep the zoom level) and an to the current view.\n */\n setView() {\n this._drawMarker();\n if (this._isOutsideMapBounds()) {\n this._event = undefined; // clear the current location so we can get back into the bounds\n this.options.onLocationOutsideMapBounds(this);\n } else {\n if (this._justClicked && this.options.initialZoomLevel !== false) {\n var f = this.options.flyTo ? this._map.flyTo : this._map.setView;\n f.bind(this._map)([this._event.latitude, this._event.longitude], this.options.initialZoomLevel);\n } else if (this.options.keepCurrentZoomLevel) {\n var f = this.options.flyTo ? this._map.flyTo : this._map.panTo;\n f.bind(this._map)([this._event.latitude, this._event.longitude]);\n } else {\n var f = this.options.flyTo ? this._map.flyToBounds : this._map.fitBounds;\n // Ignore zoom events while setting the viewport as these would stop following\n this._ignoreEvent = true;\n f.bind(this._map)(this.options.getLocationBounds(this._event), {\n padding: this.options.circlePadding,\n maxZoom: this.options.initialZoomLevel || this.options.locateOptions.maxZoom\n });\n L.Util.requestAnimFrame(function () {\n // Wait until after the next animFrame because the flyTo can be async\n this._ignoreEvent = false;\n }, this);\n }\n }\n },\n\n /**\n *\n */\n _drawCompass() {\n if (!this._event) {\n return;\n }\n\n const latlng = this._event.latlng;\n\n if (this.options.showCompass && latlng && this._compassHeading !== null) {\n const cStyle = this._isFollowing() ? this.options.followCompassStyle : this.options.compassStyle;\n if (!this._compass) {\n this._compass = new this.options.compassClass(latlng, this._compassHeading, cStyle).addTo(this._layer);\n } else {\n this._compass.setLatLng(latlng);\n this._compass.setHeading(this._compassHeading);\n // If the compassClass can be updated with setStyle, update it.\n if (this._compass.setStyle) {\n this._compass.setStyle(cStyle);\n }\n }\n //\n }\n if (this._compass && (!this.options.showCompass || this._compassHeading === null)) {\n this._compass.removeFrom(this._layer);\n this._compass = null;\n }\n },\n\n /**\n * Draw the marker and accuracy circle on the map.\n *\n * Uses the event retrieved from onLocationFound from the map.\n */\n _drawMarker() {\n if (this._event.accuracy === undefined) {\n this._event.accuracy = 0;\n }\n\n const radius = this._event.accuracy;\n const latlng = this._event.latlng;\n\n // circle with the radius of the location's accuracy\n if (this.options.drawCircle) {\n const style = this._isFollowing() ? this.options.followCircleStyle : this.options.circleStyle;\n\n if (!this._circle) {\n this._circle = L.circle(latlng, radius, style).addTo(this._layer);\n } else {\n this._circle.setLatLng(latlng).setRadius(radius).setStyle(style);\n }\n }\n\n let distance;\n let unit;\n if (this.options.metric) {\n distance = radius.toFixed(0);\n unit = this.options.strings.metersUnit;\n } else {\n distance = (radius * 3.2808399).toFixed(0);\n unit = this.options.strings.feetUnit;\n }\n\n // small inner marker\n if (this.options.drawMarker) {\n const mStyle = this._isFollowing() ? this.options.followMarkerStyle : this.options.markerStyle;\n if (!this._marker) {\n this._marker = new this.options.markerClass(latlng, mStyle).addTo(this._layer);\n } else {\n this._marker.setLatLng(latlng);\n // If the markerClass can be updated with setStyle, update it.\n if (this._marker.setStyle) {\n this._marker.setStyle(mStyle);\n }\n }\n }\n\n this._drawCompass();\n\n const t = this.options.strings.popup;\n function getPopupText() {\n if (typeof t === \"string\") {\n return L.Util.template(t, { distance, unit });\n } else if (typeof t === \"function\") {\n return t({ distance, unit });\n } else {\n return t;\n }\n }\n if (this.options.showPopup && t && this._marker) {\n this._marker.bindPopup(getPopupText())._popup.setLatLng(latlng);\n }\n if (this.options.showPopup && t && this._compass) {\n this._compass.bindPopup(getPopupText())._popup.setLatLng(latlng);\n }\n },\n\n /**\n * Remove the marker from map.\n */\n _removeMarker() {\n this._layer.clearLayers();\n this._marker = undefined;\n this._circle = undefined;\n },\n\n /**\n * Unload the plugin and all event listeners.\n * Kind of the opposite of onAdd.\n */\n _unload() {\n this.stop();\n this._map.off(\"unload\", this._unload, this);\n },\n\n /**\n * Sets the compass heading\n */\n _setCompassHeading(angle) {\n if (!isNaN(parseFloat(angle)) && isFinite(angle)) {\n angle = Math.round(angle);\n\n this._compassHeading = angle;\n L.Util.requestAnimFrame(this._drawCompass, this);\n } else {\n this._compassHeading = null;\n }\n },\n\n /**\n * If the compass fails calibration just fail safely and remove the compass\n */\n _onCompassNeedsCalibration() {\n this._setCompassHeading();\n },\n\n /**\n * Process and normalise compass events\n */\n _onDeviceOrientation(e) {\n if (!this._active) {\n return;\n }\n\n if (e.webkitCompassHeading) {\n // iOS\n this._setCompassHeading(e.webkitCompassHeading);\n } else if (e.absolute && e.alpha) {\n // Android\n this._setCompassHeading(360 - e.alpha);\n }\n },\n\n /**\n * Calls deactivate and dispatches an error.\n */\n _onLocationError(err) {\n // ignore time out error if the location is watched\n if (err.code == 3 && this.options.locateOptions.watch) {\n return;\n }\n\n this.stop();\n this.options.onLocationError(err, this);\n },\n\n /**\n * Stores the received event and updates the marker.\n */\n _onLocationFound(e) {\n // no need to do anything if the location has not changed\n if (this._event && this._event.latlng.lat === e.latlng.lat && this._event.latlng.lng === e.latlng.lng && this._event.accuracy === e.accuracy) {\n return;\n }\n\n if (!this._active) {\n // we may have a stray event\n return;\n }\n\n this._event = e;\n\n this._drawMarker();\n this._updateContainerStyle();\n\n switch (this.options.setView) {\n case \"once\":\n if (this._justClicked) {\n this.setView();\n }\n break;\n case \"untilPan\":\n if (!this._userPanned) {\n this.setView();\n }\n break;\n case \"untilPanOrZoom\":\n if (!this._userPanned && !this._userZoomed) {\n this.setView();\n }\n break;\n case \"always\":\n this.setView();\n break;\n case false:\n // don't set the view\n break;\n }\n\n this._justClicked = false;\n },\n\n /**\n * When the user drags. Need a separate event so we can bind and unbind event listeners.\n */\n _onDrag() {\n // only react to drags once we have a location\n if (this._event && !this._ignoreEvent) {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n },\n\n /**\n * When the user zooms. Need a separate event so we can bind and unbind event listeners.\n */\n _onZoom() {\n // only react to drags once we have a location\n if (this._event && !this._ignoreEvent) {\n this._userZoomed = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n },\n\n /**\n * After a zoom ends update the compass and handle sideways zooms\n */\n _onZoomEnd() {\n if (this._event) {\n this._drawCompass();\n }\n\n if (this._event && !this._ignoreEvent) {\n // If we have zoomed in and out and ended up sideways treat it as a pan\n if (this._marker && !this._map.getBounds().pad(-0.3).contains(this._marker.getLatLng())) {\n this._userPanned = true;\n this._updateContainerStyle();\n this._drawMarker();\n }\n }\n },\n\n /**\n * Compute whether the map is following the user location with pan and zoom.\n */\n _isFollowing() {\n if (!this._active) {\n return false;\n }\n\n if (this.options.setView === \"always\") {\n return true;\n } else if (this.options.setView === \"untilPan\") {\n return !this._userPanned;\n } else if (this.options.setView === \"untilPanOrZoom\") {\n return !this._userPanned && !this._userZoomed;\n }\n },\n\n /**\n * Check if location is in map bounds\n */\n _isOutsideMapBounds() {\n if (this._event === undefined) {\n return false;\n }\n return this._map.options.maxBounds && !this._map.options.maxBounds.contains(this._event.latlng);\n },\n\n /**\n * Toggles button class between following and active.\n */\n _updateContainerStyle() {\n if (!this._container) {\n return;\n }\n\n if (this._active && !this._event) {\n // active but don't have a location yet\n this._setClasses(\"requesting\");\n } else if (this._isFollowing()) {\n this._setClasses(\"following\");\n } else if (this._active) {\n this._setClasses(\"active\");\n } else {\n this._cleanClasses();\n }\n },\n\n /**\n * Sets the CSS classes for the state.\n */\n _setClasses(state) {\n if (state == \"requesting\") {\n removeClasses(this._container, \"active following\");\n addClasses(this._container, \"requesting\");\n\n removeClasses(this._icon, this.options.icon);\n addClasses(this._icon, this.options.iconLoading);\n } else if (state == \"active\") {\n removeClasses(this._container, \"requesting following\");\n addClasses(this._container, \"active\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n } else if (state == \"following\") {\n removeClasses(this._container, \"requesting\");\n addClasses(this._container, \"active following\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n }\n },\n\n /**\n * Removes all classes from button.\n */\n _cleanClasses() {\n L.DomUtil.removeClass(this._container, \"requesting\");\n L.DomUtil.removeClass(this._container, \"active\");\n L.DomUtil.removeClass(this._container, \"following\");\n\n removeClasses(this._icon, this.options.iconLoading);\n addClasses(this._icon, this.options.icon);\n },\n\n /**\n * Reinitializes state variables.\n */\n _resetVariables() {\n // whether locate is active or not\n this._active = false;\n\n // true if the control was clicked for the first time\n // we need this so we can pan and zoom once we have the location\n this._justClicked = false;\n\n // true if the user has panned the map after clicking the control\n this._userPanned = false;\n\n // true if the user has zoomed the map after clicking the control\n this._userZoomed = false;\n }\n });\n\n L.control.locate = (options) => new L.Control.Locate(options);\n\n return LocateControl;\n}, window);\n","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { control } from 'leaflet';\nimport { useEffect, useRef, useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useMap, useMapEvents } from 'react-leaflet';\nimport TargetSVG from '#assets/target.svg';\n// eslint-disable-next-line import/no-unassigned-import\nimport 'leaflet.locatecontrol';\n// Converts leaflet.locatecontrol to a React Component\nexport const LocateControl = () => {\n const map = useMap();\n // prevent react18 from calling useEffect twice\n const init = useRef(false);\n const [lc, setLc] = useState(null);\n const [active, setActive] = useState(false);\n const [loading, setLoading] = useState(false);\n useEffect(() => {\n if (!init.current) {\n // @ts-ignore\n setLc(control.locate().addTo(map));\n init.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useMapEvents({\n locationfound: () => {\n setLoading(false);\n setActive(true);\n },\n });\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'tw:card tw:flex-none tw:h-12 tw:w-12 tw:bg-base-100 tw:shadow-xl tw:items-center tw:justify-center tw:hover:bg-slate-300 tw:hover:cursor-pointer tw:transition-all tw:duration-300 tw:ml-2', children: _jsx(\"div\", { className: 'tw:card-body tw:card tw:p-2 tw:h-10 tw:w-10 ', onClick: () => {\n if (active) {\n lc.stop();\n setActive(false);\n }\n else {\n lc.start();\n setLoading(true);\n }\n }, children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-md tw:mt-1' })) : (_jsx(SVG, { src: TargetSVG, className: 'tw:mt-1 tw:p-[1px]', style: { fill: `${active ? '#fc8702' : 'currentColor'}` } })) }) }) }));\n};\n","import * as React from \"react\";\nfunction Bars3Icon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M2 3.75A.75.75 0 0 1 2.75 3h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 3.75ZM2 8a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 8Zm0 4.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(Bars3Icon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Bars3Icon from '@heroicons/react/16/solid/Bars3Icon';\nimport { useAppState, useSetAppState } from '#components/AppShell/hooks/useAppState';\n// Converts leaflet.locatecontrol to a React Component\nexport const SidebarControl = () => {\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebar = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'tw:card tw:justify-center tw:items-center tw:bg-base-100 tw:flex-none tw:shadow-xl tw:px-0 tw:hover:bg-slate-300 tw:hover:cursor-pointer tw:transition-all tw:duration-300 tw:mr-2 tw:h-12 tw:w-12 ', onClick: () => toggleSidebar(), children: _jsx(Bars3Icon, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport FlagIcon from '@heroicons/react/24/outline/FlagIcon';\nimport MagnifyingGlassIcon from '@heroicons/react/24/outline/MagnifyingGlassIcon';\nimport axios from 'axios';\nimport { LatLng, LatLngBounds, marker } from 'leaflet';\nimport { useRef, useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useMap, useMapEvents } from 'react-leaflet';\nimport { useNavigate } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useDebounce } from '#components/Map/hooks/useDebounce';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport useWindowDimensions from '#components/Map/hooks/useWindowDimension';\nimport { decodeTag } from '#utils/FormatTags';\nimport MarkerIconFactory from '#utils/MarkerIconFactory';\nimport { LocateControl } from './LocateControl';\nimport { SidebarControl } from './SidebarControl';\nexport const SearchControl = () => {\n const windowDimensions = useWindowDimensions();\n const [popupOpen, setPopupOpen] = useState(false);\n const [value, setValue] = useState('');\n const [geoResults, setGeoResults] = useState([]);\n const [tagsResults, setTagsResults] = useState([]);\n const [itemsResults, setItemsResults] = useState([]);\n const [hideSuggestions, setHideSuggestions] = useState(true);\n const map = useMap();\n const tags = useTags();\n const items = useItems();\n const leafletRefs = useLeafletRefs();\n const addFilterTag = useAddFilterTag();\n const appState = useAppState();\n useMapEvents({\n popupopen: () => {\n setPopupOpen(true);\n },\n popupclose: () => {\n setPopupOpen(false);\n },\n });\n const navigate = useNavigate();\n useDebounce(() => {\n const searchGeo = async () => {\n try {\n const { data } = await axios.get(`https://photon.komoot.io/api/?q=${value}&limit=5`);\n setGeoResults(data.features);\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n };\n searchGeo();\n setItemsResults(items.filter((item) => {\n return (value.length > 2 &&\n ((item.layer?.listed && item.name.toLowerCase().includes(value.toLowerCase())) ||\n item.text?.toLowerCase().includes(value.toLowerCase())));\n }));\n let phrase = value;\n if (value.startsWith('#'))\n phrase = value.substring(1);\n setTagsResults(tags.filter((tag) => tag.name.toLowerCase().includes(phrase.toLowerCase())));\n }, 500, [value]);\n const hide = async () => {\n setTimeout(() => {\n setHideSuggestions(true);\n }, 200);\n };\n const searchInput = useRef(null);\n return (_jsx(_Fragment, { children: !(windowDimensions.height < 500 && popupOpen && hideSuggestions) && (_jsxs(\"div\", { className: 'tw:w-[calc(100vw-2rem)] tw:max-w-[22rem] ', children: [_jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [appState.embedded && _jsx(SidebarControl, {}), _jsxs(\"div\", { className: 'tw:relative tw:shrink tw:max-w-69 tw:w-full', children: [_jsx(\"input\", { type: 'text', placeholder: 'search ...', autoComplete: 'off', value: value, className: 'tw:input tw:input-bordered tw:h-12 tw:grow tw:shadow-xl tw:rounded-box tw:pr-12 tw:w-full', ref: searchInput, onChange: (e) => setValue(e.target.value), onFocus: () => {\n setHideSuggestions(false);\n if (windowDimensions.width < 500)\n map.closePopup();\n }, onBlur: () => hide() }), value.length > 0 && (_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:absolute tw:right-2 tw:top-2', onClick: () => setValue(''), children: \"\\u2715\" }))] }), _jsx(LocateControl, {})] }), hideSuggestions ||\n (Array.from(geoResults).length === 0 &&\n itemsResults.length === 0 &&\n tagsResults.length === 0 &&\n !isGeoCoordinate(value)) ||\n value.length === 0 ? ('') : (_jsxs(\"div\", { className: 'tw:card tw:card-body tw:bg-base-100 tw:p-4 tw:mt-2 tw:shadow-xl tw:overflow-y-auto tw:max-h-[calc(100dvh-152px)] tw:absolute tw:z-3000 tw:w-83', children: [tagsResults.length > 0 && (_jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: tagsResults.slice(0, 3).map((tag) => (_jsx(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-1 tw:px-4 tw:shadow-md tw:card tw:mr-2 tw:mb-2 tw:cursor-pointer', style: { backgroundColor: tag.color }, onClick: () => {\n addFilterTag(tag);\n }, children: _jsxs(\"b\", { children: [\"#\", decodeTag(tag.name)] }) }, tag.name))) })), itemsResults.length > 0 && tagsResults.length > 0 && (_jsx(\"hr\", { className: 'tw:opacity-50' })), itemsResults.slice(0, 5).map((item) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:hover:font-bold tw:flex tw:flex-row', onClick: () => {\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === item)?.[1]\n .marker;\n if (marker) {\n navigate(`/${item.id}?${new URLSearchParams(window.location.search)}`);\n }\n else {\n navigate('item/' + item.id + '?' + new URLSearchParams(window.location.search));\n }\n }, children: [item.layer?.menuIcon ? (_jsx(SVG, { src: item.layer.menuIcon, className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-5 tw:h-5', preProcessor: (code) => {\n code = code.replace(/fill=\".*?\"/g, 'fill=\"currentColor\"');\n code = code.replace(/stroke=\".*?\"/g, 'stroke=\"currentColor\"');\n return code;\n } })) : (_jsx(\"div\", { className: 'tw:w-5' })), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: item.name }), _jsx(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: item.text })] })] }, item.id))), Array.from(geoResults).length > 0 &&\n (itemsResults.length > 0 || tagsResults.length > 0) && (_jsx(\"hr\", { className: 'tw:opacity-50' })), Array.from(geoResults).map((geo) => (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:hover:font-bold tw:cursor-pointer', onClick: () => {\n searchInput.current?.blur();\n marker(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), {\n icon: MarkerIconFactory('circle', '#777', 'RGBA(35, 31, 32, 0.2)'),\n })\n .addTo(map)\n .bindPopup(`<h3 class=\"tw:text-base tw:font-bold\">${geo?.properties.name ? geo?.properties.name : value}<h3>${capitalizeFirstLetter(geo?.properties?.osm_value)}`)\n .openPopup()\n .addEventListener('popupclose', (e) => {\n // eslint-disable-next-line no-console\n console.log(e.target.remove());\n });\n if (geo.properties.extent)\n map.fitBounds(new LatLngBounds(new LatLng(geo.properties.extent[1], geo.properties.extent[0]), new LatLng(geo.properties.extent[3], geo.properties.extent[2])));\n else\n map.setView(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), 15, { duration: 1 });\n hide();\n }, children: [_jsx(MagnifyingGlassIcon, { className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-5' }), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: geo?.properties.name ? geo?.properties.name : value }), _jsxs(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: [geo?.properties?.city && `${capitalizeFirstLetter(geo?.properties?.city)}, `, ' ', geo?.properties?.osm_value &&\n geo?.properties?.osm_value !== 'yes' &&\n geo?.properties?.osm_value !== 'primary' &&\n geo?.properties?.osm_value !== 'path' &&\n geo?.properties?.osm_value !== 'secondary' &&\n geo?.properties?.osm_value !== 'residential' &&\n geo?.properties?.osm_value !== 'unclassified' &&\n `${capitalizeFirstLetter(geo?.properties?.osm_value)}, `, ' ', geo.properties.state && `${geo.properties.state}, `, ' ', geo.properties.country && geo.properties.country] })] })] }, Math.random()))), isGeoCoordinate(value) && (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:hover:font-bold tw:cursor-pointer', onClick: () => {\n marker(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), {\n icon: MarkerIconFactory('circle', '#777', 'RGBA(35, 31, 32, 0.2)'),\n })\n .addTo(map)\n .bindPopup(`<h3 class=\"tw:text-base tw:font-bold\">${extractCoordinates(value)[0]}, ${extractCoordinates(value)[1]}</h3>`)\n .openPopup()\n .addEventListener('popupclose', (e) => {\n // eslint-disable-next-line no-console\n console.log(e.target.remove());\n });\n map.setView(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), 15, { duration: 1 });\n }, children: [_jsx(FlagIcon, { className: 'tw:text-current tw:mr-2 tw:mt-0 tw:w-4' }), _jsxs(\"div\", { children: [_jsx(\"div\", { className: 'tw:text-sm tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: value }), _jsx(\"div\", { className: 'tw:text-xs tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:max-w-[17rem]', children: 'Coordiante' })] })] }))] }))] })) }));\n};\nfunction isGeoCoordinate(input) {\n const geokoordinatenRegex = \n // eslint-disable-next-line security/detect-unsafe-regex\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\n return geokoordinatenRegex.test(input);\n}\nfunction extractCoordinates(input) {\n const result = input.split(',');\n if (result) {\n const latitude = parseFloat(result[0]);\n const longitude = parseFloat(result[1]);\n if (!isNaN(latitude) && !isNaN(longitude)) {\n return [latitude, longitude];\n }\n }\n return null; // Invalid input or error\n}\nfunction capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useFilterTags, useRemoveFilterTag } from '#components/Map/hooks/useFilter';\nimport { decodeTag } from '#utils/FormatTags';\nexport const TagsControl = () => {\n const filterTags = useFilterTags();\n const removeFilterTag = useRemoveFilterTag();\n return (_jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mt-4 tw:w-[calc(100vw-2rem)] tw:max-w-xs', children: filterTags.map((tag) => (_jsxs(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl tw:card tw:mr-2 tw:mb-2', style: { backgroundColor: tag.color }, children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-xs tw:btn-circle tw:absolute tw:-right-2 tw:-top-2 tw:bg-white tw:text-gray-600', onClick: () => removeFilterTag(tag.name), children: \"\\u2715\" }) }), _jsxs(\"b\", { children: [\"#\", decodeTag(tag.name)] })] }, tag.id))) }));\n};\n","export const urlRegex = \n// eslint-disable-next-line no-useless-escape, security/detect-unsafe-regex\n/(^| )(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,10})?(\\/.*)?$/gm;\nexport const mailRegex = /(?<![[(])([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})(?![\\])])/gi;\nexport function fixUrls(message) {\n message = message.replace(urlRegex, function (url) {\n let hyperlink = url.replace(' ', '');\n if (!hyperlink.match('^https?://')) {\n hyperlink = 'https://' + hyperlink;\n }\n return hyperlink;\n });\n return message;\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { memo } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkBreaks from 'remark-breaks';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { decodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { fixUrls, mailRegex } from '#utils/ReplaceURLs';\n/**\n * @category Map\n */\nexport const TextView = ({ item, itemId, text, truncate = false, rawText, itemTextField, }) => {\n if (item) {\n text = item.text;\n itemId = item.id;\n }\n const tags = useTags();\n const addFilterTag = useAddFilterTag();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const itemTextFieldDummy = itemTextField;\n let innerText = '';\n let replacedText = '';\n if (rawText) {\n innerText = replacedText = rawText;\n }\n else if (text) {\n innerText = text;\n }\n if (innerText && truncate)\n innerText = truncateText(removeMarkdownKeepLinksAndParagraphs(innerText), 100);\n if (innerText)\n replacedText = fixUrls(innerText);\n if (replacedText) {\n replacedText = replacedText.replace(/(?<!\\]?\\()https?:\\/\\/[^\\s)]+(?!\\))/g, (url) => {\n let shortUrl = url;\n if (url.match('^https://')) {\n shortUrl = url.split('https://')[1];\n }\n if (url.match('^http://')) {\n shortUrl = url.split('http://')[1];\n }\n return `[${shortUrl}](${url})`;\n });\n }\n if (replacedText) {\n replacedText = replacedText.replace(mailRegex, (url) => {\n return `[${url}](mailto:${url})`;\n });\n }\n if (replacedText) {\n replacedText = replacedText.replace(hashTagRegex, (match) => {\n return `[${match}](${match})`;\n });\n }\n const CustomH1 = ({ children }) => _jsx(\"h1\", { className: 'tw:text-xl tw:font-bold', children: children });\n const CustomH2 = ({ children }) => _jsx(\"h2\", { className: 'tw:text-lg tw:font-bold', children: children });\n const CustomH3 = ({ children }) => _jsx(\"h3\", { className: 'tw:text-base tw:font-bold', children: children });\n const CustomH4 = ({ children }) => _jsx(\"h4\", { className: 'tw:text-base tw:font-bold', children: children });\n const CustomH5 = ({ children }) => _jsx(\"h5\", { className: 'tw:text-sm tw:font-bold', children: children });\n const CustomH6 = ({ children }) => _jsx(\"h6\", { className: 'tw:text-sm tw:font-bold', children: children });\n const CustomParagraph = ({ children }) => _jsx(\"p\", { className: 'tw:my-2!', children: children });\n const CustomUnorderdList = ({ children }) => (_jsx(\"ul\", { className: 'tw:list-disc tw:list-inside', children: children }));\n const CustomOrderdList = ({ children }) => (_jsx(\"ol\", { className: 'tw:list-decimal tw:list-inside', children: children }));\n const CustomHorizontalRow = ({ children }) => _jsx(\"hr\", { className: 'tw:border-current', children: children });\n // eslint-disable-next-line react/prop-types\n const CustomImage = ({ alt, src, title }) => (_jsx(\"img\", { className: 'tw:max-w-full tw:rounded tw:shadow', src: src, alt: alt, title: title }));\n const CustomExternalLink = ({ href, children }) => (_jsxs(\"a\", { className: 'tw:font-bold tw:underline', href: href, target: '_blank', rel: 'noreferrer', children: [' ', children] }));\n const CustomHashTagLink = ({ children, tag, itemId, }) => {\n return (_jsx(\"a\", { style: { color: tag ? tag.color : '#faa', fontWeight: 'bold', cursor: 'pointer' }, onClick: (e) => {\n e.stopPropagation();\n addFilterTag(tag);\n }, children: decodeTag(children) }, tag ? tag.name + itemId : itemId));\n };\n // eslint-disable-next-line react/display-name\n const MemoizedVideoEmbed = memo(({ url }) => (_jsx(\"iframe\", { className: 'tw:w-full', src: url, allow: 'fullscreen; picture-in-picture', allowFullScreen: true })));\n return (_jsx(Markdown, { className: 'tw:text-map tw:leading-map tw:text-sm', remarkPlugins: [remarkBreaks], components: {\n p: CustomParagraph,\n a: ({ href, children }) => {\n const isYouTubeVideo = href?.startsWith('https://www.youtube.com/watch?v=');\n const isRumbleVideo = href?.startsWith('https://rumble.com/embed/');\n if (isYouTubeVideo) {\n const videoId = href?.split('v=')[1].split('&')[0];\n const youtubeEmbedUrl = `https://www.youtube-nocookie.com/embed/${videoId}`;\n return _jsx(MemoizedVideoEmbed, { url: youtubeEmbedUrl });\n }\n if (isRumbleVideo) {\n return _jsx(MemoizedVideoEmbed, { url: href });\n }\n if (href?.startsWith('#')) {\n const tag = tags.find((t) => t.name.toLowerCase() === decodeURI(href).slice(1).toLowerCase());\n if (tag)\n return (_jsx(CustomHashTagLink, { tag: tag, itemId: itemId, children: children }));\n else\n return children;\n }\n else {\n return _jsx(CustomExternalLink, { href: href, children: children });\n }\n },\n ul: CustomUnorderdList,\n ol: CustomOrderdList,\n img: CustomImage,\n hr: CustomHorizontalRow,\n h1: CustomH1,\n h2: CustomH2,\n h3: CustomH3,\n h4: CustomH4,\n h5: CustomH5,\n h6: CustomH6,\n }, children: replacedText }));\n};\nfunction removeMarkdownKeepLinksAndParagraphs(text) {\n // Remove Markdown syntax using regular expressions but keep links and paragraphs\n return text\n .replace(/!\\[.*?\\]\\(.*?\\)/g, '') // Remove images\n .replace(/(`{1,3})(.*?)\\1/g, '$2') // Remove inline code\n .replace(/(\\*{1,2}|_{1,2})(.*?)\\1/g, '$2') // Remove bold and italic\n .replace(/(#+)\\s+(.*)/g, '$2') // Remove headers\n .replace(/>\\s+(.*)/g, '$1') // Remove blockquotes\n .replace(/^\\s*\\n/gm, '\\n') // Preserve empty lines\n .replace(/(\\r\\n|\\n|\\r)/gm, '\\n'); // Preserve line breaks\n}\nfunction truncateText(text, limit) {\n if (text.length <= limit) {\n return text;\n }\n let truncated = '';\n let length = 0;\n // Split the text by paragraphs\n const paragraphs = text.split('\\n');\n for (const paragraph of paragraphs) {\n if (length + paragraph.length > limit) {\n truncated += paragraph.slice(0, limit - length) + '...';\n break;\n }\n else {\n truncated += paragraph + '\\n';\n length += paragraph.length;\n }\n }\n return truncated.trim();\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nexport const SelectPosition = ({ setSelectNewItemPosition }) => {\n return (_jsxs(\"div\", { className: 'tw:animate-pulseGrow tw:button tw:z-1000 tw:absolute tw:right-5 tw:top-4 tw:drop-shadow-md', children: [_jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:rounded-2xl tw:btn-circle tw:btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => {\n setSelectNewItemPosition(null);\n }, children: _jsx(\"p\", { className: 'tw:text-center ', children: \"\\u2715\" }) }), _jsx(\"div\", { className: 'tw:alert tw:bg-base-100 tw:text-base-content', children: _jsx(\"div\", { children: _jsx(\"span\", { className: 'tw:text-lg', children: \"Select position on the map!\" }) }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useRef } from 'react';\nimport { TileLayer, useMapEvents, GeoJSON, useMap } from 'react-leaflet';\nimport MarkerClusterGroup from 'react-leaflet-cluster';\nimport { Outlet, useLocation } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useSetAppState } from '#components/AppShell/hooks/useAppState';\nimport { useTheme } from '#components/AppShell/hooks/useTheme';\nimport { containsUUID } from '#utils/ContainsUUID';\nimport { useClusterRef, useSetClusterRef } from './hooks/useClusterRef';\nimport { useAddFilterTag, useAddVisibleLayer, useFilterTags, useResetFilterTags, useToggleVisibleLayer, } from './hooks/useFilter';\nimport { useLayers } from './hooks/useLayers';\nimport { useLeafletRefs } from './hooks/useLeafletRefs';\nimport { usePopupForm } from './hooks/usePopupForm';\nimport { useSelectPosition, useSetMapClicked, useSetSelectPosition, } from './hooks/useSelectPosition';\nimport { useTags } from './hooks/useTags';\nimport AddButton from './Subcomponents/AddButton';\nimport { Control } from './Subcomponents/Controls/Control';\nimport { FilterControl } from './Subcomponents/Controls/FilterControl';\nimport { GratitudeControl } from './Subcomponents/Controls/GratitudeControl';\nimport { LayerControl } from './Subcomponents/Controls/LayerControl';\nimport { SearchControl } from './Subcomponents/Controls/SearchControl';\nimport { TagsControl } from './Subcomponents/Controls/TagsControl';\nimport { TextView } from './Subcomponents/ItemPopupComponents/TextView';\nimport { SelectPosition } from './Subcomponents/SelectPosition';\nexport function UtopiaMapInner({ children, geo, showFilterControl = false, showGratitudeControl = false, showLayerControl = true, showThemeControl = false, defaultTheme = '', donationWidget, expandLayerControl, }) {\n const selectNewItemPosition = useSelectPosition();\n const setSelectNewItemPosition = useSetSelectPosition();\n const setClusterRef = useSetClusterRef();\n const clusterRef = useClusterRef();\n const setMapClicked = useSetMapClicked();\n const { setPopupForm } = usePopupForm();\n const layers = useLayers();\n const addVisibleLayer = useAddVisibleLayer();\n const leafletRefs = useLeafletRefs();\n const location = useLocation();\n const map = useMap();\n useTheme(defaultTheme);\n useEffect(() => {\n layers.forEach((layer) => addVisibleLayer(layer));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [layers]);\n const setAppState = useSetAppState();\n useEffect(() => {\n setAppState({ showThemeControl });\n }, [setAppState, showThemeControl]);\n const init = useRef(false);\n useEffect(() => {\n if (!init.current) {\n donationWidget &&\n setTimeout(() => {\n toast(_jsxs(_Fragment, { children: [_jsx(TextView, { itemId: '', rawText: '## Do you like this Map?' }), _jsxs(\"div\", { children: [_jsx(TextView, { itemId: '', rawText: 'Support us building free opensource maps for communities and help us grow 🌱☀️' }), _jsx(\"a\", { href: 'https://opencollective.com/utopia-project', children: _jsx(\"div\", { className: 'tw:btn tw:btn-sm tw:float-right tw:btn-primary', children: \"Donate\" }) })] })] }), { autoClose: false });\n }, 600000);\n init.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n function MapEventListener() {\n useMapEvents({\n click: (e) => {\n resetMetaTags();\n // eslint-disable-next-line no-console\n console.log(e.latlng.lat + ',' + e.latlng.lng);\n if (selectNewItemPosition) {\n setMapClicked({ position: e.latlng, setItemFormPopup: setPopupForm });\n }\n },\n moveend: () => { },\n });\n return null;\n }\n useMapEvents({\n popupopen: (e) => {\n const item = Object.entries(leafletRefs).find((r) => r[1].popup === e.popup)?.[1].item;\n if (window.location.pathname.split('/')[1] !== item?.id) {\n const params = new URLSearchParams(window.location.search);\n if (!location.pathname.includes('/item/')) {\n window.history.pushState({}, '', `/${item?.id}` + `${params.toString() !== '' ? `?${params}` : ''}`);\n }\n let title = '';\n if (item?.name)\n title = item.name;\n document.title = `${document.title.split('-')[0]} - ${title}`;\n }\n },\n });\n const openPopup = () => {\n if (!containsUUID(window.location.pathname)) {\n map.closePopup();\n }\n else {\n if (window.location.pathname.split('/')[1]) {\n const id = window.location.pathname.split('/')[1];\n // eslint-disable-next-line security/detect-object-injection\n const ref = leafletRefs[id];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (ref) {\n clusterRef.hasLayer(ref.marker) &&\n clusterRef?.zoomToShowLayer(ref.marker, () => {\n ref.marker.openPopup();\n });\n let title = '';\n if (ref.item.name)\n title = ref.item.name;\n document.title = `${document.title.split('-')[0]} - ${title}`;\n document\n .querySelector('meta[property=\"og:title\"]')\n ?.setAttribute('content', ref.item.name);\n document\n .querySelector('meta[property=\"og:description\"]')\n ?.setAttribute('content', ref.item.text ?? '');\n }\n }\n }\n };\n useEffect(() => {\n openPopup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [leafletRefs, location]);\n const resetMetaTags = () => {\n const params = new URLSearchParams(window.location.search);\n if (!containsUUID(window.location.pathname)) {\n window.history.pushState({}, '', '/' + `${params.toString() !== '' ? `?${params}` : ''}`);\n }\n document.title = document.title.split('-')[0];\n document.querySelector('meta[property=\"og:title\"]')?.setAttribute('content', document.title);\n document\n .querySelector('meta[property=\"og:description\"]')\n ?.setAttribute('content', `${document.querySelector('meta[name=\"description\"]')?.getAttribute('content')}`);\n };\n const onEachFeature = (feature, layer) => {\n if (feature.properties) {\n layer.bindPopup(feature.properties.name);\n }\n };\n const addFilterTag = useAddFilterTag();\n const resetFilterTags = useResetFilterTags();\n const tags = useTags();\n const filterTags = useFilterTags();\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTags = params.get('tags');\n const decodedTags = urlTags ? decodeURIComponent(urlTags) : '';\n const decodedTagsArray = decodedTags.split(';').filter(Boolean);\n const urlDiffersFromState = decodedTagsArray.some((ut) => !filterTags.find((ft) => ut.toLowerCase() === ft.name.toLowerCase())) ||\n filterTags.some((ft) => !decodedTagsArray.find((ut) => ut.toLowerCase() === ft.name.toLowerCase()));\n if (urlDiffersFromState) {\n resetFilterTags();\n decodedTagsArray.forEach((urlTag) => {\n const match = tags.find((t) => t.name.toLowerCase() === urlTag.toLowerCase());\n if (match)\n addFilterTag(match);\n });\n }\n }, [location, tags, filterTags, addFilterTag, resetFilterTags]);\n const toggleVisibleLayer = useToggleVisibleLayer();\n const allLayers = useLayers();\n const initializedRef = useRef(false);\n useEffect(() => {\n if (initializedRef.current || allLayers.length === 0)\n return;\n const params = new URLSearchParams(location.search);\n const urlLayersParam = params.get('layers');\n if (!urlLayersParam) {\n initializedRef.current = true;\n return;\n }\n const urlLayerNames = urlLayersParam.split(',').filter(Boolean);\n const layerNamesToHide = allLayers\n .map((l) => l.name)\n .filter((name) => !urlLayerNames.includes(name));\n layerNamesToHide.forEach((name) => {\n const match = allLayers.find((l) => l.name === name);\n if (match)\n toggleVisibleLayer(match);\n });\n initializedRef.current = true;\n }, [location, allLayers, toggleVisibleLayer]);\n return (_jsxs(\"div\", { className: `tw:h-full ${selectNewItemPosition != null ? 'crosshair-cursor-enabled' : ''}`, children: [_jsx(Outlet, {}), _jsxs(Control, { position: 'topLeft', zIndex: '1000', absolute: true, children: [_jsx(SearchControl, {}), _jsx(TagsControl, {})] }), _jsxs(Control, { position: 'bottomLeft', zIndex: '999', absolute: true, children: [showFilterControl && _jsx(FilterControl, {}), showLayerControl && _jsx(LayerControl, { expandLayerControl: expandLayerControl ?? false }), showGratitudeControl && _jsx(GratitudeControl, {})] }), _jsx(TileLayer, { maxZoom: 19, attribution: '\\u00A9 <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors', url: 'https://tile.osmand.net/hd/{z}/{x}/{y}.png' }), _jsx(MarkerClusterGroup, { ref: (r) => setClusterRef(r), showCoverageOnHover: true, chunkedLoading: true, maxClusterRadius: 50, removeOutsideVisibleBounds: false, children: children }), geo && (_jsx(GeoJSON, { data: geo, onEachFeature: onEachFeature, eventHandlers: {\n click: (e) => {\n if (selectNewItemPosition) {\n e.layer.closePopup();\n setMapClicked({ position: e.latlng, setItemFormPopup: setPopupForm });\n }\n },\n } })), _jsx(MapEventListener, {}), _jsx(AddButton, { triggerAction: setSelectNewItemPosition }), selectNewItemPosition != null && (_jsx(SelectPosition, { setSelectNewItemPosition: setSelectNewItemPosition }))] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { LatLng } from 'leaflet';\nimport { MapContainer } from 'react-leaflet';\nimport { ContextWrapper } from '#components/AppShell/ContextWrapper';\nimport { UtopiaMapInner } from './UtopiaMapInner';\n/**\n * This component creates the map.\n * ```tsx\n * <UtopiaMap center={[50.6, 9.5]} zoom={5} height=\"100dvh\" width=\"100dvw\" />\n * ```\n * You can define its {@link Layer | `Layers`} as supcomponents.\n * ```tsx\n * <UtopiaMap center={[50.6, 15.5]} zoom={5} height=\"100dvh\" width=\"100dvw\">\n * <Layer\n * name=\"events\"\n * markerIcon=\"calendar\"\n * markerShape=\"square\"\n * markerDefaultColor=\"#700\"\n * data={events}\n * />\n * <Layer\n * name=\"places\"\n * markerIcon=\"point\"\n * markerShape=\"circle\"\n * markerDefaultColor=\"#007\"\n * data={places}\n * />\n * </UtopiaMap>\n * ```\n * You can also pass {@link Tags | `Tags`} or {@link Permissions | `Permissions`} as subcomponents.\n * ```tsx\n * <UtopiaMap center={[50.6, 15.5]} zoom={5} height=\"100dvh\" width=\"100dvw\">\n * ...\n * <Tags data={tags} />\n * <Permissions data={permissions} />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nfunction UtopiaMap({ height = '500px', width = '100%', center = [50.6, 9.5], zoom = 10, children, geo, showFilterControl = false, showGratitudeControl = false, showLayerControl = true, showZoomControl = false, showThemeControl = false, defaultTheme, donationWidget, expandLayerControl, }) {\n return (_jsx(ContextWrapper, { children: _jsx(MapContainer, { style: { height, width }, center: new LatLng(center[0], center[1]), zoom: zoom, zoomControl: showZoomControl, maxZoom: 19, children: _jsx(UtopiaMapInner, { geo: geo, showFilterControl: showFilterControl, showGratitudeControl: showGratitudeControl, showLayerControl: showLayerControl, donationWidget: donationWidget, showThemeControl: showThemeControl, defaultTheme: defaultTheme, expandLayerControl: expandLayerControl, children: children }) }) }));\n}\nexport { UtopiaMap };\n","import { createContext } from 'react';\nconst LayerContext = createContext({\n name: '',\n markerDefaultColor: '',\n markerDefaultColor2: '',\n markerShape: '',\n menuText: '',\n});\nexport default LayerContext;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useSetItemsApi, useSetItemsData } from './hooks/useItems';\nimport { useAddTag } from './hooks/useTags';\nimport LayerContext from './LayerContext';\n/**\n * @category Map\n */\nexport const Layer = ({ data, children, name = 'places', menuIcon = 'MapPinIcon', menuText = 'add new place', menuColor = '#2E7D32', markerIcon, markerShape = 'circle', markerDefaultColor = '#777', markerDefaultColor2 = 'RGBA(35, 31, 32, 0.2)', api, itemType, userProfileLayer = false, customEditLink, customEditParameter, \n// eslint-disable-next-line camelcase\npublic_edit_items, listed = true, }) => {\n const setItemsApi = useSetItemsApi();\n const setItemsData = useSetItemsData();\n const addTag = useAddTag();\n const [newTagsToAdd] = useState([]);\n const [tagsReady] = useState(false);\n useEffect(() => {\n data &&\n setItemsData({\n data,\n children,\n name,\n menuIcon,\n menuText,\n menuColor,\n markerIcon,\n markerShape,\n markerDefaultColor,\n markerDefaultColor2,\n api,\n itemType,\n userProfileLayer,\n // Can we just use editCallback for all cases?\n customEditLink,\n customEditParameter,\n // eslint-disable-next-line camelcase\n public_edit_items,\n listed,\n });\n api &&\n setItemsApi({\n data,\n children,\n name,\n menuIcon,\n menuText,\n menuColor,\n markerIcon,\n markerShape,\n markerDefaultColor,\n markerDefaultColor2,\n api,\n itemType,\n userProfileLayer,\n customEditLink,\n customEditParameter,\n // eslint-disable-next-line camelcase\n public_edit_items,\n listed,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, api]);\n useEffect(() => {\n if (tagsReady) {\n const processedTags = {};\n newTagsToAdd.map((newtag) => {\n if (!processedTags[newtag.name]) {\n processedTags[newtag.name] = true;\n addTag(newtag);\n }\n return null;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagsReady]);\n return (_jsx(LayerContext.Provider, { value: {\n name,\n markerDefaultColor,\n markerDefaultColor2,\n markerShape,\n markerIcon,\n menuText,\n }, children: children }));\n};\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useSetTagData, useSetTagApi } from './hooks/useTags';\n/**\n * This Components injects Tags comming from an {@link ItemsApi | `API`}\n * ```tsx\n * <Tags api={tagsApi} />\n * ```\n * or from on {@link Tag| `Array`}\n * ```tsx\n * <Tags data={tags} />\n * ```\n * Can be child of {@link AppShell | `AppShell`}\n * ```tsx\n * <AppShell>\n * ...\n * <Tags api={tagsApi} />\n * </AppShell>\n * ```\n * Or child of {@link UtopiaMap | `UtopiaMap`}\n * ```tsx\n * <UtopiaMap>\n * ...\n * <Tags api={tagsApi} />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nexport function Tags({ data, api }) {\n const setTagData = useSetTagData();\n const setTagApi = useSetTagApi();\n useEffect(() => {\n data && setTagData(data);\n api && setTagApi(api);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [api, data]);\n return _jsx(_Fragment, {});\n}\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useSetPermissionData, useSetPermissionApi, useSetAdminRole } from './hooks/usePermissions';\n/**\n * This Components injects Permissions comming from an {@link ItemsApi | `API`}\n * ```tsx\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * ```\n * or from on {@link Permission| `Array`}\n * ```tsx\n * <Permissions data={permissions} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * ```\n * Can be child of {@link AppShell | `AppShell`}\n * ```tsx\n * <AppShell>\n * ...\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * </AppShell>\n * ```\n * Or child of {@link UtopiaMap | `UtopiaMap`}\n * ```tsx\n * <UtopiaMap>\n * ...\n * <Permissions api={itemsApiInstance} adminRole=\"8141dee8-8e10-48d0-baf1-680aea271298\" />\n * </UtopiaMap>\n * ```\n * @category Map\n */\nexport function Permissions({ data, api, adminRole, }) {\n const setPermissionData = useSetPermissionData();\n const setPermissionApi = useSetPermissionApi();\n const setAdminRole = useSetAdminRole();\n const { user } = useAuth();\n useEffect(() => {\n adminRole && setAdminRole(adminRole);\n data && setPermissionData(data);\n api && setPermissionApi(api);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [api, data, adminRole, user]);\n return _jsx(_Fragment, {});\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState, useEffect } from 'react';\nconst themes = [\n 'default',\n 'light',\n 'dark',\n 'valentine',\n 'retro',\n 'aqua',\n 'cyberpunk',\n 'caramellatte',\n 'abyss',\n 'silk',\n];\nexport const ThemeControl = () => {\n const [theme, setTheme] = useState(() => {\n const savedTheme = localStorage.getItem('theme');\n return savedTheme ? JSON.parse(savedTheme) : 'default';\n });\n useEffect(() => {\n if (theme !== 'default') {\n localStorage.setItem('theme', JSON.stringify(theme));\n }\n else\n localStorage.removeItem('theme');\n document.documentElement.setAttribute('data-theme', theme);\n }, [theme]);\n return (_jsxs(\"div\", { className: 'tw:dropdown tw:mr-2', children: [_jsxs(\"div\", { tabIndex: 0, role: 'button', className: 'tw:btn tw:m-1', children: [\"Theme\", _jsx(\"svg\", { width: '12px', height: '12px', className: 'tw:inline-block tw:h-2 tw:w-2 tw:fill-current tw:opacity-60', xmlns: 'http://www.w3.org/2000/svg', viewBox: '0 0 2048 2048', children: _jsx(\"path\", { d: 'M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z' }) })] }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:bg-base-200 tw:rounded-box tw:z-1 tw:w-36 tw:p-2 tw:shadow-2xl', children: themes.map((t) => (_jsx(\"li\", { children: _jsx(\"input\", { className: `tw:btn ${theme === t ? 'tw:bg-base-300' : ''} tw:btn-sm tw:btn-block tw:btn-ghost tw:justify-start`, type: 'radio', name: 'theme', value: t, checked: theme === t, onChange: () => setTheme(t), \"aria-label\": t.toLowerCase() }) }, t))) })] }));\n};\n","import * as React from \"react\";\nfunction EllipsisVerticalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM8 6.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM9.5 12.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EllipsisVerticalIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport { useState, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useAppState } from './hooks/useAppState';\nexport const UserControl = () => {\n const { isAuthenticated, user, logout } = useAuth();\n const appState = useAppState();\n const [userProfile, setUserProfile] = useState({});\n const items = useItems();\n useEffect(() => {\n const profile = user && items.find((i) => i.user_created?.id === user.id && i.layer?.userProfileLayer);\n profile\n ? setUserProfile(profile)\n : setUserProfile({ id: crypto.randomUUID(), name: user?.first_name ?? '', text: '' });\n }, [user, items]);\n const onLogout = async () => {\n await toast.promise(logout(), {\n success: {\n render() {\n return 'Bye bye';\n },\n // other options\n icon: '👋',\n },\n error: {\n render({ data }) {\n return JSON.stringify(data);\n },\n },\n pending: 'logging out ..',\n });\n };\n return (_jsx(_Fragment, { children: isAuthenticated ? (_jsxs(\"div\", { className: 'tw:flex tw:mr-2', children: [_jsxs(Link, { to: `${userProfile.id && '/item/' + userProfile.id}`, className: 'tw:flex tw:items-center', children: [userProfile.image && (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:w-10 tw:rounded-full', children: _jsx(\"img\", { src: appState.assetsApi.url + userProfile.image }) }) })), _jsx(\"div\", { className: 'tw:ml-2 tw:mr-2', children: userProfile.name || user?.first_name })] }), _jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-end', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:btn tw:btn-ghost tw:btn-square', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 0, className: 'tw:menu tw:menu-compact tw:dropdown-content tw:mt-4 tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:w-52 tw:z-10000!', children: [_jsx(\"li\", { children: _jsx(Link, { to: `${userProfile.id && '/edit-item/' + userProfile.id}`, children: \"Profile\" }) }), _jsx(\"li\", { children: _jsx(Link, { to: '/user-settings', children: \"Settings\" }) }), _jsx(\"li\", { children: _jsx(\"a\", { onClick: () => {\n void onLogout();\n }, children: \"Logout\" }) })] })] })] })) : (_jsxs(\"div\", { className: 'tw:mr-2 tw:flex tw:items-center', children: [_jsxs(\"div\", { className: 'tw:hidden tw:md:flex', children: [_jsx(Link, { to: '/login', children: _jsx(\"div\", { className: 'tw:self-center tw:btn tw:btn-ghost tw:mr-2', children: \"Login\" }) }), _jsx(Link, { to: '/signup', children: _jsx(\"div\", { className: 'tw:btn tw:btn-ghost tw:mr-2', children: \"Sign Up\" }) })] }), _jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-end', children: [_jsx(\"label\", { tabIndex: 1, className: 'tw:btn tw:btn-ghost tw:md:hidden', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 1, className: 'tw:menu tw:dropdown-content tw:mt-4 tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:w-52 tw:z-10000!', children: [_jsx(\"li\", { children: _jsx(Link, { to: '/login', children: \"Login\" }) }), _jsx(\"li\", { children: _jsx(Link, { to: '/signup', children: \"Sign Up\" }) })] })] })] })) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Bars3Icon from '@heroicons/react/16/solid/Bars3Icon';\nimport QuestionMarkIcon from '@heroicons/react/24/outline/QuestionMarkCircleIcon';\nimport { useEffect, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ThemeControl } from '#components/Templates/ThemeControl';\nimport { useAppState, useSetAppState } from './hooks/useAppState';\nimport { UserControl } from './UserControl';\nexport default function NavBar({ appName }) {\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebar = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n const nameRef = useRef(null);\n const [nameWidth, setNameWidth] = useState(0);\n useEffect(() => {\n !appState.embedded && nameRef.current && setNameWidth(nameRef.current.scrollWidth);\n }, [nameRef, appName, appState.embedded]);\n if (!appState.embedded) {\n return (_jsx(_Fragment, { children: _jsxs(\"div\", { className: 'tw:navbar tw:bg-base-100 tw:z-9998 tw:shadow-xl tw:relative tw:p-0', children: [_jsx(\"button\", { className: 'tw:btn tw:btn-square tw:btn-ghost tw:ml-3', \"aria-controls\": '#sidenav', \"aria-haspopup\": 'true', onClick: () => toggleSidebar(), children: _jsx(Bars3Icon, { className: 'tw:inline-block tw:w-5 tw:h-5' }) }), _jsx(\"div\", { className: 'tw:flex-1 tw:mr-2', children: _jsxs(\"div\", { className: 'tw:flex-1 tw:truncate tw:grid tw:grid-flow-col', style: { maxWidth: nameWidth + 60 }, children: [_jsx(Link, { className: 'tw:btn tw:btn-ghost tw:px-2 tw:normal-case tw:text-xl tw:flex-1 tw:truncate', to: '/', children: _jsx(\"h1\", { ref: nameRef, className: 'tw:truncate', children: appName }) }), _jsx(\"button\", { className: 'tw:btn tw:px-2 tw:btn-ghost', onClick: () => window.my_modal_3.showModal(), children: _jsx(QuestionMarkIcon, { className: 'tw:h-5 tw:w-5' }) })] }) }), appState.showThemeControl && _jsx(ThemeControl, {}), _jsx(UserControl, {})] }) }));\n }\n else\n return _jsx(_Fragment, {});\n}\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { useSetAppState } from './hooks/useAppState';\nexport const SetAppState = ({ assetsApi, embedded, openCollectiveApiKey, }) => {\n const setAppState = useSetAppState();\n useEffect(() => {\n setAppState({ assetsApi });\n }, [assetsApi, setAppState]);\n useEffect(() => {\n setAppState({ embedded });\n }, [embedded, setAppState]);\n useEffect(() => {\n setAppState({ openCollectiveApiKey });\n }, [openCollectiveApiKey, setAppState]);\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { ContextWrapper } from './ContextWrapper';\nimport NavBar from './NavBar';\nimport { SetAppState } from './SetAppState';\n/**\n * @category AppShell\n */\nexport function AppShell({ appName, children, assetsApi, embedded, openCollectiveApiKey, }) {\n return (_jsx(ContextWrapper, { children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(SetAppState, { assetsApi: assetsApi, embedded: embedded, openCollectiveApiKey: openCollectiveApiKey }), _jsx(NavBar, { appName: appName }), _jsx(\"div\", { id: 'app-content', className: 'tw:flex', children: children })] }) }));\n}\n","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport ChevronDownIcon from '@heroicons/react/24/outline/ChevronDownIcon';\nimport { useEffect, useState } from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nfunction SidebarSubmenu({ submenu, name, icon, }) {\n const location = useLocation();\n const [isExpanded, setIsExpanded] = useState(false);\n /** Open Submenu list if path found in routes, this is for directly loading submenu routes first time */\n useEffect(() => {\n if (submenu?.filter((m) => {\n return m.path === location.pathname;\n })[0])\n setIsExpanded(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (_jsxs(\"div\", { className: 'flex-col', children: [_jsxs(\"div\", { className: 'w-full', onClick: () => setIsExpanded(!isExpanded), children: [icon, \" \", _jsxs(\"span\", { children: [name, \" \"] }), _jsx(ChevronDownIcon, { className: 'w-5 h-5 mt-1 float-right delay-400 duration-500 transition-all ' +\n (isExpanded ? 'rotate-180' : '') })] }), _jsx(\"div\", { className: ' w-full' + (isExpanded ? '' : 'hidden'), children: _jsx(\"ul\", { className: 'menu menu-compact', children: submenu?.map((m, k) => {\n return (_jsx(\"li\", { children: _jsxs(Link, { to: m.path, className: '', children: [m.icon, _jsx(\"span\", { className: '', \"data-te-sidenav-slim\": 'false', children: m.name }), location.pathname === m.path ? (_jsx(\"span\", { className: 'absolute mt-1 mb-1 inset-y-0 left-0 w-1 rounded-tr-md rounded-br-md bg-primary ', \"aria-hidden\": 'true' })) : null] }) }, k));\n }) }) })] }));\n}\nexport default SidebarSubmenu;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport ChevronRightIcon from '@heroicons/react/24/outline/ChevronRightIcon';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { useAppState, useSetAppState } from './hooks/useAppState';\nimport SidebarSubmenu from './SidebarSubmenu';\n/**\n * @category AppShell\n */\nexport function SideBar({ routes, bottomRoutes }) {\n const location = useLocation();\n const params = new URLSearchParams(window.location.search);\n const appState = useAppState();\n const setAppState = useSetAppState();\n const toggleSidebarOpen = () => {\n setAppState({ sideBarOpen: !appState.sideBarOpen });\n };\n const toggleSidebarSlim = () => {\n setAppState({ sideBarSlim: !appState.sideBarSlim });\n };\n return (_jsx(\"nav\", { id: 'sidenav', className: `${appState.sideBarOpen ? 'tw:translate-x-0' : 'tw:-translate-x-full'}\n ${appState.sideBarSlim ? 'tw:w-14' : 'tw:w-48'}\n ${appState.embedded ? 'tw:mt-5.5 tw:h-[calc(100dvh-22px)]' : 'tw:mt-16 tw:h-[calc(100dvh-64px)]'}\n tw:fixed tw:left-0 tw:transition-all tw:duration-300 tw:top-0 tw:z-10035 \n tw:overflow-hidden tw:shadow-xl tw:dark:bg-zinc-800`, children: _jsxs(\"div\", { className: `tw:flex tw:flex-col ${appState.embedded ? 'tw:h-full' : 'tw:h-[calc(100dvh-64px)]'}`, children: [_jsx(\"ul\", { className: 'tw:menu tw:w-full tw:bg-base-100 tw:text-base-content tw:p-0', children: routes.map((route, k) => {\n return (_jsx(\"li\", { className: '', children: route.submenu ? (_jsx(SidebarSubmenu, { ...route })) : (_jsxs(NavLink, { end: true, target: route.blank ? '_blank' : '_self', \n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n to: `${route.path}${params && '?' + params.toString()}`, className: ({ isActive }) => `${isActive ? 'tw:font-semibold tw:bg-base-200 tw:rounded-none!' : 'tw:font-normal tw:rounded-none!'}`, onClick: () => {\n if (screen.width < 640 && !appState.sideBarSlim)\n toggleSidebarOpen();\n }, children: [route.icon, _jsx(\"span\", { className: `${appState.sideBarSlim ? 'tw:hidden' : ''}`, \"data-te-sidenav-slim\": 'false', children: route.name }), (location.pathname.includes(route.path) && route.path.length > 1) ||\n location.pathname === route.path ? (_jsx(\"span\", { className: 'tw:absolute tw:inset-y-0 tw:left-0 tw:w-1 tw:rounded-tr-md tw:rounded-br-md tw:bg-primary ', \"aria-hidden\": 'true' })) : null] })) }, k));\n }) }), _jsx(\"div\", { id: 'slim-toggler', className: 'tw:w-full tw:bg-base-100 tw:flex-1 tw:grid tw:place-items-end', \"aria-haspopup\": 'true', children: _jsxs(\"div\", { className: 'tw:w-full', children: [_jsx(\"ul\", { className: 'tw:menu tw:w-full tw:bg-base-100 tw:text-base-content tw:p-0 tw:mb-0', \"data-te-sidenav-menu-ref\": true, children: bottomRoutes?.map((route, k) => {\n return (_jsx(\"li\", { className: '', children: route.submenu ? (_jsx(SidebarSubmenu, { ...route })) : (_jsxs(NavLink, { end: true, target: route.blank ? '_blank' : '_self', to: route.path, className: ({ isActive }) => `${isActive ? 'tw:font-semibold tw:bg-base-200 tw:rounded-none!' : 'tw:font-normal tw:rounded-none!'}`, onClick: () => {\n if (screen.width < 640 && !appState.sideBarSlim)\n toggleSidebarOpen();\n }, children: [route.icon, _jsx(\"span\", { className: `${appState.sideBarSlim ? 'tw:hidden' : ''}`, \"data-te-sidenav-slim\": 'false', children: route.name }), (location.pathname.includes(route.path) && route.path.length > 1) ||\n location.pathname === route.path ? (_jsx(\"span\", { className: 'tw:absolute tw:inset-y-0 tw:left-0 tw:w-1 tw:rounded-tr-md tw:rounded-br-md tw:bg-primary ', \"aria-hidden\": 'true' })) : null] })) }, k));\n }) }), _jsx(ChevronRightIcon, { className: 'tw:w-5 tw:h-5 tw:mb-4 tw:mr-5 tw:mt-2 tw:cursor-pointer tw:float-right tw:delay-400 tw:duration-500 tw:transition-all ' +\n (!appState.sideBarSlim ? 'tw:rotate-180' : ''), onClick: () => toggleSidebarSlim() })] }) })] }) }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useAppState } from './hooks/useAppState';\n/**\n * @category AppShell\n */\nexport function Content({ children }) {\n const appState = useAppState();\n return (_jsx(\"div\", { className: `${appState.sideBarOpen && !appState.sideBarSlim ? 'tw:ml-48' : appState.sideBarOpen && appState.sideBarSlim ? 'tw:ml-14' : ''} tw:w-full tw:h-full tw:bg-base-200 tw:relative tw:transition-all tw:duration-300`, children: children }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { DomEvent } from 'leaflet';\nimport { createRef, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\n/**\n * @category Templates\n */\nexport function MapOverlayPage({ children, className, backdrop, card = true, }) {\n const closeScreen = () => {\n navigate(`/${window.location.search ? window.location.search : ''}`);\n };\n const navigate = useNavigate();\n const overlayRef = createRef();\n const backdropRef = createRef();\n useEffect(() => {\n if (overlayRef.current !== null) {\n DomEvent.disableClickPropagation(overlayRef.current);\n DomEvent.disableScrollPropagation(overlayRef.current);\n }\n if (backdropRef.current !== null && backdrop) {\n DomEvent.disableClickPropagation(backdropRef.current);\n DomEvent.disableScrollPropagation(backdropRef.current);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [overlayRef, backdropRef]);\n return (_jsx(\"div\", { className: `tw:absolute tw:h-full tw:w-full tw:m-auto ${backdrop ? 'tw:z-2000' : ''}`, children: _jsx(\"div\", { ref: backdropRef, className: `${backdrop ? 'tw:backdrop-brightness-75' : ''} tw:h-full tw:w-full tw:grid tw:place-items-center tw:m-auto`, children: _jsxs(\"div\", { ref: overlayRef, className: `${card ? 'tw:card tw:card-body' : ''} tw:shadow-xl tw:bg-base-100 tw:p-6 ${className ?? ''} ${backdrop ? '' : 'tw:z-2000'} tw:absolute tw:top-0 tw:bottom-0 tw:right-0 tw:left-0 tw:m-auto`, children: [children, _jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2', onClick: () => closeScreen(), children: \"\\u2715\" })] }) }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function LoginPage() {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const { login, loading } = useAuth();\n const navigate = useNavigate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onLogin = async () => {\n await toast.promise(login({ email, password }), {\n success: {\n render({ data }) {\n navigate('/');\n return `Hi ${data?.first_name ? data.first_name : 'Traveler'}`;\n },\n // other options\n icon: '✌️',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n autoClose: 10000,\n },\n pending: 'logging in ...',\n });\n };\n useEffect(() => {\n const keyDownHandler = (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n onLogin();\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [onLogin]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Login\" }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:text-right tw:text-primary', children: _jsx(Link, { to: '/reset-password', children: _jsx(\"span\", { className: 'tw:text-sm tw:inline-block tw:hover:text-primary tw:hover:underline tw:hover:cursor-pointer tw:transition tw:duration-200', children: \"Forgot Password?\" }) }) }), _jsx(\"div\", { className: 'tw:card-actions', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onLogin(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Login' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function SignupPage() {\n const [email, setEmail] = useState('');\n const [userName, setUserName] = useState('');\n const [password, setPassword] = useState('');\n const { register, loading } = useAuth();\n const navigate = useNavigate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onRegister = async () => {\n await toast.promise(register({ email, password }, userName), {\n success: {\n render({ data }) {\n navigate('/');\n return `Hi ${data?.first_name ? data.first_name : 'Traveler'}`;\n },\n // other options\n icon: '✌️',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n autoClose: 10000,\n },\n pending: 'creating new user ...',\n });\n };\n useEffect(() => {\n const keyDownHandler = (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n onRegister();\n }\n };\n document.addEventListener('keydown', keyDownHandler);\n return () => {\n document.removeEventListener('keydown', keyDownHandler);\n };\n }, [onRegister]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Sign Up\" }), _jsx(\"input\", { type: 'text', placeholder: 'Name', value: userName, onChange: (e) => setUserName(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onRegister(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Sign Up' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function RequestPasswordPage({ resetUrl }) {\n const [email, setEmail] = useState('');\n const { requestPasswordReset, loading } = useAuth();\n const navigate = useNavigate();\n const onReset = async () => {\n await toast.promise(requestPasswordReset(email, resetUrl), {\n success: {\n render() {\n navigate('/');\n return 'Check your mailbox';\n },\n // other options\n icon: '📬',\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n pending: 'sending email ...',\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Reset Password\" }), _jsx(\"input\", { type: 'email', placeholder: 'E-Mail', value: email, onChange: (e) => setEmail(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onReset(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Send' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { MapOverlayPage } from '#components/Templates/MapOverlayPage';\nimport { useAuth } from './useAuth';\n/**\n * @category Auth\n */\nexport function SetNewPasswordPage() {\n const [password, setPassword] = useState('');\n const { passwordReset, loading } = useAuth();\n const navigate = useNavigate();\n const onReset = async () => {\n const token = window.location.search.split('token=')[1];\n await toast.promise(passwordReset(token, password), {\n success: {\n render() {\n navigate('/');\n return 'New password set';\n },\n },\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n pending: 'setting password ...',\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:max-w-xs tw:h-fit', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: \"Set new Password\" }), _jsx(\"input\", { type: 'password', placeholder: 'Password', onChange: (e) => setPassword(e.target.value), className: 'tw:input tw:input-bordered tw:w-full tw:max-w-xs' }), _jsx(\"div\", { className: 'tw:card-actions tw:mt-4', children: _jsx(\"button\", { className: loading\n ? 'tw:btn tw:btn-disabled tw:btn-block tw:btn-primary'\n : 'tw:btn tw:btn-primary tw:btn-block', \n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onClick: () => onReset(), children: loading ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Set' }) })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useState } from 'react';\n/**\n * @category Input\n */\nexport function TextAreaInput({ labelTitle, dataField, labelStyle, containerStyle, inputStyle, defaultValue, placeholder, required = true, updateFormValue, }) {\n const ref = useRef(null);\n const [inputValue, setInputValue] = useState(defaultValue);\n useEffect(() => {\n setInputValue(defaultValue);\n }, [defaultValue]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n if (updateFormValue) {\n updateFormValue(newValue);\n }\n };\n return (_jsxs(\"div\", { className: `tw:form-control tw:w-full ${containerStyle ?? ''}`, children: [labelTitle ? (_jsx(\"label\", { className: 'tw:label', children: _jsx(\"span\", { className: `tw:label-text tw:text-base-content ${labelStyle ?? ''}`, children: labelTitle }) })) : null, _jsx(\"textarea\", { required: required, ref: ref, value: inputValue, name: dataField, className: `tw:textarea tw:textarea-bordered tw:w-full tw:leading-5 ${inputStyle ?? ''}`, placeholder: placeholder ?? '', onChange: handleChange })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\n/**\n * @category Input\n */\nexport function TextInput({ labelTitle, labelStyle, type, dataField, containerStyle, inputStyle, defaultValue, placeholder, autocomplete, pattern, required = true, updateFormValue, }) {\n const [inputValue, setInputValue] = useState(defaultValue ?? '');\n useEffect(() => {\n setInputValue(defaultValue ?? '');\n }, [defaultValue]);\n const handleChange = (e) => {\n const newValue = e.target.value;\n setInputValue(newValue);\n if (updateFormValue) {\n updateFormValue(newValue);\n }\n };\n return (_jsxs(\"div\", { className: `tw:form-control ${containerStyle ?? ''}`, children: [labelTitle ? (_jsx(\"label\", { className: 'tw:label', children: _jsx(\"span\", { className: `tw:label-text tw:text-base-content ${labelStyle ?? ''}`, children: labelTitle }) })) : null, _jsx(\"input\", { required: required, pattern: pattern, type: type ?? 'text', name: dataField, value: inputValue, placeholder: placeholder ?? '', autoComplete: autocomplete, onChange: handleChange, className: `tw:input tw:input-bordered tw:w-full ${inputStyle ?? ''}` })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Subtitle({ styleClass, children }) {\n return _jsx(\"div\", { className: `tw:text-xl tw:font-semibold ${styleClass}`, children: children });\n}\nexport default Subtitle;\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport Subtitle from '#components/Typography/Subtitle';\n/**\n * @category Templates\n */\nexport function TitleCard({ title, hideTitle, children, topMargin, TopSideButtons, className, }) {\n return (_jsxs(\"div\", { className: 'card tw:w-full tw:p-6 tw:bg-base-100 tw:shadow-xl tw:h-fit tw:mb-4 ' +\n (className ?? '') +\n ' ' +\n (topMargin ?? 'tw:mt-6'), children: [!hideTitle && (_jsxs(_Fragment, { children: [_jsxs(Subtitle, { styleClass: TopSideButtons ? 'tw:inline-block' : '', children: [title, TopSideButtons && (_jsx(\"div\", { className: 'tw:inline-block tw:float-right', children: TopSideButtons }))] }), _jsx(\"div\", { className: 'divider tw:mt-2' })] })), _jsx(\"div\", { className: 'tw:h-full tw:bg-transparent tw:w-full tw:pb-6 tw:bg-base-100', children: children })] }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Link } from 'react-router-dom';\nimport { TitleCard } from './TitleCard';\n/**\n * @category Templates\n */\nexport function CardPage({ title, hideTitle, children, parents, }) {\n return (_jsx(\"main\", { className: 'tw:flex-1 tw:overflow-y-auto tw:overflow-x-hidden tw:pt-2 tw:px-6 tw:min-w-80 tw:flex tw:justify-center', children: _jsxs(\"div\", { className: 'tw:w-full tw:xl:max-w-6xl ', children: [_jsx(\"div\", { className: 'tw:text-sm breadcrumbs', children: _jsxs(\"ul\", { children: [_jsx(\"li\", { children: _jsx(Link, { to: '/', children: \"Home\" }) }), parents?.map((b, i) => (_jsx(\"li\", { children: _jsx(Link, { to: b.path, children: b.name }) }, i))), _jsx(\"li\", { children: title })] }) }), _jsx(TitleCard, { hideTitle: hideTitle, title: title, topMargin: 'tw:my-2', className: ' tw:mb-4', children: children })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const SelectUser = () => {\n const appState = useAppState();\n const items = useItems();\n const users = items.filter((i) => i.layer?.userProfileLayer);\n const [selectedUsers, setSelectedUsers] = useState([]);\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:h-3/4 tw:w-80', children: [_jsx(\"div\", { className: 'tw:text-center tw:text-xl tw:font-bold tw:mb-4', children: \"Gratitude to ...\" }), _jsx(\"div\", { className: 'tw:overflow-x-auto tw:w-full fade', children: _jsx(\"table\", { className: 'tw:table tw:w-full', children: _jsx(\"tbody\", { children: users.map((u, k) => {\n return (_jsxs(\"tr\", { children: [_jsx(\"td\", { children: _jsx(\"input\", { type: 'checkbox', onChange: () => setSelectedUsers((prev) => [...prev, u.id]), className: 'checkbox checkbox-sm' }) }), _jsx(\"td\", { children: _jsxs(\"div\", { className: 'tw:flex tw:items-center tw:space-x-3', children: [u.image ? (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:w-8 tw:h-8', children: _jsx(\"img\", { src: appState.assetsApi.url + u.image + '?width=40&heigth=40', alt: 'Avatar' }) }) })) : (_jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:text-xl tw:md:text-2xl tw:bg-slate-200 tw:rounded-full tw:w-8 tw:h-8' })), _jsx(\"div\", { children: _jsx(\"div\", { className: 'tw:font-bold', children: u.name }) })] }) })] }, k));\n }) }) }) }), _jsx(\"div\", { className: 'tw:w-full tw:grid tw:mt-4', children: _jsx(Link, { className: 'tw:place-self-center ', to: '/attestation-form' + '?to=' + selectedUsers.map((u) => u, ','), children: _jsx(\"button\", { className: 'tw:btn tw:px-8', children: \"Next\" }) }) })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextAreaInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupTextAreaInput = ({ dataField, placeholder, style, item, }) => {\n return (_jsx(TextAreaInput, { defaultValue: item?.text ? item.text : '', dataField: dataField, placeholder: placeholder, inputStyle: style }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport { TextInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupStartEndInput = ({ item, showLabels = true, updateStartValue, updateEndValue, }) => {\n return (_jsxs(\"div\", { className: 'tw:grid tw:grid-cols-2 tw:gap-2', children: [_jsx(TextInput, { type: 'date', placeholder: 'start', dataField: 'start', inputStyle: 'tw:text-sm tw:px-2', labelTitle: showLabels ? 'start' : '', defaultValue: item && item.start ? item.start.substring(0, 10) : '', autocomplete: 'one-time-code', updateFormValue: updateStartValue }), _jsx(TextInput, { type: 'date', placeholder: 'end', dataField: 'end', inputStyle: 'tw:text-sm tw:px-2', labelTitle: showLabels ? 'end' : '', defaultValue: item && item.end ? item.end.substring(0, 10) : '', autocomplete: 'one-time-code', updateFormValue: updateEndValue })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextInput } from '#components/Input';\n/**\n * @category Map\n */\nexport const PopupTextInput = ({ dataField, placeholder, style, item, }) => {\n return (_jsx(TextInput, { defaultValue: item?.name ? item.name : '', dataField: dataField, placeholder: placeholder, inputStyle: style, type: 'text', containerStyle: 'tw:mt-4' }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * @category Map\n */\nexport const PopupCheckboxInput = ({ dataField, label, item, }) => {\n return (_jsxs(\"label\", { htmlFor: item?.id, className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-1', children: [_jsx(\"input\", { id: item?.id, type: 'checkbox', name: dataField, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: item?.public_edit }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2 tw:cursor-pointer', children: label })] }));\n};\n","import * as React from \"react\";\nfunction CalendarDaysIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.75 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.5 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM8.25 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM9.75 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM10.5 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM12.75 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM14.25 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM15 17.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM16.5 15.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM15 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM16.5 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M6.75 2.25A.75.75 0 0 1 7.5 3v1.5h9V3A.75.75 0 0 1 18 3v1.5h.75a3 3 0 0 1 3 3v11.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V7.5a3 3 0 0 1 3-3H6V3a.75.75 0 0 1 .75-.75Zm13.5 9a1.5 1.5 0 0 0-1.5-1.5H5.25a1.5 1.5 0 0 0-1.5 1.5v7.5a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5v-7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CalendarDaysIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport CalendarIcon from '@heroicons/react/24/solid/CalendarDaysIcon';\n/**\n * @category Map\n */\nexport const StartEndView = ({ item }) => {\n return (_jsxs(\"div\", { className: 'tw:flex tw:flex-row tw:mb-4 tw:mt-1', children: [_jsxs(\"div\", { className: 'tw:basis-2/5 tw:flex tw:flex-row', children: [_jsx(CalendarIcon, { className: 'tw:h-4 tw:w-4 tw:mr-2' }), _jsx(\"time\", { className: 'tw:align-middle', dateTime: item && item.start ? item.start.substring(0, 10) : '', children: item && item.start ? new Date(item.start).toLocaleDateString() : '' })] }), _jsx(\"div\", { className: 'tw:basis-1/5 tw:place-content-center', children: _jsx(\"span\", { children: \"-\" }) }), _jsxs(\"div\", { className: 'tw:basis-2/5 tw:flex tw:flex-row', children: [_jsx(CalendarIcon, { className: 'tw:h-4 tw:w-4 tw:mr-2' }), _jsx(\"time\", { className: 'tw:align-middle', dateTime: item && item.end ? item.end.substring(0, 10) : '', children: item && item.end ? new Date(item.end).toLocaleDateString() : '' })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { Link } from 'react-router-dom';\nimport { useGetItemTags } from '#components/Map/hooks/useTags';\n/**\n * @category Map\n */\nexport const PopupButton = ({ url, parameterField, text, item, }) => {\n const params = new URLSearchParams(window.location.search);\n const getItemTags = useGetItemTags();\n return (_jsx(Link, { to: `${url}/${parameterField ? item?.id : ''}?${params}`, children: _jsx(\"button\", { style: {\n backgroundColor: `${item?.color ?? (item && (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color ? getItemTags(item)[0].color : (item?.layer?.markerDefaultColor ?? '#000')))}`,\n }, className: 'tw:btn tw:text-white tw:btn-sm tw:float-right tw:mt-1', children: text }) }));\n};\n","import * as React from \"react\";\nfunction PlusIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 4.5v15m7.5-7.5h-15\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PlusIcon);\nexport default ForwardRef;","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport PlusIcon from '@heroicons/react/24/outline/PlusIcon';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nexport function PlusButton({ layer, triggerAction, color, collection = 'items', }) {\n const hasUserPermission = useHasUserPermission();\n return (_jsx(_Fragment, { children: hasUserPermission(collection, 'create', undefined, layer) && (_jsx(\"div\", { className: 'tw:dropdown tw:dropdown-top tw:dropdown-end tw:dropdown-hover tw:z-3000 tw:absolute tw:right-4 tw:bottom-4', children: _jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow', onClick: () => {\n triggerAction();\n }, style: { backgroundColor: color, color: '#fff' }, children: _jsx(PlusIcon, { className: 'tw:w-5 tw:h-5 tw:stroke-[2.5]' }) }) })) }));\n}\n","const goldenRatioConjugate = 0.618033988749895;\nexport const randomColor = () => {\n return hsvToHex((Math.random() + goldenRatioConjugate) % 1, 0.8, 0.7);\n};\nfunction hsvToHex(h, s, v) {\n let r, g, b;\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n }\n return rgbToHex(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255));\n}\nconst rgbToHex = (r, g, b) => '#' +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('');\n","import * as React from \"react\";\nfunction PencilIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.731 2.269a2.625 2.625 0 0 0-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 0 0 0-3.712ZM19.513 8.199l-3.712-3.712-12.15 12.15a5.25 5.25 0 0 0-1.32 2.214l-.8 2.685a.75.75 0 0 0 .933.933l2.685-.8a5.25 5.25 0 0 0 2.214-1.32L19.513 8.2Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PencilIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction TrashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.5 4.478v.227a48.816 48.816 0 0 1 3.878.512.75.75 0 1 1-.256 1.478l-.209-.035-1.005 13.07a3 3 0 0 1-2.991 2.77H8.084a3 3 0 0 1-2.991-2.77L4.087 6.66l-.209.035a.75.75 0 0 1-.256-1.478A48.567 48.567 0 0 1 7.5 4.705v-.227c0-1.564 1.213-2.9 2.816-2.951a52.662 52.662 0 0 1 3.369 0c1.603.051 2.815 1.387 2.815 2.951Zm-6.136-1.452a51.196 51.196 0 0 1 3.273 0C14.39 3.05 15 3.684 15 4.478v.113a49.488 49.488 0 0 0-6 0v-.113c0-.794.609-1.428 1.364-1.452Zm-.355 5.945a.75.75 0 1 0-1.5.058l.347 9a.75.75 0 1 0 1.499-.058l-.346-9Zm5.48.058a.75.75 0 1 0-1.498-.058l-.347 9a.75.75 0 0 0 1.5.058l.345-9Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(TrashIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect, useRef } from 'react';\nconst isClickInsideRectangle = (e, element) => {\n const r = element.getBoundingClientRect();\n return e.clientX > r.left && e.clientX < r.right && e.clientY > r.top && e.clientY < r.bottom;\n};\nconst DialogModal = ({ title, isOpened, onClose, children, showCloseButton = true, closeOnClickOutside = true, className, }) => {\n const ref = useRef(null);\n useEffect(() => {\n if (isOpened) {\n ref.current?.showModal();\n ref.current?.classList.remove('tw:hidden');\n document.body.classList.add('modal-open'); // prevent bg scroll\n }\n else {\n ref.current?.close();\n ref.current?.classList.add('tw:hidden');\n document.body.classList.remove('modal-open');\n }\n }, [isOpened]);\n if (isOpened) {\n return (_jsx(\"dialog\", { className: `${className ?? ''} card tw:shadow-xl tw:absolute tw:right-0 tw:top-0 tw:bottom-0 tw:left-0 tw:m-auto tw:transition-opacity tw:duration-300 tw:p-4 tw:max-w-xl tw:bg-base-100`, ref: ref, onCancel: onClose, onClick: (e) => ref.current && !isClickInsideRectangle(e, ref.current) && closeOnClickOutside && onClose(), children: _jsxs(\"div\", { className: 'card-body tw:p-2', children: [_jsx(\"h2\", { className: 'tw:text-2xl tw:font-semibold tw:mb-2 tw:text-center', children: title }), children, showCloseButton && (_jsx(\"button\", { className: 'btn btn-sm btn-circle btn-ghost tw:absolute tw:right-2 tw:top-2', onClick: onClose, children: \"\\u2715\" }))] }) }));\n }\n else\n return _jsx(_Fragment, {});\n};\nexport default DialogModal;\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/require-await */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport PencilIcon from '@heroicons/react/24/solid/PencilIcon';\nimport TrashIcon from '@heroicons/react/24/solid/TrashIcon';\nimport { useState } from 'react';\nimport SVG from 'react-inlinesvg';\nimport { useNavigate } from 'react-router-dom';\nimport TargetDotSVG from '#assets/targetDot.svg';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport DialogModal from '#components/Templates/DialogModal';\nexport function HeaderView({ item, api, editCallback, deleteCallback, setPositionCallback, loading, hideMenu = false, big = false, truncateSubname = true, hideSubname = false, showAddress = false, }) {\n const [modalOpen, setModalOpen] = useState(false);\n const hasUserPermission = useHasUserPermission();\n const navigate = useNavigate();\n const appState = useAppState();\n const [imageLoaded, setImageLoaded] = useState(false);\n const avatar = item.image && appState.assetsApi.url + item.image + '?width=160&heigth=160';\n const title = item.name;\n const subtitle = item.subname;\n const [address] = useState('');\n const params = new URLSearchParams(window.location.search);\n const openDeleteModal = async (event) => {\n setModalOpen(true);\n event.stopPropagation();\n };\n return (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [_jsx(\"div\", { className: 'tw:grow tw:max-w-[calc(100%-60px)] }', children: _jsxs(\"div\", { className: 'flex items-center', children: [avatar && (_jsx(\"div\", { className: 'tw:avatar', children: _jsxs(\"div\", { className: `${big ? 'tw:w-20' : 'tw:w-10'} tw:inline tw:items-center tw:justify-center overflow-hidden`, children: [_jsx(\"img\", { className: 'tw:w-full tw:h-full tw:object-cover tw:rounded-full', src: avatar, alt: item.name + ' logo', onLoad: () => setImageLoaded(true), onError: () => setImageLoaded(false), style: { display: imageLoaded ? 'block' : 'none' } }), !imageLoaded && (_jsx(\"div\", { className: 'tw:w-full tw:h-full tw:bg-gray-200 tw:rounded-full' }))] }) })), _jsxs(\"div\", { className: `${avatar ? 'tw:ml-2' : ''} tw:overflow-hidden`, children: [_jsx(\"div\", { className: `${big ? 'tw:xl:text-3xl tw:text-2xl' : 'tw:text-xl'} tw:font-semibold tw:truncate`, title: title, children: title }), showAddress && address && !hideSubname && (_jsx(\"div\", { className: `tw:text-xs tw:text-gray-500 ${truncateSubname && 'tw:truncate'}`, children: address })), subtitle && !hideSubname && (_jsx(\"div\", { className: `tw:text-xs tw:opacity-50 ${truncateSubname && 'tw:truncate'}`, children: subtitle }))] })] }) }), _jsx(\"div\", { onClick: (e) => e.stopPropagation(), className: `${big ? 'tw:mt-5' : 'tw:mt-1'}`, children: (api?.deleteItem || item.layer?.api?.updateItem) &&\n (hasUserPermission(api?.collectionName, 'delete', item) ||\n hasUserPermission(api?.collectionName, 'update', item)) &&\n !hideMenu && (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-bottom', children: [_jsx(\"label\", { tabIndex: 0, className: 'tw:bg-base-100 tw:btn tw:m-1 tw:leading-3 tw:border-none tw:min-h-0 tw:h-6', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsxs(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:menu tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:z-1000', children: [api?.updateItem &&\n hasUserPermission(api.collectionName, 'update', item) &&\n editCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:text-base-content! tw:cursor-pointer', onClick: (e) => item.layer?.customEditLink\n ? navigate(`${item.layer.customEditLink}${item.layer.customEditParameter ? `/${item.id}${params && '?' + params}` : ''} `)\n : editCallback(e), children: _jsx(PencilIcon, { className: 'tw:h-5 tw:w-5' }) }) })), api?.updateItem &&\n hasUserPermission(api.collectionName, 'update', item) &&\n setPositionCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:text-base-content! tw:cursor-pointer', onClick: setPositionCallback, children: _jsx(SVG, { src: TargetDotSVG, className: 'tw:w-5 tw:h-5' }) }) })), api?.deleteItem &&\n hasUserPermission(api.collectionName, 'delete', item) &&\n deleteCallback && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:cursor-pointer tw:text-error!', onClick: openDeleteModal, children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-sm' })) : (_jsx(TrashIcon, { className: 'tw:h-5 tw:w-5' })) }) }))] })] })) })] }), _jsx(DialogModal, { isOpened: modalOpen, title: 'Are you sure?', showCloseButton: false, onClose: () => setModalOpen(false), children: _jsxs(\"div\", { onClick: (e) => e.stopPropagation(), children: [_jsxs(\"span\", { children: [\"Do you want to delete \", _jsx(\"b\", { children: item.name }), \"?\"] }), _jsx(\"div\", { className: 'tw:grid', children: _jsxs(\"div\", { className: 'tw:flex tw:justify-between', children: [_jsx(\"label\", { className: 'tw:btn tw:mt-4 tw:btn-error', onClick: (e) => {\n deleteCallback(e);\n setModalOpen(false);\n }, children: \"Yes\" }), _jsx(\"label\", { className: 'tw:btn tw:mt-4', onClick: () => setModalOpen(false), children: \"No\" })] }) })] }) })] }));\n}\n","// in miliseconds\nconst units = [\n { label: 'year', seconds: 31536000 },\n { label: 'month', seconds: 2592000 },\n { label: 'week', seconds: 604800 },\n { label: 'day', seconds: 86400 },\n { label: 'hour', seconds: 3600 },\n { label: 'minute', seconds: 60 },\n { label: 'second', seconds: 1 },\n];\nexport const timeAgo = (date) => {\n const time = Math.floor((new Date().valueOf() - new Date(date).valueOf()) / 1000);\n const { interval, unit } = calculateTimeDifference(time);\n const suffix = interval === 1 ? '' : 's';\n return `${interval} ${unit}${suffix} ago`;\n};\nconst calculateTimeDifference = (time) => {\n for (const { label, seconds } of units) {\n const interval = Math.floor(time / seconds);\n if (interval >= 1) {\n return {\n interval,\n unit: label,\n };\n }\n }\n return {\n interval: 0,\n unit: '',\n };\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { timeAgo } from '#utils/TimeAgo';\nexport const DateUserInfo = ({ item }) => {\n const [infoExpanded, setInfoExpanded] = useState(false);\n return (_jsxs(\"div\", { className: 'tw:flex tw:-mb-1 tw:flex-row tw:mr-2 tw:-mt-2', onClick: (e) => e.stopPropagation(), children: [infoExpanded ? (_jsx(\"p\", { className: 'tw:italic tw:min-h-[21px] tw:my-0! tw:text-gray-500', onClick: () => setInfoExpanded(false), children: `${item.date_updated && item.date_updated !== item.date_created ? 'updated' : 'posted'} ${item.user_created?.first_name ? `by ${item.user_created.first_name}` : ''} ${item.date_updated ? timeAgo(item.date_updated) : timeAgo(item.date_created)}` })) : (_jsx(\"p\", { className: 'tw:my-0! tw:min-h-[21px] tw:font-bold tw:cursor-pointer tw:text-gray-500', onClick: () => setInfoExpanded(true), children: \"\\u24D8\" })), _jsx(\"div\", { className: 'tw:grow ' })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useNavigate } from 'react-router-dom';\nimport useWindowDimensions from '#components/Map/hooks/useWindowDimension';\nimport { StartEndView, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport { DateUserInfo } from './DateUserInfo';\nexport const ItemCard = ({ i, loading, url, deleteCallback, }) => {\n const navigate = useNavigate();\n const windowDimensions = useWindowDimensions();\n return (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:p-4 tw:mb-4 tw:h-fit', onClick: () => {\n // We could have an onClick callback instead\n const params = new URLSearchParams(window.location.search);\n if (windowDimensions.width < 786 && i.position)\n navigate('/' + i.id + `${params.size > 0 ? `?${params.toString()}` : ''}`);\n else\n navigate(url + i.id + `${params.size > 0 ? `?${params.toString()}` : ''}`);\n }, children: [_jsx(HeaderView, { loading: loading, item: i, api: i.layer?.api, editCallback: () => navigate('/edit-item/' + i.id), deleteCallback: () => deleteCallback(i) }), _jsxs(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: [i.layer?.itemType.show_start_end && _jsx(StartEndView, { item: i }), i.layer?.itemType.show_text && _jsx(TextView, { truncate: true, text: i.text, itemId: i.id })] }), _jsx(DateUserInfo, { item: i })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useRef, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextInput, TextAreaInput } from '#components/Input';\nimport { useFilterTags } from '#components/Map/hooks/useFilter';\nimport { useAddItem, useItems, useRemoveItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useAddTag, useGetItemTags, useTags } from '#components/Map/hooks/useTags';\nimport { Control } from '#components/Map/Subcomponents/Controls/Control';\nimport { SearchControl } from '#components/Map/Subcomponents/Controls/SearchControl';\nimport { TagsControl } from '#components/Map/Subcomponents/Controls/TagsControl';\nimport { PopupStartEndInput } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { PlusButton } from '#components/Profile/Subcomponents/PlusButton';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\nimport { ItemCard } from './ItemCard';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const OverlayItemsIndexPage = ({ url, layerName, parameterField, plusButton = true, }) => {\n const [loading, setLoading] = useState(false);\n const [addItemPopupType, setAddItemPopupType] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const parameterFieldDummy = parameterField;\n const tabRef = useRef(null);\n function scroll() {\n tabRef.current?.scrollIntoView();\n }\n useEffect(() => {\n scroll();\n }, [addItemPopupType]);\n useEffect(() => {\n setAddItemPopupType('');\n }, [layerName]);\n const tags = useTags();\n const addTag = useAddTag();\n const { user } = useAuth();\n const items = useItems();\n const addItem = useAddItem();\n const removeItem = useRemoveItem();\n const layers = useLayers();\n const filterTags = useFilterTags();\n const getItemTags = useGetItemTags();\n const layer = layers.find((l) => l.name === layerName);\n const submitNewItem = async (evt) => {\n evt.preventDefault();\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n setLoading(true);\n if (formItem.text) {\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n }\n const uuid = crypto.randomUUID();\n let success = false;\n try {\n await layer?.api?.createItem({ ...formItem, id: uuid });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n toast.success('New item created');\n }\n addItem({ ...formItem, user_created: user ?? undefined, id: uuid, layer, public_edit: !user });\n setLoading(false);\n setAddItemPopupType('');\n };\n const deleteItem = async (item) => {\n setLoading(true);\n let success = false;\n try {\n await layer?.api?.deleteItem(item.id);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n toast.success('Item deleted');\n }\n removeItem(item);\n setLoading(false);\n };\n return (_jsxs(_Fragment, { children: [_jsx(MapOverlayPage, { className: 'tw:rounded-none tw:overflow-y-auto tw:bg-base-200 tw:p-4!', children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(\"div\", { className: 'tw:flex-none', children: _jsxs(Control, { position: 'topLeft', zIndex: '1000', absolute: false, children: [_jsx(SearchControl, {}), _jsx(TagsControl, {})] }) }), _jsx(\"div\", { className: 'tw:overflow-scroll fade tw:flex-1', children: _jsxs(\"div\", { className: 'tw:columns-1 tw:md:columns-2 tw:lg:columns-3 tw:2xl:columns-4 tw:gap-6 tw:pt-4', children: [items\n .filter((i) => i.layer?.name === layerName)\n .filter((item) => filterTags.length === 0\n ? item\n : filterTags.some((tag) => getItemTags(item).some((filterTag) => filterTag.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())))\n .sort((a, b) => {\n // Convert date_created to milliseconds, handle undefined by converting to lowest possible date (0 milliseconds)\n const dateA = a.date_updated\n ? new Date(a.date_updated).getTime()\n : a.date_created\n ? new Date(a.date_created).getTime()\n : 0;\n const dateB = b.date_updated\n ? new Date(b.date_updated).getTime()\n : b.date_created\n ? new Date(b.date_created).getTime()\n : 0;\n return dateB - dateA; // Subtracts milliseconds which are numbers\n })\n .map((i, k) => (_jsx(\"div\", { className: 'tw:break-inside-avoid tw:mb-6', children: _jsx(ItemCard, { i: i, loading: loading, url: url, deleteCallback: () => deleteItem(i) }) }, k))), addItemPopupType === 'place' && (_jsx(\"form\", { ref: tabRef, autoComplete: 'off', onSubmit: (e) => submitNewItem(e), children: _jsxs(\"div\", { className: 'tw:cursor-pointer tw:break-inside-avoid card tw:border-[1px] tw:border-base-300 card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:p-6 tw:mb-10', children: [_jsx(\"label\", { className: 'btn btn-sm tw:rounded-2xl btn-circle btn-ghost tw:hover:bg-transparent tw:absolute tw:right-0 tw:top-0 tw:text-gray-600', onClick: () => setAddItemPopupType(''), children: _jsx(\"p\", { className: 'tw:text-center', children: \"\\u2715\" }) }), _jsx(TextInput, { type: 'text', placeholder: 'Name', dataField: 'name', defaultValue: '', inputStyle: '' }), layer?.itemType.show_start_end_input && _jsx(PopupStartEndInput, {}), _jsx(TextAreaInput, { placeholder: 'Text', dataField: 'text', defaultValue: '', inputStyle: 'tw:h-40 tw:mt-5' }), _jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"button\", { className: loading\n ? 'btn btn-disabled tw:mt-5 tw:place-self-center'\n : 'btn tw:mt-5 tw:place-self-center', type: 'submit', children: loading ? _jsx(\"span\", { className: 'loading loading-spinner' }) : 'Save' }) })] }) }))] }) })] }) }), plusButton && (_jsx(PlusButton, { layer: layer, triggerAction: () => {\n setAddItemPopupType('place');\n scroll();\n }, color: '#777', collection: 'items' }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nexport const EmojiPicker = ({ selectedEmoji, selectedColor, selectedShape, setSelectedEmoji, setSelectedColor, setSelectedShape, }) => {\n const [isOpen, setIsOpen] = useState(false);\n const emojis = [\n '❤️',\n '🙏',\n '👍',\n '🌻',\n '✨',\n '☀️',\n '🔥',\n '🪵',\n '💧',\n '🎶',\n '🎨',\n '🍄',\n '📝',\n '✉️',\n '🧩',\n '💡',\n '🎓',\n '💬',\n '🛠',\n '💻',\n '🕹',\n '🖨',\n '🚐',\n '🛒',\n '⚽️',\n '🧵',\n '👀',\n '🌱',\n '🏕',\n '💪',\n '🎁',\n '🏹',\n '🥕',\n '🥇',\n '🥈',\n '🥉',\n ];\n const shapes = ['squircle', 'circle', 'hexagon-2'];\n const colors = [\n '#FF99C8',\n '#fff0d6',\n '#FCF6BD',\n '#D0F4DE',\n '#A9DEF9',\n '#E4C1F9',\n '#de324c',\n '#f4895f',\n '#f8e16f',\n '#95cf92',\n '#369acc',\n '#9656a2',\n ];\n const toggleDropdown = () => {\n setIsOpen(!isOpen);\n };\n const selectEmoji = (emoji) => {\n setSelectedEmoji(emoji);\n setIsOpen(false);\n };\n const selectShape = (shape) => {\n setSelectedShape(shape);\n setIsOpen(false);\n };\n const selectColor = (color) => {\n setSelectedColor(color);\n setIsOpen(false);\n };\n return (_jsxs(_Fragment, { children: [_jsx(\"div\", { onClick: toggleDropdown, className: `tw:cursor-pointer ${selectedEmoji === 'select badge' ? 'tw:text-sm tw:p-9! tw:text-center ' : 'tw:text-6xl'} tw:mask tw:mask-${selectedShape} tw:p-6`, style: { backgroundColor: selectedColor }, children: selectedEmoji }), isOpen && (_jsxs(\"div\", { className: 'tw:absolute tw:z-3000 tw:top-0 tw:left-1/2 tw:transform tw:-translate-x-1/2 tw:mt-12 tw:bg-base-100 tw:rounded-2xl tw:shadow-lg tw:p-2 tw:w-full', children: [_jsx(\"div\", { className: 'tw:grid tw:grid-cols-6 tw:gap-2 tw:pb-2', children: emojis.map((emoji) => (_jsx(\"button\", { onClick: () => selectEmoji(emoji), className: `tw:cursor-pointer tw:text-2xl tw:p-2 tw:hover:bg-base-200 tw:rounded-md ${emoji === selectedEmoji ? 'tw:bg-base-300' : ''}`, children: emoji }, emoji))) }), _jsx(\"hr\", {}), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-3 tw:gap-2 tw:py-2', children: shapes.map((shape) => (_jsx(\"div\", { className: `tw:cursor-pointer tw:hover:bg-base-200 tw:rounded-md tw:p-2 ${shape === selectedShape ? 'tw:bg-base-300' : ''}`, onClick: () => selectShape(shape), children: _jsx(\"div\", { className: `tw:h-12 tw:w-full tw:mask ${shape === 'squircle' ? 'tw:mask-squircle' : shape === 'circle' ? 'tw:mask-circle' : 'tw:mask-hexagon-2'} tw:bg-neutral-content` }) }, shape))) }), _jsx(\"hr\", {}), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-6 tw:gap-2 tw:py-2 tw:px-6', children: colors.map((color) => (_jsx(\"div\", { className: `tw:cursor-pointer tw:hover:bg-base-200 tw:rounded-md tw:p-2 tw:flex tw:justify-center tw:items-center ${color === selectedColor ? 'tw:bg-base-300' : ''}`, onClick: () => selectColor(color), children: _jsx(\"div\", { className: `tw:h-8 tw:w-8 tw:rounded-full`, style: { backgroundColor: color } }) }, color))) })] }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useRef, useState, useEffect } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { EmojiPicker } from './EmojiPicker';\nimport { MapOverlayPage } from './MapOverlayPage';\n/**\n * @category Templates\n */\nexport const AttestationForm = ({ api }) => {\n const items = useItems();\n const appState = useAppState();\n const [users, setUsers] = useState();\n const navigate = useNavigate();\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const toUserIds = params.get('to');\n setUsers(items.filter((i) => toUserIds?.includes(i.id)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items, location]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef(null);\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.style.width = 'auto';\n inputRef.current.style.width = `${inputRef.current.scrollWidth + 20}px`;\n }\n }, [inputValue]);\n const handleChange = (event) => {\n setInputValue(event.target.value);\n };\n const sendAttestation = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = [];\n users?.map((u) => to.push({ directus_users_id: u.user_created?.id }));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n api?.createItem &&\n toast\n .promise(api.createItem({\n text: inputValue,\n emoji: selectedEmoji,\n color: selectedColor,\n shape: selectedShape,\n to,\n }), {\n pending: 'creating attestation ...',\n success: 'Attestation created',\n error: {\n render({ data }) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n return `${data}`;\n },\n },\n })\n .then(() => navigate('/item/' +\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n items.find((i) => \n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n i.user_created?.id === to[0].directus_users_id &&\n i.layer?.userProfileLayer === true)?.id +\n '?tab=2'));\n };\n const [selectedEmoji, setSelectedEmoji] = useState('select badge');\n const [selectedShape, setSelectedShape] = useState('circle');\n const [selectedColor, setSelectedColor] = useState('#fff0d6');\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:h-fit tw:min-h-56 tw:w-96', children: [_jsx(\"div\", { className: 'tw:text-center tw:text-xl tw:font-bold', children: \"Gratitude\" }), _jsx(\"div\", { className: 'tw:text-center tw:text-base tw:text-gray-400', children: \"to\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-row tw:justify-center tw:items-center tw:flex-wrap', children: users?.map((u, k) => (_jsxs(\"div\", { className: 'tw:flex tw:items-center tw:space-x-3 tw:mx-2 tw:my-1', children: [u.image ? (_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:w-8 tw:h-8', children: _jsx(\"img\", { src: appState.assetsApi.url + u.image + '?width=40&heigth=40', alt: 'Avatar' }) }) })) : (_jsx(\"div\", { className: 'tw:mask tw:mask-circle tw:text-xl tw:md:text-2xl tw:bg-slate-200 tw:rounded-full tw:w-8 tw:h-8' })), _jsx(\"div\", { children: _jsx(\"div\", { className: 'tw:font-bold', children: u.name }) })] }, k)), ', ') }), _jsxs(\"div\", { className: 'tw:w-full', children: [_jsx(\"div\", { className: 'tw:flex tw:justify-center tw:items-center', children: _jsx(\"div\", { className: ' tw:flex tw:justify-center tw:items-center tw:w-28 tw:h-28 tw:m-4', children: _jsx(EmojiPicker, { selectedEmoji: selectedEmoji, selectedColor: selectedColor, selectedShape: selectedShape, setSelectedEmoji: setSelectedEmoji, setSelectedColor: setSelectedColor, setSelectedShape: setSelectedShape }) }) }), _jsx(\"div\", { className: 'tw:flex tw:justify-center tw:items-center', children: _jsx(\"input\", { ref: inputRef, value: inputValue, onChange: handleChange, type: 'text', placeholder: '... and say some words', className: 'input tw:min-w-0 tw:w-fit tw:resize-none tw:overflow-hidden tw:text-center ' }) })] }), _jsx(\"div\", { className: 'tw:w-full tw:grid tw:mt-4', children: _jsx(\"button\", { onClick: sendAttestation, className: 'tw:btn tw:place-self-center tw:px-8', children: \"Next\" }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { decodeTag } from '#utils/FormatTags';\nexport const TagView = ({ tag, heighlight, onClick, count, }) => {\n return (\n // Use your imagination to render suggestions.\n _jsxs(\"div\", { onClick: onClick, className: `tw:flex tw:items-center tw:flex-row tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl card tw:mt-3 tw:mr-4 tw:cursor-pointer tw:w-fit ${heighlight ? 'tw:border-4 tw:border-base-200 tw:shadow-lg' : ''}`, style: { backgroundColor: tag.color ? tag.color : '#666' }, children: [_jsx(\"b\", { children: decodeTag(tag.name) }), count && _jsxs(\"span\", { className: 'tw:ml-2', children: [\"(\", count, \")\"] })] }, tag.name));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { MapOverlayPage } from './MapOverlayPage';\nimport { TagView } from './TagView';\nfunction groupAndCount(arr) {\n const grouped = arr.reduce((acc, obj) => {\n const found = acc.find((item) => JSON.stringify(item.object) === JSON.stringify(obj));\n if (found) {\n found.count += 1;\n }\n else {\n acc.push({ object: obj, count: 1 });\n }\n return acc;\n }, []);\n return grouped.sort((a, b) => b.count - a.count);\n}\n/**\n * @category Templates\n */\nexport const MarketView = () => {\n const [offers, setOffers] = useState([]);\n const [needs, setNeeds] = useState([]);\n const navigate = useNavigate();\n const items = useItems();\n const tags = useTags();\n useEffect(() => {\n setOffers([]);\n setNeeds([]);\n for (const item of items) {\n item.offers?.forEach((o) => {\n const tag = tags.find((t) => t.id === o.tags_id);\n tag && setOffers((current) => [...current, tag]);\n });\n item.needs?.forEach((n) => {\n const tag = tags.find((t) => t.id === n.tags_id);\n tag && setNeeds((current) => [...current, tag]);\n });\n }\n // eslint-disable-next-line no-console\n console.log(offers);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n return (_jsx(MapOverlayPage, { className: 'tw:rounded-none tw:overflow-y-auto tw:bg-base-200 tw:p-4!', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:md:grid-cols-2', children: [_jsxs(\"div\", { children: [_jsx(\"p\", { className: 'tw:text-lg tw:font-bold', children: \"Offers\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: groupAndCount(offers).map((o) => (_jsx(TagView, { onClick: () => navigate(`/?tags=${o.object.name}`), tag: o.object, count: o.count }, o.object.id))) })] }), _jsxs(\"div\", { children: [_jsx(\"p\", { className: 'tw:text-lg tw:font-bold', children: \"Needs\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap', children: groupAndCount(needs).map((o) => (_jsx(TagView, { onClick: () => navigate(`/?tags=${o.object.name}`), tag: o.object, count: o.count }, o.object.id))) })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextInput } from '#components/Input';\nimport { MapOverlayPage } from '#components/Templates';\n/**\n * @category Profile\n */\nexport function UserSettings() {\n const { user, updateUser, loading /* token */ } = useAuth();\n const [id, setId] = useState('');\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [passwordChanged, setPasswordChanged] = useState(false);\n const navigate = useNavigate();\n useEffect(() => {\n setId(user?.id ? user.id : '');\n setEmail(user?.email ? user.email : '');\n setPassword(user?.password ? user.password : '');\n }, [user]);\n const onUpdateUser = () => {\n let changedUser = {};\n changedUser = { id, email, ...(passwordChanged && { password }) };\n toast\n .promise(updateUser(changedUser), {\n pending: 'updating Profile ...',\n success: 'Profile updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .then(() => navigate('/'))\n .catch((e) => {\n throw e;\n });\n };\n return (_jsxs(MapOverlayPage, { backdrop: true, className: 'tw:mx-4 tw:mt-4 tw:max-h-[calc(100dvh-96px)] tw:h-fit tw:md:w-[calc(50%-32px)] tw:w-[calc(100%-32px)] tw:max-w-xl tw:left-auto! tw:top-0 tw:bottom-0', children: [_jsx(\"div\", { className: 'tw:text-xl tw:font-semibold', children: \"Settings\" }), _jsx(\"div\", { className: 'tw:divider tw:mt-2' }), _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:gap-6', children: [_jsx(TextInput, { type: 'email', placeholder: 'new E-Mail', defaultValue: user?.email ? user.email : '', updateFormValue: (v) => setEmail(v) }), _jsx(TextInput, { type: 'password', placeholder: 'new Password', defaultValue: user?.password ? user.password : '', updateFormValue: (v) => {\n setPassword(v);\n setPasswordChanged(true);\n } })] }), _jsx(\"div\", { className: 'tw:mt-8', children: _jsx(\"button\", { className: loading\n ? ' tw:loading tw:btn-disabled tw:btn tw:btn-primary tw:float-right'\n : 'tw:btn tw:btn-primary tw:float-right', onClick: () => onUpdateUser(), children: \"Update\" }) })] }));\n}\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { toast } from 'react-toastify';\nimport { encodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\n// eslint-disable-next-line promise/avoid-new\nconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nexport const submitNewItem = async (evt, type, item, user, setLoading, tags, addTag, addItem, linkItem, resetFilterTags, layers, addItemPopupType, setAddItemPopupType) => {\n evt.preventDefault();\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n setLoading(true);\n formItem.text &&\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n const uuid = crypto.randomUUID();\n const layer = layers.find((l) => l.name.toLocaleLowerCase().replace('s', '') === addItemPopupType.toLocaleLowerCase());\n let success = false;\n try {\n await layer?.api?.createItem({ ...formItem, id: uuid, type, parent: item.id });\n await linkItem(uuid);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n addItem({ ...formItem, id: uuid, type, layer, user_created: user, parent: item.id });\n toast.success('New item created');\n resetFilterTags();\n }\n setLoading(false);\n setAddItemPopupType('');\n};\nexport const linkItem = async (id, item, updateItem) => {\n const newRelations = item.relations || [];\n newRelations?.push({ items_id: item.id, related_items_id: id });\n const updatedItem = { id: item.id, relations: newRelations };\n let success = false;\n try {\n await item?.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...item, relations: newRelations });\n toast.success('Item linked');\n }\n};\nexport const unlinkItem = async (id, item, updateItem) => {\n const newRelations = item.relations?.filter((r) => r.related_items_id !== id);\n const updatedItem = { id: item.id, relations: newRelations };\n let success = false;\n try {\n await item?.layer?.api?.updateItem(updatedItem);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...item, relations: newRelations });\n toast.success('Item unlinked');\n }\n};\nexport const handleDelete = async (event, item, setLoading, removeItem, map, navigate) => {\n event.stopPropagation();\n setLoading(true);\n let success = false;\n try {\n await item.layer?.api?.deleteItem(item.id);\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n removeItem(item);\n toast.success('Item deleted');\n }\n setLoading(false);\n map.closePopup();\n const params = new URLSearchParams(window.location.search);\n window.history.pushState({}, '', '/' + `${params ? `?${params}` : ''}`);\n navigate('/');\n};\nexport const onUpdateItem = async (state, item, tags, addTag, setLoading, navigate, updateItem, addItem, user, params) => {\n let changedItem = {};\n const offerUpdates = [];\n // check for new offers\n await state.offers?.map((o) => {\n const existingOffer = item?.offers?.find((t) => t.tags_id === o.id);\n existingOffer && offerUpdates.push(existingOffer.id);\n if (!existingOffer && !tags.some((t) => t.id === o.id))\n addTag({ ...o, offer_or_need: true });\n !existingOffer && offerUpdates.push({ items_id: item?.id, tags_id: o.id });\n return null;\n });\n const needsUpdates = [];\n await state.needs?.map((n) => {\n const existingNeed = item?.needs?.find((t) => t.tags_id === n.id);\n existingNeed && needsUpdates.push(existingNeed.id);\n !existingNeed && needsUpdates.push({ items_id: item?.id, tags_id: n.id });\n !existingNeed && !tags.some((t) => t.id === n.id) && addTag({ ...n, offer_or_need: true });\n return null;\n });\n // update profile item in current state\n changedItem = {\n id: state.id,\n name: state.name,\n subname: state.subname,\n text: state.text,\n ...(state.color && { color: state.color }),\n position: item.position,\n ...(state.group_type && { group_type: state.group_type }),\n ...(state.status && { status: state.status }),\n contact: state.contact,\n telephone: state.telephone,\n ...(state.end && { end: state.end }),\n ...(state.start && { start: state.start }),\n ...(state.marker_icon && { markerIcon: state.marker_icon }),\n next_appointment: state.next_appointment,\n ...(state.image.length > 10 && { image: state.image }),\n ...(state.offers.length > 0 && { offers: offerUpdates }),\n ...(state.needs.length > 0 && { needs: needsUpdates }),\n ...(state.openCollectiveSlug && { openCollectiveSlug: state.openCollectiveSlug }),\n };\n const offersState = [];\n const needsState = [];\n state.offers.map((o) => {\n offersState.push({ items_id: item?.id, tags_id: o.id });\n return null;\n });\n state.needs.map((n) => {\n needsState.push({ items_id: item?.id, tags_id: n.id });\n return null;\n });\n changedItem = { ...changedItem, offers: offersState, needs: needsState };\n setLoading(true);\n await state.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({\n id: crypto.randomUUID(),\n name: encodeTag(tag.slice(1).toLocaleLowerCase()),\n color: randomColor(),\n });\n }\n return null;\n });\n // take care that addTag request comes before item request\n await sleep(200);\n if (!item.new) {\n item?.layer?.api?.updateItem &&\n toast\n .promise(item?.layer?.api?.updateItem(changedItem), {\n pending: 'updating Item ...',\n success: 'Item updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .catch(setLoading(false))\n .then(() => item && updateItem({ ...item, ...changedItem }))\n .then(() => {\n setLoading(false);\n navigate(`/item/${item.id}${params && '?' + params}`);\n return null;\n });\n }\n else {\n item.new = false;\n item.layer?.api?.createItem &&\n toast\n .promise(item.layer?.api?.createItem(changedItem), {\n pending: 'updating Item ...',\n success: 'Item updated',\n error: {\n render({ data }) {\n return `${data}`;\n },\n },\n })\n .catch(setLoading(false))\n .then(() => item &&\n addItem({\n ...item,\n ...changedItem,\n layer: item.layer,\n user_created: user,\n }))\n .then(() => {\n setLoading(false);\n navigate(`/${params && '?' + params}`);\n return null;\n });\n }\n};\n","import * as React from \"react\";\nfunction EnvelopeIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EnvelopeIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PhoneIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PhoneIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport EnvelopeIcon from '@heroicons/react/24/outline/EnvelopeIcon';\nimport PhoneIcon from '@heroicons/react/24/outline/PhoneIcon';\nimport { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useItems } from '#components/Map/hooks/useItems';\nexport const ContactInfoView = ({ item, heading }) => {\n const appState = useAppState();\n const [profileOwner, setProfileOwner] = useState();\n const items = useItems();\n useEffect(() => {\n setProfileOwner(items.find((i) => i.user_created?.id === item.user_created?.id && i.layer?.userProfileLayer));\n }, [item, items]);\n return (_jsxs(\"div\", { className: 'tw:bg-base-200 tw:mb-6 tw:mt-6 tw:p-6', children: [_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: heading }), _jsxs(\"div\", { className: 'tw:mt-4 tw:flex tw:items-center', children: [profileOwner?.image && (_jsx(ConditionalLink, { url: '/item/' + profileOwner?.id, children: _jsx(\"div\", { className: 'tw:mr-5 tw:flex tw:items-center tw:justify-center', children: _jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:w-20 tw:h-20 tw:bg-gray-200 rounded-full tw:flex tw:items-center tw:justify-center overflow-hidden', children: _jsx(\"img\", { src: appState.assetsApi.url + profileOwner?.image, alt: profileOwner?.name, className: 'tw:w-full tw:h-full tw:object-cover' }) }) }) }) })), _jsxs(\"div\", { className: 'tw:text-sm tw:grow', children: [_jsx(\"p\", { className: 'tw:font-semibold', children: profileOwner?.name }), item.contact && (_jsx(\"p\", { children: _jsxs(\"a\", { href: `mailto:${item.contact}`, className: 'tw:mt-2 tw:text-green-500 tw:inline-flex tw:items-center', children: [_jsx(EnvelopeIcon, { className: 'tw:w-4 tw:h-4 tw:mr-1' }), item.contact] }) })), item.telephone && (_jsx(\"p\", { children: _jsxs(\"a\", { href: `tel:${item.telephone}`, className: 'tw:mt-2 tw:text-green-500 tw:inline-flex tw:items-center tw:whitespace-nowrap', children: [_jsx(PhoneIcon, { className: 'tw:w-4 tw:h-4 tw:mr-1' }), item.telephone] }) }))] })] })] }));\n};\n// eslint-disable-next-line react/prop-types\nconst ConditionalLink = ({ url, children }) => {\n const params = new URLSearchParams(window.location.search);\n if (url) {\n return _jsx(Link, { to: url + '?' + params, children: children });\n }\n return children;\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport axios from 'axios';\nimport { useState, useEffect } from 'react';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nconst GET_TRANSACTIONS = `\n query GetAccountStats($slug: String!) {\n account(slug: $slug) {\n name\n type\n stats {\n balance {\n valueInCents\n currency\n }\n totalAmountReceived(net: true) {\n valueInCents\n currency\n }\n totalAmountSpent {\n valueInCents\n currency\n }\n contributionsCount\n contributorsCount\n }\n }\n }\n`;\nconst formatCurrency = (valueInCents, currency) => {\n const value = valueInCents / 100;\n const options = {\n style: 'currency',\n currency,\n ...(Math.abs(value) >= 1000 ? { minimumFractionDigits: 0, maximumFractionDigits: 0 } : {}),\n };\n return new Intl.NumberFormat('de-DE', options).format(value);\n};\nexport const CrowdfundingView = ({ item }) => {\n // Hier wird slug aus dem Item extrahiert.\n const slug = item.openCollectiveSlug;\n const appState = useAppState();\n const token = appState.openCollectiveApiKey;\n const graphqlClient = axios.create({\n baseURL: 'https://api.opencollective.com/graphql/v2',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n });\n const [data, setData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n useEffect(() => {\n const fetchData = async () => {\n setLoading(true);\n setError(null);\n try {\n const response = await graphqlClient.post('', {\n query: GET_TRANSACTIONS,\n variables: { slug },\n });\n if (response.data.errors?.length) {\n setError(response.data.errors[0].message);\n }\n else {\n setData(response.data.data ?? null);\n }\n }\n catch (err) {\n if (err instanceof Error) {\n setError(err.message);\n }\n else {\n throw err;\n }\n }\n setLoading(false);\n };\n if (slug) {\n void fetchData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [slug]);\n if (!slug)\n return null;\n if (loading)\n return (_jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-lg tw:text-neutral-content' }) }));\n if (error) {\n return _jsxs(\"p\", { className: 'tw:text-center tw:text-lg tw:text-red-500', children: [\"Error: \", error] });\n }\n if (!data?.account) {\n return (_jsx(\"p\", { className: 'tw:text-center tw:text-lg tw:text-red-500', children: \"No data available for this account.\" }));\n }\n const { stats } = data.account;\n const balanceValueInCents = stats.balance?.valueInCents ?? 0;\n const currency = stats.balance?.currency ?? 'USD';\n const currentBalance = balanceValueInCents;\n return (_jsx(\"div\", { className: 'tw:mx-6 tw:mb-6', children: _jsxs(\"div\", { className: 'tw:card tw:bg-base-200 tw:w-fit tw:max-w-full tw:shadow', children: [_jsxs(\"div\", { className: 'tw:stats tw:bg-base-200 tw:stats-horizontal tw:rounded-b-none', children: [_jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Current Balance\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-xl lg:tw:text-3xl', children: formatCurrency(currentBalance, currency) })] }), _jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Received\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-green-500 tw:text-xl lg:tw:text-3xl', children: formatCurrency(stats.totalAmountReceived.valueInCents, currency) })] }), _jsxs(\"div\", { className: 'tw:stat tw:p-3', children: [_jsx(\"div\", { className: 'tw:stat-title', children: \"Spent\" }), _jsx(\"div\", { className: 'tw:stat-value tw:text-red-500 tw:text-xl lg:tw:text-3xl', children: formatCurrency(stats.totalAmountReceived.valueInCents - currentBalance, currency) })] })] }), _jsx(\"hr\", { className: 'tw:border-1 tw:border-current/10 tw:border-dashed' }), _jsxs(\"div\", { className: 'tw:m-4 tw:items-center', children: [_jsx(\"a\", { href: `https://opencollective.com/${slug}/donate`, target: '_blank', rel: 'noreferrer', children: _jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-primary tw:float-right tw:ml-4', children: \"Donate\" }) }), _jsxs(\"div\", { className: 'tw:flex-1 tw:mr-4', children: [\"Support\", ' ', _jsx(\"a\", { className: 'tw:font-bold', href: `https://opencollective.com/${slug}`, target: '_blank', rel: 'noreferrer', children: data.account.name }), ' ', \"on \", _jsx(\"span\", { className: 'tw:font-bold', children: \"Open\\u00A0Collective\" })] })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { RowsPhotoAlbum } from 'react-photo-album';\nimport ReactLightbox from 'yet-another-react-lightbox';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nexport const GalleryView = ({ item }) => {\n const [index, setIndex] = useState(-1);\n const appState = useAppState();\n const images = item.gallery?.map((i, j) => ({\n src: appState.assetsApi.url + `${i.directus_files_id.id}.jpg`,\n width: i.directus_files_id.width,\n height: i.directus_files_id.height,\n index: j,\n })) ?? [];\n if (images.length > 0)\n return (_jsxs(\"div\", { className: 'tw:mx-6 tw:mb-6', children: [_jsx(RowsPhotoAlbum, { photos: images, targetRowHeight: 150, onClick: ({ index: current }) => setIndex(current) }), _jsx(ReactLightbox, { index: index, slides: images, open: index >= 0, close: () => setIndex(-1) })] }));\n else\n return _jsx(_Fragment, {});\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { cloneElement } from 'react';\nimport FacebookSVG from '#assets/share/facebook.svg';\nimport LinkedinSVG from '#assets/share/linkedin.svg';\nimport TelegramSVG from '#assets/share/telegram.svg';\nimport TwitterSVG from '#assets/share/twitter.svg';\nimport WhatsappSVG from '#assets/share/whatsapp.svg';\nimport XingSVG from '#assets/share/xing.svg';\nconst platformConfigs = {\n facebook: {\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u={url}',\n icon: _jsx(\"img\", { src: FacebookSVG, alt: 'Facebook' }),\n bgColor: '#3b5998',\n },\n twitter: {\n shareUrl: 'https://twitter.com/intent/tweet?text={title}:%20{url}',\n icon: _jsx(\"img\", { src: TwitterSVG, alt: 'Twitter' }),\n bgColor: '#55acee',\n },\n linkedin: {\n shareUrl: 'http://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}',\n icon: _jsx(\"img\", { src: LinkedinSVG, alt: 'Linkedin' }),\n bgColor: '#4875b4',\n },\n xing: {\n shareUrl: 'https://www.xing-share.com/app/user?op=share;sc_p=xing-share;url={url}',\n icon: _jsx(\"img\", { src: XingSVG, alt: 'Xing' }),\n bgColor: '#026466',\n },\n whatsapp: {\n shareUrl: 'https://api.whatsapp.com/send?text={title}%20{url}',\n icon: _jsx(\"img\", { src: WhatsappSVG, alt: 'Whatsapp' }),\n bgColor: '#25D366',\n },\n telegram: {\n shareUrl: 'https://t.me/share/url?url={url}&text={title}',\n icon: _jsx(\"img\", { src: TelegramSVG, alt: 'Telegram' }),\n bgColor: '#0088cc',\n },\n};\nconst SocialShareButton = ({ platform, url, title, }) => {\n // eslint-disable-next-line security/detect-object-injection\n const config = platformConfigs[platform];\n if (!config) {\n return null;\n }\n const { shareUrl, icon, bgColor } = config;\n const finalShareUrl = shareUrl\n .replace('{url}', encodeURIComponent(url))\n .replace('{title}', encodeURIComponent(title));\n return (_jsx(\"a\", { href: finalShareUrl, target: '_blank', rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white', style: {\n color: 'white',\n backgroundColor: bgColor,\n }, title: `share link on ${platform}`, children: cloneElement(icon, { className: 'tw:w-4 tw:h-4 tw:fill-current' }) }));\n};\nexport default SocialShareButton;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { toast } from 'react-toastify';\nimport ChevronSVG from '#assets/chevron.svg';\nimport ClipboardSVG from '#assets/share/clipboard.svg';\nimport SocialShareButton from './SocialShareButton';\nconst SocialShareBar = ({ url, title, platforms = ['facebook', 'twitter', 'linkedin', 'xing', 'email'], }) => {\n const copyLink = () => {\n navigator.clipboard\n .writeText(url)\n .then(() => {\n toast.success('link copied to clipboard');\n return null;\n })\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n .catch((error) => {\n toast.error('Fehler beim Kopieren des Links: ', error);\n });\n };\n return (_jsxs(\"div\", { className: 'tw:flex tw:place-content-end tw:justify-end tw:space-x-2 tw:grow tw:min-w-fit tw:pl-2', children: [platforms.map((platform) => (_jsx(SocialShareButton, { platform: platform, url: url, title: title }, platform))), platforms.includes('email') && (_jsx(\"a\", { href: `mailto:?subject=${title}&body=${url}`, target: '_blank', rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white tw:hover:cursor-pointer', style: {\n color: 'white',\n backgroundColor: '#444',\n }, onClick: () => copyLink(), title: 'share link via email', children: _jsx(\"img\", { src: ChevronSVG, alt: '\\\\/', className: 'tw:h-4 tw:w-4' }) })), platforms.includes('clipboard') && (_jsx(\"div\", { rel: 'noopener noreferrer', className: 'tw:w-8 tw:h-8 tw:mt-2 tw:rounded-full tw:flex tw:items-center tw:justify-center tw:text-white tw:hover:cursor-pointer', style: {\n color: 'white',\n backgroundColor: '#888',\n }, onClick: () => copyLink(), title: 'copy Link', children: _jsx(\"img\", { src: ClipboardSVG, className: 'tw:w-5' }) }))] }));\n};\nexport default SocialShareBar;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport SocialShareBar from './SocialShareBar';\nexport const GroupSubHeaderView = ({ item, shareBaseUrl, platforms, }) => (_jsxs(\"div\", { className: 'tw:px-6', children: [_jsxs(\"div\", { className: 'tw:float-left tw:mt-2 tw:mb-4 tw:flex tw:items-center', children: [item.status && (_jsx(\"div\", { className: 'tw:mt-1.5', children: _jsx(\"span\", { className: 'tw:text-sm tw:text-current tw:bg-base-300 tw:rounded tw:py-0.5 tw:px-2 tw:inline-flex tw:items-center tw:mr-2', children: item.status }) })), item.group_type && (_jsx(\"div\", { className: 'tw:mt-1.5', children: _jsx(\"span\", { className: 'tw:text-sm tw:text-current tw:bg-base-300 tw:rounded tw:py-1 tw:px-2', children: item.group_type }) }))] }), _jsx(\"div\", { children: _jsx(SocialShareBar, { url: shareBaseUrl && item.slug\n ? shareBaseUrl + item.slug\n : window.location.protocol + '//' + window.location.host + '/item/' + item.id, title: item.name, platforms: platforms }) })] }));\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { StartEndView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileStartEndView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:mt-2 tw:px-6 tw:max-w-xs', children: _jsx(StartEndView, { item: item }) }));\n};\n","import { objectify } from './array.mjs';\nimport { toInt } from './number.mjs';\nimport { isPrimitive, isObject, isArray } from './typed.mjs';\n\nconst shake = (obj, filter = (x) => x === void 0) => {\n if (!obj)\n return {};\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n if (filter(obj[key])) {\n return acc;\n } else {\n acc[key] = obj[key];\n return acc;\n }\n }, {});\n};\nconst mapKeys = (obj, mapFunc) => {\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[mapFunc(key, obj[key])] = obj[key];\n return acc;\n }, {});\n};\nconst mapValues = (obj, mapFunc) => {\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[key] = mapFunc(obj[key], key);\n return acc;\n }, {});\n};\nconst mapEntries = (obj, toEntry) => {\n if (!obj)\n return {};\n return Object.entries(obj).reduce((acc, [key, value]) => {\n const [newKey, newValue] = toEntry(key, value);\n acc[newKey] = newValue;\n return acc;\n }, {});\n};\nconst invert = (obj) => {\n if (!obj)\n return {};\n const keys2 = Object.keys(obj);\n return keys2.reduce((acc, key) => {\n acc[obj[key]] = key;\n return acc;\n }, {});\n};\nconst lowerize = (obj) => mapKeys(obj, (k) => k.toLowerCase());\nconst upperize = (obj) => mapKeys(obj, (k) => k.toUpperCase());\nconst clone = (obj) => {\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const newObj = new obj.constructor();\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n newObj[prop] = obj[prop];\n });\n return newObj;\n};\nconst listify = (obj, toItem) => {\n if (!obj)\n return [];\n const entries = Object.entries(obj);\n if (entries.length === 0)\n return [];\n return entries.reduce((acc, entry) => {\n acc.push(toItem(entry[0], entry[1]));\n return acc;\n }, []);\n};\nconst pick = (obj, keys2) => {\n if (!obj)\n return {};\n return keys2.reduce((acc, key) => {\n if (Object.prototype.hasOwnProperty.call(obj, key))\n acc[key] = obj[key];\n return acc;\n }, {});\n};\nconst omit = (obj, keys2) => {\n if (!obj)\n return {};\n if (!keys2 || keys2.length === 0)\n return obj;\n return keys2.reduce(\n (acc, key) => {\n delete acc[key];\n return acc;\n },\n { ...obj }\n );\n};\nconst get = (value, path, defaultValue) => {\n const segments = path.split(/[\\.\\[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null)\n return defaultValue;\n if (current === void 0)\n return defaultValue;\n const dequoted = key.replace(/['\"]/g, \"\");\n if (dequoted.trim() === \"\")\n continue;\n current = current[dequoted];\n }\n if (current === void 0)\n return defaultValue;\n return current;\n};\nconst set = (initial, path, value) => {\n if (!initial)\n return {};\n if (!path || value === void 0)\n return initial;\n const segments = path.split(/[\\.\\[\\]]/g).filter((x) => !!x.trim());\n const _set = (node) => {\n if (segments.length > 1) {\n const key = segments.shift();\n const nextIsNum = toInt(segments[0], null) === null ? false : true;\n node[key] = node[key] === void 0 ? nextIsNum ? [] : {} : node[key];\n _set(node[key]);\n } else {\n node[segments[0]] = value;\n }\n };\n const cloned = clone(initial);\n _set(cloned);\n return cloned;\n};\nconst assign = (initial, override) => {\n if (!initial || !override)\n return initial ?? override ?? {};\n return Object.entries({ ...initial, ...override }).reduce(\n (acc, [key, value]) => {\n return {\n ...acc,\n [key]: (() => {\n if (isObject(initial[key]))\n return assign(initial[key], value);\n return value;\n })()\n };\n },\n {}\n );\n};\nconst keys = (value) => {\n if (!value)\n return [];\n const getKeys = (nested, paths) => {\n if (isObject(nested)) {\n return Object.entries(nested).flatMap(\n ([k, v]) => getKeys(v, [...paths, k])\n );\n }\n if (isArray(nested)) {\n return nested.flatMap((item, i) => getKeys(item, [...paths, `${i}`]));\n }\n return [paths.join(\".\")];\n };\n return getKeys(value, []);\n};\nconst crush = (value) => {\n if (!value)\n return {};\n return objectify(\n keys(value),\n (k) => k,\n (k) => get(value, k)\n );\n};\nconst construct = (obj) => {\n if (!obj)\n return {};\n return Object.keys(obj).reduce((acc, path) => {\n return set(acc, path, obj[path]);\n }, {});\n};\n\nexport { assign, clone, construct, crush, get, invert, keys, listify, lowerize, mapEntries, mapKeys, mapValues, omit, pick, set, shake, upperize };\n//# sourceMappingURL=object.mjs.map\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { get } from 'radash';\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileTextView = ({ item, dataField = 'text', heading, hideWhenEmpty, }) => {\n const text = get(item, dataField);\n const parsedText = typeof text !== 'string' ? '' : text;\n return (_jsxs(\"div\", { className: 'tw:my-10 tw:mt-2 tw:px-6', children: [!(text === '' && hideWhenEmpty) && (_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: heading })), _jsx(\"div\", { className: 'tw:mt-2 tw:text-sm', children: _jsx(TextView, { itemId: item.id, rawText: parsedText }) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { ContactInfoView } from '#components/Profile/Subcomponents/ContactInfoView';\nimport { CrowdfundingView } from '#components/Profile/Subcomponents/CrowdfundingView';\nimport { GalleryView } from '#components/Profile/Subcomponents/GalleryView';\nimport { GroupSubHeaderView } from '#components/Profile/Subcomponents/GroupSubHeaderView';\nimport { ProfileStartEndView } from '#components/Profile/Subcomponents/ProfileStartEndView';\nimport { ProfileTextView } from '#components/Profile/Subcomponents/ProfileTextView';\nconst componentMap = {\n groupSubheaders: GroupSubHeaderView,\n texts: ProfileTextView,\n contactInfos: ContactInfoView,\n startEnd: ProfileStartEndView,\n gallery: GalleryView,\n crowdfundings: CrowdfundingView,\n // weitere Komponenten hier\n};\nexport const FlexView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:h-full tw:overflow-y-auto fade', children: item.layer?.itemType.profileTemplate.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (templateItem) => {\n const TemplateComponent = componentMap[templateItem.collection];\n return TemplateComponent ? (_jsx(TemplateComponent, { item: item, ...templateItem.item }, templateItem.id)) : (_jsxs(\"div\", { className: 'tw:mx-6 tw:mb-6', children: [templateItem.collection, \" view not found\"] }, templateItem.id));\n }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ContactInfoView } from '#components/Profile/Subcomponents/ContactInfoView';\nimport { GroupSubHeaderView } from '#components/Profile/Subcomponents/GroupSubHeaderView';\nexport const OnepagerView = ({ item }) => {\n return (_jsxs(\"div\", { className: 'tw:h-full tw:overflow-y-auto fade', children: [_jsx(GroupSubHeaderView, { item: item, shareBaseUrl: `https://www.wuerdekompass.org/aktivitaeten/gruppensuche/#/gruppe/${item.slug}` }), item.user_created?.first_name && _jsx(ContactInfoView, { heading: 'Du hast Fragen?', item: item }), _jsx(\"div\", { className: 'tw:my-10 tw:mt-2 tw:px-6 tw:text-sm ', children: _jsx(TextView, { itemId: item.id, rawText: item.text ?? 'Keine Beschreibung vorhanden' }) }), item.next_appointment && (_jsxs(\"div\", { className: 'tw:my-10 tw:px-6', children: [_jsx(\"h2\", { className: 'tw:text-lg tw:font-semibold', children: \"N\\u00E4chste Termine\" }), _jsx(\"div\", { className: 'tw:mt-2 tw:text-sm', children: _jsx(TextView, { itemId: item.id, rawText: item.next_appointment }) })] })), \";\"] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const SimpleView = ({ item }) => {\n return (_jsx(\"div\", { className: 'tw:mt-8 tw:h-full tw:overflow-y-auto fade tw:px-6', children: _jsx(TextView, { text: item.text, itemId: item.id }) }));\n};\n","import * as React from \"react\";\nfunction LinkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport LinkIcon from '@heroicons/react/24/outline/LinkIcon';\nimport PlusIcon from '@heroicons/react/24/outline/PlusIcon';\nimport { useState } from 'react';\nimport { TextInput } from '#components/Input';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useGetItemTags } from '#components/Map/hooks/useTags';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport DialogModal from '#components/Templates/DialogModal';\nexport function ActionButton({ item, triggerAddButton, triggerItemSelected, existingRelations, itemType, collection = 'items', customStyle, }) {\n const hasUserPermission = useHasUserPermission();\n const [modalOpen, setModalOpen] = useState(false);\n const [search, setSearch] = useState('');\n const getItemTags = useGetItemTags();\n const items = useItems();\n const filterdItems = items\n .filter((i) => !itemType || i.layer?.itemType.name === itemType)\n .filter((i) => !existingRelations.some((s) => s.id === i.id))\n .filter((i) => i.id !== item.id);\n const backgroundColor = item.color ??\n (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color\n ? getItemTags(item)[0].color\n : item.layer?.markerDefaultColor);\n return (_jsx(_Fragment, { children: hasUserPermission(collection, 'update', item) && (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: `tw:absolute tw:right-6 tw:bottom-4 tw:flex tw:flex-col ${customStyle}`, children: [triggerItemSelected && (_jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow', onClick: () => {\n setModalOpen(true);\n }, style: {\n backgroundColor,\n color: '#fff',\n }, children: _jsx(LinkIcon, { className: 'tw:h-5 tw:w-5 tw:stroke-[2.5]' }) })), triggerAddButton && (_jsx(\"button\", { tabIndex: 0, className: 'tw:z-500 tw:btn tw:btn-circle tw:shadow tw:mt-2', onClick: () => {\n triggerAddButton();\n }, style: {\n backgroundColor,\n color: '#fff',\n }, children: _jsx(PlusIcon, { className: 'tw:w-5 tw:h-5 tw:stroke-[2.5]' }) }))] }), _jsxs(DialogModal, { title: 'Select', isOpened: modalOpen, onClose: () => setModalOpen(false), className: 'tw:w-xl tw:sm:w-2xl tw:min-h-80 tw:bg-base-200', children: [_jsx(TextInput, { defaultValue: '', placeholder: '\\uD83D\\uDD0D Search', containerStyle: 'lg:col-span-2 tw:m-4 ', updateFormValue: (val) => {\n setSearch(val);\n } }), _jsx(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2', children: filterdItems\n .filter((item) => {\n return search === ''\n ? item\n : item.name.toLowerCase().includes(search.toLowerCase());\n })\n .map((i) => (_jsx(\"div\", { className: 'tw:cursor-pointer tw:card tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:bg-base-100 tw:text-base-content tw:mx-4 tw:p-4 tw:mb-4 tw:h-fit', onClick: () => {\n triggerItemSelected(i.id);\n setModalOpen(false);\n }, children: _jsx(HeaderView, { item: i, hideMenu: true }) }, i.id))) })] })] })) }));\n}\n","import * as React from \"react\";\nfunction LinkSlashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M13.181 8.68a4.503 4.503 0 0 1 1.903 6.405m-9.768-2.782L3.56 14.06a4.5 4.5 0 0 0 6.364 6.365l3.129-3.129m5.614-5.615 1.757-1.757a4.5 4.5 0 0 0-6.364-6.365l-4.5 4.5c-.258.26-.479.541-.661.84m1.903 6.405a4.495 4.495 0 0 1-1.242-.88 4.483 4.483 0 0 1-1.062-1.683m6.587 2.345 5.907 5.907m-5.907-5.907L8.898 8.898M2.991 2.99 8.898 8.9\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkSlashIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport EllipsisVerticalIcon from '@heroicons/react/16/solid/EllipsisVerticalIcon';\nimport LinkSlashIcon from '@heroicons/react/24/outline/LinkSlashIcon';\nimport { useEffect } from 'react';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nexport function LinkedItemsHeaderView({ item, unlinkCallback, loading, unlinkPermission, }) {\n const appState = useAppState();\n const avatar = item.image ? appState.assetsApi.url + item.image : null;\n const title = item.name;\n const subtitle = item.subname;\n useEffect(() => { }, [item]);\n return (_jsx(_Fragment, { children: _jsxs(\"div\", { className: 'tw:flex tw:flex-row', children: [_jsx(\"div\", { className: 'tw:grow tw:max-w-[calc(100%-60px)] }', children: _jsxs(\"div\", { className: 'flex items-center', children: [avatar && (_jsx(\"img\", { className: 'tw:w-10 tw:inline tw:rounded-full', src: avatar, alt: item.name + ' logo' })), _jsxs(\"div\", { className: `${avatar ? 'tw:ml-2' : ''} tw:overflow-hidden`, children: [_jsx(\"div\", { className: 'tw:text-xl tw:font-semibold tw:truncate', children: title }), subtitle && (_jsx(\"div\", { className: 'tw:text-xs tw:truncate tw:text-gray-500 ', children: subtitle }))] })] }) }), _jsx(\"div\", { className: 'tw:col-span-1', onClick: (e) => e.stopPropagation(), children: unlinkPermission && (_jsxs(\"div\", { className: 'tw:dropdown tw:dropdown-bottom', children: [_jsx(\"label\", { tabIndex: 0, className: ' tw:btn tw:m-1 tw:leading-3 tw:border-none tw:min-h-0 tw:h-6', children: _jsx(EllipsisVerticalIcon, { className: 'tw:h-5 tw:w-5' }) }), _jsx(\"ul\", { tabIndex: 0, className: 'tw:dropdown-content tw:menu tw:p-2 tw:shadow tw:bg-base-100 tw:rounded-box tw:z-1000', children: true && (_jsx(\"li\", { children: _jsx(\"a\", { className: 'tw:cursor-pointer tw:text-error!', onClick: () => unlinkCallback(item.id), children: loading ? (_jsx(\"span\", { className: 'tw:loading tw:loading-spinner tw:loading-sm' })) : (_jsx(LinkSlashIcon, { className: 'tw:h-5 tw:w-5 tw:stroke-3' })) }) })) })] })) })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useAddFilterTag } from '#components/Map/hooks/useFilter';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { StartEndView, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ActionButton } from '#components/Profile/Subcomponents/ActionsButton';\nimport { LinkedItemsHeaderView } from '#components/Profile/Subcomponents/LinkedItemsHeaderView';\nimport { TagView } from '#components/Templates/TagView';\nimport { timeAgo } from '#utils/TimeAgo';\nexport const TabsView = ({ attestations, item, offers, needs, relations, updatePermission, loading, linkItem, unlinkItem, }) => {\n const addFilterTag = useAddFilterTag();\n const [activeTab, setActiveTab] = useState();\n const navigate = useNavigate();\n const [addItemPopupType] = useState('');\n const items = useItems();\n const appState = useAppState();\n const getUserProfile = (id) => {\n return items.find((i) => i.user_created?.id === id && i.layer?.userProfileLayer);\n };\n useEffect(() => {\n scroll();\n }, [addItemPopupType]);\n function scroll() {\n tabRef.current?.scrollIntoView();\n }\n const tabRef = useRef(null);\n const updateActiveTab = useCallback((id) => {\n setActiveTab(id);\n const params = new URLSearchParams(window.location.search);\n params.set('tab', `${id}`);\n const newUrl = location.pathname + '?' + params.toString();\n window.history.pushState({}, '', newUrl);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [location.pathname]);\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTab = params.get('tab');\n setActiveTab(urlTab ? Number(urlTab) : 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n return (_jsxs(\"div\", { role: 'tablist', className: 'tw:tabs tw:tabs-lift tw:mt-2 tw:mb-2 tw:px-6', children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2! ', \"aria-label\": `${item.layer?.itemType.icon_as_labels && activeTab !== 1 ? '📝' : '📝\\u00A0Info'}`, checked: activeTab === 1 && true, onChange: () => updateActiveTab(1) }), _jsxs(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto fade tw:pt-2 tw:pb-4 tw:mb-4 tw:overflow-x-hidden', children: [item.layer?.itemType.show_start_end && (_jsx(\"div\", { className: 'tw:max-w-xs', children: _jsx(StartEndView, { item: item }) })), _jsx(TextView, { text: item.text, itemId: item.id }), _jsx(\"div\", { className: 'tw:h-4' }), _jsx(TextView, { text: item.contact, itemId: item.id })] }), item.layer?.itemType.questlog && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2!', \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 2 ? '❤️' : '❤️\\u00A0Trust'}`, checked: activeTab === 2 && true, onChange: () => updateActiveTab(2) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto fade tw:pt-2 tw:pb-4 tw:mb-4 tw:overflow-x-hidden', children: _jsx(\"table\", { className: 'sm:tw:table-sm md:tw:table-md tw:w-full', children: _jsx(\"tbody\", { children: attestations\n .filter((a) => a.to.some((t) => t.directus_users_id === item.user_created?.id))\n .sort((a, b) => new Date(b.date_created).getTime() - new Date(a.date_created).getTime())\n .map((a, i) => (_jsxs(\"tr\", { children: [_jsx(\"td\", { children: _jsx(\"div\", { className: `tw:cursor-pointer tw:text-3xl tw:mask ${a.shape === 'squircle' ? 'tw:mask-squircle' : a.shape === 'circle' ? 'tw:mask-circle' : 'tw:mask-hexagon-2'} tw:p-2 tw:my-2 tw:mr-2 tw:shadow-xl`, \n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n style: { backgroundColor: a.color }, children: a.emoji }) }), _jsx(\"td\", { children: _jsx(\"div\", { className: 'tw:mr-2', children: _jsx(\"i\", { children: a.text }) }) }), _jsx(\"td\", { children: getUserProfile(a.user_created.id) ? (_jsx(Link, { to: '/item/' + getUserProfile(a.user_created.id)?.id, children: _jsxs(\"div\", { className: 'flex items-center gap-3', children: [_jsx(\"div\", { className: 'tw:avatar', children: _jsx(\"div\", { className: 'tw:mask tw:rounded-full tw:h-8 tw:w-8 tw:mr-2', children: getUserProfile(a.user_created.id)?.image && (_jsx(\"img\", { src: appState.assetsApi.url +\n getUserProfile(a.user_created.id)?.image, alt: 'Avatar' })) }) }), _jsxs(\"div\", { children: [_jsxs(\"div\", { className: 'font-bold', children: [getUserProfile(a.user_created.id)?.name ??\n a.user_created.first_name, ' '] }), _jsx(\"div\", { className: 'tw:text-xs opacity-50 tw:text-zinc-500', children: timeAgo(a.date_created) })] })] }) })) : (_jsxs(\"div\", { children: [_jsxs(\"div\", { className: 'font-bold', children: [a.user_created.first_name, \" \"] }), _jsx(\"div\", { className: 'tw:text-xs opacity-50 tw:text-zinc-500', children: timeAgo(a.date_created) })] })) })] }, i))) }) }) })] })), item.layer?.itemType.offers_and_needs && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: `tw:tab tw:font-bold tw:ps-2! tw:pe-2! ${!(item.layer.itemType.icon_as_labels && activeTab !== 3) && 'tw:min-w-[10.4em]'} `, \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 3 ? '♻️' : '♻️\\u00A0Offers & Needs'}`, checked: activeTab === 3 && true, onChange: () => updateActiveTab(3) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:h-[calc(100dvh-268px)] tw:overflow-y-auto fade tw:pt-4 tw:pb-1', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1', children: [offers.length > 0 ? (_jsxs(\"div\", { className: 'tw:col-span-1', children: [_jsx(\"h3\", { className: 'tw:-mb-2', children: \"Offers\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mb-4', children: offers.map((o) => (_jsx(TagView, { tag: o, onClick: () => {\n addFilterTag(o);\n } }, o.id))) })] })) : (''), needs.length > 0 ? (_jsxs(\"div\", { className: 'tw:col-span-1', children: [_jsx(\"h3\", { className: 'tw:-mb-2 tw:col-span-1', children: \"Needs\" }), _jsx(\"div\", { className: 'tw:flex tw:flex-wrap tw:mb-4', children: needs.map((n) => (_jsx(TagView, { tag: n, onClick: () => addFilterTag(n) }, n.id))) })] })) : ('')] }) }) })] })), item.layer?.itemType.relations && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:font-bold tw:ps-2! tw:pe-2! ', \"aria-label\": `${item.layer.itemType.icon_as_labels && activeTab !== 7 ? '🔗' : '🔗\\u00A0Links'}`, checked: activeTab === 7 && true, onChange: () => updateActiveTab(7) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:rounded-box tw:!h-[calc(100dvh-280px)] tw:overflow-y-auto tw:pt-4 tw:pb-1 tw:-mr-4 tw:-mb-4 tw:overflow-x-hidden', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2 tw:md:grid-cols-1 tw:lg:grid-cols-1 tw:xl:grid-cols-1 tw:2xl:grid-cols-2 tw:pb-4', children: [relations &&\n relations.map((i) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:bg-base-200 tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:text-base-content tw:p-6 tw:mr-4 tw:mb-4', onClick: () => navigate('/item/' + i.id), children: [_jsx(LinkedItemsHeaderView, { unlinkPermission: updatePermission, item: i, unlinkCallback: unlinkItem, loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: _jsx(TextView, { truncate: true, text: i.text, itemId: item.id }) })] }, i.id))), updatePermission && (_jsx(ActionButton, { collection: 'items', item: item, existingRelations: relations, triggerItemSelected: linkItem }))] }) }) })] }))] }));\n};\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { LatLng } from 'leaflet';\nimport { useEffect, useState } from 'react';\nimport { useMap } from 'react-leaflet';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { useClusterRef } from '#components/Map/hooks/useClusterRef';\nimport { useItems, useRemoveItem, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useSelectPosition, useSetSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView';\nimport { MapOverlayPage } from '#components/Templates';\nimport { handleDelete, linkItem, unlinkItem } from './itemFunctions';\nimport { FlexView } from './Templates/FlexView';\nimport { OnepagerView } from './Templates/OnepagerView';\nimport { SimpleView } from './Templates/SimpleView';\nimport { TabsView } from './Templates/TabsView';\n/**\n * @category Profile\n */\nexport function ProfileView({ attestationApi }) {\n const [item, setItem] = useState();\n const [updatePermission, setUpdatePermission] = useState(false);\n const [relations, setRelations] = useState([]);\n const [offers, setOffers] = useState([]);\n const [needs, setNeeds] = useState([]);\n const [loading, setLoading] = useState(false);\n const [template, setTemplate] = useState('');\n const location = useLocation();\n const items = useItems();\n const updateItem = useUpdateItem();\n const map = useMap();\n const selectPosition = useSelectPosition();\n const removeItem = useRemoveItem();\n const tags = useTags();\n const navigate = useNavigate();\n const hasUserPermission = useHasUserPermission();\n const setSelectPosition = useSetSelectPosition();\n const clusterRef = useClusterRef();\n const leafletRefs = useLeafletRefs();\n const layers = useLayers();\n const [attestations, setAttestations] = useState([]);\n useEffect(() => {\n if (attestationApi) {\n attestationApi\n .getItems()\n .then((value) => {\n // eslint-disable-next-line no-console\n console.log(value);\n setAttestations(value);\n return null;\n })\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching items:', error);\n });\n }\n }, [attestationApi]);\n useEffect(() => {\n const itemId = location.pathname.split('/')[2];\n const item = items.find((i) => i.id === itemId);\n item && setItem(item);\n }, [items, location]);\n useEffect(() => {\n setOffers([]);\n setNeeds([]);\n setRelations([]);\n item?.offers?.forEach((o) => {\n const tag = tags.find((t) => t.id === o.tags_id);\n tag && setOffers((current) => [...current, tag]);\n });\n item?.needs?.forEach((n) => {\n const tag = tags.find((t) => t.id === n.tags_id);\n tag && setNeeds((current) => [...current, tag]);\n });\n item?.relations?.forEach((r) => {\n const item = items.find((i) => i.id === r.related_items_id);\n item && setRelations((current) => [...current, item]);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item, items]);\n useEffect(() => {\n const setMap = (marker, x) => {\n map.setView(new LatLng(item?.position?.coordinates[1], item?.position?.coordinates[0] + x / 4), undefined);\n setTimeout(() => {\n marker.openPopup();\n }, 500);\n };\n if (item) {\n if (item.position) {\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === item)?.[1].marker;\n marker &&\n clusterRef.hasLayer(marker) &&\n clusterRef?.zoomToShowLayer(marker, () => {\n const bounds = map.getBounds();\n const x = bounds.getEast() - bounds.getWest();\n setMap(marker, x);\n });\n }\n else {\n const parent = getFirstAncestor(item);\n const marker = Object.entries(leafletRefs).find((r) => r[1].item === parent)?.[1].marker;\n marker &&\n clusterRef.hasLayer(marker) &&\n clusterRef?.zoomToShowLayer(marker, () => {\n const bounds = map.getBounds();\n const x = bounds.getEast() - bounds.getWest();\n setMap(marker, x);\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n const getFirstAncestor = (item) => {\n const parent = items.find((i) => i.id === item.parent);\n if (parent?.parent) {\n return getFirstAncestor(parent);\n }\n else {\n return parent;\n }\n };\n useEffect(() => {\n item && hasUserPermission('items', 'update', item) && setUpdatePermission(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item]);\n useEffect(() => {\n selectPosition && map.closePopup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectPosition]);\n useEffect(() => {\n if (item?.layer?.itemType.template)\n setTemplate(item.layer.itemType.template);\n else {\n const userLayer = layers.find((l) => l.userProfileLayer === true);\n if (userLayer)\n setTemplate(userLayer.itemType.template);\n }\n }, [item, layers]);\n return (_jsx(_Fragment, { children: item && (_jsx(MapOverlayPage, { className: `tw:p-0! tw:overflow-scroll tw:m-4! tw:md:w-[calc(50%-32px)] tw:w-[calc(100%-32px)] tw:min-w-80 tw:max-w-3xl tw:left-0! tw:sm:left-auto! tw:top-0 tw:bottom-0 tw:transition-opacity tw:duration-500 ${!selectPosition ? 'tw:opacity-100 tw:pointer-events-auto' : 'tw:opacity-0 tw:pointer-events-none'}`, children: _jsxs(_Fragment, { children: [_jsx(\"div\", { className: 'tw:px-6 tw:pt-6', children: _jsx(HeaderView, { api: item.layer?.api, item: item, deleteCallback: (e) => handleDelete(e, item, setLoading, removeItem, map, navigate), editCallback: () => navigate('/edit-item/' + item.id), setPositionCallback: () => {\n map.closePopup();\n setSelectPosition(item);\n navigate('/');\n }, big: true, truncateSubname: false }) }), template === 'onepager' && _jsx(OnepagerView, { item: item }), template === 'simple' && _jsx(SimpleView, { item: item }), template === 'flex' && _jsx(FlexView, { item: item }), template === 'tabs' && (_jsx(TabsView, { attestations: attestations, item: item, loading: loading, offers: offers, needs: needs, relations: relations, updatePermission: updatePermission, linkItem: (id) => linkItem(id, item, updateItem), unlinkItem: (id) => unlinkItem(id, item, updateItem) }))] }) }, item.id)) }));\n}\n","import * as React from \"react\";\nfunction ArrowUpTrayIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ArrowUpTrayIcon);\nexport default ForwardRef;","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable react/prop-types */\n/* eslint-disable @typescript-eslint/no-floating-promises */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\nimport ArrowUpTrayIcon from '@heroicons/react/24/outline/ArrowUpTrayIcon';\nimport { useState, useCallback, useRef } from 'react';\nimport { ReactCrop, centerCrop, makeAspectCrop } from 'react-image-crop';\nimport UserSVG from '#assets/user.svg';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport DialogModal from '#components/Templates/DialogModal';\nexport const AvatarWidget = ({ avatar, setAvatar }) => {\n const [crop, setCrop] = useState();\n const [image, setImage] = useState('');\n const [cropModalOpen, setCropModalOpen] = useState(false);\n const [cropping, setCropping] = useState(false);\n const appState = useAppState();\n const imgRef = useRef(null);\n const onImageChange = useCallback((event) => {\n const file = event.target.files && event.target.files[0];\n if (file) {\n const validFormats = ['image/jpeg', 'image/png'];\n const maxSizeMB = 10;\n const maxSizeBytes = maxSizeMB * 1024 * 1024;\n if (!validFormats.includes(file.type)) {\n alert('Unsupported file format. Please upload a JPEG or PNG image.');\n return;\n }\n if (file.size > maxSizeBytes) {\n alert(`File size exceeds ${maxSizeMB}MB. Please upload a smaller image.`);\n return;\n }\n setImage(URL.createObjectURL(file));\n setCropModalOpen(true);\n }\n else {\n alert('No file selected or an error occurred while selecting the file.');\n }\n }, []);\n const onImageLoad = useCallback((e) => {\n const { width, height } = e.currentTarget;\n setCrop(centerAspectCrop(width, height, 1));\n }, []);\n const centerAspectCrop = (mediaWidth, mediaHeight, aspect) => {\n return centerCrop(makeAspectCrop({\n unit: 'px',\n width: mediaWidth / 2,\n }, aspect, mediaWidth, mediaHeight), mediaWidth, mediaHeight);\n };\n async function resizeImage(image, maxWidth, maxHeight) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n let width = image.width;\n let height = image.height;\n if (width > maxWidth) {\n height *= maxWidth / width;\n width = maxWidth;\n }\n if (height > maxHeight) {\n width *= maxHeight / height;\n height = maxHeight;\n }\n canvas.width = width;\n canvas.height = height;\n if (ctx) {\n ctx.drawImage(image, 0, 0, width, height);\n }\n const resizedImage = new Image();\n resizedImage.src = canvas.toDataURL();\n await resizedImage.decode();\n return resizedImage;\n }\n const renderCrop = useCallback(async () => {\n const image = imgRef.current;\n if (crop && image) {\n const resizedImage = await resizeImage(image, 1024, 1024); // Bildgröße vor dem Zuschneiden reduzieren\n const scaleX = resizedImage.naturalWidth / resizedImage.width;\n const scaleY = resizedImage.naturalHeight / resizedImage.height;\n const canvas = new OffscreenCanvas(crop.width * scaleX, crop.height * scaleY);\n const ctx = canvas.getContext('2d');\n const pixelRatio = window.devicePixelRatio;\n canvas.width = crop.width * pixelRatio * scaleX;\n canvas.height = crop.height * pixelRatio * scaleY;\n if (ctx) {\n ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n ctx.drawImage(resizedImage, crop.x * scaleX, crop.y * scaleY, crop.width * scaleX, crop.height * scaleY, 0, 0, crop.width * scaleX, crop.height * scaleY);\n }\n const blob = await canvas.convertToBlob();\n await resizeBlob(blob);\n setCropping(false);\n setImage('');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [crop]);\n const resizeBlob = useCallback(async (blob) => {\n const img = new Image();\n img.src = URL.createObjectURL(blob);\n await img.decode();\n const canvas = new OffscreenCanvas(400, 400);\n const ctx = canvas.getContext('2d');\n ctx?.drawImage(img, 0, 0, 400, 400);\n const resizedBlob = await canvas.convertToBlob();\n const asset = await appState.assetsApi.upload(resizedBlob, 'avatar');\n setAvatar(asset.id);\n }, [appState.assetsApi, setAvatar]);\n return (_jsxs(_Fragment, { children: [!cropping ? (_jsxs(\"label\", { className: 'custom-file-upload', children: [_jsx(\"input\", { type: 'file', accept: 'image/*', className: 'tw:file-input tw:w-full tw:max-w-xs', onChange: onImageChange }), _jsx(\"div\", { className: 'button tw:btn tw:btn-lg tw:btn-circle tw:animate-none', children: _jsx(ArrowUpTrayIcon, { className: 'tw:w-6 tw:h-6' }) }), avatar ? (_jsx(\"div\", { className: 'tw:h-20 tw:w-20', children: _jsx(\"img\", { src: appState.assetsApi.url + avatar, className: 'tw:h-20 tw:w-20 tw:rounded-full' }) })) : (_jsx(\"div\", { className: 'tw:h-20 tw:w-20', children: _jsx(\"img\", { src: UserSVG, className: 'tw:rounded-full' }) }))] })) : (_jsx(\"div\", { className: 'tw:w-20 tw:flex tw:items-center tw:justify-center', children: _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) })), _jsxs(DialogModal, { title: '', isOpened: cropModalOpen, onClose: () => {\n setCropModalOpen(false);\n setImage('');\n }, closeOnClickOutside: false, children: [_jsx(ReactCrop, { crop: crop, onChange: (c) => setCrop(c), aspect: 1, children: _jsx(\"img\", { src: image, ref: imgRef, onLoad: onImageLoad }) }), _jsx(\"button\", { className: 'tw:btn tw:btn-primary', onClick: () => {\n setCropping(true);\n setCropModalOpen(false);\n renderCrop();\n }, children: \"Select\" })] })] }));\n};\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect } from 'react';\n// Improved version of https://usehooks.com/useOnClickOutside/\nconst useClickOutside = (ref, handler) => {\n useEffect(() => {\n let startedInside = false;\n let startedWhenMounted = false;\n const listener = (event) => {\n // Do nothing if `mousedown` or `touchstart` started inside ref element\n if (startedInside || !startedWhenMounted)\n return;\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target))\n return;\n handler(event);\n };\n const validateEventStart = (event) => {\n startedWhenMounted = ref.current;\n startedInside = ref.current && ref.current.contains(event.target);\n };\n document.addEventListener('mousedown', validateEventStart);\n document.addEventListener('touchstart', validateEventStart);\n document.addEventListener('click', listener);\n return () => {\n document.removeEventListener('mousedown', validateEventStart);\n document.removeEventListener('touchstart', validateEventStart);\n document.removeEventListener('click', listener);\n };\n }, [ref, handler]);\n};\nexport default useClickOutside;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { HexColorPicker } from 'react-colorful';\nimport useClickOutside from '#components/Profile/hooks/useClickOutside';\n// eslint-disable-next-line react/prop-types\nexport const ColorPicker = ({ color, onChange, className }) => {\n const popover = useRef(null);\n const [isOpen, toggle] = useState(false);\n const close = useCallback(() => toggle(false), []);\n useClickOutside(popover, close);\n const colorPickerRef = useRef(null);\n useEffect(() => {\n // Füge dem Color-Picker explizit Event-Listener hinzu\n const colorPickerElement = colorPickerRef.current;\n if (colorPickerElement) {\n const enablePropagation = (event) => {\n // Verhindere, dass Leaflet die Propagation stoppt\n event.stopPropagation = () => { };\n };\n ['click', 'dblclick', 'mousedown', 'touchstart'].forEach((eventType) => {\n colorPickerElement.addEventListener(eventType, enablePropagation, true);\n });\n }\n }, []);\n return (_jsxs(\"div\", { ref: colorPickerRef, className: `picker ${className}`, children: [_jsx(\"div\", { className: 'swatch', style: { backgroundColor: color }, onClick: () => toggle(true) }), isOpen && (_jsx(\"div\", { className: 'popover tw:z-10000', ref: popover, children: _jsx(HexColorPicker, { color: color, onChange: onChange, onClick: () => toggle(false) }) }))] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable react/prop-types */\nimport { TextInput } from '#components/Input';\nimport { AvatarWidget } from './AvatarWidget';\nimport { ColorPicker } from './ColorPicker';\nexport const FormHeader = ({ item, state, setState }) => {\n return (_jsx(\"div\", { className: 'tw:flex-none', children: _jsxs(\"div\", { className: 'tw:flex', children: [_jsx(AvatarWidget, { avatar: state.image, setAvatar: (i) => setState((prevState) => ({\n ...prevState,\n image: i,\n })) }), _jsx(ColorPicker, { color: state.color, onChange: (c) => setState((prevState) => ({\n ...prevState,\n color: c,\n })), className: 'tw:-left-6 tw:top-14 tw:-mr-6' }), _jsxs(\"div\", { className: 'tw:grow tw:mr-4 tw:pt-1', children: [_jsx(TextInput, { placeholder: 'Name', defaultValue: item?.name ? item.name : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n name: v,\n })), containerStyle: 'tw:grow tw:px-4', inputStyle: 'tw:input-md' }), _jsx(TextInput, { placeholder: 'Subtitle', required: false, defaultValue: item?.subname ? item.subname : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n subname: v,\n })), containerStyle: 'tw:grow tw:px-4 tw:mt-1', inputStyle: 'tw:input-sm' })] })] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextInput } from '#components/Input';\nexport const ContactInfoForm = ({ state, setState, }) => {\n return (_jsxs(\"div\", { className: 'tw:mt-4 tw:space-y-4', children: [_jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'email', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Email-Adresse (Kontakt):\" }), _jsx(TextInput, { placeholder: 'Email', type: 'email', required: false, defaultValue: state.contact, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n contact: v,\n })) })] }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'telephone', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Telefonnummer (Kontakt):\" }), _jsx(TextInput, { placeholder: 'Telefonnummer', type: 'tel', required: false, pattern: '^\\\\+?[0-9\\\\s\\\\-]{7,15}$', defaultValue: state.telephone, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n telephone: v,\n })) })] })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextInput } from '#components/Input';\nexport const CrowdfundingForm = ({ state, setState, }) => {\n return (_jsx(\"div\", { className: 'tw:mt-4 tw:space-y-4', children: _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'OpenCollectiveSlug', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Open Collective Slug:\" }), _jsx(TextInput, { placeholder: 'Open Collective Slug', type: 'text', required: false, defaultValue: state.openCollectiveSlug, updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n openCollectiveSlug: v,\n })) })] }) }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nconst ComboBoxInput = ({ id, options, value, onValueChange }) => {\n const handleChange = (e) => {\n onValueChange(e.target.value);\n };\n return (_jsx(\"select\", { id: id, className: 'tw:form-select tw:block tw:w-full tw:py-2 tw:px-4 tw:border tw:border-gray-300 rounded-md tw:shadow-sm tw:text-sm tw:focus:outline-hidden tw:focus:ring-indigo-500 tw:focus:border-indigo-500 tw:sm:text-sm', onChange: handleChange, value: value, children: options.map((o) => (_jsx(\"option\", { value: o, children: o }, o))) }));\n};\nexport default ComboBoxInput;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { useEffect } from 'react';\nimport ComboBoxInput from '#components/Input/ComboBoxInput';\nexport const GroupSubheaderForm = ({ state, setState, groupStates, groupTypes, }) => {\n useEffect(() => {\n if (groupTypes && groupStates && state.name !== '') {\n const groupType = groupTypes.find((gt) => gt.groupTypes_id.name === state.group_type);\n const customImage = !groupTypes.some((gt) => gt.groupTypes_id.image.id === state.image || !state.image);\n setState((prevState) => ({\n ...prevState,\n color: groupType?.groupTypes_id.color || groupTypes[0].groupTypes_id.color,\n marker_icon: groupType?.groupTypes_id.markerIcon || groupTypes[0].groupTypes_id.markerIcon,\n image: customImage\n ? state.image\n : groupType?.groupTypes_id.image.id || groupTypes[0].groupTypes_id.image.id,\n status: state.status || groupStates[0],\n group_type: state.group_type || groupTypes[0].groupTypes_id.name,\n }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.group_type, groupTypes]);\n return (_jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:md:grid-cols-2 tw:gap-6', children: [_jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'status', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenstatus:\" }), _jsx(ComboBoxInput, { id: 'status', options: groupStates || [], value: state.status, onValueChange: (v) => setState((prevState) => ({\n ...prevState,\n status: v,\n })) })] }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'groupType', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenart:\" }), _jsx(ComboBoxInput, { id: 'groupType', options: groupTypes?.map((gt) => gt.groupTypes_id.name) || [], value: state.group_type, onValueChange: (v) => setState((prevState) => ({\n ...prevState,\n group_type: v,\n })) })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { PopupStartEndInput } from '#components/Map/Subcomponents/ItemPopupComponents';\nexport const ProfileStartEndForm = ({ item, setState, }) => {\n return (_jsx(PopupStartEndInput, { item: item, showLabels: false, updateEndValue: (e) => setState((prevState) => ({\n ...prevState,\n end: e,\n })), updateStartValue: (s) => setState((prevState) => ({\n ...prevState,\n start: s,\n })) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport MarkdownSVG from '#assets/markdown.svg';\nexport const MarkdownHint = () => {\n const [expended, setExpended] = useState(false);\n return (_jsxs(\"div\", { onClick: () => setExpended(true), title: 'Markdown is supported', className: 'flex tw:flex-row tw:text-gray-400 tw:cursor-pointer tw:items-center', children: [_jsx(\"img\", { src: MarkdownSVG, alt: 'Markdown', className: 'octicon octicon-markdown tw:gray-400' }), expended && (_jsxs(\"a\", { href: 'https://www.markdownguide.org/cheat-sheet/#basic-syntax', target: '_blank', rel: 'noreferrer', children: [_jsx(\"span\", { className: 'Button-label tw:ml-1', children: \"Markdown is support\" }), ' '] }))] }));\n};\n","import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState } from 'react';\nimport { TextAreaInput } from '#components/Input';\nimport { MarkdownHint } from './MarkdownHint';\nexport const ProfileTextForm = ({ state, setState, \n// Is this really used?\ndataField, heading, size, hideInputLabel, required, }) => {\n const [field, setField] = useState(dataField || 'text');\n useEffect(() => {\n if (!dataField) {\n setField('text');\n }\n }, [dataField]);\n return (_jsxs(\"div\", { className: 'tw:h-full tw:flex tw:flex-col tw:mt-4', children: [_jsxs(\"div\", { className: 'tw:flex tw:justify-between tw:items-center', children: [_jsxs(\"label\", { htmlFor: 'nextAppointment', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: [heading || 'Text', \":\"] }), _jsx(MarkdownHint, {})] }), _jsx(TextAreaInput, { placeholder: '...', \n // eslint-disable-next-line security/detect-object-injection\n defaultValue: state[field], updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n [field]: v,\n })), labelStyle: hideInputLabel ? 'tw:hidden' : '', containerStyle: size === 'full' ? 'tw:grow tw:h-full' : '', inputStyle: size === 'full' ? 'tw:h-full' : 'tw:h-24', required: required })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { ContactInfoForm } from '#components/Profile/Subcomponents/ContactInfoForm';\nimport { CrowdfundingForm } from '#components/Profile/Subcomponents/CrowdfundingForm';\nimport { GroupSubheaderForm } from '#components/Profile/Subcomponents/GroupSubheaderForm';\nimport { ProfileStartEndForm } from '#components/Profile/Subcomponents/ProfileStartEndForm';\nimport { ProfileTextForm } from '#components/Profile/Subcomponents/ProfileTextForm';\nconst componentMap = {\n groupSubheaders: GroupSubheaderForm,\n texts: ProfileTextForm,\n contactInfos: ContactInfoForm,\n startEnd: ProfileStartEndForm,\n crowdfundings: CrowdfundingForm,\n // weitere Komponenten hier\n};\nexport const FlexForm = ({ item, state, setState, }) => {\n return (_jsx(\"div\", { className: 'tw:mt-6 tw:flex tw:flex-col tw:h-full', children: item.layer?.itemType.profileTemplate.map((templateItem) => {\n const TemplateComponent = componentMap[templateItem.collection];\n return TemplateComponent ? (_jsx(TemplateComponent, { state: state, setState: setState, item: item, ...templateItem.item }, templateItem.id)) : (_jsxs(\"div\", { className: 'tw:mt-2', children: [templateItem.collection, \" form not found\"] }, templateItem.id));\n }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { TextAreaInput } from '#components/Input';\nimport { ContactInfoForm } from '#components/Profile/Subcomponents/ContactInfoForm';\nimport { GroupSubheaderForm } from '#components/Profile/Subcomponents/GroupSubheaderForm';\nexport const OnepagerForm = ({ item, state, setState, }) => {\n return (_jsxs(\"div\", { className: 'tw:space-y-6 tw:mt-6', children: [_jsx(GroupSubheaderForm, { state: state, setState: setState, item: item }), _jsx(ContactInfoForm, { state: state, setState: setState }), _jsxs(\"div\", { children: [_jsx(\"label\", { htmlFor: 'description', className: 'tw:block tw:text-sm tw:font-medium tw:text-gray-500 tw:mb-1', children: \"Gruppenbeschreibung:\" }), _jsx(TextAreaInput, { placeholder: 'Beschreibung', defaultValue: state.text || '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), inputStyle: 'tw:h-48' })] })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { TextAreaInput } from '#components/Input';\n// eslint-disable-next-line react/prop-types\nexport const SimpleForm = ({ state, setState }) => {\n return (_jsx(TextAreaInput, { placeholder: 'About me ...', \n // eslint-disable-next-line react/prop-types\n defaultValue: state?.text || '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), containerStyle: 'tw:mt-8 tw:h-full', inputStyle: 'tw:h-full' }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { useEffect, useRef, useState } from 'react';\nimport { TagView } from '#components/Templates/TagView';\nexport const Autocomplete = ({ inputProps, suggestions, onSelected, pushFilteredSuggestions, setFocus, }) => {\n const [filteredSuggestions, setFilteredSuggestions] = useState([]);\n const [heighlightedSuggestion, setHeighlightedSuggestion] = useState(0);\n useEffect(() => {\n pushFilteredSuggestions && setFilteredSuggestions(pushFilteredSuggestions);\n }, [pushFilteredSuggestions]);\n useEffect(() => {\n setFocus && inputRef.current?.focus();\n }, [setFocus]);\n const inputRef = useRef();\n const getSuggestionValue = (suggestion) => suggestion.name;\n const getSuggestions = (value) => {\n const inputValue = value.trim().toLowerCase();\n const inputLength = inputValue.length;\n return inputLength === 0\n ? []\n : suggestions.filter((tag) => tag.name.toLowerCase().slice(0, inputLength) === inputValue);\n };\n const handleChange = (e) => {\n setFilteredSuggestions(getSuggestions(e.target.value));\n // Call the parent's onChange handler, if it exists\n if (inputProps.onChange) {\n inputProps.onChange(e);\n }\n };\n function handleSuggestionClick(suggestion) {\n onSelected(suggestion);\n }\n const handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowDown':\n heighlightedSuggestion < filteredSuggestions.length - 1 &&\n setHeighlightedSuggestion((current) => current + 1);\n break;\n case 'ArrowUp':\n heighlightedSuggestion > 0 && setHeighlightedSuggestion((current) => current - 1);\n break;\n case 'Enter':\n if (filteredSuggestions.length > 0) {\n // eslint-disable-next-line security/detect-object-injection\n onSelected(filteredSuggestions[heighlightedSuggestion]);\n setHeighlightedSuggestion(0);\n }\n filteredSuggestions.length === 0 && inputProps.onKeyDown(event);\n break;\n default:\n inputProps.onKeyDown(event);\n break;\n }\n };\n return (_jsxs(\"div\", { children: [_jsx(\"input\", { ref: inputRef, ...inputProps, type: 'text', onChange: (e) => handleChange(e), tabIndex: '-1', onKeyDown: handleKeyDown, className: 'tw:border-none tw:focus:outline-none tw:focus:ring-0 tw:mt-5' }), _jsx(\"ul\", { className: `tw:absolute tw:z-4000 ${filteredSuggestions.length > 0 && 'tw:bg-base-100 tw:rounded-xl tw:p-2'}`, children: filteredSuggestions.map((suggestion, index) => (_jsx(\"li\", { onClick: () => handleSuggestionClick(suggestion), children: _jsx(TagView, { heighlight: index === heighlightedSuggestion, tag: suggestion }) }, index))) })] }));\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport { useEffect, useState } from 'react';\nimport { Autocomplete } from '#components/Input/Autocomplete';\nimport { useTags } from '#components/Map/hooks/useTags';\nimport { decodeTag, encodeTag } from '#utils/FormatTags';\nimport { randomColor } from '#utils/RandomColor';\n// eslint-disable-next-line react/prop-types\nexport const TagsWidget = ({ placeholder, containerStyle, defaultTags, onUpdate }) => {\n const [input, setInput] = useState('');\n const [isKeyReleased, setIsKeyReleased] = useState(false);\n const tags = useTags();\n const [pushFilteredSuggestions, setPushFilteredSuggestions] = useState([]);\n const [focusInput, setFocusInput] = useState(false);\n const [currentTags, setCurrentTags] = useState(defaultTags);\n useEffect(() => {\n setCurrentTags(defaultTags);\n }, [defaultTags]);\n const onChange = (e) => {\n const { value } = e.target;\n setInput(value);\n };\n const onKeyDown = (e) => {\n const { key } = e;\n const trimmedInput = input.trim();\n if ((key === 'Enter' || key === ',') &&\n trimmedInput.length &&\n // eslint-disable-next-line react/prop-types\n !defaultTags.some((tag) => tag.name.toLocaleLowerCase() === trimmedInput.toLocaleLowerCase())) {\n e.preventDefault();\n const newTag = tags.find((t) => t.name === trimmedInput.toLocaleLowerCase());\n newTag && onUpdate([...currentTags, newTag]);\n !newTag &&\n onUpdate([\n ...currentTags,\n { id: crypto.randomUUID(), name: encodeTag(trimmedInput), color: randomColor() },\n ]);\n setInput('');\n setPushFilteredSuggestions([]);\n }\n // eslint-disable-next-line react/prop-types\n if (key === 'Backspace' && !input.length && defaultTags.length && isKeyReleased) {\n const defaultTagsCopy = [...defaultTags];\n const poppedTag = defaultTagsCopy.pop();\n e.preventDefault();\n onUpdate(defaultTagsCopy);\n poppedTag && setInput(poppedTag.name);\n }\n setIsKeyReleased(false);\n };\n const onKeyUp = () => {\n setIsKeyReleased(true);\n };\n const deleteTag = (tag) => {\n onUpdate(currentTags.filter((t) => t !== tag));\n };\n const onSelected = (tag) => {\n // eslint-disable-next-line react/prop-types\n if (!defaultTags.some((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())) {\n const newTag = tags.find((t) => t.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase());\n newTag && onUpdate([...currentTags, newTag]);\n !newTag &&\n onUpdate([\n ...currentTags,\n { id: crypto.randomUUID(), name: tag.name.toLocaleLowerCase(), color: randomColor() },\n ]);\n setInput('');\n setPushFilteredSuggestions([]);\n }\n };\n const inputProps = {\n value: input,\n placeholder,\n onKeyDown,\n onKeyUp,\n onChange,\n className: 'tw:bg-transparent tw:w-fit tw:mt-5 tw:h-fit',\n };\n /* eslint-disable react/prop-types */\n return (_jsx(\"div\", { onClick: () => {\n setFocusInput(true);\n setTimeout(() => {\n setFocusInput(false);\n }, 200);\n }, className: `tw:textarea tw:cursor-text ${containerStyle}`, children: _jsxs(\"div\", { className: 'tw:flex tw:flex-wrap tw:h-fit', children: [defaultTags.map((tag) => (_jsxs(\"div\", { className: 'tw:rounded-2xl tw:text-white tw:p-2 tw:px-4 tw:shadow-xl tw:card tw:mt-3 tw:mr-4', style: { backgroundColor: tag.color ? tag.color : '#666' }, children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-xs tw:btn-circle tw:absolute tw:-right-2 tw:-top-2 tw:bg-white tw:text-gray-600', onClick: () => deleteTag(tag), children: \"\\u2715\" }) }), _jsx(\"b\", { children: decodeTag(tag.name) })] }, tag.name))), _jsx(Autocomplete, { suggestions: tags, pushFilteredSuggestions: pushFilteredSuggestions, setFocus: focusInput, inputProps: inputProps, onSelected: (tag) => onSelected(tag) })] }) }));\n /* eslint-enable react/prop-types */\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable react/prop-types */\nimport { useCallback, useEffect, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { TextAreaInput } from '#components/Input';\nimport { useUpdateItem } from '#components/Map/hooks/useItems';\nimport { PopupStartEndInput, TextView } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { ActionButton } from '#components/Profile/Subcomponents/ActionsButton';\nimport { LinkedItemsHeaderView } from '#components/Profile/Subcomponents/LinkedItemsHeaderView';\nimport { TagsWidget } from '#components/Profile/Subcomponents/TagsWidget';\nexport const TabsForm = ({ item, state, setState, updatePermission, linkItem, unlinkItem, loading, setUrlParams, }) => {\n const [activeTab, setActiveTab] = useState(1);\n const navigate = useNavigate();\n const updateItem = useUpdateItem();\n const updateActiveTab = useCallback((id) => {\n setActiveTab(id);\n const params = new URLSearchParams(window.location.search);\n params.set('tab', `${id}`);\n const newUrl = location.pathname + '?' + params.toString();\n window.history.pushState({}, '', newUrl);\n setUrlParams(params);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [location.pathname]);\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const urlTab = params.get('tab');\n setActiveTab(urlTab ? Number(urlTab) : 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.search]);\n return (_jsx(\"div\", { className: 'tw:grow', children: _jsxs(\"div\", { role: 'tablist', className: 'tw:tabs tw:h-full tw:tabs-lift tw:mt-3', children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab ', \"aria-label\": 'Info', checked: activeTab === 1 && true, onChange: () => updateActiveTab(1) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:border-(--fallback-bc,oklch(var(--bc)/0.2)) tw:rounded-box tw:!h-[calc(100%-48px)] tw:min-h-56 tw:border-none', children: _jsxs(\"div\", { className: `tw:flex tw:flex-col tw:h-full ${item.layer.itemType.show_start_end_input && 'tw:pt-4'}`, children: [item.layer.itemType.show_start_end_input && (_jsx(PopupStartEndInput, { item: item, showLabels: false, updateEndValue: (e) => setState((prevState) => ({\n ...prevState,\n end: e,\n })), updateStartValue: (s) => setState((prevState) => ({\n ...prevState,\n start: s,\n })) })), _jsx(TextAreaInput, { placeholder: 'about ...', defaultValue: item?.text ? item.text : '', updateFormValue: (v) => setState((prevState) => ({\n ...prevState,\n text: v,\n })), containerStyle: 'tw:grow', inputStyle: `tw:h-full ${!item.layer.itemType.show_start_end_input && 'tw:border-t-0 tw:rounded-tl-none'}` }), _jsx(TextAreaInput, { placeholder: 'contact info ...', defaultValue: state.contact || '', updateFormValue: (c) => setState((prevState) => ({\n ...prevState,\n contact: c,\n })), inputStyle: '', containerStyle: 'tw:pt-4 tw:h-24 tw:flex-none', required: false })] }) }), item.layer?.itemType.offers_and_needs && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab tw:min-w-[10em] ', \"aria-label\": 'Offers & Needs', checked: activeTab === 3 && true, onChange: () => updateActiveTab(3) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:bg-base-100 tw:border-(--fallback-bc,oklch(var(--bc)/0.2)) tw:rounded-box tw:!h-[calc(100%-48px)] tw:min-h-56 tw:border-none', children: _jsxs(\"div\", { className: 'tw:h-full', children: [_jsx(\"div\", { className: 'tw:w-full tw:h-[calc(50%-0.75em)] tw:mb-4', children: _jsx(TagsWidget, { defaultTags: state.offers, onUpdate: (v) => setState((prevState) => ({\n ...prevState,\n offers: v,\n })), placeholder: 'enter your offers', containerStyle: 'tw:bg-transparent tw:w-full tw:h-full tw:mt-3 tw:text-xs tw:h-[calc(100%-1rem)] tw:min-h-[5em] tw:pb-2 tw:overflow-auto' }) }), _jsx(\"div\", { className: 'tw:w-full tw:h-[calc(50%-1.5em)]', children: _jsx(TagsWidget, { defaultTags: state.needs, onUpdate: (v) => setState((prevState) => ({\n ...prevState,\n needs: v,\n })), placeholder: 'enter your needs', containerStyle: 'tw:bg-transparent tw:w-full tw:h-full tw:mt-3 tw:text-xs tw:h-[calc(100%-1rem)] tw:min-h-[5em] tw:pb-2 tw:overflow-auto' }) })] }) })] })), item.layer?.itemType.relations && (_jsxs(_Fragment, { children: [_jsx(\"input\", { type: 'radio', name: 'my_tabs_2', role: 'tab', className: 'tw:tab ', \"aria-label\": 'Links', checked: activeTab === 7 && true, onChange: () => updateActiveTab(7) }), _jsx(\"div\", { role: 'tabpanel', className: 'tw:tab-content tw:rounded-box tw:!h-[calc(100%-48px)] tw:overflow-y-auto tw:pt-4 tw:overflow-x-hidden fade', children: _jsx(\"div\", { className: 'tw:h-full', children: _jsxs(\"div\", { className: 'tw:grid tw:grid-cols-1 tw:sm:grid-cols-2 tw:md:grid-cols-1 tw:lg:grid-cols-1 tw:xl:grid-cols-1 tw:2xl:grid-cols-2 tw:mb-4', children: [state.relations &&\n state.relations.map((i) => (_jsxs(\"div\", { className: 'tw:cursor-pointer tw:card tw:bg-base-200 tw:border-[1px] tw:border-base-300 tw:card-body tw:shadow-xl tw:text-base-content tw:mx-4 tw:p-6 tw:mb-4', onClick: () => navigate('/item/' + i.id), children: [_jsx(LinkedItemsHeaderView, { unlinkPermission: updatePermission, item: i, unlinkCallback: (id) => unlinkItem(id, item, updateItem), loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: _jsx(TextView, { truncate: true, itemId: item.id }) })] }, i.id))), updatePermission && (_jsx(ActionButton, { customStyle: 'tw:bottom-24!', collection: 'items', item: item, existingRelations: state.relations, triggerItemSelected: (id) => linkItem(id, item, updateItem) }))] }) }) })] }))] }) }));\n};\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { useEffect, useState } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems, useUpdateItem, useAddItem } from '#components/Map/hooks/useItems';\nimport { useLayers } from '#components/Map/hooks/useLayers';\nimport { useHasUserPermission } from '#components/Map/hooks/usePermissions';\nimport { useAddTag, useGetItemTags, useTags } from '#components/Map/hooks/useTags';\nimport { MapOverlayPage } from '#components/Templates';\nimport { linkItem, onUpdateItem, unlinkItem } from './itemFunctions';\nimport { FormHeader } from './Subcomponents/FormHeader';\nimport { FlexForm } from './Templates/FlexForm';\nimport { OnepagerForm } from './Templates/OnepagerForm';\nimport { SimpleForm } from './Templates/SimpleForm';\nimport { TabsForm } from './Templates/TabsForm';\n/**\n * @category Profile\n */\nexport function ProfileForm() {\n const [state, setState] = useState({\n color: '',\n id: '',\n group_type: 'wuerdekompass',\n status: 'active',\n name: '',\n subname: '',\n text: '',\n contact: '',\n telephone: '',\n next_appointment: '',\n image: '',\n marker_icon: {},\n offers: [],\n needs: [],\n relations: [],\n start: '',\n end: '',\n openCollectiveSlug: '',\n });\n const [updatePermission, setUpdatePermission] = useState(false);\n const [loading, setLoading] = useState(false);\n const [item, setItem] = useState({});\n const { user } = useAuth();\n const updateItem = useUpdateItem();\n const addItem = useAddItem();\n const layers = useLayers();\n const location = useLocation();\n const tags = useTags();\n const addTag = useAddTag();\n const navigate = useNavigate();\n const hasUserPermission = useHasUserPermission();\n const getItemTags = useGetItemTags();\n const items = useItems();\n const [urlParams, setUrlParams] = useState(new URLSearchParams(location.search));\n useEffect(() => {\n item && hasUserPermission('items', 'update', item) && setUpdatePermission(true);\n }, [hasUserPermission, item]);\n useEffect(() => {\n const itemId = location.pathname.split('/')[2];\n const item = items.find((i) => i.id === itemId);\n item && setItem(item);\n if (!item) {\n if (items.some((i) => i.user_created?.id === user?.id && i.layer?.userProfileLayer)) {\n navigate('/');\n toast.error('Item does not exist');\n }\n else {\n const layer = layers.find((l) => l.userProfileLayer);\n setItem({\n id: crypto.randomUUID(),\n name: user?.first_name ?? '',\n text: '',\n layer,\n new: true,\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n useEffect(() => {\n const newColor = item.color ??\n (getItemTags(item) && getItemTags(item)[0]?.color\n ? getItemTags(item)[0].color\n : item.layer?.markerDefaultColor);\n const offers = (item.offers ?? []).reduce((acc, o) => {\n const offer = tags.find((t) => t.id === o.tags_id);\n if (offer)\n acc.push(offer);\n return acc;\n }, []);\n const needs = (item.needs ?? []).reduce((acc, o) => {\n const need = tags.find((t) => t.id === o.tags_id);\n if (need)\n acc.push(need);\n return acc;\n }, []);\n const relations = (item.relations ?? []).reduce((acc, r) => {\n const relatedItem = items.find((i) => i.id === r.related_items_id);\n if (relatedItem)\n acc.push(relatedItem);\n return acc;\n }, []);\n setState({\n color: newColor ?? '',\n id: item?.id ?? '',\n group_type: item?.group_type ?? '',\n status: item?.status ?? '',\n name: item?.name ?? '',\n subname: item?.subname ?? '',\n text: item?.text ?? '',\n contact: item?.contact ?? '',\n telephone: item?.telephone ?? '',\n next_appointment: item?.next_appointment ?? '',\n image: item?.image ?? '',\n // Do we actually mean marker_icon here?\n marker_icon: item?.markerIcon,\n offers,\n needs,\n relations,\n start: item.start ?? '',\n end: item.end ?? '',\n openCollectiveSlug: item.openCollectiveSlug ?? '',\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [item, tags, items]);\n const [template, setTemplate] = useState('');\n useEffect(() => {\n if (item.layer?.itemType.template)\n setTemplate(item.layer?.itemType.template);\n else {\n const userLayer = layers.find((l) => l.userProfileLayer === true);\n if (userLayer)\n setTemplate(userLayer.itemType.template);\n }\n }, [item, layers]);\n return (_jsx(_Fragment, { children: _jsx(MapOverlayPage, { backdrop: true, className: 'tw:mx-4 tw:mt-4 tw:mb-4 tw:overflow-x-hidden tw:w-[calc(100%-32px)] tw:md:w-[calc(50%-32px)] tw:max-w-3xl tw:left-auto! tw:top-0 tw:bottom-0', children: _jsx(\"form\", { className: 'tw:h-full', onSubmit: (e) => {\n e.preventDefault();\n void onUpdateItem(state, item, tags, addTag, setLoading, navigate, updateItem, addItem, user, urlParams);\n }, children: _jsxs(\"div\", { className: 'tw:flex tw:flex-col tw:h-full', children: [_jsx(FormHeader, { item: item, state: state, setState: setState }), template === 'onepager' && (_jsx(OnepagerForm, { item: item, state: state, setState: setState })), template === 'simple' && _jsx(SimpleForm, { state: state, setState: setState }), template === 'flex' && (_jsx(FlexForm, { item: item, state: state, setState: setState })), template === 'tabs' && (_jsx(TabsForm, { loading: loading, item: item, state: state, setState: setState, updatePermission: updatePermission, linkItem: (id) => linkItem(id, item, updateItem), unlinkItem: (id) => unlinkItem(id, item, updateItem), setUrlParams: setUrlParams })), _jsx(\"div\", { className: 'tw:mt-4 tw:flex-none', children: _jsx(\"button\", { className: `${loading ? ' tw:loading tw:btn tw:float-right' : 'tw:btn tw:float-right'}`, type: 'submit', style: {\n // We could refactor this, it is used several times at different locations\n backgroundColor: `${item.color ?? (getItemTags(item) && getItemTags(item)[0] && getItemTags(item)[0].color ? getItemTags(item)[0].color : item?.layer?.markerDefaultColor)}`,\n color: '#fff',\n }, children: \"Update\" }) })] }) }) }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\n/**\n * @category Gaming\n */\nexport function Modal({ children, showOnStartup, }) {\n useEffect(() => {\n if (showOnStartup) {\n window.my_modal_3.showModal();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (_jsx(_Fragment, { children: _jsxs(\"dialog\", { id: 'my_modal_3', className: 'tw:modal tw:transition-all tw:duration-300', children: [_jsxs(\"form\", { method: 'dialog', className: 'tw:modal-box tw:transition-none', children: [_jsx(\"button\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2 tw:focus:outline-hidden', children: \"\\u2715\" }), children] }), _jsx(\"form\", { method: 'dialog', className: 'tw:modal-backdrop', children: _jsx(\"button\", { children: \"close\" }) })] }) }));\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport QuestionMarkCircleIcon from '@heroicons/react/24/outline/QuestionMarkCircleIcon';\nimport { useEffect, useState } from 'react';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { useItems } from '#components/Map/hooks/useItems';\nimport { useQuestsOpen, useSetQuestOpen } from './hooks/useQuests';\n/**\n * @category Gaming\n */\nexport function Quests() {\n const questsOpen = useQuestsOpen();\n const setQuestsOpen = useSetQuestOpen();\n const { isAuthenticated, user } = useAuth();\n useEffect(() => {\n setQuestsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const [profile, setProfie] = useState();\n const items = useItems();\n useEffect(() => {\n setProfie(items.find((i) => i.user_created?.id === user?.id &&\n i.layer?.userProfileLayer &&\n i.user_created?.id != null));\n }, [items, user]);\n return (_jsx(_Fragment, { children: questsOpen ? (_jsx(\"div\", { className: 'tw:card tw:w-48 tw:bg-base-100 tw:shadow-xl tw:absolute tw:bottom-4 tw:left-4 tw:z-2000', children: _jsxs(\"div\", { className: 'tw:card-body tw:p-4 tw:pt-0', children: [_jsx(\"div\", { className: 'tw:card-actions tw:justify-end', children: _jsx(\"label\", { className: 'tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-1 tw:top-1', onClick: () => setQuestsOpen(false), children: \"\\u2715\" }) }), _jsxs(\"h2\", { className: 'tw:card-title tw:m-auto ', children: [\"Level 1\", _jsx(QuestionMarkCircleIcon, {})] }), _jsxs(\"ul\", { className: 'tw:flex-row', children: [_jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: isAuthenticated || false }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Sign Up\" })] }) }), _jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: !!profile?.text }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Fill Profile\" })] }) }), _jsx(\"li\", { children: _jsxs(\"label\", { className: 'tw:label tw:justify-normal tw:pt-1 tw:pb-0', children: [_jsx(\"input\", { type: 'checkbox', readOnly: true, className: 'tw:checkbox tw:checkbox-xs tw:checkbox-success', checked: !!profile?.image }), _jsx(\"span\", { className: 'tw:text-sm tw:label-text tw:mx-2', children: \"Upload Avatar\" })] }) })] }), ' '] }) })) : ('') }));\n}\n","import { createContext } from 'react';\nconst ItemContext = createContext(undefined);\nexport default ItemContext;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useContext } from 'react';\nimport ItemContext from './TemplateItemContext';\nexport function templateify(Component) {\n const TemplateComponent = (props) => {\n const item = useContext(ItemContext);\n return _jsx(Component, { ...props, item: item });\n };\n return TemplateComponent;\n}\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-misused-promises */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { Popup as LeafletPopup, useMap } from 'react-leaflet';\nimport { toast } from 'react-toastify';\nimport { useAuth } from '#components/Auth/useAuth';\nimport { TextAreaInput } from '#components/Input/TextAreaInput';\nimport { TextInput } from '#components/Input/TextInput';\nimport TemplateItemContext from '#components/Item/TemplateItemContext';\nimport { useResetFilterTags } from '#components/Map/hooks/useFilter';\nimport { useAddItem, useItems, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { usePopupForm } from '#components/Map/hooks/usePopupForm';\nimport { useAddTag, useTags } from '#components/Map/hooks/useTags';\nimport LayerContext from '#components/Map/LayerContext';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport { randomColor } from '#utils/RandomColor';\nexport function ItemFormPopup(props) {\n const layerContext = useContext(LayerContext);\n const { menuText, name: activeLayerName } = layerContext;\n const { popupForm, setPopupForm } = usePopupForm();\n const [spinner, setSpinner] = useState(false);\n const formRef = useRef(null);\n const map = useMap();\n const addItem = useAddItem();\n const updateItem = useUpdateItem();\n const items = useItems();\n const tags = useTags();\n const addTag = useAddTag();\n const resetFilterTags = useResetFilterTags();\n const { user } = useAuth();\n const handleSubmit = async (evt) => {\n if (!popupForm) {\n throw new Error('Popup form is not defined');\n }\n const formItem = {};\n Array.from(evt.target).forEach((input) => {\n if (input.name) {\n formItem[input.name] = input.value;\n }\n });\n formItem.position = {\n type: 'Point',\n coordinates: [popupForm.position.lng, popupForm.position.lat],\n };\n evt.preventDefault();\n const name = formItem.name ? formItem.name : user?.first_name;\n if (!name) {\n toast.error('Name is must be defined');\n return;\n }\n setSpinner(true);\n formItem.text &&\n formItem.text\n .toLocaleLowerCase()\n .match(hashTagRegex)\n ?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n addTag({ id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() });\n }\n return null;\n });\n if (popupForm.item) {\n let success = false;\n try {\n await popupForm.layer.api?.updateItem({ ...formItem, id: popupForm.item.id });\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n updateItem({ ...popupForm.item, ...formItem });\n toast.success('Item updated');\n }\n setSpinner(false);\n map.closePopup();\n }\n else {\n const item = items.find((i) => i.user_created?.id === user?.id && i.layer?.id === popupForm.layer.id);\n const uuid = crypto.randomUUID();\n let success = false;\n try {\n popupForm.layer.userProfileLayer &&\n item &&\n (await popupForm.layer.api?.updateItem({ ...formItem, id: item.id }));\n (!popupForm.layer.userProfileLayer || !item) &&\n (await popupForm.layer.api?.createItem({\n ...formItem,\n name,\n id: uuid,\n }));\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n toast.error(error.toString());\n }\n if (success) {\n if (popupForm.layer.userProfileLayer && item)\n updateItem({ ...item, ...formItem });\n if (!popupForm.layer.userProfileLayer || !item) {\n addItem({\n ...formItem,\n name: (formItem.name ? formItem.name : user?.first_name) ?? '',\n user_created: user ?? undefined,\n id: uuid,\n layer: popupForm.layer,\n public_edit: !user,\n });\n }\n toast.success('New item created');\n resetFilterTags();\n }\n setSpinner(false);\n map.closePopup();\n }\n setPopupForm(null);\n };\n const resetPopup = () => {\n if (formRef.current) {\n formRef.current.reset();\n }\n };\n useEffect(() => {\n resetPopup();\n }, [popupForm?.position]);\n return (popupForm &&\n popupForm.layer.name === activeLayerName && (_jsx(LeafletPopup, { minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80], eventHandlers: {\n remove: () => {\n setTimeout(function () {\n resetPopup();\n }, 100);\n },\n }, position: popupForm.position, children: _jsxs(\"form\", { ref: formRef, onReset: resetPopup, autoComplete: 'off', onSubmit: (e) => handleSubmit(e), children: [popupForm.item ? (_jsx(\"div\", { className: 'tw:h-3' })) : (_jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"b\", { className: 'tw:text-xl tw:text-center tw:font-bold', children: menuText }) })), props.children ? (_jsx(TemplateItemContext.Provider, { value: popupForm.item, children: props.children })) : (_jsxs(_Fragment, { children: [_jsx(TextInput, { type: 'text', placeholder: 'Name', dataField: 'name', defaultValue: popupForm.item ? popupForm.item.name : '', inputStyle: '' }), _jsx(TextAreaInput, { placeholder: 'Text', dataField: 'text', defaultValue: popupForm.item?.text ?? '', inputStyle: 'tw:h-40 tw:mt-5' }, popupForm.position.toString())] })), _jsx(\"div\", { className: 'tw:flex tw:justify-center', children: _jsx(\"button\", { className: spinner\n ? 'tw:btn tw:btn-disabled tw:mt-5 tw:place-self-center'\n : 'tw:btn tw:mt-5 tw:place-self-center', type: 'submit', children: spinner ? _jsx(\"span\", { className: 'tw:loading tw:loading-spinner' }) : 'Save' }) })] }) })));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { ItemFormPopup } from '#components/Map/Subcomponents/ItemFormPopup';\n/**\n * @category Item\n */\nexport const PopupForm = ({ children }) => {\n return _jsx(ItemFormPopup, { children: children });\n};\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */\n/* eslint-disable @typescript-eslint/prefer-optional-chain */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { LatLng } from 'leaflet';\nimport { forwardRef, useState } from 'react';\nimport { Popup as LeafletPopup, useMap } from 'react-leaflet';\nimport { useNavigate } from 'react-router-dom';\nimport { toast } from 'react-toastify';\nimport { useRemoveItem, useUpdateItem } from '#components/Map/hooks/useItems';\nimport { usePopupForm } from '#components/Map/hooks/usePopupForm';\nimport { useSetSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { timeAgo } from '#utils/TimeAgo';\nimport { HeaderView } from './ItemPopupComponents/HeaderView';\nimport { TextView } from './ItemPopupComponents/TextView';\n// eslint-disable-next-line react/display-name\nexport const ItemViewPopup = forwardRef((props, ref) => {\n const map = useMap();\n const [loading, setLoading] = useState(false);\n const removeItem = useRemoveItem();\n const updadateItem = useUpdateItem();\n const navigate = useNavigate();\n const setSelectPosition = useSetSelectPosition();\n const { setPopupForm } = usePopupForm();\n const [infoExpanded, setInfoExpanded] = useState(false);\n const handleEdit = (event) => {\n event.stopPropagation();\n map.closePopup();\n if (!props.item.layer) {\n throw new Error('Layer is not defined');\n }\n setPopupForm({\n position: new LatLng(props.item.position?.coordinates[1], props.item.position?.coordinates[0]),\n layer: props.item.layer,\n item: props.item,\n });\n };\n const handleDelete = async (event) => {\n event.stopPropagation();\n setLoading(true);\n let success = false;\n try {\n !props.item.layer?.userProfileLayer &&\n (await props.item.layer?.api?.deleteItem(props.item.id));\n props.item.layer?.userProfileLayer &&\n (await props.item.layer.api?.updateItem({ id: props.item.id, position: null }));\n success = true;\n // eslint-disable-next-line no-catch-all/no-catch-all\n }\n catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n toast.error(error.toString());\n }\n if (success) {\n !props.item.layer?.userProfileLayer && removeItem(props.item);\n props.item.layer?.userProfileLayer && updadateItem({ ...props.item, position: undefined });\n toast.success('Item deleted');\n }\n setLoading(false);\n map.closePopup();\n const params = new URLSearchParams(window.location.search);\n window.history.pushState({}, '', '/' + `${params ? `?${params}` : ''}`);\n navigate('/');\n };\n return (_jsx(LeafletPopup, { ref: ref, maxHeight: 377, minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80], children: _jsxs(\"div\", { className: 'tw:bg-base-100 tw:text-base-content', children: [_jsx(HeaderView, { api: props.item.layer?.api, item: props.item, editCallback: handleEdit, deleteCallback: handleDelete, setPositionCallback: () => {\n map.closePopup();\n setSelectPosition(props.item);\n navigate('/');\n }, loading: loading }), _jsx(\"div\", { className: 'tw:overflow-y-auto tw:overflow-x-hidden tw:max-h-64 fade', children: props.children ?? _jsx(TextView, { text: props.item.text, itemId: props.item.id }) }), _jsxs(\"div\", { className: 'tw:flex tw:-mb-1 tw:flex-row tw:mr-2 tw:mt-1', children: [infoExpanded ? (_jsx(\"p\", { className: 'tw:italic tw:min-h-[21px] tw:my-0! tw:opacity-50', children: `${props.item.date_updated && props.item.date_updated !== props.item.date_created ? 'updated' : 'posted'} ${props.item && props.item.user_created && props.item.user_created.first_name ? `by ${props.item.user_created.first_name}` : ''} ${props.item.date_updated ? timeAgo(props.item.date_updated) : timeAgo(props.item.date_created)}` })) : (_jsx(\"p\", { className: 'tw:my-0! tw:min-h-[21px] tw:font-bold tw:cursor-pointer tw:text-gray-500', onClick: () => setInfoExpanded(true), children: \"\\u24D8\" })), _jsx(\"div\", { className: 'tw:grow' })] })] }) }));\n});\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useMemo, useState } from 'react';\nimport { Marker, Tooltip } from 'react-leaflet';\nimport { useAppState } from '#components/AppShell/hooks/useAppState';\nimport { useFilterTags, useIsLayerVisible, useIsGroupTypeVisible, useVisibleGroupType, } from '#components/Map/hooks/useFilter';\nimport { useItems, useAllItemsLoaded } from '#components/Map/hooks/useItems';\nimport { useAddMarker, useAddPopup, useLeafletRefs } from '#components/Map/hooks/useLeafletRefs';\nimport { useSetMarkerClicked, useSelectPosition } from '#components/Map/hooks/useSelectPosition';\nimport { useGetItemTags, useAllTagsLoaded, useTags } from '#components/Map/hooks/useTags';\nimport LayerContext from '#components/Map/LayerContext';\nimport { ItemViewPopup } from '#components/Map/Subcomponents/ItemViewPopup';\nimport { encodeTag } from '#utils/FormatTags';\nimport { hashTagRegex } from '#utils/HashTagRegex';\nimport MarkerIconFactory from '#utils/MarkerIconFactory';\nimport { randomColor } from '#utils/RandomColor';\nimport TemplateItemContext from './TemplateItemContext';\n/**\n * @category Item\n */\nexport const PopupView = ({ children }) => {\n const layerContext = useContext(LayerContext);\n const { name, markerDefaultColor, markerDefaultColor2, markerShape, markerIcon } = layerContext;\n const filterTags = useFilterTags();\n const appState = useAppState();\n const items = useItems();\n const getItemTags = useGetItemTags();\n const addMarker = useAddMarker();\n const addPopup = useAddPopup();\n const leafletRefs = useLeafletRefs();\n const allTagsLoaded = useAllTagsLoaded();\n const allItemsLoaded = useAllItemsLoaded();\n const setMarkerClicked = useSetMarkerClicked();\n const selectPosition = useSelectPosition();\n const tags = useTags();\n const [newTagsToAdd, setNewTagsToAdd] = useState([]);\n const [tagsReady, setTagsReady] = useState(false);\n const isLayerVisible = useIsLayerVisible();\n const isGroupTypeVisible = useIsGroupTypeVisible();\n const visibleGroupTypes = useVisibleGroupType();\n const visibleItems = useMemo(() => items\n .filter((item) => item.layer?.name === name)\n .filter((item) => filterTags.length === 0\n ? item\n : filterTags.some((tag) => getItemTags(item).some((filterTag) => filterTag.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase())))\n .filter((item) => item.layer && isLayerVisible(item.layer))\n .filter((item) => (item.group_type && isGroupTypeVisible(item.group_type)) ||\n visibleGroupTypes.length === 0), [\n filterTags,\n getItemTags,\n isGroupTypeVisible,\n isLayerVisible,\n items,\n name,\n visibleGroupTypes.length,\n ]);\n return visibleItems.map((item) => {\n if (!(item.position?.coordinates[0] && item.position.coordinates[1]))\n return null;\n if (item.tags) {\n item.text += '\\n\\n';\n item.tags.map((tag) => {\n if (!item.text?.includes(`#${encodeTag(tag)}`)) {\n item.text += `#${encodeTag(tag)}`;\n }\n return item.text;\n });\n }\n if (allTagsLoaded && allItemsLoaded) {\n item.text?.match(hashTagRegex)?.map((tag) => {\n if (!tags.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase()) &&\n !newTagsToAdd.find((t) => t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase())) {\n const newTag = {\n id: crypto.randomUUID(),\n name: tag.slice(1),\n color: randomColor(),\n };\n setNewTagsToAdd((current) => [...current, newTag]);\n }\n return null;\n });\n !tagsReady && setTagsReady(true);\n }\n const itemTags = getItemTags(item);\n const latitude = item.position.coordinates[1];\n const longitude = item.position.coordinates[0];\n let color1 = markerDefaultColor;\n let color2 = markerDefaultColor2;\n if (item.color) {\n color1 = item.color;\n }\n else if (itemTags[0]) {\n color1 = itemTags[0].color;\n }\n if (itemTags[0] && item.color) {\n color2 = itemTags[0].color;\n }\n else if (itemTags[1]) {\n color2 = itemTags[1].color;\n }\n return (_jsx(TemplateItemContext.Provider, { value: item, children: _jsxs(Marker, { ref: (r) => {\n if (!(item.id in leafletRefs && leafletRefs[item.id].marker === r)) {\n r && addMarker(item, r);\n }\n }, eventHandlers: {\n click: () => {\n selectPosition && setMarkerClicked(item);\n },\n }, icon: MarkerIconFactory(markerShape, color1, color2, item.markerIcon ?? markerIcon, appState.assetsApi.url), position: [latitude, longitude], children: [_jsx(ItemViewPopup, { ref: (r) => {\n if (!(item.id in leafletRefs && leafletRefs[item.id].popup === r)) {\n r && addPopup(item, r);\n }\n }, item: item, children: children }), _jsx(Tooltip, { offset: [0, -38], direction: 'top', children: item.name })] }) }, item.id));\n });\n};\n","import { TextView as PlainTextView, StartEndView as PlainStartEndView, PopupTextInput as PlainPopupTextInput, PopupButton as PlainPopupButton, PopupCheckboxInput as PlainPopupCheckboxInput, PopupTextAreaInput as PlainPopupTextAreaInput, PopupStartEndInput as PlainPopupStartEndInput, } from '#components/Map/Subcomponents/ItemPopupComponents';\nimport { templateify } from './templateify';\nexport { PopupForm } from './PopupForm';\nexport { PopupView } from './PopupView';\nexport const TextView = templateify(PlainTextView);\nexport const StartEndView = templateify(PlainStartEndView);\nexport const PopupTextInput = templateify(PlainPopupTextInput);\nexport const PopupButton = templateify(PlainPopupButton);\nexport const PopupCheckboxInput = templateify(PlainPopupCheckboxInput);\nexport const PopupTextAreaInput = templateify(PlainPopupTextAreaInput);\nexport const PopupStartEndInput = templateify(PlainPopupStartEndInput);\n"],"names":["createContext","useState","useCallback","_jsx","useContext","LayerContext","useReducer","useEffect","useNavigate","ItemContext","toast","useInRouterContext","Router","QueryClient","QueryClientProvider","_jsxs","ToastContainer","_Fragment","createRef","DomEvent","React","ForwardRef","FunnelIcon","HeartIcon","useRef","divIcon","Point","useMap","control","useMapEvents","Bars3Icon","marker","LatLng","LatLngBounds","MagnifyingGlassIcon","FlagIcon","TextView","memo","useLocation","Outlet","TileLayer","GeoJSON","MapContainer","Link","EllipsisVerticalIcon","NavLink","PopupTextAreaInput","PopupStartEndInput","PopupTextInput","PopupCheckboxInput","StartEndView","CalendarIcon","PopupButton","PlusIcon","PencilIcon","TrashIcon","EnvelopeIcon","PhoneIcon","RowsPhotoAlbum","cloneElement","componentMap","LinkIcon","LinkSlashIcon","centerCrop","makeAspectCrop","ArrowUpTrayIcon","ReactCrop","HexColorPicker","QuestionMarkCircleIcon","LeafletPopup","TemplateItemContext","forwardRef","useMemo","Marker","Tooltip","PlainTextView","PlainStartEndView","PlainPopupTextInput","PlainPopupButton","PlainPopupCheckboxInput","PlainPopupTextAreaInput","PlainPopupStartEndInput"],"mappings":"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","x_google_ignoreList":[0,20,22,25,26,31,33,47,70,73,76,77,90,91,99,104,106,110]}