@twinmatrix/spatialverse-sdk-web 0.0.2 → 0.0.4
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/lib/cjs/index.js +9 -9
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.js +213 -294
- package/lib/cjs/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.js +40 -41
- package/lib/cjs/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/3DMap/MainMap.js +170 -196
- package/lib/cjs/meta-atlas-sdk/3DMap/MainMap.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.js +167 -215
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.js +28 -30
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.js +861 -1170
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/index.js +166 -159
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/index.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/interfaces.js +6 -6
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/interfaces.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.js +6 -6
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/routeLayers.js +3 -3
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/routeLayers.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.js +523 -610
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.js +149 -154
- package/lib/cjs/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/customStyles.js +2 -2
- package/lib/cjs/meta-atlas-sdk/customStyles.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/customerLayer.js +15 -29
- package/lib/cjs/meta-atlas-sdk/customerLayer.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/customerLayerVariant.js +5 -5
- package/lib/cjs/meta-atlas-sdk/customerLayerVariant.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/meta-atlas-sdk.js +809 -1033
- package/lib/cjs/meta-atlas-sdk/meta-atlas-sdk.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/utils/helpers.js +32 -49
- package/lib/cjs/meta-atlas-sdk/utils/helpers.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/utils/local-storage.js +21 -34
- package/lib/cjs/meta-atlas-sdk/utils/local-storage.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/utils/mapobjects-store.js +6 -6
- package/lib/cjs/meta-atlas-sdk/utils/mapobjects-store.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/utils/routing-store.js +6 -6
- package/lib/cjs/meta-atlas-sdk/utils/routing-store.js.map +1 -1
- package/lib/cjs/meta-atlas-sdk/utils/routing-visualizer/index.js +363 -491
- package/lib/cjs/meta-atlas-sdk/utils/routing-visualizer/index.js.map +1 -1
- package/lib/cjs/react/MetaAtlasMap.js +127 -0
- package/lib/cjs/react/MetaAtlasMap.js.map +1 -0
- package/lib/cjs/react/hooks/useDrawing/index.js +17 -18
- package/lib/cjs/react/hooks/useDrawing/index.js.map +1 -1
- package/lib/cjs/react/hooks/useFocus/index.js +48 -55
- package/lib/cjs/react/hooks/useFocus/index.js.map +1 -1
- package/lib/cjs/react/hooks/useMapEvents/index.js +40 -47
- package/lib/cjs/react/hooks/useMapEvents/index.js.map +1 -1
- package/lib/cjs/react/hooks/useMapOverlays/index.js +20 -21
- package/lib/cjs/react/hooks/useMapOverlays/index.js.map +1 -1
- package/lib/cjs/react/hooks/useMetaAtlas/index.js +77 -95
- package/lib/cjs/react/hooks/useMetaAtlas/index.js.map +1 -1
- package/lib/cjs/react/hooks/useMetaAtlas.js +78 -96
- package/lib/cjs/react/hooks/useMetaAtlas.js.map +1 -1
- package/lib/cjs/react/hooks/useRouting/index.js +21 -20
- package/lib/cjs/react/hooks/useRouting/index.js.map +1 -1
- package/lib/cjs/react/hooks/useSearch/index.js +35 -34
- package/lib/cjs/react/hooks/useSearch/index.js.map +1 -1
- package/lib/cjs/react/hooks/useStampRally/index.js +26 -23
- package/lib/cjs/react/hooks/useStampRally/index.js.map +1 -1
- package/lib/cjs/react/hooks/useStampRally/utils.js +2 -2
- package/lib/cjs/react/hooks/useStampRally/utils.js.map +1 -1
- package/lib/cjs/react/index.js +31 -31
- package/lib/cjs/react/index.js.map +1 -1
- package/lib/cjs/react/stores/useMapDataStore.js +47 -62
- package/lib/cjs/react/stores/useMapDataStore.js.map +1 -1
- package/lib/cjs/react/stores/useMetaAtlasStore.js +27 -40
- package/lib/cjs/react/stores/useMetaAtlasStore.js.map +1 -1
- package/lib/esm/index.js +3 -7
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.js +4 -3
- package/lib/esm/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/CustomThreeJsWrapper.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.js +14 -12
- package/lib/esm/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/utils.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/3DMap/MainMap.js +204 -200
- package/lib/esm/meta-atlas-sdk/3DMap/MainMap.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.js +6 -6
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/fetch-published-json.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.js +4 -3
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/fetchMapObjectsData.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.js +53 -42
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/meta-atlas-sdk-core.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/index.js +18 -16
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/index.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.js +3 -3
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/mapObjectsHelper.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.js +73 -79
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/routing-helpers.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.js +16 -15
- package/lib/esm/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/customerLayer.js +4 -1
- package/lib/esm/meta-atlas-sdk/customerLayer.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/meta-atlas-sdk.js +148 -124
- package/lib/esm/meta-atlas-sdk/meta-atlas-sdk.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/utils/helpers.js +4 -2
- package/lib/esm/meta-atlas-sdk/utils/helpers.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/utils/local-storage.js +6 -1
- package/lib/esm/meta-atlas-sdk/utils/local-storage.js.map +1 -1
- package/lib/esm/meta-atlas-sdk/utils/routing-visualizer/index.js +115 -109
- package/lib/esm/meta-atlas-sdk/utils/routing-visualizer/index.js.map +1 -1
- package/lib/esm/react/MetaAtlasMap.js +120 -0
- package/lib/esm/react/MetaAtlasMap.js.map +1 -0
- package/lib/esm/react/hooks/useDrawing/index.js +2 -2
- package/lib/esm/react/hooks/useDrawing/index.js.map +1 -1
- package/lib/esm/react/hooks/useFocus/index.js +4 -3
- package/lib/esm/react/hooks/useFocus/index.js.map +1 -1
- package/lib/esm/react/hooks/useMapEvents/index.js +9 -6
- package/lib/esm/react/hooks/useMapEvents/index.js.map +1 -1
- package/lib/esm/react/hooks/useMapOverlays/index.js +2 -2
- package/lib/esm/react/hooks/useMapOverlays/index.js.map +1 -1
- package/lib/esm/react/hooks/useMetaAtlas/index.js +162 -60
- package/lib/esm/react/hooks/useMetaAtlas/index.js.map +1 -1
- package/lib/esm/react/hooks/useMetaAtlas.js +162 -60
- package/lib/esm/react/hooks/useMetaAtlas.js.map +1 -1
- package/lib/esm/react/hooks/useRouting/index.js +2 -2
- package/lib/esm/react/hooks/useRouting/index.js.map +1 -1
- package/lib/esm/react/hooks/useSearch/index.js +2 -2
- package/lib/esm/react/hooks/useSearch/index.js.map +1 -1
- package/lib/esm/react/hooks/useStampRally/index.js +15 -12
- package/lib/esm/react/hooks/useStampRally/index.js.map +1 -1
- package/lib/esm/react/hooks/useStampRally/utils.js +1 -1
- package/lib/esm/react/hooks/useStampRally/utils.js.map +1 -1
- package/lib/esm/react/index.js +11 -15
- package/lib/esm/react/index.js.map +1 -1
- package/lib/esm/react/stores/useMapDataStore.js +17 -21
- package/lib/esm/react/stores/useMapDataStore.js.map +1 -1
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraSync.d.ts +30 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraSync.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraUtils.d.ts +5 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/CameraUtils.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/constants.d.ts +21 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/constants.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/suncalc.d.ts +27 -0
- package/lib/types/meta-atlas-sdk/3DMap/CustomThreeJsWrapper/utility/suncalc.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/draw_marker.d.ts +18 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/draw_marker.d.ts.map +1 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/marker_select.d.ts +37 -0
- package/lib/types/meta-atlas-sdk/mapbox_draw_custom_modes/marker_select.d.ts.map +1 -0
- package/package.json +10 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["turf","_interopRequireWildcard","require","_geojsonRbush","_interopRequireDefault","_graphlib","_lodash","_interfaces","_mapObjectsHelper","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","slice","name","Array","from","test","isArray","length","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","debugMode","minSnapDistance","exports","indexOfPointOnLine","feature","point","matchIndex","coordEach","currentCoord","coordIndex","featureIndex","multiFeatureIndex","geometryIndex","lineVertex","dist","distance","units","console","log","addIntersectionToFeature","intersectedPoint","doNearbyCheck","undefined","addToLine","line","cleanedFeature","cleanCoords","nearestPoint1","nearestPointOnLine","properties","index","geometry","coordinates","splice","modified","indexOnLine","snap","b","getType","currentPoint","snappedPoint","existingVertexOnLine","distToExistingVertexOnLine","findIntersectionsWithSuperset","j","id","intersections","lineIntersect","features","intersectedFeature","optimized","tree","GeoJSONRBush","load","line1","bbox1","bbox","possibleMatches","search","title","match","line2","dimension_where","markAsModified","mapBoxDraw","add","getFirstPointFeature","type","getParentDimension","dimension","splitResult","split","lastChildName","parentDimensionValueStrict","replace","concat","DEFAULT_DIMENSION","getPortalEdgeData","portalLinks","allEdgeLines","portalEdgeData","addLink","link","container","_link$property_portal","property_portalLink","cost","direction","wheelchair","description","edge","getEdge","property_secondRelatedId","lines","pathFeatures","property_routeData","portalEdge","addNode","mapObjectId","links","portal","escalatorGraph","DagreGraph","isEmpty","anchorId","_portalLinks$anchorId","PortalType","escalator","linksForAnchor","lift","linksForNonAnchor","k","nestedLink","hasNode","setNode","where","taxonomy1Path","hasEdge","setEdge","extrapolateLinks","graph","components","alg","component","reachableNodes","node1","node2","edgeData","nodeEdges","isParallelLink","nodeEdge","nodeToUse","v","w","nodeEdgeData","edgeAsObj","isParallel","cloneDeep","removeEdge","addLinkUsingGraph","escalatorEdge","start","performance","now","escalatorGraphEdges","edges","filterPortalEdgeDataByWhere","allPortalEdgeData","whereDimension","portalId","includes","filterPortalEdgeDataByList","portalIdList"],"sources":["../../../../../src/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.ts"],"sourcesContent":["import { Feature, LineString, GeoJsonProperties, Point } from 'geojson';\nimport * as turf from '@turf/turf';\nimport { Position } from 'geojson';\nimport MapboxDraw from '@mapbox/mapbox-gl-draw';\nimport GeoJSONRBush from 'geojson-rbush';\nimport { Graph as DagreGraph, alg, Edge as GraphEdge } from '@dagrejs/graphlib';\nimport { cloneDeep, isEmpty } from 'lodash';\nimport {\n EdgeLine, Portal, PortalEdge, PortalEdgeData, PortalLinks, PortalType,\n} from './interfaces';\nimport { getEdge } from './mapObjectsHelper';\n\nconst debugMode = false;\n\nexport const minSnapDistance = 1e-3; // meters\ntype turfLineString = Feature<LineString, GeoJsonProperties>;\n\nfunction indexOfPointOnLine(feature: turfLineString, point: Feature<Point, GeoJsonProperties>) {\n let matchIndex = -1;\n turf.coordEach(feature, (currentCoord: number[], coordIndex: number, featureIndex: number, multiFeatureIndex: number, geometryIndex: number) => {\n if (matchIndex === -1) {\n const lineVertex = turf.point(currentCoord);\n const dist = turf.distance(point, lineVertex, {\n units: 'meters',\n });\n if (debugMode) console.log('coordIndex: ', coordIndex, dist);\n if (dist < minSnapDistance) matchIndex = coordIndex;\n }\n });\n\n if (debugMode) console.log('matchIndex: ', matchIndex);\n return matchIndex;\n}\n\nfunction addIntersectionToFeature(\n intersectedPoint: Feature<Point, GeoJsonProperties>,\n feature: turfLineString,\n doNearbyCheck = true,\n) {\n const addToLine = (point: Position, line: turfLineString) => {\n const cleanedFeature = turf.cleanCoords(line);\n const nearestPoint1 = turf.nearestPointOnLine(cleanedFeature, point);\n if (nearestPoint1.properties.index !== undefined) {\n feature.geometry.coordinates.splice(nearestPoint1.properties.index + 1, 0, intersectedPoint.geometry.coordinates);\n if (feature.properties) feature.properties.modified = 1;\n if (debugMode) console.log('added');\n } else if (debugMode) console.log('nearest point on line undefined');\n };\n\n if (doNearbyCheck) {\n const indexOnLine = indexOfPointOnLine(feature, intersectedPoint);\n if (indexOnLine === -1) {\n addToLine(intersectedPoint.geometry.coordinates, feature);\n } else {\n if (debugMode) console.log('should update vertex', indexOnLine);\n feature.geometry.coordinates[indexOnLine] = intersectedPoint.geometry.coordinates;\n if (feature.properties) feature.properties.modified = 1;\n }\n } else {\n addToLine(intersectedPoint.geometry.coordinates, feature);\n }\n}\n\nfunction snap(a: turfLineString, b: turfLineString) {\n if (turf.getType(a) === 'LineString') {\n turf.coordEach(a, (currentCoord: number[], coordIndex: number, featureIndex: number, multiFeatureIndex: number, geometryIndex: number) => {\n const currentPoint = turf.point(currentCoord);\n const cleanedFeature = turf.cleanCoords(b);\n const snappedPoint = turf.nearestPointOnLine(cleanedFeature, currentPoint, { units: 'meters' });\n\n if (snappedPoint\n && snappedPoint.properties.dist !== undefined && snappedPoint.properties.index !== undefined) {\n const existingVertexOnLine = turf.point(b.geometry.coordinates[snappedPoint.properties.index]);\n const distToExistingVertexOnLine = turf.distance(currentPoint, existingVertexOnLine, {\n units: 'meters',\n });\n // If the snappedPoint is close (< minSnapDistance) to a pre-existing vertex then use that vertex instead of adding new\n if (distToExistingVertexOnLine < minSnapDistance) {\n snappedPoint.geometry.coordinates = existingVertexOnLine.geometry.coordinates;\n a.geometry.coordinates[coordIndex] = snappedPoint.geometry.coordinates;\n if (a.properties) a.properties.modified = 1;\n } else\n // Add a new line vertex to b and move vertex of a to the same location\n if (snappedPoint.properties.dist < minSnapDistance) {\n a.geometry.coordinates[coordIndex] = snappedPoint.geometry.coordinates;\n b.geometry.coordinates.splice(snappedPoint.properties.index + 1, 0, snappedPoint.geometry.coordinates);\n if (a.properties) a.properties.modified = 1;\n }\n }\n });\n }\n}\n\n// if required to disable route_edge X route_edge intersection\n//! (a[i].properties.dimension_what === b[i].properties.dimension_what && a[i].properties.dimension_what === RouteDimension.Edge && b[i].properties.dimension_what === RouteDimension.Edge)\n\n// b is a superset which also includes a\nexport function findIntersectionsWithSuperset(a: turfLineString[], b: turfLineString[]) {\n for (let i = 0; i < a.length; i += 1) {\n for (let j = 0; j < b.length; j += 1) {\n if (a[i].id !== b[j].id) {\n // TODO: Optimize for two-way snapping in one call\n snap(a[i], b[j]);\n snap(b[j], a[i]);\n const intersections = turf.lineIntersect(a[i] as any, b[j] as any);\n if (debugMode) console.log('intersections for ', i, j, intersections);\n\n // Add intersection points to the respective LineStrings\n if (intersections.features.length > 0) {\n for (let index = 0; index < intersections.features.length; index += 1) {\n const intersectedFeature = intersections.features[index];\n\n addIntersectionToFeature(intersectedFeature, a[i]);\n addIntersectionToFeature(intersectedFeature, b[j]);\n }\n }\n } else {\n // since b is a super set and is also returned as the final output, so copy latest state in b\n b[j] = a[i];\n }\n }\n }\n\n return b;\n}\n\n// It updates the given feature data inplace, make sure params are passed by reference.\nexport function optimized(a: turfLineString[], b: turfLineString[]) {\n // Step 1: Build spatial index for the second set of LineStrings\n const tree = GeoJSONRBush();\n tree.load(b);\n\n // Step 2: Find potential intersecting pairs using bounding boxes\n a.forEach((line1) => {\n const bbox1 = turf.bbox(line1);\n const possibleMatches = tree.search(bbox1);\n\n if (debugMode) console.log('possible matches for ', line1.properties.title, possibleMatches);\n\n possibleMatches.features.forEach((match) => {\n const line2 = match;\n if (line1.properties && line1.properties.dimension_where\n && line2.properties && line2.properties.dimension_where\n && line1.properties.dimension_where === line2.properties.dimension_where\n ) {\n // Step 3: Perform detailed intersection check\n snap(line1, line2 as any);\n const intersections = turf.lineIntersect(line1 as any, line2 as any);\n if (debugMode) console.log('intersections', intersections);\n\n // Add intersection points to the respective LineStrings\n if (intersections.features.length > 0) {\n for (let j = 0; j < intersections.features.length; j += 1) {\n const intersectedFeature = intersections.features[j];\n\n addIntersectionToFeature(intersectedFeature, line1, false);\n addIntersectionToFeature(intersectedFeature, line2 as any, false);\n }\n }\n }\n });\n });\n}\n\nexport function markAsModified(features: Array<Feature>, mapBoxDraw: MapboxDraw) {\n if (features) {\n for (let index = 0; index < features.length; index += 1) {\n const feature = features[index];\n // modified key is used to mark that a feature was updated by mapboxDraw or custom logic like intersection during the respective editing session\n feature.properties.modified = 1;\n\n mapBoxDraw.add(feature as any);\n }\n }\n}\n\nexport function getFirstPointFeature(features: Feature[]) : Feature | undefined {\n for (let index = 0; index < features.length; index += 1) {\n const feature = features[index];\n const type = turf.getType(feature as any);\n\n if (type === 'Point') {\n return feature;\n }\n }\n\n return undefined;\n}\n\nexport function getParentDimension(dimension: string) {\n const splitResult = dimension.split('.');\n const lastChildName = splitResult[splitResult.length - 1];\n const parentDimensionValueStrict = dimension.replace('.'.concat(lastChildName), '');\n return parentDimensionValueStrict;\n}\n\nexport const DEFAULT_DIMENSION = 'where.singapore';\nexport function getPortalEdgeData(portalLinks: PortalLinks) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n const addLink = (link: any, container: PortalEdge[]) => {\n const {\n cost, direction, wheelchair, description,\n } = link.property_portalLink;\n const edge = getEdge(link.property_secondRelatedId);\n if (edge && edge.lines) {\n const pathFeatures = (link.property_routeData && link.property_routeData.features)\n ? (link.property_routeData.features.filter(\n (feature : Feature<LineString, any>) => feature.geometry !== undefined && turf.getType(feature) === 'LineString' && feature.geometry.coordinates.length > 0,\n ))\n : null;\n const portalEdge = {\n ...edge,\n cost,\n direction,\n wheelchair,\n pathFeatures,\n description,\n } as PortalEdge;\n container.push(portalEdge);\n\n allEdgeLines.push(...edge.lines);\n }\n };\n\n const addNode = (mapObjectId: any, links: PortalEdge[]) => {\n const edge = getEdge(mapObjectId);\n if (edge && edge.lines) {\n const portal = {\n ...edge,\n links,\n };\n portalEdgeData[mapObjectId] = portal;\n\n allEdgeLines.push(...edge.lines);\n\n return portal;\n }\n\n return undefined;\n };\n\n console.log('portalData input', portalLinks);\n const escalatorGraph = new DagreGraph();\n if (!isEmpty(portalLinks)) {\n Object.keys(portalLinks).forEach((anchorId) => {\n const { type, links } = portalLinks[anchorId];\n\n if (type !== PortalType.escalator) {\n const linksForAnchor : PortalEdge[] = [];\n for (let j = 0; j < links.length; j += 1) {\n const link = links[j];\n addLink(link, linksForAnchor);\n\n if (type === PortalType.lift) {\n // Extrapolate links for non-anchor lifts\n const linksForNonAnchor : PortalEdge[] = [];\n for (let k = 0; k < links.length; k += 1) {\n const nestedLink = links[k];\n if (nestedLink.property_secondRelatedId !== link.property_secondRelatedId) {\n addLink(nestedLink, linksForNonAnchor);\n }\n }\n if (linksForNonAnchor.length > 0) {\n // Add node for non-anchor lift\n addNode(link.property_secondRelatedId, linksForNonAnchor);\n }\n }\n }\n\n // Add node for anchor\n addNode(anchorId, linksForAnchor);\n } else {\n if (!escalatorGraph.hasNode(anchorId)) {\n const edge = getEdge(anchorId);\n if (edge) {\n escalatorGraph.setNode(anchorId, {\n where: edge.where,\n });\n }\n }\n\n for (let j = 0; j < links.length; j += 1) {\n const link = links[j];\n if (!escalatorGraph.hasNode(link.property_secondRelatedId)) {\n escalatorGraph.setNode(anchorId, {\n where: link.taxonomy1Path,\n });\n }\n\n if (!escalatorGraph.hasEdge(anchorId, link.property_secondRelatedId)) {\n escalatorGraph.setEdge(anchorId, link.property_secondRelatedId, {\n ...link.property_portalLink,\n });\n }\n }\n }\n });\n }\n\n // eslint-disable-next-line no-loop-func\n const extrapolateLinks = (graph: DagreGraph) => {\n const components = alg.components(graph);\n components.forEach((component) => {\n const reachableNodes = component;\n\n // Connect the node directly to each indirectly connected node\n for (let i = 0; i < reachableNodes.length; i += 1) {\n const node1 = reachableNodes[i];\n for (let j = i + 1; j < reachableNodes.length; j += 1) {\n const node2 = reachableNodes[j];\n if (node1 !== node2 && !graph.hasEdge(node1, node2)) {\n let edgeData = {\n cost: 120, direction: 2, wheelchair: true,\n };\n const nodeEdges = graph.nodeEdges(node1);\n let isParallelLink = false;\n if (nodeEdges && nodeEdges.length > 0) {\n for (let k = 0; !isParallelLink && k < nodeEdges.length; k += 1) {\n const nodeEdge = nodeEdges[k];\n\n // check sibling connection with node2\n const nodeToUse = nodeEdge.v === node1 ? nodeEdge.w : nodeEdge.v;\n if (graph.hasEdge(nodeToUse, node2)) {\n const nodeEdgeData = graph.edgeAsObj(nodeToUse, node2);\n if ('isParallel' in nodeEdgeData && nodeEdgeData.isParallel) {\n isParallelLink = true;\n }\n }\n }\n edgeData = graph.edgeAsObj(nodeEdges[0]) as any;\n }\n\n if (!isParallelLink) {\n if (graph.hasEdge(node2, node1)) {\n edgeData = cloneDeep(graph.edgeAsObj(node2, node1) as any);\n if ('direction' in edgeData && edgeData.direction) {\n if (edgeData.direction !== 2) edgeData.direction *= -1;\n }\n }\n graph.setEdge(node1, node2, edgeData);\n }\n }\n }\n }\n\n // Delete all parallel links from graph\n for (let i = 0; i < reachableNodes.length; i += 1) {\n const node1 = reachableNodes[i];\n const nodeEdges = graph.nodeEdges(node1);\n for (let k = 0; nodeEdges && k < nodeEdges.length; k += 1) {\n const nodeEdge = nodeEdges[k];\n const nodeEdgeData = graph.edgeAsObj(nodeEdge);\n if ('isParallel' in nodeEdgeData && nodeEdgeData.isParallel) {\n graph.removeEdge(nodeEdge.v, nodeEdge.w);\n }\n }\n }\n });\n };\n\n const addLinkUsingGraph = (portal: Portal, escalatorEdge: GraphEdge) => {\n const nodeEdgeData = escalatorGraph.edge(escalatorEdge);\n const {\n cost, direction, wheelchair, pathFeatures, description,\n } = nodeEdgeData;\n const edge = getEdge(escalatorEdge.w);\n if (edge && edge.lines) {\n const portalEdge = {\n ...edge,\n cost,\n direction,\n wheelchair,\n pathFeatures,\n description,\n } as PortalEdge;\n portal.links.push(portalEdge);\n allEdgeLines.push(...edge.lines);\n }\n };\n\n const start = performance.now();\n extrapolateLinks(escalatorGraph);\n console.log('time extrapolation: ', (performance.now() - start) / 1000);\n\n // Add escaaltor links to portalEdgeData using the escalator graph\n const escalatorGraphEdges = escalatorGraph.edges();\n for (let i = 0; i < escalatorGraphEdges.length; i += 1) {\n const escalatorEdge = escalatorGraphEdges[i];\n // eslint-disable-next-line no-prototype-builtins\n if (!portalEdgeData.hasOwnProperty(escalatorEdge.v)) {\n // Add node and then add link\n const portal = addNode(escalatorEdge.v, []);\n if (portal) {\n addLinkUsingGraph(portal, escalatorEdge);\n }\n } else {\n const portal = portalEdgeData[escalatorEdge.v];\n addLinkUsingGraph(portal, escalatorEdge);\n }\n }\n\n console.log('portalEdgeData', portalEdgeData);\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n\nexport function filterPortalEdgeDataByWhere(allPortalEdgeData: PortalEdgeData, whereDimension: string) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n // eslint-disable-next-line no-restricted-syntax\n for (const portalId in allPortalEdgeData) {\n if (allPortalEdgeData[portalId].where.includes(whereDimension)) {\n const portal = allPortalEdgeData[portalId];\n portalEdgeData[portalId] = portal;\n allEdgeLines.push(...portal.lines);\n portal.links.forEach((link) => {\n allEdgeLines.push(...link.lines);\n });\n }\n }\n\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n\nexport function filterPortalEdgeDataByList(allPortalEdgeData: PortalEdgeData, portalIdList: Set<string>) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n portalIdList.forEach((portalId) => {\n if (portalId in allPortalEdgeData && portalIdList.has(allPortalEdgeData[portalId].id)) {\n const portal = allPortalEdgeData[portalId];\n portalEdgeData[portalId] = portal;\n allEdgeLines.push(...portal.lines);\n portal.links.forEach((link) => {\n allEdgeLines.push(...link.lines);\n });\n }\n });\n\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAGA,IAAAM,iBAAA,GAAAN,OAAA;AAA6C,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAE,CAAA;AAAA,SAAAQ,QAAAJ,CAAA,sCAAAI,OAAA,wBAAAU,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAf,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAc,MAAA,IAAAd,CAAA,CAAAgB,WAAA,KAAAF,MAAA,IAAAd,CAAA,KAAAc,MAAA,CAAAG,SAAA,qBAAAjB,CAAA,KAAAI,OAAA,CAAAJ,CAAA;AAAA,SAAAkB,mBAAApB,CAAA,WAAAqB,kBAAA,CAAArB,CAAA,KAAAsB,gBAAA,CAAAtB,CAAA,KAAAuB,2BAAA,CAAAvB,CAAA,KAAAwB,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAvB,CAAA,EAAA0B,CAAA,QAAA1B,CAAA,2BAAAA,CAAA,SAAA2B,iBAAA,CAAA3B,CAAA,EAAA0B,CAAA,OAAA5B,CAAA,MAAA8B,QAAA,CAAAhB,IAAA,CAAAZ,CAAA,EAAA6B,KAAA,6BAAA/B,CAAA,IAAAE,CAAA,CAAAkB,WAAA,KAAApB,CAAA,GAAAE,CAAA,CAAAkB,WAAA,CAAAY,IAAA,aAAAhC,CAAA,cAAAA,CAAA,GAAAiC,KAAA,CAAAC,IAAA,CAAAhC,CAAA,oBAAAF,CAAA,+CAAAmC,IAAA,CAAAnC,CAAA,IAAA6B,iBAAA,CAAA3B,CAAA,EAAA0B,CAAA;AAAA,SAAAJ,iBAAAtB,CAAA,8BAAAgB,MAAA,YAAAhB,CAAA,CAAAgB,MAAA,CAAAC,QAAA,aAAAjB,CAAA,uBAAA+B,KAAA,CAAAC,IAAA,CAAAhC,CAAA;AAAA,SAAAqB,mBAAArB,CAAA,QAAA+B,KAAA,CAAAG,OAAA,CAAAlC,CAAA,UAAA2B,iBAAA,CAAA3B,CAAA;AAAA,SAAA2B,kBAAA3B,CAAA,EAAA0B,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAA1B,CAAA,CAAAmC,MAAA,MAAAT,CAAA,GAAA1B,CAAA,CAAAmC,MAAA,YAAAvC,CAAA,MAAAK,CAAA,GAAA8B,KAAA,CAAAL,CAAA,GAAA9B,CAAA,GAAA8B,CAAA,EAAA9B,CAAA,IAAAK,CAAA,CAAAL,CAAA,IAAAI,CAAA,CAAAJ,CAAA,UAAAK,CAAA;AAAA,SAAAmC,QAAAxC,CAAA,EAAAI,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAwB,IAAA,CAAAzC,CAAA,OAAAiB,MAAA,CAAAyB,qBAAA,QAAApC,CAAA,GAAAW,MAAA,CAAAyB,qBAAA,CAAA1C,CAAA,GAAAI,CAAA,KAAAE,CAAA,GAAAA,CAAA,CAAAqC,MAAA,WAAAvC,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAwC,UAAA,OAAA1C,CAAA,CAAA2C,IAAA,CAAAC,KAAA,CAAA5C,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAA6C,cAAA/C,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAA4C,SAAA,CAAAT,MAAA,EAAAnC,CAAA,UAAAF,CAAA,WAAA8C,SAAA,CAAA5C,CAAA,IAAA4C,SAAA,CAAA5C,CAAA,QAAAA,CAAA,OAAAoC,OAAA,CAAAvB,MAAA,CAAAf,CAAA,OAAA+C,OAAA,WAAA7C,CAAA,IAAA8C,eAAA,CAAAlD,CAAA,EAAAI,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAkC,yBAAA,GAAAlC,MAAA,CAAAmC,gBAAA,CAAApD,CAAA,EAAAiB,MAAA,CAAAkC,yBAAA,CAAAjD,CAAA,KAAAsC,OAAA,CAAAvB,MAAA,CAAAf,CAAA,GAAA+C,OAAA,WAAA7C,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAJ,CAAA;AAAA,SAAAkD,gBAAAlD,CAAA,EAAAI,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAiD,cAAA,CAAAjD,CAAA,MAAAJ,CAAA,GAAAiB,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAI,CAAA,IAAAkD,KAAA,EAAApD,CAAA,EAAA0C,UAAA,MAAAW,YAAA,MAAAC,QAAA,UAAAxD,CAAA,CAAAI,CAAA,IAAAF,CAAA,EAAAF,CAAA;AAAA,SAAAqD,eAAAnD,CAAA,QAAAK,CAAA,GAAAkD,YAAA,CAAAvD,CAAA,gCAAAQ,OAAA,CAAAH,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAkD,aAAAvD,CAAA,EAAAE,CAAA,oBAAAM,OAAA,CAAAR,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAkB,MAAA,CAAAsC,WAAA,kBAAA1D,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAgB,IAAA,CAAAd,CAAA,EAAAE,CAAA,gCAAAM,OAAA,CAAAH,CAAA,UAAAA,CAAA,YAAAsB,SAAA,yEAAAzB,CAAA,GAAAuD,MAAA,GAAAC,MAAA,EAAA1D,CAAA;AAE7C,IAAM2D,SAAS,GAAG,KAAK;AAEhB,IAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAI,CAAC,CAAC;;AAGrC,SAASE,kBAAkBA,CAACC,OAAuB,EAAEC,KAAwC,EAAE;EAC7F,IAAIC,UAAU,GAAG,CAAC,CAAC;EACnB5E,IAAI,CAAC6E,SAAS,CAACH,OAAO,EAAE,UAACI,YAAsB,EAAEC,UAAkB,EAAEC,YAAoB,EAAEC,iBAAyB,EAAEC,aAAqB,EAAK;IAC9I,IAAIN,UAAU,KAAK,CAAC,CAAC,EAAE;MACrB,IAAMO,UAAU,GAAGnF,IAAI,CAAC2E,KAAK,CAACG,YAAY,CAAC;MAC3C,IAAMM,IAAI,GAAGpF,IAAI,CAACqF,QAAQ,CAACV,KAAK,EAAEQ,UAAU,EAAE;QAC5CG,KAAK,EAAE;MACT,CAAC,CAAC;MACF,IAAIhB,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,cAAc,EAAET,UAAU,EAAEK,IAAI,CAAC;MAC5D,IAAIA,IAAI,GAAGb,eAAe,EAAEK,UAAU,GAAGG,UAAU;IACrD;EACF,CAAC,CAAC;EAEF,IAAIT,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEZ,UAAU,CAAC;EACtD,OAAOA,UAAU;AACnB;AAEA,SAASa,wBAAwBA,CAC/BC,gBAAmD,EACnDhB,OAAuB,EAEvB;EAAA,IADAiB,aAAa,GAAAlC,SAAA,CAAAT,MAAA,QAAAS,SAAA,QAAAmC,SAAA,GAAAnC,SAAA,MAAG,IAAI;EAEpB,IAAMoC,SAAS,GAAG,SAAZA,SAASA,CAAIlB,KAAe,EAAEmB,IAAoB,EAAK;IAC3D,IAAMC,cAAc,GAAG/F,IAAI,CAACgG,WAAW,CAACF,IAAI,CAAC;IAC7C,IAAMG,aAAa,GAAGjG,IAAI,CAACkG,kBAAkB,CAACH,cAAc,EAAEpB,KAAK,CAAC;IACpE,IAAIsB,aAAa,CAACE,UAAU,CAACC,KAAK,KAAKR,SAAS,EAAE;MAChDlB,OAAO,CAAC2B,QAAQ,CAACC,WAAW,CAACC,MAAM,CAACN,aAAa,CAACE,UAAU,CAACC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAEV,gBAAgB,CAACW,QAAQ,CAACC,WAAW,CAAC;MACjH,IAAI5B,OAAO,CAACyB,UAAU,EAAEzB,OAAO,CAACyB,UAAU,CAACK,QAAQ,GAAG,CAAC;MACvD,IAAIlC,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,OAAO,CAAC;IACrC,CAAC,MAAM,IAAIlB,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;EACtE,CAAC;EAED,IAAIG,aAAa,EAAE;IACjB,IAAMc,WAAW,GAAGhC,kBAAkB,CAACC,OAAO,EAAEgB,gBAAgB,CAAC;IACjE,IAAIe,WAAW,KAAK,CAAC,CAAC,EAAE;MACtBZ,SAAS,CAACH,gBAAgB,CAACW,QAAQ,CAACC,WAAW,EAAE5B,OAAO,CAAC;IAC3D,CAAC,MAAM;MACL,IAAIJ,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAEiB,WAAW,CAAC;MAC/D/B,OAAO,CAAC2B,QAAQ,CAACC,WAAW,CAACG,WAAW,CAAC,GAAGf,gBAAgB,CAACW,QAAQ,CAACC,WAAW;MACjF,IAAI5B,OAAO,CAACyB,UAAU,EAAEzB,OAAO,CAACyB,UAAU,CAACK,QAAQ,GAAG,CAAC;IACzD;EACF,CAAC,MAAM;IACLX,SAAS,CAACH,gBAAgB,CAACW,QAAQ,CAACC,WAAW,EAAE5B,OAAO,CAAC;EAC3D;AACF;AAEA,SAASgC,IAAIA,CAACnE,CAAiB,EAAEoE,CAAiB,EAAE;EAClD,IAAI3G,IAAI,CAAC4G,OAAO,CAACrE,CAAC,CAAC,KAAK,YAAY,EAAE;IACpCvC,IAAI,CAAC6E,SAAS,CAACtC,CAAC,EAAE,UAACuC,YAAsB,EAAEC,UAAkB,EAAEC,YAAoB,EAAEC,iBAAyB,EAAEC,aAAqB,EAAK;MACxI,IAAM2B,YAAY,GAAG7G,IAAI,CAAC2E,KAAK,CAACG,YAAY,CAAC;MAC7C,IAAMiB,cAAc,GAAG/F,IAAI,CAACgG,WAAW,CAACW,CAAC,CAAC;MAC1C,IAAMG,YAAY,GAAG9G,IAAI,CAACkG,kBAAkB,CAACH,cAAc,EAAEc,YAAY,EAAE;QAAEvB,KAAK,EAAE;MAAS,CAAC,CAAC;MAE/F,IAAIwB,YAAY,IACXA,YAAY,CAACX,UAAU,CAACf,IAAI,KAAKQ,SAAS,IAAIkB,YAAY,CAACX,UAAU,CAACC,KAAK,KAAKR,SAAS,EAAE;QAC9F,IAAMmB,oBAAoB,GAAG/G,IAAI,CAAC2E,KAAK,CAACgC,CAAC,CAACN,QAAQ,CAACC,WAAW,CAACQ,YAAY,CAACX,UAAU,CAACC,KAAK,CAAC,CAAC;QAC9F,IAAMY,0BAA0B,GAAGhH,IAAI,CAACqF,QAAQ,CAACwB,YAAY,EAAEE,oBAAoB,EAAE;UACnFzB,KAAK,EAAE;QACT,CAAC,CAAC;QACF;QACA,IAAI0B,0BAA0B,GAAGzC,eAAe,EAAE;UAChDuC,YAAY,CAACT,QAAQ,CAACC,WAAW,GAAGS,oBAAoB,CAACV,QAAQ,CAACC,WAAW;UAC7E/D,CAAC,CAAC8D,QAAQ,CAACC,WAAW,CAACvB,UAAU,CAAC,GAAG+B,YAAY,CAACT,QAAQ,CAACC,WAAW;UACtE,IAAI/D,CAAC,CAAC4D,UAAU,EAAE5D,CAAC,CAAC4D,UAAU,CAACK,QAAQ,GAAG,CAAC;QAC7C,CAAC;UACD;UACA,IAAIM,YAAY,CAACX,UAAU,CAACf,IAAI,GAAGb,eAAe,EAAE;YAClDhC,CAAC,CAAC8D,QAAQ,CAACC,WAAW,CAACvB,UAAU,CAAC,GAAG+B,YAAY,CAACT,QAAQ,CAACC,WAAW;YACtEK,CAAC,CAACN,QAAQ,CAACC,WAAW,CAACC,MAAM,CAACO,YAAY,CAACX,UAAU,CAACC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAEU,YAAY,CAACT,QAAQ,CAACC,WAAW,CAAC;YACtG,IAAI/D,CAAC,CAAC4D,UAAU,EAAE5D,CAAC,CAAC4D,UAAU,CAACK,QAAQ,GAAG,CAAC;UAC7C;MACF;IACF,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;;AAEA;AACO,SAASS,6BAA6BA,CAAC1E,CAAmB,EAAEoE,CAAmB,EAAE;EACtF,KAAK,IAAI3F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuB,CAAC,CAACS,MAAM,EAAEhC,CAAC,IAAI,CAAC,EAAE;IACpC,KAAK,IAAIkG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGP,CAAC,CAAC3D,MAAM,EAAEkE,CAAC,IAAI,CAAC,EAAE;MACpC,IAAI3E,CAAC,CAACvB,CAAC,CAAC,CAACmG,EAAE,KAAKR,CAAC,CAACO,CAAC,CAAC,CAACC,EAAE,EAAE;QACvB;QACAT,IAAI,CAACnE,CAAC,CAACvB,CAAC,CAAC,EAAE2F,CAAC,CAACO,CAAC,CAAC,CAAC;QAChBR,IAAI,CAACC,CAAC,CAACO,CAAC,CAAC,EAAE3E,CAAC,CAACvB,CAAC,CAAC,CAAC;QAChB,IAAMoG,aAAa,GAAGpH,IAAI,CAACqH,aAAa,CAAC9E,CAAC,CAACvB,CAAC,CAAC,EAAS2F,CAAC,CAACO,CAAC,CAAQ,CAAC;QAClE,IAAI5C,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAExE,CAAC,EAAEkG,CAAC,EAAEE,aAAa,CAAC;;QAErE;QACA,IAAIA,aAAa,CAACE,QAAQ,CAACtE,MAAM,GAAG,CAAC,EAAE;UACrC,KAAK,IAAIoD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGgB,aAAa,CAACE,QAAQ,CAACtE,MAAM,EAAEoD,KAAK,IAAI,CAAC,EAAE;YACrE,IAAMmB,kBAAkB,GAAGH,aAAa,CAACE,QAAQ,CAAClB,KAAK,CAAC;YAExDX,wBAAwB,CAAC8B,kBAAkB,EAAEhF,CAAC,CAACvB,CAAC,CAAC,CAAC;YAClDyE,wBAAwB,CAAC8B,kBAAkB,EAAEZ,CAAC,CAACO,CAAC,CAAC,CAAC;UACpD;QACF;MACF,CAAC,MAAM;QACL;QACAP,CAAC,CAACO,CAAC,CAAC,GAAG3E,CAAC,CAACvB,CAAC,CAAC;MACb;IACF;EACF;EAEA,OAAO2F,CAAC;AACV;;AAEA;AACO,SAASa,SAASA,CAACjF,CAAmB,EAAEoE,CAAmB,EAAE;EAClE;EACA,IAAMc,IAAI,GAAG,IAAAC,wBAAY,EAAC,CAAC;EAC3BD,IAAI,CAACE,IAAI,CAAChB,CAAC,CAAC;;EAEZ;EACApE,CAAC,CAACmB,OAAO,CAAC,UAACkE,KAAK,EAAK;IACnB,IAAMC,KAAK,GAAG7H,IAAI,CAAC8H,IAAI,CAACF,KAAK,CAAC;IAC9B,IAAMG,eAAe,GAAGN,IAAI,CAACO,MAAM,CAACH,KAAK,CAAC;IAE1C,IAAIvD,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEoC,KAAK,CAACzB,UAAU,CAAC8B,KAAK,EAAEF,eAAe,CAAC;IAE5FA,eAAe,CAACT,QAAQ,CAAC5D,OAAO,CAAC,UAACwE,KAAK,EAAK;MAC1C,IAAMC,KAAK,GAAGD,KAAK;MACnB,IAAIN,KAAK,CAACzB,UAAU,IAAIyB,KAAK,CAACzB,UAAU,CAACiC,eAAe,IACnDD,KAAK,CAAChC,UAAU,IAAIgC,KAAK,CAAChC,UAAU,CAACiC,eAAe,IACpDR,KAAK,CAACzB,UAAU,CAACiC,eAAe,KAAKD,KAAK,CAAChC,UAAU,CAACiC,eAAe,EACxE;QACA;QACA1B,IAAI,CAACkB,KAAK,EAAEO,KAAY,CAAC;QACzB,IAAMf,aAAa,GAAGpH,IAAI,CAACqH,aAAa,CAACO,KAAK,EAASO,KAAY,CAAC;QACpE,IAAI7D,SAAS,EAAEiB,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE4B,aAAa,CAAC;;QAE1D;QACA,IAAIA,aAAa,CAACE,QAAQ,CAACtE,MAAM,GAAG,CAAC,EAAE;UACrC,KAAK,IAAIkE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGE,aAAa,CAACE,QAAQ,CAACtE,MAAM,EAAEkE,CAAC,IAAI,CAAC,EAAE;YACzD,IAAMK,kBAAkB,GAAGH,aAAa,CAACE,QAAQ,CAACJ,CAAC,CAAC;YAEpDzB,wBAAwB,CAAC8B,kBAAkB,EAAEK,KAAK,EAAE,KAAK,CAAC;YAC1DnC,wBAAwB,CAAC8B,kBAAkB,EAAEY,KAAK,EAAS,KAAK,CAAC;UACnE;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASE,cAAcA,CAACf,QAAwB,EAAEgB,UAAsB,EAAE;EAC/E,IAAIhB,QAAQ,EAAE;IACZ,KAAK,IAAIlB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGkB,QAAQ,CAACtE,MAAM,EAAEoD,KAAK,IAAI,CAAC,EAAE;MACvD,IAAM1B,OAAO,GAAG4C,QAAQ,CAAClB,KAAK,CAAC;MAC/B;MACA1B,OAAO,CAACyB,UAAU,CAACK,QAAQ,GAAG,CAAC;MAE/B8B,UAAU,CAACC,GAAG,CAAC7D,OAAc,CAAC;IAChC;EACF;AACF;AAEO,SAAS8D,oBAAoBA,CAAClB,QAAmB,EAAwB;EAC9E,KAAK,IAAIlB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGkB,QAAQ,CAACtE,MAAM,EAAEoD,KAAK,IAAI,CAAC,EAAE;IACvD,IAAM1B,OAAO,GAAG4C,QAAQ,CAAClB,KAAK,CAAC;IAC/B,IAAMqC,IAAI,GAAGzI,IAAI,CAAC4G,OAAO,CAAClC,OAAc,CAAC;IAEzC,IAAI+D,IAAI,KAAK,OAAO,EAAE;MACpB,OAAO/D,OAAO;IAChB;EACF;EAEA,OAAOkB,SAAS;AAClB;AAEO,SAAS8C,kBAAkBA,CAACC,SAAiB,EAAE;EACpD,IAAMC,WAAW,GAAGD,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;EACxC,IAAMC,aAAa,GAAGF,WAAW,CAACA,WAAW,CAAC5F,MAAM,GAAG,CAAC,CAAC;EACzD,IAAM+F,0BAA0B,GAAGJ,SAAS,CAACK,OAAO,CAAC,GAAG,CAACC,MAAM,CAACH,aAAa,CAAC,EAAE,EAAE,CAAC;EACnF,OAAOC,0BAA0B;AACnC;AAEO,IAAMG,iBAAiB,GAAA1E,OAAA,CAAA0E,iBAAA,GAAG,iBAAiB;AAC3C,SAASC,iBAAiBA,CAACC,WAAwB,EAAE;EAC1D,IAAMC,YAAyB,GAAG,EAAE;EACpC,IAAMC,cAA0C,GAAG,CAAC,CAAC;EAErD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,IAAS,EAAEC,SAAuB,EAAK;IACtD,IAAAC,qBAAA,GAEIF,IAAI,CAACG,mBAAmB;MAD1BC,IAAI,GAAAF,qBAAA,CAAJE,IAAI;MAAEC,SAAS,GAAAH,qBAAA,CAATG,SAAS;MAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;MAAEC,WAAW,GAAAL,qBAAA,CAAXK,WAAW;IAE1C,IAAMC,IAAI,GAAG,IAAAC,yBAAO,EAACT,IAAI,CAACU,wBAAwB,CAAC;IACnD,IAAIF,IAAI,IAAIA,IAAI,CAACG,KAAK,EAAE;MACtB,IAAMC,YAAY,GAAIZ,IAAI,CAACa,kBAAkB,IAAIb,IAAI,CAACa,kBAAkB,CAAC/C,QAAQ,GAC5EkC,IAAI,CAACa,kBAAkB,CAAC/C,QAAQ,CAAClE,MAAM,CACxC,UAACsB,OAAkC;QAAA,OAAKA,OAAO,CAAC2B,QAAQ,KAAKT,SAAS,IAAI5F,IAAI,CAAC4G,OAAO,CAAClC,OAAO,CAAC,KAAK,YAAY,IAAIA,OAAO,CAAC2B,QAAQ,CAACC,WAAW,CAACtD,MAAM,GAAG,CAAC;MAAA,CAC7J,CAAC,GACC,IAAI;MACR,IAAMsH,UAAU,GAAA9G,aAAA,CAAAA,aAAA,KACXwG,IAAI;QACPJ,IAAI,EAAJA,IAAI;QACJC,SAAS,EAATA,SAAS;QACTC,UAAU,EAAVA,UAAU;QACVM,YAAY,EAAZA,YAAY;QACZL,WAAW,EAAXA;MAAW,EACE;MACfN,SAAS,CAACnG,IAAI,CAACgH,UAAU,CAAC;MAE1BjB,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAAS+H,IAAI,CAACG,KAAK,EAAC;IAClC;EACF,CAAC;EAED,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAIC,WAAgB,EAAEC,KAAmB,EAAK;IACzD,IAAMT,IAAI,GAAG,IAAAC,yBAAO,EAACO,WAAW,CAAC;IACjC,IAAIR,IAAI,IAAIA,IAAI,CAACG,KAAK,EAAE;MACtB,IAAMO,MAAM,GAAAlH,aAAA,CAAAA,aAAA,KACPwG,IAAI;QACPS,KAAK,EAALA;MAAK,EACN;MACDnB,cAAc,CAACkB,WAAW,CAAC,GAAGE,MAAM;MAEpCrB,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAAS+H,IAAI,CAACG,KAAK,EAAC;MAEhC,OAAOO,MAAM;IACf;IAEA,OAAO9E,SAAS;EAClB,CAAC;EAEDL,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAE4D,WAAW,CAAC;EAC5C,IAAMuB,cAAc,GAAG,IAAIC,eAAU,CAAC,CAAC;EACvC,IAAI,CAAC,IAAAC,eAAO,EAACzB,WAAW,CAAC,EAAE;IACzB1H,MAAM,CAACwB,IAAI,CAACkG,WAAW,CAAC,CAAC1F,OAAO,CAAC,UAACoH,QAAQ,EAAK;MAC7C,IAAAC,qBAAA,GAAwB3B,WAAW,CAAC0B,QAAQ,CAAC;QAArCrC,IAAI,GAAAsC,qBAAA,CAAJtC,IAAI;QAAEgC,KAAK,GAAAM,qBAAA,CAALN,KAAK;MAEnB,IAAIhC,IAAI,KAAKuC,sBAAU,CAACC,SAAS,EAAE;QACjC,IAAMC,cAA6B,GAAG,EAAE;QACxC,KAAK,IAAIhE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuD,KAAK,CAACzH,MAAM,EAAEkE,CAAC,IAAI,CAAC,EAAE;UACxC,IAAMsC,IAAI,GAAGiB,KAAK,CAACvD,CAAC,CAAC;UACrBqC,OAAO,CAACC,IAAI,EAAE0B,cAAc,CAAC;UAE7B,IAAIzC,IAAI,KAAKuC,sBAAU,CAACG,IAAI,EAAE;YAC5B;YACA,IAAMC,iBAAgC,GAAG,EAAE;YAC3C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,KAAK,CAACzH,MAAM,EAAEqI,CAAC,IAAI,CAAC,EAAE;cACxC,IAAMC,UAAU,GAAGb,KAAK,CAACY,CAAC,CAAC;cAC3B,IAAIC,UAAU,CAACpB,wBAAwB,KAAKV,IAAI,CAACU,wBAAwB,EAAE;gBACzEX,OAAO,CAAC+B,UAAU,EAAEF,iBAAiB,CAAC;cACxC;YACF;YACA,IAAIA,iBAAiB,CAACpI,MAAM,GAAG,CAAC,EAAE;cAChC;cACAuH,OAAO,CAACf,IAAI,CAACU,wBAAwB,EAAEkB,iBAAiB,CAAC;YAC3D;UACF;QACF;;QAEA;QACAb,OAAO,CAACO,QAAQ,EAAEI,cAAc,CAAC;MACnC,CAAC,MAAM;QACL,IAAI,CAACP,cAAc,CAACY,OAAO,CAACT,QAAQ,CAAC,EAAE;UACrC,IAAMd,IAAI,GAAG,IAAAC,yBAAO,EAACa,QAAQ,CAAC;UAC9B,IAAId,IAAI,EAAE;YACRW,cAAc,CAACa,OAAO,CAACV,QAAQ,EAAE;cAC/BW,KAAK,EAAEzB,IAAI,CAACyB;YACd,CAAC,CAAC;UACJ;QACF;QAEA,KAAK,IAAIvE,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGuD,KAAK,CAACzH,MAAM,EAAEkE,EAAC,IAAI,CAAC,EAAE;UACxC,IAAMsC,KAAI,GAAGiB,KAAK,CAACvD,EAAC,CAAC;UACrB,IAAI,CAACyD,cAAc,CAACY,OAAO,CAAC/B,KAAI,CAACU,wBAAwB,CAAC,EAAE;YAC1DS,cAAc,CAACa,OAAO,CAACV,QAAQ,EAAE;cAC/BW,KAAK,EAAEjC,KAAI,CAACkC;YACd,CAAC,CAAC;UACJ;UAEA,IAAI,CAACf,cAAc,CAACgB,OAAO,CAACb,QAAQ,EAAEtB,KAAI,CAACU,wBAAwB,CAAC,EAAE;YACpES,cAAc,CAACiB,OAAO,CAACd,QAAQ,EAAEtB,KAAI,CAACU,wBAAwB,EAAA1G,aAAA,KACzDgG,KAAI,CAACG,mBAAmB,CAC5B,CAAC;UACJ;QACF;MACF;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,IAAMkC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAiB,EAAK;IAC9C,IAAMC,UAAU,GAAGC,aAAG,CAACD,UAAU,CAACD,KAAK,CAAC;IACxCC,UAAU,CAACrI,OAAO,CAAC,UAACuI,SAAS,EAAK;MAChC,IAAMC,cAAc,GAAGD,SAAS;;MAEhC;MACA,KAAK,IAAIjL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkL,cAAc,CAAClJ,MAAM,EAAEhC,CAAC,IAAI,CAAC,EAAE;QACjD,IAAMmL,KAAK,GAAGD,cAAc,CAAClL,CAAC,CAAC;QAC/B,KAAK,IAAIkG,CAAC,GAAGlG,CAAC,GAAG,CAAC,EAAEkG,CAAC,GAAGgF,cAAc,CAAClJ,MAAM,EAAEkE,CAAC,IAAI,CAAC,EAAE;UACrD,IAAMkF,KAAK,GAAGF,cAAc,CAAChF,CAAC,CAAC;UAC/B,IAAIiF,KAAK,KAAKC,KAAK,IAAI,CAACN,KAAK,CAACH,OAAO,CAACQ,KAAK,EAAEC,KAAK,CAAC,EAAE;YACnD,IAAIC,QAAQ,GAAG;cACbzC,IAAI,EAAE,GAAG;cAAEC,SAAS,EAAE,CAAC;cAAEC,UAAU,EAAE;YACvC,CAAC;YACD,IAAMwC,SAAS,GAAGR,KAAK,CAACQ,SAAS,CAACH,KAAK,CAAC;YACxC,IAAII,cAAc,GAAG,KAAK;YAC1B,IAAID,SAAS,IAAIA,SAAS,CAACtJ,MAAM,GAAG,CAAC,EAAE;cACrC,KAAK,IAAIqI,CAAC,GAAG,CAAC,EAAE,CAACkB,cAAc,IAAIlB,CAAC,GAAGiB,SAAS,CAACtJ,MAAM,EAAEqI,CAAC,IAAI,CAAC,EAAE;gBAC/D,IAAMmB,QAAQ,GAAGF,SAAS,CAACjB,CAAC,CAAC;;gBAE7B;gBACA,IAAMoB,SAAS,GAAGD,QAAQ,CAACE,CAAC,KAAKP,KAAK,GAAGK,QAAQ,CAACG,CAAC,GAAGH,QAAQ,CAACE,CAAC;gBAChE,IAAIZ,KAAK,CAACH,OAAO,CAACc,SAAS,EAAEL,KAAK,CAAC,EAAE;kBACnC,IAAMQ,YAAY,GAAGd,KAAK,CAACe,SAAS,CAACJ,SAAS,EAAEL,KAAK,CAAC;kBACtD,IAAI,YAAY,IAAIQ,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;oBAC3DP,cAAc,GAAG,IAAI;kBACvB;gBACF;cACF;cACAF,QAAQ,GAAGP,KAAK,CAACe,SAAS,CAACP,SAAS,CAAC,CAAC,CAAC,CAAQ;YACjD;YAEA,IAAI,CAACC,cAAc,EAAE;cACnB,IAAIT,KAAK,CAACH,OAAO,CAACS,KAAK,EAAED,KAAK,CAAC,EAAE;gBAC/BE,QAAQ,GAAG,IAAAU,iBAAS,EAACjB,KAAK,CAACe,SAAS,CAACT,KAAK,EAAED,KAAK,CAAQ,CAAC;gBAC1D,IAAI,WAAW,IAAIE,QAAQ,IAAIA,QAAQ,CAACxC,SAAS,EAAE;kBACjD,IAAIwC,QAAQ,CAACxC,SAAS,KAAK,CAAC,EAAEwC,QAAQ,CAACxC,SAAS,IAAI,CAAC,CAAC;gBACxD;cACF;cACAiC,KAAK,CAACF,OAAO,CAACO,KAAK,EAAEC,KAAK,EAAEC,QAAQ,CAAC;YACvC;UACF;QACF;MACF;;MAEA;MACA,KAAK,IAAIrL,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGkL,cAAc,CAAClJ,MAAM,EAAEhC,EAAC,IAAI,CAAC,EAAE;QACjD,IAAMmL,KAAK,GAAGD,cAAc,CAAClL,EAAC,CAAC;QAC/B,IAAMsL,UAAS,GAAGR,KAAK,CAACQ,SAAS,CAACH,KAAK,CAAC;QACxC,KAAK,IAAId,EAAC,GAAG,CAAC,EAAEiB,UAAS,IAAIjB,EAAC,GAAGiB,UAAS,CAACtJ,MAAM,EAAEqI,EAAC,IAAI,CAAC,EAAE;UACzD,IAAMmB,SAAQ,GAAGF,UAAS,CAACjB,EAAC,CAAC;UAC7B,IAAMuB,aAAY,GAAGd,KAAK,CAACe,SAAS,CAACL,SAAQ,CAAC;UAC9C,IAAI,YAAY,IAAII,aAAY,IAAIA,aAAY,CAACE,UAAU,EAAE;YAC3DhB,KAAK,CAACkB,UAAU,CAACR,SAAQ,CAACE,CAAC,EAAEF,SAAQ,CAACG,CAAC,CAAC;UAC1C;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC;EAED,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIvC,MAAc,EAAEwC,aAAwB,EAAK;IACtE,IAAMN,YAAY,GAAGjC,cAAc,CAACX,IAAI,CAACkD,aAAa,CAAC;IACvD,IACEtD,IAAI,GACFgD,YAAY,CADdhD,IAAI;MAAEC,SAAS,GACb+C,YAAY,CADR/C,SAAS;MAAEC,UAAU,GACzB8C,YAAY,CADG9C,UAAU;MAAEM,YAAY,GACvCwC,YAAY,CADexC,YAAY;MAAEL,WAAW,GACpD6C,YAAY,CAD6B7C,WAAW;IAExD,IAAMC,IAAI,GAAG,IAAAC,yBAAO,EAACiD,aAAa,CAACP,CAAC,CAAC;IACrC,IAAI3C,IAAI,IAAIA,IAAI,CAACG,KAAK,EAAE;MACtB,IAAMG,UAAU,GAAA9G,aAAA,CAAAA,aAAA,KACXwG,IAAI;QACPJ,IAAI,EAAJA,IAAI;QACJC,SAAS,EAATA,SAAS;QACTC,UAAU,EAAVA,UAAU;QACVM,YAAY,EAAZA,YAAY;QACZL,WAAW,EAAXA;MAAW,EACE;MACfW,MAAM,CAACD,KAAK,CAACnH,IAAI,CAACgH,UAAU,CAAC;MAC7BjB,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAAS+H,IAAI,CAACG,KAAK,EAAC;IAClC;EACF,CAAC;EAED,IAAMgD,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;EAC/BxB,gBAAgB,CAAClB,cAAc,CAAC;EAChCpF,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAE,CAAC4H,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,IAAI,IAAI,CAAC;;EAEvE;EACA,IAAMG,mBAAmB,GAAG3C,cAAc,CAAC4C,KAAK,CAAC,CAAC;EAClD,KAAK,IAAIvM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsM,mBAAmB,CAACtK,MAAM,EAAEhC,CAAC,IAAI,CAAC,EAAE;IACtD,IAAMkM,aAAa,GAAGI,mBAAmB,CAACtM,CAAC,CAAC;IAC5C;IACA,IAAI,CAACsI,cAAc,CAAC9H,cAAc,CAAC0L,aAAa,CAACR,CAAC,CAAC,EAAE;MACnD;MACA,IAAMhC,MAAM,GAAGH,OAAO,CAAC2C,aAAa,CAACR,CAAC,EAAE,EAAE,CAAC;MAC3C,IAAIhC,MAAM,EAAE;QACVuC,iBAAiB,CAACvC,MAAM,EAAEwC,aAAa,CAAC;MAC1C;IACF,CAAC,MAAM;MACL,IAAMxC,OAAM,GAAGpB,cAAc,CAAC4D,aAAa,CAACR,CAAC,CAAC;MAC9CO,iBAAiB,CAACvC,OAAM,EAAEwC,aAAa,CAAC;IAC1C;EACF;EAEA3H,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAE8D,cAAc,CAAC;EAC7C,OAAO;IACL+C,QAAQ,EAAE/C,cAAc;IACxBa,KAAK,EAAEd;EACT,CAAC;AACH;AAEO,SAASmE,2BAA2BA,CAACC,iBAAiC,EAAEC,cAAsB,EAAE;EACrG,IAAMrE,YAAyB,GAAG,EAAE;EACpC,IAAMC,cAA0C,GAAG,CAAC,CAAC;;EAErD;EACA,KAAK,IAAMqE,QAAQ,IAAIF,iBAAiB,EAAE;IACxC,IAAIA,iBAAiB,CAACE,QAAQ,CAAC,CAAClC,KAAK,CAACmC,QAAQ,CAACF,cAAc,CAAC,EAAE;MAC9D,IAAMhD,MAAM,GAAG+C,iBAAiB,CAACE,QAAQ,CAAC;MAC1CrE,cAAc,CAACqE,QAAQ,CAAC,GAAGjD,MAAM;MACjCrB,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAASyI,MAAM,CAACP,KAAK,EAAC;MAClCO,MAAM,CAACD,KAAK,CAAC/G,OAAO,CAAC,UAAC8F,IAAI,EAAK;QAC7BH,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAASuH,IAAI,CAACW,KAAK,EAAC;MAClC,CAAC,CAAC;IACJ;EACF;EAEA,OAAO;IACLkC,QAAQ,EAAE/C,cAAc;IACxBa,KAAK,EAAEd;EACT,CAAC;AACH;AAEO,SAASwE,0BAA0BA,CAACJ,iBAAiC,EAAEK,YAAyB,EAAE;EACvG,IAAMzE,YAAyB,GAAG,EAAE;EACpC,IAAMC,cAA0C,GAAG,CAAC,CAAC;EAErDwE,YAAY,CAACpK,OAAO,CAAC,UAACiK,QAAQ,EAAK;IACjC,IAAIA,QAAQ,IAAIF,iBAAiB,IAAIK,YAAY,CAAC1M,GAAG,CAACqM,iBAAiB,CAACE,QAAQ,CAAC,CAACxG,EAAE,CAAC,EAAE;MACrF,IAAMuD,MAAM,GAAG+C,iBAAiB,CAACE,QAAQ,CAAC;MAC1CrE,cAAc,CAACqE,QAAQ,CAAC,GAAGjD,MAAM;MACjCrB,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAASyI,MAAM,CAACP,KAAK,EAAC;MAClCO,MAAM,CAACD,KAAK,CAAC/G,OAAO,CAAC,UAAC8F,IAAI,EAAK;QAC7BH,YAAY,CAAC/F,IAAI,CAAAC,KAAA,CAAjB8F,YAAY,EAAApH,kBAAA,CAASuH,IAAI,CAACW,KAAK,EAAC;MAClC,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF,OAAO;IACLkC,QAAQ,EAAE/C,cAAc;IACxBa,KAAK,EAAEd;EACT,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["turf","_interopRequireWildcard","require","_geojsonRbush","_interopRequireDefault","_graphlib","_lodash","_interfaces","_mapObjectsHelper","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","debugMode","minSnapDistance","exports","indexOfPointOnLine","feature","point","matchIndex","coordEach","currentCoord","coordIndex","featureIndex","multiFeatureIndex","geometryIndex","lineVertex","dist","distance","units","console","log","addIntersectionToFeature","intersectedPoint","doNearbyCheck","undefined","addToLine","line","cleanedFeature","cleanCoords","nearestPoint1","nearestPointOnLine","properties","index","geometry","coordinates","splice","modified","indexOnLine","snap","a","b","getType","currentPoint","snappedPoint","existingVertexOnLine","distToExistingVertexOnLine","findIntersectionsWithSuperset","j","id","intersections","lineIntersect","features","intersectedFeature","optimized","tree","GeoJSONRBush","load","line1","bbox1","bbox","possibleMatches","search","title","match","line2","dimension_where","markAsModified","mapBoxDraw","add","getFirstPointFeature","type","getParentDimension","dimension","splitResult","split","lastChildName","parentDimensionValueStrict","replace","concat","DEFAULT_DIMENSION","getPortalEdgeData","portalLinks","allEdgeLines","portalEdgeData","addLink","link","container","cost","direction","wheelchair","description","property_portalLink","edge","getEdge","property_secondRelatedId","lines","pathFeatures","property_routeData","portalEdge","addNode","mapObjectId","links","portal","escalatorGraph","DagreGraph","isEmpty","anchorId","PortalType","escalator","linksForAnchor","lift","linksForNonAnchor","k","nestedLink","hasNode","setNode","where","taxonomy1Path","hasEdge","setEdge","extrapolateLinks","graph","components","alg","component","reachableNodes","node1","node2","edgeData","nodeEdges","isParallelLink","nodeEdge","nodeToUse","v","w","nodeEdgeData","edgeAsObj","isParallel","cloneDeep","removeEdge","addLinkUsingGraph","escalatorEdge","start","performance","now","escalatorGraphEdges","edges","filterPortalEdgeDataByWhere","allPortalEdgeData","whereDimension","portalId","includes","filterPortalEdgeDataByList","portalIdList"],"sources":["../../../../../src/meta-atlas-sdk/MetaAtlasCore/routing-core/utils.ts"],"sourcesContent":["import { Feature, LineString, GeoJsonProperties, Point } from 'geojson';\nimport * as turf from '@turf/turf';\nimport { Position } from 'geojson';\nimport MapboxDraw from '@mapbox/mapbox-gl-draw';\nimport GeoJSONRBush from 'geojson-rbush';\nimport { Graph as DagreGraph, alg, Edge as GraphEdge } from '@dagrejs/graphlib';\nimport { cloneDeep, isEmpty } from 'lodash';\nimport {\n EdgeLine, Portal, PortalEdge, PortalEdgeData, PortalLinks, PortalType,\n} from './interfaces';\nimport { getEdge } from './mapObjectsHelper';\n\nconst debugMode = false;\n\nexport const minSnapDistance = 1e-3; // meters\ntype turfLineString = Feature<LineString, GeoJsonProperties>;\n\nfunction indexOfPointOnLine(feature: turfLineString, point: Feature<Point, GeoJsonProperties>) {\n let matchIndex = -1;\n turf.coordEach(feature, (currentCoord: number[], coordIndex: number, featureIndex: number, multiFeatureIndex: number, geometryIndex: number) => {\n if (matchIndex === -1) {\n const lineVertex = turf.point(currentCoord);\n const dist = turf.distance(point, lineVertex, {\n units: 'meters',\n });\n if (debugMode) console.log('coordIndex: ', coordIndex, dist);\n if (dist < minSnapDistance) matchIndex = coordIndex;\n }\n });\n\n if (debugMode) console.log('matchIndex: ', matchIndex);\n return matchIndex;\n}\n\nfunction addIntersectionToFeature(\n intersectedPoint: Feature<Point, GeoJsonProperties>,\n feature: turfLineString,\n doNearbyCheck = true,\n) {\n const addToLine = (point: Position, line: turfLineString) => {\n const cleanedFeature = turf.cleanCoords(line);\n const nearestPoint1 = turf.nearestPointOnLine(cleanedFeature, point);\n if (nearestPoint1.properties.index !== undefined) {\n feature.geometry.coordinates.splice(nearestPoint1.properties.index + 1, 0, intersectedPoint.geometry.coordinates);\n if (feature.properties) feature.properties.modified = 1;\n if (debugMode) console.log('added');\n } else if (debugMode) console.log('nearest point on line undefined');\n };\n\n if (doNearbyCheck) {\n const indexOnLine = indexOfPointOnLine(feature, intersectedPoint);\n if (indexOnLine === -1) {\n addToLine(intersectedPoint.geometry.coordinates, feature);\n } else {\n if (debugMode) console.log('should update vertex', indexOnLine);\n feature.geometry.coordinates[indexOnLine] = intersectedPoint.geometry.coordinates;\n if (feature.properties) feature.properties.modified = 1;\n }\n } else {\n addToLine(intersectedPoint.geometry.coordinates, feature);\n }\n}\n\nfunction snap(a: turfLineString, b: turfLineString) {\n if (turf.getType(a) === 'LineString') {\n turf.coordEach(a, (currentCoord: number[], coordIndex: number, featureIndex: number, multiFeatureIndex: number, geometryIndex: number) => {\n const currentPoint = turf.point(currentCoord);\n const cleanedFeature = turf.cleanCoords(b);\n const snappedPoint = turf.nearestPointOnLine(cleanedFeature, currentPoint, { units: 'meters' });\n\n if (snappedPoint\n && snappedPoint.properties.dist !== undefined && snappedPoint.properties.index !== undefined) {\n const existingVertexOnLine = turf.point(b.geometry.coordinates[snappedPoint.properties.index]);\n const distToExistingVertexOnLine = turf.distance(currentPoint, existingVertexOnLine, {\n units: 'meters',\n });\n // If the snappedPoint is close (< minSnapDistance) to a pre-existing vertex then use that vertex instead of adding new\n if (distToExistingVertexOnLine < minSnapDistance) {\n snappedPoint.geometry.coordinates = existingVertexOnLine.geometry.coordinates;\n a.geometry.coordinates[coordIndex] = snappedPoint.geometry.coordinates;\n if (a.properties) a.properties.modified = 1;\n } else\n // Add a new line vertex to b and move vertex of a to the same location\n if (snappedPoint.properties.dist < minSnapDistance) {\n a.geometry.coordinates[coordIndex] = snappedPoint.geometry.coordinates;\n b.geometry.coordinates.splice(snappedPoint.properties.index + 1, 0, snappedPoint.geometry.coordinates);\n if (a.properties) a.properties.modified = 1;\n }\n }\n });\n }\n}\n\n// if required to disable route_edge X route_edge intersection\n//! (a[i].properties.dimension_what === b[i].properties.dimension_what && a[i].properties.dimension_what === RouteDimension.Edge && b[i].properties.dimension_what === RouteDimension.Edge)\n\n// b is a superset which also includes a\nexport function findIntersectionsWithSuperset(a: turfLineString[], b: turfLineString[]) {\n for (let i = 0; i < a.length; i += 1) {\n for (let j = 0; j < b.length; j += 1) {\n if (a[i].id !== b[j].id) {\n // TODO: Optimize for two-way snapping in one call\n snap(a[i], b[j]);\n snap(b[j], a[i]);\n const intersections = turf.lineIntersect(a[i] as any, b[j] as any);\n if (debugMode) console.log('intersections for ', i, j, intersections);\n\n // Add intersection points to the respective LineStrings\n if (intersections.features.length > 0) {\n for (let index = 0; index < intersections.features.length; index += 1) {\n const intersectedFeature = intersections.features[index];\n\n addIntersectionToFeature(intersectedFeature, a[i]);\n addIntersectionToFeature(intersectedFeature, b[j]);\n }\n }\n } else {\n // since b is a super set and is also returned as the final output, so copy latest state in b\n b[j] = a[i];\n }\n }\n }\n\n return b;\n}\n\n// It updates the given feature data inplace, make sure params are passed by reference.\nexport function optimized(a: turfLineString[], b: turfLineString[]) {\n // Step 1: Build spatial index for the second set of LineStrings\n const tree = GeoJSONRBush();\n tree.load(b);\n\n // Step 2: Find potential intersecting pairs using bounding boxes\n a.forEach((line1) => {\n const bbox1 = turf.bbox(line1);\n const possibleMatches = tree.search(bbox1);\n\n if (debugMode) console.log('possible matches for ', line1.properties.title, possibleMatches);\n\n possibleMatches.features.forEach((match) => {\n const line2 = match;\n if (line1.properties && line1.properties.dimension_where\n && line2.properties && line2.properties.dimension_where\n && line1.properties.dimension_where === line2.properties.dimension_where\n ) {\n // Step 3: Perform detailed intersection check\n snap(line1, line2 as any);\n const intersections = turf.lineIntersect(line1 as any, line2 as any);\n if (debugMode) console.log('intersections', intersections);\n\n // Add intersection points to the respective LineStrings\n if (intersections.features.length > 0) {\n for (let j = 0; j < intersections.features.length; j += 1) {\n const intersectedFeature = intersections.features[j];\n\n addIntersectionToFeature(intersectedFeature, line1, false);\n addIntersectionToFeature(intersectedFeature, line2 as any, false);\n }\n }\n }\n });\n });\n}\n\nexport function markAsModified(features: Array<Feature>, mapBoxDraw: MapboxDraw) {\n if (features) {\n for (let index = 0; index < features.length; index += 1) {\n const feature = features[index];\n // modified key is used to mark that a feature was updated by mapboxDraw or custom logic like intersection during the respective editing session\n feature.properties.modified = 1;\n\n mapBoxDraw.add(feature as any);\n }\n }\n}\n\nexport function getFirstPointFeature(features: Feature[]) : Feature | undefined {\n for (let index = 0; index < features.length; index += 1) {\n const feature = features[index];\n const type = turf.getType(feature as any);\n\n if (type === 'Point') {\n return feature;\n }\n }\n\n return undefined;\n}\n\nexport function getParentDimension(dimension: string) {\n const splitResult = dimension.split('.');\n const lastChildName = splitResult[splitResult.length - 1];\n const parentDimensionValueStrict = dimension.replace('.'.concat(lastChildName), '');\n return parentDimensionValueStrict;\n}\n\nexport const DEFAULT_DIMENSION = 'where.singapore';\nexport function getPortalEdgeData(portalLinks: PortalLinks) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n const addLink = (link: any, container: PortalEdge[]) => {\n const {\n cost, direction, wheelchair, description,\n } = link.property_portalLink;\n const edge = getEdge(link.property_secondRelatedId);\n if (edge && edge.lines) {\n const pathFeatures = (link.property_routeData && link.property_routeData.features)\n ? (link.property_routeData.features.filter(\n (feature : Feature<LineString, any>) => feature.geometry !== undefined && turf.getType(feature) === 'LineString' && feature.geometry.coordinates.length > 0,\n ))\n : null;\n const portalEdge = {\n ...edge,\n cost,\n direction,\n wheelchair,\n pathFeatures,\n description,\n } as PortalEdge;\n container.push(portalEdge);\n\n allEdgeLines.push(...edge.lines);\n }\n };\n\n const addNode = (mapObjectId: any, links: PortalEdge[]) => {\n const edge = getEdge(mapObjectId);\n if (edge && edge.lines) {\n const portal = {\n ...edge,\n links,\n };\n portalEdgeData[mapObjectId] = portal;\n\n allEdgeLines.push(...edge.lines);\n\n return portal;\n }\n\n return undefined;\n };\n\n console.log('portalData input', portalLinks);\n const escalatorGraph = new DagreGraph();\n if (!isEmpty(portalLinks)) {\n Object.keys(portalLinks).forEach((anchorId) => {\n const { type, links } = portalLinks[anchorId];\n\n if (type !== PortalType.escalator) {\n const linksForAnchor : PortalEdge[] = [];\n for (let j = 0; j < links.length; j += 1) {\n const link = links[j];\n addLink(link, linksForAnchor);\n\n if (type === PortalType.lift) {\n // Extrapolate links for non-anchor lifts\n const linksForNonAnchor : PortalEdge[] = [];\n for (let k = 0; k < links.length; k += 1) {\n const nestedLink = links[k];\n if (nestedLink.property_secondRelatedId !== link.property_secondRelatedId) {\n addLink(nestedLink, linksForNonAnchor);\n }\n }\n if (linksForNonAnchor.length > 0) {\n // Add node for non-anchor lift\n addNode(link.property_secondRelatedId, linksForNonAnchor);\n }\n }\n }\n\n // Add node for anchor\n addNode(anchorId, linksForAnchor);\n } else {\n if (!escalatorGraph.hasNode(anchorId)) {\n const edge = getEdge(anchorId);\n if (edge) {\n escalatorGraph.setNode(anchorId, {\n where: edge.where,\n });\n }\n }\n\n for (let j = 0; j < links.length; j += 1) {\n const link = links[j];\n if (!escalatorGraph.hasNode(link.property_secondRelatedId)) {\n escalatorGraph.setNode(anchorId, {\n where: link.taxonomy1Path,\n });\n }\n\n if (!escalatorGraph.hasEdge(anchorId, link.property_secondRelatedId)) {\n escalatorGraph.setEdge(anchorId, link.property_secondRelatedId, {\n ...link.property_portalLink,\n });\n }\n }\n }\n });\n }\n\n // eslint-disable-next-line no-loop-func\n const extrapolateLinks = (graph: DagreGraph) => {\n const components = alg.components(graph);\n components.forEach((component) => {\n const reachableNodes = component;\n\n // Connect the node directly to each indirectly connected node\n for (let i = 0; i < reachableNodes.length; i += 1) {\n const node1 = reachableNodes[i];\n for (let j = i + 1; j < reachableNodes.length; j += 1) {\n const node2 = reachableNodes[j];\n if (node1 !== node2 && !graph.hasEdge(node1, node2)) {\n let edgeData = {\n cost: 120, direction: 2, wheelchair: true,\n };\n const nodeEdges = graph.nodeEdges(node1);\n let isParallelLink = false;\n if (nodeEdges && nodeEdges.length > 0) {\n for (let k = 0; !isParallelLink && k < nodeEdges.length; k += 1) {\n const nodeEdge = nodeEdges[k];\n\n // check sibling connection with node2\n const nodeToUse = nodeEdge.v === node1 ? nodeEdge.w : nodeEdge.v;\n if (graph.hasEdge(nodeToUse, node2)) {\n const nodeEdgeData = graph.edgeAsObj(nodeToUse, node2);\n if ('isParallel' in nodeEdgeData && nodeEdgeData.isParallel) {\n isParallelLink = true;\n }\n }\n }\n edgeData = graph.edgeAsObj(nodeEdges[0]) as any;\n }\n\n if (!isParallelLink) {\n if (graph.hasEdge(node2, node1)) {\n edgeData = cloneDeep(graph.edgeAsObj(node2, node1) as any);\n if ('direction' in edgeData && edgeData.direction) {\n if (edgeData.direction !== 2) edgeData.direction *= -1;\n }\n }\n graph.setEdge(node1, node2, edgeData);\n }\n }\n }\n }\n\n // Delete all parallel links from graph\n for (let i = 0; i < reachableNodes.length; i += 1) {\n const node1 = reachableNodes[i];\n const nodeEdges = graph.nodeEdges(node1);\n for (let k = 0; nodeEdges && k < nodeEdges.length; k += 1) {\n const nodeEdge = nodeEdges[k];\n const nodeEdgeData = graph.edgeAsObj(nodeEdge);\n if ('isParallel' in nodeEdgeData && nodeEdgeData.isParallel) {\n graph.removeEdge(nodeEdge.v, nodeEdge.w);\n }\n }\n }\n });\n };\n\n const addLinkUsingGraph = (portal: Portal, escalatorEdge: GraphEdge) => {\n const nodeEdgeData = escalatorGraph.edge(escalatorEdge);\n const {\n cost, direction, wheelchair, pathFeatures, description,\n } = nodeEdgeData;\n const edge = getEdge(escalatorEdge.w);\n if (edge && edge.lines) {\n const portalEdge = {\n ...edge,\n cost,\n direction,\n wheelchair,\n pathFeatures,\n description,\n } as PortalEdge;\n portal.links.push(portalEdge);\n allEdgeLines.push(...edge.lines);\n }\n };\n\n const start = performance.now();\n extrapolateLinks(escalatorGraph);\n console.log('time extrapolation: ', (performance.now() - start) / 1000);\n\n // Add escaaltor links to portalEdgeData using the escalator graph\n const escalatorGraphEdges = escalatorGraph.edges();\n for (let i = 0; i < escalatorGraphEdges.length; i += 1) {\n const escalatorEdge = escalatorGraphEdges[i];\n // eslint-disable-next-line no-prototype-builtins\n if (!portalEdgeData.hasOwnProperty(escalatorEdge.v)) {\n // Add node and then add link\n const portal = addNode(escalatorEdge.v, []);\n if (portal) {\n addLinkUsingGraph(portal, escalatorEdge);\n }\n } else {\n const portal = portalEdgeData[escalatorEdge.v];\n addLinkUsingGraph(portal, escalatorEdge);\n }\n }\n\n console.log('portalEdgeData', portalEdgeData);\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n\nexport function filterPortalEdgeDataByWhere(allPortalEdgeData: PortalEdgeData, whereDimension: string) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n // eslint-disable-next-line no-restricted-syntax\n for (const portalId in allPortalEdgeData) {\n if (allPortalEdgeData[portalId].where.includes(whereDimension)) {\n const portal = allPortalEdgeData[portalId];\n portalEdgeData[portalId] = portal;\n allEdgeLines.push(...portal.lines);\n portal.links.forEach((link) => {\n allEdgeLines.push(...link.lines);\n });\n }\n }\n\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n\nexport function filterPortalEdgeDataByList(allPortalEdgeData: PortalEdgeData, portalIdList: Set<string>) {\n const allEdgeLines : EdgeLine[] = [];\n const portalEdgeData : { [key: string] : Portal} = {};\n\n portalIdList.forEach((portalId) => {\n if (portalId in allPortalEdgeData && portalIdList.has(allPortalEdgeData[portalId].id)) {\n const portal = allPortalEdgeData[portalId];\n portalEdgeData[portalId] = portal;\n allEdgeLines.push(...portal.lines);\n portal.links.forEach((link) => {\n allEdgeLines.push(...link.lines);\n });\n }\n });\n\n return {\n edgeData: portalEdgeData,\n lines: allEdgeLines,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.mapBoxDrawDefaultStyles = exports.customStyles = void 0;
|
|
7
|
-
|
|
7
|
+
const customStyles = exports.customStyles = [{
|
|
8
8
|
"id": "gl-draw-polygon-fill-inactive",
|
|
9
9
|
"type": "fill",
|
|
10
10
|
"filter": ["all", ["==", ["geometry-type"], "Polygon"]],
|
|
@@ -100,7 +100,7 @@ var customStyles = exports.customStyles = [{
|
|
|
100
100
|
'icon-allow-overlap': true
|
|
101
101
|
}
|
|
102
102
|
}];
|
|
103
|
-
|
|
103
|
+
const mapBoxDrawDefaultStyles = exports.mapBoxDrawDefaultStyles = [
|
|
104
104
|
// Mapbox default
|
|
105
105
|
{
|
|
106
106
|
'id': 'gl-draw-polygon-fill-inactive',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customStyles.js","names":["customStyles","exports","mapBoxDrawDefaultStyles"],"sources":["../../../src/meta-atlas-sdk/customStyles.ts"],"sourcesContent":["export const customStyles = [\n {\n \"id\": \"gl-draw-polygon-fill-inactive\",\n \"type\": \"fill\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Polygon\"],\n ],\n \"paint\": {\n \"fill-color\": \"#3bb2d0\",\n \"fill-outline-color\": \"#3bb2d0\",\n \"fill-opacity\": 0.1\n }\n },\n {\n \"id\": \"gl-draw-polygon-stroke-inactive\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Polygon\"],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 4\n }\n },\n {\n \"id\": \"gl-draw-line-inactive\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"LineString\"],\n [\"!\", ['has', 'marker']],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 4\n }\n },\n {\n \"id\": \"gl-draw-line-inactive-clickable-area\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"LineString\"],\n [\"!\", ['has', 'marker']],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 14,\n \"line-opacity\": 0.01,\n }\n },\n {\n \"id\": \"gl-draw-polygon-and-line-vertex-stroke-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 5,\n \"circle-color\": \"#fff\"\n }\n },\n // Nodes\n {\n \"id\": \"gl-draw-polygon-and-line-vertex-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 3,\n \"circle-color\": \"#fbb03b\"\n }\n },\n {\n \"id\": \"gl-draw-point-point-stroke-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 5,\n \"circle-opacity\": 1,\n \"circle-color\": \"#fff\"\n }\n },\n {\n \"id\": \"gl-draw-point-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 3,\n \"circle-color\": \"#3bb2d0\"\n }\n },\n\n // Marker\n {\n 'id': 'marker-static',\n \"type\": \"symbol\",\n 'filter': ['all',\n [\"==\", [\"geometry-type\"], \"LineString\"],\n ['has', 'marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n }\n ];\n\nexport const mapBoxDrawDefaultStyles = [\n // Mapbox default\n {\n 'id': 'gl-draw-polygon-fill-inactive',\n 'type': 'fill',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Polygon'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'fill-color': '#3bb2d0',\n 'fill-outline-color': '#3bb2d0',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-fill-active',\n 'type': 'fill',\n 'filter': ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n 'paint': {\n 'fill-color': '#fbb03b',\n 'fill-outline-color': '#fbb03b',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-midpoint',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['==', 'meta', 'midpoint']],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-inactive',\n 'type': 'line',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Polygon'],\n ['!=', 'mode', 'static']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#3bb2d0',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-active',\n 'type': 'line',\n 'filter': ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#fbb03b',\n 'line-dasharray': [0.2, 2],\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-inactive',\n 'type': 'line',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'LineString'],\n ['!=', 'mode', 'static']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#3bb2d0',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-active',\n 'type': 'line',\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'active', 'true']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#fbb03b',\n 'line-dasharray': [0.2, 2],\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-polygon-and-line-vertex-stroke-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'meta', 'vertex'],\n ['==', '$type', 'Point'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-polygon-and-line-vertex-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'meta', 'vertex'],\n ['==', '$type', 'Point'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-point-point-stroke-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Point'],\n ['==', 'meta', 'feature'],\n ['!=', 'mode', 'static'],\n \n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-opacity': 1,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-point-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Point'],\n ['==', 'meta', 'feature'],\n ['!=', 'mode', 'static'],\n \n ],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#3bb2d0'\n }\n },\n {\n 'id': 'gl-draw-point-stroke-active',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['==', 'active', 'true'],\n ['!=', 'meta', 'midpoint']\n ],\n 'paint': {\n 'circle-radius': 7,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-point-active',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['!=', 'meta', 'midpoint'],\n ['==', 'active', 'true']\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-polygon-fill-static',\n 'type': 'fill',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n 'paint': {\n 'fill-color': '#404040',\n 'fill-outline-color': '#404040',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-static',\n 'type': 'line',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#404040',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-static',\n 'type': 'line',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'LineString']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#404040',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-point-static',\n 'type': 'circle',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Point'],\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#404040'\n }\n },\n\n // Marker layers\n {\n 'id': 'marker-active',\n \"type\": \"symbol\",\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'meta', 'feature'],\n ['==', 'active', 'true'],\n ['has', 'user_marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user_forbidden',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n },\n {\n 'id': 'marker-inactive',\n 'type': 'symbol',\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'meta', 'feature'],\n ['==', 'active', 'false'],\n ['has', 'user_marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n },\n];"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"customStyles.js","names":["customStyles","exports","mapBoxDrawDefaultStyles"],"sources":["../../../src/meta-atlas-sdk/customStyles.ts"],"sourcesContent":["export const customStyles = [\n {\n \"id\": \"gl-draw-polygon-fill-inactive\",\n \"type\": \"fill\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Polygon\"],\n ],\n \"paint\": {\n \"fill-color\": \"#3bb2d0\",\n \"fill-outline-color\": \"#3bb2d0\",\n \"fill-opacity\": 0.1\n }\n },\n {\n \"id\": \"gl-draw-polygon-stroke-inactive\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Polygon\"],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 4\n }\n },\n {\n \"id\": \"gl-draw-line-inactive\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"LineString\"],\n [\"!\", ['has', 'marker']],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 4\n }\n },\n {\n \"id\": \"gl-draw-line-inactive-clickable-area\",\n \"type\": \"line\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"LineString\"],\n [\"!\", ['has', 'marker']],\n ],\n \"layout\": {\n \"line-cap\": \"round\",\n \"line-join\": \"round\"\n },\n \"paint\": {\n \"line-color\": \"#3bb2d0\",\n \"line-width\": 14,\n \"line-opacity\": 0.01,\n }\n },\n {\n \"id\": \"gl-draw-polygon-and-line-vertex-stroke-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 5,\n \"circle-color\": \"#fff\"\n }\n },\n // Nodes\n {\n \"id\": \"gl-draw-polygon-and-line-vertex-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 3,\n \"circle-color\": \"#fbb03b\"\n }\n },\n {\n \"id\": \"gl-draw-point-point-stroke-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 5,\n \"circle-opacity\": 1,\n \"circle-color\": \"#fff\"\n }\n },\n {\n \"id\": \"gl-draw-point-inactive\",\n \"type\": \"circle\",\n \"filter\": [\"all\",\n [\"==\", [\"geometry-type\"], \"Point\"],\n ],\n \"paint\": {\n \"circle-radius\": 3,\n \"circle-color\": \"#3bb2d0\"\n }\n },\n\n // Marker\n {\n 'id': 'marker-static',\n \"type\": \"symbol\",\n 'filter': ['all',\n [\"==\", [\"geometry-type\"], \"LineString\"],\n ['has', 'marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n }\n ];\n\nexport const mapBoxDrawDefaultStyles = [\n // Mapbox default\n {\n 'id': 'gl-draw-polygon-fill-inactive',\n 'type': 'fill',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Polygon'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'fill-color': '#3bb2d0',\n 'fill-outline-color': '#3bb2d0',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-fill-active',\n 'type': 'fill',\n 'filter': ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n 'paint': {\n 'fill-color': '#fbb03b',\n 'fill-outline-color': '#fbb03b',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-midpoint',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['==', 'meta', 'midpoint']],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-inactive',\n 'type': 'line',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Polygon'],\n ['!=', 'mode', 'static']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#3bb2d0',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-active',\n 'type': 'line',\n 'filter': ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#fbb03b',\n 'line-dasharray': [0.2, 2],\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-inactive',\n 'type': 'line',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'LineString'],\n ['!=', 'mode', 'static']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#3bb2d0',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-active',\n 'type': 'line',\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'active', 'true']\n ],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#fbb03b',\n 'line-dasharray': [0.2, 2],\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-polygon-and-line-vertex-stroke-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'meta', 'vertex'],\n ['==', '$type', 'Point'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-polygon-and-line-vertex-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'meta', 'vertex'],\n ['==', '$type', 'Point'],\n ['!=', 'mode', 'static']\n ],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-point-point-stroke-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Point'],\n ['==', 'meta', 'feature'],\n ['!=', 'mode', 'static'],\n \n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-opacity': 1,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-point-inactive',\n 'type': 'circle',\n 'filter': ['all',\n ['==', 'active', 'false'],\n ['==', '$type', 'Point'],\n ['==', 'meta', 'feature'],\n ['!=', 'mode', 'static'],\n \n ],\n 'paint': {\n 'circle-radius': 3,\n 'circle-color': '#3bb2d0'\n }\n },\n {\n 'id': 'gl-draw-point-stroke-active',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['==', 'active', 'true'],\n ['!=', 'meta', 'midpoint']\n ],\n 'paint': {\n 'circle-radius': 7,\n 'circle-color': '#fff'\n }\n },\n {\n 'id': 'gl-draw-point-active',\n 'type': 'circle',\n 'filter': ['all',\n ['==', '$type', 'Point'],\n ['!=', 'meta', 'midpoint'],\n ['==', 'active', 'true']\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#fbb03b'\n }\n },\n {\n 'id': 'gl-draw-polygon-fill-static',\n 'type': 'fill',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n 'paint': {\n 'fill-color': '#404040',\n 'fill-outline-color': '#404040',\n 'fill-opacity': 0.1\n }\n },\n {\n 'id': 'gl-draw-polygon-stroke-static',\n 'type': 'line',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#404040',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-line-static',\n 'type': 'line',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'LineString']],\n 'layout': {\n 'line-cap': 'round',\n 'line-join': 'round'\n },\n 'paint': {\n 'line-color': '#404040',\n 'line-width': 2\n }\n },\n {\n 'id': 'gl-draw-point-static',\n 'type': 'circle',\n 'filter': ['all', ['==', 'mode', 'static'], ['==', '$type', 'Point'],\n ],\n 'paint': {\n 'circle-radius': 5,\n 'circle-color': '#404040'\n }\n },\n\n // Marker layers\n {\n 'id': 'marker-active',\n \"type\": \"symbol\",\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'meta', 'feature'],\n ['==', 'active', 'true'],\n ['has', 'user_marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user_forbidden',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n },\n {\n 'id': 'marker-inactive',\n 'type': 'symbol',\n 'filter': ['all',\n ['==', '$type', 'LineString'],\n ['==', 'meta', 'feature'],\n ['==', 'active', 'false'],\n ['has', 'user_marker']\n ],\n 'paint': {\n \"icon-opacity\": 1,\n },\n 'layout': {\n 'icon-image': 'live_user',\n 'icon-offset': [0, -23],\n 'icon-allow-overlap': true\n },\n },\n];"],"mappings":";;;;;;AAAO,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CACxB;EACE,IAAI,EAAE,+BAA+B;EACrC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CACrC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,iCAAiC;EACvC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CACrC;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,uBAAuB;EAC7B,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACvC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CACzB;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,sCAAsC;EAC5C,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACvC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CACzB;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,iDAAiD;EACvD,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CACnC;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC;AACD;AACA;EACE,IAAI,EAAE,0CAA0C;EAChD,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CACnC;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,qCAAqC;EAC3C,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CACnC;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,wBAAwB;EAC9B,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CACnC;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC;AAED;AACA;EACE,IAAI,EAAE,eAAe;EACrB,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACvC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClB;EACD,OAAO,EAAE;IACP,cAAc,EAAE;EAClB,CAAC;EACD,QAAQ,EAAE;IACR,YAAY,EAAE,WAAW;IACzB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,oBAAoB,EAAE;EACxB;AACF,CAAC,CACF;AAEI,MAAME,uBAAuB,GAAAD,OAAA,CAAAC,uBAAA,GAAG;AACrC;AACA;EACE,IAAI,EAAE,+BAA+B;EACrC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAC1B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,6BAA6B;EACnC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;EACvE,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,0BAA0B;EAChC,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;EAC7B,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,iCAAiC;EACvC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAC1B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,+BAA+B;EACrC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;EACvE,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,uBAAuB;EAC7B,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,qBAAqB;EAC3B,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAC7B,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CACzB;EACD,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,iDAAiD;EACvD,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EACxB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,0CAA0C;EAChD,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EACxB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,qCAAqC;EAC3C,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EACzB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAEzB;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,wBAAwB;EAC9B,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EACzB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAEzB;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,6BAA6B;EACnC,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAC3B;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,sBAAsB;EAC5B,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EACxB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC1B,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CACzB;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,6BAA6B;EACnC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;EACvE,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE;EAClB;AACF,CAAC,EACD;EACE,IAAI,EAAE,+BAA+B;EACrC,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;EACvE,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,qBAAqB;EAC3B,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;EAC1E,QAAQ,EAAE;IACR,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE;EACf,CAAC;EACD,OAAO,EAAE;IACP,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE;EAChB;AACF,CAAC,EACD;EACE,IAAI,EAAE,sBAAsB;EAC5B,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CACnE;EACD,OAAO,EAAE;IACP,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE;EAClB;AACF,CAAC;AAED;AACA;EACE,IAAI,EAAE,eAAe;EACrB,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EACzB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EACxB,CAAC,KAAK,EAAE,aAAa,CAAC,CACvB;EACD,OAAO,EAAE;IACP,cAAc,EAAE;EAClB,CAAC;EACD,QAAQ,EAAE;IACR,YAAY,EAAE,qBAAqB;IACnC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,oBAAoB,EAAE;EACxB;AACF,CAAC,EACD;EACE,IAAI,EAAE,iBAAiB;EACvB,MAAM,EAAE,QAAQ;EAChB,QAAQ,EAAE,CAAC,KAAK,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAC7B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EACzB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EACzB,CAAC,KAAK,EAAE,aAAa,CAAC,CACvB;EACD,OAAO,EAAE;IACP,cAAc,EAAE;EAClB,CAAC;EACD,QAAQ,EAAE;IACR,YAAY,EAAE,WAAW;IACzB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,oBAAoB,EAAE;EACxB;AACF,CAAC,CACF","ignoreList":[]}
|
|
@@ -3,23 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
11
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
12
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
15
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
16
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
17
|
-
var retailColors = ["case", ["boolean", ['in', 'Galleries', ['get', 'localRef']], true], '#E8E8E9', ["boolean", ['in', 'Insights', ['get', 'localRef']], true], '#C6E8E9', ["boolean", ['in', 'Encounter', ['get', 'localRef']], true], '#D8EBCB', ["boolean", ['in', 'Kabinett', ['get', 'localRef']], true], '#FFE0AE', ["boolean", ['in', 'Discoveries', ['get', 'localRef']], true], '#D1D3EA', ["boolean", ['in', 'Film', ['get', 'localRef']], true], '#710829', '#95A8A9'];
|
|
18
|
-
var boothColors = ["case", ["boolean", ['in', 'Galleries', ['get', 'localRef']], true], '#BFD8F2', ["boolean", ['in', 'Insights', ['get', 'localRef']], true], '#8DB7E6', ["boolean", ['in', 'Encounter', ['get', 'localRef']], true], '#A5D6E8', ["boolean", ['in', 'Kabinett', ['get', 'localRef']], true], '#F5C77E', ["boolean", ['in', 'Discoveries', ['get', 'localRef']], true], '#97A6DA', ["boolean", ['in', 'Film', ['get', 'localRef']], true], '#53061F', '#BFD8F2'];
|
|
19
|
-
var hallColors = ["case", ["boolean", ['in', 'gbtb_garden_californian-garden', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_succulent-garden', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_the-baobabs', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_olive-grove', ['get', 'localRef']], true], '#E09FDE', ["boolean", ['in', 'gbtb_garden_mediterrainean-garden', ['get', 'localRef']], true], '#C9A798', ["boolean", ['in', 'gbtb_garden_south-african-garden', ['get', 'localRef']], true], '#F1838F', ["boolean", ['in', 'gbtb_garden_south-american-garden', ['get', 'localRef']], true], '#D8BE9A', ["boolean", ['in', 'gbtb_garden_australian-garden', ['get', 'localRef']], true], '#FCB68E', ["boolean", ['in', 'gbtb_garden_flower-field', ['get', 'localRef']], true], '#F4E099', '#B7A7CB'];
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const retailColors = ["case", ["boolean", ['in', 'Galleries', ['get', 'localRef']], true], '#E8E8E9', ["boolean", ['in', 'Insights', ['get', 'localRef']], true], '#C6E8E9', ["boolean", ['in', 'Encounter', ['get', 'localRef']], true], '#D8EBCB', ["boolean", ['in', 'Kabinett', ['get', 'localRef']], true], '#FFE0AE', ["boolean", ['in', 'Discoveries', ['get', 'localRef']], true], '#D1D3EA', ["boolean", ['in', 'Film', ['get', 'localRef']], true], '#710829', '#95A8A9'];
|
|
8
|
+
const boothColors = ["case", ["boolean", ['in', 'Galleries', ['get', 'localRef']], true], '#BFD8F2', ["boolean", ['in', 'Insights', ['get', 'localRef']], true], '#8DB7E6', ["boolean", ['in', 'Encounter', ['get', 'localRef']], true], '#A5D6E8', ["boolean", ['in', 'Kabinett', ['get', 'localRef']], true], '#F5C77E', ["boolean", ['in', 'Discoveries', ['get', 'localRef']], true], '#97A6DA', ["boolean", ['in', 'Film', ['get', 'localRef']], true], '#53061F', '#BFD8F2'];
|
|
9
|
+
const hallColors = ["case", ["boolean", ['in', 'gbtb_garden_californian-garden', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_succulent-garden', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_the-baobabs', ['get', 'localRef']], true], '#D29BA5', ["boolean", ['in', 'gbtb_garden_olive-grove', ['get', 'localRef']], true], '#E09FDE', ["boolean", ['in', 'gbtb_garden_mediterrainean-garden', ['get', 'localRef']], true], '#C9A798', ["boolean", ['in', 'gbtb_garden_south-african-garden', ['get', 'localRef']], true], '#F1838F', ["boolean", ['in', 'gbtb_garden_south-american-garden', ['get', 'localRef']], true], '#D8BE9A', ["boolean", ['in', 'gbtb_garden_australian-garden', ['get', 'localRef']], true], '#FCB68E', ["boolean", ['in', 'gbtb_garden_flower-field', ['get', 'localRef']], true], '#F4E099', '#B7A7CB'];
|
|
20
10
|
|
|
21
11
|
// Configuration at the top of your file or in a separate config file
|
|
22
|
-
|
|
12
|
+
const ICON_SIZE_CONFIG = {
|
|
23
13
|
// Base sizes for each tier (at zoom level 21 as reference)
|
|
24
14
|
tierSizes: {
|
|
25
15
|
platinum: 0.2,
|
|
@@ -27,7 +17,7 @@ var ICON_SIZE_CONFIG = {
|
|
|
27
17
|
silver: 0.15,
|
|
28
18
|
bronze: 0.15,
|
|
29
19
|
basic: 0.15,
|
|
30
|
-
|
|
20
|
+
default: 0.05
|
|
31
21
|
},
|
|
32
22
|
// Zoom level scaling factors (multiplier applied to base tier sizes)
|
|
33
23
|
zoomScales: {
|
|
@@ -45,24 +35,20 @@ var ICON_SIZE_CONFIG = {
|
|
|
45
35
|
|
|
46
36
|
// Helper function to generate the icon-size expression
|
|
47
37
|
function generateIconSizeExpression(config) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
var matchExpression = ['match', ['get', 'tier']].concat(_toConsumableArray(Object.entries(config.tierSizes).flatMap(function (_ref) {
|
|
55
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
56
|
-
tier = _ref2[0],
|
|
57
|
-
size = _ref2[1];
|
|
38
|
+
const zoomLevels = Object.keys(config.zoomScales).map(Number).sort((a, b) => a - b);
|
|
39
|
+
const interpolateExpression = ['interpolate', ['linear'], ['zoom']];
|
|
40
|
+
zoomLevels.forEach(zoom => {
|
|
41
|
+
const scale = config.zoomScales[zoom];
|
|
42
|
+
const matchExpression = ['match', ['get', 'tier'], ...Object.entries(config.tierSizes).flatMap(_ref => {
|
|
43
|
+
let [tier, size] = _ref;
|
|
58
44
|
return tier === 'default' ? [] : [tier, size * scale];
|
|
59
|
-
})
|
|
60
|
-
]
|
|
45
|
+
}), config.tierSizes.default * scale // fallback
|
|
46
|
+
];
|
|
61
47
|
interpolateExpression.push(zoom, matchExpression);
|
|
62
48
|
});
|
|
63
49
|
return interpolateExpression;
|
|
64
50
|
}
|
|
65
|
-
var _default = exports
|
|
51
|
+
var _default = exports.default = [{
|
|
66
52
|
"id": "Airiside - CAD Polygons v2",
|
|
67
53
|
"type": "fill",
|
|
68
54
|
"metadata": {
|