@blateral/b.kit 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/{FilterBar-2266ee4d.js → FilterBar-0781490f.js} +2 -2
- package/cjs/{FilterBar-2266ee4d.js.map → FilterBar-0781490f.js.map} +1 -1
- package/cjs/MultiselectDropdown-a16ea1c9.js +2 -0
- package/cjs/MultiselectDropdown-a16ea1c9.js.map +1 -0
- package/cjs/blocks.js +1 -1
- package/cjs/fields.js +1 -1
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections.pois.js +1 -1
- package/cjs/sections.pois.js.map +1 -1
- package/esm/{FilterBar-f9e957c1.js → FilterBar-2a2a09b7.js} +2 -2
- package/esm/{FilterBar-f9e957c1.js.map → FilterBar-2a2a09b7.js.map} +1 -1
- package/esm/{MultiselectDropdown-10ab18cf.js → MultiselectDropdown-a97be6bc.js} +3 -3
- package/esm/MultiselectDropdown-a97be6bc.js.map +1 -0
- package/esm/blocks.js +2 -2
- package/esm/fields.js +1 -1
- package/esm/sections.js +5 -2
- package/esm/sections.js.map +1 -1
- package/esm/sections.pois.js +66 -28
- package/esm/sections.pois.js.map +1 -1
- package/package.json +1 -1
- package/types/components/sections/Accordion.d.ts.map +1 -1
- package/types/components/sections/pois/PointOfInterestMap.d.ts.map +1 -1
- package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
- package/types/components/sections/pois/filters.d.ts +1 -1
- package/types/components/sections/pois/filters.d.ts.map +1 -1
- package/cjs/MultiselectDropdown-ce2084d6.js +0 -2
- package/cjs/MultiselectDropdown-ce2084d6.js.map +0 -1
- package/esm/MultiselectDropdown-10ab18cf.js.map +0 -1
package/esm/sections.pois.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.pois.js","sources":["../src/components/sections/pois/PointOfInterestDetail.tsx","../src/components/sections/pois/filters.ts","../src/components/sections/pois/partials/PoiFilterBar.tsx","../src/components/sections/pois/PointOfInterestOverview.tsx","../src/components/sections/pois/PointOfInterestMap.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport InfoList, { InfoGroup } from 'components/blocks/InfoList';\nimport POIFacts from 'components/blocks/POIFacts';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst Facts = styled(POIFacts)`\n max-width: 880px;\n`;\n\nconst PoiTitle = styled(Heading)`\n max-width: 880px;\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PoiText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PointOfInterestDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** POI image */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** POI title */\n title?: string;\n\n /** POI intro text */\n intro?: string;\n\n /** POI text (richtext) */\n text?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Additional POI infos */\n infos?: InfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom feature node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n image,\n title,\n intro,\n text,\n facts,\n infos,\n bgMode,\n customFact,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {title && (\n <PoiTitle size=\"heading-2\" isInverted={isInverted}>\n {title}\n </PoiTitle>\n )}\n {isValidArray(facts, false) && (\n <Facts\n isInverted={isInverted}\n facts={facts}\n customFact={customFact}\n />\n )}\n {intro && (\n <PoiText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <PoiText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestDetailComponent = PointOfInterestDetail;\nexport default withLibTheme(PointOfInterestDetail);\n","import { POICardProps } from 'components/blocks/POICard';\nimport { isValidArray } from 'hooks';\nimport { escapeRegExp } from 'utils/escape';\n\nexport type POIData = Pick<\n POICardProps,\n 'name' | 'facts' | 'infos' | 'shortDescription'\n> & { id: string };\n\nexport interface FilterMatch {\n item: POIData;\n priority: number;\n}\n\nconst poiExactNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.name);\n };\n\nconst poiSoftNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedName = value.name.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedName);\n };\n\nconst poiFactFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value.facts, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.facts.find((fact) => {\n const preparedFact = fact.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedFact);\n });\n\n return !!result;\n };\n\nconst poiInfoFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value?.infos, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.infos.find((info) => {\n if (!info.text) return false;\n const preparedText = info.text.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n };\n\nconst poiDescriptionFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!value.shortDescription) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedDesc = value.shortDescription\n .toLowerCase()\n .replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedDesc);\n };\n\nconst removeMatchIntersections = <T extends POIData>(\n array: FilterMatch[],\n item?: T[]\n) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\nconst filterPois = <T extends POIData>(filterQuery: string, pois: T[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n pois?.filter((poi) => poi.id !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = pois?.filter(poiExactNameFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiSoftNameFilter(filterQuery))\n );\n\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Facts\n const factMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiFactFilter(filterQuery))\n );\n\n if (isValidArray(factMatches, false)) {\n prioList.push(\n ...factMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Description\n const infoMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiInfoFilter(filterQuery))\n );\n\n if (isValidArray(infoMatches, false)) {\n prioList.push(\n ...infoMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n // PRIO 5 Filter: Description\n const descMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiDescriptionFilter(filterQuery))\n );\n\n if (isValidArray(descMatches, false)) {\n prioList.push(\n ...descMatches.map((match) => ({\n item: match,\n priority: 5,\n }))\n );\n }\n\n return prioList;\n};\n\nexport const getFilterMatches = <T extends POIData>(\n filterQuery: string,\n includeIds: string[],\n items: T[]\n) => {\n const searchMatches: Map<string, FilterMatch> = new Map();\n\n if (!filterQuery && !includeIds.length) {\n for (const item of items) {\n searchMatches.set(item.id, {\n item,\n priority: 0,\n });\n }\n }\n\n for (const item of items) {\n if (includeIds.includes(item.id)) {\n searchMatches.set(item.id, {\n item,\n priority: 1,\n });\n }\n }\n\n // tracking matches of each query part\n const matches = filterQuery\n ? filterPois(escapeRegExp(filterQuery), items || [])\n : [];\n\n for (const match of matches) {\n if (searchMatches.has(match.item.id)) continue;\n searchMatches.set(match.item.id, match);\n }\n\n return searchMatches;\n};\n","import Cross from 'components/base/icons/Cross';\nimport CrossBubble from 'components/base/icons/CrossBubble';\nimport Filter from 'components/base/icons/Filter';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport FilterBar, { FilterBarProps } from 'components/blocks/FilterBar';\nimport React, { FC } from 'react';\n\nconst PoiFilterBar: FC<\n FilterBarProps & { isInverted?: boolean; className?: string }\n> = ({\n hasBorders,\n value,\n onChange,\n textFilter,\n categoryFilter,\n mobileSubmitLabel,\n closeIcon,\n toggleLabel,\n filterIcon,\n indicator,\n isInverted,\n className,\n}) => {\n return (\n <FilterBar\n isInverted={isInverted}\n hasBorders={hasBorders}\n value={value}\n onChange={onChange}\n textFilter={\n textFilter\n ? {\n placeholder: textFilter.placeholder || 'Search...',\n icon: textFilter.icon\n ? textFilter.icon\n : () => <Magnifier width={18} height={18} />,\n submitIcon: textFilter.submitIcon\n ? textFilter.submitIcon\n : () => null,\n clearIcon: textFilter.clearIcon\n ? textFilter.clearIcon\n : () => <CrossBubble />,\n }\n : undefined\n }\n categoryFilter={\n categoryFilter\n ? {\n label: categoryFilter.label || 'Categories',\n items: categoryFilter.items || [],\n resetLabel:\n categoryFilter.resetLabel || 'reset selection',\n }\n : undefined\n }\n mobileSubmitLabel={mobileSubmitLabel || 'Apply filters'}\n closeIcon={closeIcon ? closeIcon : () => <Cross />}\n toggleLabel={toggleLabel || 'Search & Filter'}\n filterIcon={filterIcon ? filterIcon : () => <Filter />}\n indicator={indicator}\n className={className}\n />\n );\n};\n\nexport default PoiFilterBar;\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Info } from 'components/blocks/InfoList';\nimport POICard, { POICardProps } from 'components/blocks/POICard';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport { deleteUrlParam, setUrlParam } from 'utils/urlParams';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\nimport * as PoiPartials from 'components/sections/pois/partials';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.large} {\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst PoiOverviewFilterBar = styled(PoiPartials.PoiFilterBar)`\n // margin to show prevent section overflow outline\n margin-top: 2px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.medium} {\n border: none;\n }\n`;\n\ninterface CardProps extends POICardProps {\n id: string;\n infos?: Array<Info & { allowFiltering?: boolean }>;\n}\n\nexport type PointOfInterestOverviewItem = Omit<CardProps, 'isInverted'>;\n\nexport interface PoiOverviewFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of POI card settings */\n pois?: PointOfInterestOverviewItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiOverviewFilters;\n customPoiFilters?: (props: {\n pois: PointOfInterestOverviewItem[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiOverviewFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n pois,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const poiMatches = useMemo(() => {\n const matches =\n getFilterMatches<PointOfInterestOverviewItem>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1]);\n }, [pois, filters]);\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters?.({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiOverviewFilterBar\n hasBorders\n value={filters}\n onChange={setFilters}\n textFilter={poiFilters?.textFilter || undefined}\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: pois?.map(\n (poi) =>\n ({\n value: poi.id,\n label: poi.name,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={poiFilters?.mobileSubmitLabel}\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n />\n )\n ) : null}\n <Content>\n {poiMatches\n ?.sort((a, b) => a.priority - b.priority)\n ?.map((poi, i) => (\n <POICard\n key={i}\n {...poi.item}\n isInverted={isInverted}\n />\n ))}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestOverviewComponent = PointOfInterestOverview;\nexport default withLibTheme(PointOfInterestOverview);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport {\n mq,\n withRange,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport POIFacts from 'components/blocks/POIFacts';\nimport InfoList, { Info } from 'components/blocks/InfoList';\nimport useGeolocation from 'utils/useGeolocation';\nimport CurrentLocation from 'components/base/icons/CurrentLocation';\nimport Cross from 'components/base/icons/Cross';\nimport MyLocation from 'components/base/icons/MyLocation';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\n\nimport * as PoiPartials from 'components/sections/pois/partials';\nimport { deleteUrlParam, setUrlParam } from 'hooks';\n\nconst genHeightStyles = () => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = '100vh';\n\n return css`\n ${Map} {\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst PoiMapSection = styled(Section)<{ isLarge?: boolean }>`\n position: relative;\n ${({ isLarge }) => isLarge && genHeightStyles()}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n`;\n\nconst Map = styled.div<{ isLarge?: boolean }>`\n min-height: 360px;\n height: 360px;\n max-height: 1300px;\n z-index: 0;\n\n @media ${mq.medium} {\n height: 600px;\n min-height: 600px;\n }\n`;\n\nconst RequestGeolocationBtn = styled.button`\n background-color: transparent;\n border: none;\n padding: ${spacings.nudge}px;\n cursor: pointer;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n width: 30px;\n height: 30px;\n }\n`;\n\nconst CardStage = styled.div`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n\n pointer-events: all;\n background-color: rgba(255, 255, 255, 0.8);\n\n @media ${mq.medium} {\n position: absolute;\n background-color: transparent;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n pointer-events: none;\n }\n`;\n\nconst MapCardView = styled.div`\n max-height: 100%;\n width: 100%;\n padding: ${spacings.nudge * 2}px;\n overflow: auto;\n\n background: ${({ theme }) => color(theme).elementBg.light};\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n pointer-events: all;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst MapCardHeader = styled.header`\n display: flex;\n align-items: center;\n`;\n\nconst CloseBtn = styled.button`\n display: inline-block;\n border: none;\n background-color: transparent;\n cursor: pointer;\n margin-left: auto;\n padding: ${spacings.nudge}px;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst Overlay = styled.div`\n position: absolute;\n top: ${spacings.nudge * 2}px;\n left: ${spacings.nudge * 2}px;\n width: 100%;\n\n display: flex;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst MapCard: FC<{\n name?: string;\n facts?: string[];\n description?: string;\n infos?: Info[];\n\n action?: React.ReactNode;\n onClose?: () => void;\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n customClose?: React.ReactNode;\n\n className?: string;\n}> = ({\n name,\n facts,\n description,\n infos,\n action,\n customFact,\n customClose,\n onClose,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <MapCardView className={className}>\n <MapCardHeader>\n {name && (\n <Copy type=\"copy-b\" size=\"big\">\n {name}\n </Copy>\n )}\n <CloseBtn onClick={onClose}>\n {customClose || <Cross iconColor={colors.text.default} />}\n </CloseBtn>\n </MapCardHeader>\n {isValidArray(facts, false) && (\n <POIFacts facts={facts} customFact={customFact} />\n )}\n {description && (\n <Copy type=\"copy\" size=\"small\" innerHTML={description} />\n )}\n {isValidArray(infos, false) && (\n <InfoList\n items={[\n {\n items: infos,\n },\n ]}\n />\n )}\n {action && action}\n </MapCardView>\n );\n};\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapPOI {\n /** Unique ID */\n id: string;\n\n /** Latitude and Longitude of item position */\n position: [number, number];\n\n /** Marker icon settings */\n icon?: LocationIcon;\n\n /** POI name */\n name: string;\n\n /** POI short description text */\n description?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Function to inject custom action node */\n action?: React.ReactNode;\n}\n\nexport interface PoiMapFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestMap: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Size mode */\n size?: 'default' | 'large';\n\n /** Array of POI card settings */\n pois?: MapPOI[];\n\n /** Use geolocation for own position */\n showOwnPosition?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Min map zoom */\n minZoom?: number;\n\n /** Max map zoom */\n maxZoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialPointOfInterest?: string;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Restrict map to bounds of markers area */\n restrictToMarkersArea?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Function to inject custom fact node into MapCard */\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n\n /** Custom current position marker */\n currentPosMarker?: LocationIcon;\n\n /** Custom card close icon */\n customCardClose?: React.ReactNode;\n\n /** Custom icon for my location request button */\n customLocationRequest?: React.ReactNode;\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiMapFilters;\n customPoiFilters?: (props: {\n pois: MapPOI[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiMapFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n size,\n pois,\n initialPointOfInterest = '',\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n fitBoundsPadding,\n allMarkersOnInit = false,\n restrictToMarkersArea = true,\n showOwnPosition,\n flyToZoom,\n customFact,\n currentPosMarker,\n customCardClose,\n customLocationRequest,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const isLarge = size === 'large';\n const { colors, globals } = useLibTheme();\n\n const [activePoiId, setActivePoiId] = useState<string>(\n initialPointOfInterest || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const activePois = useMemo(() => {\n // text matches\n const matches =\n getFilterMatches<MapPOI>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1].item) as MapPOI[];\n }, [pois, filters]);\n\n const activePOI = useMemo(() => {\n return activePois?.find((poi) => poi.id === activePoiId);\n }, [activePoiId, activePois]);\n\n const {\n isSupported: isGeolocationSupported,\n location,\n reset: resetGeolocation,\n // error,\n } = useGeolocation(true, false);\n\n const mapMarkers = useMemo(() => {\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n\n // marker of own position\n const defaultPosMarker: LocationIcon = {\n size: [24, 24],\n anchor: [12, 12],\n sizeActive: [24, 24],\n anchorActive: [12, 12],\n url: getSVGData(<CurrentLocation iconColor=\"#5383EC\" />),\n };\n\n const markers: LeafletMapMarker[] =\n activePois\n ?.filter((poi) => poi.id !== undefined)\n ?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })) || [];\n\n if (\n isGeolocationSupported &&\n location?.coords.latitude &&\n location?.coords.longitude\n ) {\n markers.push({\n id: 'my-current-position-123456789',\n position: [location.coords.latitude, location.coords.longitude],\n icon: currentPosMarker || defaultPosMarker,\n });\n }\n\n return markers;\n }, [\n currentPosMarker,\n isGeolocationSupported,\n location?.coords.latitude,\n location?.coords.longitude,\n activePois,\n ]);\n\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n flyToPosition,\n getCurrentZoom,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activePoiId,\n markers: mapMarkers,\n fitBoundsPadding,\n restrictToMarkersArea,\n showZoomControls: true,\n zoomControlPosition: 'bottomleft',\n onMarkerClick: (markerId) => {\n setActivePoiId((prev) => {\n if (prev === markerId) {\n return '';\n }\n return markerId;\n });\n },\n });\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToActive(zoom);\n }\n }, [\n activePoiId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n getCurrentZoom,\n initialPointOfInterest,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activePoiId !== initialPointOfInterest) {\n setIsDirty(true);\n }\n }, [activePoiId, initialPointOfInterest, isDirty]);\n\n const handleLocationRequest = async () => {\n if (location?.coords?.latitude && location?.coords?.longitude) {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToPosition(\n [location.coords.latitude, location.coords.longitude],\n zoom\n );\n } else {\n try {\n const position = await resetGeolocation();\n if (position) showAllMarkers();\n } catch (err) {\n // console.log(err);\n }\n }\n };\n\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n useEffect(() => {\n setActivePoiId('');\n setIsDirty(false);\n }, [filters]);\n\n return (\n <PoiMapSection\n anchorId={anchorId}\n bgColor=\"image\"\n bgMode=\"full\"\n isLarge={isLarge}\n >\n <Wrapper clampWidth={isLarge ? 'large' : 'normal'}>\n <MapContainer>\n <Map ref={setMapContainer} isLarge={size === 'large'} />\n {(showOwnPosition || poiFilters) && (\n <Overlay>\n {showOwnPosition && (\n <RequestGeolocationBtn\n onClick={handleLocationRequest}\n >\n {customLocationRequest || (\n <MyLocation\n iconColor={colors.text.default}\n />\n )}\n </RequestGeolocationBtn>\n )}\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiPartials.PoiFilterBar\n value={filters}\n onChange={setFilters}\n textFilter={\n poiFilters?.textFilter || undefined\n }\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: pois?.map(\n (poi) =>\n ({\n value: poi.id,\n label: poi.name,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={\n poiFilters?.mobileSubmitLabel\n }\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n />\n )\n ) : null}\n </Overlay>\n )}\n {activePOI && activePOI.name && (\n <CardStage\n onClick={(ev) => {\n if (ev.target !== ev.currentTarget) return;\n setActivePoiId('');\n }}\n >\n <MapCard\n {...activePOI}\n onClose={() => setActivePoiId('')}\n customFact={customFact}\n customClose={customCardClose}\n />\n </CardStage>\n )}\n </MapContainer>\n </Wrapper>\n </PoiMapSection>\n );\n};\n\nexport const PointOfInterestMapComponent = PointOfInterestMap;\nexport default withLibTheme(PointOfInterestMap);\n"],"names":["StyledImage","styled","Image","templateObject_1","__makeTemplateObject","spacings","spacer","Facts","POIFacts","templateObject_2","PoiTitle","Heading","templateObject_3","nudge","PoiText","Copy","templateObject_4","PointOfInterestDetail","_a","anchorId","image","title","intro","text","facts","infos","bgMode","customFact","colors","useLibTheme","isInverted","hasBg","hasInfos","useMemo","isValidArray","filter","info","items","React","createElement","Section","addSeperation","bgColor","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","small","coverSpace","allowEdgeRadius","Grid","Row","gutter","semilarge","Col","span","size","type","innerHTML","InfoList","withLibTheme","poiExactNameFilter","filterQuery","value","regex","RegExp","test","name","poiSoftNameFilter","preparedQuery","toLowerCase","replace","preparedName","poiFactFilter","result","find","fact","preparedFact","poiInfoFilter","preparedText","poiDescriptionFilter","shortDescription","preparedDesc","removeMatchIntersections","array","item","m","prioItem","id","filterPois","pois","prioList","poi","undefined","exactNameMatches","push","apply","map","match","priority","nameMatches","factMatches","infoMatches","descMatches","getFilterMatches","includeIds","searchMatches","Map","length","items_1","_i","set","items_2","includes","matches","escapeRegExp","matches_1","_b","has","PoiFilterBar","hasBorders","onChange","textFilter","categoryFilter","mobileSubmitLabel","closeIcon","toggleLabel","filterIcon","indicator","className","FilterBar","placeholder","icon","Magnifier","width","height","submitIcon","clearIcon","CrossBubble","label","resetLabel","Cross","Filter","Content","div","mq","large","PoiOverviewFilterBar","PoiPartials","theme","color","elementBg","PointOfInterestOverview","initialPoiFilters","poiFilters","customPoiFilters","_c","globals","filterName","sections","poiFilterName","factFiltername","poiFactFilterName","_d","useState","filters","setFilters","poiMatches","Array","from","useEffect","setUrlParam","deleteUrlParam","join","settings","sort","a","b","i","POICard","__assign","key","genHeightStyles","css","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","concat","refHeight","split","PoiMapSection","isLarge","withRange","MapContainer","templateObject_5","RequestGeolocationBtn","button","primary","default","CardStage","templateObject_7","MapCardView","global","edgeRadius","MapCardHeader","header","templateObject_9","CloseBtn","Overlay","templateObject_11","MapCard","description","action","customClose","onClose","onClick","iconColor","PointOfInterestMap","initialPointOfInterest","provider","attribution","center","zoom","fitBoundsPadding","_e","allMarkersOnInit","_f","restrictToMarkersArea","showOwnPosition","flyToZoom","currentPosMarker","customCardClose","customLocationRequest","_g","_h","activePoiId","setActivePoiId","_j","isDirty","setIsDirty","_k","activePois","activePOI","_l","useGeolocation","isGeolocationSupported","isSupported","location","resetGeolocation","mapMarkers","defaultMarker","anchor","sizeActive","anchorActive","url","getSVGData","LocationPin","defaultPosMarker","CurrentLocation","markers","position","isInteractive","coords","latitude","longitude","_m","useLeafletMap","activeMarkerId","showZoomControls","zoomControlPosition","onMarkerClick","markerId","prev","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","flyToPosition","getCurrentZoom","currentZoom","zoom_1","handleLocationRequest","__awaiter","zoom_2","sent","clampWidth","ref","MyLocation","ev","target","currentTarget"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sections.pois.js","sources":["../src/components/sections/pois/PointOfInterestDetail.tsx","../src/components/sections/pois/filters.ts","../src/components/sections/pois/partials/PoiFilterBar.tsx","../src/components/sections/pois/PointOfInterestOverview.tsx","../src/components/sections/pois/PointOfInterestMap.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport InfoList, { InfoGroup } from 'components/blocks/InfoList';\nimport POIFacts from 'components/blocks/POIFacts';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst Facts = styled(POIFacts)`\n max-width: 880px;\n`;\n\nconst PoiTitle = styled(Heading)`\n max-width: 880px;\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PoiText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PointOfInterestDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** POI image */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** POI title */\n title?: string;\n\n /** POI intro text */\n intro?: string;\n\n /** POI text (richtext) */\n text?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Additional POI infos */\n infos?: InfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom feature node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n image,\n title,\n intro,\n text,\n facts,\n infos,\n bgMode,\n customFact,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {title && (\n <PoiTitle size=\"heading-2\" isInverted={isInverted}>\n {title}\n </PoiTitle>\n )}\n {isValidArray(facts, false) && (\n <Facts\n isInverted={isInverted}\n facts={facts}\n customFact={customFact}\n />\n )}\n {intro && (\n <PoiText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <PoiText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestDetailComponent = PointOfInterestDetail;\nexport default withLibTheme(PointOfInterestDetail);\n","import { POICardProps } from 'components/blocks/POICard';\nimport { isValidArray } from 'hooks';\nimport { escapeRegExp } from 'utils/escape';\n\nexport type POIData = Pick<\n POICardProps,\n 'name' | 'facts' | 'infos' | 'shortDescription'\n> & { id: string };\n\nexport interface FilterMatch {\n item: POIData;\n priority: number;\n}\n\nconst poiExactNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.name);\n };\n\nconst poiSoftNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedName = value.name.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedName);\n };\n\nconst poiFactFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value.facts, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.facts.find((fact) => {\n const preparedFact = fact.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedFact);\n });\n\n return !!result;\n };\n\nconst poiInfoFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value?.infos, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.infos.find((info) => {\n if (!info.text) return false;\n const preparedText = info.text.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n };\n\nconst poiDescriptionFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!value.shortDescription) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedDesc = value.shortDescription\n .toLowerCase()\n .replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedDesc);\n };\n\nconst removeMatchIntersections = <T extends POIData>(\n array: FilterMatch[],\n item?: T[]\n) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\nconst filterPois = <T extends POIData>(filterQuery: string, pois: T[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n pois?.filter((poi) => poi.id !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = pois?.filter(poiExactNameFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiSoftNameFilter(filterQuery))\n );\n\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Facts\n const factMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiFactFilter(filterQuery))\n );\n\n if (isValidArray(factMatches, false)) {\n prioList.push(\n ...factMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Description\n const infoMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiInfoFilter(filterQuery))\n );\n\n if (isValidArray(infoMatches, false)) {\n prioList.push(\n ...infoMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n // PRIO 5 Filter: Description\n const descMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiDescriptionFilter(filterQuery))\n );\n\n if (isValidArray(descMatches, false)) {\n prioList.push(\n ...descMatches.map((match) => ({\n item: match,\n priority: 5,\n }))\n );\n }\n\n return prioList;\n};\n\nexport const getFilterMatches = <T extends POIData>(\n filterQuery: string,\n categoryFilters: string[],\n items: T[]\n) => {\n const searchMatches: Map<string, FilterMatch> = new Map();\n\n if (!filterQuery && !categoryFilters.length) {\n for (const item of items) {\n searchMatches.set(item.id, {\n item,\n priority: 0,\n });\n }\n }\n\n for (const item of items) {\n if (item.facts?.some((fact) => categoryFilters.includes(fact))) {\n searchMatches.set(item.id, {\n item,\n priority: 1,\n });\n }\n }\n\n // tracking matches of each query part\n const matches = filterQuery\n ? filterPois(escapeRegExp(filterQuery), items || [])\n : [];\n\n for (const match of matches) {\n if (searchMatches.has(match.item.id)) continue;\n searchMatches.set(match.item.id, match);\n }\n\n return searchMatches;\n};\n","import Cross from 'components/base/icons/Cross';\nimport CrossBubble from 'components/base/icons/CrossBubble';\nimport Filter from 'components/base/icons/Filter';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport FilterBar, { FilterBarProps } from 'components/blocks/FilterBar';\nimport React, { FC } from 'react';\n\nconst PoiFilterBar: FC<\n FilterBarProps & { isInverted?: boolean; className?: string }\n> = ({\n hasBorders,\n value,\n onChange,\n textFilter,\n categoryFilter,\n mobileSubmitLabel,\n closeIcon,\n toggleLabel,\n filterIcon,\n indicator,\n isInverted,\n className,\n}) => {\n return (\n <FilterBar\n isInverted={isInverted}\n hasBorders={hasBorders}\n value={value}\n onChange={onChange}\n textFilter={\n textFilter\n ? {\n placeholder: textFilter.placeholder || 'Search...',\n icon: textFilter.icon\n ? textFilter.icon\n : () => <Magnifier width={18} height={18} />,\n submitIcon: textFilter.submitIcon\n ? textFilter.submitIcon\n : () => null,\n clearIcon: textFilter.clearIcon\n ? textFilter.clearIcon\n : () => <CrossBubble />,\n }\n : undefined\n }\n categoryFilter={\n categoryFilter\n ? {\n label: categoryFilter.label || 'Categories',\n items: categoryFilter.items || [],\n resetLabel:\n categoryFilter.resetLabel || 'reset selection',\n }\n : undefined\n }\n mobileSubmitLabel={mobileSubmitLabel || 'Apply filters'}\n closeIcon={closeIcon ? closeIcon : () => <Cross />}\n toggleLabel={toggleLabel || 'Search & Filter'}\n filterIcon={filterIcon ? filterIcon : () => <Filter />}\n indicator={indicator}\n className={className}\n />\n );\n};\n\nexport default PoiFilterBar;\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Info } from 'components/blocks/InfoList';\nimport POICard, { POICardProps } from 'components/blocks/POICard';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport { deleteUrlParam, setUrlParam } from 'utils/urlParams';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\nimport * as PoiPartials from 'components/sections/pois/partials';\n\nconst POISection = styled(Section)`\n overflow: visible;\n`;\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.large} {\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst PoiOverviewFilterBar = styled(PoiPartials.PoiFilterBar)`\n // margin to show prevent section overflow outline\n margin-top: 2px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.medium} {\n border: none;\n }\n`;\n\ninterface CardProps extends POICardProps {\n id: string;\n infos?: Array<Info & { allowFiltering?: boolean }>;\n}\n\nexport type PointOfInterestOverviewItem = Omit<CardProps, 'isInverted'>;\n\nexport interface PoiOverviewFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of POI card settings */\n pois?: PointOfInterestOverviewItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiOverviewFilters;\n customPoiFilters?: (props: {\n pois: PointOfInterestOverviewItem[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiOverviewFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n pois,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const poiMatches = useMemo(() => {\n const matches =\n getFilterMatches<PointOfInterestOverviewItem>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1]);\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n return (\n <POISection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters?.({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiOverviewFilterBar\n hasBorders\n value={filters}\n onChange={setFilters}\n textFilter={poiFilters?.textFilter || undefined}\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={poiFilters?.mobileSubmitLabel}\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n isInverted={isInverted}\n />\n )\n ) : null}\n <Content>\n {poiMatches\n ?.sort((a, b) => a.priority - b.priority)\n ?.map((poi, i) => (\n <POICard\n key={i}\n {...poi.item}\n isInverted={isInverted}\n />\n ))}\n </Content>\n </Wrapper>\n </POISection>\n );\n};\n\nexport const PointOfInterestOverviewComponent = PointOfInterestOverview;\nexport default withLibTheme(PointOfInterestOverview);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport {\n mq,\n withRange,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport POIFacts from 'components/blocks/POIFacts';\nimport InfoList, { Info } from 'components/blocks/InfoList';\nimport useGeolocation from 'utils/useGeolocation';\nimport CurrentLocation from 'components/base/icons/CurrentLocation';\nimport Cross from 'components/base/icons/Cross';\nimport MyLocation from 'components/base/icons/MyLocation';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\n\nimport * as PoiPartials from 'components/sections/pois/partials';\nimport { deleteUrlParam, setUrlParam } from 'hooks';\n\nconst genHeightStyles = () => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = '100vh';\n\n return css`\n ${Map} {\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst PoiMapSection = styled(Section)<{ isLarge?: boolean }>`\n position: relative;\n ${({ isLarge }) => isLarge && genHeightStyles()}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n`;\n\nconst Map = styled.div<{ isLarge?: boolean }>`\n min-height: 360px;\n height: 360px;\n max-height: 1300px;\n z-index: 0;\n\n @media ${mq.medium} {\n height: 600px;\n min-height: 600px;\n }\n`;\n\nconst RequestGeolocationBtn = styled.button`\n background-color: transparent;\n border: none;\n padding: ${spacings.nudge}px;\n cursor: pointer;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n width: 30px;\n height: 30px;\n }\n`;\n\nconst CardStage = styled.div`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n\n pointer-events: all;\n background-color: rgba(255, 255, 255, 0.8);\n\n @media ${mq.medium} {\n position: absolute;\n background-color: transparent;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n pointer-events: none;\n }\n`;\n\nconst MapCardView = styled.div`\n max-height: 100%;\n width: 100%;\n padding: ${spacings.nudge * 2}px;\n overflow: auto;\n\n background: ${({ theme }) => color(theme).elementBg.light};\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n pointer-events: all;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst MapCardHeader = styled.header`\n display: flex;\n align-items: center;\n`;\n\nconst CloseBtn = styled.button`\n display: inline-block;\n border: none;\n background-color: transparent;\n cursor: pointer;\n margin-left: auto;\n padding: ${spacings.nudge}px;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst Overlay = styled.div`\n position: absolute;\n top: ${spacings.nudge * 2}px;\n left: ${spacings.nudge * 2}px;\n width: 100%;\n\n display: flex;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst MapCard: FC<{\n name?: string;\n facts?: string[];\n description?: string;\n infos?: Info[];\n\n action?: React.ReactNode;\n onClose?: () => void;\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n customClose?: React.ReactNode;\n\n className?: string;\n}> = ({\n name,\n facts,\n description,\n infos,\n action,\n customFact,\n customClose,\n onClose,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <MapCardView className={className}>\n <MapCardHeader>\n {name && (\n <Copy type=\"copy-b\" size=\"big\">\n {name}\n </Copy>\n )}\n <CloseBtn onClick={onClose}>\n {customClose || <Cross iconColor={colors.text.default} />}\n </CloseBtn>\n </MapCardHeader>\n {isValidArray(facts, false) && (\n <POIFacts facts={facts} customFact={customFact} />\n )}\n {description && (\n <Copy type=\"copy\" size=\"small\" innerHTML={description} />\n )}\n {isValidArray(infos, false) && (\n <InfoList\n items={[\n {\n items: infos,\n },\n ]}\n />\n )}\n {action && action}\n </MapCardView>\n );\n};\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapPOI {\n /** Unique ID */\n id: string;\n\n /** Latitude and Longitude of item position */\n position: [number, number];\n\n /** Marker icon settings */\n icon?: LocationIcon;\n\n /** POI name */\n name: string;\n\n /** POI short description text */\n description?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Function to inject custom action node */\n action?: React.ReactNode;\n}\n\nexport interface PoiMapFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestMap: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Size mode */\n size?: 'default' | 'large';\n\n /** Array of POI card settings */\n pois?: MapPOI[];\n\n /** Use geolocation for own position */\n showOwnPosition?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Min map zoom */\n minZoom?: number;\n\n /** Max map zoom */\n maxZoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialPointOfInterest?: string;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Restrict map to bounds of markers area */\n restrictToMarkersArea?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Function to inject custom fact node into MapCard */\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n\n /** Custom current position marker */\n currentPosMarker?: LocationIcon;\n\n /** Custom card close icon */\n customCardClose?: React.ReactNode;\n\n /** Custom icon for my location request button */\n customLocationRequest?: React.ReactNode;\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiMapFilters;\n customPoiFilters?: (props: {\n pois: MapPOI[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiMapFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n size,\n pois,\n initialPointOfInterest = '',\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n fitBoundsPadding,\n allMarkersOnInit = false,\n restrictToMarkersArea = true,\n showOwnPosition,\n flyToZoom,\n customFact,\n currentPosMarker,\n customCardClose,\n customLocationRequest,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const isLarge = size === 'large';\n const { colors, globals } = useLibTheme();\n\n const [activePoiId, setActivePoiId] = useState<string>(\n initialPointOfInterest || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const activePois = useMemo(() => {\n const matches =\n getFilterMatches<MapPOI>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1].item) as MapPOI[];\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n const activePOI = useMemo(() => {\n return activePois?.find((poi) => poi.id === activePoiId);\n }, [activePoiId, activePois]);\n\n const {\n isSupported: isGeolocationSupported,\n location,\n reset: resetGeolocation,\n // error,\n } = useGeolocation(true, false);\n\n const mapMarkers = useMemo(() => {\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n\n // marker of own position\n const defaultPosMarker: LocationIcon = {\n size: [24, 24],\n anchor: [12, 12],\n sizeActive: [24, 24],\n anchorActive: [12, 12],\n url: getSVGData(<CurrentLocation iconColor=\"#5383EC\" />),\n };\n\n const markers: LeafletMapMarker[] =\n activePois\n ?.filter((poi) => poi.id !== undefined)\n ?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })) || [];\n\n if (\n isGeolocationSupported &&\n location?.coords.latitude &&\n location?.coords.longitude\n ) {\n markers.push({\n id: 'my-current-position-123456789',\n position: [location.coords.latitude, location.coords.longitude],\n icon: currentPosMarker || defaultPosMarker,\n });\n }\n\n return markers;\n }, [\n currentPosMarker,\n isGeolocationSupported,\n location?.coords.latitude,\n location?.coords.longitude,\n activePois,\n ]);\n\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n flyToPosition,\n getCurrentZoom,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activePoiId,\n markers: mapMarkers,\n fitBoundsPadding,\n restrictToMarkersArea,\n showZoomControls: true,\n zoomControlPosition: 'bottomleft',\n onMarkerClick: (markerId) => {\n setActivePoiId((prev) => {\n if (prev === markerId) {\n return '';\n }\n return markerId;\n });\n },\n });\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToActive(zoom);\n }\n }, [\n activePoiId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n getCurrentZoom,\n initialPointOfInterest,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activePoiId !== initialPointOfInterest) {\n setIsDirty(true);\n }\n }, [activePoiId, initialPointOfInterest, isDirty]);\n\n const handleLocationRequest = async () => {\n if (location?.coords?.latitude && location?.coords?.longitude) {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToPosition(\n [location.coords.latitude, location.coords.longitude],\n zoom\n );\n } else {\n try {\n const position = await resetGeolocation();\n if (position) showAllMarkers();\n } catch (err) {\n // console.log(err);\n }\n }\n };\n\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n useEffect(() => {\n setActivePoiId('');\n setIsDirty(false);\n }, [filters]);\n\n return (\n <PoiMapSection\n anchorId={anchorId}\n bgColor=\"image\"\n bgMode=\"full\"\n isLarge={isLarge}\n >\n <Wrapper clampWidth={isLarge ? 'large' : 'normal'}>\n <MapContainer>\n <Map ref={setMapContainer} isLarge={size === 'large'} />\n {(showOwnPosition || poiFilters) && (\n <Overlay>\n {showOwnPosition && (\n <RequestGeolocationBtn\n onClick={handleLocationRequest}\n >\n {customLocationRequest || (\n <MyLocation\n iconColor={colors.text.default}\n />\n )}\n </RequestGeolocationBtn>\n )}\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiPartials.PoiFilterBar\n value={filters}\n onChange={setFilters}\n textFilter={\n poiFilters?.textFilter || undefined\n }\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={\n poiFilters?.mobileSubmitLabel\n }\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n />\n )\n ) : null}\n </Overlay>\n )}\n {activePOI && activePOI.name && (\n <CardStage\n onClick={(ev) => {\n if (ev.target !== ev.currentTarget) return;\n setActivePoiId('');\n }}\n >\n <MapCard\n {...activePOI}\n onClose={() => setActivePoiId('')}\n customFact={customFact}\n customClose={customCardClose}\n />\n </CardStage>\n )}\n </MapContainer>\n </Wrapper>\n </PoiMapSection>\n );\n};\n\nexport const PointOfInterestMapComponent = PointOfInterestMap;\nexport default withLibTheme(PointOfInterestMap);\n"],"names":["StyledImage","styled","Image","templateObject_1","__makeTemplateObject","spacings","spacer","Facts","POIFacts","templateObject_2","PoiTitle","Heading","templateObject_3","nudge","PoiText","Copy","templateObject_4","PointOfInterestDetail","_a","anchorId","image","title","intro","text","facts","infos","bgMode","customFact","colors","useLibTheme","isInverted","hasBg","hasInfos","useMemo","isValidArray","filter","info","items","React","createElement","Section","addSeperation","bgColor","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","small","coverSpace","allowEdgeRadius","Grid","Row","gutter","semilarge","Col","span","size","type","innerHTML","InfoList","withLibTheme","poiExactNameFilter","filterQuery","value","regex","RegExp","test","name","poiSoftNameFilter","preparedQuery","toLowerCase","replace","preparedName","poiFactFilter","result","find","fact","preparedFact","poiInfoFilter","preparedText","poiDescriptionFilter","shortDescription","preparedDesc","removeMatchIntersections","array","item","m","prioItem","id","filterPois","pois","prioList","poi","undefined","exactNameMatches","push","apply","map","match","priority","nameMatches","factMatches","infoMatches","descMatches","getFilterMatches","categoryFilters","searchMatches","Map","length","items_1","_i","set","items_2","_b","some","includes","matches","escapeRegExp","matches_1","_c","has","PoiFilterBar","hasBorders","onChange","textFilter","categoryFilter","mobileSubmitLabel","closeIcon","toggleLabel","filterIcon","indicator","className","FilterBar","placeholder","icon","Magnifier","width","height","submitIcon","clearIcon","CrossBubble","label","resetLabel","Cross","Filter","POISection","Content","div","mq","large","PoiOverviewFilterBar","PoiPartials","theme","color","elementBg","PointOfInterestOverview","initialPoiFilters","poiFilters","customPoiFilters","globals","filterName","sections","poiFilterName","factFiltername","poiFactFilterName","_d","useState","filters","setFilters","categories","reduce","acc","newCategories","__spreadArray","poiMatches","Array","from","useEffect","setUrlParam","deleteUrlParam","join","settings","cat","sort","a","b","i","POICard","__assign","key","genHeightStyles","css","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","concat","refHeight","split","PoiMapSection","isLarge","withRange","MapContainer","templateObject_5","RequestGeolocationBtn","button","primary","default","CardStage","templateObject_7","MapCardView","global","edgeRadius","MapCardHeader","header","templateObject_9","CloseBtn","Overlay","templateObject_11","MapCard","description","action","customClose","onClose","onClick","iconColor","PointOfInterestMap","initialPointOfInterest","provider","attribution","center","zoom","fitBoundsPadding","_e","allMarkersOnInit","_f","restrictToMarkersArea","showOwnPosition","flyToZoom","currentPosMarker","customCardClose","customLocationRequest","_g","_h","activePoiId","setActivePoiId","_j","isDirty","setIsDirty","_k","activePois","activePOI","_l","useGeolocation","isGeolocationSupported","isSupported","location","resetGeolocation","mapMarkers","defaultMarker","anchor","sizeActive","anchorActive","url","getSVGData","LocationPin","defaultPosMarker","CurrentLocation","markers","position","isInteractive","coords","latitude","longitude","_m","useLeafletMap","activeMarkerId","showZoomControls","zoomControlPosition","onMarkerClick","markerId","prev","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","flyToPosition","getCurrentZoom","currentZoom","zoom_1","handleLocationRequest","__awaiter","zoom_2","sent","clampWidth","ref","MyLocation","ev","target","currentTarget"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/sections/Accordion.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/sections/Accordion.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AA6H1B,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AA6HD,eAAO,MAAM,kBAAkB;IAxE3B,wDAAwD;;IAGxD,+BAA+B;;IAG/B,yBAAyB;;IAGzB,gDAAgD;wBAC7B;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,SAAS;EA8DvB,CAAC;;IAxExC,wDAAwD;;IAGxD,+BAA+B;;IAG/B,yBAAyB;;IAGzB,gDAAgD;;;;;;;AAgEpD,wBAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointOfInterestMap.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/PointOfInterestMap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAuBhE,OAAiB,EAAE,IAAI,EAAE,8BAAmC;AAK5D,OAAO,EAAE,WAAW,EAAE,+BAAoC;AAsU1D,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACnB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACjD,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;KACzD,CAAC;IACF,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,KAAK,KAAK,CAAC,SAAS,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"PointOfInterestMap.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/PointOfInterestMap.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointOfInterestOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/PointOfInterestOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,8BAAmC;AAClD,OAAgB,EAAE,YAAY,EAAE,6BAAkC;AAClE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,OAAO,EAAE,WAAW,EAAE,+BAAoC;
|
|
1
|
+
{"version":3,"file":"PointOfInterestOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/PointOfInterestOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,8BAAmC;AAClD,OAAgB,EAAE,YAAY,EAAE,6BAAkC;AAClE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAM5D,OAAO,EAAE,WAAW,EAAE,+BAAoC;AAsC1D,UAAU,SAAU,SAAQ,YAAY;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,oBAAY,2BAA2B,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAExE,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACjD,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACvD,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;KACzD,CAAC;IACF,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,KAAK,KAAK,CAAC,SAAS,CAAC;CACzB;AA4JD,eAAO,MAAM,gCAAgC;IAzJzC,wDAAwD;;IAGxD,iCAAiC;;IAGjC,yBAAyB;;IAGzB,gCAAgC;;IAGhC,0BAA0B;;gCAEC;QACvB,IAAI,EAAE,2BAA2B,EAAE,CAAC;QACpC,OAAO,EAAE,WAAW,CAAC;QACrB,UAAU,EAAE,MAAM,QAAQ,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KACjC,KAAK,MAAM,SAAS;EAsI8C,CAAC;;IAzJpE,wDAAwD;;IAGxD,iCAAiC;;IAGjC,yBAAyB;;IAGzB,gCAAgC;;IAGhC,0BAA0B;;;;;;;;;;;AA8I9B,wBAAqD"}
|
|
@@ -6,5 +6,5 @@ export interface FilterMatch {
|
|
|
6
6
|
item: POIData;
|
|
7
7
|
priority: number;
|
|
8
8
|
}
|
|
9
|
-
export declare const getFilterMatches: <T extends POIData>(filterQuery: string,
|
|
9
|
+
export declare const getFilterMatches: <T extends POIData>(filterQuery: string, categoryFilters: string[], items: T[]) => Map<string, FilterMatch>;
|
|
10
10
|
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAAkC;AAIzD,oBAAY,OAAO,GAAG,IAAI,CACtB,YAAY,EACZ,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,kBAAkB,CAClD,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnB,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AA+JD,eAAO,MAAM,gBAAgB,mCACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/pois/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAAkC;AAIzD,oBAAY,OAAO,GAAG,IAAI,CACtB,YAAY,EACZ,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,kBAAkB,CAClD,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnB,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AA+JD,eAAO,MAAM,gBAAgB,mCACZ,MAAM,mBACF,MAAM,EAAE,yCAkC5B,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./Filter-89286db9.js"),n=require("react"),t=require("styled-components"),r=require("./Copy-a0bc570d.js"),i=require("./LibThemeProvider-69109901.js"),o=require("./styles-13e5d9ac.js"),l=require("./formFieldText-046fcbf4.js"),a=require("./useMounted-0bba9869.js"),s=require("./Checkbox-8dccd42f.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u,c,p,f,m,g,b,h,x,w,v=d(n),y=d(t),_=y.default.button.withConfig({displayName:"MultiselectDropdown__Select",componentId:"sc-rrwdl0-0"})(u||(u=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ",";\n\n padding: ","px;\n\n border: 1px solid\n ",";\n border-radius: ",";\n\n background: transparent;\n\n ","\n /** Clamping min font size to 16px to prevent browser zooming */\n ","\n \n color: ",";\n line-height: normal;\n\n &:focus {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ",";\n\n padding: ","px;\n\n border: 1px solid\n ",";\n border-radius: ",";\n\n background: transparent;\n\n ","\n /** Clamping min font size to 16px to prevent browser zooming */\n ","\n \n color: ",";\n line-height: normal;\n\n &:focus {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),(function(e){return e.inlined?"default":"pointer"}),o.spacings.nudge,(function(e){var n=e.theme,t=e.isInverted,r=e.hasError;return t?r?o.getColors(n).errorInverted:o.getColors(n).elementBg.light:r?o.getColors(n).error:o.getColors(n).elementBg.dark}),(function(e){var n=e.theme;return o.getGlobals(n).sections.edgeRadius}),r.copyStyle("copy","small"),(function(e){var n=e.theme;return o.withRange(l.getFormFieldTextSize(n),"font-size")}),(function(e){var n=e.theme,t=e.isInverted,r=e.hasError;return t?r?o.getColors(n).text.errorInverted:o.getFonts(n).copy.small.colorInverted:r?o.getColors(n).text.error:o.getFonts(n).copy.small.color}),(function(e){var n=e.theme,t=e.isInverted,r=e.isOpen;return"1px solid ".concat(r?"transparent":t?o.getColors(n).primary.inverted:o.getColors(n).primary.default)}),o.spacings.nudge),k=y.default.span.withConfig({displayName:"MultiselectDropdown__SelectMain",componentId:"sc-rrwdl0-1"})(c||(c=e.__makeTemplateObject(["\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge),C=y.default.span.withConfig({displayName:"MultiselectDropdown__Indicator",componentId:"sc-rrwdl0-2"})(p||(p=e.__makeTemplateObject(["\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge),I=y.default.ul.withConfig({displayName:"MultiselectDropdown__Flyout",componentId:"sc-rrwdl0-3"})(f||(f=e.__makeTemplateObject(["\n list-style: none;\n padding: ","px ","px;\n margin: 0;\n margin-top: ",";\n\n position: ",";\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ",";\n background: ",";\n border: 1px solid\n ",";\n border-radius: ",";\n\n max-height: 300px;\n /* overflow-y: auto; */\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ",";\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n"],["\n list-style: none;\n padding: ","px ","px;\n margin: 0;\n margin-top: ",";\n\n position: ",";\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ",";\n background: ",";\n border: 1px solid\n ",";\n border-radius: ",";\n\n max-height: 300px;\n /* overflow-y: auto; */\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ",";\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n"])),o.spacings.nudge,2*o.spacings.nudge,(function(e){return e.inlined&&"3px"}),(function(e){return e.inlined?"relative":"absolute"}),(function(e){return e.isVisible?"block":"none"}),(function(e){var n=e.theme;return o.getColors(n).elementBg.light}),(function(e){var n=e.theme;return e.isInverted?o.getColors(n).elementBg.light:o.getColors(n).elementBg.dark}),(function(e){var n=e.theme;return o.getGlobals(n).sections.edgeRadius}),(function(e){var n=e.theme;return o.getColors(n).elementBg.medium})),E=y.default.li.withConfig({displayName:"MultiselectDropdown__ItemStyle",componentId:"sc-rrwdl0-4"})(m||(m=e.__makeTemplateObject(["\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n"],["\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n"]))),M=y.default(s.Checkbox).withConfig({displayName:"MultiselectDropdown__ItemCheckbox",componentId:"sc-rrwdl0-5"})(g||(g=e.__makeTemplateObject(["\n width: 100%;\n"],["\n width: 100%;\n"]))),j=y.default.div.withConfig({displayName:"MultiselectDropdown__Container",componentId:"sc-rrwdl0-6"})(b||(b=e.__makeTemplateObject(["\n position: relative;\n outline: none;\n"],["\n position: relative;\n outline: none;\n"]))),D=y.default(r.Copy).withConfig({displayName:"MultiselectDropdown__Counter",componentId:"sc-rrwdl0-7"})(h||(h=e.__makeTemplateObject(["\n flex: 0 0 20px;\n\n position: relative;\n background: ",";\n\n line-height: normal;\n color: ",";\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n"],["\n flex: 0 0 20px;\n\n position: relative;\n background: ",";\n\n line-height: normal;\n color: ",";\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n"])),(function(e){var n=e.theme;return o.getColors(n).text.default}),(function(e){var n=e.theme;return o.getColors(n).text.inverted})),T=y.default.button.withConfig({displayName:"MultiselectDropdown__Reset",componentId:"sc-rrwdl0-8"})(x||(x=e.__makeTemplateObject(["\n background: none;\n border: none;\n padding: 0;\n\n ",";\n margin-top: ","px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n background: none;\n border: none;\n padding: 0;\n\n ",";\n margin-top: ","px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),r.copyStyle("copy","small"),2*o.spacings.nudge,(function(e){var n=e.theme;return o.getFonts(n).link.color})),O=y.default.div.withConfig({displayName:"MultiselectDropdown__Icon",componentId:"sc-rrwdl0-9"})(w||(w=e.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"],["\n display: flex;\n align-items: center;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"])),o.spacings.nudge),B=v.default.memo((function(t){var r=t.label,o=t.isRequired,s=t.errorMessage,d=t.infoMessage,u=t.isDisabled,c=t.isInverted,p=t.items,f=t.name,m=t.selectedItems,g=t.placeholder,b=t.resetLabel,h=t.inlined,x=t.icon,w=t.onChange,y=t.onBlur,B=t.indicator,F=t.className,N=i.useLibTheme().colors,q=n.useState(h||!1),z=q[0],R=q[1],S=n.useState(m||[]),L=S[0],A=S[1],V=n.useRef(null),W=n.useRef(null),G=a.useMounted(),H=n.useRef(!1);n.useEffect((function(){m&&A(m)}),[m]),n.useEffect((function(){G&&(null==w||w(L))}),[L]),u&&(s="");var P=null==x?void 0:x(c);return v.default.createElement(l.FieldWrapper.View,{isDisabled:u,className:F},v.default.createElement(l.FieldWrapper.Head,{label:r,isRequired:o,isInverted:c}),v.default.createElement(l.FieldWrapper.Content,null,v.default.createElement(j,{ref:W,onBlur:function(e){var n;h||(null===(n=W.current)||void 0===n?void 0:n.contains(e.relatedTarget))||H.current||(R(!1),null==y||y())}},v.default.createElement(_,{ref:V,type:"button",isOpen:z,inlined:h,isInverted:c,hasError:!!s,onClick:function(){h||R((function(e){return!e}))},"aria-expanded":z},v.default.createElement(k,null,P&&v.default.createElement(O,null,P),v.default.createElement("span",null,g)),v.default.createElement(C,null,v.default.createElement(D,{size:"small"},v.default.createElement("span",null,L.length)),B&&B({isOpen:z,isDisabled:u}),!B&&(z?v.default.createElement(e.AngleUp,{iconColor:u?N.elementBg.medium:N.elementBg.dark}):v.default.createElement(e.AngleDown,{iconColor:u?N.elementBg.medium:N.elementBg.dark})))),v.default.createElement(I,{isVisible:z,inlined:h},p.map((function(n,t){var r=L.includes(n.value);return v.default.createElement(E,{key:"key_".concat(t+1),onMouseDown:function(){H.current=!0}},v.default.createElement(M,{isSelected:r,value:n.value,onChange:function(){var t;t=n.value,L.includes(t)?A((function(e){return e.filter((function(e){return e!==t}))})):A((function(n){return e.__spreadArray(e.__spreadArray([],n,!0),[t],!1)})),H.current=!1},label:n.label}))})),b&&v.default.createElement(T,{onClick:function(){return A([])}},b))),v.default.createElement("select",{name:f,multiple:!0,hidden:!0,defaultValue:L},p.map((function(e,n){return v.default.createElement("option",{key:"key_".concat(n),value:e.value},e.label)})))),v.default.createElement(l.FieldWrapper.Messages,{infoMessage:d,errorMessage:s,isInverted:c}))}),(function(e,n){if(!e.enableMemo)return!1;if(e.selectedItems!==n.selectedItems)return!1;if(e.errorMessage!==n.errorMessage)return!1;if(e.infoMessage!==n.infoMessage)return!1;if(e.label!==n.label)return!1;if(e.placeholder!==n.placeholder)return!1;if(e.resetLabel!==n.resetLabel)return!1;if(e.isInverted!==n.isInverted)return!1;if(e.isDisabled!==n.isDisabled)return!1;if(e.inlined!==n.inlined)return!1;if(e.items.length!==n.items.length)return!1;for(var t=0;t<e.items.length;t++)if(e.items[t].label!==n.items[t].label||e.items[t].value!==n.items[t].value)return!1;return!0}));exports.MultiselectDropdown=B;
|
|
2
|
-
//# sourceMappingURL=MultiselectDropdown-ce2084d6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiselectDropdown-ce2084d6.js","sources":["../src/components/fields/MultiselectDropdown.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport AngleDown from 'components/base/icons/AngleDown';\nimport AngleUp from 'components/base/icons/AngleUp';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { FormProps } from './Textfield';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport useMounted from 'utils/useMounted';\nimport Checkbox from './Checkbox';\n\nconst Select = styled.button<{\n hasError?: boolean;\n isOpen?: boolean;\n isInverted?: boolean;\n inlined?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ${({ inlined }) => (inlined ? 'default' : 'pointer')};\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n line-height: normal;\n\n &:focus {\n outline: ${({ theme, isInverted, isOpen }) =>\n `1px solid ${\n isOpen\n ? 'transparent'\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst SelectMain = styled.span`\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Indicator = styled.span`\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Flyout = styled.ul<{\n isVisible?: boolean;\n isInverted?: boolean;\n inlined?: boolean;\n}>`\n list-style: none;\n padding: ${spacings.nudge}px ${spacings.nudge * 2}px;\n margin: 0;\n margin-top: ${({ inlined }) => inlined && '3px'};\n\n position: ${({ inlined }) => (inlined ? 'relative' : 'absolute')};\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n background: ${({ theme }) => color(theme).elementBg.light};\n border: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n max-height: 300px;\n /* overflow-y: auto; */\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n`;\n\nconst ItemStyle = styled.li`\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n`;\n\nconst ItemCheckbox = styled(Checkbox)`\n width: 100%;\n`;\n\nconst Container = styled.div`\n position: relative;\n outline: none;\n`;\n\nconst Counter = styled(Copy)`\n flex: 0 0 20px;\n\n position: relative;\n background: ${({ theme }) => color(theme).text.default};\n\n line-height: normal;\n color: ${({ theme }) => color(theme).text.inverted};\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n`;\n\nconst Reset = styled.button`\n background: none;\n border: none;\n padding: 0;\n\n ${copyStyle('copy', 'small')};\n margin-top: ${spacings.nudge * 2}px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ${({ theme }) => font(theme).link.color};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n padding-left: ${spacings.nudge}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\ninterface FilterItem {\n value: string;\n label: string;\n}\n\nexport type MultiselectDropdownProps = Omit<FormProps, 'value'> & {\n enableMemo?: boolean;\n inlined?: boolean;\n placeholder?: string;\n name?: string;\n selectedItems?: string[];\n items: FilterItem[];\n resetLabel?: string;\n\n onChange?: (values: string[]) => void;\n onBlur?: () => void;\n icon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n};\n\nconst MultiselectDropdown: React.FC<\n MultiselectDropdownProps & { className?: string }\n> = ({\n label,\n isRequired,\n errorMessage,\n infoMessage,\n isDisabled,\n isInverted,\n items,\n name,\n selectedItems,\n placeholder,\n resetLabel,\n inlined,\n icon,\n onChange,\n onBlur,\n indicator,\n className,\n}) => {\n const { colors } = useLibTheme();\n const [isOpen, setIsOpen] = useState(inlined || false);\n const [selected, setSelected] = useState<string[]>(selectedItems || []);\n\n const selectBtnRef = useRef<HTMLButtonElement>(null);\n const selectContainerRef = useRef<HTMLDivElement>(null);\n const isMounted = useMounted();\n const itemHasBeenClicked = useRef<boolean>(false);\n\n useEffect(() => {\n if (selectedItems) {\n setSelected(selectedItems);\n }\n }, [selectedItems]);\n\n useEffect(() => {\n if (isMounted) {\n onChange?.(selected);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n if (isDisabled) {\n errorMessage = '';\n }\n\n const toggleSelected = (value: string) => {\n if (selected.includes(value)) {\n setSelected((prev) => prev.filter((v) => v !== value));\n return;\n }\n\n setSelected((prev) => [...prev, value]);\n };\n\n const iconElement = icon?.(isInverted);\n\n return (\n <FieldWrapper.View isDisabled={isDisabled} className={className}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <Container\n ref={selectContainerRef}\n onBlur={(ev) => {\n if (\n !inlined &&\n !selectContainerRef.current?.contains(\n ev.relatedTarget\n ) &&\n !itemHasBeenClicked.current\n ) {\n setIsOpen(false);\n onBlur?.();\n }\n }}\n >\n <Select\n ref={selectBtnRef}\n type=\"button\"\n isOpen={isOpen}\n inlined={inlined}\n isInverted={isInverted}\n hasError={!!errorMessage}\n onClick={() => {\n if (inlined) return;\n setIsOpen((prev) => !prev);\n }}\n aria-expanded={isOpen}\n >\n <SelectMain>\n {iconElement && <Icon>{iconElement}</Icon>}\n <span>{placeholder}</span>\n </SelectMain>\n <Indicator>\n <Counter size=\"small\">\n <span>{selected.length}</span>\n </Counter>\n {indicator &&\n indicator({ isOpen, isDisabled: isDisabled })}\n {!indicator &&\n (isOpen ? (\n <AngleUp\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ) : (\n <AngleDown\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ))}\n </Indicator>\n </Select>\n <Flyout isVisible={isOpen} inlined={inlined}>\n {items.map((item, i) => {\n const isSelected = selected.includes(item.value);\n\n return (\n <ItemStyle\n key={`key_${i + 1}`}\n onMouseDown={() => {\n itemHasBeenClicked.current = true;\n }}\n >\n <ItemCheckbox\n isSelected={isSelected}\n value={item.value}\n onChange={() => {\n toggleSelected(item.value);\n itemHasBeenClicked.current = false;\n }}\n label={item.label}\n />\n </ItemStyle>\n );\n })}\n {resetLabel && (\n <Reset onClick={() => setSelected([])}>\n {resetLabel}\n </Reset>\n )}\n </Flyout>\n </Container>\n <select name={name} multiple hidden defaultValue={selected}>\n {items.map((item, i) => {\n return (\n <option key={`key_${i}`} value={item.value}>\n {item.label}\n </option>\n );\n })}\n </select>\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (\n prev: MultiselectDropdownProps,\n next: MultiselectDropdownProps\n) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.selectedItems !== next.selectedItems) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n if (prev.resetLabel !== next.resetLabel) return false;\n if (prev.isInverted !== next.isInverted) return false;\n if (prev.isDisabled !== next.isDisabled) return false;\n if (prev.inlined !== next.inlined) return false;\n\n // compare items\n if (prev.items.length !== next.items.length) return false;\n for (let i = 0; i < prev.items.length; i++) {\n if (\n prev.items[i].label !== next.items[i].label ||\n prev.items[i].value !== next.items[i].value\n ) {\n return false;\n }\n }\n\n return true;\n};\n\nexport default React.memo(MultiselectDropdown, areEqual);\n"],"names":["Select","styled","button","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","_a","inlined","spacings","nudge","theme","isInverted","hasError","color","errorInverted","elementBg","light","error","dark","global","sections","edgeRadius","copyStyle","withRange","getFormFieldTextSize","text","font","getFonts","copy","small","colorInverted","isOpen","primary","inverted","getColors","default","SelectMain","span","templateObject_2","Indicator","templateObject_3","Flyout","ul","isVisible","medium","ItemStyle","li","templateObject_5","ItemCheckbox","Checkbox","templateObject_6","Container","div","templateObject_7","Counter","Copy","templateObject_8","Reset","templateObject_9","link","Icon","templateObject_10","React","memo","label","isRequired","errorMessage","infoMessage","isDisabled","items","name","selectedItems","placeholder","resetLabel","icon","onChange","onBlur","indicator","className","colors","useLibTheme","_b","useState","setIsOpen","_c","selected","setSelected","selectBtnRef","useRef","selectContainerRef","isMounted","useMounted","itemHasBeenClicked","useEffect","iconElement","createElement","FieldWrapper","View","Head","Content","ref","ev","current","contains","relatedTarget","type","onClick","prev","size","length","AngleUp","iconColor","AngleDown","map","item","i","isSelected","includes","value","key","concat","onMouseDown","filter","v","__spreadArray","multiple","hidden","defaultValue","Messages","next","enableMemo"],"mappings":"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"}
|