@abcagency/hc-ui-components 1.7.2 → 1.7.3

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.
Files changed (107) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +306 -130
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/apis/hcApi.js.map +1 -1
  4. package/dist/clientToken.js.map +1 -1
  5. package/dist/components/HireControlMap.js +39 -43
  6. package/dist/components/HireControlMap.js.map +1 -1
  7. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  8. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  9. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  10. package/dist/components/containers/filter/commute-container.js +22 -21
  11. package/dist/components/containers/filter/commute-container.js.map +1 -1
  12. package/dist/components/containers/filter/filter-container.js.map +1 -1
  13. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  14. package/dist/components/containers/filter/location-container.js.map +1 -1
  15. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  16. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  17. package/dist/components/containers/filter/search-container.js.map +1 -1
  18. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  19. package/dist/components/containers/list/item-list-container.js.map +1 -1
  20. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  21. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  22. package/dist/components/containers/maps/map-container.js +1 -1
  23. package/dist/components/containers/maps/map-container.js.map +1 -1
  24. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  25. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  26. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  27. package/dist/components/modules/accordions/default.js.map +1 -1
  28. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  29. package/dist/components/modules/accordions/filters.js.map +1 -1
  30. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  31. package/dist/components/modules/buttons/default.js.map +1 -1
  32. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  33. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  34. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  35. package/dist/components/modules/cards/default.js.map +1 -1
  36. package/dist/components/modules/cards/filter.js.map +1 -1
  37. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  38. package/dist/components/modules/filter/commute.js.map +1 -1
  39. package/dist/components/modules/filter/index.js.map +1 -1
  40. package/dist/components/modules/filter/item.js.map +1 -1
  41. package/dist/components/modules/filter/location.js.map +1 -1
  42. package/dist/components/modules/filter/radio-item.js.map +1 -1
  43. package/dist/components/modules/filter/search.js.map +1 -1
  44. package/dist/components/modules/filter/sort.js.map +1 -1
  45. package/dist/components/modules/grid.js.map +1 -1
  46. package/dist/components/modules/icon.js.map +1 -1
  47. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  48. package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
  49. package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
  50. package/dist/components/modules/list/header-item.js.map +1 -1
  51. package/dist/components/modules/list/header.js.map +1 -1
  52. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  53. package/dist/components/modules/list/item-list.js.map +1 -1
  54. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  55. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  56. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  57. package/dist/components/modules/maps/map-list.js.map +1 -1
  58. package/dist/components/modules/maps/map-marker.js.map +1 -1
  59. package/dist/components/modules/maps/map.js +8 -3
  60. package/dist/components/modules/maps/map.js.map +1 -1
  61. package/dist/components/modules/maps/place-marker.js.map +1 -1
  62. package/dist/components/modules/maps/tabs.js.map +1 -1
  63. package/dist/components/modules/skeleton/map-skeleton.js.map +1 -1
  64. package/dist/constants/eventTypes.js.map +1 -1
  65. package/dist/constants/placeTypes.js.map +1 -1
  66. package/dist/contexts/mapContext.js +1 -1
  67. package/dist/contexts/mapContext.js.map +1 -1
  68. package/dist/contexts/mapListContext.js +1 -1
  69. package/dist/contexts/mapListContext.js.map +1 -1
  70. package/dist/contexts/placesContext.js +21 -20
  71. package/dist/contexts/placesContext.js.map +1 -1
  72. package/dist/contexts/themeContext.js.map +1 -1
  73. package/dist/contexts/trackEventContext.js +1 -1
  74. package/dist/contexts/trackEventContext.js.map +1 -1
  75. package/dist/hooks/useList.js.map +1 -1
  76. package/dist/node_modules/@algolia/client-common/dist/common.js +6 -3
  77. package/dist/node_modules/@algolia/client-common/dist/common.js.map +1 -1
  78. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js +1 -1
  79. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js.map +1 -1
  80. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js +2 -2
  81. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js.map +1 -1
  82. package/dist/node_modules/fuse.js/dist/fuse.js +20 -29
  83. package/dist/node_modules/fuse.js/dist/fuse.js.map +1 -1
  84. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +162 -124
  85. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  86. package/dist/services/configService.js.map +1 -1
  87. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  88. package/dist/services/listingAggregatorService.js.map +1 -1
  89. package/dist/services/listingEntityService.js.map +1 -1
  90. package/dist/services/listingService.js.map +1 -1
  91. package/dist/styles/index.css +1 -1
  92. package/dist/util/algoliaSearchUtil.js +42 -38
  93. package/dist/util/algoliaSearchUtil.js.map +1 -1
  94. package/dist/util/filterUtil.js +52 -48
  95. package/dist/util/filterUtil.js.map +1 -1
  96. package/dist/util/loading.js.map +1 -1
  97. package/dist/util/localStorageUtil.js.map +1 -1
  98. package/dist/util/mapIconUtil.js.map +1 -1
  99. package/dist/util/mapUtil.js.map +1 -1
  100. package/dist/util/sortUtil.js.map +1 -1
  101. package/dist/util/stringUtils.js.map +1 -1
  102. package/dist/util/twMerge.js.map +1 -1
  103. package/dist/util/urlFilterUtil.js +1 -1
  104. package/dist/util/urlFilterUtil.js.map +1 -1
  105. package/package.json +1 -1
  106. package/src/components/HireControlMap.js +13 -18
  107. package/src/components/modules/maps/map.js +10 -5
@@ -1 +1 @@
1
- {"version":3,"file":"filterUtil.js","sources":["../../src/util/filterUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\nimport { isAlgoliaAvailable, filterListingsByAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\nimport Fuse from 'fuse.js';\n\nexport const getFilterOptions = (listings, filteredListings, field, excludeZeroCount = false) => {\n\tconst options = new Set();\n\tlistings.forEach(listing => {\n\t\tif (listing.fields && listing.fields[field]) {\n\t\t\toptions.add(listing.fields[field]);\n\t\t}\n\t});\n\n\tconst optionCounts = {};\n\toptions.forEach(option => {\n\t\toptionCounts[option] = 0;\n\t});\n\n\tfilteredListings.forEach(listing => {\n\t\tif (!listing.fields) return;\n\t\tconst value = listing.fields[field];\n\t\tif (value && Object.prototype.hasOwnProperty.call(optionCounts, value)) {\n\t\t\toptionCounts[value] += 1;\n\t\t}\n\t});\n\n\tlet result = Array.from(options)\n\t\t.filter(option => option != null && option !== '') // Filter out null/empty values\n\t\t.map(option => ({\n\t\t\tname: option,\n\t\t\tcount: optionCounts[option] || 0\n\t\t}))\n\t\t.filter(option => !(excludeZeroCount === true && option.count === 0));\n\n\t// Sort alphabetically\n\tresult.sort((a, b) => a.name.localeCompare(b.name));\n\n\treturn result;\n};\n\nexport const getSpecialFeatureOptions = (listings, filteredListings, siteConfig, favorites, filterConfig = {}) => {\n\tconst specialFeatures = siteConfig.specialFeatures;\n\tconst featureCounts = Object.keys(specialFeatures).sort().reduce((acc, key) => {\n\t\tacc[specialFeatures[key]] = 0;\n\t\treturn acc;\n\t}, {});\n\n\tfilteredListings.forEach(listing => {\n\t\tObject.entries(specialFeatures).forEach(([featureKey, featureName]) => {\n\t\t\tif (listing.fields[featureKey] == 1) {\n\t\t\t\tfeatureCounts[featureName] += 1;\n\t\t\t}\n\t\t});\n\t});\n\n\tlet specialFeatureOptions = Object.entries(featureCounts).map(([name, count]) => ({\n\t\tname,\n\t\tcount\n\t}));\n\n\t// Update favorite count\n\tfor (let option of specialFeatureOptions) {\n\t\tif (option.name === 'Favorite') {\n\t\t\toption.count = filteredListings.filter(x => favorites.includes(x.id)).length;\n\t\t}\n\t}\n\n\t// Hide favorites if filterConfig.showFavorites is false\n\tif (filterConfig.showFavorites === false) {\n\t\tspecialFeatureOptions = specialFeatureOptions.filter(option => option.name !== 'Favorite');\n\t}\n\n\t// Hide zero results if filterConfig.hideZeroResults is true\n\tif (filterConfig.hideZeroResults === true) {\n\t\tspecialFeatureOptions = specialFeatureOptions.filter(option => option.count > 0);\n\t}\n\n\treturn specialFeatureOptions;\n};\n\nconst getPointsOfInterestOptions = pointsOfInterestNames => {\n\treturn Object.entries(pointsOfInterestNames).sort().map(([key, name]) => ({\n\t\tkey,\n\t\tname\n\t}));\n};\n\nexport const generateFilterOptions = (\n\tfilteredListings,\n\tallListings,\n\tsiteConfig,\n\tfilterOptions,\n\tparentField,\n\tfavorites,\n\tselectedFilters,\n\tfilterConfig = {\n\t\thideZeroResults: false,\n\t\tdynamicCounts: true,\n\t\tshowFavorites: true,\n\t\tcollapsedByDefault: false,\n\t\tsortAlphabetically: false\n\t}\n) => {\n\tif (allListings.length > 0) {\n\t\t// Determine which listings to use for counts based on dynamicCounts setting\n\t\tconst countListings = filterConfig.dynamicCounts ? filteredListings : allListings;\n\n\t\tconst dynamicFilters = siteConfig.fieldFiltersShown.map(fieldName => {\n\t\t\tif (fieldName === parentField && filterOptions?.filters) {\n\t\t\t\treturn filterOptions.filters.find(filter => filter.id === fieldName);\n\t\t\t}\n\t\t\tif(fieldName == 'category'){\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, countListings, fieldName, filterConfig.hideZeroResults)\n\t\t\t\t};\n\t\t\t}\n\t\t\tif(fieldName == 'subCategory' && selectedFilters.category){\n\t\t\t\tconst categoryKeys = Object.keys(selectedFilters.category);\n\t\t\t\tconst filteredByCategory = allListings.filter(\n\t\t\t\t\tx => categoryKeys.includes(x.fields?.category)\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, filteredByCategory, fieldName, filterConfig.hideZeroResults)\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (fieldName == \"specialFeatures\") {\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getSpecialFeatureOptions(allListings, countListings, siteConfig, favorites, filterConfig).sort()\n\t\t\t\t};\n\t\t\t}\n\t\treturn {\n\t\t\tid: fieldName,\n\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\titems: getFilterOptions(allListings, countListings, fieldName, filterConfig.hideZeroResults)\n\t\t};\n\t});\t\tconst locations =\n\t\t\tsiteConfig.locationFiltersShown.map((fieldName, index) => {\n\t\t\t\tlet locationFilteredListings = allListings;\n\t\t\t\tlocationFilteredListings = allListings.filter(listing => {\n\t\t\t\t\treturn Object.entries(selectedFilters).every(([key, value]) => {\n\t\t\t\t\t\tif (siteConfig.locationFiltersShown.includes(key)) return true;\n\t\t\t\t\t\tif (value && typeof value === 'object' && value[listing.fields[key]] === true) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (index === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\titems: getFilterOptions(allListings, locationFilteredListings, fieldName, true)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t if (fieldName === 'entityName' && filterOptions?.locations) {\n\t\t\t\t\tconst cityIncluded = siteConfig.locationFiltersShown.includes('city');\n\t\t\t\t\tconst stateIncluded = siteConfig.locationFiltersShown.includes('state');\n\t\t\t\t\tconst cityStateIncluded = siteConfig.locationFiltersShown.includes('cityState');\n\t\t\t\t\tconst uniqueCities = cityIncluded ? [...new Set(filteredListings.map(listing => listing.fields.city))] : [];\n\t\t\t\t\tconst uniqueStates = stateIncluded ? [...new Set(filteredListings.map(listing => listing.fields.state))] : [];\n\t\t\t\t\tconst uniqueCityStates = cityStateIncluded ? [...new Set(filteredListings.map(listing => listing.fields.cityState))] : [];\n\t\t\t\t\tconst filteredByLocation = locationFilteredListings.filter(listing => {\n\t\t\t\t\t\tconst cityMatches = cityIncluded ? uniqueCities.includes(listing.fields.city) : true;\n\t\t\t\t\t\tconst stateMatches = stateIncluded ? uniqueStates.includes(listing.fields.state) : true;\n\t\t\t\t\t\tconst cityStateMatches = cityStateIncluded ? uniqueCityStates.includes(listing.fields.cityState) : true;\n\t\t\t\t\t\treturn cityMatches && stateMatches && cityStateMatches;\n\t\t\t\t\t});\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\titems: getFilterOptions(allListings, filteredByLocation, fieldName, true)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (fieldName === 'city') {\n\t\t\t\t\tif (siteConfig.locationFiltersShown.includes('state') && selectedFilters.state) {\n\t\t\t\t\t\tconst selectedStates = Object.keys(selectedFilters.state).filter(\n\t\t\t\t\t\t\tstate => selectedFilters.state[state] === true\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst filteredByLocation = locationFilteredListings.filter(listing =>\n\t\t\t\t\t\t\tselectedStates.includes(listing.fields.state)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\t\titems: getFilterOptions(allListings, filteredByLocation, fieldName, true)\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, filteredListings, fieldName, true)\n\t\t\t\t};\n\t\t\t});\n\n\t\tconst pointsOfInterest = {\n\t\t\tid: \"pointsOfInterest\",\n\t\t\ttitle: siteConfig.pointsOfInterestConfig.title,\n\t\t\titems: getPointsOfInterestOptions(\n\t\t\t\tsiteConfig.pointsOfInterestConfig.pointsOfInterestNames\n\t\t\t)\n\t\t};\n\n\t\t// Filter out null filters and ensure items arrays don't contain undefined values\n\t\tconst cleanFilters = dynamicFilters\n\t\t\t.filter(f => f != null && f.items != null)\n\t\t\t.map(f => ({\n\t\t\t\t...f,\n\t\t\t\titems: f.items.filter(item => item != null && item.name != null)\n\t\t\t}));\n\n\t\tconst cleanLocations = locations\n\t\t\t.filter(l => l != null && l.items != null)\n\t\t\t.map(l => ({\n\t\t\t\t...l,\n\t\t\t\titems: l.items.filter(item => item != null && item.name != null)\n\t\t\t}));\n\n\t\treturn {\n\t\t\tfilters: cleanFilters,\n\t\t\tlocations: cleanLocations,\n\t\t\tpointsOfInterest: pointsOfInterest\n\t\t};\n\t}\n\n\treturn null;\n};\n\nexport const applyFilters = async (\n\tallListings,\n\tselectedFilters,\n\tquery,\n\tlistingEntities,\n\tfavorites,\n\tsiteConfig\n) => {\n\tlet results = allListings;\n\tlet invertedSpecialFeaturesMap;\n\tif (siteConfig.specialFeatures) {\n\t\tinvertedSpecialFeaturesMap = Object.entries(siteConfig.specialFeatures).reduce((acc, [key, value]) => {\n\t\t\tacc[value] = key;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t}\n\tconst hasFavorite = !!selectedFilters.specialFeatures && !!selectedFilters.specialFeatures.Favorite;\n\n\tif (hasFavorite && selectedFilters.specialFeatures.Favorite == true) {\n\t\tresults = results.filter(x => favorites.includes(x.id));\n\t}\n\tvar favorite;\n\tif (hasFavorite) {\n\t\tfavorite = selectedFilters.specialFeatures.Favorite;\n\t\tdelete selectedFilters.specialFeatures.Favorite;\n\t}\n\tfor (const [field, filterItems] of Object.entries(selectedFilters)) {\n\t\tconst formattedField = field;\n\t\tif (field === \"pointsOfInterest\") continue;\n\t\tif (field === \"specialFeatures\" && invertedSpecialFeaturesMap && Object.keys(filterItems).length > 0) {\n\t\t\tresults = results.filter(listing => {\n\t\t\t\treturn Object.entries(filterItems).some(([filterName, filterValue]) => {\n\t\t\t\t\tconst listingFieldName = invertedSpecialFeaturesMap[filterName];\n\t\t\t\t\treturn filterValue && listing.fields[listingFieldName] == 1;\n\t\t\t\t});\n\t\t\t});\n\t\t} else if (Object.keys(filterItems).length > 0) {\n\t\t\tresults = results.filter(listing =>\n\t\t\t\tObject.prototype.hasOwnProperty.call(filterItems, listing.fields[formattedField])\n\t\t\t);\n\t\t}\n\t}\n\tif (query) {\n\t\t// Use Algolia if available, otherwise fall back to Fuse.js\n\t\tif (isAlgoliaAvailable()) {\n\t\t\ttry {\n\t\t\t\tresults = await filterListingsByAlgoliaSearch(results, query);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Algolia search failed, falling back to Fuse.js:', error);\n\t\t\t\tresults = searchResults(results, query);\n\t\t\t}\n\t\t} else {\n\t\t\tresults = searchResults(results, query);\n\t\t}\n\t}\n\tconst distinctItems = getDistinctItemsByProximity(results, listingEntities);\n\tif (hasFavorite) {\n\t\tselectedFilters.specialFeatures.Favorite = favorite;\n\t}\n\treturn { filteredListings: results, mapItems: distinctItems };\n};\n\nfunction searchResults(results, query) {\n\tconst fields = [\n\t\t'id',\n\t\t'uniqueId',\n\t\t'fields.posted',\n\t\t'fields.subtitle',\n\t\t'fields.education',\n\t\t'fields.title',\n\t\t'fields.category',\n\t\t'fields.subCategory',\n\t\t'fields.shift',\n\t\t'fields.citystate',\n\t\t'fields.city',\n\t\t'fields.state',\n\t\t'fields.schedule',\n\t\t'fields.customflag1',\n\t\t'fields.bonus',\n\t\t'fields.remote',\n\t\t'fields.useclientjoburl',\n\t\t'fields.datecreated',\n\t\t'fields.datelastedited'\n\t];\n\n\tconst options = {\n\t\tincludeScore: true,\n\t\tthreshold: 0.3,\n\t\tkeys: fields\n\t};\n\n\tconst fuse = new Fuse(results, options);\n\tconst lowerCaseQuery = query.toLowerCase();\n\tconst queryTerms = lowerCaseQuery.split(' ');\n\n\tconst exactIdMatch = results.find(result => result.id.toString() === query || result.uniqueId === query);\n\tif (exactIdMatch) {\n\t\treturn [exactIdMatch];\n\t}\n\n\tconst fuseQuery = queryTerms.map(term => ({\n\t\t$or: fields.map(field => ({ [field]: term }))\n\t}));\n\n\tconst fuseResults = fuse.search({ $and: fuseQuery });\n\n\treturn fuseResults.map(result => result.item);\n}\n\nexport const filterListingsByLocation = (\n\tallListings,\n\tselectedLocation,\n\tlistingEntities\n) => {\n\tlet results = allListings;\n\tif (selectedLocation !== null) {\n\t\tresults = results.filter(item =>\n\t\t\tObject.prototype.hasOwnProperty.call(selectedLocation.items, item.id)\n\t\t);\n\t}\n\tconst mapItems = getDistinctItemsByProximity(results, listingEntities);\n\treturn { filteredListings: results, mapItems: mapItems };\n};\n"],"names":["getFilterOptions","listings","filteredListings","field","excludeZeroCount","arguments","length","undefined","options","Set","forEach","listing","fields","add","optionCounts","option","value","Object","prototype","hasOwnProperty","call","result","Array","from","filter","map","name","count","sort","a","b","localeCompare","getSpecialFeatureOptions","siteConfig","favorites","filterConfig","specialFeatures","featureCounts","keys","reduce","acc","key","entries","_ref","_ref2","_slicedToArray","featureKey","featureName","specialFeatureOptions","_ref3","_ref4","_iterator","_createForOfIteratorHelper","_step","s","n","done","x","includes","id","err","e","f","showFavorites","hideZeroResults","getPointsOfInterestOptions","pointsOfInterestNames","_ref5","_ref6","generateFilterOptions","allListings","filterOptions","parentField","selectedFilters","dynamicCounts","collapsedByDefault","sortAlphabetically","countListings","dynamicFilters","fieldFiltersShown","fieldName","filters","find","title","fieldNames","items","category","categoryKeys","filteredByCategory","_x$fields","locations","locationFiltersShown","index","locationFilteredListings","every","_ref7","_ref8","_typeof","cityIncluded","stateIncluded","cityStateIncluded","uniqueCities","_toConsumableArray","city","uniqueStates","state","uniqueCityStates","cityState","filteredByLocation","cityMatches","stateMatches","cityStateMatches","selectedStates","pointsOfInterest","pointsOfInterestConfig","cleanFilters","_objectSpread","item","cleanLocations","l","applyFilters","_ref9","_asyncToGenerator","_regenerator","m","_callee","query","listingEntities","results","invertedSpecialFeaturesMap","hasFavorite","favorite","_loop","_i","_Object$entries","distinctItems","_t","w","_context2","p","_ref0","_ref1","Favorite","_Object$entries$_i","filterItems","formattedField","_context","some","_ref10","_ref11","filterName","filterValue","listingFieldName","d","_regeneratorValues","v","isAlgoliaAvailable","filterListingsByAlgoliaSearch","console","error","searchResults","getDistinctItemsByProximity","mapItems","_x","_x2","_x3","_x4","_x5","_x6","apply","includeScore","threshold","fuse","Fuse","lowerCaseQuery","toLowerCase","queryTerms","split","exactIdMatch","toString","uniqueId","fuseQuery","term","$or","_defineProperty","fuseResults","search","$and","filterListingsByLocation","selectedLocation"],"mappings":"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"}
1
+ {"version":3,"file":"filterUtil.js","sources":["../../src/util/filterUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport { getDistinctItemsByProximity } from '~/util/mapUtil';\nimport { isAlgoliaAvailable, filterListingsByAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\nimport Fuse from 'fuse.js';\n\nexport const getFilterOptions = (listings, filteredListings, field, excludeZeroCount = false) => {\n\tconst options = new Set();\n\tlistings.forEach(listing => {\n\t\tif (listing.fields && listing.fields[field]) {\n\t\t\toptions.add(listing.fields[field]);\n\t\t}\n\t});\n\n\tconst optionCounts = {};\n\toptions.forEach(option => {\n\t\toptionCounts[option] = 0;\n\t});\n\n\tfilteredListings.forEach(listing => {\n\t\tif (!listing.fields) return;\n\t\tconst value = listing.fields[field];\n\t\tif (value && Object.prototype.hasOwnProperty.call(optionCounts, value)) {\n\t\t\toptionCounts[value] += 1;\n\t\t}\n\t});\n\n\tlet result = Array.from(options)\n\t\t.filter(option => option != null && option !== '') // Filter out null/empty values\n\t\t.map(option => ({\n\t\t\tname: option,\n\t\t\tcount: optionCounts[option] || 0\n\t\t}))\n\t\t.filter(option => !(excludeZeroCount === true && option.count === 0));\n\n\t// Sort alphabetically\n\tresult.sort((a, b) => a.name.localeCompare(b.name));\n\n\treturn result;\n};\n\nexport const getSpecialFeatureOptions = (listings, filteredListings, siteConfig, favorites, filterConfig = {}) => {\n\tconst specialFeatures = siteConfig.specialFeatures;\n\tconst featureCounts = Object.keys(specialFeatures).sort().reduce((acc, key) => {\n\t\tacc[specialFeatures[key]] = 0;\n\t\treturn acc;\n\t}, {});\n\n\tfilteredListings.forEach(listing => {\n\t\tObject.entries(specialFeatures).forEach(([featureKey, featureName]) => {\n\t\t\tif (listing.fields[featureKey] == 1) {\n\t\t\t\tfeatureCounts[featureName] += 1;\n\t\t\t}\n\t\t});\n\t});\n\n\tlet specialFeatureOptions = Object.entries(featureCounts).map(([name, count]) => ({\n\t\tname,\n\t\tcount\n\t}));\n\n\t// Update favorite count\n\tfor (let option of specialFeatureOptions) {\n\t\tif (option.name === 'Favorite') {\n\t\t\toption.count = filteredListings.filter(x => favorites.includes(x.id)).length;\n\t\t}\n\t}\n\n\t// Hide favorites if filterConfig.showFavorites is false\n\tif (filterConfig.showFavorites === false) {\n\t\tspecialFeatureOptions = specialFeatureOptions.filter(option => option.name !== 'Favorite');\n\t}\n\n\t// Hide zero results if filterConfig.hideZeroResults is true\n\tif (filterConfig.hideZeroResults === true) {\n\t\tspecialFeatureOptions = specialFeatureOptions.filter(option => option.count > 0);\n\t}\n\n\treturn specialFeatureOptions;\n};\n\nconst getPointsOfInterestOptions = pointsOfInterestNames => {\n\treturn Object.entries(pointsOfInterestNames).sort().map(([key, name]) => ({\n\t\tkey,\n\t\tname\n\t}));\n};\n\nexport const generateFilterOptions = (\n\tfilteredListings,\n\tallListings,\n\tsiteConfig,\n\tfilterOptions,\n\tparentField,\n\tfavorites,\n\tselectedFilters,\n\tfilterConfig = {\n\t\thideZeroResults: false,\n\t\tdynamicCounts: true,\n\t\tshowFavorites: true,\n\t\tcollapsedByDefault: false,\n\t\tsortAlphabetically: false\n\t}\n) => {\n\tif (allListings.length > 0) {\n\t\t// Determine which listings to use for counts based on dynamicCounts setting\n\t\tconst countListings = filterConfig.dynamicCounts ? filteredListings : allListings;\n\n\t\tconst dynamicFilters = siteConfig.fieldFiltersShown.map(fieldName => {\n\t\t\tif (fieldName === parentField && filterOptions?.filters) {\n\t\t\t\treturn filterOptions.filters.find(filter => filter.id === fieldName);\n\t\t\t}\n\t\t\tif(fieldName == 'category'){\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, countListings, fieldName, filterConfig.hideZeroResults)\n\t\t\t\t};\n\t\t\t}\n\t\t\tif(fieldName == 'subCategory' && selectedFilters.category){\n\t\t\t\tconst categoryKeys = Object.keys(selectedFilters.category);\n\t\t\t\tconst filteredByCategory = allListings.filter(\n\t\t\t\t\tx => categoryKeys.includes(x.fields?.category)\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, filteredByCategory, fieldName, filterConfig.hideZeroResults)\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (fieldName == \"specialFeatures\") {\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getSpecialFeatureOptions(allListings, countListings, siteConfig, favorites, filterConfig).sort()\n\t\t\t\t};\n\t\t\t}\n\t\treturn {\n\t\t\tid: fieldName,\n\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\titems: getFilterOptions(allListings, countListings, fieldName, filterConfig.hideZeroResults)\n\t\t};\n\t});\t\tconst locations =\n\t\t\tsiteConfig.locationFiltersShown.map((fieldName, index) => {\n\t\t\t\tlet locationFilteredListings = allListings;\n\t\t\t\tlocationFilteredListings = allListings.filter(listing => {\n\t\t\t\t\treturn Object.entries(selectedFilters).every(([key, value]) => {\n\t\t\t\t\t\tif (siteConfig.locationFiltersShown.includes(key)) return true;\n\t\t\t\t\t\tif (value && typeof value === 'object' && value[listing.fields[key]] === true) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (index === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\titems: getFilterOptions(allListings, locationFilteredListings, fieldName, true)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t if (fieldName === 'entityName' && filterOptions?.locations) {\n\t\t\t\t\tconst cityIncluded = siteConfig.locationFiltersShown.includes('city');\n\t\t\t\t\tconst stateIncluded = siteConfig.locationFiltersShown.includes('state');\n\t\t\t\t\tconst cityStateIncluded = siteConfig.locationFiltersShown.includes('cityState');\n\t\t\t\t\tconst uniqueCities = cityIncluded ? [...new Set(filteredListings.map(listing => listing.fields.city))] : [];\n\t\t\t\t\tconst uniqueStates = stateIncluded ? [...new Set(filteredListings.map(listing => listing.fields.state))] : [];\n\t\t\t\t\tconst uniqueCityStates = cityStateIncluded ? [...new Set(filteredListings.map(listing => listing.fields.cityState))] : [];\n\t\t\t\t\tconst filteredByLocation = locationFilteredListings.filter(listing => {\n\t\t\t\t\t\tconst cityMatches = cityIncluded ? uniqueCities.includes(listing.fields.city) : true;\n\t\t\t\t\t\tconst stateMatches = stateIncluded ? uniqueStates.includes(listing.fields.state) : true;\n\t\t\t\t\t\tconst cityStateMatches = cityStateIncluded ? uniqueCityStates.includes(listing.fields.cityState) : true;\n\t\t\t\t\t\treturn cityMatches && stateMatches && cityStateMatches;\n\t\t\t\t\t});\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\titems: getFilterOptions(allListings, filteredByLocation, fieldName, true)\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (fieldName === 'city') {\n\t\t\t\t\tif (siteConfig.locationFiltersShown.includes('state') && selectedFilters.state) {\n\t\t\t\t\t\tconst selectedStates = Object.keys(selectedFilters.state).filter(\n\t\t\t\t\t\t\tstate => selectedFilters.state[state] === true\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst filteredByLocation = locationFilteredListings.filter(listing =>\n\t\t\t\t\t\t\tselectedStates.includes(listing.fields.state)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: fieldName,\n\t\t\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\t\t\titems: getFilterOptions(allListings, filteredByLocation, fieldName, true)\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tid: fieldName,\n\t\t\t\t\ttitle: siteConfig.fieldNames[fieldName],\n\t\t\t\t\titems: getFilterOptions(allListings, filteredListings, fieldName, true)\n\t\t\t\t};\n\t\t\t});\n\n\t\tconst pointsOfInterest = {\n\t\t\tid: \"pointsOfInterest\",\n\t\t\ttitle: siteConfig.pointsOfInterestConfig.title,\n\t\t\titems: getPointsOfInterestOptions(\n\t\t\t\tsiteConfig.pointsOfInterestConfig.pointsOfInterestNames\n\t\t\t)\n\t\t};\n\n\t\t// Filter out null filters and ensure items arrays don't contain undefined values\n\t\tconst cleanFilters = dynamicFilters\n\t\t\t.filter(f => f != null && f.items != null)\n\t\t\t.map(f => ({\n\t\t\t\t...f,\n\t\t\t\titems: f.items.filter(item => item != null && item.name != null)\n\t\t\t}));\n\n\t\tconst cleanLocations = locations\n\t\t\t.filter(l => l != null && l.items != null)\n\t\t\t.map(l => ({\n\t\t\t\t...l,\n\t\t\t\titems: l.items.filter(item => item != null && item.name != null)\n\t\t\t}));\n\n\t\treturn {\n\t\t\tfilters: cleanFilters,\n\t\t\tlocations: cleanLocations,\n\t\t\tpointsOfInterest: pointsOfInterest\n\t\t};\n\t}\n\n\treturn null;\n};\n\nexport const applyFilters = async (\n\tallListings,\n\tselectedFilters,\n\tquery,\n\tlistingEntities,\n\tfavorites,\n\tsiteConfig\n) => {\n\tlet results = allListings;\n\tlet invertedSpecialFeaturesMap;\n\tif (siteConfig.specialFeatures) {\n\t\tinvertedSpecialFeaturesMap = Object.entries(siteConfig.specialFeatures).reduce((acc, [key, value]) => {\n\t\t\tacc[value] = key;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t}\n\tconst hasFavorite = !!selectedFilters.specialFeatures && !!selectedFilters.specialFeatures.Favorite;\n\n\tif (hasFavorite && selectedFilters.specialFeatures.Favorite == true) {\n\t\tresults = results.filter(x => favorites.includes(x.id));\n\t}\n\tvar favorite;\n\tif (hasFavorite) {\n\t\tfavorite = selectedFilters.specialFeatures.Favorite;\n\t\tdelete selectedFilters.specialFeatures.Favorite;\n\t}\n\tfor (const [field, filterItems] of Object.entries(selectedFilters)) {\n\t\tconst formattedField = field;\n\t\tif (field === \"pointsOfInterest\") continue;\n\t\tif (field === \"specialFeatures\" && invertedSpecialFeaturesMap && Object.keys(filterItems).length > 0) {\n\t\t\tresults = results.filter(listing => {\n\t\t\t\treturn Object.entries(filterItems).some(([filterName, filterValue]) => {\n\t\t\t\t\tconst listingFieldName = invertedSpecialFeaturesMap[filterName];\n\t\t\t\t\treturn filterValue && listing.fields[listingFieldName] == 1;\n\t\t\t\t});\n\t\t\t});\n\t\t} else if (Object.keys(filterItems).length > 0) {\n\t\t\tresults = results.filter(listing =>\n\t\t\t\tObject.prototype.hasOwnProperty.call(filterItems, listing.fields[formattedField])\n\t\t\t);\n\t\t}\n\t}\n\tif (query) {\n\t\t// Use Algolia if available, otherwise fall back to Fuse.js\n\t\tif (isAlgoliaAvailable()) {\n\t\t\ttry {\n\t\t\t\tresults = await filterListingsByAlgoliaSearch(results, query);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Algolia search failed, falling back to Fuse.js:', error);\n\t\t\t\tresults = searchResults(results, query);\n\t\t\t}\n\t\t} else {\n\t\t\tresults = searchResults(results, query);\n\t\t}\n\t}\n\tconst distinctItems = getDistinctItemsByProximity(results, listingEntities);\n\tif (hasFavorite) {\n\t\tselectedFilters.specialFeatures.Favorite = favorite;\n\t}\n\treturn { filteredListings: results, mapItems: distinctItems };\n};\n\nfunction searchResults(results, query) {\n\tconst fields = [\n\t\t'id',\n\t\t'uniqueId',\n\t\t'fields.posted',\n\t\t'fields.subtitle',\n\t\t'fields.education',\n\t\t'fields.title',\n\t\t'fields.category',\n\t\t'fields.subCategory',\n\t\t'fields.shift',\n\t\t'fields.citystate',\n\t\t'fields.city',\n\t\t'fields.state',\n\t\t'fields.schedule',\n\t\t'fields.customflag1',\n\t\t'fields.bonus',\n\t\t'fields.remote',\n\t\t'fields.useclientjoburl',\n\t\t'fields.datecreated',\n\t\t'fields.datelastedited'\n\t];\n\n\tconst options = {\n\t\tincludeScore: true,\n\t\tthreshold: 0.3,\n\t\tkeys: fields\n\t};\n\n\tconst fuse = new Fuse(results, options);\n\tconst lowerCaseQuery = query.toLowerCase();\n\tconst queryTerms = lowerCaseQuery.split(' ');\n\n\tconst exactIdMatch = results.find(result => result.id.toString() === query || result.uniqueId === query);\n\tif (exactIdMatch) {\n\t\treturn [exactIdMatch];\n\t}\n\n\tconst fuseQuery = queryTerms.map(term => ({\n\t\t$or: fields.map(field => ({ [field]: term }))\n\t}));\n\n\tconst fuseResults = fuse.search({ $and: fuseQuery });\n\n\treturn fuseResults.map(result => result.item);\n}\n\nexport const filterListingsByLocation = (\n\tallListings,\n\tselectedLocation,\n\tlistingEntities\n) => {\n\tlet results = allListings;\n\tif (selectedLocation !== null) {\n\t\tresults = results.filter(item =>\n\t\t\tObject.prototype.hasOwnProperty.call(selectedLocation.items, item.id)\n\t\t);\n\t}\n\tconst mapItems = getDistinctItemsByProximity(results, listingEntities);\n\treturn { filteredListings: results, mapItems: mapItems };\n};\n"],"names":["getFilterOptions","listings","filteredListings","field","excludeZeroCount","arguments","length","undefined","options","Set","forEach","listing","fields","add","optionCounts","option","value","Object","prototype","hasOwnProperty","call","result","Array","from","filter","map","name","count","sort","a","b","localeCompare","getSpecialFeatureOptions","siteConfig","favorites","filterConfig","specialFeatures","featureCounts","keys","reduce","acc","key","entries","_ref","_ref2","_slicedToArray","featureKey","featureName","specialFeatureOptions","_ref3","_ref4","_iterator","_createForOfIteratorHelper","_step","s","n","done","x","includes","id","err","e","f","showFavorites","hideZeroResults","getPointsOfInterestOptions","pointsOfInterestNames","_ref5","_ref6","generateFilterOptions","allListings","filterOptions","parentField","selectedFilters","dynamicCounts","collapsedByDefault","sortAlphabetically","countListings","dynamicFilters","fieldFiltersShown","fieldName","filters","find","title","fieldNames","items","category","categoryKeys","filteredByCategory","_x$fields","locations","locationFiltersShown","index","locationFilteredListings","every","_ref7","_ref8","_typeof","cityIncluded","stateIncluded","cityStateIncluded","uniqueCities","_toConsumableArray","city","uniqueStates","state","uniqueCityStates","cityState","filteredByLocation","cityMatches","stateMatches","cityStateMatches","selectedStates","pointsOfInterest","pointsOfInterestConfig","cleanFilters","_objectSpread","item","cleanLocations","l","applyFilters","_ref9","_asyncToGenerator","_regeneratorRuntime","mark","_callee","query","listingEntities","results","invertedSpecialFeaturesMap","hasFavorite","favorite","_loop","_i","_Object$entries","distinctItems","wrap","_callee$","_context2","prev","next","_ref10","_ref11","Favorite","_Object$entries$_i","filterItems","formattedField","_loop$","_context","abrupt","some","_ref12","_ref13","filterName","filterValue","listingFieldName","stop","delegateYield","t0","isAlgoliaAvailable","filterListingsByAlgoliaSearch","sent","t1","console","error","searchResults","getDistinctItemsByProximity","mapItems","_x","_x2","_x3","_x4","_x5","_x6","apply","includeScore","threshold","fuse","Fuse","lowerCaseQuery","toLowerCase","queryTerms","split","exactIdMatch","toString","uniqueId","fuseQuery","term","$or","_defineProperty","fuseResults","search","$and","filterListingsByLocation","selectedLocation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sources":["../../src/util/loading.js"],"sourcesContent":["import React from 'react';\nimport Icon from '~/components/modules/icon';\n\nconst Loading = () => {\n\treturn (\n\t\t<div className=\"hc-flex hc-items-center hc-justify-center hc-w-full hc-h-full\">\n\t\t\t<Icon\n\t\t\t\ticon=\"ph:spinner\"\n\t\t\t\tclassName=\"hc-animate-spin hc-text-gray-300\"\n\t\t\t\twidth=\"40\"\n\t\t\t\theight=\"40\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Loading;\n"],"names":["Loading","React","createElement","className","Icon","icon","width","height"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,GAAS;EACrB,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAA+D,GAAA,eAC7EF,KAAA,CAAAC,aAAA,CAACE,aAAI,EAAA;AACJC,IAAAA,IAAI,EAAC,YAAY;AACjBF,IAAAA,SAAS,EAAC,kCAAkC;AAC5CG,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC;AAAI,GACX,CACG,CAAC;AAER;;;;"}
1
+ {"version":3,"file":"loading.js","sources":["../../src/util/loading.js"],"sourcesContent":["import React from 'react';\nimport Icon from '~/components/modules/icon';\n\nconst Loading = () => {\n\treturn (\n\t\t<div className=\"hc-flex hc-items-center hc-justify-center hc-w-full hc-h-full\">\n\t\t\t<Icon\n\t\t\t\ticon=\"ph:spinner\"\n\t\t\t\tclassName=\"hc-animate-spin hc-text-gray-300\"\n\t\t\t\twidth=\"40\"\n\t\t\t\theight=\"40\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default Loading;\n"],"names":["Loading","React","createElement","className","Icon","icon","width","height"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,GAAS;EACrB,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,+DAAA;AAA+D,GAAA,eAC7EF,KAAA,CAAAC,aAAA,CAACE,aAAI,EAAA;AACJC,IAAAA,IAAI,EAAC,YAAY;AACjBF,IAAAA,SAAS,EAAC,kCAAkC;AAC5CG,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,IAAA;AAAI,GACX,CACG,CAAC,CAAA;AAER;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"localStorageUtil.js","sources":["../../src/util/localStorageUtil.ts"],"sourcesContent":["export const getStorageObject = <T>(item: string, defaultItem: T | null = null): T | null => {\n\tif (typeof window === 'undefined') return defaultItem;\n\tconst storageItem = localStorage.getItem(item);\n\tif (storageItem === null || storageItem === 'undefined') {\n\t\tlocalStorage.removeItem(item);\n\t\treturn defaultItem;\n\t}\n\ttry {\n\t\treturn JSON.parse(storageItem) ?? defaultItem;\n\t} catch (error) {\n\t\tconsole.error(`Error parsing JSON for ${item}:`, error);\n\t\treturn defaultItem;\n\t}\n};\n\nexport const getStorageItem = (item: string, defaultItem: string | null = null): string | null => {\n\tif (typeof window === 'undefined') return defaultItem;\n\tconst storageItem = localStorage.getItem(item);\n\tif (storageItem === null || storageItem === 'undefined') {\n\t\tlocalStorage.removeItem(item);\n\t\treturn defaultItem;\n\t}\n\treturn storageItem ?? defaultItem;\n};\n\nexport const setStorageObject = (key: string, item: any): void => {\n\tif (typeof window === 'undefined') return;\n\tif (item === undefined) return;\n\ttry {\n\t\tlocalStorage.setItem(key, JSON.stringify(item));\n\t} catch (err) {\n\t\tconsole.error(`Error setting item ${key} in localStorage:`, err);\n\t}\n};\n"],"names":[],"mappings":"AAAO,MAAM,gBAAgB,GAAG,CAAI,IAAY,EAAE,WAAA,GAAwB,IAAI,KAAc;IAC3F,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,QAAA,OAAO,WAAW;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,IAAA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,WAAW,EAAE;AACxD,QAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7B,QAAA,OAAO,WAAW;AAClB,IAAA;IACD,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW;AAC7C,IAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AACvD,QAAA,OAAO,WAAW;AAClB,IAAA;AACF;AAEO,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,WAAA,GAA6B,IAAI,KAAmB;IAChG,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,QAAA,OAAO,WAAW;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,IAAA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,WAAW,EAAE;AACxD,QAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7B,QAAA,OAAO,WAAW;AAClB,IAAA;IACD,OAAO,WAAW,IAAI,WAAW;AAClC;MAEa,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAS,KAAU;IAChE,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE;IACxB,IAAI;AACH,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA;AAAC,IAAA,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAA,iBAAA,CAAmB,EAAE,GAAG,CAAC;AAChE,IAAA;AACF;;;;"}
1
+ {"version":3,"file":"localStorageUtil.js","sources":["../../src/util/localStorageUtil.ts"],"sourcesContent":["export const getStorageObject = <T>(item: string, defaultItem: T | null = null): T | null => {\n\tif (typeof window === 'undefined') return defaultItem;\n\tconst storageItem = localStorage.getItem(item);\n\tif (storageItem === null || storageItem === 'undefined') {\n\t\tlocalStorage.removeItem(item);\n\t\treturn defaultItem;\n\t}\n\ttry {\n\t\treturn JSON.parse(storageItem) ?? defaultItem;\n\t} catch (error) {\n\t\tconsole.error(`Error parsing JSON for ${item}:`, error);\n\t\treturn defaultItem;\n\t}\n};\n\nexport const getStorageItem = (item: string, defaultItem: string | null = null): string | null => {\n\tif (typeof window === 'undefined') return defaultItem;\n\tconst storageItem = localStorage.getItem(item);\n\tif (storageItem === null || storageItem === 'undefined') {\n\t\tlocalStorage.removeItem(item);\n\t\treturn defaultItem;\n\t}\n\treturn storageItem ?? defaultItem;\n};\n\nexport const setStorageObject = (key: string, item: any): void => {\n\tif (typeof window === 'undefined') return;\n\tif (item === undefined) return;\n\ttry {\n\t\tlocalStorage.setItem(key, JSON.stringify(item));\n\t} catch (err) {\n\t\tconsole.error(`Error setting item ${key} in localStorage:`, err);\n\t}\n};\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,GAAG,CAAI,IAAY,EAAE,WAAA,GAAwB,IAAI,KAAc;IAC3F,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,QAAA,OAAO,WAAW,CAAC;IACtD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,WAAW,EAAE;AACxD,QAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,OAAO,WAAW,CAAC;AACnB,KAAA;IACD,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;AAC9C,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAG,CAAA,CAAA,EAAE,KAAK,CAAC,CAAC;AACxD,QAAA,OAAO,WAAW,CAAC;AACnB,KAAA;AACF,EAAE;AAEW,MAAA,cAAc,GAAG,CAAC,IAAY,EAAE,WAAA,GAA6B,IAAI,KAAmB;IAChG,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,QAAA,OAAO,WAAW,CAAC;IACtD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,IAAA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,WAAW,EAAE;AACxD,QAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,OAAO,WAAW,CAAC;AACnB,KAAA;IACD,OAAO,WAAW,IAAI,WAAW,CAAC;AACnC,EAAE;MAEW,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAS,KAAU;IAChE,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI;AACH,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,KAAA;AAAC,IAAA,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAA,mBAAA,EAAsB,GAAG,CAAmB,iBAAA,CAAA,EAAE,GAAG,CAAC,CAAC;AACjE,KAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapIconUtil.js","sources":["../../src/util/mapIconUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport { placeTypes } from '~/constants/placeTypes';\n\nconst customSVGIcon = (\n\ttype,\n\tfillColor = \"#FFFFFF\",\n\tstrokeColor = \"#000000\",\n\tbackgroundFill = \"#000000\",\n\tbackgroundStroke = \"#000000\"\n) => {\n\tlet svg = \"\";\n\tswitch (type) {\n\t\tcase placeTypes.FOOD:\n\t\t\tsvg = `\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M25.7,36.6l0.6,15.8c0.1,2.4-2.3,2.4-2.3,2.4s-2.4,0-2.3-2.4l0.6-15.8c0.1-2-4.3-2.9-4-4.9l2.3-13.3h1.1\n\t\t\t\t\t\tl-0.6,9.7l1.7,1.2l0.6-10.9h1.1l0.6,10.9l1.7-1.2l-0.6-9.7h1.1l2.3,13.3C29.7,33.7,25.6,34.6,25.7,36.6z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M40,52.4c0,2.4-2.3,2.4-2.3,2.4s-2.5,0-2.3-2.4L36.6,39c-0.9,0-3.4-0.4-3.4-2.4v-6.1c0-2.4,0.3-6.4,1.2-8.2\n\t\t\t\t\t\tc1.1-2.4,3.9-4,5.6-4C40,18.3,40,52.4,40,52.4z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.TOURIST_ATTRACTION:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M27,18.5c-1.2,0-1.7,1.1-2.2,2.2L23.7,23h-4.5c-1.9,0-3.4,1.5-3.4,3.4v11.2c0,1.9,1.5,3.4,3.4,3.4h22.5\n\t\t\t\t\t\tc1.9,0,3.4-1.5,3.4-3.4V26.4c0-1.9-1.5-3.4-3.4-3.4h-4.5L36,20.8c-0.6-1.1-1-2.2-2.2-2.2H27z M19.2,25.3c0.6,0,1.1,0.5,1.1,1.1\n\t\t\t\t\t\tc0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C18,25.8,18.5,25.3,19.2,25.3z M30.4,25.3c3.7,0,6.7,3,6.7,6.7s-3,6.7-6.7,6.7\n\t\t\t\t\t\ts-6.7-3-6.7-6.7S26.7,25.3,30.4,25.3z M30.4,28.7c-1.9,0-3.4,1.5-3.4,3.4s1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4\n\t\t\t\t\t\tS32.3,28.7,30.4,28.7z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.SCHOOL:\n\t\t\tsvg = `\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M39.2,40.6c0,0-4.1,4.6-9.1,4.6S21,40.6,21,40.6v-5.2l9.1,5l9.1-5V40.6z\"/>\n\t\t\t\t\t<polygon class=\"st0\" points=\"44.4,40.4 41.8,40.4 41.8,31.4 30.1,37.8 15.8,30 30.1,22.2 44.4,30 \"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.STORE:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<g>\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path class=\"st0\" d=\"M45.4,27.7L42,41.1c-0.1,0.6-0.7,1-1.3,1c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3s-3.3-1.5-3.3-3.3\n\t\t\t\t\t\ts1.5-3.3,3.3-3.3H23.3c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3S20,47.2,20,45.4s1.5-3.3,3.3-3.3c-0.6,0-1.2-0.4-1.3-1l-4.1-16.4\n\t\t\t\t\t\th-1.3c-0.7,0-1.3-0.6-1.3-1.3s0.6-1.3,1.3-1.3h2.3c0.6,0,1.2,0.4,1.3,1l0.8,3h23.1c0.4,0,0.8,0.2,1.1,0.5\n\t\t\t\t\t\tC45.4,26.9,45.5,27.3,45.4,27.7z\"/>\n\t\t\t\t\t<path d=\"M41.4,45.5c0-0.4-0.3-0.7-0.7-0.7S40,45.1,40,45.5C40.1,46.2,41.4,46.2,41.4,45.5z\"/>\n\t\t\t\t\t<path d=\"M24,45.5c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7C22.6,46.2,24,46.2,24,45.5z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.AIRPORT:\n\t\t\tsvg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -960 960 960\" width=\"80\" height=\"80\">\n <!-- Blue Background Circle -->\n <circle cx=\"480\" cy=\"-480\" r=\"480\" fill=\"#0470FF\"/>\n\n <!-- White Airplane Icon -->\n <path fill=\"#FFFFFF\" d=\"M280-80v-100l120-84v-144L80-280v-120l320-224v-176q0-33 23.5-56.5T480-880q33 0 56.5 23.5T560-800v176l320 224v120L560-408v144l120 84v100l-200-60-200 60Z\"/>\n</svg>\n`;\n\t\t\tbreak;\n\t\tcase placeTypes.TRANSIT_STATION:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<g>\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path class=\"st0\" d=\"M26.3,41.3h-2.8L20.7,44h-1.4v-1.4l1.4-1.4c-2.3,0-4.2-1.9-4.2-4.2V26c0-2.3,1.9-4.2,4.2-4.2h9.7\n\t\t\t\t\t\tc2.3,0,4.2,1.9,4.2,4.2v1.4h-2.8v-2.8H19.3v9.7h6.9v7H26.3z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M44.3,43c0,0.5-0.4,1-1,1h-0.8c-0.5,0-1-0.5-1-1.1v-1.7H30.4V43c0,0.5-0.4,1.1-0.9,1.1h-0.9c-0.5,0-1-0.5-1-1\n\t\t\t\t\t\tv-7.6l2-5.7c0.2-0.6,0.7-0.9,1.4-0.9h10c0.6,0,1.1,0.4,1.3,0.9l2,5.7V43z\"/>\n\t\t\t\t\t<circle cx=\"20.7\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<circle cx=\"41.5\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<circle cx=\"30.4\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<polygon points=\"31,30.2 29.6,34.4 42.4,34.4 40.9,30.2 \"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.PLACE_OF_WORSHIP:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M21.3,40.8h-3.8c-1.3,0-2.3-1-2.3-2.3v-4.3c0-0.8,0.5-1.6,1.2-2l4.9-2.7V40.8z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M38,40.8h-4.6v-4.6c0-1.7-1.4-3-3-3c-1.7,0-3,1.4-3,3v4.6h-4.6V30c0-0.8,0.4-1.5,1.1-2l1.9-1.2v-5.1l0,0\n\t\t\t\t\t\tc0-0.4,0.2-0.8,0.4-1.1l3.6-3.6c0.3-0.3,0.8-0.3,1.1,0l3.6,3.6c0.3,0.3,0.4,0.7,0.4,1.1v5.1l1.9,1.2c0.7,0.4,1.1,1.2,1.1,2L38,40.8\n\t\t\t\t\t\tL38,40.8z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M45.6,38.5c0,1.3-1,2.3-2.3,2.3h-3.8V29.5l4.9,2.7c0.7,0.4,1.2,1.2,1.2,2C45.6,34.2,45.6,38.5,45.6,38.5z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t}\n\n\tconst iconUrl = `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\n\treturn iconUrl;\n};\n\nexport const iconPath = \"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Zm-.04 5.71c-.32 0-.57-.27-.56-.58 0-.32.27-.57.58-.56.32 0 .57.27.56.58 0 .31-.25.55-.56.56h-.02Z\";\n\nexport const markerIconProps = (placeMarkerConfigs, type) => {\n\n\tconst scaledWidth = placeMarkerConfigs.size;\n\tconst scaledHeight = (scaledWidth * 3) / 2;\n\tconst iconUrl = customSVGIcon(\n\t\ttype,\n\t\tplaceMarkerConfigs.colors.innerFillColor,\n\t\tplaceMarkerConfigs.colors.innerStrokeColor,\n\t\tplaceMarkerConfigs.colors.outerFillColor,\n\t\tplaceMarkerConfigs.colors.outerStrokeColor\n\t);\n\treturn {\n\t\turl: iconUrl,\n\t\tscaledSize: new google.maps.Size(scaledWidth, scaledHeight),\n\t\tanchor: new google.maps.Point(scaledWidth / 2, scaledHeight)\n\t};\n};\n\nexport const iconProps = () => {\n\treturn {\n\t\tpath: iconPath,\n\t\tfillOpacity: 1,\n\t\tstrokeWeight: 1.75,\n\t\tscale: 1.6,\n\t\tanchor: new google.maps.Point(12, 17)\n\t};\n};\n\nexport const markerIcon = (markerConfigs, count = 0) => {\n\tconst svg = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n <style type=\"text/css\">\n .st0{fill:white;}\n .svg-background{fill:${markerConfigs.fillColor};}\n </style>\n <!-- Solid background shape -->\n <path class=\"svg-background\" d=\"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Z\"/>\n <!-- Text on top -->\n <text x=\"5.5\" y=\"8\" font-family=\"Arial\" font-size=\"5\" text-anchor=\"middle\" fill=\"white\">${count}</text>\n </svg>\n `;\n\n\treturn {\n\t\turl: `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`,\n\t\tscaledSize: new window.google.maps.Size(55, 55),\n\t\tanchor: new window.google.maps.Point(18, 25)\n\t};\n};\n\nexport const markerIconSelected = (markerConfigs, count = 0) => {\n\tconst svg = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n <style type=\"text/css\">\n .st0{fill:white;}\n .svg-background{fill:${markerConfigs.selectedFillColor};}\n </style>\n <!-- Solid background shape -->\n <path class=\"svg-background\" d=\"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Z\"/>\n <!-- Text on top -->\n <text x=\"5.5\" y=\"8\" font-family=\"Arial\" font-size=\"5\" text-anchor=\"middle\" fill=\"white\">${count}</text>\n </svg>\n `;\n\n\treturn {\n\t\turl: `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`,\n\t\tscaledSize: new window.google.maps.Size(50, 50),\n\t\tanchor: new window.google.maps.Point(12, 17)\n\t};\n};\n\nexport const pinIcon = markerConfigs => {\n\tconst { fillColor, strokeColor } = markerConfigs;\n\n\tconst svg = `\n\t<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n\t\t<path d=\"${iconPath}\" fill=\"${fillColor}\" stroke=\"${strokeColor}\" stroke-width=\"2\"/>\n\t </svg>\n\t`;\n\n\treturn `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\n};\n\n"],"names":["customSVGIcon","type","fillColor","arguments","length","undefined","strokeColor","backgroundFill","backgroundStroke","svg","placeTypes","FOOD","concat","TOURIST_ATTRACTION","SCHOOL","STORE","AIRPORT","TRANSIT_STATION","PLACE_OF_WORSHIP","iconUrl","encodeURIComponent","iconPath","markerIconProps","placeMarkerConfigs","scaledWidth","size","scaledHeight","colors","innerFillColor","innerStrokeColor","outerFillColor","outerStrokeColor","url","scaledSize","google","maps","Size","anchor","Point","markerIcon","markerConfigs","count","window","markerIconSelected","selectedFillColor","pinIcon"],"mappings":";;AAAA;AAGA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAClBC,IAAI,EAKA;AAAA,EAAA,IAJJC,SAAS,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,SAAS;AAAA,EAAA,IACrBG,WAAW,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,SAAS;AAAA,EAAA,IACvBI,cAAc,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,SAAS;AAAA,EAAA,IAC1BK,gBAAgB,GAAAL,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,SAAS;EAE5B,IAAIM,GAAG,GAAG,EAAE;AACZ,EAAA,QAAQR,IAAI;IACX,KAAKS,UAAU,CAACC,IAAI;AACnBF,MAAAA,GAAG,0WAAAG,MAAA,CAIWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,qqBAAA,CAQhE;AACH,MAAA;IACD,KAAKE,UAAU,CAACG,kBAAkB;AACjCJ,MAAAA,GAAG,4VAAAG,MAAA,CAGWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,mxBAAA,CAShE;AACH,MAAA;IACD,KAAKE,UAAU,CAACI,MAAM;AACrBL,MAAAA,GAAG,0WAAAG,MAAA,CAIWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,4bAAA,CAMhE;AACH,MAAA;IACD,KAAKE,UAAU,CAACK,KAAK;AACpBN,MAAAA,GAAG,4VAAAG,MAAA,CAGWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,24BAAA,CAahE;AACH,MAAA;IACD,KAAKE,UAAU,CAACM,OAAO;AACtBP,MAAAA,GAAG,GAAA,yaAOL;AACE,MAAA;IACD,KAAKC,UAAU,CAACO,eAAe;AAC9BR,MAAAA,GAAG,4VAAAG,MAAA,CAGWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,46BAAA,CAehE;AACH,MAAA;IACD,KAAKE,UAAU,CAACQ,gBAAgB;AAC/BT,MAAAA,GAAG,sTAAAG,MAAA,CAGWV,SAAS,EAAA,WAAA,CAAA,CAAAU,MAAA,CAAYN,WAAW,EAAA,qCAAA,CAAA,CAAAM,MAAA,CACrBL,cAAc,EAAA,WAAA,CAAA,CAAAK,MAAA,CAAYJ,gBAAgB,EAAA,4wBAAA,CAShE;AACH,MAAA;AACF;EAEA,IAAMW,OAAO,8BAAAP,MAAA,CAA8BQ,kBAAkB,CAACX,GAAG,CAAC,CAAE;AACpE,EAAA,OAAOU,OAAO;AACf,CAAC;AAEM,IAAME,QAAQ,GAAG;AAEjB,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,kBAAkB,EAAEtB,IAAI,EAAK;AAE5D,EAAA,IAAMuB,WAAW,GAAGD,kBAAkB,CAACE,IAAI;AAC3C,EAAA,IAAMC,YAAY,GAAIF,WAAW,GAAG,CAAC,GAAI,CAAC;AAC1C,EAAA,IAAML,OAAO,GAAGnB,aAAa,CAC5BC,IAAI,EACJsB,kBAAkB,CAACI,MAAM,CAACC,cAAc,EACxCL,kBAAkB,CAACI,MAAM,CAACE,gBAAgB,EAC1CN,kBAAkB,CAACI,MAAM,CAACG,cAAc,EACxCP,kBAAkB,CAACI,MAAM,CAACI,gBAC3B,CAAC;EACD,OAAO;AACNC,IAAAA,GAAG,EAAEb,OAAO;IACZc,UAAU,EAAE,IAAIC,MAAM,CAACC,IAAI,CAACC,IAAI,CAACZ,WAAW,EAAEE,YAAY,CAAC;AAC3DW,IAAAA,MAAM,EAAE,IAAIH,MAAM,CAACC,IAAI,CAACG,KAAK,CAACd,WAAW,GAAG,CAAC,EAAEE,YAAY;GAC3D;AACF;IAYaa,UAAU,GAAG,SAAbA,UAAUA,CAAIC,aAAa,EAAgB;AAAA,EAAA,IAAdC,KAAK,GAAAtC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;EAClD,IAAMM,GAAG,GAAA,kMAAA,CAAAG,MAAA,CAIqB4B,aAAa,CAACtC,SAAS,EAAA,sYAAA,CAAA,CAAAU,MAAA,CAK0C6B,KAAK,EAAA,yBAAA,CAElG;EAEF,OAAO;AACNT,IAAAA,GAAG,6BAAApB,MAAA,CAA6BQ,kBAAkB,CAACX,GAAG,CAAC,CAAE;AACzDwB,IAAAA,UAAU,EAAE,IAAIS,MAAM,CAACR,MAAM,CAACC,IAAI,CAACC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/CC,IAAAA,MAAM,EAAE,IAAIK,MAAM,CAACR,MAAM,CAACC,IAAI,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE;GAC3C;AACF;IAEaK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,aAAa,EAAgB;AAAA,EAAA,IAAdC,KAAK,GAAAtC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;EAC1D,IAAMM,GAAG,GAAA,gMAAA,CAAAG,MAAA,CAIqB4B,aAAa,CAACI,iBAAiB,EAAA,sYAAA,CAAA,CAAAhC,MAAA,CAKkC6B,KAAK,EAAA,yBAAA,CAElG;EAEF,OAAO;AACNT,IAAAA,GAAG,6BAAApB,MAAA,CAA6BQ,kBAAkB,CAACX,GAAG,CAAC,CAAE;AACzDwB,IAAAA,UAAU,EAAE,IAAIS,MAAM,CAACR,MAAM,CAACC,IAAI,CAACC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/CC,IAAAA,MAAM,EAAE,IAAIK,MAAM,CAACR,MAAM,CAACC,IAAI,CAACG,KAAK,CAAC,EAAE,EAAE,EAAE;GAC3C;AACF;IAEaO,OAAO,GAAG,SAAVA,OAAOA,CAAGL,aAAa,EAAI;AACvC,EAAA,IAAQtC,SAAS,GAAkBsC,aAAa,CAAxCtC,SAAS;IAAEI,WAAW,GAAKkC,aAAa,CAA7BlC,WAAW;AAE9B,EAAA,IAAMG,GAAG,GAAA,wIAAA,CAAAG,MAAA,CAEGS,QAAQ,EAAA,YAAA,CAAA,CAAAT,MAAA,CAAWV,SAAS,EAAA,cAAA,CAAA,CAAAU,MAAA,CAAaN,WAAW,EAAA,yCAAA,CAE/D;AAED,EAAA,OAAA,0BAAA,CAAAM,MAAA,CAAkCQ,kBAAkB,CAACX,GAAG,CAAC,CAAA;AAC1D;;;;"}
1
+ {"version":3,"file":"mapIconUtil.js","sources":["../../src/util/mapIconUtil.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport { placeTypes } from '~/constants/placeTypes';\n\nconst customSVGIcon = (\n\ttype,\n\tfillColor = \"#FFFFFF\",\n\tstrokeColor = \"#000000\",\n\tbackgroundFill = \"#000000\",\n\tbackgroundStroke = \"#000000\"\n) => {\n\tlet svg = \"\";\n\tswitch (type) {\n\t\tcase placeTypes.FOOD:\n\t\t\tsvg = `\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M25.7,36.6l0.6,15.8c0.1,2.4-2.3,2.4-2.3,2.4s-2.4,0-2.3-2.4l0.6-15.8c0.1-2-4.3-2.9-4-4.9l2.3-13.3h1.1\n\t\t\t\t\t\tl-0.6,9.7l1.7,1.2l0.6-10.9h1.1l0.6,10.9l1.7-1.2l-0.6-9.7h1.1l2.3,13.3C29.7,33.7,25.6,34.6,25.7,36.6z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M40,52.4c0,2.4-2.3,2.4-2.3,2.4s-2.5,0-2.3-2.4L36.6,39c-0.9,0-3.4-0.4-3.4-2.4v-6.1c0-2.4,0.3-6.4,1.2-8.2\n\t\t\t\t\t\tc1.1-2.4,3.9-4,5.6-4C40,18.3,40,52.4,40,52.4z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.TOURIST_ATTRACTION:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M27,18.5c-1.2,0-1.7,1.1-2.2,2.2L23.7,23h-4.5c-1.9,0-3.4,1.5-3.4,3.4v11.2c0,1.9,1.5,3.4,3.4,3.4h22.5\n\t\t\t\t\t\tc1.9,0,3.4-1.5,3.4-3.4V26.4c0-1.9-1.5-3.4-3.4-3.4h-4.5L36,20.8c-0.6-1.1-1-2.2-2.2-2.2H27z M19.2,25.3c0.6,0,1.1,0.5,1.1,1.1\n\t\t\t\t\t\tc0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C18,25.8,18.5,25.3,19.2,25.3z M30.4,25.3c3.7,0,6.7,3,6.7,6.7s-3,6.7-6.7,6.7\n\t\t\t\t\t\ts-6.7-3-6.7-6.7S26.7,25.3,30.4,25.3z M30.4,28.7c-1.9,0-3.4,1.5-3.4,3.4s1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4\n\t\t\t\t\t\tS32.3,28.7,30.4,28.7z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.SCHOOL:\n\t\t\tsvg = `\n\t\t\t\t\t<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M39.2,40.6c0,0-4.1,4.6-9.1,4.6S21,40.6,21,40.6v-5.2l9.1,5l9.1-5V40.6z\"/>\n\t\t\t\t\t<polygon class=\"st0\" points=\"44.4,40.4 41.8,40.4 41.8,31.4 30.1,37.8 15.8,30 30.1,22.2 44.4,30 \"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.STORE:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<g>\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path class=\"st0\" d=\"M45.4,27.7L42,41.1c-0.1,0.6-0.7,1-1.3,1c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3s-3.3-1.5-3.3-3.3\n\t\t\t\t\t\ts1.5-3.3,3.3-3.3H23.3c1.8,0,3.3,1.5,3.3,3.3s-1.5,3.3-3.3,3.3S20,47.2,20,45.4s1.5-3.3,3.3-3.3c-0.6,0-1.2-0.4-1.3-1l-4.1-16.4\n\t\t\t\t\t\th-1.3c-0.7,0-1.3-0.6-1.3-1.3s0.6-1.3,1.3-1.3h2.3c0.6,0,1.2,0.4,1.3,1l0.8,3h23.1c0.4,0,0.8,0.2,1.1,0.5\n\t\t\t\t\t\tC45.4,26.9,45.5,27.3,45.4,27.7z\"/>\n\t\t\t\t\t<path d=\"M41.4,45.5c0-0.4-0.3-0.7-0.7-0.7S40,45.1,40,45.5C40.1,46.2,41.4,46.2,41.4,45.5z\"/>\n\t\t\t\t\t<path d=\"M24,45.5c0-0.4-0.3-0.7-0.7-0.7s-0.7,0.3-0.7,0.7C22.6,46.2,24,46.2,24,45.5z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.AIRPORT:\n\t\t\tsvg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -960 960 960\" width=\"80\" height=\"80\">\n <!-- Blue Background Circle -->\n <circle cx=\"480\" cy=\"-480\" r=\"480\" fill=\"#0470FF\"/>\n\n <!-- White Airplane Icon -->\n <path fill=\"#FFFFFF\" d=\"M280-80v-100l120-84v-144L80-280v-120l320-224v-176q0-33 23.5-56.5T480-880q33 0 56.5 23.5T560-800v176l320 224v120L560-408v144l120 84v100l-200-60-200 60Z\"/>\n</svg>\n`;\n\t\t\tbreak;\n\t\tcase placeTypes.TRANSIT_STATION:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" preserveAspectRatio=\"xMidYMid meet\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<g>\n\t\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path class=\"st0\" d=\"M26.3,41.3h-2.8L20.7,44h-1.4v-1.4l1.4-1.4c-2.3,0-4.2-1.9-4.2-4.2V26c0-2.3,1.9-4.2,4.2-4.2h9.7\n\t\t\t\t\t\tc2.3,0,4.2,1.9,4.2,4.2v1.4h-2.8v-2.8H19.3v9.7h6.9v7H26.3z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M44.3,43c0,0.5-0.4,1-1,1h-0.8c-0.5,0-1-0.5-1-1.1v-1.7H30.4V43c0,0.5-0.4,1.1-0.9,1.1h-0.9c-0.5,0-1-0.5-1-1\n\t\t\t\t\t\tv-7.6l2-5.7c0.2-0.6,0.7-0.9,1.4-0.9h10c0.6,0,1.1,0.4,1.3,0.9l2,5.7V43z\"/>\n\t\t\t\t\t<circle cx=\"20.7\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<circle cx=\"41.5\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<circle cx=\"30.4\" cy=\"37.1\" r=\"1.4\"/>\n\t\t\t\t\t<polygon points=\"31,30.2 29.6,34.4 42.4,34.4 40.9,30.2 \"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t\tcase placeTypes.PLACE_OF_WORSHIP:\n\t\t\tsvg = `<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t\t\t\tviewBox=\"0 0 60.8 89.6\" style=\"enable-background:new 0 0 60.8 89.6;\" xml:space=\"preserve\">\n\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t.st0{fill:${fillColor}; stroke:${strokeColor};}\n\t\t\t\t\t.svg-background{fill:${backgroundFill}; stroke:${backgroundStroke};}\n\t\t\t\t\t</style>\n\t\t\t\t\t<path class=\"svg-background\" d=\"M30.4,3.9C14.3,3.9,1.3,16.8,1.3,33c0,21,18.6,29.1,29.1,56.6C40.9,62.1,59.5,54.9,59.5,33C60.3,16.8,46.6,3.9,30.4,3.9z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M21.3,40.8h-3.8c-1.3,0-2.3-1-2.3-2.3v-4.3c0-0.8,0.5-1.6,1.2-2l4.9-2.7V40.8z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M38,40.8h-4.6v-4.6c0-1.7-1.4-3-3-3c-1.7,0-3,1.4-3,3v4.6h-4.6V30c0-0.8,0.4-1.5,1.1-2l1.9-1.2v-5.1l0,0\n\t\t\t\t\t\tc0-0.4,0.2-0.8,0.4-1.1l3.6-3.6c0.3-0.3,0.8-0.3,1.1,0l3.6,3.6c0.3,0.3,0.4,0.7,0.4,1.1v5.1l1.9,1.2c0.7,0.4,1.1,1.2,1.1,2L38,40.8\n\t\t\t\t\t\tL38,40.8z\"/>\n\t\t\t\t\t<path class=\"st0\" d=\"M45.6,38.5c0,1.3-1,2.3-2.3,2.3h-3.8V29.5l4.9,2.7c0.7,0.4,1.2,1.2,1.2,2C45.6,34.2,45.6,38.5,45.6,38.5z\"/>\n\t\t\t\t\t</svg>\n\t\t\t\t\t`;\n\t\t\tbreak;\n\t}\n\n\tconst iconUrl = `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\n\treturn iconUrl;\n};\n\nexport const iconPath = \"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Zm-.04 5.71c-.32 0-.57-.27-.56-.58 0-.32.27-.57.58-.56.32 0 .57.27.56.58 0 .31-.25.55-.56.56h-.02Z\";\n\nexport const markerIconProps = (placeMarkerConfigs, type) => {\n\n\tconst scaledWidth = placeMarkerConfigs.size;\n\tconst scaledHeight = (scaledWidth * 3) / 2;\n\tconst iconUrl = customSVGIcon(\n\t\ttype,\n\t\tplaceMarkerConfigs.colors.innerFillColor,\n\t\tplaceMarkerConfigs.colors.innerStrokeColor,\n\t\tplaceMarkerConfigs.colors.outerFillColor,\n\t\tplaceMarkerConfigs.colors.outerStrokeColor\n\t);\n\treturn {\n\t\turl: iconUrl,\n\t\tscaledSize: new google.maps.Size(scaledWidth, scaledHeight),\n\t\tanchor: new google.maps.Point(scaledWidth / 2, scaledHeight)\n\t};\n};\n\nexport const iconProps = () => {\n\treturn {\n\t\tpath: iconPath,\n\t\tfillOpacity: 1,\n\t\tstrokeWeight: 1.75,\n\t\tscale: 1.6,\n\t\tanchor: new google.maps.Point(12, 17)\n\t};\n};\n\nexport const markerIcon = (markerConfigs, count = 0) => {\n\tconst svg = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n <style type=\"text/css\">\n .st0{fill:white;}\n .svg-background{fill:${markerConfigs.fillColor};}\n </style>\n <!-- Solid background shape -->\n <path class=\"svg-background\" d=\"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Z\"/>\n <!-- Text on top -->\n <text x=\"5.5\" y=\"8\" font-family=\"Arial\" font-size=\"5\" text-anchor=\"middle\" fill=\"white\">${count}</text>\n </svg>\n `;\n\n\treturn {\n\t\turl: `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`,\n\t\tscaledSize: new window.google.maps.Size(55, 55),\n\t\tanchor: new window.google.maps.Point(18, 25)\n\t};\n};\n\nexport const markerIconSelected = (markerConfigs, count = 0) => {\n\tconst svg = `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n <style type=\"text/css\">\n .st0{fill:white;}\n .svg-background{fill:${markerConfigs.selectedFillColor};}\n </style>\n <!-- Solid background shape -->\n <path class=\"svg-background\" d=\"M5.5 0A5.27 5.27 0 0 0 0 5.01v.49c0 1.73 1.38 3.43 2.07 4.12s3.43 4.12 3.43 4.12 2.75-3.43 3.43-4.12 2.06-2.39 2.06-4.12c.14-2.9-2.1-5.36-5-5.5H5.5Z\"/>\n <!-- Text on top -->\n <text x=\"5.5\" y=\"8\" font-family=\"Arial\" font-size=\"5\" text-anchor=\"middle\" fill=\"white\">${count}</text>\n </svg>\n `;\n\n\treturn {\n\t\turl: `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`,\n\t\tscaledSize: new window.google.maps.Size(50, 50),\n\t\tanchor: new window.google.maps.Point(12, 17)\n\t};\n};\n\nexport const pinIcon = markerConfigs => {\n\tconst { fillColor, strokeColor } = markerConfigs;\n\n\tconst svg = `\n\t<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"30\" height=\"30\" viewBox=\"-6 -4 24 24\">\n\t\t<path d=\"${iconPath}\" fill=\"${fillColor}\" stroke=\"${strokeColor}\" stroke-width=\"2\"/>\n\t </svg>\n\t`;\n\n\treturn `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`;\n};\n\n"],"names":["customSVGIcon","type","fillColor","arguments","length","undefined","strokeColor","backgroundFill","backgroundStroke","svg","placeTypes","FOOD","concat","TOURIST_ATTRACTION","SCHOOL","STORE","AIRPORT","TRANSIT_STATION","PLACE_OF_WORSHIP","iconUrl","encodeURIComponent","iconPath","markerIconProps","placeMarkerConfigs","scaledWidth","size","scaledHeight","colors","innerFillColor","innerStrokeColor","outerFillColor","outerStrokeColor","url","scaledSize","google","maps","Size","anchor","Point","markerIcon","markerConfigs","count","window","markerIconSelected","selectedFillColor","pinIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapUtil.js","sources":["../../src/util/mapUtil.js"],"sourcesContent":["export const getDistinctItemsByProximity = (items, listingEntitiesDetailsInput) => {\n\tconst clusters = {};\n\n\tif (!listingEntitiesDetailsInput) return [];\n\n\tconst listingEntitiesDetails = Array.isArray(listingEntitiesDetailsInput)\n\t\t? listingEntitiesDetailsInput.reduce((acc, entity) => {\n\t\t\tif (entity?.entityKey) acc[entity.entityKey.toLowerCase()] = entity;\n\t\t\treturn acc;\n\t\t }, {})\n\t\t: Object.keys(listingEntitiesDetailsInput).reduce((acc, key) => {\n\t\t\tacc[key.toLowerCase()] = listingEntitiesDetailsInput[key];\n\t\t\treturn acc;\n\t\t }, {});\n\n\tconst closeItemPairs = findCloseItems(listingEntitiesDetails);\n\tif (closeItemPairs.length > 0) {\n\t\tconst adjusted = adjustItemPositions(listingEntitiesDetails, closeItemPairs);\n\t\tObject.assign(listingEntitiesDetails, adjusted);\n\t}\n\n\titems?.forEach(item => {\n\t\tconst entityKey = item?.fields?.entityKey;\n\t\tif (!entityKey || entityKey === '-1') return;\n\t\tconst entityDetails = listingEntitiesDetails[entityKey.toLowerCase()];\n\t\tif (!entityDetails) {\n\t\t\tconsole.error(`Details not found for entityKey: ${entityKey}`);\n\t\t\treturn;\n\t\t}\n\n\t\titem.mapDetails = entityDetails;\n\n\t\tconst normalizedEntityKey = entityKey.toLowerCase();\n\t\tif (!clusters[normalizedEntityKey]) {\n\t\t\tclusters[normalizedEntityKey] = {\n\t\t\t\t...entityDetails,\n\t\t\t\titems: { [item.id]: item }\n\t\t\t};\n\t\t} else {\n\t\t\tclusters[normalizedEntityKey].items[item.id] = item;\n\t\t}\n\t});\n\n\treturn Object.values(clusters);\n};\n\nexport const findCloseItems = entitiesByKey => {\n\tconst closeItems = [];\n\tconst items = Object.values(entitiesByKey); // Convert object to array\n\tconst proximityThreshold = 0.0001;\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tfor (let j = i + 1; j < items.length; j++) {\n\t\t\tconst distanceLat = Math.abs(items[i].latitude - items[j].latitude);\n\t\t\tconst distanceLng = Math.abs(items[i].longitude - items[j].longitude);\n\t\t\tif (distanceLat < proximityThreshold && distanceLng < proximityThreshold) {\n\t\t\t\tcloseItems.push({ item1: items[i], item2: items[j] });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn closeItems;\n};\n\nexport const adjustItemPositions = (entitiesByKey, closeItemPairs) => {\n\tconst adjustmentValue = 0.0001;\n\tconst adjustedItems = { ...entitiesByKey };\n\n\tcloseItemPairs.forEach(pair => {\n\t\tconst key2 = pair.item2.entityKey;\n\t\tif (adjustedItems[key2]) {\n\t\t\tadjustedItems[key2] = {\n\t\t\t\t...adjustedItems[key2],\n\t\t\t\tlatitude: adjustedItems[key2].latitude + adjustmentValue,\n\t\t\t\tlongitude: adjustedItems[key2].longitude + adjustmentValue\n\t\t\t};\n\t\t}\n\t});\n\n\treturn adjustedItems;\n};\n\nexport const clusterOptions = (clusterGridSize, fillColor) => {\n\treturn {\n\t\tgridSize: clusterGridSize,\n\t\tmaxZoom: 15,\n\t\tstyles: [\n\t\t\t{\n\t\t\t\turl: createSvgDataUri(fillColor),\n\t\t\t\ttextColor: 'white',\n\t\t\t\theight: 40,\n\t\t\t\twidth: 40\n\t\t\t}\n\t\t]\n\t};\n};\n\nfunction createSvgDataUri(fillColor) {\n\tconst svg = `<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\">\n\t <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"${fillColor}\" />\n\t</svg>`;\n\treturn `data:image/svg+xml;base64,${btoa(svg)}`;\n}\n"],"names":["getDistinctItemsByProximity","items","listingEntitiesDetailsInput","clusters","listingEntitiesDetails","Array","isArray","reduce","acc","entity","entityKey","toLowerCase","Object","keys","key","closeItemPairs","findCloseItems","length","adjusted","adjustItemPositions","assign","forEach","item","_item$fields","fields","entityDetails","console","error","concat","mapDetails","normalizedEntityKey","_objectSpread","_defineProperty","id","values","entitiesByKey","closeItems","proximityThreshold","i","j","distanceLat","Math","abs","latitude","distanceLng","longitude","push","item1","item2","adjustmentValue","adjustedItems","pair","key2","clusterOptions","clusterGridSize","fillColor","gridSize","maxZoom","styles","url","createSvgDataUri","textColor","height","width","svg","btoa"],"mappings":"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"}
1
+ {"version":3,"file":"mapUtil.js","sources":["../../src/util/mapUtil.js"],"sourcesContent":["export const getDistinctItemsByProximity = (items, listingEntitiesDetailsInput) => {\n\tconst clusters = {};\n\n\tif (!listingEntitiesDetailsInput) return [];\n\n\tconst listingEntitiesDetails = Array.isArray(listingEntitiesDetailsInput)\n\t\t? listingEntitiesDetailsInput.reduce((acc, entity) => {\n\t\t\tif (entity?.entityKey) acc[entity.entityKey.toLowerCase()] = entity;\n\t\t\treturn acc;\n\t\t }, {})\n\t\t: Object.keys(listingEntitiesDetailsInput).reduce((acc, key) => {\n\t\t\tacc[key.toLowerCase()] = listingEntitiesDetailsInput[key];\n\t\t\treturn acc;\n\t\t }, {});\n\n\tconst closeItemPairs = findCloseItems(listingEntitiesDetails);\n\tif (closeItemPairs.length > 0) {\n\t\tconst adjusted = adjustItemPositions(listingEntitiesDetails, closeItemPairs);\n\t\tObject.assign(listingEntitiesDetails, adjusted);\n\t}\n\n\titems?.forEach(item => {\n\t\tconst entityKey = item?.fields?.entityKey;\n\t\tif (!entityKey || entityKey === '-1') return;\n\t\tconst entityDetails = listingEntitiesDetails[entityKey.toLowerCase()];\n\t\tif (!entityDetails) {\n\t\t\tconsole.error(`Details not found for entityKey: ${entityKey}`);\n\t\t\treturn;\n\t\t}\n\n\t\titem.mapDetails = entityDetails;\n\n\t\tconst normalizedEntityKey = entityKey.toLowerCase();\n\t\tif (!clusters[normalizedEntityKey]) {\n\t\t\tclusters[normalizedEntityKey] = {\n\t\t\t\t...entityDetails,\n\t\t\t\titems: { [item.id]: item }\n\t\t\t};\n\t\t} else {\n\t\t\tclusters[normalizedEntityKey].items[item.id] = item;\n\t\t}\n\t});\n\n\treturn Object.values(clusters);\n};\n\nexport const findCloseItems = entitiesByKey => {\n\tconst closeItems = [];\n\tconst items = Object.values(entitiesByKey); // Convert object to array\n\tconst proximityThreshold = 0.0001;\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\tfor (let j = i + 1; j < items.length; j++) {\n\t\t\tconst distanceLat = Math.abs(items[i].latitude - items[j].latitude);\n\t\t\tconst distanceLng = Math.abs(items[i].longitude - items[j].longitude);\n\t\t\tif (distanceLat < proximityThreshold && distanceLng < proximityThreshold) {\n\t\t\t\tcloseItems.push({ item1: items[i], item2: items[j] });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn closeItems;\n};\n\nexport const adjustItemPositions = (entitiesByKey, closeItemPairs) => {\n\tconst adjustmentValue = 0.0001;\n\tconst adjustedItems = { ...entitiesByKey };\n\n\tcloseItemPairs.forEach(pair => {\n\t\tconst key2 = pair.item2.entityKey;\n\t\tif (adjustedItems[key2]) {\n\t\t\tadjustedItems[key2] = {\n\t\t\t\t...adjustedItems[key2],\n\t\t\t\tlatitude: adjustedItems[key2].latitude + adjustmentValue,\n\t\t\t\tlongitude: adjustedItems[key2].longitude + adjustmentValue\n\t\t\t};\n\t\t}\n\t});\n\n\treturn adjustedItems;\n};\n\nexport const clusterOptions = (clusterGridSize, fillColor) => {\n\treturn {\n\t\tgridSize: clusterGridSize,\n\t\tmaxZoom: 15,\n\t\tstyles: [\n\t\t\t{\n\t\t\t\turl: createSvgDataUri(fillColor),\n\t\t\t\ttextColor: 'white',\n\t\t\t\theight: 40,\n\t\t\t\twidth: 40\n\t\t\t}\n\t\t]\n\t};\n};\n\nfunction createSvgDataUri(fillColor) {\n\tconst svg = `<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\">\n\t <circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"${fillColor}\" />\n\t</svg>`;\n\treturn `data:image/svg+xml;base64,${btoa(svg)}`;\n}\n"],"names":["getDistinctItemsByProximity","items","listingEntitiesDetailsInput","clusters","listingEntitiesDetails","Array","isArray","reduce","acc","entity","entityKey","toLowerCase","Object","keys","key","closeItemPairs","findCloseItems","length","adjusted","adjustItemPositions","assign","forEach","item","_item$fields","fields","entityDetails","console","error","concat","mapDetails","normalizedEntityKey","_objectSpread","_defineProperty","id","values","entitiesByKey","closeItems","proximityThreshold","i","j","distanceLat","Math","abs","latitude","distanceLng","longitude","push","item1","item2","adjustmentValue","adjustedItems","pair","key2","clusterOptions","clusterGridSize","fillColor","gridSize","maxZoom","styles","url","createSvgDataUri","textColor","height","width","svg","btoa"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sortUtil.js","sources":["../../src/util/sortUtil.js"],"sourcesContent":["export const dynamicSort = (items, fieldName, order = \"asc\", favorites = null) => {\n\tif (!items || !items.length) return [];\n\n\tlet sortedItems = [...items];\n\tif (fieldName === \"favorite\") {\n\t\tsortedItems.forEach(x => {\n\t\t\tif (x.fields) {\n\t\t\t\tx.fields.favorite = favorites.includes(x.id) ?? false;\n\t\t\t}\n\t\t});\n\t}\n\n\tconst inferType = value => {\n\t\tif (!isNaN(Date.parse(value)) && isNaN(value)) return \"date\";\n\t\tif (!isNaN(parseFloat(value)) && isFinite(value)) return \"number\";\n\t\tif (value === true || value === false) return \"bool\";\n\t\treturn \"string\";\n\t};\n\n\tconst dataType = inferType(sortedItems[0].fields[fieldName]);\n\n\tsortedItems = sortedItems.sort((a, b) => {\n\t\tlet valA = a.fields[fieldName];\n\t\tlet valB = b.fields[fieldName];\n\t\tif (valA == null || valB == null) return 0;\n\n\t\tlet comparison = 0;\n\t\tif (dataType === \"string\") {\n\t\t\tcomparison = valA.localeCompare(valB);\n\t\t} else if (dataType === \"number\") {\n\t\t\tcomparison = valA - valB;\n\t\t} else if (dataType === \"date\") {\n\t\t\tcomparison = new Date(valA) - new Date(valB);\n\t\t} else if (dataType === \"bool\") {\n\t\t\tcomparison = valA === valB ? 0 : valA ? -1 : 1;\n\t\t}\n\n\t\treturn order === \"desc\" ? comparison * -1 : comparison;\n\t});\n\n\treturn sortedItems.sort((a, b) => {\n\t\tlet valA = a.fields[\"hotJob\"];\n\t\tlet valB = b.fields[\"hotJob\"];\n\n\t\tlet comparison = valA - valB;\n\n\t\treturn comparison * -1;\n\t});\n};\n"],"names":["dynamicSort","items","fieldName","order","arguments","length","undefined","favorites","sortedItems","_toConsumableArray","forEach","x","fields","_favorites$includes","favorite","includes","id","inferType","value","isNaN","Date","parse","parseFloat","isFinite","dataType","sort","a","b","valA","valB","comparison","localeCompare"],"mappings":"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"}
1
+ {"version":3,"file":"sortUtil.js","sources":["../../src/util/sortUtil.js"],"sourcesContent":["export const dynamicSort = (items, fieldName, order = \"asc\", favorites = null) => {\n\tif (!items || !items.length) return [];\n\n\tlet sortedItems = [...items];\n\tif (fieldName === \"favorite\") {\n\t\tsortedItems.forEach(x => {\n\t\t\tif (x.fields) {\n\t\t\t\tx.fields.favorite = favorites.includes(x.id) ?? false;\n\t\t\t}\n\t\t});\n\t}\n\n\tconst inferType = value => {\n\t\tif (!isNaN(Date.parse(value)) && isNaN(value)) return \"date\";\n\t\tif (!isNaN(parseFloat(value)) && isFinite(value)) return \"number\";\n\t\tif (value === true || value === false) return \"bool\";\n\t\treturn \"string\";\n\t};\n\n\tconst dataType = inferType(sortedItems[0].fields[fieldName]);\n\n\tsortedItems = sortedItems.sort((a, b) => {\n\t\tlet valA = a.fields[fieldName];\n\t\tlet valB = b.fields[fieldName];\n\t\tif (valA == null || valB == null) return 0;\n\n\t\tlet comparison = 0;\n\t\tif (dataType === \"string\") {\n\t\t\tcomparison = valA.localeCompare(valB);\n\t\t} else if (dataType === \"number\") {\n\t\t\tcomparison = valA - valB;\n\t\t} else if (dataType === \"date\") {\n\t\t\tcomparison = new Date(valA) - new Date(valB);\n\t\t} else if (dataType === \"bool\") {\n\t\t\tcomparison = valA === valB ? 0 : valA ? -1 : 1;\n\t\t}\n\n\t\treturn order === \"desc\" ? comparison * -1 : comparison;\n\t});\n\n\treturn sortedItems.sort((a, b) => {\n\t\tlet valA = a.fields[\"hotJob\"];\n\t\tlet valB = b.fields[\"hotJob\"];\n\n\t\tlet comparison = valA - valB;\n\n\t\treturn comparison * -1;\n\t});\n};\n"],"names":["dynamicSort","items","fieldName","order","arguments","length","undefined","favorites","sortedItems","_toConsumableArray","forEach","x","fields","_favorites$includes","favorite","includes","id","inferType","value","isNaN","Date","parse","parseFloat","isFinite","dataType","sort","a","b","valA","valB","comparison","localeCompare"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringUtils.js","sources":["../../src/util/stringUtils.js"],"sourcesContent":["export const capitalize = str => {\n\tif (str && typeof str === \"string\") {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\t}\n\treturn str;\n};\n"],"names":["capitalize","str","charAt","toUpperCase","slice","toLowerCase"],"mappings":"IAAaA,UAAU,GAAG,SAAbA,UAAUA,CAAGC,GAAG,EAAI;AAChC,EAAA,IAAIA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,OAAOA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE;AAChE,EAAA;AACA,EAAA,OAAOJ,GAAG;AACX;;;;"}
1
+ {"version":3,"file":"stringUtils.js","sources":["../../src/util/stringUtils.js"],"sourcesContent":["export const capitalize = str => {\n\tif (str && typeof str === \"string\") {\n\t\treturn str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\t}\n\treturn str;\n};\n"],"names":["capitalize","str","charAt","toUpperCase","slice","toLowerCase"],"mappings":"IAAaA,UAAU,GAAG,SAAbA,UAAUA,CAAGC,GAAG,EAAI;AAChC,EAAA,IAAIA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IACnC,OAAOA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,CAAA;AAChE,GAAA;AACA,EAAA,OAAOJ,GAAG,CAAA;AACX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"twMerge.js","sources":["../../src/util/twMerge.js"],"sourcesContent":["import { extendTailwindMerge } from 'tailwind-merge';\n\n// Create a custom tailwind-merge that understands the hc- prefix\nexport const twMerge = extendTailwindMerge({\n\tprefix: 'hc-'\n});\n"],"names":["twMerge","extendTailwindMerge","prefix"],"mappings":";;AAEA;AACO,IAAMA,OAAO,GAAGC,mBAAmB,CAAC;AAC1CC,EAAAA,MAAM,EAAE;AACT,CAAC;;;;"}
1
+ {"version":3,"file":"twMerge.js","sources":["../../src/util/twMerge.js"],"sourcesContent":["import { extendTailwindMerge } from 'tailwind-merge';\n\n// Create a custom tailwind-merge that understands the hc- prefix\nexport const twMerge = extendTailwindMerge({\n\tprefix: 'hc-'\n});\n"],"names":["twMerge","extendTailwindMerge","prefix"],"mappings":";;AAEA;AACaA,IAAAA,OAAO,GAAGC,mBAAmB,CAAC;AAC1CC,EAAAA,MAAM,EAAE,KAAA;AACT,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { slicedToArray as _slicedToArray, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { createForOfIteratorHelper as _createForOfIteratorHelper, slicedToArray as _slicedToArray } from '../_virtual/_rollupPluginBabelHelpers.js';
2
2
 
3
3
  var updateURLWithFilters = function updateURLWithFilters(filters, location, query, handleUrlUpdate) {
4
4
  var searchParams = new URLSearchParams(location.search);
@@ -1 +1 @@
1
- {"version":3,"file":"urlFilterUtil.js","sources":["../../src/util/urlFilterUtil.js"],"sourcesContent":["export const updateURLWithFilters = (filters, location, query, handleUrlUpdate) => {\n\tconst searchParams = new URLSearchParams(location.search);\n\n\tconst filteredSearchParams = new URLSearchParams();\n\tfor (const [key, value] of searchParams.entries()) {\n\t\tif (!key.includes('.') && key !== 'query') {\n\t\t\tfilteredSearchParams.set(key, value);\n\t\t}\n\t}\n\n\tif (query) {\n\t\tfilteredSearchParams.set('query', query);\n\t}\n\n\tfor (const category in filters) {\n\t\tfor (const filter in filters[category]) {\n\t\t\tconst key = `${category}.${filter}`;\n\t\t\tif (filters[category][filter]) {\n\t\t\t\tfilteredSearchParams.set(key, 'true');\n\t\t\t}\n\t\t}\n\t}\n\n\thandleUrlUpdate(filteredSearchParams.toString());\n};\n\nfunction notifyParentOfUrlChange() {\n\tsetTimeout(() => {\n\t\tvar message = {\n\t\t\ttype: 'URL_CHANGE',\n\t\t\turl: window.location.href\n\t\t};\n\t\twindow.parent.postMessage(message, \"*\");\n\t}, 500);\n}\n\nexport const parseQueryParams = search => {\n\tconst queryParams = {};\n\tif (!search) return queryParams;\n\tlet queryString = search.split('?')[1];\n\tif (!queryString) {\n\t\treturn queryParams;\n\t}\n\tqueryString = queryString.replaceAll('+', ' ');\n\tqueryString.split('&').forEach(param => {\n\t\tconst [key, value] = param.split('=');\n\t\tqueryParams[decodeURIComponent(key)] = decodeURIComponent(value);\n\t});\n\treturn queryParams;\n};\n\nexport const filtersFromURL = location => {\n\tif (!location || !location.search) return;\n\tconst filters = {};\n\tlet queryParam = null;\n\tlet lsIgnore = false;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\tObject.keys(queryParams).forEach(key => {\n\t\tif (key && key.includes('.')) {\n\t\t\tconst [category, filter] = key.split('.');\n\t\t\tif (!filters[category]) {\n\t\t\t\tfilters[category] = {};\n\t\t\t}\n\t\t\tfilters[category][filter] = queryParams[key] === 'true';\n\t\t} else if (key === 'query') {\n\t\t\tqueryParam = queryParams[key];\n\t\t} else if (key === 'ls-ignore') {\n\t\t\tlsIgnore = queryParams[key] === 'true';\n\t\t}\n\t});\n\n\treturn { filters, query: queryParam, lsIgnore };\n};\n\nexport const hasFiltersInURL = location => {\n\tif (!location || !location.search) return;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\treturn Object.keys(queryParams).some(key => key.includes('.'));\n};\n\nexport const hasQueryInUrl = location => {\n\tif (!location || !location.search) return;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\treturn Object.keys(queryParams).includes('query');\n};\n"],"names":["updateURLWithFilters","filters","location","query","handleUrlUpdate","searchParams","URLSearchParams","search","filteredSearchParams","_iterator","_createForOfIteratorHelper","entries","_step","s","n","done","_step$value","_slicedToArray","value","key","includes","set","err","e","f","category","filter","concat","toString","parseQueryParams","queryParams","queryString","split","replaceAll","forEach","param","_param$split","_param$split2","decodeURIComponent","filtersFromURL","queryParam","lsIgnore","Object","keys","_key$split","_key$split2"],"mappings":"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"}
1
+ {"version":3,"file":"urlFilterUtil.js","sources":["../../src/util/urlFilterUtil.js"],"sourcesContent":["export const updateURLWithFilters = (filters, location, query, handleUrlUpdate) => {\n\tconst searchParams = new URLSearchParams(location.search);\n\n\tconst filteredSearchParams = new URLSearchParams();\n\tfor (const [key, value] of searchParams.entries()) {\n\t\tif (!key.includes('.') && key !== 'query') {\n\t\t\tfilteredSearchParams.set(key, value);\n\t\t}\n\t}\n\n\tif (query) {\n\t\tfilteredSearchParams.set('query', query);\n\t}\n\n\tfor (const category in filters) {\n\t\tfor (const filter in filters[category]) {\n\t\t\tconst key = `${category}.${filter}`;\n\t\t\tif (filters[category][filter]) {\n\t\t\t\tfilteredSearchParams.set(key, 'true');\n\t\t\t}\n\t\t}\n\t}\n\n\thandleUrlUpdate(filteredSearchParams.toString());\n};\n\nfunction notifyParentOfUrlChange() {\n\tsetTimeout(() => {\n\t\tvar message = {\n\t\t\ttype: 'URL_CHANGE',\n\t\t\turl: window.location.href\n\t\t};\n\t\twindow.parent.postMessage(message, \"*\");\n\t}, 500);\n}\n\nexport const parseQueryParams = search => {\n\tconst queryParams = {};\n\tif (!search) return queryParams;\n\tlet queryString = search.split('?')[1];\n\tif (!queryString) {\n\t\treturn queryParams;\n\t}\n\tqueryString = queryString.replaceAll('+', ' ');\n\tqueryString.split('&').forEach(param => {\n\t\tconst [key, value] = param.split('=');\n\t\tqueryParams[decodeURIComponent(key)] = decodeURIComponent(value);\n\t});\n\treturn queryParams;\n};\n\nexport const filtersFromURL = location => {\n\tif (!location || !location.search) return;\n\tconst filters = {};\n\tlet queryParam = null;\n\tlet lsIgnore = false;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\tObject.keys(queryParams).forEach(key => {\n\t\tif (key && key.includes('.')) {\n\t\t\tconst [category, filter] = key.split('.');\n\t\t\tif (!filters[category]) {\n\t\t\t\tfilters[category] = {};\n\t\t\t}\n\t\t\tfilters[category][filter] = queryParams[key] === 'true';\n\t\t} else if (key === 'query') {\n\t\t\tqueryParam = queryParams[key];\n\t\t} else if (key === 'ls-ignore') {\n\t\t\tlsIgnore = queryParams[key] === 'true';\n\t\t}\n\t});\n\n\treturn { filters, query: queryParam, lsIgnore };\n};\n\nexport const hasFiltersInURL = location => {\n\tif (!location || !location.search) return;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\treturn Object.keys(queryParams).some(key => key.includes('.'));\n};\n\nexport const hasQueryInUrl = location => {\n\tif (!location || !location.search) return;\n\tconst queryParams = parseQueryParams(location.search);\n\tif (!queryParams) return;\n\treturn Object.keys(queryParams).includes('query');\n};\n"],"names":["updateURLWithFilters","filters","location","query","handleUrlUpdate","searchParams","URLSearchParams","search","filteredSearchParams","_iterator","_createForOfIteratorHelper","entries","_step","s","n","done","_step$value","_slicedToArray","value","key","includes","set","err","e","f","category","filter","concat","toString","parseQueryParams","queryParams","queryString","split","replaceAll","forEach","param","_param$split","_param$split2","decodeURIComponent","filtersFromURL","queryParam","lsIgnore","Object","keys","_key$split","_key$split2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abcagency/hc-ui-components",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
4
4
  "description": "UI Components for HireControl",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -172,10 +172,10 @@ export const HireControlMap = ({
172
172
  }
173
173
  }
174
174
  }) => {
175
- // Load site configuration
175
+ // Load site configuration (non-blocking)
176
176
  const { siteConfig, isLoading: isConfigLoading, error } = useSiteConfig(clientToken, siteConfiguration);
177
177
 
178
- // Initialize Algolia immediately if credentials are provided (before first render of children)
178
+ // Initialize Algolia immediately if credentials are provided
179
179
  const [algoliaInitialized, setAlgoliaInitialized] = useState(() => {
180
180
  if (algoliaAppId && algoliaApiKey && algoliaIndexName) {
181
181
  const initialized = initializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName);
@@ -187,17 +187,14 @@ export const HireControlMap = ({
187
187
  return false;
188
188
  });
189
189
 
190
- // Load Google Maps
190
+ // Load Google Maps (non-blocking - map component will handle this)
191
191
  const { isLoaded: isMapsLoaded, loadError } = useLoadScript({
192
192
  googleMapsApiKey: googleMapsApiKey,
193
193
  version: 'quarterly',
194
194
  libraries: LIBRARIES
195
195
  });
196
196
 
197
- // Calculate effective showMap value based on available data
198
- const effectiveShowMap = hideMap ? false : (siteConfig?.showMap ?? true);
199
-
200
- // Show error states
197
+ // Only show errors for critical failures
201
198
  if (!googleMapsApiKey) {
202
199
  console.error('Google Maps API key is required');
203
200
  return <div className="hc-p-4">Google Maps API key is required</div>;
@@ -212,16 +209,9 @@ export const HireControlMap = ({
212
209
  return <div className="hc-p-4">Error loading configuration</div>;
213
210
  }
214
211
 
215
- // Show skeleton while loading config or maps
216
- if (!isMapsLoaded || isConfigLoading || !siteConfig) {
217
- return (
218
- <MapSkeleton
219
- hideFilters={hideFilters}
220
- showMap={effectiveShowMap}
221
- containerStyle={containerStyle}
222
- mapPosition={siteConfig?.mapPosition || 'right'}
223
- />
224
- );
212
+ // Render immediately even if config is loading - use defaults or provided siteConfiguration
213
+ if (!siteConfig) {
214
+ return null; // Brief flash, config should load very quickly
225
215
  }
226
216
 
227
217
  // Prepare props for MapListProvider
@@ -253,6 +243,9 @@ export const HireControlMap = ({
253
243
  filterConfig
254
244
  };
255
245
 
246
+ // Calculate effective showMap value
247
+ const effectiveShowMap = hideMap ? false : siteConfig.showMap;
248
+
256
249
  // Prepare marker configuration
257
250
  const markerConfigs = {
258
251
  fillColor: siteConfig.colors.primary,
@@ -264,7 +257,9 @@ export const HireControlMap = ({
264
257
  size: siteConfig.pointsOfInterestConfig.placeMarkerSize
265
258
  }
266
259
  };
267
- //Desktop view of filter used below
260
+
261
+ // Render immediately - individual components handle their own loading
262
+ // Only Google Maps components will wait for isMapsLoaded
268
263
  return (
269
264
  <ContextProviders
270
265
  siteConfig={siteConfig}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GoogleMap } from "@react-google-maps/api";
2
+ import { GoogleMap, useLoadScript } from "@react-google-maps/api";
3
3
  import ShowAllButton from "~/components/modules/buttons/show-all-button";
4
4
 
5
5
  const Map = ({
@@ -18,10 +18,11 @@ const Map = ({
18
18
  setSelectedFilters,
19
19
  children
20
20
  }) => {
21
+ // Always render the container, show placeholder while map loads
21
22
  return (
22
23
  <>
23
- {zoom && center && (
24
- <div ref={mapContainerRef} className="hc-h-full hc-relative">
24
+ <div ref={mapContainerRef} className="hc-h-full hc-relative">
25
+ {zoom && center ? (
25
26
  <GoogleMap
26
27
  zoom={zoom}
27
28
  onLoad={onLoad}
@@ -43,6 +44,11 @@ const Map = ({
43
44
  >
44
45
  {children}
45
46
  </GoogleMap>
47
+ ) : (
48
+ <div className="hc-h-full hc-bg-gray-100 hc-animate-pulse hc-flex hc-items-center hc-justify-center">
49
+ <div className="hc-text-gray-400 hc-text-sm">Loading map...</div>
50
+ </div>
51
+ )}
46
52
  {mapInteracted && (
47
53
  <ShowAllButton
48
54
  mapInteracted={mapInteracted}
@@ -55,8 +61,7 @@ const Map = ({
55
61
  setSelectedFilters={setSelectedFilters}
56
62
  />
57
63
  )}
58
- </div>
59
- )}
64
+ </div>
60
65
  </>
61
66
  );
62
67
  };