@abcagency/hc-ui-components 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +12 -0
- package/.eslintrc +144 -0
- package/.prettierignore +3 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/apis/hcApi.js +189 -0
- package/dist/apis/hcApi.js.map +1 -0
- package/dist/clientToken.js +10 -0
- package/dist/clientToken.js.map +1 -0
- package/dist/components/HireControlMap.js +130 -0
- package/dist/components/HireControlMap.js.map +1 -0
- package/dist/components/modules/accordions/MapAccordionItem.js +76 -0
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -0
- package/dist/components/modules/accordions/default.js +108 -0
- package/dist/components/modules/accordions/default.js.map +1 -0
- package/dist/components/modules/accordions/filterItem.js +50 -0
- package/dist/components/modules/accordions/filterItem.js.map +1 -0
- package/dist/components/modules/accordions/filters.js +46 -0
- package/dist/components/modules/accordions/filters.js.map +1 -0
- package/dist/components/modules/buttons/button-group-apply.js +84 -0
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -0
- package/dist/components/modules/buttons/commute-pill.js +18 -0
- package/dist/components/modules/buttons/commute-pill.js.map +1 -0
- package/dist/components/modules/buttons/default.js +145 -0
- package/dist/components/modules/buttons/default.js.map +1 -0
- package/dist/components/modules/buttons/items-pill.js +23 -0
- package/dist/components/modules/buttons/items-pill.js.map +1 -0
- package/dist/components/modules/buttons/pill-wrapper.js +20 -0
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -0
- package/dist/components/modules/buttons/show-all-button.js +39 -0
- package/dist/components/modules/buttons/show-all-button.js.map +1 -0
- package/dist/components/modules/cards/default.js +102 -0
- package/dist/components/modules/cards/default.js.map +1 -0
- package/dist/components/modules/cards/filter.js +38 -0
- package/dist/components/modules/cards/filter.js.map +1 -0
- package/dist/components/modules/dialogs/apply-dialog.js +46 -0
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -0
- package/dist/components/modules/filter/commute.js +184 -0
- package/dist/components/modules/filter/commute.js.map +1 -0
- package/dist/components/modules/filter/index.js +79 -0
- package/dist/components/modules/filter/index.js.map +1 -0
- package/dist/components/modules/filter/item.js +71 -0
- package/dist/components/modules/filter/item.js.map +1 -0
- package/dist/components/modules/filter/location.js +68 -0
- package/dist/components/modules/filter/location.js.map +1 -0
- package/dist/components/modules/filter/points-of-interest.js +38 -0
- package/dist/components/modules/filter/points-of-interest.js.map +1 -0
- package/dist/components/modules/filter/radio-item.js +46 -0
- package/dist/components/modules/filter/radio-item.js.map +1 -0
- package/dist/components/modules/filter/search.js +83 -0
- package/dist/components/modules/filter/search.js.map +1 -0
- package/dist/components/modules/filter/sort.js +93 -0
- package/dist/components/modules/filter/sort.js.map +1 -0
- package/dist/components/modules/grid.js +39 -0
- package/dist/components/modules/grid.js.map +1 -0
- package/dist/components/modules/icon.js +23 -0
- package/dist/components/modules/icon.js.map +1 -0
- package/dist/components/modules/jobListing/listing-details.js +69 -0
- package/dist/components/modules/jobListing/listing-details.js.map +1 -0
- package/dist/components/modules/maps/info-window-card.js +14 -0
- package/dist/components/modules/maps/info-window-card.js.map +1 -0
- package/dist/components/modules/maps/info-window-content.js +39 -0
- package/dist/components/modules/maps/info-window-content.js.map +1 -0
- package/dist/components/modules/maps/list/field-mapper.js +88 -0
- package/dist/components/modules/maps/list/field-mapper.js.map +1 -0
- package/dist/components/modules/maps/list/header-item.js +59 -0
- package/dist/components/modules/maps/list/header-item.js.map +1 -0
- package/dist/components/modules/maps/list/header.js +37 -0
- package/dist/components/modules/maps/list/header.js.map +1 -0
- package/dist/components/modules/maps/list/index.js +93 -0
- package/dist/components/modules/maps/list/index.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/index.js +16 -0
- package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -0
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -0
- package/dist/components/modules/maps/list/list-item/index.js +98 -0
- package/dist/components/modules/maps/list/list-item/index.js.map +1 -0
- package/dist/components/modules/maps/map-list.js +57 -0
- package/dist/components/modules/maps/map-list.js.map +1 -0
- package/dist/components/modules/maps/map-marker.js +85 -0
- package/dist/components/modules/maps/map-marker.js.map +1 -0
- package/dist/components/modules/maps/map.js +201 -0
- package/dist/components/modules/maps/map.js.map +1 -0
- package/dist/components/modules/maps/place-marker.js +37 -0
- package/dist/components/modules/maps/place-marker.js.map +1 -0
- package/dist/components/modules/maps/tabs.js +84 -0
- package/dist/components/modules/maps/tabs.js.map +1 -0
- package/dist/constants/placeTypes.js +11 -0
- package/dist/constants/placeTypes.js.map +1 -0
- package/dist/contexts/mapContext.js +133 -0
- package/dist/contexts/mapContext.js.map +1 -0
- package/dist/contexts/mapListContext.js +278 -0
- package/dist/contexts/mapListContext.js.map +1 -0
- package/dist/contexts/placesContext.js +152 -0
- package/dist/contexts/placesContext.js.map +1 -0
- package/dist/hooks/useList.js +119 -0
- package/dist/hooks/useList.js.map +1 -0
- package/dist/index.js +2 -4536
- package/dist/index.js.map +1 -0
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -0
- package/dist/services/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/dist/services/apis/hcApi.js +189 -0
- package/dist/services/apis/hcApi.js.map +1 -0
- package/dist/services/clientToken.js +7 -0
- package/dist/services/clientToken.js.map +1 -0
- package/dist/services/configService.js +33 -0
- package/dist/services/configService.js.map +1 -0
- package/dist/services/googlePlacesNearbyService.js +61 -0
- package/dist/services/googlePlacesNearbyService.js.map +1 -0
- package/dist/services/listingAggregatorService.js +56 -0
- package/dist/services/listingAggregatorService.js.map +1 -0
- package/dist/services/listingEntityService.js +36 -0
- package/dist/services/listingEntityService.js.map +1 -0
- package/dist/services/listingService.js +60 -112
- package/dist/services/listingService.js.map +1 -0
- package/dist/services/recruiterService.js +36 -0
- package/dist/services/recruiterService.js.map +1 -0
- package/dist/services/styles/index.css +3 -0
- package/dist/styles/index.css +3 -0
- package/dist/util/filterUtil.js +213 -0
- package/dist/util/filterUtil.js.map +1 -0
- package/dist/util/loading.js +16 -0
- package/dist/util/loading.js.map +1 -0
- package/dist/util/localStorageUtil.js +32 -0
- package/dist/util/localStorageUtil.js.map +1 -0
- package/dist/util/mapIconUtil.js +73 -0
- package/dist/util/mapIconUtil.js.map +1 -0
- package/dist/util/mapUtil.js +76 -0
- package/dist/util/mapUtil.js.map +1 -0
- package/dist/util/sortUtil.js +33 -0
- package/dist/util/sortUtil.js.map +1 -0
- package/dist/util/stringUtils.js +9 -0
- package/dist/util/stringUtils.js.map +1 -0
- package/jsconfig.json +7 -0
- package/package.json +51 -38
- package/postcss.config.js +13 -15
- package/{src/tailwind/preset.default.js → preset.default.js} +15 -15
- package/rollup.config.mjs +87 -0
- package/src/apis/hcApi.js +93 -87
- package/src/clientToken.js +9 -9
- package/src/components/HireControlMap.js +121 -0
- package/src/components/modules/accordions/MapAccordionItem.js +72 -69
- package/src/components/modules/accordions/default.js +171 -173
- package/src/components/modules/accordions/filterItem.js +53 -53
- package/src/components/modules/accordions/filters.js +47 -44
- package/src/components/modules/buttons/button-group-apply.js +113 -85
- package/src/components/modules/buttons/commute-pill.js +22 -21
- package/src/components/modules/buttons/default.js +196 -196
- package/src/components/modules/buttons/items-pill.js +32 -31
- package/src/components/modules/buttons/pill-wrapper.js +27 -26
- package/src/components/modules/buttons/show-all-button.js +20 -20
- package/src/components/modules/cards/default.js +167 -168
- package/src/components/modules/cards/filter.js +56 -55
- package/src/components/modules/dialogs/apply-dialog.js +48 -47
- package/src/components/modules/filter/commute.js +148 -151
- package/src/components/modules/filter/index.js +87 -86
- package/src/components/modules/filter/item.js +76 -77
- package/src/components/modules/filter/location.js +71 -69
- package/src/components/modules/filter/points-of-interest.js +44 -43
- package/src/components/modules/filter/radio-item.js +53 -51
- package/src/components/modules/filter/search.js +92 -91
- package/src/components/modules/filter/sort.js +83 -83
- package/src/components/modules/grid.js +55 -56
- package/src/components/modules/icon.js +33 -33
- package/src/components/modules/jobListing/listing-details.js +94 -88
- package/src/components/modules/maps/info-window-card.js +17 -17
- package/src/components/modules/maps/info-window-content.js +58 -60
- package/src/components/modules/maps/list/field-mapper.js +112 -111
- package/src/components/modules/maps/list/header-item.js +91 -90
- package/src/components/modules/maps/list/header.js +47 -46
- package/src/components/modules/maps/list/index.js +107 -104
- package/src/components/modules/maps/list/item-expand-card/index.js +22 -21
- package/src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +50 -48
- package/src/components/modules/maps/list/item-expand-card/recruiter-details.js +68 -67
- package/src/components/modules/maps/list/item-expand-card/recruiter-headshot.js +22 -22
- package/src/components/modules/maps/list/list-item/index.js +134 -133
- package/src/components/modules/maps/map-list.js +74 -73
- package/src/components/modules/maps/map-marker.js +86 -84
- package/src/components/modules/maps/map.js +229 -226
- package/src/components/modules/maps/place-marker.js +1 -1
- package/src/components/modules/maps/tabs.js +81 -79
- package/src/constants/placeTypes.js +8 -8
- package/src/contexts/mapContext.js +20 -19
- package/src/contexts/mapListContext.js +20 -15
- package/src/contexts/placesContext.js +4 -0
- package/src/hooks/useList.js +12 -10
- package/src/index.js +3 -103
- package/src/services/configService.js +16 -16
- package/src/services/googlePlacesNearbyService.js +33 -33
- package/src/services/listingAggregatorService.js +5 -4
- package/src/services/listingEntityService.js +2 -1
- package/src/services/listingService.js +27 -28
- package/src/services/recruiterService.js +17 -17
- package/src/styles/{globals.css → index.css} +23 -23
- package/src/util/arrayUtil.js +3 -3
- package/src/util/fieldMapper.js +22 -19
- package/src/util/filterUtil.js +19 -19
- package/src/util/loading.js +17 -17
- package/src/util/localStorageUtil.js +26 -26
- package/src/util/mapIconUtil.js +3 -3
- package/src/util/sortUtil.js +32 -32
- package/src/util/stringUtils.js +6 -6
- package/{src/tailwind/tailwind.config.js → tailwind.config.js} +126 -127
- package/dist/globals.css +0 -3
- package/dist/output.css +0 -784
- package/dist/services/globals.css +0 -3
- package/rollup.config.js +0 -68
- package/src/components/layout/footer.js +0 -34
- package/src/components/layout/header.js +0 -23
- package/src/components/layout/layout.js +0 -36
- package/src/components/modules/animations/slidein.js +0 -41
- package/src/components/modules/navigation/nav-link.js +0 -65
- package/src/components/modules/navigation/navbar.js +0 -106
- package/src/components/modules/navigation/skip-link.js +0 -21
- package/src/components/modules/navigation/social.js +0 -29
- package/src/components/modules/sections/default.js +0 -59
- package/src/components/modules/sections/sectionContext.js +0 -4
- package/src/hooks/useClickOutside.js +0 -16
- package/src/hooks/useEventListener.js +0 -25
- package/src/hooks/useEventTracker.js +0 -19
- package/src/hooks/useRefScrollProgress.js +0 -24
- package/src/hooks/useScript.js +0 -63
- package/src/hooks/useScrollDirection.js +0 -39
- package/src/hooks/useSectionTracker.js +0 -95
- package/src/hooks/useUserAgent.js +0 -43
- package/src/hooks/useWindowSize.js +0 -28
- package/src/index.css +0 -25
- package/src/styles/fonts.js +0 -0
- package/src/util/page-head.js +0 -62
- package/src/util/provider.js +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/modules/maps/list/list-item/index.js"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport FieldMapper from '~/components/modules/maps/list/field-mapper';\n\nimport { useMapList } from '~/contexts/mapListContext';\n\nconst ListItem = forwardRef(\n\t(\n\t\t{\n\t\t\tisActive,\n\t\t\tbodyClassName,\n\t\t\tclassName,\n\t\t\titem,\n\t\t\tfieldsShown,\n\t\t\tspecialFeatures,\n\t\t\tonItemSelected,\n\t\t\tshowMap,\n\t\t\tsetMobileTab,\n\t\t\tfavorites,\n\t\t\tsetFavorites,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { siteConfig } = useMapList();\n\t\tconst mapPinColor = siteConfig.colors.primary.replace(\"#\", \"\");\n\n\t\tconst handleClick = () => {\n\t\t\tif (onItemSelected) {\n\t\t\t\tonItemSelected(item);\n\t\t\t}\n\t\t};\n\n\t\tlet isFavorite = favorites.includes(item.id);\n\n\t\tconst handleFavouriteClick = event => {\n\t\t\tevent.stopPropagation();\n\t\t\tlet updatedFavorites;\n\t\t\tif (isFavorite) {\n\t\t\t\tupdatedFavorites = favorites.filter(fav => fav !== item.id);\n\t\t\t} else {\n\t\t\t\tupdatedFavorites = [...favorites, item.id];\n\t\t\t}\n\t\t\tisFavorite = !isFavorite;\n\t\t\tsetFavorites(updatedFavorites);\n\n\t\t};\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tclassName={`\n\t\t\t\t\thc-group hc-relative hc-flex md:hc-flex-col hc-w-full md:hc-pl-4 hc-text-left hc-bg-clip-border hc-border hc-border-transparent hc-break-words hc-overflow-hidden hc-cursor-pointer hc-transition-colors hover:hc-bg-uiAccent/5 focus:hover:hc-bg-uiAccent/5\n\t\t\t\t\t${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\n\t\t\t\t\t${className ?? \"\"}\n `}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\n\t\t\t\t\tgap=\"hc-gap-2\"\n\t\t\t\t\tisAnimated={false}\n\t\t\t\t\tclassName={`\n\t\t\t\t\t\thc-block md:hc-grid hc-p-2 hc-ps-4 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\n\t\t\t\t\t\t${bodyClassName ?? \"\"}\n\t\t\t\t\t`}\n\t\t\t\t>\n\t\t\t\t\t<Grid.Item className=\"hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5\">\n\t\t\t\t\t\t<span className=\"hc-sr-only\">Expand row</span>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon=\"fluent-emoji-high-contrast:plus\"\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\n\t\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\t\t\thc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\n\t\t\t\t\t\t\t\t${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t</Grid.Item>\n\n\t\t\t\t\t<FieldMapper\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\tisFavorite={isFavorite}\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\n\t\t\t\t\t/>\n\t\t\t\t\t<Grid.Item\n\t\t\t\t\t\tkey={\"favorites\"}\n\t\t\t\t\t\tclassName=\"hc-hidden md:hc-block hc-col-span-1\"\n\t\t\t\t\t>\n\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\n\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\n\t\t\t\t\t\t\ttitle={!isFavorite ? 'Add job to favorites' : 'Remove job from favorites'}\n\t\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\t\thc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\n\t\t\t\t\t\t`}\n\t\t\t\t\t\t\tonClick={e => handleFavouriteClick(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t</Grid>\n\n\t\t\t\t{showMap && (\n\t\t\t\t\t<div onClick={() => { setMobileTab(\"mapTab\"); handleClick(); }} className=\"md:hc-hidden hc-w-2/5 sm:hc-w-1/3 hc-p-1.5 hc-my-1 hc-bg-uiAccent/5 hc-border hc-border-uiAccent/10 hc-rounded-sm\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={`https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=${item.mapDetails?.latitude},${item.mapDetails?.longitude}&zoom=10&size=240x180&maptype=roadmap&markers=color:0x${mapPinColor}%7Clabel:•%7C${item.mapDetails?.latitude},${item.mapDetails?.longitude}&key=${process.env.GOOGLE_MAPS_API_KEY}`}\n\t\t\t\t\t\t\talt={`Map of location for ${item.fields.position}`}\n\t\t\t\t\t\t\tclassName=\"hc-w-full hc-h-full hc-object-cover\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t);\n\t},\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default React.memo(ListItem, (prevProps, nextProps) => {\n\treturn (\n\t\t(prevProps.isActive === nextProps.isActive ||\n\t\t\tprevProps.isActive !== nextProps.isActive) &&\n\t\tprevProps.bodyClassName === nextProps.bodyClassName &&\n\t\tprevProps.className === nextProps.className &&\n\t\tprevProps.fieldsShown === nextProps.fieldsShown &&\n\t\tprevProps.item.id === nextProps.item.id\n\t);\n});\n"],"names":["ListItem","forwardRef","_ref","ref","_item$mapDetails","_item$mapDetails2","_item$mapDetails3","_item$mapDetails4","isActive","bodyClassName","className","item","fieldsShown","specialFeatures","onItemSelected","showMap","setMobileTab","favorites","setFavorites","props","_objectWithoutProperties","_excluded","_useMapList","useMapList","siteConfig","mapPinColor","colors","primary","replace","handleClick","isFavorite","includes","id","handleFavouriteClick","event","stopPropagation","updatedFavorites","filter","fav","concat","_toConsumableArray","React","createElement","_extends","onClick","Grid","columns","gap","isAnimated","Item","Icon","icon","size","FieldMapper","key","iconClasses","title","e","src","mapDetails","latitude","longitude","alt","fields","position","displayName","memo","prevProps","nextProps"],"mappings":";;;;;;;;AAQA,IAAMA,QAAQ,gBAAGC,UAAU,CAC1B,UAAAC,IAAA,EAeCC,GAAG,EACC;AAAA,EAAA,IAAAC,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,CAAA;AAAA,EAAA,IAdHC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,aAAa,GAAAP,IAAA,CAAbO,aAAa;IACbC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IACTC,IAAI,GAAAT,IAAA,CAAJS,IAAI;IACJC,WAAW,GAAAV,IAAA,CAAXU,WAAW;IACXC,eAAe,GAAAX,IAAA,CAAfW,eAAe;IACfC,cAAc,GAAAZ,IAAA,CAAdY,cAAc;IACdC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,SAAS,GAAAf,IAAA,CAATe,SAAS;IACTC,YAAY,GAAAhB,IAAA,CAAZgB,YAAY;AACTC,IAAAA,KAAK,GAAAC,wBAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;AAIT,EAAA,IAAAC,WAAA,GAAuBC,UAAU,EAAE;IAA3BC,UAAU,GAAAF,WAAA,CAAVE,UAAU,CAAA;AAClB,EAAA,IAAMC,WAAW,GAAGD,UAAU,CAACE,MAAM,CAACC,OAAO,CAACC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAE9D,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACzB,IAAA,IAAIf,cAAc,EAAE;MACnBA,cAAc,CAACH,IAAI,CAAC,CAAA;AACrB,KAAA;GACA,CAAA;EAED,IAAImB,UAAU,GAAGb,SAAS,CAACc,QAAQ,CAACpB,IAAI,CAACqB,EAAE,CAAC,CAAA;AAE5C,EAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,KAAK,EAAI;IACrCA,KAAK,CAACC,eAAe,EAAE,CAAA;AACvB,IAAA,IAAIC,gBAAgB,CAAA;AACpB,IAAA,IAAIN,UAAU,EAAE;AACfM,MAAAA,gBAAgB,GAAGnB,SAAS,CAACoB,MAAM,CAAC,UAAAC,GAAG,EAAA;AAAA,QAAA,OAAIA,GAAG,KAAK3B,IAAI,CAACqB,EAAE,CAAA;OAAC,CAAA,CAAA;AAC5D,KAAC,MAAM;MACNI,gBAAgB,GAAA,EAAA,CAAAG,MAAA,CAAAC,kBAAA,CAAOvB,SAAS,CAAEN,EAAAA,CAAAA,IAAI,CAACqB,EAAE,CAAC,CAAA,CAAA;AAC3C,KAAA;IACAF,UAAU,GAAG,CAACA,UAAU,CAAA;IACxBZ,YAAY,CAACkB,gBAAgB,CAAC,CAAA;GAE9B,CAAA;AAED,EAAA,oBACCK,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAAC,QAAA,CAAA;AACCxC,IAAAA,GAAG,EAAEA,GAAI;AACTyC,IAAAA,OAAO,EAAEf,WAAY;AACrBnB,IAAAA,SAAS,yRAAA6B,MAAA,CAEN/B,QAAQ,GAAG,gDAAgD,GAAG,4BAA4B,EAAA+B,cAAAA,CAAAA,CAAAA,MAAA,CAC1F7B,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,EAAA,YAAA,CAAA;AACZ,GAAA,EACFS,KAAK,CAETsB,eAAAA,KAAA,CAAAC,aAAA,CAACG,IAAI,EAAA;AACJC,IAAAA,OAAO,EAAC,kCAAkC;AAC1CC,IAAAA,GAAG,EAAC,UAAU;AACdC,IAAAA,UAAU,EAAE,KAAM;IAClBtC,SAAS,EAAA,0IAAA,CAAA6B,MAAA,CAEN9B,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAbA,aAAa,GAAI,EAAE,EAAA,cAAA,CAAA;AACpB,GAAA,eAEFgC,KAAA,CAAAC,aAAA,CAACG,IAAI,CAACI,IAAI,EAAA;AAACvC,IAAAA,SAAS,EAAC,gEAAA;GACpB+B,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMhC,IAAAA,SAAS,EAAC,YAAA;AAAY,GAAA,EAAC,YAAgB,CAAC,eAC9C+B,KAAA,CAAAC,aAAA,CAACQ,aAAI,EAAA;AACJC,IAAAA,IAAI,EAAC,iCAAiC;AACtCC,IAAAA,IAAI,EAAC,aAAa;AAClB1C,IAAAA,SAAS,4IAAA6B,MAAA,CAEN/B,QAAQ,GAAG,6BAA6B,GAAG,EAAE,EAAA,kBAAA,CAAA;AAC9C,GACF,CAES,CAAC,eAEZiC,KAAA,CAAAC,aAAA,CAACW,WAAW,EAAA;AACX1C,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,eAAe,EAAEA,eAAgB;AACjCiB,IAAAA,UAAU,EAAEA,UAAW;AACvBG,IAAAA,oBAAoB,EAAEA,oBAAAA;GACtB,CAAC,eACFQ,KAAA,CAAAC,aAAA,CAACG,IAAI,CAACI,IAAI,EAAA;AACTK,IAAAA,GAAG,EAAE,WAAY;AACjB5C,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,eAG/C+B,KAAA,CAAAC,aAAA,CAACQ,aAAI,EAAA;AACJC,IAAAA,IAAI,EAAErB,UAAU,GAAG,WAAW,GAAG,mBAAoB;AACrDsB,IAAAA,IAAI,EAAC,aAAa;AAClBG,IAAAA,WAAW,EAAEzB,UAAU,GAAG,iBAAiB,GAAG,EAAG;AACjD0B,IAAAA,KAAK,EAAE,CAAC1B,UAAU,GAAG,sBAAsB,GAAG,2BAA4B;AAC1EpB,IAAAA,SAAS,EAER,gHAAA;IACDkC,OAAO,EAAE,SAAAA,OAAAA,CAAAa,CAAC,EAAA;MAAA,OAAIxB,oBAAoB,CAACwB,CAAC,CAAC,CAAA;AAAA,KAAA;GACrC,CACS,CACN,CAAC,EAEN1C,OAAO,iBACP0B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKE,OAAO,EAAE,SAAAA,OAAAA,GAAM;MAAE5B,YAAY,CAAC,QAAQ,CAAC,CAAA;AAAEa,MAAAA,WAAW,EAAE,CAAA;KAAI;AAACnB,IAAAA,SAAS,EAAC,mHAAA;GACzE+B,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCgB,IAAAA,GAAG,EAAAnB,gEAAAA,CAAAA,MAAA,CAAAnC,CAAAA,gBAAA,GAAmEO,IAAI,CAACgD,UAAU,MAAAvD,IAAAA,IAAAA,gBAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAiBwD,QAAQ,EAAArB,GAAAA,CAAAA,CAAAA,MAAA,CAAAlC,CAAAA,iBAAA,GAAIM,IAAI,CAACgD,UAAU,MAAAtD,IAAAA,IAAAA,iBAAA,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAiBwD,SAAS,4DAAAtB,MAAA,CAAyDd,WAAW,EAAA,oBAAA,CAAA,CAAAc,MAAA,CAAA,CAAAjC,iBAAA,GAAgBK,IAAI,CAACgD,UAAU,MAAA,IAAA,IAAArD,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,iBAAA,CAAiBsD,QAAQ,EAAA,GAAA,CAAA,CAAArB,MAAA,CAAA,CAAAhC,iBAAA,GAAII,IAAI,CAACgD,UAAU,MAAA,IAAA,IAAApD,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,iBAAA,CAAiBsD,SAAS,EAAA,OAAA,EAAQ,yCAA+B,CAAG;IAClTC,GAAG,EAAA,sBAAA,CAAAvB,MAAA,CAAyB5B,IAAI,CAACoD,MAAM,CAACC,QAAQ,CAAG;AACnDtD,IAAAA,SAAS,EAAC,qCAAA;GACV,CACG,CAEC,CAAC,CAAA;AAEX,CACD,CAAC,CAAA;AAEDV,QAAQ,CAACiE,WAAW,GAAG,UAAU,CAAA;AAEjC,iBAAexB,aAAAA,KAAK,CAACyB,IAAI,CAAClE,QAAQ,EAAE,UAACmE,SAAS,EAAEC,SAAS,EAAK;EAC7D,OACC,CAACD,SAAS,CAAC3D,QAAQ,KAAK4D,SAAS,CAAC5D,QAAQ,IACzC2D,SAAS,CAAC3D,QAAQ,KAAK4D,SAAS,CAAC5D,QAAQ,KAC1C2D,SAAS,CAAC1D,aAAa,KAAK2D,SAAS,CAAC3D,aAAa,IACnD0D,SAAS,CAACzD,SAAS,KAAK0D,SAAS,CAAC1D,SAAS,IAC3CyD,SAAS,CAACvD,WAAW,KAAKwD,SAAS,CAACxD,WAAW,IAC/CuD,SAAS,CAACxD,IAAI,CAACqB,EAAE,KAAKoC,SAAS,CAACzD,IAAI,CAACqB,EAAE,CAAA;AAEzC,CAAC,CAAC;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ItemsList from './list/index.js';
|
|
3
|
+
import Map from './map.js';
|
|
4
|
+
import MapTabs from './tabs.js';
|
|
5
|
+
import Filter from '../filter/index.js';
|
|
6
|
+
|
|
7
|
+
var MapList = function MapList(_ref) {
|
|
8
|
+
var _ref$loading = _ref.loading,
|
|
9
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
10
|
+
mapDetails = _ref.mapDetails,
|
|
11
|
+
markerConfigs = _ref.markerConfigs,
|
|
12
|
+
itemExpandedContent = _ref.itemExpandedContent,
|
|
13
|
+
fieldsShown = _ref.fieldsShown,
|
|
14
|
+
specialFeatures = _ref.specialFeatures,
|
|
15
|
+
fieldNames = _ref.fieldNames,
|
|
16
|
+
showMap = _ref.showMap,
|
|
17
|
+
placeMappings = _ref.placeMappings;
|
|
18
|
+
var listProps = {
|
|
19
|
+
fieldsShown: fieldsShown,
|
|
20
|
+
fieldNames: fieldNames,
|
|
21
|
+
itemExpandedContent: itemExpandedContent,
|
|
22
|
+
loading: loading,
|
|
23
|
+
showMap: showMap,
|
|
24
|
+
specialFeatures: specialFeatures
|
|
25
|
+
};
|
|
26
|
+
var mapProps = {
|
|
27
|
+
mapDetails: mapDetails,
|
|
28
|
+
markerConfigs: markerConfigs,
|
|
29
|
+
placeMappings: placeMappings,
|
|
30
|
+
clusterGridSize: 60,
|
|
31
|
+
showMap: showMap
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// useEffect(() => {
|
|
35
|
+
// if (selectedItem !== null) {
|
|
36
|
+
// trackEvent("Map", "View Location", selectedItem[titlePropName]);
|
|
37
|
+
// }
|
|
38
|
+
// // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
|
+
// }, []);
|
|
40
|
+
var map = /*#__PURE__*/React.createElement(Map, mapProps);
|
|
41
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: "\n\t\t\t\t\t".concat(showMap == false ? "md:hc-grid-rows-[100vh]" : "md:hc-grid-rows-[50vh_50vh]", "\n\t\t\t\t\tmd:hc-grid md:hc-pt-4 hc-overflow-hidden hc-relative bg-gray-100\n\t\t\t\t")
|
|
43
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ItemsList, listProps)), /*#__PURE__*/React.createElement("div", null, showMap && map)), /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: "md:hc-hidden"
|
|
45
|
+
}, /*#__PURE__*/React.createElement(MapTabs, {
|
|
46
|
+
showMap: showMap,
|
|
47
|
+
list: /*#__PURE__*/React.createElement(ItemsList, listProps),
|
|
48
|
+
map: !loading && showMap && map,
|
|
49
|
+
filter: /*#__PURE__*/React.createElement(Filter, {
|
|
50
|
+
showMap: showMap,
|
|
51
|
+
className: "md:hc-hidden"
|
|
52
|
+
})
|
|
53
|
+
})));
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { MapList as default };
|
|
57
|
+
//# sourceMappingURL=map-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-list.js","sources":["../../../../src/components/modules/maps/map-list.js"],"sourcesContent":["import React from 'react';\n\nimport List from '~/components/modules/maps/list';\nimport Map from '~/components/modules/maps/map';\nimport Tabs from '~/components/modules/maps/tabs';\nimport Filter from '~/components/modules/filter';\n\nconst MapList = ({\n\tloading = false,\n\tmapDetails,\n\tmarkerConfigs,\n\titemExpandedContent,\n\tfieldsShown,\n\tspecialFeatures,\n\tfieldNames,\n\tshowMap,\n\tplaceMappings\n}) => {\n\n\tconst listProps = {\n\t\tfieldsShown: fieldsShown,\n\t\tfieldNames: fieldNames,\n\t\titemExpandedContent: itemExpandedContent,\n\t\tloading: loading,\n\t\tshowMap: showMap,\n\t\tspecialFeatures: specialFeatures\n\t};\n\n\tconst mapProps = {\n\t\tmapDetails: mapDetails,\n\t\tmarkerConfigs: markerConfigs,\n\t\tplaceMappings: placeMappings,\n\t\tclusterGridSize: 60,\n\t\tshowMap: showMap\n\t};\n\n\t// useEffect(() => {\n\t// \tif (selectedItem !== null) {\n\t// \t\ttrackEvent(\"Map\", \"View Location\", selectedItem[titlePropName]);\n\t// \t}\n\t// \t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t// }, []);\n\tconst map = <Map {...mapProps} />;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`\n\t\t\t\t\t${showMap == false ? \"md:hc-grid-rows-[100vh]\" : \"md:hc-grid-rows-[50vh_50vh]\"}\n\t\t\t\t\tmd:hc-grid md:hc-pt-4 hc-overflow-hidden hc-relative bg-gray-100\n\t\t\t\t`}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<List {...listProps} />\n\t\t\t\t</div>\n\t\t\t\t<div>{showMap && map}</div>\n\t\t\t</div>\n\t\t\t<div className=\"md:hc-hidden\">\n\t\t\t\t<Tabs\n\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\tlist={<List {...listProps} />}\n\t\t\t\t\tmap={!loading && showMap && map}\n\t\t\t\t\tfilter={\n\t\t\t\t\t\t<Filter\n\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\tclassName=\"md:hc-hidden\"\n\t\t\t\t\t\t/>\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 MapList;\n"],"names":["MapList","_ref","_ref$loading","loading","mapDetails","markerConfigs","itemExpandedContent","fieldsShown","specialFeatures","fieldNames","showMap","placeMappings","listProps","mapProps","clusterGridSize","map","React","createElement","Map","Fragment","className","concat","List","Tabs","list","filter","Filter"],"mappings":";;;;;;AAOA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAAC,IAAA,EAUP;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CATLE,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IACfE,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,mBAAmB,GAAAL,IAAA,CAAnBK,mBAAmB;IACnBC,WAAW,GAAAN,IAAA,CAAXM,WAAW;IACXC,eAAe,GAAAP,IAAA,CAAfO,eAAe;IACfC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,OAAO,GAAAT,IAAA,CAAPS,OAAO;IACPC,aAAa,GAAAV,IAAA,CAAbU,aAAa,CAAA;AAGb,EAAA,IAAMC,SAAS,GAAG;AACjBL,IAAAA,WAAW,EAAEA,WAAW;AACxBE,IAAAA,UAAU,EAAEA,UAAU;AACtBH,IAAAA,mBAAmB,EAAEA,mBAAmB;AACxCH,IAAAA,OAAO,EAAEA,OAAO;AAChBO,IAAAA,OAAO,EAAEA,OAAO;AAChBF,IAAAA,eAAe,EAAEA,eAAAA;GACjB,CAAA;AAED,EAAA,IAAMK,QAAQ,GAAG;AAChBT,IAAAA,UAAU,EAAEA,UAAU;AACtBC,IAAAA,aAAa,EAAEA,aAAa;AAC5BM,IAAAA,aAAa,EAAEA,aAAa;AAC5BG,IAAAA,eAAe,EAAE,EAAE;AACnBJ,IAAAA,OAAO,EAAEA,OAAAA;GACT,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;EACA,IAAMK,GAAG,gBAAGC,KAAA,CAAAC,aAAA,CAACC,GAAG,EAAKL,QAAW,CAAC,CAAA;EACjC,oBACCG,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAG,QAAA,EAAA,IAAA,eACCH,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACCG,SAAS,EAAA,cAAA,CAAAC,MAAA,CACNX,OAAO,IAAI,KAAK,GAAG,yBAAyB,GAAG,6BAA6B,EAAA,wFAAA,CAAA;GAI/EM,eAAAA,KAAA,CAAAC,aAAA,CACCD,KAAAA,EAAAA,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACK,SAAI,EAAKV,SAAY,CAClB,CAAC,eACNI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAMP,OAAO,IAAIK,GAAS,CACtB,CAAC,eACNC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,cAAA;AAAc,GAAA,eAC5BJ,KAAA,CAAAC,aAAA,CAACM,OAAI,EAAA;AACJb,IAAAA,OAAO,EAAEA,OAAQ;IACjBc,IAAI,eAAER,KAAA,CAAAC,aAAA,CAACK,SAAI,EAAKV,SAAY,CAAE;AAC9BG,IAAAA,GAAG,EAAE,CAACZ,OAAO,IAAIO,OAAO,IAAIK,GAAI;AAChCU,IAAAA,MAAM,eACLT,KAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACNhB,MAAAA,OAAO,EAAEA,OAAQ;AACjBU,MAAAA,SAAS,EAAC,cAAA;KACV,CAAA;GAEF,CACG,CACJ,CAAC,CAAA;AAEL;;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import React, { useRef, useEffect } from 'react';
|
|
2
|
+
import { MarkerF, InfoWindow } from '@react-google-maps/api';
|
|
3
|
+
import CardInfoWindow from './info-window-card.js';
|
|
4
|
+
import InfoWindowContent from './info-window-content.js';
|
|
5
|
+
import { useMap } from '../../../contexts/mapContext.js';
|
|
6
|
+
import { useMapList } from '../../../contexts/mapListContext.js';
|
|
7
|
+
|
|
8
|
+
var MapMarker = function MapMarker(_ref) {
|
|
9
|
+
var item = _ref.item,
|
|
10
|
+
markerRefs = _ref.markerRefs,
|
|
11
|
+
infoWindowClasses = _ref.infoWindowClasses,
|
|
12
|
+
markerClickHandler = _ref.markerClickHandler,
|
|
13
|
+
clusterer = _ref.clusterer,
|
|
14
|
+
markerIconSelected = _ref.markerIconSelected,
|
|
15
|
+
markerIcon = _ref.markerIcon,
|
|
16
|
+
selectedLocation = _ref.selectedLocation,
|
|
17
|
+
setMapInteracted = _ref.setMapInteracted;
|
|
18
|
+
var _useMap = useMap(),
|
|
19
|
+
setLocation = _useMap.setLocation,
|
|
20
|
+
commuteLocation = _useMap.commuteLocation;
|
|
21
|
+
var isSelected = item.id === (selectedLocation === null || selectedLocation === void 0 ? void 0 : selectedLocation.id);
|
|
22
|
+
var markerRef = useRef(null);
|
|
23
|
+
var _useMapList = useMapList(),
|
|
24
|
+
handleFilterListingsByLocation = _useMapList.handleFilterListingsByLocation;
|
|
25
|
+
useEffect(function () {
|
|
26
|
+
markerRefs.current[item.id] = markerRef.current;
|
|
27
|
+
}, []);
|
|
28
|
+
var onMarkerClick = function onMarkerClick() {
|
|
29
|
+
setMapInteracted(true);
|
|
30
|
+
markerClickHandler(item);
|
|
31
|
+
};
|
|
32
|
+
var getInfoWindow = function getInfoWindow() {
|
|
33
|
+
if (!isSelected || !item || !item.id || !selectedLocation) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
//Direct dom removal of empty info windows
|
|
37
|
+
document.querySelectorAll("div.gm-style-iw.gm-style-iw-c").forEach(function (x) {
|
|
38
|
+
if (!x.innerHTML.includes(item.id)) x.parentElement.remove();
|
|
39
|
+
});
|
|
40
|
+
return /*#__PURE__*/React.createElement(InfoWindow, {
|
|
41
|
+
position: {
|
|
42
|
+
lat: item.latitude,
|
|
43
|
+
lng: item.longitude
|
|
44
|
+
},
|
|
45
|
+
anchor: markerRefs.current[item.id],
|
|
46
|
+
onCloseClick: function onCloseClick() {
|
|
47
|
+
setMapInteracted(true);
|
|
48
|
+
setLocation(null);
|
|
49
|
+
},
|
|
50
|
+
options: {
|
|
51
|
+
maxWidth: 400
|
|
52
|
+
}
|
|
53
|
+
}, /*#__PURE__*/React.createElement(CardInfoWindow, {
|
|
54
|
+
className: infoWindowClasses,
|
|
55
|
+
id: item.id,
|
|
56
|
+
content: /*#__PURE__*/React.createElement(InfoWindowContent, {
|
|
57
|
+
item: item,
|
|
58
|
+
commuteLocation: commuteLocation,
|
|
59
|
+
filterListingsByLocation: function filterListingsByLocation() {
|
|
60
|
+
return handleFilterListingsByLocation(selectedLocation);
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
return /*#__PURE__*/React.createElement(MarkerF, {
|
|
66
|
+
key: item.id,
|
|
67
|
+
position: {
|
|
68
|
+
lat: item.latitude,
|
|
69
|
+
lng: item.longitude
|
|
70
|
+
},
|
|
71
|
+
title: item.name,
|
|
72
|
+
options: {
|
|
73
|
+
icon: isSelected ? markerIconSelected : markerIcon
|
|
74
|
+
},
|
|
75
|
+
zIndex: isSelected ? 9999 : 1,
|
|
76
|
+
onLoad: function onLoad(marker) {
|
|
77
|
+
return markerRef.current = marker;
|
|
78
|
+
},
|
|
79
|
+
onClick: onMarkerClick,
|
|
80
|
+
clusterer: clusterer
|
|
81
|
+
}, isSelected && getInfoWindow());
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export { MapMarker as default };
|
|
85
|
+
//# sourceMappingURL=map-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-marker.js","sources":["../../../../src/components/modules/maps/map-marker.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { MarkerF, InfoWindow } from '@react-google-maps/api';\n\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\nimport InfoWindowContent from \"~/components/modules/maps/info-window-content\";\n\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\n\nconst MapMarker = ({\n\titem,\n\tmarkerRefs,\n\tinfoWindowClasses,\n\tmarkerClickHandler,\n\tclusterer,\n\tmarkerIconSelected,\n\tmarkerIcon,\n\tselectedLocation,\n\tsetMapInteracted\n}) => {\n\tconst { setLocation, commuteLocation } = useMap();\n\tconst isSelected = item.id === selectedLocation?.id;\n\tconst markerRef = useRef(null);\n\n\tconst {\n\t\thandleFilterListingsByLocation\n\t} = useMapList();\n\n\tuseEffect(() => {\n\t\tmarkerRefs.current[item.id] = markerRef.current;\n\t}, []);\n\n\tconst onMarkerClick = () => {\n\t\tsetMapInteracted(true);\n\t\tmarkerClickHandler(item);\n\t};\n\n\tconst getInfoWindow = () => {\n\t\tif (!isSelected || !item || !item.id || !selectedLocation) {\n\t\t\treturn;\n\t\t}\n\t\t//Direct dom removal of empty info windows\n\t\tdocument.querySelectorAll(\"div.gm-style-iw.gm-style-iw-c\").forEach(x => { if (!x.innerHTML.includes(item.id)) x.parentElement.remove(); });\n\t\treturn (\n\t\t\t<InfoWindow\n\t\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\t\tanchor={markerRefs.current[item.id]}\n\t\t\t\tonCloseClick={() => {\n\t\t\t\t\tsetMapInteracted(true);\n\t\t\t\t\tsetLocation(null);\n\t\t\t\t}}\n\t\t\t\toptions={{ maxWidth: 400 }}\n\t\t\t>\n\t\t\t\t<InfoWindowCard\n\t\t\t\t\tclassName={infoWindowClasses}\n\t\t\t\t\tid={item.id}\n\t\t\t\t\tcontent={<InfoWindowContent\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tcommuteLocation={commuteLocation}\n\t\t\t\t\t\tfilterListingsByLocation={() =>\n\t\t\t\t\t\t\thandleFilterListingsByLocation(selectedLocation)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>}\n\t\t\t\t/>\n\t\t\t</InfoWindow>\n\t\t);\n\t};\n\treturn (\n\t\t<MarkerF\n\t\t\tkey={item.id}\n\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\ttitle={item.name}\n\t\t\toptions={{\n\t\t\t\ticon: isSelected ? markerIconSelected : markerIcon\n\t\t\t}}\n\t\t\tzIndex={isSelected ? 9999 : 1}\n\t\t\tonLoad={marker => (markerRef.current = marker)}\n\t\t\tonClick={onMarkerClick}\n\t\t\tclusterer={clusterer}\n\t\t>\n\t\t\t{isSelected && getInfoWindow()}\n\t\t</MarkerF>\n\t);\n};\n\nexport default MapMarker;\n"],"names":["MapMarker","_ref","item","markerRefs","infoWindowClasses","markerClickHandler","clusterer","markerIconSelected","markerIcon","selectedLocation","setMapInteracted","_useMap","useMap","setLocation","commuteLocation","isSelected","id","markerRef","useRef","_useMapList","useMapList","handleFilterListingsByLocation","useEffect","current","onMarkerClick","getInfoWindow","document","querySelectorAll","forEach","x","innerHTML","includes","parentElement","remove","React","createElement","InfoWindow","position","lat","latitude","lng","longitude","anchor","onCloseClick","options","maxWidth","InfoWindowCard","className","content","InfoWindowContent","filterListingsByLocation","MarkerF","key","title","name","icon","zIndex","onLoad","marker","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import React, { useRef, useEffect } from 'react';
|
|
2
|
+
import { GoogleMap, MarkerClustererF } from '@react-google-maps/api';
|
|
3
|
+
import MapMarker from './map-marker.js';
|
|
4
|
+
import PlaceMarker from './place-marker.js';
|
|
5
|
+
import ShowAllButton from '../buttons/show-all-button.js';
|
|
6
|
+
import { usePlaces } from '../../../contexts/placesContext.js';
|
|
7
|
+
import { useMap } from '../../../contexts/mapContext.js';
|
|
8
|
+
import { useMapList } from '../../../contexts/mapListContext.js';
|
|
9
|
+
import { pinIcon, markerIcon, markerIconSelected } from '../../../util/mapIconUtil.js';
|
|
10
|
+
import { clusterOptions } from '../../../util/mapUtil.js';
|
|
11
|
+
|
|
12
|
+
var Map = function Map(_ref) {
|
|
13
|
+
var markerConfigs = _ref.markerConfigs,
|
|
14
|
+
infoWindowClasses = _ref.infoWindowClasses,
|
|
15
|
+
_ref$clusterGridSize = _ref.clusterGridSize,
|
|
16
|
+
clusterGridSize = _ref$clusterGridSize === void 0 ? 60 : _ref$clusterGridSize;
|
|
17
|
+
var _useMap = useMap(),
|
|
18
|
+
location = _useMap.location,
|
|
19
|
+
zoom = _useMap.zoom,
|
|
20
|
+
center = _useMap.center;
|
|
21
|
+
_useMap.commuteLocation;
|
|
22
|
+
var selectLocationEntity = _useMap.selectLocationEntity,
|
|
23
|
+
setLocation = _useMap.setLocation,
|
|
24
|
+
mapInteracted = _useMap.mapInteracted,
|
|
25
|
+
setMapInteracted = _useMap.setMapInteracted;
|
|
26
|
+
var _useMapList = useMapList(),
|
|
27
|
+
mapItems = _useMapList.mapItems;
|
|
28
|
+
_useMapList.handleFilterListingsByLocation;
|
|
29
|
+
var filteredListings = _useMapList.filteredListings,
|
|
30
|
+
setSelectedFilters = _useMapList.setSelectedFilters,
|
|
31
|
+
setQuery = _useMapList.setQuery;
|
|
32
|
+
var mapRef = useRef();
|
|
33
|
+
var markerRefs = useRef({});
|
|
34
|
+
var mapContainerRef = useRef(null);
|
|
35
|
+
var _usePlaces = usePlaces(),
|
|
36
|
+
poiMarkers = _usePlaces.poiMarkers,
|
|
37
|
+
setCurrentCenter = _usePlaces.setCurrentCenter,
|
|
38
|
+
currentCenter = _usePlaces.currentCenter,
|
|
39
|
+
setCurrentZoom = _usePlaces.setCurrentZoom,
|
|
40
|
+
currentZoom = _usePlaces.currentZoom,
|
|
41
|
+
selectedPlaceMarker = _usePlaces.selectedPlaceMarker,
|
|
42
|
+
setSelectedPlaceMarker = _usePlaces.setSelectedPlaceMarker,
|
|
43
|
+
placesWindow = _usePlaces.placesWindow,
|
|
44
|
+
setPlacesWindow = _usePlaces.setPlacesWindow;
|
|
45
|
+
var onIdle = function onIdle() {
|
|
46
|
+
if (!currentCenter || !mapRef.current) return;
|
|
47
|
+
var newCenter = mapRef.current.getCenter().toJSON();
|
|
48
|
+
var newZoom = mapRef.current.zoom;
|
|
49
|
+
setCurrentCenter(newCenter);
|
|
50
|
+
if (newZoom != currentZoom) {
|
|
51
|
+
setCurrentZoom(newZoom);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
if (mapContainerRef.current) {
|
|
56
|
+
var handleScroll = function handleScroll() {
|
|
57
|
+
setMapInteracted(true);
|
|
58
|
+
};
|
|
59
|
+
var mapContainerRefCurrent = mapContainerRef.current;
|
|
60
|
+
mapContainerRef.current.addEventListener('wheel', handleScroll);
|
|
61
|
+
return function () {
|
|
62
|
+
return mapContainerRefCurrent.removeEventListener('wheel', handleScroll);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}, [mapContainerRef.current]);
|
|
66
|
+
useEffect(function () {
|
|
67
|
+
if (mapRef.current) {
|
|
68
|
+
var mapInstance = mapRef.current;
|
|
69
|
+
var dragStartListener = mapInstance.addListener('dragstart', function () {
|
|
70
|
+
return setMapInteracted(true);
|
|
71
|
+
});
|
|
72
|
+
var mouseDownListener = mapInstance.addListener('mousedown', function () {
|
|
73
|
+
return setMapInteracted(true);
|
|
74
|
+
});
|
|
75
|
+
return function () {
|
|
76
|
+
google.maps.event.removeListener(dragStartListener);
|
|
77
|
+
google.maps.event.removeListener(mouseDownListener);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}, [mapRef.current, mapContainerRef.current]);
|
|
81
|
+
useEffect(function () {
|
|
82
|
+
if ((mapItems && mapItems.length > 0 || poiMarkers.length > 0) && mapRef.current) {
|
|
83
|
+
fitBounds(mapRef.current);
|
|
84
|
+
}
|
|
85
|
+
}, [mapItems, mapRef.current, location]);
|
|
86
|
+
useEffect(function () {
|
|
87
|
+
if (mapItems && mapItems.length > 0 || poiMarkers.length > 0 && mapRef.current && mapInteracted) {
|
|
88
|
+
fitBounds(mapRef.current, true);
|
|
89
|
+
}
|
|
90
|
+
if (mapRef.current) {
|
|
91
|
+
var currZoom = mapRef.current.zoom;
|
|
92
|
+
var setZoomVal = currZoom < 13 ? currZoom : 12;
|
|
93
|
+
mapRef.current.setZoom(setZoomVal);
|
|
94
|
+
}
|
|
95
|
+
}, [filteredListings]);
|
|
96
|
+
useEffect(function () {
|
|
97
|
+
if (!mapRef.current || !location || mapInteracted) return;
|
|
98
|
+
mapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));
|
|
99
|
+
if (mapRef.current) {
|
|
100
|
+
var setZoomVal = zoom < 13 ? zoom : 12;
|
|
101
|
+
mapRef.current.setZoom(setZoomVal);
|
|
102
|
+
}
|
|
103
|
+
}, [location, zoom, mapRef.current]);
|
|
104
|
+
var fitBounds = function fitBounds(map) {
|
|
105
|
+
var overload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
106
|
+
if ((mapInteracted === false || overload) && mapItems != null) {
|
|
107
|
+
var bounds = new window.google.maps.LatLngBounds();
|
|
108
|
+
mapItems.forEach(function (item) {
|
|
109
|
+
bounds.extend(new google.maps.LatLng(item.latitude, item.longitude));
|
|
110
|
+
});
|
|
111
|
+
if (!map) return;
|
|
112
|
+
map.fitBounds(bounds);
|
|
113
|
+
}
|
|
114
|
+
if (mapRef.current.zoom > 17) {
|
|
115
|
+
mapRef.current.setZoom(16);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
var markerClickHandler = function markerClickHandler(mapLocation) {
|
|
119
|
+
setMapInteracted(true);
|
|
120
|
+
selectLocationEntity(mapLocation);
|
|
121
|
+
};
|
|
122
|
+
var onLoad = function onLoad(map) {
|
|
123
|
+
if (!location || location === null) {
|
|
124
|
+
mapRef.current = map;
|
|
125
|
+
fitBounds(map, true);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
mapRef.current = map;
|
|
129
|
+
if (mapInteracted === false) {
|
|
130
|
+
mapRef.current.panTo(new google.maps.LatLng(location.latitude, location.longitude));
|
|
131
|
+
mapRef.current.setZoom(zoom);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
var pinIconUrl = pinIcon({
|
|
135
|
+
fillColor: markerConfigs.fillColor,
|
|
136
|
+
strokeColor: markerConfigs.strokeColor
|
|
137
|
+
});
|
|
138
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, zoom && center && /*#__PURE__*/React.createElement("div", {
|
|
139
|
+
ref: mapContainerRef,
|
|
140
|
+
className: "hc-h-full hc-relative"
|
|
141
|
+
}, /*#__PURE__*/React.createElement(GoogleMap, {
|
|
142
|
+
zoom: zoom,
|
|
143
|
+
onLoad: onLoad,
|
|
144
|
+
onIdle: onIdle,
|
|
145
|
+
center: center,
|
|
146
|
+
mapContainerStyle: {
|
|
147
|
+
width: "100%",
|
|
148
|
+
height: "100%"
|
|
149
|
+
},
|
|
150
|
+
options: {
|
|
151
|
+
styles: [{
|
|
152
|
+
featureType: "poi",
|
|
153
|
+
elementType: "labels",
|
|
154
|
+
stylers: [{
|
|
155
|
+
visibility: "off"
|
|
156
|
+
}]
|
|
157
|
+
}]
|
|
158
|
+
}
|
|
159
|
+
}, /*#__PURE__*/React.createElement(MarkerClustererF, {
|
|
160
|
+
options: clusterOptions(clusterGridSize, markerConfigs.fillColor)
|
|
161
|
+
}, function (clusterer) {
|
|
162
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, mapItems.map(function (item) {
|
|
163
|
+
return /*#__PURE__*/React.createElement(MapMarker, {
|
|
164
|
+
key: item.id,
|
|
165
|
+
item: item,
|
|
166
|
+
selectedLocation: location,
|
|
167
|
+
markerRefs: markerRefs,
|
|
168
|
+
infoWindowClasses: infoWindowClasses,
|
|
169
|
+
setSelectedLocation: setLocation,
|
|
170
|
+
markerClickHandler: markerClickHandler,
|
|
171
|
+
clusterer: clusterer,
|
|
172
|
+
markerIcon: markerIcon(markerConfigs),
|
|
173
|
+
markerIconSelected: markerIconSelected(markerConfigs),
|
|
174
|
+
setMapInteracted: setMapInteracted
|
|
175
|
+
});
|
|
176
|
+
}), poiMarkers && poiMarkers.markers.map(function (marker, index) {
|
|
177
|
+
return /*#__PURE__*/React.createElement(PlaceMarker, {
|
|
178
|
+
key: "marker-".concat(marker.title, "-").concat(index),
|
|
179
|
+
marker: marker,
|
|
180
|
+
index: index,
|
|
181
|
+
selectedPlaceMarker: selectedPlaceMarker,
|
|
182
|
+
placesWindow: placesWindow,
|
|
183
|
+
setPlacesWindow: setPlacesWindow,
|
|
184
|
+
setSelectedPlaceMarker: setSelectedPlaceMarker
|
|
185
|
+
});
|
|
186
|
+
}));
|
|
187
|
+
})), mapInteracted && markerConfigs && /*#__PURE__*/React.createElement(ShowAllButton, {
|
|
188
|
+
mapInteracted: mapInteracted,
|
|
189
|
+
markerConfigs: markerConfigs,
|
|
190
|
+
setMapInteracted: setMapInteracted,
|
|
191
|
+
fitBounds: fitBounds,
|
|
192
|
+
mapRef: mapRef,
|
|
193
|
+
pinIconUrl: pinIconUrl,
|
|
194
|
+
setQuery: setQuery,
|
|
195
|
+
listingCount: filteredListings.length,
|
|
196
|
+
setSelectedFilters: setSelectedFilters
|
|
197
|
+
})));
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
export { Map as default };
|
|
201
|
+
//# sourceMappingURL=map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sources":["../../../../src/components/modules/maps/map.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { GoogleMap, MarkerClustererF } from \"@react-google-maps/api\";\n\nimport MapMarker from \"~/components/modules/maps/map-marker\";\nimport PlaceMarker from \"~/components/modules/maps/place-marker\";\nimport ShowAllButton from \"~/components/modules/buttons/show-all-button\";\n\nimport { usePlaces } from \"~/contexts/placesContext\";\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\n\nimport { markerIconSelected, markerIcon, pinIcon } from \"~/util/mapIconUtil\";\nimport { clusterOptions } from \"~/util/mapUtil\";\n\nconst Map = ({\n\tmarkerConfigs,\n\tinfoWindowClasses,\n\tclusterGridSize = 60\n}) => {\n\tconst {\n\t\tlocation,\n\t\tzoom,\n\t\tcenter,\n\t\tcommuteLocation,\n\t\tselectLocationEntity,\n\t\tsetLocation,\n\t\tmapInteracted,\n\t\tsetMapInteracted\n\t} = useMap();\n\n\tconst {\n\t\tmapItems, handleFilterListingsByLocation, filteredListings, setSelectedFilters,\n\t\tsetQuery\n\t} = useMapList();\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 } = 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\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 (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) {\n\t\t\tconst mapInstance = mapRef.current;\n\t\t\tconst dragStartListener = mapInstance.addListener('dragstart', () => setMapInteracted(true));\n\t\t\tconst mouseDownListener = mapInstance.addListener('mousedown', () => setMapInteracted(true));\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) {\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) {\n\t\t\tlet currZoom = mapRef.current.zoom;\n\t\t\tlet 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(\n\t\t\tnew google.maps.LatLng(location.latitude, location.longitude),\n\t\t);\n\t\tif (mapRef.current) {\n\t\t\tlet 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\tconst bounds = new window.google.maps.LatLngBounds();\n\t\t\tmapItems.forEach(item => {\n\t\t\t\tbounds.extend(new google.maps.LatLng(item.latitude, item.longitude));\n\t\t\t});\n\t\t\tif (!map) return;\n\t\t\tmap.fitBounds(bounds);\n\t\t}\n\t\tif (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\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(\n\t\t\t\tnew google.maps.LatLng(location.latitude, location.longitude),\n\t\t\t);\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\treturn (\n\t\t<>{zoom && center && <div ref={mapContainerRef} className=\"hc-h-full hc-relative\">\n\t\t\t<GoogleMap\n\t\t\t\tzoom={zoom}\n\t\t\t\tonLoad={onLoad}\n\t\t\t\tonIdle={onIdle}\n\t\t\t\tcenter={center}\n\t\t\t\tmapContainerStyle={{\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t}}\n\t\t\t\toptions={{\n\t\t\t\t\tstyles: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfeatureType: \"poi\",\n\t\t\t\t\t\t\telementType: \"labels\",\n\t\t\t\t\t\t\tstylers: [{ visibility: \"off\" }]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<MarkerClustererF options={clusterOptions(clusterGridSize, markerConfigs.fillColor)}>\n\t\t\t\t\t{clusterer => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{mapItems.map(item => (\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)}\n\t\t\t\t\t\t\t\t\tmarkerIconSelected={markerIconSelected(markerConfigs)}\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\t{poiMarkers && poiMarkers.markers.map((marker, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<PlaceMarker\n\t\t\t\t\t\t\t\t\t\tkey={`marker-${marker.title}-${index}`}\n\t\t\t\t\t\t\t\t\t\tmarker={marker}\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\tselectedPlaceMarker={selectedPlaceMarker}\n\t\t\t\t\t\t\t\t\t\tplacesWindow={placesWindow}\n\t\t\t\t\t\t\t\t\t\tsetPlacesWindow={setPlacesWindow}\n\t\t\t\t\t\t\t\t\t\tsetSelectedPlaceMarker={setSelectedPlaceMarker}\n\t\t\t\t\t\t\t\t\t/>\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</MarkerClustererF>\n\t\t\t</GoogleMap>\n\t\t\t{mapInteracted && markerConfigs && (\n\t\t\t\t<ShowAllButton\n\t\t\t\t\tmapInteracted={mapInteracted}\n\t\t\t\t\tmarkerConfigs={markerConfigs}\n\t\t\t\t\tsetMapInteracted={setMapInteracted}\n\t\t\t\t\tfitBounds={fitBounds}\n\t\t\t\t\tmapRef={mapRef}\n\t\t\t\t\tpinIconUrl={pinIconUrl}\n\t\t\t\t\tsetQuery={setQuery}\n\t\t\t\t\tlistingCount={filteredListings.length}\n\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t\t}\n\t\t</>\n\t);\n};\n\nexport default Map;\n"],"names":["Map","_ref","markerConfigs","infoWindowClasses","_ref$clusterGridSize","clusterGridSize","_useMap","useMap","location","zoom","center","commuteLocation","selectLocationEntity","setLocation","mapInteracted","setMapInteracted","_useMapList","useMapList","mapItems","handleFilterListingsByLocation","filteredListings","setSelectedFilters","setQuery","mapRef","useRef","markerRefs","mapContainerRef","_usePlaces","usePlaces","poiMarkers","setCurrentCenter","currentCenter","setCurrentZoom","currentZoom","selectedPlaceMarker","setSelectedPlaceMarker","placesWindow","setPlacesWindow","onIdle","current","newCenter","getCenter","toJSON","newZoom","useEffect","handleScroll","mapContainerRefCurrent","addEventListener","removeEventListener","mapInstance","dragStartListener","addListener","mouseDownListener","google","maps","event","removeListener","length","fitBounds","currZoom","setZoomVal","setZoom","panTo","LatLng","latitude","longitude","map","overload","arguments","undefined","bounds","window","LatLngBounds","forEach","item","extend","markerClickHandler","mapLocation","onLoad","pinIconUrl","pinIcon","fillColor","strokeColor","React","createElement","Fragment","ref","className","GoogleMap","mapContainerStyle","width","height","options","styles","featureType","elementType","stylers","visibility","MarkerClustererF","clusterOptions","clusterer","MapMarker","key","id","selectedLocation","setSelectedLocation","markerIcon","markerIconSelected","markers","marker","index","PlaceMarker","concat","title","ShowAllButton","listingCount"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Marker, InfoWindowF } from '@react-google-maps/api';
|
|
3
|
+
|
|
4
|
+
var PlaceMarker = function PlaceMarker(_ref) {
|
|
5
|
+
var marker = _ref.marker,
|
|
6
|
+
index = _ref.index,
|
|
7
|
+
selectedPlaceMarker = _ref.selectedPlaceMarker,
|
|
8
|
+
setSelectedPlaceMarker = _ref.setSelectedPlaceMarker,
|
|
9
|
+
placesWindow = _ref.placesWindow,
|
|
10
|
+
setPlacesWindow = _ref.setPlacesWindow;
|
|
11
|
+
var markerKey = "marker-".concat(marker.title, "-").concat(index);
|
|
12
|
+
var placeMarkerClickHandler = function placeMarkerClickHandler() {
|
|
13
|
+
setSelectedPlaceMarker(markerKey);
|
|
14
|
+
setPlacesWindow(true);
|
|
15
|
+
};
|
|
16
|
+
return /*#__PURE__*/React.createElement(Marker, {
|
|
17
|
+
key: markerKey,
|
|
18
|
+
position: marker.position,
|
|
19
|
+
title: marker.title,
|
|
20
|
+
icon: marker.icon,
|
|
21
|
+
options: {
|
|
22
|
+
optimized: false
|
|
23
|
+
},
|
|
24
|
+
onClick: placeMarkerClickHandler
|
|
25
|
+
}, selectedPlaceMarker === markerKey && placesWindow && marker && /*#__PURE__*/React.createElement(InfoWindowF, {
|
|
26
|
+
position: marker.position,
|
|
27
|
+
onCloseClick: function onCloseClick() {
|
|
28
|
+
return setPlacesWindow(false);
|
|
29
|
+
},
|
|
30
|
+
options: {
|
|
31
|
+
maxWidth: 400
|
|
32
|
+
}
|
|
33
|
+
}, /*#__PURE__*/React.createElement("div", null, marker.title)));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { PlaceMarker as default };
|
|
37
|
+
//# sourceMappingURL=place-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place-marker.js","sources":["../../../../src/components/modules/maps/place-marker.js"],"sourcesContent":["import React from 'react';\nimport { Marker, InfoWindowF } from '@react-google-maps/api';\n\nconst PlaceMarker = ({\n\tmarker,\n\tindex,\n\tselectedPlaceMarker,\n\tsetSelectedPlaceMarker,\n\tplacesWindow,\n\tsetPlacesWindow\n}) => {\n\tconst markerKey = `marker-${marker.title}-${index}`;\n\n\tconst placeMarkerClickHandler = () => {\n\t\tsetSelectedPlaceMarker(markerKey);\n\t\tsetPlacesWindow(true);\n\t};\n\n\treturn (\n\t\t<Marker\n\t\t\tkey={markerKey}\n\t\t\tposition={marker.position}\n\t\t\ttitle={marker.title}\n\t\t\ticon={marker.icon}\n\t\t\toptions={{ optimized: false }}\n\t\t\tonClick={placeMarkerClickHandler}\n\t\t>\n\t\t\t{selectedPlaceMarker === markerKey && placesWindow && marker && (\n\t\t\t\t<InfoWindowF\n\t\t\t\t\tposition={marker.position}\n\t\t\t\t\tonCloseClick={() => setPlacesWindow(false)}\n\t\t\t\t\toptions={{ maxWidth: 400 }}\n\t\t\t\t>\n\t\t\t\t\t<div>{marker.title}</div>\n\t\t\t\t</InfoWindowF>\n\t\t\t)}\n\t\t</Marker>\n\t);\n};\n\nexport default PlaceMarker;\n"],"names":["PlaceMarker","_ref","marker","index","selectedPlaceMarker","setSelectedPlaceMarker","placesWindow","setPlacesWindow","markerKey","concat","title","placeMarkerClickHandler","React","createElement","Marker","key","position","icon","options","optimized","onClick","InfoWindowF","onCloseClick","maxWidth"],"mappings":";;;AAGA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAOX;AAAA,EAAA,IANLC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,sBAAsB,GAAAJ,IAAA,CAAtBI,sBAAsB;IACtBC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,eAAe,GAAAN,IAAA,CAAfM,eAAe,CAAA;EAEf,IAAMC,SAAS,GAAAC,SAAAA,CAAAA,MAAA,CAAaP,MAAM,CAACQ,KAAK,EAAAD,GAAAA,CAAAA,CAAAA,MAAA,CAAIN,KAAK,CAAE,CAAA;AAEnD,EAAA,IAAMQ,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;IACrCN,sBAAsB,CAACG,SAAS,CAAC,CAAA;IACjCD,eAAe,CAAC,IAAI,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,oBACCK,KAAA,CAAAC,aAAA,CAACC,MAAM,EAAA;AACNC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,QAAQ,EAAEd,MAAM,CAACc,QAAS;IAC1BN,KAAK,EAAER,MAAM,CAACQ,KAAM;IACpBO,IAAI,EAAEf,MAAM,CAACe,IAAK;AAClBC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,SAAS,EAAE,KAAA;KAAQ;AAC9BC,IAAAA,OAAO,EAAET,uBAAAA;AAAwB,GAAA,EAEhCP,mBAAmB,KAAKI,SAAS,IAAIF,YAAY,IAAIJ,MAAM,iBAC3DU,KAAA,CAAAC,aAAA,CAACQ,WAAW,EAAA;IACXL,QAAQ,EAAEd,MAAM,CAACc,QAAS;IAC1BM,YAAY,EAAE,SAAAA,YAAA,GAAA;MAAA,OAAMf,eAAe,CAAC,KAAK,CAAC,CAAA;KAAC;AAC3CW,IAAAA,OAAO,EAAE;AAAEK,MAAAA,QAAQ,EAAE,GAAA;AAAI,KAAA;GAEzBX,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAMX,MAAM,CAACQ,KAAW,CACZ,CAEP,CAAC,CAAA;AAEX;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import * as Tabs from '@radix-ui/react-tabs';
|
|
3
|
+
import Button from '../buttons/default.js';
|
|
4
|
+
import { useMapList } from '../../../contexts/mapListContext.js';
|
|
5
|
+
|
|
6
|
+
var MapTabs = function MapTabs(_ref) {
|
|
7
|
+
var map = _ref.map,
|
|
8
|
+
list = _ref.list,
|
|
9
|
+
filter = _ref.filter,
|
|
10
|
+
className = _ref.className,
|
|
11
|
+
showMap = _ref.showMap;
|
|
12
|
+
var tabButtonClasses = "hc-flex hc-items-center hc-gap-2 hc-rounded-none hc-border-x-0 data-[state=active]:hc-bg-primary data-[state=active]:hc-text-white";
|
|
13
|
+
var _useMapList = useMapList(),
|
|
14
|
+
mobileTab = _useMapList.mobileTab,
|
|
15
|
+
setMobileTab = _useMapList.setMobileTab;
|
|
16
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
17
|
+
className: "\n\t\t\t\thc-relative hc-overflow-hidden\n\t\t\t\t".concat(className !== null && className !== void 0 ? className : "", "\n\t\t\t")
|
|
18
|
+
}, /*#__PURE__*/React.createElement(Tabs.Root, {
|
|
19
|
+
className: "hc-flex hc-flex-col hc-h-screen hc-min-h-screen"
|
|
20
|
+
//defaultValue="listTab"
|
|
21
|
+
,
|
|
22
|
+
value: mobileTab
|
|
23
|
+
}, /*#__PURE__*/React.createElement(Tabs.List, {
|
|
24
|
+
className: "hc-w-full hc-shrink-0 hc-flex hc-divide-x hc-divide-primary",
|
|
25
|
+
"aria-label": "Review positions"
|
|
26
|
+
}, /*#__PURE__*/React.createElement(Tabs.Trigger, {
|
|
27
|
+
value: "listTab",
|
|
28
|
+
asChild: true,
|
|
29
|
+
onClick: function onClick() {
|
|
30
|
+
return setMobileTab("listTab");
|
|
31
|
+
}
|
|
32
|
+
}, /*#__PURE__*/React.createElement(Button.Btn, {
|
|
33
|
+
variant: "outline",
|
|
34
|
+
isBlock: true,
|
|
35
|
+
className: tabButtonClasses
|
|
36
|
+
}, /*#__PURE__*/React.createElement(Button.Body, {
|
|
37
|
+
className: "hc-justify-center"
|
|
38
|
+
}, /*#__PURE__*/React.createElement(Button.Icon, {
|
|
39
|
+
icon: "mdi:view-list",
|
|
40
|
+
size: "hc-size-5"
|
|
41
|
+
}), "List"))), showMap && /*#__PURE__*/React.createElement(Tabs.Trigger, {
|
|
42
|
+
value: "mapTab",
|
|
43
|
+
asChild: true,
|
|
44
|
+
onClick: function onClick() {
|
|
45
|
+
return setMobileTab("mapTab");
|
|
46
|
+
}
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Button.Btn, {
|
|
48
|
+
variant: "outline",
|
|
49
|
+
isBlock: true,
|
|
50
|
+
className: tabButtonClasses
|
|
51
|
+
}, /*#__PURE__*/React.createElement(Button.Body, {
|
|
52
|
+
className: "hc-justify-center"
|
|
53
|
+
}, /*#__PURE__*/React.createElement(Button.Icon, {
|
|
54
|
+
icon: "mdi:map",
|
|
55
|
+
size: "hc-size-5"
|
|
56
|
+
}), "Map"))), /*#__PURE__*/React.createElement(Tabs.Trigger, {
|
|
57
|
+
value: "filterTab",
|
|
58
|
+
asChild: true,
|
|
59
|
+
onClick: function onClick() {
|
|
60
|
+
return setMobileTab("filterTab");
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement(Button.Btn, {
|
|
63
|
+
variant: "outline",
|
|
64
|
+
isBlock: true,
|
|
65
|
+
className: tabButtonClasses
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Button.Body, {
|
|
67
|
+
className: "hc-justify-center"
|
|
68
|
+
}, /*#__PURE__*/React.createElement(Button.Icon, {
|
|
69
|
+
icon: "fluent:search-12-filled",
|
|
70
|
+
size: "hc-size-5"
|
|
71
|
+
}), "Filter")))), /*#__PURE__*/React.createElement(Tabs.Content, {
|
|
72
|
+
className: "hc-grow hc-bg-white hc-outline-none",
|
|
73
|
+
value: "listTab"
|
|
74
|
+
}, list), showMap && /*#__PURE__*/React.createElement(Tabs.Content, {
|
|
75
|
+
className: "hc-grow hc-bg-white hc-outline-none",
|
|
76
|
+
value: "mapTab"
|
|
77
|
+
}, map), /*#__PURE__*/React.createElement(Tabs.Content, {
|
|
78
|
+
className: "hc-grow hc-bg-white hc-outline-none hc-p-2",
|
|
79
|
+
value: "filterTab"
|
|
80
|
+
}, filter)));
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export { MapTabs as default };
|
|
84
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../src/components/modules/maps/tabs.js"],"sourcesContent":["import React from 'react'\nimport * as Tabs from '@radix-ui/react-tabs';\n\nimport Button from '~/components/modules/buttons/default';\n\nimport { useMapList } from '~/contexts/mapListContext';\n\nconst MapTabs = ({\n\tmap,\n\tlist,\n\tfilter,\n\tclassName,\n\tshowMap\n}) => {\n\tconst tabButtonClasses =\n\t\t\"hc-flex hc-items-center hc-gap-2 hc-rounded-none hc-border-x-0 data-[state=active]:hc-bg-primary data-[state=active]:hc-text-white\";\n\tconst { mobileTab, setMobileTab } = useMapList();\n\treturn (\n\t\t<div\n\t\t\tclassName={`\n\t\t\t\thc-relative hc-overflow-hidden\n\t\t\t\t${className ?? \"\"}\n\t\t\t`}\n\t\t>\n\t\t\t<Tabs.Root\n\t\t\t\tclassName=\"hc-flex hc-flex-col hc-h-screen hc-min-h-screen\"\n\t\t\t\t//defaultValue=\"listTab\"\n\t\t\t\tvalue={mobileTab}\n\t\t\t>\n\t\t\t\t<Tabs.List\n\t\t\t\t\tclassName=\"hc-w-full hc-shrink-0 hc-flex hc-divide-x hc-divide-primary\"\n\t\t\t\t\taria-label=\"Review positions\"\n\t\t\t\t>\n\t\t\t\t\t<Tabs.Trigger value=\"listTab\" asChild onClick={() => setMobileTab(\"listTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:view-list\" size=\"hc-size-5\" />\n\t\t\t\t\t\t\t\tList\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t{showMap && (\n\t\t\t\t\t\t<Tabs.Trigger value=\"mapTab\" asChild onClick={() => setMobileTab(\"mapTab\")}>\n\t\t\t\t\t\t\t<Button.Btn\n\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tclassName={tabButtonClasses}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:map\" size=\"hc-size-5\" />\n\t\t\t\t\t\t\t\t\tMap\n\t\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t<Tabs.Trigger value=\"filterTab\" asChild onClick={() => setMobileTab(\"filterTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"fluent:search-12-filled\" size=\"hc-size-5\" />\n\t\t\t\t\t\t\t\tFilter\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t</Tabs.List>\n\t\t\t\t<Tabs.Content className=\"hc-grow hc-bg-white hc-outline-none\" value=\"listTab\">\n\t\t\t\t\t{list}\n\t\t\t\t</Tabs.Content>\n\t\t\t\t{showMap && (\n\t\t\t\t\t<Tabs.Content className=\"hc-grow hc-bg-white hc-outline-none\" value=\"mapTab\">\n\t\t\t\t\t\t{map}\n\t\t\t\t\t</Tabs.Content>\n\t\t\t\t)}\n\t\t\t\t<Tabs.Content className=\"hc-grow hc-bg-white hc-outline-none hc-p-2\" value=\"filterTab\">\n\t\t\t\t\t{filter}\n\t\t\t\t</Tabs.Content>\n\t\t\t</Tabs.Root>\n\t\t</div>\n\t);\n};\n\nexport default MapTabs;\n"],"names":["MapTabs","_ref","map","list","filter","className","showMap","tabButtonClasses","_useMapList","useMapList","mobileTab","setMobileTab","React","createElement","concat","Tabs","Root","value","List","Trigger","asChild","onClick","Button","Btn","variant","isBlock","Body","Icon","icon","size","Content"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeTypes.js","sources":["../../src/constants/placeTypes.js"],"sourcesContent":["export const placeTypes = {\n\tFOOD: \"food\",\n\tSTORE: \"shopping\",\n\tTOURIST_ATTRACTION: \"attractions\",\n\tTRANSIT_STATION: \"transit\",\n\tSCHOOL: \"schools\",\n\tPLACE_OF_WORSHIP: \"worship\"\n};\n"],"names":["placeTypes","FOOD","STORE","TOURIST_ATTRACTION","TRANSIT_STATION","SCHOOL","PLACE_OF_WORSHIP"],"mappings":"AAAO,IAAMA,UAAU,GAAG;AACzBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,UAAU;AACjBC,EAAAA,kBAAkB,EAAE,aAAa;AACjCC,EAAAA,eAAe,EAAE,SAAS;AAC1BC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,gBAAgB,EAAE,SAAA;AACnB;;;;"}
|