@abcagency/hc-ui-components 1.8.3 → 1.8.5

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 (44) hide show
  1. package/dist/components/HireControlMap.js +5 -16
  2. package/dist/components/HireControlMap.js.map +1 -1
  3. package/dist/components/containers/maps/map-container.js +14 -10
  4. package/dist/components/containers/maps/map-container.js.map +1 -1
  5. package/dist/components/containers/maps/map-list-container.js +16 -22
  6. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  7. package/dist/components/modules/maps/map.js +4 -7
  8. package/dist/components/modules/maps/map.js.map +1 -1
  9. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +52 -0
  10. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
  11. package/dist/node_modules/react-loader-spinner/dist/index.js +90 -0
  12. package/dist/node_modules/react-loader-spinner/dist/index.js.map +1 -0
  13. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +13 -0
  14. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -0
  15. package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +16 -0
  16. package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -0
  17. package/dist/node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +10 -0
  18. package/dist/node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
  19. package/dist/node_modules/stylis/src/Enum.js +13 -0
  20. package/dist/node_modules/stylis/src/Enum.js.map +1 -0
  21. package/dist/node_modules/stylis/src/Middleware.js +76 -0
  22. package/dist/node_modules/stylis/src/Middleware.js.map +1 -0
  23. package/dist/node_modules/stylis/src/Parser.js +197 -0
  24. package/dist/node_modules/stylis/src/Parser.js.map +1 -0
  25. package/dist/node_modules/stylis/src/Prefixer.js +148 -0
  26. package/dist/node_modules/stylis/src/Prefixer.js.map +1 -0
  27. package/dist/node_modules/stylis/src/Serializer.js +38 -0
  28. package/dist/node_modules/stylis/src/Serializer.js.map +1 -0
  29. package/dist/node_modules/stylis/src/Tokenizer.js +235 -0
  30. package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -0
  31. package/dist/node_modules/stylis/src/Utility.js +128 -0
  32. package/dist/node_modules/stylis/src/Utility.js.map +1 -0
  33. package/dist/node_modules/tinycolor2/esm/tinycolor.js +174 -0
  34. package/dist/node_modules/tinycolor2/esm/tinycolor.js.map +1 -0
  35. package/dist/node_modules/tslib/tslib.es6.js +45 -0
  36. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  37. package/dist/styles/index.css +1 -1
  38. package/package.json +2 -1
  39. package/src/components/HireControlMap.js +2 -10
  40. package/src/components/containers/maps/map-container.js +14 -7
  41. package/src/components/containers/maps/map-list-container.js +15 -17
  42. package/src/components/modules/maps/map.js +16 -18
  43. package/src/components/modules/maps/map.js.bak +67 -0
  44. package/src/components/modules/maps/map.js.bak2 +67 -0
@@ -185,9 +185,9 @@ var HireControlMap = function HireControlMap(_ref2) {
185
185
  googleMapsApiKey: googleMapsApiKey,
186
186
  version: 'quarterly',
187
187
  libraries: LIBRARIES
188
- }),
189
- isMapsLoaded = _useLoadScript.isLoaded,
190
- loadError = _useLoadScript.loadError;
188
+ });
189
+ _useLoadScript.isLoaded;
190
+ var loadError = _useLoadScript.loadError;
191
191
 
192
192
  // Only show errors for critical failures
193
193
  if (!googleMapsApiKey) {
@@ -203,19 +203,8 @@ var HireControlMap = function HireControlMap(_ref2) {
203
203
  }, "Error loading Google Maps");
204
204
  }
205
205
 
206
- // Wait for Google Maps to load before rendering
207
- if (!isMapsLoaded) {
208
- console.log('Waiting for Google Maps API to load...');
209
- return /*#__PURE__*/React.createElement("div", {
210
- className: "hc-p-4 hc-flex hc-items-center hc-justify-center hc-h-screen"
211
- }, /*#__PURE__*/React.createElement("div", {
212
- className: "hc-text-center"
213
- }, /*#__PURE__*/React.createElement("div", {
214
- className: "hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto"
215
- }), /*#__PURE__*/React.createElement("p", {
216
- className: "hc-mt-4 hc-text-gray-600"
217
- }, "Loading map...")));
218
- }
206
+ // Don't block rendering - let filters and list show immediately
207
+ // Map container will handle its own loading state
219
208
 
220
209
  // siteConfiguration is now required - all data passed in statically
221
210
  if (!siteConfiguration) {
@@ -1 +1 @@
1
- {"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\n// Context imports\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\nimport { ThemeProvider } from '~/contexts/themeContext';\n\nimport { initializeAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\n// Libraries for Google Maps\nconst LIBRARIES = ['places'];\n\n// Since all data is now passed in statically, no need to fetch config\n\n// Component to handle all context providers\nconst ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, ...mapListProps }) => { return(\n\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t<ThemeProvider\n\t\t\tuiText={siteConfig.colors.uiText}\n\t\t\tuiAccent={siteConfig.colors.uiAccent}\n\t\t\tprimary={siteConfig.colors.primary}\n\t\t\tprimaryDark={siteConfig.colors.primaryDark}\n\t\t\tsecondary={siteConfig.colors.secondary}\n\t\t\tsecondaryDark={siteConfig.colors.secondaryDark}\n\t\t>\n\t\t\t<MapListProvider siteConfig={siteConfig} googleMapsApiKey={googleMapsApiKey} {...mapListProps}>\n\t\t\t\t<MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride} localStorageKey={mapListProps.localStorageKey}>\n\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\tadditionalMapMarkers={mapListProps.additionalMapMarkers}\n\t\t\t\t\t\tgoogleMapsApiKey={googleMapsApiKey}\n\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</PlacesProvider>\n\t\t\t\t</MapProvider>\n\t\t\t</MapListProvider>\n\t\t</ThemeProvider>\n\t</TrackEventProvider>\n);};\n\n// Main component\n//\nexport const HireControlMap = ({\n\tclientToken,\n\tgoogleMapsApiKey, // Required: Google Maps API key from Next.js\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\tisIframe = false,\n\thideMap = false, // Override to hide map even if siteConfig.showMap is true\n\thideFilters = false, // Hide the entire filter section\n\tnoEntities = false, // Skip entity fetching and hide entity-related filters\n\ttrackEvent = (eventType, eventObj) => {\n\t\tconsole.log(eventType);\n\t\tconsole.log(eventObj);\n\t},\n\t//providing listings entities and a getListingEntities function should negate the need for map code to fetch data\n\tlistings = [],\n\tentities = [],\n\tgetListingEntitiesCallback = null,\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null,\n\tExpandListComponent = null,\n\tadditionalMapMarkers = [],\n\tdefaultZoomOverride = null,\n\t//Default site configuration file passed here stops need to fetch from api\n\tsiteConfiguration = null,\n\tlocalStorageKey = 'defaultKey.',\n\t// Algolia search configuration (optional)\n\talgoliaAppId = null,\n\talgoliaApiKey = null,\n\talgoliaIndexName = null,\n\t/**\n\t * Filter configuration (optional)\n\t * @param {boolean} hideZeroResults - Hide filter options with 0 results (default: false)\n\t * @param {boolean} dynamicCounts - Update counts based on active filters.\n\t * If false, shows initial/total counts (default: true)\n\t * @param {boolean} showFavorites - Show favorites special feature filter (default: true)\n\t * @param {boolean} collapsedByDefault - Start with all filter sections collapsed (default: false)\n\t * @param {boolean} sortAlphabetically - Sort filter options alphabetically instead of by count (default: false)\n\t * @param {object} classNames - Custom Tailwind classes to apply to filter components\n\t * @param {string} classNames.filterContainer - Classes for the main filter container wrapper\n\t * @param {string} classNames.filterContent - Classes for the scrollable filter content area\n\t * @param {string} classNames.filterAccordion - Classes for each filter accordion section\n\t * @param {string} classNames.filterAccordionHeader - Classes for accordion header/trigger\n\t * @param {string} classNames.filterAccordionContent - Classes for accordion content area\n\t * @param {string} classNames.filterItem - Classes for individual filter items (checkboxes/options)\n\t * @param {string} classNames.filterItemLabel - Classes for filter item labels\n\t * @param {string} classNames.filterItemCheckbox - Classes for filter item checkboxes\n\t * @param {string} classNames.filterItemCount - Classes for filter item count badges\n\t * @param {string} classNames.searchInput - Classes for search input field\n\t * @param {string} classNames.resetButton - Classes for reset all button\n\t * @param {string} classNames.showJobsButton - Classes for show jobs button\n\t * @param {string} classNames.filterFooter - Classes for the footer containing buttons\n\t */\n\tfilterConfig = {\n\t\thideZeroResults: false, // Hide filter options with 0 results\n\t\tdynamicCounts: true, // Update counts based on other active filters (false = show initial counts only)\n\t\tshowFavorites: true, // Show favorites filter\n\t\tcollapsedByDefault: false, // Start with all filter sections collapsed\n\t\tsortAlphabetically: false, // Sort filter options alphabetically instead of by count\n\t\tclassNames: {\n\t\t\tfilterContainer: '', // Main filter container wrapper\n\t\t\tfilterContent: '', // Scrollable content area\n\t\t\tfilterAccordion: '', // Filter accordion section\n\t\t\tfilterAccordionHeader: '', // Accordion header/trigger\n\t\t\tfilterAccordionContent: '', // Accordion content body\n\t\t\tfilterItem: '', // Individual filter items\n\t\t\tfilterItemLabel: '', // Filter item labels\n\t\t\tfilterItemCheckbox: '', // Filter item checkboxes\n\t\t\tfilterItemCount: '', // Filter item count badges\n\t\t\tsearchInput: '', // Search input field\n\t\t\tresetButton: '', // Reset all button\n\t\t\tshowJobsButton: '', // Show jobs button\n\t\t\tfilterFooter: '' // Footer with buttons\n\t\t}\n\t}\n}) => {\n\t// Initialize Algolia when credentials are provided (client-side only)\n\tconst [algoliaInitialized, setAlgoliaInitialized] = useState(false);\n\t\n\tuseEffect(() => {\n\t\tif (algoliaAppId && algoliaApiKey && algoliaIndexName && typeof window !== 'undefined') {\n\t\t\tinitializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName).then(initialized => {\n\t\t\t\tsetAlgoliaInitialized(initialized);\n\t\t\t\tif (initialized) {\n\t\t\t\t\tconsole.log('Algolia search initialized successfully');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [algoliaAppId, algoliaApiKey, algoliaIndexName]);\n\n\t// Load Google Maps (non-blocking - map component will handle this)\n\tconst { isLoaded: isMapsLoaded, loadError } = useLoadScript({\n\t\tgoogleMapsApiKey: googleMapsApiKey,\n\t\tversion: 'quarterly',\n\t\tlibraries: LIBRARIES\n\t});\n\n\t// Only show errors for critical failures\n\tif (!googleMapsApiKey) {\n\t\tconsole.error('Google Maps API key is required');\n\t\treturn <div className=\"hc-p-4\">Google Maps API key is required</div>;\n\t}\n\n\tif (loadError) {\n\t\tconsole.error('Google Maps failed to load:', loadError);\n\t\treturn <div className=\"hc-p-4\">Error loading Google Maps</div>;\n\t}\n\n\t// Wait for Google Maps to load before rendering\n\tif (!isMapsLoaded) {\n\t\tconsole.log('Waiting for Google Maps API to load...');\n\t\treturn <div className=\"hc-p-4 hc-flex hc-items-center hc-justify-center hc-h-screen\">\n\t\t\t<div className=\"hc-text-center\">\n\t\t\t\t<div className=\"hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto\"></div>\n\t\t\t\t<p className=\"hc-mt-4 hc-text-gray-600\">Loading map...</p>\n\t\t\t</div>\n\t\t</div>;\n\t}\n\n\t// siteConfiguration is now required - all data passed in statically\n\tif (!siteConfiguration) {\n\t\tconsole.error('Site configuration is required');\n\t\treturn <div className=\"hc-p-4\">Site configuration is required</div>;\n\t}\n\n\t// Prepare props for MapListProvider\n\tconst mapListProps = {\n\t\tresetFilters: false,\n\t\tnavigateToDetails,\n\t\tnavigateToEasyApply,\n\t\tLink,\n\t\tlinkFormat,\n\t\teasyApplyUrl,\n\t\teasyApplyText,\n\t\tlistings,\n\t\tentities,\n\t\tsiteConfig: siteConfiguration,\n\t\tgetListingEntitiesCallback,\n\t\tsetFiltersUrl,\n\t\thiddenFilters,\n\t\thandleUrlUpdate,\n\t\tdefaultFilters,\n\t\tdefaultZoomOverride, // will usually fit bounds\n\t\tcontainerStyle,\n\t\tExpandListComponent: ExpandListComponent ?? null,\n\t\tadditionalMapMarkers,\n\t\tisIframe,\n\t\tlocalStorageKey,\n\t\thideMap,\n\t\thideFilters,\n\t\tnoEntities,\n\t\tfilterConfig\n\t};\n\n\t// Calculate effective showMap value\n\tconst effectiveShowMap = hideMap ? false : siteConfiguration.showMap;\n\n\t// Prepare marker configuration\n\tconst markerConfigs = {\n\t\tfillColor: siteConfiguration.colors.primary,\n\t\tstrokeColor: siteConfiguration.colors.primaryDark,\n\t\tselectedFillColor: siteConfiguration.colors.secondary,\n\t\tselectedStrokeColor: siteConfiguration.colors.secondaryDark,\n\t\tplaceMarkers: {\n\t\t\tcolors: siteConfiguration.pointsOfInterestConfig.placeMarkerColors,\n\t\t\tsize: siteConfiguration.pointsOfInterestConfig.placeMarkerSize\n\t\t}\n\t};\n\n\t// Render immediately - individual components handle their own loading\n\t// Only Google Maps components will wait for isMapsLoaded\n\treturn (\n\t\t<ContextProviders\n\t\t\tsiteConfig={siteConfiguration}\n\t\t\ttrackEvent={trackEvent}\n\t\t\tgoogleMapsApiKey={googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY}\n\t\t\t{...mapListProps}\n\t\t>\n\t\t\t<Grid\n\t\t\t\tas='section'\n\t\t\t\tid='job-search-interface'\n\t\t\t\tcolumns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}\n\t\t\t\tgap='hc-gap-0'\n\t\t\t\tautoRows={false}\n\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t>\n\t\t\t\t{!hideFilters && (\n\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t<Filter isDesktop={true} showMap={effectiveShowMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t)}\n\t\t\t\t<MapList\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tmapPosition={siteConfiguration.mapPosition}\n\t\t\t\t\tshowMap={effectiveShowMap}\n\t\t\t\t\tfieldsShown={siteConfiguration.fieldsShown}\n\t\t\t\t\tspecialFeatures={siteConfiguration.specialFeatures}\n\t\t\t\t\tfieldNames={siteConfiguration.fieldNames}\n\t\t\t\t\tplaceMappings={siteConfiguration.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\tmarkerConfigs={markerConfigs}\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</ContextProviders>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["LIBRARIES","ContextProviders","_ref","_siteConfig$pointsOfI","children","siteConfig","trackEvent","googleMapsApiKey","mapListProps","_objectWithoutProperties","_excluded","React","createElement","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","MapListProvider","_extends","MapProvider","resetFilters","defaultZoomOverride","localStorageKey","PlacesProvider","placeMappings","pointsOfInterestConfig","additionalMapMarkers","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","HireControlMap","_ref2","_siteConfiguration$po","clientToken","_ref2$containerStyle","containerStyle","height","_ref2$navigateToDetai","navigateToDetails","_ref2$navigateToEasyA","navigateToEasyApply","_ref2$handleUrlUpdate","handleUrlUpdate","_ref2$Link","Link","_ref2$linkFormat","linkFormat","_ref2$easyApplyUrl","easyApplyUrl","_ref2$easyApplyText","easyApplyText","_ref2$isIframe","isIframe","_ref2$hideMap","hideMap","_ref2$hideFilters","hideFilters","_ref2$noEntities","noEntities","_ref2$trackEvent","eventType","eventObj","console","log","_ref2$listings","listings","_ref2$entities","entities","_ref2$getListingEntit","getListingEntitiesCallback","_ref2$defaultFilters","defaultFilters","_ref2$hiddenFilters","hiddenFilters","_ref2$setFiltersUrl","setFiltersUrl","_ref2$ExpandListCompo","ExpandListComponent","_ref2$additionalMapMa","_ref2$defaultZoomOver","_ref2$siteConfigurati","siteConfiguration","_ref2$localStorageKey","_ref2$algoliaAppId","algoliaAppId","_ref2$algoliaApiKey","algoliaApiKey","_ref2$algoliaIndexNam","algoliaIndexName","_ref2$filterConfig","filterConfig","hideZeroResults","dynamicCounts","showFavorites","collapsedByDefault","sortAlphabetically","classNames","filterContainer","filterContent","filterAccordion","filterAccordionHeader","filterAccordionContent","filterItem","filterItemLabel","filterItemCheckbox","filterItemCount","searchInput","resetButton","showJobsButton","filterFooter","_useState","useState","_useState2","_slicedToArray","algoliaInitialized","setAlgoliaInitialized","useEffect","window","initializeAlgoliaSearch","then","initialized","_useLoadScript","useLoadScript","version","libraries","isMapsLoaded","isLoaded","loadError","error","className","effectiveShowMap","showMap","markerConfigs","process","env","GOOGLE_MAPS_API_KEY","Grid","as","id","columns","gap","autoRows","Item","Filter","isDesktop","MapList","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
1
+ {"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\n// Context imports\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\nimport { ThemeProvider } from '~/contexts/themeContext';\n\nimport { initializeAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\n// Libraries for Google Maps\nconst LIBRARIES = ['places'];\n\n// Since all data is now passed in statically, no need to fetch config\n\n// Component to handle all context providers\nconst ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, ...mapListProps }) => { return(\n\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t<ThemeProvider\n\t\t\tuiText={siteConfig.colors.uiText}\n\t\t\tuiAccent={siteConfig.colors.uiAccent}\n\t\t\tprimary={siteConfig.colors.primary}\n\t\t\tprimaryDark={siteConfig.colors.primaryDark}\n\t\t\tsecondary={siteConfig.colors.secondary}\n\t\t\tsecondaryDark={siteConfig.colors.secondaryDark}\n\t\t>\n\t\t\t<MapListProvider siteConfig={siteConfig} googleMapsApiKey={googleMapsApiKey} {...mapListProps}>\n\t\t\t\t<MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride} localStorageKey={mapListProps.localStorageKey}>\n\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\tadditionalMapMarkers={mapListProps.additionalMapMarkers}\n\t\t\t\t\t\tgoogleMapsApiKey={googleMapsApiKey}\n\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</PlacesProvider>\n\t\t\t\t</MapProvider>\n\t\t\t</MapListProvider>\n\t\t</ThemeProvider>\n\t</TrackEventProvider>\n);};\n\n// Main component\n//\nexport const HireControlMap = ({\n\tclientToken,\n\tgoogleMapsApiKey, // Required: Google Maps API key from Next.js\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\tisIframe = false,\n\thideMap = false, // Override to hide map even if siteConfig.showMap is true\n\thideFilters = false, // Hide the entire filter section\n\tnoEntities = false, // Skip entity fetching and hide entity-related filters\n\ttrackEvent = (eventType, eventObj) => {\n\t\tconsole.log(eventType);\n\t\tconsole.log(eventObj);\n\t},\n\t//providing listings entities and a getListingEntities function should negate the need for map code to fetch data\n\tlistings = [],\n\tentities = [],\n\tgetListingEntitiesCallback = null,\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null,\n\tExpandListComponent = null,\n\tadditionalMapMarkers = [],\n\tdefaultZoomOverride = null,\n\t//Default site configuration file passed here stops need to fetch from api\n\tsiteConfiguration = null,\n\tlocalStorageKey = 'defaultKey.',\n\t// Algolia search configuration (optional)\n\talgoliaAppId = null,\n\talgoliaApiKey = null,\n\talgoliaIndexName = null,\n\t/**\n\t * Filter configuration (optional)\n\t * @param {boolean} hideZeroResults - Hide filter options with 0 results (default: false)\n\t * @param {boolean} dynamicCounts - Update counts based on active filters.\n\t * If false, shows initial/total counts (default: true)\n\t * @param {boolean} showFavorites - Show favorites special feature filter (default: true)\n\t * @param {boolean} collapsedByDefault - Start with all filter sections collapsed (default: false)\n\t * @param {boolean} sortAlphabetically - Sort filter options alphabetically instead of by count (default: false)\n\t * @param {object} classNames - Custom Tailwind classes to apply to filter components\n\t * @param {string} classNames.filterContainer - Classes for the main filter container wrapper\n\t * @param {string} classNames.filterContent - Classes for the scrollable filter content area\n\t * @param {string} classNames.filterAccordion - Classes for each filter accordion section\n\t * @param {string} classNames.filterAccordionHeader - Classes for accordion header/trigger\n\t * @param {string} classNames.filterAccordionContent - Classes for accordion content area\n\t * @param {string} classNames.filterItem - Classes for individual filter items (checkboxes/options)\n\t * @param {string} classNames.filterItemLabel - Classes for filter item labels\n\t * @param {string} classNames.filterItemCheckbox - Classes for filter item checkboxes\n\t * @param {string} classNames.filterItemCount - Classes for filter item count badges\n\t * @param {string} classNames.searchInput - Classes for search input field\n\t * @param {string} classNames.resetButton - Classes for reset all button\n\t * @param {string} classNames.showJobsButton - Classes for show jobs button\n\t * @param {string} classNames.filterFooter - Classes for the footer containing buttons\n\t */\n\tfilterConfig = {\n\t\thideZeroResults: false, // Hide filter options with 0 results\n\t\tdynamicCounts: true, // Update counts based on other active filters (false = show initial counts only)\n\t\tshowFavorites: true, // Show favorites filter\n\t\tcollapsedByDefault: false, // Start with all filter sections collapsed\n\t\tsortAlphabetically: false, // Sort filter options alphabetically instead of by count\n\t\tclassNames: {\n\t\t\tfilterContainer: '', // Main filter container wrapper\n\t\t\tfilterContent: '', // Scrollable content area\n\t\t\tfilterAccordion: '', // Filter accordion section\n\t\t\tfilterAccordionHeader: '', // Accordion header/trigger\n\t\t\tfilterAccordionContent: '', // Accordion content body\n\t\t\tfilterItem: '', // Individual filter items\n\t\t\tfilterItemLabel: '', // Filter item labels\n\t\t\tfilterItemCheckbox: '', // Filter item checkboxes\n\t\t\tfilterItemCount: '', // Filter item count badges\n\t\t\tsearchInput: '', // Search input field\n\t\t\tresetButton: '', // Reset all button\n\t\t\tshowJobsButton: '', // Show jobs button\n\t\t\tfilterFooter: '' // Footer with buttons\n\t\t}\n\t}\n}) => {\n\t// Initialize Algolia when credentials are provided (client-side only)\n\tconst [algoliaInitialized, setAlgoliaInitialized] = useState(false);\n\t\n\tuseEffect(() => {\n\t\tif (algoliaAppId && algoliaApiKey && algoliaIndexName && typeof window !== 'undefined') {\n\t\t\tinitializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName).then(initialized => {\n\t\t\t\tsetAlgoliaInitialized(initialized);\n\t\t\t\tif (initialized) {\n\t\t\t\t\tconsole.log('Algolia search initialized successfully');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [algoliaAppId, algoliaApiKey, algoliaIndexName]);\n\n\t// Load Google Maps (non-blocking - map component will handle this)\n\tconst { isLoaded: isMapsLoaded, loadError } = useLoadScript({\n\t\tgoogleMapsApiKey: googleMapsApiKey,\n\t\tversion: 'quarterly',\n\t\tlibraries: LIBRARIES\n\t});\n\n\t// Only show errors for critical failures\n\tif (!googleMapsApiKey) {\n\t\tconsole.error('Google Maps API key is required');\n\t\treturn <div className=\"hc-p-4\">Google Maps API key is required</div>;\n\t}\n\n\tif (loadError) {\n\t\tconsole.error('Google Maps failed to load:', loadError);\n\t\treturn <div className=\"hc-p-4\">Error loading Google Maps</div>;\n\t}\n\n\t// Don't block rendering - let filters and list show immediately\n\t// Map container will handle its own loading state\n\n\t// siteConfiguration is now required - all data passed in statically\n\tif (!siteConfiguration) {\n\t\tconsole.error('Site configuration is required');\n\t\treturn <div className=\"hc-p-4\">Site configuration is required</div>;\n\t}\n\n\t// Prepare props for MapListProvider\n\tconst mapListProps = {\n\t\tresetFilters: false,\n\t\tnavigateToDetails,\n\t\tnavigateToEasyApply,\n\t\tLink,\n\t\tlinkFormat,\n\t\teasyApplyUrl,\n\t\teasyApplyText,\n\t\tlistings,\n\t\tentities,\n\t\tsiteConfig: siteConfiguration,\n\t\tgetListingEntitiesCallback,\n\t\tsetFiltersUrl,\n\t\thiddenFilters,\n\t\thandleUrlUpdate,\n\t\tdefaultFilters,\n\t\tdefaultZoomOverride, // will usually fit bounds\n\t\tcontainerStyle,\n\t\tExpandListComponent: ExpandListComponent ?? null,\n\t\tadditionalMapMarkers,\n\t\tisIframe,\n\t\tlocalStorageKey,\n\t\thideMap,\n\t\thideFilters,\n\t\tnoEntities,\n\t\tfilterConfig\n\t};\n\n\t// Calculate effective showMap value\n\tconst effectiveShowMap = hideMap ? false : siteConfiguration.showMap;\n\n\t// Prepare marker configuration\n\tconst markerConfigs = {\n\t\tfillColor: siteConfiguration.colors.primary,\n\t\tstrokeColor: siteConfiguration.colors.primaryDark,\n\t\tselectedFillColor: siteConfiguration.colors.secondary,\n\t\tselectedStrokeColor: siteConfiguration.colors.secondaryDark,\n\t\tplaceMarkers: {\n\t\t\tcolors: siteConfiguration.pointsOfInterestConfig.placeMarkerColors,\n\t\t\tsize: siteConfiguration.pointsOfInterestConfig.placeMarkerSize\n\t\t}\n\t};\n\n\t// Render immediately - individual components handle their own loading\n\t// Only Google Maps components will wait for isMapsLoaded\n\treturn (\n\t\t<ContextProviders\n\t\t\tsiteConfig={siteConfiguration}\n\t\t\ttrackEvent={trackEvent}\n\t\t\tgoogleMapsApiKey={googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY}\n\t\t\t{...mapListProps}\n\t\t>\n\t\t\t<Grid\n\t\t\t\tas='section'\n\t\t\t\tid='job-search-interface'\n\t\t\t\tcolumns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}\n\t\t\t\tgap='hc-gap-0'\n\t\t\t\tautoRows={false}\n\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t>\n\t\t\t\t{!hideFilters && (\n\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t<Filter isDesktop={true} showMap={effectiveShowMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t)}\n\t\t\t\t<MapList\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tmapPosition={siteConfiguration.mapPosition}\n\t\t\t\t\tshowMap={effectiveShowMap}\n\t\t\t\t\tfieldsShown={siteConfiguration.fieldsShown}\n\t\t\t\t\tspecialFeatures={siteConfiguration.specialFeatures}\n\t\t\t\t\tfieldNames={siteConfiguration.fieldNames}\n\t\t\t\t\tplaceMappings={siteConfiguration.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\tmarkerConfigs={markerConfigs}\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</ContextProviders>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["LIBRARIES","ContextProviders","_ref","_siteConfig$pointsOfI","children","siteConfig","trackEvent","googleMapsApiKey","mapListProps","_objectWithoutProperties","_excluded","React","createElement","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","MapListProvider","_extends","MapProvider","resetFilters","defaultZoomOverride","localStorageKey","PlacesProvider","placeMappings","pointsOfInterestConfig","additionalMapMarkers","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","HireControlMap","_ref2","_siteConfiguration$po","clientToken","_ref2$containerStyle","containerStyle","height","_ref2$navigateToDetai","navigateToDetails","_ref2$navigateToEasyA","navigateToEasyApply","_ref2$handleUrlUpdate","handleUrlUpdate","_ref2$Link","Link","_ref2$linkFormat","linkFormat","_ref2$easyApplyUrl","easyApplyUrl","_ref2$easyApplyText","easyApplyText","_ref2$isIframe","isIframe","_ref2$hideMap","hideMap","_ref2$hideFilters","hideFilters","_ref2$noEntities","noEntities","_ref2$trackEvent","eventType","eventObj","console","log","_ref2$listings","listings","_ref2$entities","entities","_ref2$getListingEntit","getListingEntitiesCallback","_ref2$defaultFilters","defaultFilters","_ref2$hiddenFilters","hiddenFilters","_ref2$setFiltersUrl","setFiltersUrl","_ref2$ExpandListCompo","ExpandListComponent","_ref2$additionalMapMa","_ref2$defaultZoomOver","_ref2$siteConfigurati","siteConfiguration","_ref2$localStorageKey","_ref2$algoliaAppId","algoliaAppId","_ref2$algoliaApiKey","algoliaApiKey","_ref2$algoliaIndexNam","algoliaIndexName","_ref2$filterConfig","filterConfig","hideZeroResults","dynamicCounts","showFavorites","collapsedByDefault","sortAlphabetically","classNames","filterContainer","filterContent","filterAccordion","filterAccordionHeader","filterAccordionContent","filterItem","filterItemLabel","filterItemCheckbox","filterItemCount","searchInput","resetButton","showJobsButton","filterFooter","_useState","useState","_useState2","_slicedToArray","algoliaInitialized","setAlgoliaInitialized","useEffect","window","initializeAlgoliaSearch","then","initialized","_useLoadScript","useLoadScript","version","libraries","isLoaded","loadError","error","className","effectiveShowMap","showMap","markerConfigs","process","env","GOOGLE_MAPS_API_KEY","Grid","as","id","columns","gap","autoRows","Item","Filter","isDesktop","MapList","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
@@ -9,6 +9,7 @@ import { pinIcon, markerIcon, markerIconSelected } from '../../../util/mapIconUt
9
9
  import Map from '../../modules/maps/map.js';
10
10
  import { MarkerClustererF, Marker } from '@react-google-maps/api';
11
11
  import { clusterOptions } from '../../../util/mapUtil.js';
12
+ import { BallTriangle as xe } from '../../../node_modules/react-loader-spinner/dist/index.js';
12
13
 
13
14
  var MapContainer = function MapContainer(_ref) {
14
15
  var markerConfigs = _ref.markerConfigs,
@@ -22,7 +23,7 @@ var MapContainer = function MapContainer(_ref) {
22
23
 
23
24
  // Check if Google Maps is loaded
24
25
  useEffect(function () {
25
- if (typeof window !== 'undefined' && window.google && window.google.maps) {
26
+ if (typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map) {
26
27
  console.log('Google Maps already loaded');
27
28
  setIsGoogleMapsReady(true);
28
29
  return;
@@ -34,7 +35,7 @@ var MapContainer = function MapContainer(_ref) {
34
35
  // Poll for Google Maps to become available
35
36
  var checkInterval = setInterval(function () {
36
37
  attempts++;
37
- if (typeof window !== 'undefined' && window.google && window.google.maps) {
38
+ if (typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map) {
38
39
  console.log('Google Maps loaded after', attempts * 100, 'ms');
39
40
  setIsGoogleMapsReady(true);
40
41
  clearInterval(checkInterval);
@@ -253,14 +254,17 @@ var MapContainer = function MapContainer(_ref) {
253
254
  };
254
255
  if (!isGoogleMapsReady) {
255
256
  return /*#__PURE__*/React.createElement("div", {
256
- className: "hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center"
257
- }, /*#__PURE__*/React.createElement("div", {
258
- className: "hc-text-center hc-p-8"
259
- }, /*#__PURE__*/React.createElement("div", {
260
- className: "hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto"
261
- }), /*#__PURE__*/React.createElement("p", {
262
- className: "hc-mt-4 hc-text-gray-600"
263
- }, "Loading map...")));
257
+ className: "hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center hc-min-h-[400px]"
258
+ }, /*#__PURE__*/React.createElement(xe, {
259
+ height: 80,
260
+ width: 80,
261
+ radius: 5,
262
+ color: "#2563eb",
263
+ ariaLabel: "ball-triangle-loading",
264
+ wrapperStyle: {},
265
+ wrapperClass: "",
266
+ visible: true
267
+ }));
264
268
  }
265
269
 
266
270
  // Ensure mapItems is an array
@@ -1 +1 @@
1
- {"version":3,"file":"map-container.js","sources":["../../../../src/components/containers/maps/map-container.js"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport MapMarker from \"~/components/containers/maps/map-marker-container\";\nimport PlaceMarker from \"~/components/modules/maps/place-marker\";\n\nimport { usePlaces } from \"~/contexts/placesContext\";\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\n\nimport { markerIconSelected, markerIcon, pinIcon } from \"~/util/mapIconUtil\";\n\nimport Map from \"~/components/modules/maps/map\";\nimport { MarkerClustererF, Marker } from \"@react-google-maps/api\";\nimport { clusterOptions } from \"~/util/mapUtil\";\n\nconst MapContainer = ({ markerConfigs, infoWindowClasses, clusterGridSize = 60 }) => {\n\tconst [isGoogleMapsReady, setIsGoogleMapsReady] = useState(false);\n\n\t// Check if Google Maps is loaded\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined' && window.google && window.google.maps) {\n\t\t\tconsole.log('Google Maps already loaded');\n\t\t\tsetIsGoogleMapsReady(true);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('Waiting for Google Maps to load...');\n\t\tlet attempts = 0;\n\t\tconst maxAttempts = 50; // 5 seconds max\n\t\t\n\t\t// Poll for Google Maps to become available\n\t\tconst checkInterval = setInterval(() => {\n\t\t\tattempts++;\n\t\t\tif (typeof window !== 'undefined' && window.google && window.google.maps) {\n\t\t\t\tconsole.log('Google Maps loaded after', attempts * 100, 'ms');\n\t\t\t\tsetIsGoogleMapsReady(true);\n\t\t\t\tclearInterval(checkInterval);\n\t\t\t} else if (attempts >= maxAttempts) {\n\t\t\t\tconsole.error('Google Maps failed to load after 5 seconds');\n\t\t\t\tclearInterval(checkInterval);\n\t\t\t}\n\t\t}, 100);\n\n\t\treturn () => clearInterval(checkInterval);\n\t}, []);\n\n\tconst {\n\t\tlocation,\n\t\tzoom,\n\t\tcenter,\n\t\tselectLocationEntity,\n\t\tsetLocation,\n\t\tmapInteracted,\n\t\tsetMapInteracted,\n\t\tdefaultZoomOverride\n\t} = useMap();\n\n\tconst {\n\t\tmapItems: oldMapItems,\n\t\tfilteredListings,\n\t\tselectedFilters,\n\t\tsetSelectedFilters,\n\t\tsetQuery,\n\t\tsiteConfig\n\t} = useMapList();\n\tconst [mapItems, setMapItems] = useState(null);\n\tconst [markersToHideFromBounds, setMarkersToHideFromBounds] = useState([]);\n\n\tconst mapRef = useRef();\n\tconst markerRefs = useRef({});\n\tconst mapContainerRef = useRef(null);\n\tconst {\n\t\tpoiMarkers,\n\t\tsetCurrentCenter,\n\t\tcurrentCenter,\n\t\tsetCurrentZoom,\n\t\tcurrentZoom,\n\t\tselectedPlaceMarker,\n\t\tsetSelectedPlaceMarker,\n\t\tplacesWindow,\n\t\tsetPlacesWindow,\n\t\tadditionalMapMarkers\n\t} = usePlaces();\n\n\tconst onIdle = () => {\n\t\tif (!currentCenter || !mapRef.current) return;\n\t\tconst newCenter = mapRef.current.getCenter().toJSON();\n\t\tconst newZoom = mapRef.current.zoom;\n\t\tsetCurrentCenter(newCenter);\n\n\t\tif (newZoom !== currentZoom) {\n\t\t\tsetCurrentZoom(newZoom);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!oldMapItems || oldMapItems.length === 0) return;\n\n\t\tif (!siteConfig.defaultMapState || mapInteracted || selectedFilters?.state || selectedFilters?.city) {\n\t\t\tsetMapItems(oldMapItems);\n\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst markersToHide = oldMapItems\n\t\t\t.filter(x => x.address.state !== siteConfig.defaultMapState)\n\t\t\t.map(item => item.id);\n\n\t\tsetMarkersToHideFromBounds(markersToHide);\n\t\tsetMapItems(oldMapItems);\n\t}, [oldMapItems, selectedFilters, siteConfig, mapInteracted]);\n\n\tuseEffect(() => {\n\t\tif (mapContainerRef.current) {\n\t\t\tconst handleScroll = () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t};\n\t\t\tvar mapContainerRefCurrent = mapContainerRef.current;\n\t\t\tmapContainerRef.current.addEventListener(\"wheel\", handleScroll);\n\t\t\treturn () => mapContainerRefCurrent.removeEventListener(\"wheel\", handleScroll);\n\t\t}\n\t}, [mapContainerRef.current]);\n\n\tuseEffect(() => {\n\t\tif (mapRef.current && defaultZoomOverride && !mapInteracted && !location) {\n\t\t\tmapRef.current.setZoom(defaultZoomOverride);\n\t\t}\n\t}, [mapInteracted]);\n\n\tuseEffect(() => {\n\t\tif (mapRef.current) {\n\t\t\tconst mapInstance = mapRef.current;\n\t\t\tconst dragStartListener = mapInstance.addListener(\"dragstart\", () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\t});\n\t\t\tconst mouseDownListener = mapInstance.addListener(\"mousedown\", () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tgoogle.maps.event.removeListener(dragStartListener);\n\t\t\t\tgoogle.maps.event.removeListener(mouseDownListener);\n\t\t\t};\n\t\t}\n\t}, [mapRef.current, mapContainerRef.current]);\n\n\tuseEffect(() => {\n\t\tif (((mapItems && mapItems.length > 0) || poiMarkers.length > 0) && mapRef.current && !mapInteracted) {\n\t\t\tfitBounds(mapRef.current);\n\t\t}\n\t}, [mapItems, mapRef.current, location]);\n\n\tuseEffect(() => {\n\t\tif (((mapItems && mapItems.length > 0) || poiMarkers.length > 0) && mapRef.current && !mapInteracted) {\n\t\t\tfitBounds(mapRef.current, true);\n\t\t}\n\t\tif (mapRef.current && !mapInteracted) {\n\t\t\tconst currZoom = mapRef.current.zoom;\n\t\t\tconst setZoomVal = currZoom < 13 ? currZoom : 12;\n\t\t\tmapRef.current.setZoom(setZoomVal);\n\t\t}\n\t}, [filteredListings]);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current || !location || mapInteracted) return;\n\t\tmapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));\n\t\tif (mapRef.current) {\n\t\t\tconst setZoomVal = zoom < 13 ? zoom : 12;\n\t\t\tmapRef.current.setZoom(setZoomVal);\n\t\t}\n\t}, [location, zoom, mapRef.current]);\n\n\tconst fitBounds = (map, overload = false) => {\n\t\tif ((mapInteracted === false || overload) && mapItems != null) {\n\t\t\tif (typeof window === 'undefined' || !window.google) return;\n\t\t\tconst bounds = new window.google.maps.LatLngBounds();\n\n\t\t\tmapItems.forEach(item => {\n\t\t\t\tif (!mapInteracted && markersToHideFromBounds.includes(item.id)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tbounds.extend(new google.maps.LatLng(item.latitude, item.longitude));\n\t\t\t});\n\n\t\t\tif (siteConfig.optionalShowLocationClusterConfig) {\n\t\t\t\tconst configLocation = new google.maps.LatLng(\n\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.latitude,\n\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.longitude\n\t\t\t\t);\n\t\t\t\tmap.panTo(configLocation);\n\t\t\t\tbounds.extend(\n\t\t\t\t\tnew google.maps.LatLng(\n\t\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.latitude,\n\t\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.longitude\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!map) return;\n\t\t\tconst currentCenter = map.getCenter();\n\t\t\tmap.fitBounds(bounds);\n\t\t\tconst newCenter = bounds.getCenter();\n\t\t\tif (currentCenter && newCenter) {\n\t\t\t\tmap.panTo(newCenter);\n\t\t\t}\n\t\t}\n\t\tif (defaultZoomOverride && !mapInteracted && !location) {\n\t\t\tmapRef.current.setZoom(defaultZoomOverride);\n\t\t} else if (mapRef.current.zoom > 17) {\n\t\t\tmapRef.current.setZoom(16);\n\t\t}\n\t};\n\n\tconst markerClickHandler = mapLocation => {\n\t\tsetMapInteracted(true);\n\t\tsetMarkersToHideFromBounds([]);\n\t\tselectLocationEntity(mapLocation);\n\t};\n\n\tconst onLoad = map => {\n\t\tif (!location || location === null) {\n\t\t\tmapRef.current = map;\n\t\t\tfitBounds(map, true);\n\t\t\treturn;\n\t\t}\n\t\tmapRef.current = map;\n\n\t\tif (mapInteracted === false) {\n\t\t\tmapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));\n\n\t\t\tmapRef.current.setZoom(zoom);\n\t\t}\n\t};\n\n\tconst pinIconUrl = pinIcon({\n\t\tfillColor: markerConfigs.fillColor,\n\t\tstrokeColor: markerConfigs.strokeColor\n\t});\n\n\tconst onClusterClick = cluster => {\n\t\tif (\n\t\t\t!siteConfig.optionalShowLocationClusterConfig ||\n mapRef.current.zoom > siteConfig.optionalShowLocationClusterConfig.showForZoomLevelLessThan\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!cluster || typeof cluster.getMarkers !== \"function\") {\n\t\t\tconsole.error(\"Cluster object or getMarkers method not available.\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst markers = cluster.getMarkers();\n\n\t\tif (!markers || markers.length === 0) {\n\t\t\tconsole.error(\"No markers found in the cluster.\");\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (typeof window === 'undefined' || !window.google) return;\n\t\t\tconst bounds = new window.google.maps.LatLngBounds();\n\n\t\t\tmarkers.forEach(marker => {\n\t\t\t\tbounds.extend(marker.getPosition());\n\t\t\t});\n\t\t\tconst clusterCenter = bounds.getCenter();\n\n\t\t\tconst configLat = siteConfig.optionalShowLocationClusterConfig.latitude;\n\t\t\tconst configLng = siteConfig.optionalShowLocationClusterConfig.longitude;\n\n\t\t\tconst latDiff = clusterCenter.lat() - configLat;\n\t\t\tconst lngDiff = clusterCenter.lng() - configLng;\n\t\t\tconst distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);\n\n\t\t\tconst distanceThreshold = 1;\n\t\t\tif (distance <= distanceThreshold) {\n\t\t\t\tbounds.extend(new google.maps.LatLng(configLat, configLng));\n\t\t\t}\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.fitBounds(bounds);\n\t\t\t}\n\t\t}, 300);\n\t};\n\tif (!isGoogleMapsReady) {\n\t\treturn (\n\t\t\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center\">\n\t\t\t\t<div className=\"hc-text-center hc-p-8\">\n\t\t\t\t\t<div className=\"hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto\"></div>\n\t\t\t\t\t<p className=\"hc-mt-4 hc-text-gray-600\">Loading map...</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Ensure mapItems is an array\n\tconst mapItemsArray = Array.isArray(mapItems) ? mapItems : [];\n\t\n\tif (!mapItemsArray || mapItemsArray.length === 0) {\n\t\treturn (\n\t\t\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center\">\n\t\t\t\t<div className=\"hc-text-gray-600\">No locations to display</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst mapItemsKey = mapItemsArray.map(item => item.id).join(\"-\");\n\n\n\treturn (\n\t\t<Map\n\t\t\tzoom={zoom}\n\t\t\tcenter={center}\n\t\t\tmapContainerRef={mapContainerRef}\n\t\t\tonLoad={onLoad}\n\t\t\tonIdle={onIdle}\n\t\t\tmapInteracted={mapInteracted}\n\t\t\tpinIconUrl={pinIconUrl}\n\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\tfitBounds={fitBounds}\n\t\t\tmapRef={mapRef}\n\t\t\tsetQuery={setQuery}\n\t\t\tfilteredListingsLength={filteredListings.length}\n\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t>\n\t\t\t<MarkerClustererF\n\t\t\t\tkey={mapItemsKey}\n\t\t\t\tcalculator={markers => {\n\t\t\t\t\tconst totalCount = markers.reduce((sum, marker) => sum + (marker.get(\"count\") || 1), 0);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: totalCount.toString(),\n\t\t\t\t\t\tindex: Math.min(5, Math.floor(totalCount / 10))\n\t\t\t\t\t};\n\t\t\t\t}}\n\t\t\t\toptions={{\n\t\t\t\t\t...clusterOptions(clusterGridSize, markerConfigs.fillColor)\n\t\t\t\t}}\n\t\t\t\tonClick={onClusterClick}\n\t\t\t>\n\t\t\t\t{clusterer => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{mapItemsArray.map(item => {\n\t\t\t\t\t\t\tconst markerCount = Object.values(item.items).length;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MapMarker\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tselectedLocation={location}\n\t\t\t\t\t\t\t\t\tmarkerRefs={markerRefs}\n\t\t\t\t\t\t\t\t\tinfoWindowClasses={infoWindowClasses}\n\t\t\t\t\t\t\t\t\tsetSelectedLocation={setLocation}\n\t\t\t\t\t\t\t\t\tmarkerClickHandler={markerClickHandler}\n\t\t\t\t\t\t\t\t\tclusterer={clusterer}\n\t\t\t\t\t\t\t\t\tmarkerIcon={markerIcon(markerConfigs, markerCount)}\n\t\t\t\t\t\t\t\t\tmarkerIconSelected={markerIconSelected(markerConfigs, markerCount)}\n\t\t\t\t\t\t\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t{additionalMapMarkers &&\n additionalMapMarkers.map(\n \t(marker, index) =>\n \t\tcurrentZoom >= marker.minZoom &&\n currentZoom <= marker.maxZoom && (\n \t\t\t<Marker\n \t\t\t\tkey={`marker-${marker.title}-${index}`}\n \t\t\t\tposition={marker.position}\n \t\t\t\ttitle={marker.title}\n \t\t\t\ticon={{\n \t\t\t\t\turl: marker.iconUrl,\n \t\t\t\t\tscaledSize: new window.google.maps.Size(40, 40)\n \t\t\t\t}}\n \t\t\t/>\n \t\t)\n )}\n\n\t\t\t\t\t\t{poiMarkers &&\n poiMarkers.markers.map((marker, index) => (\n \t<PlaceMarker\n \t\tkey={`marker-${marker.title}-${index}`}\n \t\tmarker={marker}\n \t\tindex={index}\n \t\tselectedPlaceMarker={selectedPlaceMarker}\n \t\tplacesWindow={placesWindow}\n \t\tsetPlacesWindow={setPlacesWindow}\n \t\tsetSelectedPlaceMarker={setSelectedPlaceMarker}\n \t/>\n ))}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</MarkerClustererF>\n\t\t</Map>\n\t);\n};\n\nexport default MapContainer;\n\n"],"names":["MapContainer","_ref","markerConfigs","infoWindowClasses","_ref$clusterGridSize","clusterGridSize","_useState","useState","_useState2","_slicedToArray","isGoogleMapsReady","setIsGoogleMapsReady","useEffect","window","google","maps","console","log","attempts","maxAttempts","checkInterval","setInterval","clearInterval","error","_useMap","useMap","location","zoom","center","selectLocationEntity","setLocation","mapInteracted","setMapInteracted","defaultZoomOverride","_useMapList","useMapList","oldMapItems","mapItems","filteredListings","selectedFilters","setSelectedFilters","setQuery","siteConfig","_useState3","_useState4","setMapItems","_useState5","_useState6","markersToHideFromBounds","setMarkersToHideFromBounds","mapRef","useRef","markerRefs","mapContainerRef","_usePlaces","usePlaces","poiMarkers","setCurrentCenter","currentCenter","setCurrentZoom","currentZoom","selectedPlaceMarker","setSelectedPlaceMarker","placesWindow","setPlacesWindow","additionalMapMarkers","onIdle","current","newCenter","getCenter","toJSON","newZoom","length","defaultMapState","state","city","markersToHide","filter","x","address","map","item","id","handleScroll","mapContainerRefCurrent","addEventListener","removeEventListener","setZoom","mapInstance","dragStartListener","addListener","mouseDownListener","event","removeListener","fitBounds","currZoom","setZoomVal","panTo","LatLng","latitude","longitude","overload","arguments","undefined","bounds","LatLngBounds","forEach","includes","extend","optionalShowLocationClusterConfig","configLocation","markerClickHandler","mapLocation","onLoad","pinIconUrl","pinIcon","fillColor","strokeColor","onClusterClick","cluster","showForZoomLevelLessThan","getMarkers","markers","setTimeout","marker","getPosition","clusterCenter","configLat","configLng","latDiff","lat","lngDiff","lng","distance","Math","sqrt","distanceThreshold","React","createElement","className","mapItemsArray","Array","isArray","mapItemsKey","join","Map","filteredListingsLength","MarkerClustererF","key","calculator","totalCount","reduce","sum","get","text","toString","index","min","floor","options","_objectSpread","clusterOptions","onClick","clusterer","Fragment","markerCount","Object","values","items","MapMarker","selectedLocation","setSelectedLocation","markerIcon","markerIconSelected","minZoom","maxZoom","Marker","concat","title","position","icon","url","iconUrl","scaledSize","Size","PlaceMarker"],"mappings":"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"}
1
+ {"version":3,"file":"map-container.js","sources":["../../../../src/components/containers/maps/map-container.js"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport MapMarker from \"~/components/containers/maps/map-marker-container\";\nimport PlaceMarker from \"~/components/modules/maps/place-marker\";\n\nimport { usePlaces } from \"~/contexts/placesContext\";\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\n\nimport { markerIconSelected, markerIcon, pinIcon } from \"~/util/mapIconUtil\";\n\nimport Map from \"~/components/modules/maps/map\";\nimport { MarkerClustererF, Marker } from \"@react-google-maps/api\";\nimport { clusterOptions } from \"~/util/mapUtil\";\nimport { BallTriangle } from 'react-loader-spinner';\n\nconst MapContainer = ({ markerConfigs, infoWindowClasses, clusterGridSize = 60 }) => {\n\tconst [isGoogleMapsReady, setIsGoogleMapsReady] = useState(false);\n\n\t// Check if Google Maps is loaded\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map) {\n\t\t\tconsole.log('Google Maps already loaded');\n\t\t\tsetIsGoogleMapsReady(true);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('Waiting for Google Maps to load...');\n\t\tlet attempts = 0;\n\t\tconst maxAttempts = 50; // 5 seconds max\n\t\t\n\t\t// Poll for Google Maps to become available\n\t\tconst checkInterval = setInterval(() => {\n\t\t\tattempts++;\n\t\t\tif (typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map) {\n\t\t\t\tconsole.log('Google Maps loaded after', attempts * 100, 'ms');\n\t\t\t\tsetIsGoogleMapsReady(true);\n\t\t\t\tclearInterval(checkInterval);\n\t\t\t} else if (attempts >= maxAttempts) {\n\t\t\t\tconsole.error('Google Maps failed to load after 5 seconds');\n\t\t\t\tclearInterval(checkInterval);\n\t\t\t}\n\t\t}, 100);\n\n\t\treturn () => clearInterval(checkInterval);\n\t}, []);\n\n\tconst {\n\t\tlocation,\n\t\tzoom,\n\t\tcenter,\n\t\tselectLocationEntity,\n\t\tsetLocation,\n\t\tmapInteracted,\n\t\tsetMapInteracted,\n\t\tdefaultZoomOverride\n\t} = useMap();\n\n\tconst {\n\t\tmapItems: oldMapItems,\n\t\tfilteredListings,\n\t\tselectedFilters,\n\t\tsetSelectedFilters,\n\t\tsetQuery,\n\t\tsiteConfig\n\t} = useMapList();\n\tconst [mapItems, setMapItems] = useState(null);\n\tconst [markersToHideFromBounds, setMarkersToHideFromBounds] = useState([]);\n\n\tconst mapRef = useRef();\n\tconst markerRefs = useRef({});\n\tconst mapContainerRef = useRef(null);\n\tconst {\n\t\tpoiMarkers,\n\t\tsetCurrentCenter,\n\t\tcurrentCenter,\n\t\tsetCurrentZoom,\n\t\tcurrentZoom,\n\t\tselectedPlaceMarker,\n\t\tsetSelectedPlaceMarker,\n\t\tplacesWindow,\n\t\tsetPlacesWindow,\n\t\tadditionalMapMarkers\n\t} = usePlaces();\n\n\tconst onIdle = () => {\n\t\tif (!currentCenter || !mapRef.current) return;\n\t\tconst newCenter = mapRef.current.getCenter().toJSON();\n\t\tconst newZoom = mapRef.current.zoom;\n\t\tsetCurrentCenter(newCenter);\n\n\t\tif (newZoom !== currentZoom) {\n\t\t\tsetCurrentZoom(newZoom);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!oldMapItems || oldMapItems.length === 0) return;\n\n\t\tif (!siteConfig.defaultMapState || mapInteracted || selectedFilters?.state || selectedFilters?.city) {\n\t\t\tsetMapItems(oldMapItems);\n\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst markersToHide = oldMapItems\n\t\t\t.filter(x => x.address.state !== siteConfig.defaultMapState)\n\t\t\t.map(item => item.id);\n\n\t\tsetMarkersToHideFromBounds(markersToHide);\n\t\tsetMapItems(oldMapItems);\n\t}, [oldMapItems, selectedFilters, siteConfig, mapInteracted]);\n\n\tuseEffect(() => {\n\t\tif (mapContainerRef.current) {\n\t\t\tconst handleScroll = () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t};\n\t\t\tvar mapContainerRefCurrent = mapContainerRef.current;\n\t\t\tmapContainerRef.current.addEventListener(\"wheel\", handleScroll);\n\t\t\treturn () => mapContainerRefCurrent.removeEventListener(\"wheel\", handleScroll);\n\t\t}\n\t}, [mapContainerRef.current]);\n\n\tuseEffect(() => {\n\t\tif (mapRef.current && defaultZoomOverride && !mapInteracted && !location) {\n\t\t\tmapRef.current.setZoom(defaultZoomOverride);\n\t\t}\n\t}, [mapInteracted]);\n\n\tuseEffect(() => {\n\t\tif (mapRef.current) {\n\t\t\tconst mapInstance = mapRef.current;\n\t\t\tconst dragStartListener = mapInstance.addListener(\"dragstart\", () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\t});\n\t\t\tconst mouseDownListener = mapInstance.addListener(\"mousedown\", () => {\n\t\t\t\tsetMapInteracted(true);\n\t\t\t\tsetMarkersToHideFromBounds([]);\n\t\t\t});\n\t\t\treturn () => {\n\t\t\t\tgoogle.maps.event.removeListener(dragStartListener);\n\t\t\t\tgoogle.maps.event.removeListener(mouseDownListener);\n\t\t\t};\n\t\t}\n\t}, [mapRef.current, mapContainerRef.current]);\n\n\tuseEffect(() => {\n\t\tif (((mapItems && mapItems.length > 0) || poiMarkers.length > 0) && mapRef.current && !mapInteracted) {\n\t\t\tfitBounds(mapRef.current);\n\t\t}\n\t}, [mapItems, mapRef.current, location]);\n\n\tuseEffect(() => {\n\t\tif (((mapItems && mapItems.length > 0) || poiMarkers.length > 0) && mapRef.current && !mapInteracted) {\n\t\t\tfitBounds(mapRef.current, true);\n\t\t}\n\t\tif (mapRef.current && !mapInteracted) {\n\t\t\tconst currZoom = mapRef.current.zoom;\n\t\t\tconst setZoomVal = currZoom < 13 ? currZoom : 12;\n\t\t\tmapRef.current.setZoom(setZoomVal);\n\t\t}\n\t}, [filteredListings]);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current || !location || mapInteracted) return;\n\t\tmapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));\n\t\tif (mapRef.current) {\n\t\t\tconst setZoomVal = zoom < 13 ? zoom : 12;\n\t\t\tmapRef.current.setZoom(setZoomVal);\n\t\t}\n\t}, [location, zoom, mapRef.current]);\n\n\tconst fitBounds = (map, overload = false) => {\n\t\tif ((mapInteracted === false || overload) && mapItems != null) {\n\t\t\tif (typeof window === 'undefined' || !window.google) return;\n\t\t\tconst bounds = new window.google.maps.LatLngBounds();\n\n\t\t\tmapItems.forEach(item => {\n\t\t\t\tif (!mapInteracted && markersToHideFromBounds.includes(item.id)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tbounds.extend(new google.maps.LatLng(item.latitude, item.longitude));\n\t\t\t});\n\n\t\t\tif (siteConfig.optionalShowLocationClusterConfig) {\n\t\t\t\tconst configLocation = new google.maps.LatLng(\n\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.latitude,\n\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.longitude\n\t\t\t\t);\n\t\t\t\tmap.panTo(configLocation);\n\t\t\t\tbounds.extend(\n\t\t\t\t\tnew google.maps.LatLng(\n\t\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.latitude,\n\t\t\t\t\t\tsiteConfig.optionalShowLocationClusterConfig.longitude\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (!map) return;\n\t\t\tconst currentCenter = map.getCenter();\n\t\t\tmap.fitBounds(bounds);\n\t\t\tconst newCenter = bounds.getCenter();\n\t\t\tif (currentCenter && newCenter) {\n\t\t\t\tmap.panTo(newCenter);\n\t\t\t}\n\t\t}\n\t\tif (defaultZoomOverride && !mapInteracted && !location) {\n\t\t\tmapRef.current.setZoom(defaultZoomOverride);\n\t\t} else if (mapRef.current.zoom > 17) {\n\t\t\tmapRef.current.setZoom(16);\n\t\t}\n\t};\n\n\tconst markerClickHandler = mapLocation => {\n\t\tsetMapInteracted(true);\n\t\tsetMarkersToHideFromBounds([]);\n\t\tselectLocationEntity(mapLocation);\n\t};\n\n\tconst onLoad = map => {\n\t\tif (!location || location === null) {\n\t\t\tmapRef.current = map;\n\t\t\tfitBounds(map, true);\n\t\t\treturn;\n\t\t}\n\t\tmapRef.current = map;\n\n\t\tif (mapInteracted === false) {\n\t\t\tmapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));\n\n\t\t\tmapRef.current.setZoom(zoom);\n\t\t}\n\t};\n\n\tconst pinIconUrl = pinIcon({\n\t\tfillColor: markerConfigs.fillColor,\n\t\tstrokeColor: markerConfigs.strokeColor\n\t});\n\n\tconst onClusterClick = cluster => {\n\t\tif (\n\t\t\t!siteConfig.optionalShowLocationClusterConfig ||\n mapRef.current.zoom > siteConfig.optionalShowLocationClusterConfig.showForZoomLevelLessThan\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!cluster || typeof cluster.getMarkers !== \"function\") {\n\t\t\tconsole.error(\"Cluster object or getMarkers method not available.\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst markers = cluster.getMarkers();\n\n\t\tif (!markers || markers.length === 0) {\n\t\t\tconsole.error(\"No markers found in the cluster.\");\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (typeof window === 'undefined' || !window.google) return;\n\t\t\tconst bounds = new window.google.maps.LatLngBounds();\n\n\t\t\tmarkers.forEach(marker => {\n\t\t\t\tbounds.extend(marker.getPosition());\n\t\t\t});\n\t\t\tconst clusterCenter = bounds.getCenter();\n\n\t\t\tconst configLat = siteConfig.optionalShowLocationClusterConfig.latitude;\n\t\t\tconst configLng = siteConfig.optionalShowLocationClusterConfig.longitude;\n\n\t\t\tconst latDiff = clusterCenter.lat() - configLat;\n\t\t\tconst lngDiff = clusterCenter.lng() - configLng;\n\t\t\tconst distance = Math.sqrt(latDiff * latDiff + lngDiff * lngDiff);\n\n\t\t\tconst distanceThreshold = 1;\n\t\t\tif (distance <= distanceThreshold) {\n\t\t\t\tbounds.extend(new google.maps.LatLng(configLat, configLng));\n\t\t\t}\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.fitBounds(bounds);\n\t\t\t}\n\t\t}, 300);\n\t};\n\tif (!isGoogleMapsReady) {\n\t\treturn (\n\t\t\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center hc-min-h-[400px]\">\n\t\t\t\t<BallTriangle\n\t\t\t\t\theight={80}\n\t\t\t\t\twidth={80}\n\t\t\t\t\tradius={5}\n\t\t\t\t\tcolor=\"#2563eb\"\n\t\t\t\t\tariaLabel=\"ball-triangle-loading\"\n\t\t\t\t\twrapperStyle={{}}\n\t\t\t\t\twrapperClass=\"\"\n\t\t\t\t\tvisible={true}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Ensure mapItems is an array\n\tconst mapItemsArray = Array.isArray(mapItems) ? mapItems : [];\n\t\n\tif (!mapItemsArray || mapItemsArray.length === 0) {\n\t\treturn (\n\t\t\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center\">\n\t\t\t\t<div className=\"hc-text-gray-600\">No locations to display</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst mapItemsKey = mapItemsArray.map(item => item.id).join(\"-\");\n\n\n\treturn (\n\t\t<Map\n\t\t\tzoom={zoom}\n\t\t\tcenter={center}\n\t\t\tmapContainerRef={mapContainerRef}\n\t\t\tonLoad={onLoad}\n\t\t\tonIdle={onIdle}\n\t\t\tmapInteracted={mapInteracted}\n\t\t\tpinIconUrl={pinIconUrl}\n\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\tfitBounds={fitBounds}\n\t\t\tmapRef={mapRef}\n\t\t\tsetQuery={setQuery}\n\t\t\tfilteredListingsLength={filteredListings.length}\n\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t>\n\t\t\t<MarkerClustererF\n\t\t\t\tkey={mapItemsKey}\n\t\t\t\tcalculator={markers => {\n\t\t\t\t\tconst totalCount = markers.reduce((sum, marker) => sum + (marker.get(\"count\") || 1), 0);\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: totalCount.toString(),\n\t\t\t\t\t\tindex: Math.min(5, Math.floor(totalCount / 10))\n\t\t\t\t\t};\n\t\t\t\t}}\n\t\t\t\toptions={{\n\t\t\t\t\t...clusterOptions(clusterGridSize, markerConfigs.fillColor)\n\t\t\t\t}}\n\t\t\t\tonClick={onClusterClick}\n\t\t\t>\n\t\t\t\t{clusterer => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{mapItemsArray.map(item => {\n\t\t\t\t\t\t\tconst markerCount = Object.values(item.items).length;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MapMarker\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tselectedLocation={location}\n\t\t\t\t\t\t\t\t\tmarkerRefs={markerRefs}\n\t\t\t\t\t\t\t\t\tinfoWindowClasses={infoWindowClasses}\n\t\t\t\t\t\t\t\t\tsetSelectedLocation={setLocation}\n\t\t\t\t\t\t\t\t\tmarkerClickHandler={markerClickHandler}\n\t\t\t\t\t\t\t\t\tclusterer={clusterer}\n\t\t\t\t\t\t\t\t\tmarkerIcon={markerIcon(markerConfigs, markerCount)}\n\t\t\t\t\t\t\t\t\tmarkerIconSelected={markerIconSelected(markerConfigs, markerCount)}\n\t\t\t\t\t\t\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t{additionalMapMarkers &&\n additionalMapMarkers.map(\n \t(marker, index) =>\n \t\tcurrentZoom >= marker.minZoom &&\n currentZoom <= marker.maxZoom && (\n \t\t\t<Marker\n \t\t\t\tkey={`marker-${marker.title}-${index}`}\n \t\t\t\tposition={marker.position}\n \t\t\t\ttitle={marker.title}\n \t\t\t\ticon={{\n \t\t\t\t\turl: marker.iconUrl,\n \t\t\t\t\tscaledSize: new window.google.maps.Size(40, 40)\n \t\t\t\t}}\n \t\t\t/>\n \t\t)\n )}\n\n\t\t\t\t\t\t{poiMarkers &&\n poiMarkers.markers.map((marker, index) => (\n \t<PlaceMarker\n \t\tkey={`marker-${marker.title}-${index}`}\n \t\tmarker={marker}\n \t\tindex={index}\n \t\tselectedPlaceMarker={selectedPlaceMarker}\n \t\tplacesWindow={placesWindow}\n \t\tsetPlacesWindow={setPlacesWindow}\n \t\tsetSelectedPlaceMarker={setSelectedPlaceMarker}\n \t/>\n ))}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</MarkerClustererF>\n\t\t</Map>\n\t);\n};\n\nexport default MapContainer;\n\n"],"names":["MapContainer","_ref","markerConfigs","infoWindowClasses","_ref$clusterGridSize","clusterGridSize","_useState","useState","_useState2","_slicedToArray","isGoogleMapsReady","setIsGoogleMapsReady","useEffect","window","google","maps","Map","console","log","attempts","maxAttempts","checkInterval","setInterval","clearInterval","error","_useMap","useMap","location","zoom","center","selectLocationEntity","setLocation","mapInteracted","setMapInteracted","defaultZoomOverride","_useMapList","useMapList","oldMapItems","mapItems","filteredListings","selectedFilters","setSelectedFilters","setQuery","siteConfig","_useState3","_useState4","setMapItems","_useState5","_useState6","markersToHideFromBounds","setMarkersToHideFromBounds","mapRef","useRef","markerRefs","mapContainerRef","_usePlaces","usePlaces","poiMarkers","setCurrentCenter","currentCenter","setCurrentZoom","currentZoom","selectedPlaceMarker","setSelectedPlaceMarker","placesWindow","setPlacesWindow","additionalMapMarkers","onIdle","current","newCenter","getCenter","toJSON","newZoom","length","defaultMapState","state","city","markersToHide","filter","x","address","map","item","id","handleScroll","mapContainerRefCurrent","addEventListener","removeEventListener","setZoom","mapInstance","dragStartListener","addListener","mouseDownListener","event","removeListener","fitBounds","currZoom","setZoomVal","panTo","LatLng","latitude","longitude","overload","arguments","undefined","bounds","LatLngBounds","forEach","includes","extend","optionalShowLocationClusterConfig","configLocation","markerClickHandler","mapLocation","onLoad","pinIconUrl","pinIcon","fillColor","strokeColor","onClusterClick","cluster","showForZoomLevelLessThan","getMarkers","markers","setTimeout","marker","getPosition","clusterCenter","configLat","configLng","latDiff","lat","lngDiff","lng","distance","Math","sqrt","distanceThreshold","React","createElement","className","BallTriangle","height","width","radius","color","ariaLabel","wrapperStyle","wrapperClass","visible","mapItemsArray","Array","isArray","mapItemsKey","join","filteredListingsLength","MarkerClustererF","key","calculator","totalCount","reduce","sum","get","text","toString","index","min","floor","options","_objectSpread","clusterOptions","onClick","clusterer","Fragment","markerCount","Object","values","items","MapMarker","selectedLocation","setSelectedLocation","markerIcon","markerIconSelected","minZoom","maxZoom","Marker","concat","title","position","icon","url","iconUrl","scaledSize","Size","PlaceMarker"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { useState, useEffect, Suspense, lazy } from 'react';
1
+ import React, { Suspense, lazy } from 'react';
2
+ import { BallTriangle as xe } from '../../../node_modules/react-loader-spinner/dist/index.js';
3
3
  import ItemsListContainer from '../list/item-list-container.js';
4
4
  import FilterContainer from '../filter/filter-container.js';
5
5
  import MapList from '../../modules/maps/map-list.js';
@@ -12,14 +12,17 @@ var Map = /*#__PURE__*/lazy(function () {
12
12
  // Loading placeholder that maintains layout
13
13
  var MapLoadingPlaceholder = function MapLoadingPlaceholder() {
14
14
  return /*#__PURE__*/React.createElement("div", {
15
- className: "hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center"
16
- }, /*#__PURE__*/React.createElement("div", {
17
- className: "hc-text-center hc-p-8"
18
- }, /*#__PURE__*/React.createElement("div", {
19
- className: "hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto"
20
- }), /*#__PURE__*/React.createElement("p", {
21
- className: "hc-mt-4 hc-text-gray-600"
22
- }, "Loading map...")));
15
+ className: "hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center hc-min-h-[400px]"
16
+ }, /*#__PURE__*/React.createElement(xe, {
17
+ height: 80,
18
+ width: 80,
19
+ radius: 5,
20
+ color: "#2563eb",
21
+ ariaLabel: "ball-triangle-loading",
22
+ wrapperStyle: {},
23
+ wrapperClass: "",
24
+ visible: true
25
+ }));
23
26
  };
24
27
  var MapListContainer = function MapListContainer(_ref) {
25
28
  var _ref$loading = _ref.loading,
@@ -34,15 +37,6 @@ var MapListContainer = function MapListContainer(_ref) {
34
37
  showMap = _ref.showMap,
35
38
  placeMappings = _ref.placeMappings,
36
39
  mapPosition = _ref.mapPosition;
37
- var _useState = useState(false),
38
- _useState2 = _slicedToArray(_useState, 2),
39
- isClient = _useState2[0],
40
- setIsClient = _useState2[1];
41
-
42
- // Only load map on client side
43
- useEffect(function () {
44
- setIsClient(true);
45
- }, []);
46
40
  var listProps = {
47
41
  fieldsShown: fieldsShown,
48
42
  fieldNames: fieldNames,
@@ -59,10 +53,10 @@ var MapListContainer = function MapListContainer(_ref) {
59
53
  showMap: showMap
60
54
  };
61
55
 
62
- // Render map only after client-side hydration
63
- var mapComponent = isClient && showMap ? /*#__PURE__*/React.createElement(Suspense, {
56
+ // Always render map immediately - it handles its own loading state
57
+ var mapComponent = showMap ? /*#__PURE__*/React.createElement(Suspense, {
64
58
  fallback: /*#__PURE__*/React.createElement(MapLoadingPlaceholder, null)
65
- }, /*#__PURE__*/React.createElement(Map, mapProps)) : showMap ? /*#__PURE__*/React.createElement(MapLoadingPlaceholder, null) : null;
59
+ }, /*#__PURE__*/React.createElement(Map, mapProps)) : null;
66
60
  return /*#__PURE__*/React.createElement(MapList, {
67
61
  showMap: showMap,
68
62
  containerStyle: containerStyle,
@@ -1 +1 @@
1
- {"version":3,"file":"map-list-container.js","sources":["../../../../src/components/containers/maps/map-list-container.js"],"sourcesContent":["import React, { useState, useEffect, lazy, Suspense } from 'react';\n\nimport List from '~/components/containers/list/item-list-container';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/modules/maps/map-list';\n\n// Dynamically import the Map container (Google Maps is heavy)\nconst Map = lazy(() => import('~/components/containers/maps/map-container'));\n\n// Loading placeholder that maintains layout\nconst MapLoadingPlaceholder = () => (\n\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center\">\n\t\t<div className=\"hc-text-center hc-p-8\">\n\t\t\t<div className=\"hc-animate-spin hc-rounded-full hc-h-12 hc-w-12 hc-border-b-2 hc-border-gray-900 hc-mx-auto\"></div>\n\t\t\t<p className=\"hc-mt-4 hc-text-gray-600\">Loading map...</p>\n\t\t</div>\n\t</div>\n);\n\nconst MapListContainer = ({\n\tloading = false,\n\tcontainerStyle,\n\tmapDetails,\n\tmarkerConfigs,\n\titemExpandedContent,\n\tfieldsShown,\n\tspecialFeatures,\n\tfieldNames,\n\tshowMap,\n\tplaceMappings,\n\tmapPosition\n}) => {\n\tconst [isClient, setIsClient] = useState(false);\n\n\t// Only load map on client side\n\tuseEffect(() => {\n\t\tsetIsClient(true);\n\t}, []);\n\n\tconst listProps = {\n\t\tfieldsShown,\n\t\tfieldNames,\n\t\titemExpandedContent,\n\t\tloading,\n\t\tshowMap,\n\t\tspecialFeatures\n\t};\n\n\tconst mapProps = {\n\t\tmapDetails,\n\t\tmarkerConfigs,\n\t\tplaceMappings,\n\t\tclusterGridSize: 60,\n\t\tshowMap\n\t};\n\n\t// Render map only after client-side hydration\n\tconst mapComponent = isClient && showMap ? (\n\t\t<Suspense fallback={<MapLoadingPlaceholder />}>\n\t\t\t<Map {...mapProps} />\n\t\t</Suspense>\n\t) : (\n\t\tshowMap ? <MapLoadingPlaceholder /> : null\n\t);\n\n\treturn (\n\t\t<MapList\n\t\t\tshowMap={showMap}\n\t\t\tcontainerStyle={containerStyle}\n\t\t\tloading={loading}\n\t\t\tlist={<List {...listProps} />}\n\t\t\tmap={mapComponent}\n\t\t\tfilter={<Filter showMap={showMap} className=\"md:hc-hidden\" />}\n\t\t\tmapPosition={mapPosition}\n\t\t/>\n\t);\n};\n\nexport default MapListContainer;\n"],"names":["Map","lazy","MapLoadingPlaceholder","React","createElement","className","MapListContainer","_ref","_ref$loading","loading","containerStyle","mapDetails","markerConfigs","itemExpandedContent","fieldsShown","specialFeatures","fieldNames","showMap","placeMappings","mapPosition","_useState","useState","_useState2","_slicedToArray","isClient","setIsClient","useEffect","listProps","mapProps","clusterGridSize","mapComponent","Suspense","fallback","MapList","list","List","map","filter","Filter"],"mappings":"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"}
1
+ {"version":3,"file":"map-list-container.js","sources":["../../../../src/components/containers/maps/map-list-container.js"],"sourcesContent":["import React, { useState, useEffect, lazy, Suspense } from 'react';\nimport { BallTriangle } from 'react-loader-spinner';\n\nimport List from '~/components/containers/list/item-list-container';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/modules/maps/map-list';\n\n// Dynamically import the Map container (Google Maps is heavy)\nconst Map = lazy(() => import('~/components/containers/maps/map-container'));\n\n// Loading placeholder that maintains layout\nconst MapLoadingPlaceholder = () => (\n\t<div className=\"hc-w-full hc-h-full hc-bg-gray-100 hc-flex hc-items-center hc-justify-center hc-min-h-[400px]\">\n\t\t<BallTriangle\n\t\t\theight={80}\n\t\t\twidth={80}\n\t\t\tradius={5}\n\t\t\tcolor=\"#2563eb\"\n\t\t\tariaLabel=\"ball-triangle-loading\"\n\t\t\twrapperStyle={{}}\n\t\t\twrapperClass=\"\"\n\t\t\tvisible={true}\n\t\t/>\n\t</div>\n);\n\nconst MapListContainer = ({\n\tloading = false,\n\tcontainerStyle,\n\tmapDetails,\n\tmarkerConfigs,\n\titemExpandedContent,\n\tfieldsShown,\n\tspecialFeatures,\n\tfieldNames,\n\tshowMap,\n\tplaceMappings,\n\tmapPosition\n}) => {\n\tconst listProps = {\n\t\tfieldsShown,\n\t\tfieldNames,\n\t\titemExpandedContent,\n\t\tloading,\n\t\tshowMap,\n\t\tspecialFeatures\n\t};\n\n\tconst mapProps = {\n\t\tmapDetails,\n\t\tmarkerConfigs,\n\t\tplaceMappings,\n\t\tclusterGridSize: 60,\n\t\tshowMap\n\t};\n\n\t// Always render map immediately - it handles its own loading state\n\tconst mapComponent = showMap ? (\n\t\t<Suspense fallback={<MapLoadingPlaceholder />}>\n\t\t\t<Map {...mapProps} />\n\t\t</Suspense>\n\t) : null;\n\n\treturn (\n\t\t<MapList\n\t\t\tshowMap={showMap}\n\t\t\tcontainerStyle={containerStyle}\n\t\t\tloading={loading}\n\t\t\tlist={<List {...listProps} />}\n\t\t\tmap={mapComponent}\n\t\t\tfilter={<Filter showMap={showMap} className=\"md:hc-hidden\" />}\n\t\t\tmapPosition={mapPosition}\n\t\t/>\n\t);\n};\n\nexport default MapListContainer;\n"],"names":["Map","lazy","MapLoadingPlaceholder","React","createElement","className","BallTriangle","height","width","radius","color","ariaLabel","wrapperStyle","wrapperClass","visible","MapListContainer","_ref","_ref$loading","loading","containerStyle","mapDetails","markerConfigs","itemExpandedContent","fieldsShown","specialFeatures","fieldNames","showMap","placeMappings","mapPosition","listProps","mapProps","clusterGridSize","mapComponent","Suspense","fallback","MapList","list","List","map","filter","Filter"],"mappings":"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"}
@@ -17,11 +17,12 @@ var Map = function Map(_ref) {
17
17
  filteredListingsLength = _ref.filteredListingsLength,
18
18
  setSelectedFilters = _ref.setSelectedFilters,
19
19
  children = _ref.children;
20
- // Always render the container, show placeholder while map loads
20
+ // Don't render GoogleMap until google.maps.Map constructor is available
21
+ var isGoogleMapsAvailable = typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map;
21
22
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
22
23
  ref: mapContainerRef,
23
24
  className: "hc-h-full hc-relative"
24
- }, zoom && center ? /*#__PURE__*/React.createElement(GoogleMap, {
25
+ }, isGoogleMapsAvailable && /*#__PURE__*/React.createElement(GoogleMap, {
25
26
  zoom: zoom,
26
27
  onLoad: onLoad,
27
28
  onIdle: onIdle,
@@ -39,11 +40,7 @@ var Map = function Map(_ref) {
39
40
  }]
40
41
  }]
41
42
  }
42
- }, children) : /*#__PURE__*/React.createElement("div", {
43
- className: "hc-h-full hc-bg-gray-100 hc-animate-pulse hc-flex hc-items-center hc-justify-center"
44
- }, /*#__PURE__*/React.createElement("div", {
45
- className: "hc-text-gray-400 hc-text-sm"
46
- }, "Loading map...")), mapInteracted && /*#__PURE__*/React.createElement(ShowAllButton, {
43
+ }, children), mapInteracted && /*#__PURE__*/React.createElement(ShowAllButton, {
47
44
  mapInteracted: mapInteracted,
48
45
  setMapInteracted: setMapInteracted,
49
46
  fitBounds: fitBounds,
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sources":["../../../../src/components/modules/maps/map.js"],"sourcesContent":["import React from 'react';\nimport { GoogleMap, useLoadScript } from \"@react-google-maps/api\";\nimport ShowAllButton from \"~/components/modules/buttons/show-all-button\";\n\nconst Map = ({\n\tzoom,\n\tcenter,\n\tmapContainerRef,\n\tonLoad,\n\tonIdle,\n\tmapInteracted,\n\tpinIconUrl,\n\tsetMapInteracted,\n\tfitBounds,\n\tmapRef,\n\tsetQuery,\n\tfilteredListingsLength,\n\tsetSelectedFilters,\n\tchildren\n}) => {\n\t// Always render the container, show placeholder while map loads\n\treturn (\n\t\t<>\n\t\t\t<div ref={mapContainerRef} className=\"hc-h-full hc-relative\">\n\t\t\t\t{zoom && center ? (\n\t\t\t\t\t<GoogleMap\n\t\t\t\t\t\tzoom={zoom}\n\t\t\t\t\t\tonLoad={onLoad}\n\t\t\t\t\t\tonIdle={onIdle}\n\t\t\t\t\t\tcenter={center}\n\t\t\t\t\t\tmapContainerStyle={{\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\tstyles: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfeatureType: \"poi\",\n\t\t\t\t\t\t\t\t\telementType: \"labels\",\n\t\t\t\t\t\t\t\t\tstylers: [{ visibility: \"off\" }]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</GoogleMap>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"hc-h-full hc-bg-gray-100 hc-animate-pulse hc-flex hc-items-center hc-justify-center\">\n\t\t\t\t\t\t<div className=\"hc-text-gray-400 hc-text-sm\">Loading map...</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t\t{mapInteracted && (\n\t\t\t\t\t\t<ShowAllButton\n\t\t\t\t\t\t\tmapInteracted={mapInteracted}\n\t\t\t\t\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\t\t\t\t\tfitBounds={fitBounds}\n\t\t\t\t\t\t\tmapRef={mapRef}\n\t\t\t\t\t\t\tpinIconUrl={pinIconUrl}\n\t\t\t\t\t\t\tsetQuery={setQuery}\n\t\t\t\t\t\t\tlistingCount={filteredListingsLength}\n\t\t\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default Map;\n"],"names":["Map","_ref","zoom","center","mapContainerRef","onLoad","onIdle","mapInteracted","pinIconUrl","setMapInteracted","fitBounds","mapRef","setQuery","filteredListingsLength","setSelectedFilters","children","React","createElement","Fragment","ref","className","GoogleMap","mapContainerStyle","width","height","options","styles","featureType","elementType","stylers","visibility","ShowAllButton","listingCount"],"mappings":";;;;AAIA,IAAMA,GAAG,GAAG,SAANA,GAAGA,CAAAC,IAAA,EAeH;AAAA,EAAA,IAdLC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACNC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAChBC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,MAAM,GAAAV,IAAA,CAANU,MAAM;IACNC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,sBAAsB,GAAAZ,IAAA,CAAtBY,sBAAsB;IACtBC,kBAAkB,GAAAb,IAAA,CAAlBa,kBAAkB;IAClBC,QAAQ,GAAAd,IAAA,CAARc,QAAQ,CAAA;AAER;EACA,oBACCC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,GAAG,EAAEf,eAAgB;AAACgB,IAAAA,SAAS,EAAC,uBAAA;GACnClB,EAAAA,IAAI,IAAIC,MAAM,gBACda,KAAA,CAAAC,aAAA,CAACI,SAAS,EAAA;AACTnB,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,MAAM,EAAEA,MAAO;AACfmB,IAAAA,iBAAiB,EAAE;AAClBC,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,MAAM,EAAE,MAAA;KACP;AACFC,IAAAA,OAAO,EAAE;AACRC,MAAAA,MAAM,EAAE,CACP;AACCC,QAAAA,WAAW,EAAE,KAAK;AAClBC,QAAAA,WAAW,EAAE,QAAQ;AACrBC,QAAAA,OAAO,EAAE,CAAC;AAAEC,UAAAA,UAAU,EAAE,KAAA;SAAO,CAAA;OAC/B,CAAA;AAEH,KAAA;AAAE,GAAA,EAEDf,QACS,CAAC,gBAEZC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,qFAAA;GACdJ,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,6BAAA;GAA8B,EAAA,gBAAmB,CAC5D,CACL,EACCb,aAAa,iBACbS,KAAA,CAAAC,aAAA,CAACc,aAAa,EAAA;AACbxB,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,UAAU,EAAEA,UAAW;AACvBI,IAAAA,QAAQ,EAAEA,QAAS;AACnBoB,IAAAA,YAAY,EAAEnB,sBAAuB;AACrCC,IAAAA,kBAAkB,EAAEA,kBAAAA;GACpB,CAEC,CACJ,CAAC,CAAA;AAEL;;;;"}
1
+ {"version":3,"file":"map.js","sources":["../../../../src/components/modules/maps/map.js"],"sourcesContent":["import React from 'react';\nimport { GoogleMap, useLoadScript } from \"@react-google-maps/api\";\nimport ShowAllButton from \"~/components/modules/buttons/show-all-button\";\n\nconst Map = ({\n\tzoom,\n\tcenter,\n\tmapContainerRef,\n\tonLoad,\n\tonIdle,\n\tmapInteracted,\n\tpinIconUrl,\n\tsetMapInteracted,\n\tfitBounds,\n\tmapRef,\n\tsetQuery,\n\tfilteredListingsLength,\n\tsetSelectedFilters,\n\tchildren\n}) => {\n\t// Don't render GoogleMap until google.maps.Map constructor is available\n\tconst isGoogleMapsAvailable = typeof window !== 'undefined' && window.google && window.google.maps && window.google.maps.Map;\n\n\treturn (\n\t\t<>\n\t\t\t<div ref={mapContainerRef} className=\"hc-h-full hc-relative\">\n\t\t\t\t{isGoogleMapsAvailable && (\n\t\t\t\t\t<GoogleMap\n\t\t\t\t\t\tzoom={zoom}\n\t\t\t\t\t\tonLoad={onLoad}\n\t\t\t\t\t\tonIdle={onIdle}\n\t\t\t\t\t\tcenter={center}\n\t\t\t\t\t\tmapContainerStyle={{\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\tstyles: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfeatureType: \"poi\",\n\t\t\t\t\t\t\t\t\telementType: \"labels\",\n\t\t\t\t\t\t\t\t\tstylers: [{ visibility: \"off\" }]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</GoogleMap>\n\t\t\t\t)}\n\t\t\t\t{mapInteracted && (\n\t\t\t\t\t<ShowAllButton\n\t\t\t\t\t\tmapInteracted={mapInteracted}\n\t\t\t\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\t\t\t\tfitBounds={fitBounds}\n\t\t\t\t\t\tmapRef={mapRef}\n\t\t\t\t\t\tpinIconUrl={pinIconUrl}\n\t\t\t\t\t\tsetQuery={setQuery}\n\t\t\t\t\t\tlistingCount={filteredListingsLength}\n\t\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default Map;\n"],"names":["Map","_ref","zoom","center","mapContainerRef","onLoad","onIdle","mapInteracted","pinIconUrl","setMapInteracted","fitBounds","mapRef","setQuery","filteredListingsLength","setSelectedFilters","children","isGoogleMapsAvailable","window","google","maps","React","createElement","Fragment","ref","className","GoogleMap","mapContainerStyle","width","height","options","styles","featureType","elementType","stylers","visibility","ShowAllButton","listingCount"],"mappings":";;;;AAIA,IAAMA,GAAG,GAAG,SAANA,GAAGA,CAAAC,IAAA,EAeH;AAAA,EAAA,IAdLC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,eAAe,GAAAH,IAAA,CAAfG,eAAe;IACfC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACNC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAChBC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,MAAM,GAAAV,IAAA,CAANU,MAAM;IACNC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,sBAAsB,GAAAZ,IAAA,CAAtBY,sBAAsB;IACtBC,kBAAkB,GAAAb,IAAA,CAAlBa,kBAAkB;IAClBC,QAAQ,GAAAd,IAAA,CAARc,QAAQ,CAAA;AAER;EACA,IAAMC,qBAAqB,GAAG,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,MAAM,IAAID,MAAM,CAACC,MAAM,CAACC,IAAI,IAAIF,MAAM,CAACC,MAAM,CAACC,IAAI,CAACnB,GAAG,CAAA;EAE5H,oBACCoB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,GAAG,EAAEnB,eAAgB;AAACoB,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EAC1DR,qBAAqB,iBACrBI,KAAA,CAAAC,aAAA,CAACI,SAAS,EAAA;AACTvB,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,MAAM,EAAEA,MAAO;AACfuB,IAAAA,iBAAiB,EAAE;AAClBC,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,MAAM,EAAE,MAAA;KACP;AACFC,IAAAA,OAAO,EAAE;AACRC,MAAAA,MAAM,EAAE,CACP;AACCC,QAAAA,WAAW,EAAE,KAAK;AAClBC,QAAAA,WAAW,EAAE,QAAQ;AACrBC,QAAAA,OAAO,EAAE,CAAC;AAAEC,UAAAA,UAAU,EAAE,KAAA;SAAO,CAAA;OAC/B,CAAA;AAEH,KAAA;GAECnB,EAAAA,QACS,CACX,EACAR,aAAa,iBACba,KAAA,CAAAC,aAAA,CAACc,aAAa,EAAA;AACb5B,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,MAAM,EAAEA,MAAO;AACfH,IAAAA,UAAU,EAAEA,UAAW;AACvBI,IAAAA,QAAQ,EAAEA,QAAS;AACnBwB,IAAAA,YAAY,EAAEvB,sBAAuB;AACrCC,IAAAA,kBAAkB,EAAEA,kBAAAA;GACpB,CAEE,CACJ,CAAC,CAAA;AAEL;;;;"}
@@ -0,0 +1,52 @@
1
+ var unitlessKeys = {
2
+ animationIterationCount: 1,
3
+ aspectRatio: 1,
4
+ borderImageOutset: 1,
5
+ borderImageSlice: 1,
6
+ borderImageWidth: 1,
7
+ boxFlex: 1,
8
+ boxFlexGroup: 1,
9
+ boxOrdinalGroup: 1,
10
+ columnCount: 1,
11
+ columns: 1,
12
+ flex: 1,
13
+ flexGrow: 1,
14
+ flexPositive: 1,
15
+ flexShrink: 1,
16
+ flexNegative: 1,
17
+ flexOrder: 1,
18
+ gridRow: 1,
19
+ gridRowEnd: 1,
20
+ gridRowSpan: 1,
21
+ gridRowStart: 1,
22
+ gridColumn: 1,
23
+ gridColumnEnd: 1,
24
+ gridColumnSpan: 1,
25
+ gridColumnStart: 1,
26
+ msGridRow: 1,
27
+ msGridRowSpan: 1,
28
+ msGridColumn: 1,
29
+ msGridColumnSpan: 1,
30
+ fontWeight: 1,
31
+ lineHeight: 1,
32
+ opacity: 1,
33
+ order: 1,
34
+ orphans: 1,
35
+ tabSize: 1,
36
+ widows: 1,
37
+ zIndex: 1,
38
+ zoom: 1,
39
+ WebkitLineClamp: 1,
40
+ // SVG-related properties
41
+ fillOpacity: 1,
42
+ floodOpacity: 1,
43
+ stopOpacity: 1,
44
+ strokeDasharray: 1,
45
+ strokeDashoffset: 1,
46
+ strokeMiterlimit: 1,
47
+ strokeOpacity: 1,
48
+ strokeWidth: 1
49
+ };
50
+
51
+ export { unitlessKeys as default };
52
+ //# sourceMappingURL=emotion-unitless.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emotion-unitless.esm.js","sources":["../../../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js"],"sourcesContent":["var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n"],"names":[],"mappings":"AAAG,IAAC,YAAY,GAAG;AACnB,EAAE,uBAAuB,EAAE,CAAC;AAC5B,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,iBAAiB,EAAE,CAAC;AACtB,EAAE,gBAAgB,EAAE,CAAC;AACrB,EAAE,gBAAgB,EAAE,CAAC;AACrB,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,eAAe,EAAE,CAAC;AACpB,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,QAAQ,EAAE,CAAC;AACb,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,SAAS,EAAE,CAAC;AACd,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,aAAa,EAAE,CAAC;AAClB,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,eAAe,EAAE,CAAC;AACpB,EAAE,SAAS,EAAE,CAAC;AACd,EAAE,aAAa,EAAE,CAAC;AAClB,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,gBAAgB,EAAE,CAAC;AACrB,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,KAAK,EAAE,CAAC;AACV,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,eAAe,EAAE,CAAC;AACpB;AACA,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,YAAY,EAAE,CAAC;AACjB,EAAE,WAAW,EAAE,CAAC;AAChB,EAAE,eAAe,EAAE,CAAC;AACpB,EAAE,gBAAgB,EAAE,CAAC;AACrB,EAAE,gBAAgB,EAAE,CAAC;AACrB,EAAE,aAAa,EAAE,CAAC;AAClB,EAAE,WAAW,EAAE,CAAC;AAChB;;;;","x_google_ignoreList":[0]}