@abcagency/hc-ui-components 1.3.28 → 1.3.30

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 (34) hide show
  1. package/dist/components/containers/accordions/filter-item-container.js +4 -1
  2. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  3. package/dist/components/containers/maps/info-window-content-container.js +9 -4
  4. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  5. package/dist/components/containers/maps/map-marker-container.js +3 -5
  6. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  7. package/dist/components/modules/list/field-mapper.js +2 -2
  8. package/dist/components/modules/list/field-mapper.js.map +1 -1
  9. package/dist/components/modules/list/header-item.js +2 -1
  10. package/dist/components/modules/list/header-item.js.map +1 -1
  11. package/dist/components/modules/list/header.js +6 -2
  12. package/dist/components/modules/list/header.js.map +1 -1
  13. package/dist/components/modules/list/item-list.js +46 -19
  14. package/dist/components/modules/list/item-list.js.map +1 -1
  15. package/dist/components/modules/list/list-item/list-item.js +4 -4
  16. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  17. package/dist/components/modules/maps/info-window-content.js +3 -2
  18. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  19. package/dist/contexts/mapListContext.js +6 -0
  20. package/dist/contexts/mapListContext.js.map +1 -1
  21. package/dist/styles/index.css +1 -1
  22. package/dist/types/components/modules/list/header.d.ts +2 -1
  23. package/dist/types/contexts/mapListContext.d.ts +1 -0
  24. package/package.json +1 -1
  25. package/src/components/containers/accordions/filter-item-container.js +69 -66
  26. package/src/components/containers/maps/info-window-content-container.js +5 -3
  27. package/src/components/containers/maps/map-marker-container.js +2 -2
  28. package/src/components/modules/list/field-mapper.js +4 -3
  29. package/src/components/modules/list/header-item.js +92 -91
  30. package/src/components/modules/list/header.js +51 -49
  31. package/src/components/modules/list/item-list.tsx +93 -59
  32. package/src/components/modules/list/list-item/list-item.js +130 -130
  33. package/src/components/modules/maps/info-window-content.js +36 -35
  34. package/src/contexts/mapListContext.tsx +319 -311
@@ -20,7 +20,10 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
20
20
  if (subcategoryRequireCategory && fieldKey == 'categoryClass') {
21
21
  delete updatedFilters['category'];
22
22
  }
23
- delete updatedFilters[fieldKey];
23
+ if (fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState') {
24
+ delete updatedFilters.entityId;
25
+ delete updatedFilters[fieldKey];
26
+ }
24
27
  return updatedFilters;
25
28
  });
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/accordions/filter-item-container.js"],"sourcesContent":["import React, { memo } from 'react';\r\nimport AccordionFilterItem from '~/components/modules/accordions/filterItem';\r\nimport FilterItem from '~/components/containers/filter/filter-item-container';\r\nimport ItemsPill from '~/components/modules/buttons/items-pill';\r\n\r\nconst FilterItemContainer = ({\r\n\tfilter,\r\n\tsetDefaultValue,\r\n\tsetSelectedFilters,\r\n\tselectedFilters,\r\n\tsubcategoryRequireCategory = false\r\n}) => {\r\n\tconst fieldKey = filter.id;\r\n\tconst activeItemsCount = selectedFilters != null && selectedFilters[fieldKey]\r\n\t\t? Object.keys(selectedFilters[fieldKey]).length\r\n\t\t: 0;\r\n\r\n\tconst handleClearFilters = event => {\r\n\t\tevent.stopPropagation();\r\n\t\tsetSelectedFilters(prevFilters => {\r\n\t\t\tconst updatedFilters = { ...prevFilters };\r\n\t\t\tif(subcategoryRequireCategory && fieldKey == 'categoryClass'){\r\n\t\t\t\tdelete updatedFilters['category'];\r\n\t\t\t}\r\n\t\t\tdelete updatedFilters[fieldKey];\r\n\t\t\treturn updatedFilters;\r\n\t\t});\r\n\t};\r\n\r\n\tconst header = (\r\n\t\t<>\r\n\t\t\t{filter.title}\r\n\t\t\t{activeItemsCount > 0 && (\r\n\t\t\t\t<ItemsPill\r\n\t\t\t\t\tactiveItemsCount={activeItemsCount}\r\n\t\t\t\t\tonClick={handleClearFilters}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n\r\n\tconst body = (\r\n\t\t<>\r\n\t\t\t{filter.items.sort().map(item => (\r\n\t\t\t\t<FilterItem\r\n\t\t\t\t\tkey={item.name}\r\n\t\t\t\t\titem={item}\r\n\t\t\t\t\tfield={filter.id}\r\n\t\t\t\t\tselectedFilters={selectedFilters}\r\n\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t</>\r\n\t);\r\n\r\n\treturn (\r\n\t\t<AccordionFilterItem\r\n\t\t\tid={filter.id}\r\n\t\t\tsetDefaultValue={setDefaultValue}\r\n\t\t\theader={header}\r\n\t\t\tbody={body}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default memo(FilterItemContainer);\r\n"],"names":["FilterItemContainer","_ref","filter","setDefaultValue","setSelectedFilters","selectedFilters","_ref$subcategoryRequi","subcategoryRequireCategory","fieldKey","id","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","header","React","createElement","Fragment","title","ItemsPill","onClick","body","items","sort","map","item","FilterItem","key","name","field","AccordionFilterItem","memo"],"mappings":";;;;;;AAKA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAMnB;AAAA,EAAA,IALLC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IACfC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAClBC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IAAAC,qBAAA,GAAAL,IAAA,CACfM,0BAA0B;AAA1BA,IAAAA,0BAA0B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;AAElC,EAAA,IAAME,QAAQ,GAAGN,MAAM,CAACO,EAAE,CAAA;EAC1B,IAAMC,gBAAgB,GAAGL,eAAe,IAAI,IAAI,IAAIA,eAAe,CAACG,QAAQ,CAAC,GAC1EG,MAAM,CAACC,IAAI,CAACP,eAAe,CAACG,QAAQ,CAAC,CAAC,CAACK,MAAM,GAC7C,CAAC,CAAA;AAEJ,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;IACnCA,KAAK,CAACC,eAAe,EAAE,CAAA;IACvBZ,kBAAkB,CAAC,UAAAa,WAAW,EAAI;AACjC,MAAA,IAAMC,cAAc,GAAAC,cAAA,CAAA,EAAA,EAAQF,WAAW,CAAE,CAAA;AACzC,MAAA,IAAGV,0BAA0B,IAAIC,QAAQ,IAAI,eAAe,EAAC;QAC5D,OAAOU,cAAc,CAAC,UAAU,CAAC,CAAA;AAClC,OAAA;MACA,OAAOA,cAAc,CAACV,QAAQ,CAAC,CAAA;AAC/B,MAAA,OAAOU,cAAc,CAAA;AACtB,KAAC,CAAC,CAAA;GACF,CAAA;EAED,IAAME,MAAM,gBACXC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EACErB,IAAAA,EAAAA,MAAM,CAACsB,KAAK,EACZd,gBAAgB,GAAG,CAAC,iBACpBW,cAAA,CAAAC,aAAA,CAACG,eAAS,EAAA;AACTf,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCgB,IAAAA,OAAO,EAAEZ,kBAAAA;AAAmB,GAC5B,CAED,CACF,CAAA;EAED,IAAMa,IAAI,gBACTN,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAA,IAAA,EACErB,MAAM,CAAC0B,KAAK,CAACC,IAAI,EAAE,CAACC,GAAG,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,oBAC5BV,cAAA,CAAAC,aAAA,CAACU,qBAAU,EAAA;MACVC,GAAG,EAAEF,IAAI,CAACG,IAAK;AACfH,MAAAA,IAAI,EAAEA,IAAK;MACXI,KAAK,EAAEjC,MAAM,CAACO,EAAG;AACjBJ,MAAAA,eAAe,EAAEA,eAAgB;AACjCD,MAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,KACvC,CAAC,CAAA;AAAA,GACF,CACA,CACF,CAAA;AAED,EAAA,oBACCiB,cAAA,CAAAC,aAAA,CAACc,qBAAmB,EAAA;IACnB3B,EAAE,EAAEP,MAAM,CAACO,EAAG;AACdN,IAAAA,eAAe,EAAEA,eAAgB;AACjCiB,IAAAA,MAAM,EAAEA,MAAO;AACfO,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GACX,CAAC,CAAA;AAEJ,CAAC,CAAA;AAED,0BAAeU,aAAAA,IAAI,CAACrC,mBAAmB,CAAC;;;;"}
1
+ {"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/accordions/filter-item-container.js"],"sourcesContent":["import React, { memo } from 'react';\nimport AccordionFilterItem from '~/components/modules/accordions/filterItem';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\nimport ItemsPill from '~/components/modules/buttons/items-pill';\n\nconst FilterItemContainer = ({\n\tfilter,\n\tsetDefaultValue,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tsubcategoryRequireCategory = false\n}) => {\n\tconst fieldKey = filter.id;\n\tconst activeItemsCount = selectedFilters != null && selectedFilters[fieldKey]\n\t\t? Object.keys(selectedFilters[fieldKey]).length\n\t\t: 0;\n\n\tconst handleClearFilters = event => {\n\t\tevent.stopPropagation();\n\t\tsetSelectedFilters(prevFilters => {\n\t\t\tconst updatedFilters = { ...prevFilters };\n\t\t\tif(subcategoryRequireCategory && fieldKey == 'categoryClass'){\n\t\t\t\tdelete updatedFilters['category'];\n\t\t\t}\n\t\t\tif(fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState'){\n\t\t\t\tdelete updatedFilters.entityId;\n\t\t\t\tdelete updatedFilters[fieldKey];\n\t\t\t}\n\t\t\treturn updatedFilters;\n\t\t});\n\t};\n\n\tconst header = (\n\t\t<>\n\t\t\t{filter.title}\n\t\t\t{activeItemsCount > 0 && (\n\t\t\t\t<ItemsPill\n\t\t\t\t\tactiveItemsCount={activeItemsCount}\n\t\t\t\t\tonClick={handleClearFilters}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n\n\tconst body = (\n\t\t<>\n\t\t\t{filter.items.sort().map(item => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={item.name}\n\t\t\t\t\titem={item}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<AccordionFilterItem\n\t\t\tid={filter.id}\n\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\theader={header}\n\t\t\tbody={body}\n\t\t/>\n\t);\n};\n\nexport default memo(FilterItemContainer);\n"],"names":["FilterItemContainer","_ref","filter","setDefaultValue","setSelectedFilters","selectedFilters","_ref$subcategoryRequi","subcategoryRequireCategory","fieldKey","id","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","entityId","header","React","createElement","Fragment","title","ItemsPill","onClick","body","items","sort","map","item","FilterItem","key","name","field","AccordionFilterItem","memo"],"mappings":";;;;;;AAKA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAMnB;AAAA,EAAA,IALLC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IACfC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAClBC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IAAAC,qBAAA,GAAAL,IAAA,CACfM,0BAA0B;AAA1BA,IAAAA,0BAA0B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;AAElC,EAAA,IAAME,QAAQ,GAAGN,MAAM,CAACO,EAAE,CAAA;EAC1B,IAAMC,gBAAgB,GAAGL,eAAe,IAAI,IAAI,IAAIA,eAAe,CAACG,QAAQ,CAAC,GAC1EG,MAAM,CAACC,IAAI,CAACP,eAAe,CAACG,QAAQ,CAAC,CAAC,CAACK,MAAM,GAC7C,CAAC,CAAA;AAEJ,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;IACnCA,KAAK,CAACC,eAAe,EAAE,CAAA;IACvBZ,kBAAkB,CAAC,UAAAa,WAAW,EAAI;AACjC,MAAA,IAAMC,cAAc,GAAAC,cAAA,CAAA,EAAA,EAAQF,WAAW,CAAE,CAAA;AACzC,MAAA,IAAGV,0BAA0B,IAAIC,QAAQ,IAAI,eAAe,EAAC;QAC5D,OAAOU,cAAc,CAAC,UAAU,CAAC,CAAA;AAClC,OAAA;MACA,IAAGV,QAAQ,IAAI,OAAO,IAAIA,QAAQ,IAAI,MAAM,IAAIA,QAAQ,IAAI,WAAW,EAAC;QACvE,OAAOU,cAAc,CAACE,QAAQ,CAAA;QAC9B,OAAOF,cAAc,CAACV,QAAQ,CAAC,CAAA;AAChC,OAAA;AACA,MAAA,OAAOU,cAAc,CAAA;AACtB,KAAC,CAAC,CAAA;GACF,CAAA;EAED,IAAMG,MAAM,gBACXC,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EACEtB,IAAAA,EAAAA,MAAM,CAACuB,KAAK,EACZf,gBAAgB,GAAG,CAAC,iBACpBY,cAAA,CAAAC,aAAA,CAACG,eAAS,EAAA;AACThB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCiB,IAAAA,OAAO,EAAEb,kBAAAA;AAAmB,GAC5B,CAED,CACF,CAAA;EAED,IAAMc,IAAI,gBACTN,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAA,IAAA,EACEtB,MAAM,CAAC2B,KAAK,CAACC,IAAI,EAAE,CAACC,GAAG,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,oBAC5BV,cAAA,CAAAC,aAAA,CAACU,qBAAU,EAAA;MACVC,GAAG,EAAEF,IAAI,CAACG,IAAK;AACfH,MAAAA,IAAI,EAAEA,IAAK;MACXI,KAAK,EAAElC,MAAM,CAACO,EAAG;AACjBJ,MAAAA,eAAe,EAAEA,eAAgB;AACjCD,MAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,KACvC,CAAC,CAAA;AAAA,GACF,CACA,CACF,CAAA;AAED,EAAA,oBACCkB,cAAA,CAAAC,aAAA,CAACc,qBAAmB,EAAA;IACnB5B,EAAE,EAAEP,MAAM,CAACO,EAAG;AACdN,IAAAA,eAAe,EAAEA,eAAgB;AACjCkB,IAAAA,MAAM,EAAEA,MAAO;AACfO,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GACX,CAAC,CAAA;AAEJ,CAAC,CAAA;AAED,0BAAeU,aAAAA,IAAI,CAACtC,mBAAmB,CAAC;;;;"}
@@ -6,8 +6,8 @@ import { useTrackEvent } from '../../../contexts/trackEventContext.js';
6
6
 
7
7
  var InfoWindowContentContainer = function InfoWindowContentContainer(_ref) {
8
8
  var _items$0$mapDetails, _items$0$mapDetails2, _items$0$mapDetails3, _items$0$mapDetails4;
9
- var item = _ref.item,
10
- filterListingsByLocation = _ref.filterListingsByLocation;
9
+ var item = _ref.item;
10
+ _ref.filterListingsByLocation;
11
11
  var _useTrackEvent = useTrackEvent(),
12
12
  trackEvent = _useTrackEvent.trackEvent,
13
13
  eventTypes = _useTrackEvent.eventTypes;
@@ -16,7 +16,8 @@ var InfoWindowContentContainer = function InfoWindowContentContainer(_ref) {
16
16
  setMobileTab = _useMapList.setMobileTab,
17
17
  selectedFilters = _useMapList.selectedFilters,
18
18
  siteConfig = _useMapList.siteConfig;
19
- var fieldsShown = siteConfig.fieldsShown;
19
+ _useMapList.filteredListings;
20
+ var fieldsShown = siteConfig.locationFiltersShown;
20
21
  var items = item && item.items ? Object.values(item.items) : null;
21
22
  var addressParts = [(_items$0$mapDetails = items[0].mapDetails) === null || _items$0$mapDetails === void 0 || (_items$0$mapDetails = _items$0$mapDetails.address) === null || _items$0$mapDetails === void 0 ? void 0 : _items$0$mapDetails.street, (_items$0$mapDetails2 = items[0].mapDetails) === null || _items$0$mapDetails2 === void 0 || (_items$0$mapDetails2 = _items$0$mapDetails2.address) === null || _items$0$mapDetails2 === void 0 ? void 0 : _items$0$mapDetails2.city, (_items$0$mapDetails3 = items[0].mapDetails) === null || _items$0$mapDetails3 === void 0 || (_items$0$mapDetails3 = _items$0$mapDetails3.address) === null || _items$0$mapDetails3 === void 0 ? void 0 : _items$0$mapDetails3.state, (_items$0$mapDetails4 = items[0].mapDetails) === null || _items$0$mapDetails4 === void 0 || (_items$0$mapDetails4 = _items$0$mapDetails4.address) === null || _items$0$mapDetails4 === void 0 ? void 0 : _items$0$mapDetails4.zip];
22
23
  var fullAddress = addressParts.filter(Boolean).join(', ');
@@ -45,11 +46,15 @@ var InfoWindowContentContainer = function InfoWindowContentContainer(_ref) {
45
46
  filterChecked: items[0].fields.state
46
47
  });
47
48
  }
49
+ newFilters.entityId = _defineProperty({}, items[0].fields.entityId, true);
50
+ filters.push({
51
+ filterType: 'entityId',
52
+ filterChecked: items[0].fields.entityId
53
+ });
48
54
  trackEvent(eventTypes.VIEW_JOBS_AT_Location, {
49
55
  filtersApplied: filters
50
56
  });
51
57
  setSelectedFilters(newFilters);
52
- filterListingsByLocation();
53
58
  };
54
59
  return /*#__PURE__*/React__default.createElement(InfoWindowContent, {
55
60
  items: items,
@@ -1 +1 @@
1
- {"version":3,"file":"info-window-content-container.js","sources":["../../../../src/components/containers/maps/info-window-content-container.js"],"sourcesContent":["import React from 'react';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst InfoWindowContentContainer = ({\n\titem,\n\tfilterListingsByLocation\n}) => {\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { setSelectedFilters, setMobileTab, selectedFilters, siteConfig } = useMapList();\n\tconst fieldsShown = siteConfig.fieldsShown;\n\tlet items = item && item.items ? Object.values(item.items) : null;\n\n\tconst addressParts = [\n\t\titems[0].mapDetails?.address?.street,\n\t\titems[0].mapDetails?.address?.city,\n\t\titems[0].mapDetails?.address?.state,\n\t\titems[0].mapDetails?.address?.zip\n\t];\n\tconst fullAddress = addressParts.filter(Boolean).join(', ');\n\n\tconst applyFilters = () => {\n\t\tsetMobileTab(\"listTab\");\n\t\tconst newFilters = { ...selectedFilters };\n\t\tlet filters = [];\n\n\t\tif (fieldsShown.includes('cityState')) {\n\t\t\tnewFilters.cityState = { [items[0].fields.cityState]: true };\n\t\t\tfilters.push({ filterType: 'cityState', filterChecked: items[0].fields.cityState });\n\t\t}\n\n\t\tif (fieldsShown.includes('city')) {\n\t\t\tnewFilters.city = { [items[0].fields.city]: true };\n\t\t\tfilters.push({ filterType: 'city', filterChecked: items[0].fields.city });\n\t\t}\n\n\t\tif (fieldsShown.includes('state')) {\n\t\t\tnewFilters.state = { [items[0].fields.state]: true };\n\t\t\tfilters.push({ filterType: 'state', filterChecked: items[0].fields.state });\n\t\t}\n\n\t\ttrackEvent(eventTypes.VIEW_JOBS_AT_Location, { filtersApplied: filters });\n\t\tsetSelectedFilters(newFilters);\n\t\tfilterListingsByLocation();\n\t};\n\n\treturn <InfoWindowContent items={items} fullAddress={fullAddress} applyFilters={applyFilters} />;\n};\n\nexport default InfoWindowContentContainer;\n"],"names":["InfoWindowContentContainer","_ref","_items$0$mapDetails","_items$0$mapDetails2","_items$0$mapDetails3","_items$0$mapDetails4","item","filterListingsByLocation","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","setSelectedFilters","setMobileTab","selectedFilters","siteConfig","fieldsShown","items","Object","values","addressParts","mapDetails","address","street","city","state","zip","fullAddress","filter","Boolean","join","applyFilters","newFilters","_objectSpread","filters","includes","cityState","_defineProperty","fields","push","filterType","filterChecked","VIEW_JOBS_AT_Location","filtersApplied","React","createElement","InfoWindowContent"],"mappings":"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"}
1
+ {"version":3,"file":"info-window-content-container.js","sources":["../../../../src/components/containers/maps/info-window-content-container.js"],"sourcesContent":["import React from 'react';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst InfoWindowContentContainer = ({\n\titem,\n\tfilterListingsByLocation\n}) => {\n\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { setSelectedFilters, setMobileTab, selectedFilters, siteConfig, filteredListings } = useMapList();\n\tconst fieldsShown = siteConfig.locationFiltersShown;\n\tlet items = item && item.items ? Object.values(item.items) : null;\n\n\tconst addressParts = [\n\t\titems[0].mapDetails?.address?.street,\n\t\titems[0].mapDetails?.address?.city,\n\t\titems[0].mapDetails?.address?.state,\n\t\titems[0].mapDetails?.address?.zip\n\t];\n\tconst fullAddress = addressParts.filter(Boolean).join(', ');\n\n\tconst applyFilters = () => {\n\t\tsetMobileTab(\"listTab\");\n\t\tconst newFilters = { ...selectedFilters };\n\t\tlet filters = [];\n\n\t\tif (fieldsShown.includes('cityState')) {\n\t\t\tnewFilters.cityState = { [items[0].fields.cityState]: true };\n\t\t\tfilters.push({ filterType: 'cityState', filterChecked: items[0].fields.cityState });\n\t\t}\n\n\t\tif (fieldsShown.includes('city')) {\n\t\t\tnewFilters.city = { [items[0].fields.city]: true };\n\t\t\tfilters.push({ filterType: 'city', filterChecked: items[0].fields.city });\n\t\t}\n\n\t\tif (fieldsShown.includes('state')) {\n\t\t\tnewFilters.state = { [items[0].fields.state]: true };\n\t\t\tfilters.push({ filterType: 'state', filterChecked: items[0].fields.state });\n\t\t}\n\n\t\tnewFilters.entityId = { [items[0].fields.entityId]: true };\n\t\tfilters.push({ filterType: 'entityId', filterChecked: items[0].fields.entityId });\n\n\t\ttrackEvent(eventTypes.VIEW_JOBS_AT_Location, { filtersApplied: filters });\n\t\tsetSelectedFilters(newFilters);\n\t};\n\n\treturn <InfoWindowContent items={items} fullAddress={fullAddress} applyFilters={applyFilters} />;\n};\n\nexport default InfoWindowContentContainer;\n"],"names":["InfoWindowContentContainer","_ref","_items$0$mapDetails","_items$0$mapDetails2","_items$0$mapDetails3","_items$0$mapDetails4","item","filterListingsByLocation","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","setSelectedFilters","setMobileTab","selectedFilters","siteConfig","filteredListings","fieldsShown","locationFiltersShown","items","Object","values","addressParts","mapDetails","address","street","city","state","zip","fullAddress","filter","Boolean","join","applyFilters","newFilters","_objectSpread","filters","includes","cityState","_defineProperty","fields","push","filterType","filterChecked","entityId","VIEW_JOBS_AT_Location","filtersApplied","React","createElement","InfoWindowContent"],"mappings":"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"}
@@ -26,7 +26,7 @@ var MapMarkerContainer = function MapMarkerContainer(_ref) {
26
26
  trackEvent = _useTrackEvent.trackEvent,
27
27
  eventTypes = _useTrackEvent.eventTypes;
28
28
  var _useMapList = useMapList(),
29
- handleFilterListingsByLocation = _useMapList.handleFilterListingsByLocation;
29
+ resetEntityFilter = _useMapList.resetEntityFilter;
30
30
  useEffect(function () {
31
31
  markerRefs.current[item.id] = markerRef.current;
32
32
  }, []);
@@ -62,6 +62,7 @@ var MapMarkerContainer = function MapMarkerContainer(_ref) {
62
62
  onCloseClick: function onCloseClick() {
63
63
  setMapInteracted(true);
64
64
  setLocation(null);
65
+ resetEntityFilter();
65
66
  },
66
67
  options: {
67
68
  maxWidth: 400
@@ -71,10 +72,7 @@ var MapMarkerContainer = function MapMarkerContainer(_ref) {
71
72
  id: item.id,
72
73
  content: /*#__PURE__*/React__default.createElement(InfoWindowContentContainer, {
73
74
  item: item,
74
- commuteLocation: commuteLocation,
75
- filterListingsByLocation: function filterListingsByLocation() {
76
- return handleFilterListingsByLocation(selectedLocation);
77
- }
75
+ commuteLocation: commuteLocation
78
76
  })
79
77
  })));
80
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"map-marker-container.js","sources":["../../../../src/components/containers/maps/map-marker-container.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport MapMarker from '~/components/modules/maps/map-marker';\nimport { InfoWindow } from '@react-google-maps/api';\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\nimport InfoWindowContent from \"~/components/containers/maps/info-window-content-container\";\n\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst MapMarkerContainer = ({\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\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { handleFilterListingsByLocation } = useMapList();\n\n\tuseEffect(() => {\n\t\tmarkerRefs.current[item.id] = markerRef.current;\n\t}, []);\n\n\tconst onMarkerClick = () => {\n\t\ttrackEvent(eventTypes.MAP_MARKER_CLICKED, {\n\t\t\tentityDisplayName: item.entityDisplayName,\n\t\t\tlat: item.latitude,\n\t\t\tlng: item.longitude,\n\t\t\ttravelTime: item.travelTime\n\t\t});\n\t\tsetMapInteracted(true);\n\t\tmarkerClickHandler(item);\n\t};\n\n\treturn (\n\t\t<MapMarker\n\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\ttitle={item.name}\n\t\t\ticon={isSelected ? markerIconSelected : markerIcon}\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 && (\n\t\t\t\t<InfoWindow\n\t\t\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\t\t\tanchor={markerRefs.current[item.id]}\n\t\t\t\t\tonCloseClick={() => {\n\t\t\t\t\t\tsetMapInteracted(true);\n\t\t\t\t\t\tsetLocation(null);\n\t\t\t\t\t}}\n\t\t\t\t\toptions={{ maxWidth: 400 }}\n\t\t\t\t>\n\t\t\t\t\t<InfoWindowCard\n\t\t\t\t\t\tclassName={infoWindowClasses}\n\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\tcontent={<InfoWindowContent\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\tcommuteLocation={commuteLocation}\n\t\t\t\t\t\t\tfilterListingsByLocation={() => handleFilterListingsByLocation(selectedLocation)}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t/>\n\t\t\t\t</InfoWindow>\n\t\t\t)}\n\t\t</MapMarker>\n\t);\n};\n\nexport default MapMarkerContainer;\n"],"names":["MapMarkerContainer","_ref","item","markerRefs","infoWindowClasses","markerClickHandler","clusterer","markerIconSelected","markerIcon","selectedLocation","setMapInteracted","_useMap","useMap","setLocation","commuteLocation","isSelected","id","markerRef","useRef","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","handleFilterListingsByLocation","useEffect","current","onMarkerClick","MAP_MARKER_CLICKED","entityDisplayName","lat","latitude","lng","longitude","travelTime","React","createElement","MapMarker","position","title","name","icon","zIndex","onLoad","marker","onClick","InfoWindow","anchor","onCloseClick","options","maxWidth","InfoWindowCard","className","content","InfoWindowContent","filterListingsByLocation"],"mappings":"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"}
1
+ {"version":3,"file":"map-marker-container.js","sources":["../../../../src/components/containers/maps/map-marker-container.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport MapMarker from '~/components/modules/maps/map-marker';\nimport { InfoWindow } from '@react-google-maps/api';\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\nimport InfoWindowContent from \"~/components/containers/maps/info-window-content-container\";\n\nimport { useMap } from \"~/contexts/mapContext\";\nimport { useMapList } from \"~/contexts/mapListContext\";\nimport { useTrackEvent } from '~/contexts/trackEventContext';\n\nconst MapMarkerContainer = ({\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\tconst { trackEvent, eventTypes } = useTrackEvent();\n\tconst { resetEntityFilter } = useMapList();\n\n\tuseEffect(() => {\n\t\tmarkerRefs.current[item.id] = markerRef.current;\n\t}, []);\n\n\tconst onMarkerClick = () => {\n\t\ttrackEvent(eventTypes.MAP_MARKER_CLICKED, {\n\t\t\tentityDisplayName: item.entityDisplayName,\n\t\t\tlat: item.latitude,\n\t\t\tlng: item.longitude,\n\t\t\ttravelTime: item.travelTime\n\t\t});\n\t\tsetMapInteracted(true);\n\t\tmarkerClickHandler(item);\n\t};\n\n\treturn (\n\t\t<MapMarker\n\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\ttitle={item.name}\n\t\t\ticon={isSelected ? markerIconSelected : markerIcon}\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 && (\n\t\t\t\t<InfoWindow\n\t\t\t\t\tposition={{ lat: item.latitude, lng: item.longitude }}\n\t\t\t\t\tanchor={markerRefs.current[item.id]}\n\t\t\t\t\tonCloseClick={() => {\n\t\t\t\t\t\tsetMapInteracted(true);\n\t\t\t\t\t\tsetLocation(null);\n\t\t\t\t\t\tresetEntityFilter();\n\t\t\t\t\t}}\n\t\t\t\t\toptions={{ maxWidth: 400 }}\n\t\t\t\t>\n\t\t\t\t\t<InfoWindowCard\n\t\t\t\t\t\tclassName={infoWindowClasses}\n\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\tcontent={<InfoWindowContent\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\tcommuteLocation={commuteLocation}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t/>\n\t\t\t\t</InfoWindow>\n\t\t\t)}\n\t\t</MapMarker>\n\t);\n};\n\nexport default MapMarkerContainer;\n"],"names":["MapMarkerContainer","_ref","item","markerRefs","infoWindowClasses","markerClickHandler","clusterer","markerIconSelected","markerIcon","selectedLocation","setMapInteracted","_useMap","useMap","setLocation","commuteLocation","isSelected","id","markerRef","useRef","_useTrackEvent","useTrackEvent","trackEvent","eventTypes","_useMapList","useMapList","resetEntityFilter","useEffect","current","onMarkerClick","MAP_MARKER_CLICKED","entityDisplayName","lat","latitude","lng","longitude","travelTime","React","createElement","MapMarker","position","title","name","icon","zIndex","onLoad","marker","onClick","InfoWindow","anchor","onCloseClick","options","maxWidth","InfoWindowCard","className","content","InfoWindowContent"],"mappings":"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"}
@@ -26,11 +26,11 @@ var FieldMapper = function FieldMapper(_ref) {
26
26
  }, featureLabel);
27
27
  });
28
28
  };
29
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, orderedFields.map(function (field) {
29
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, orderedFields.map(function (field, index) {
30
30
  var value = item.fields[field];
31
31
  return /*#__PURE__*/React__default.createElement(Grid.Item, {
32
32
  key: field,
33
- className: "\n\t\t\t\t\t\t\thc-hidden md:hc-block\n\t\t\t\t\t\t\t".concat(field.toLowerCase() === "position" ? "hc-col-span-2 hc-text-balance hc-pr-2 hc-font-semibold" : "hc-col-span-1", "\n\t\t\t\t\t\t")
33
+ className: "\n\t\t\t\t\t\thc-hidden md:hc-block hc-px-2\n\t\t\t\t\t\t".concat(index === 0 ? "hc-pl-7" : "", "\n\t\t\t\t\t\t").concat(field.toLowerCase() === "position" ? "hc-col-span-4 hc-text-balance hc-font-semibold" : field.toLowerCase() === "state" || field.toLowerCase() == "favorite" ? "hc-col-span-1" : "hc-col-span-2", "\n\t\t\t\t\t")
34
34
  }, /*#__PURE__*/React__default.createElement("span", {
35
35
  className: "hc-sr-only"
36
36
  }, capitalize(field)), value, /*#__PURE__*/React__default.createElement("br", null), specialFeaturePills(field));
@@ -1 +1 @@
1
- {"version":3,"file":"field-mapper.js","sources":["../../../../src/components/modules/list/field-mapper.js"],"sourcesContent":["import React from 'react';\n\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\n\nimport { capitalize } from '~/util/stringUtils';\n\nconst FieldMapper = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures,\n\thandleFavouriteClick,\n\tisFavorite,\n\tincludeFavorite = true\n}) => {\n\tconst orderedFields = fieldsShown.filter(field => field in item.fields);\n\n\tconst specialFeaturePills = field => {\n\t\treturn field === 'position' && specialFeatures &&\n\t\t\tObject.entries(specialFeatures).map(([featureKey, featureLabel]) => {\n\t\t\t\treturn item.fields[featureKey] == 1 && (\n\t\t\t\t\t<PillWrapper key={featureKey}>{featureLabel}</PillWrapper>\n\t\t\t\t);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{orderedFields.map(field => {\n\t\t\t\tlet value = item.fields[field];\n\t\t\t\treturn (\n\t\t\t\t\t<Grid.Item\n\t\t\t\t\t\tkey={field}\n\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\t\thc-hidden md:hc-block\n\t\t\t\t\t\t\t${field.toLowerCase() === \"position\" ? \"hc-col-span-2 hc-text-balance hc-pr-2 hc-font-semibold\" : \"hc-col-span-1\"}\n\t\t\t\t\t\t`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"hc-sr-only\">{capitalize(field)}</span>\n\t\t\t\t\t\t{value}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t{specialFeaturePills(field)}\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t<Grid.Item className=\"md:hc-hidden\">\n\t\t\t\t{fieldsShown.includes(\"position\") &&\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"hc-flex hc-items-start\">\n\t\t\t\t\t\t\t<div className=\"hc-flex hc-justify-between hc-items-center hc-min-w-[100%]\"> {}\n\t\t\t\t\t\t\t\t<h3 className=\"hc-font-bold hc-mb-3 hc-flex-1\">{item.fields.position}</h3>\n\t\t\t\t\t\t\t\t{includeFavorite && <div className=\"hc-flex hc-justify-end hc-pb-2\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\n\t\t\t\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\n\t\t\t\t\t\t\t\t\t\tclassName={`hc-transition-opacity hc-duration-300 hc-cursor-pointer\n\t\t\t\t\t\t\t\t\t${isFavorite ? \"hc-opacity-100\" : \"hc-text-uiText/60 group-hover:hc-opacity-100\"}\n\t\t\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t\t\t\t\tonClick={e => handleFavouriteClick(e, item)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{specialFeatures && <div className='hc-pb-4'>{specialFeaturePills(\"position\", true)} </div>}\n\t\t\t\t\t</>\n\t\t\t\t}\n\n\t\t\t\t<ul className=\"hc-space-y-2 hc-text-xs\">\n\t\t\t\t\t{[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"category\",\n\t\t\t\t\t\t\tname: \"Category\",\n\t\t\t\t\t\t\ticon: \"icon-park-solid:tree-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"schedule\",\n\t\t\t\t\t\t\tname: \"Schedule\",\n\t\t\t\t\t\t\ticon: \"gravity-ui:clock-fill\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"cityState\",\n\t\t\t\t\t\t\tname: \"Location\",\n\t\t\t\t\t\t\ticon: \"fluent:location-16-filled\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"travelTime\",\n\t\t\t\t\t\t\tname: \"Commute\",\n\t\t\t\t\t\t\ticon: \"ri:pin-distance-fill\"\n\t\t\t\t\t\t}\n\t\t\t\t\t].map(listItem => (\n\t\t\t\t\t\t(fieldsShown.includes(listItem.field) && item.fields[listItem.field]) &&\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={listItem.field}\n\t\t\t\t\t\t\tclassName=\"hc-flex hc-gap-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={listItem.icon}\n\t\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\t\tclassName=\"hc-text-uiAccent/30\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className=\"hc-sr-only\">{listItem.name}</span>\n\t\t\t\t\t\t\t{item.fields[listItem.field]}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</Grid.Item>\n\t\t</>\n\t);\n};\n\nexport default FieldMapper;\n"],"names":["FieldMapper","_ref","item","fieldsShown","specialFeatures","handleFavouriteClick","isFavorite","_ref$includeFavorite","includeFavorite","orderedFields","filter","field","fields","specialFeaturePills","Object","entries","map","_ref2","_ref3","_slicedToArray","featureKey","featureLabel","React","createElement","PillWrapper","key","Fragment","value","Grid","Item","className","concat","toLowerCase","capitalize","includes","position","Icon","icon","size","iconClasses","onClick","e","name","listItem"],"mappings":"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"}
1
+ {"version":3,"file":"field-mapper.js","sources":["../../../../src/components/modules/list/field-mapper.js"],"sourcesContent":["import React from 'react';\n\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\n\nimport { capitalize } from '~/util/stringUtils';\n\nconst FieldMapper = ({\n\titem,\n\tfieldsShown,\n\tspecialFeatures,\n\thandleFavouriteClick,\n\tisFavorite,\n\tincludeFavorite = true\n}) => {\n\tconst orderedFields = fieldsShown.filter(field => field in item.fields);\n\n\tconst specialFeaturePills = field => {\n\t\treturn field === 'position' && specialFeatures &&\n\t\t\tObject.entries(specialFeatures).map(([featureKey, featureLabel]) => {\n\t\t\t\treturn item.fields[featureKey] == 1 && (\n\t\t\t\t\t<PillWrapper key={featureKey}>{featureLabel}</PillWrapper>\n\t\t\t\t);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{orderedFields.map((field, index) => {\n\t\t\t\tlet value = item.fields[field];\n\t\t\t\treturn (\n\t\t\t\t\t<Grid.Item\n\t\t\t\t\t\tkey={field}\n\t\t\t\t\t\tclassName={`\n\t\t\t\t\t\thc-hidden md:hc-block hc-px-2\n\t\t\t\t\t\t${index === 0 ? \"hc-pl-7\" : \"\"}\n\t\t\t\t\t\t${field.toLowerCase() === \"position\" ? \"hc-col-span-4 hc-text-balance hc-font-semibold\" : (field.toLowerCase() === \"state\" || field.toLowerCase() == \"favorite\") ? \"hc-col-span-1\" : \"hc-col-span-2\"}\n\t\t\t\t\t`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"hc-sr-only\">{capitalize(field)}</span>\n\t\t\t\t\t\t{value}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t{specialFeaturePills(field)}\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t<Grid.Item className=\"md:hc-hidden\">\n\t\t\t\t{fieldsShown.includes(\"position\") &&\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"hc-flex hc-items-start\">\n\t\t\t\t\t\t\t<div className=\"hc-flex hc-justify-between hc-items-center hc-min-w-[100%]\"> {}\n\t\t\t\t\t\t\t\t<h3 className=\"hc-font-bold hc-mb-3 hc-flex-1\">{item.fields.position}</h3>\n\t\t\t\t\t\t\t\t{includeFavorite && <div className=\"hc-flex hc-justify-end hc-pb-2\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\n\t\t\t\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\n\t\t\t\t\t\t\t\t\t\tclassName={`hc-transition-opacity hc-duration-300 hc-cursor-pointer\n\t\t\t\t\t\t\t\t\t${isFavorite ? \"hc-opacity-100\" : \"hc-text-uiText/60 group-hover:hc-opacity-100\"}\n\t\t\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t\t\t\t\tonClick={e => handleFavouriteClick(e, item)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{specialFeatures && <div className='hc-pb-4'>{specialFeaturePills(\"position\", true)} </div>}\n\t\t\t\t\t</>\n\t\t\t\t}\n\n\t\t\t\t<ul className=\"hc-space-y-2 hc-text-xs\">\n\t\t\t\t\t{[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"category\",\n\t\t\t\t\t\t\tname: \"Category\",\n\t\t\t\t\t\t\ticon: \"icon-park-solid:tree-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"schedule\",\n\t\t\t\t\t\t\tname: \"Schedule\",\n\t\t\t\t\t\t\ticon: \"gravity-ui:clock-fill\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"cityState\",\n\t\t\t\t\t\t\tname: \"Location\",\n\t\t\t\t\t\t\ticon: \"fluent:location-16-filled\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"travelTime\",\n\t\t\t\t\t\t\tname: \"Commute\",\n\t\t\t\t\t\t\ticon: \"ri:pin-distance-fill\"\n\t\t\t\t\t\t}\n\t\t\t\t\t].map(listItem => (\n\t\t\t\t\t\t(fieldsShown.includes(listItem.field) && item.fields[listItem.field]) &&\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={listItem.field}\n\t\t\t\t\t\t\tclassName=\"hc-flex hc-gap-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={listItem.icon}\n\t\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\n\t\t\t\t\t\t\t\tclassName=\"hc-text-uiAccent/30\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className=\"hc-sr-only\">{listItem.name}</span>\n\t\t\t\t\t\t\t{item.fields[listItem.field]}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</Grid.Item>\n\t\t</>\n\t);\n};\n\nexport default FieldMapper;\n"],"names":["FieldMapper","_ref","item","fieldsShown","specialFeatures","handleFavouriteClick","isFavorite","_ref$includeFavorite","includeFavorite","orderedFields","filter","field","fields","specialFeaturePills","Object","entries","map","_ref2","_ref3","_slicedToArray","featureKey","featureLabel","React","createElement","PillWrapper","key","Fragment","index","value","Grid","Item","className","concat","toLowerCase","capitalize","includes","position","Icon","icon","size","iconClasses","onClick","e","name","listItem"],"mappings":"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"}
@@ -41,7 +41,8 @@ var HeaderItem = function HeaderItem(_ref) {
41
41
  return handleChange(field);
42
42
  },
43
43
  variant: "none",
44
- className: "\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t".concat(field.toLowerCase() === "position" ? "hc-col-span-2" : "hc-col-span-1", "\n\t\t\t\t").concat(className !== null && className !== void 0 ? className : "", "\n\t\t\t")
44
+ size: "none",
45
+ className: "\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t".concat(field.toLowerCase() === "position" ? "hc-pl-7 hc-col-span-4" : field.toLowerCase() === "state" || field.toLowerCase() == "favorite" ? "hc-col-span-1" : "hc-col-span-2", "\n\t\t\t\t").concat(className !== null && className !== void 0 ? className : "", "\n\t\t\t")
45
46
  }, rest), /*#__PURE__*/React__default.createElement(Button.Body, null, /*#__PURE__*/React__default.createElement("span", {
46
47
  className: "hc-font-semibold"
47
48
  }, children), isSortable && /*#__PURE__*/React__default.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"header-item.js","sources":["../../../../src/components/modules/list/header-item.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\r\n\r\nimport Button from '~/components/modules/buttons/default';\r\n\r\nconst SORT_STATE = {\r\n\tnotSorted: \"not-sorted\",\r\n\tsortedAsc: \"sorted-asc\",\r\n\tsortedDesc: \"sorted-desc\"\r\n};\r\n\r\nconst HeaderItem = ({\r\n\tclassName,\r\n\tchildren,\r\n\tfield,\r\n\tsetSortSetting,\r\n\tsortSetting,\r\n\tisSortable,\r\n\t...rest\r\n}) => {\r\n\tconst [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);\r\n\r\n\tconst handleChange = field => {\r\n\t\tif (isSortable === false)\r\n\t\t\treturn;\r\n\t\tlet setting = {\r\n\t\t\tfield: field,\r\n\t\t\ttype: isSorted === SORT_STATE.sortedAsc ? \"desc\" : \"asc\"\r\n\t\t};\r\n\t\tsetSortSetting(setting);\r\n\t\tisSorted === SORT_STATE.notSorted\r\n\t\t\t? setIsSorted(SORT_STATE.sortedAsc)\r\n\t\t\t: isSorted === SORT_STATE.sortedAsc\r\n\t\t\t\t? setIsSorted(SORT_STATE.sortedDesc)\r\n\t\t\t\t: setIsSorted(SORT_STATE.sortedAsc);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (sortSetting?.field != null && sortSetting.field != field) {\r\n\t\t\tsetIsSorted(SORT_STATE.notSorted);\r\n\t\t} else if (\r\n\t\t\tsortSetting?.field != null &&\r\n\t\t\tisSorted == SORT_STATE.notSorted &&\r\n\t\t\tsortSetting.field == field\r\n\t\t) {\r\n\t\t\tsetIsSorted(\r\n\t\t\t\tsortSetting.type == \"asc\"\r\n\t\t\t\t\t? SORT_STATE.sortedAsc\r\n\t\t\t\t\t: SORT_STATE.sortedDesc\r\n\t\t\t);\r\n\t\t}\r\n\t}, [sortSetting, isSorted, field]);\r\n\r\n\treturn (\r\n\t\t<Button.Btn\r\n\t\t\tonClick={() => handleChange(field)}\r\n\t\t\tvariant=\"none\"\r\n\t\t\tclassName={`\r\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\r\n\t\t\t\t${field.toLowerCase() === \"position\" ? \"hc-col-span-2\" : \"hc-col-span-1\"}\r\n\t\t\t\t${className ?? \"\"}\r\n\t\t\t`}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t<Button.Body>\r\n\t\t\t\t<span className=\"hc-font-semibold\">{children}</span>\r\n\t\t\t\t{isSortable && (\r\n\t\t\t\t\t<div className=\"hc-flex hc-flex-col hc-pr-2\">\r\n\t\t\t\t\t\t<Button.Icon\r\n\t\t\t\t\t\t\ticon=\"bi:caret-up-fill\"\r\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\thc-transition-opacity\r\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-asc\" ? \"hc-opacity-100 hc-text-primary\" : \"hc-opacity-30\"}\r\n\t\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button.Icon\r\n\t\t\t\t\t\t\ticon=\"bi:caret-down-fill\"\r\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\r\n\t\t\t\t\t\t\tclassName={`\r\n\t\t\t\t\t\t\t\ttransition-opacity\r\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-desc\" ? \"hc-opacity-100\" : \"hc-opacity-30\"}\r\n\t\t\t\t\t\t\t`}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</Button.Body>\r\n\t\t</Button.Btn>\r\n\t);\r\n};\r\n\r\nexport default HeaderItem;\r\n"],"names":["SORT_STATE","notSorted","sortedAsc","sortedDesc","HeaderItem","_ref","className","children","field","setSortSetting","sortSetting","isSortable","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSorted","setIsSorted","handleChange","setting","type","useEffect","React","createElement","Button","Btn","_extends","onClick","variant","concat","toLowerCase","Body","Icon","icon","size"],"mappings":"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"}
1
+ {"version":3,"file":"header-item.js","sources":["../../../../src/components/modules/list/header-item.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\n\nimport Button from '~/components/modules/buttons/default';\n\nconst SORT_STATE = {\n\tnotSorted: \"not-sorted\",\n\tsortedAsc: \"sorted-asc\",\n\tsortedDesc: \"sorted-desc\"\n};\n\nconst HeaderItem = ({\n\tclassName,\n\tchildren,\n\tfield,\n\tsetSortSetting,\n\tsortSetting,\n\tisSortable,\n\t...rest\n}) => {\n\tconst [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);\n\n\tconst handleChange = field => {\n\t\tif (isSortable === false)\n\t\t\treturn;\n\t\tlet setting = {\n\t\t\tfield: field,\n\t\t\ttype: isSorted === SORT_STATE.sortedAsc ? \"desc\" : \"asc\"\n\t\t};\n\t\tsetSortSetting(setting);\n\t\tisSorted === SORT_STATE.notSorted\n\t\t\t? setIsSorted(SORT_STATE.sortedAsc)\n\t\t\t: isSorted === SORT_STATE.sortedAsc\n\t\t\t\t? setIsSorted(SORT_STATE.sortedDesc)\n\t\t\t\t: setIsSorted(SORT_STATE.sortedAsc);\n\t};\n\n\tuseEffect(() => {\n\t\tif (sortSetting?.field != null && sortSetting.field != field) {\n\t\t\tsetIsSorted(SORT_STATE.notSorted);\n\t\t} else if (\n\t\t\tsortSetting?.field != null &&\n\t\t\tisSorted == SORT_STATE.notSorted &&\n\t\t\tsortSetting.field == field\n\t\t) {\n\t\t\tsetIsSorted(\n\t\t\t\tsortSetting.type == \"asc\"\n\t\t\t\t\t? SORT_STATE.sortedAsc\n\t\t\t\t\t: SORT_STATE.sortedDesc\n\t\t\t);\n\t\t}\n\t}, [sortSetting, isSorted, field]);\n\n\treturn (\n\t\t<Button.Btn\n\t\t\tonClick={() => handleChange(field)}\n\t\t\tvariant=\"none\"\n\t\t\tsize=\"none\"\n\t\t\tclassName={`\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t${field.toLowerCase() === \"position\" ? \"hc-pl-7 hc-col-span-4\" : (field.toLowerCase() === \"state\" || field.toLowerCase() == \"favorite\") ? \"hc-col-span-1\" : \"hc-col-span-2\"}\n\t\t\t\t${className ?? \"\"}\n\t\t\t`}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<Button.Body>\n\t\t\t\t<span className=\"hc-font-semibold\">{children}</span>\n\t\t\t\t{isSortable && (\n\t\t\t\t\t<div className=\"hc-flex hc-flex-col hc-pr-2\">\n\t\t\t\t\t\t<Button.Icon\n\t\t\t\t\t\t\ticon=\"bi:caret-up-fill\"\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\thc-transition-opacity\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-asc\" ? \"hc-opacity-100 hc-text-primary\" : \"hc-opacity-30\"}\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button.Icon\n\t\t\t\t\t\t\ticon=\"bi:caret-down-fill\"\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\ttransition-opacity\n\t\t\t\t\t\t\t\t${isSorted === \"sorted-desc\" ? \"hc-opacity-100\" : \"hc-opacity-30\"}\n\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Button.Body>\n\t\t</Button.Btn>\n\t);\n};\n\nexport default HeaderItem;\n"],"names":["SORT_STATE","notSorted","sortedAsc","sortedDesc","HeaderItem","_ref","className","children","field","setSortSetting","sortSetting","isSortable","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSorted","setIsSorted","handleChange","setting","type","useEffect","React","createElement","Button","Btn","_extends","onClick","variant","size","concat","toLowerCase","Body","Icon","icon"],"mappings":"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"}
@@ -14,12 +14,16 @@ var ListHeader = function ListHeader(_ref) {
14
14
  setSortSetting = _ref.setSortSetting,
15
15
  sortSetting = _ref.sortSetting,
16
16
  _ref$includeFavorite = _ref.includeFavorite,
17
- includeFavorite = _ref$includeFavorite === void 0 ? false : _ref$includeFavorite;
17
+ includeFavorite = _ref$includeFavorite === void 0 ? false : _ref$includeFavorite,
18
+ scrollbarWidth = _ref.scrollbarWidth;
18
19
  return /*#__PURE__*/React__default.createElement(Grid, {
19
20
  columns: "hc-grid-flow-col hc-auto-cols-fr",
20
21
  gap: "hc-gap-0",
21
22
  isAnimated: false,
22
- className: twMerge(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t\thc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10\n\t\t\t\t", "\n\t\t\t"])), className !== null && className !== void 0 ? className : "")
23
+ style: {
24
+ paddingRight: "".concat(scrollbarWidth && scrollbarWidth > 0 ? scrollbarWidth + 6 : 1, "px")
25
+ },
26
+ className: twMerge(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t\thc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10\n\t\t\t\t", "\n\n\t\t\t"])), className !== null && className !== void 0 ? className : "")
23
27
  }, fieldsShown.map(function (field) {
24
28
  return /*#__PURE__*/React__default.createElement(HeaderItem, {
25
29
  key: field,
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../src/components/modules/list/header.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport Grid from '~/components/modules/grid';\nimport HeaderItem from '~/components/modules/list/header-item';\n\nconst ListHeader = ({\n\tclassName,\n\tfieldsShown,\n\tfieldNames,\n\tfieldIsSortable = true,\n\tsetSortSetting,\n\tsortSetting,\n\tincludeFavorite = false\n}) => {\n\treturn (\n\t\t<Grid\n\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\n\t\t\tgap=\"hc-gap-0\"\n\t\t\tisAnimated={false}\n\t\t\tclassName={twMerge`\n\t\t\t\thc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10\n\t\t\t\t${className ?? \"\"}\n\t\t\t`}\n\t\t>\n\t\t\t{fieldsShown.map(field => (\n\t\t\t\t<HeaderItem\n\t\t\t\t\tkey={field}\n\t\t\t\t\tisSortable={fieldIsSortable}\n\t\t\t\t\tsortSetting={sortSetting}\n\t\t\t\t\tfield={field}\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t>\n\t\t\t\t\t{fieldNames[field]}\n\t\t\t\t</HeaderItem>\n\t\t\t))}\n\t\t\t{ includeFavorite == true &&\n\t\t\t<HeaderItem key={\"favorite\"}\n\t\t\t\tisSortable={false}\n\t\t\t\tfield={\"favorite\"}\n\t\t\t>\n\t\t\t\tFavorite\n\t\t\t</HeaderItem>\n\t\t\t}\n\t\t</Grid>\n\t);\n};\n\nexport default ListHeader;\n"],"names":["ListHeader","_ref","className","fieldsShown","fieldNames","_ref$fieldIsSortable","fieldIsSortable","setSortSetting","sortSetting","_ref$includeFavorite","includeFavorite","React","createElement","Grid","columns","gap","isAnimated","twMerge","_templateObject","_taggedTemplateLiteral","map","field","HeaderItem","key","isSortable"],"mappings":";;;;;;;AAMA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAQV;AAAA,EAAA,IAPLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,oBAAA,GAAAJ,IAAA,CACVK,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IACtBE,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IAAAC,oBAAA,GAAAR,IAAA,CACXS,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA,CAAA;AAEvB,EAAA,oBACCE,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACJC,IAAAA,OAAO,EAAC,kCAAkC;AAC1CC,IAAAA,GAAG,EAAC,UAAU;AACdC,IAAAA,UAAU,EAAE,KAAM;AAClBd,IAAAA,SAAS,EAAEe,OAAO,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,yHAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAEfjB,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAChB,GAAA,EAEDC,WAAW,CAACiB,GAAG,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,oBACrBV,cAAA,CAAAC,aAAA,CAACU,UAAU,EAAA;AACVC,MAAAA,GAAG,EAAEF,KAAM;AACXG,MAAAA,UAAU,EAAElB,eAAgB;AAC5BE,MAAAA,WAAW,EAAEA,WAAY;AACzBa,MAAAA,KAAK,EAAEA,KAAM;AACbd,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAA,EAE9BH,UAAU,CAACiB,KAAK,CACN,CAAC,CAAA;GACb,CAAC,EACAX,eAAe,IAAI,IAAI,iBACzBC,cAAA,CAAAC,aAAA,CAACU,UAAU,EAAA;AAACC,IAAAA,GAAG,EAAE,UAAW;AAC3BC,IAAAA,UAAU,EAAE,KAAM;AAClBH,IAAAA,KAAK,EAAE,UAAA;GACP,EAAA,UAEW,CAEP,CAAC,CAAA;AAET;;;;"}
1
+ {"version":3,"file":"header.js","sources":["../../../../src/components/modules/list/header.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport Grid from '~/components/modules/grid';\nimport HeaderItem from '~/components/modules/list/header-item';\n\nconst ListHeader = ({\n\tclassName,\n\tfieldsShown,\n\tfieldNames,\n\tfieldIsSortable = true,\n\tsetSortSetting,\n\tsortSetting,\n\tincludeFavorite = false,\n\tscrollbarWidth\n}) => {\n\treturn (\n\t\t<Grid\n\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\n\t\t\tgap=\"hc-gap-0\"\n\t\t\tisAnimated={false}\n\t\t\tstyle={{ paddingRight: `${scrollbarWidth && scrollbarWidth > 0 ? scrollbarWidth + 6 : 1 }px` }}\n\t\t\tclassName={twMerge`\n\t\t\t\thc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10\n\t\t\t\t${className ?? \"\"}\n\n\t\t\t`}\n\t\t>\n\t\t\t{fieldsShown.map(field => (\n\t\t\t\t<HeaderItem\n\t\t\t\t\tkey={field}\n\t\t\t\t\tisSortable={fieldIsSortable}\n\t\t\t\t\tsortSetting={sortSetting}\n\t\t\t\t\tfield={field}\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t>\n\t\t\t\t\t{fieldNames[field]}\n\t\t\t\t</HeaderItem>\n\t\t\t))}\n\t\t\t{ includeFavorite == true &&\n\t\t\t<HeaderItem key={\"favorite\"}\n\t\t\t\tisSortable={false}\n\t\t\t\tfield={\"favorite\"}\n\t\t\t>\n\t\t\t\tFavorite\n\t\t\t</HeaderItem>\n\t\t\t}\n\t\t</Grid>\n\t);\n};\n\nexport default ListHeader;\n"],"names":["ListHeader","_ref","className","fieldsShown","fieldNames","_ref$fieldIsSortable","fieldIsSortable","setSortSetting","sortSetting","_ref$includeFavorite","includeFavorite","scrollbarWidth","React","createElement","Grid","columns","gap","isAnimated","style","paddingRight","concat","twMerge","_templateObject","_taggedTemplateLiteral","map","field","HeaderItem","key","isSortable"],"mappings":";;;;;;;AAMA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EASV;AAAA,EAAA,IARLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,oBAAA,GAAAJ,IAAA,CACVK,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IACtBE,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IAAAC,oBAAA,GAAAR,IAAA,CACXS,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IACvBE,cAAc,GAAAV,IAAA,CAAdU,cAAc,CAAA;AAEd,EAAA,oBACCC,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACJC,IAAAA,OAAO,EAAC,kCAAkC;AAC1CC,IAAAA,GAAG,EAAC,UAAU;AACdC,IAAAA,UAAU,EAAE,KAAM;AAClBC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,YAAY,EAAAC,EAAAA,CAAAA,MAAA,CAAKT,cAAc,IAAIA,cAAc,GAAG,CAAC,GAAGA,cAAc,GAAG,CAAC,GAAG,CAAC,EAAA,IAAA,CAAA;KAAQ;AAC/FT,IAAAA,SAAS,EAAEmB,OAAO,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,yHAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EAEfrB,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAEhB,GAAA,EAEDC,WAAW,CAACqB,GAAG,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,oBACrBb,cAAA,CAAAC,aAAA,CAACa,UAAU,EAAA;AACVC,MAAAA,GAAG,EAAEF,KAAM;AACXG,MAAAA,UAAU,EAAEtB,eAAgB;AAC5BE,MAAAA,WAAW,EAAEA,WAAY;AACzBiB,MAAAA,KAAK,EAAEA,KAAM;AACblB,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAA,EAE9BH,UAAU,CAACqB,KAAK,CACN,CAAC,CAAA;GACb,CAAC,EACAf,eAAe,IAAI,IAAI,iBACzBE,cAAA,CAAAC,aAAA,CAACa,UAAU,EAAA;AAACC,IAAAA,GAAG,EAAE,UAAW;AAC3BC,IAAAA,UAAU,EAAE,KAAM;AAClBH,IAAAA,KAAK,EAAE,UAAA;GACP,EAAA,UAEW,CAEP,CAAC,CAAA;AAET;;;;"}
@@ -1,26 +1,53 @@
1
- import React__default from 'react';
1
+ import React__default, { useState, useEffect } from 'react';
2
2
  import ListHeader from './header.js';
3
3
  import FilterSort from '../filter/sort.js';
4
4
  import Loading from '../../../util/loading.js';
5
5
 
6
- const ItemsList = ({ fieldNames, showMap, fieldsShown, filteredListings, loading, sortSetting, setSortSetting, itemLimit, loader, scrollContainerRef, includeFavorite = false, children }) => (React__default.createElement("div", { className: "hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col" },
7
- React__default.createElement("div", { className: "hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20" },
8
- React__default.createElement("h2", { className: "hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm" },
9
- loading && React__default.createElement("span", null, "Loading..."),
10
- !loading && React__default.createElement("span", null,
11
- filteredListings.length,
12
- " results")),
13
- React__default.createElement("div", { className: "hc-block md:hc-hidden" },
14
- React__default.createElement(FilterSort, { className: '', fields: fieldsShown, setSortSetting: setSortSetting, fieldNames: fieldNames }))),
15
- React__default.createElement("div", null,
16
- React__default.createElement(ListHeader, { className: '', setSortSetting: setSortSetting, sortSetting: sortSetting, fieldsShown: fieldsShown, fieldNames: fieldNames, includeFavorite: includeFavorite })),
17
- React__default.createElement("div", { ref: scrollContainerRef, className: `
18
- hc-flex-grow hc-overflow-y-auto
19
- ${showMap ? "md:hc-max-h-45vh hc-max-h-[100vh]" : "md:hc-max-h-95vh hc-max-h-[95vh]"}
20
- ` },
21
- loading ? (React__default.createElement("div", { className: "hc-flex hc-justify-center hc-items-center hc-pt-20" },
22
- React__default.createElement(Loading, null))) : (children),
23
- React__default.createElement("div", { ref: loader, style: { height: "100px", textAlign: "center" } }, filteredListings.length >= itemLimit && React__default.createElement(Loading, null)))));
6
+ const ItemsList = ({ fieldNames, showMap, fieldsShown, filteredListings, loading, sortSetting, setSortSetting, itemLimit, loader, scrollContainerRef, includeFavorite = false, children }) => {
7
+ const [scrollbarWidth, setScrollbarWidth] = useState(0);
8
+ const checkScrollbar = () => {
9
+ if (scrollContainerRef.current) {
10
+ const { scrollHeight, clientHeight, offsetWidth, clientWidth } = scrollContainerRef.current;
11
+ const hasVerticalScrollbar = scrollHeight > clientHeight;
12
+ const newScrollbarWidth = hasVerticalScrollbar ? offsetWidth - clientWidth : 0;
13
+ setScrollbarWidth(newScrollbarWidth);
14
+ console.log('Scrollbar width:', newScrollbarWidth);
15
+ }
16
+ };
17
+ useEffect(() => {
18
+ checkScrollbar(); // Initial check
19
+ const resizeObserver = new ResizeObserver(() => checkScrollbar());
20
+ const mutationObserver = new MutationObserver(() => checkScrollbar());
21
+ if (scrollContainerRef.current) {
22
+ resizeObserver.observe(scrollContainerRef.current);
23
+ mutationObserver.observe(scrollContainerRef.current, { childList: true, subtree: true, attributes: true });
24
+ }
25
+ return () => {
26
+ if (scrollContainerRef.current) {
27
+ resizeObserver.unobserve(scrollContainerRef.current);
28
+ mutationObserver.disconnect();
29
+ }
30
+ };
31
+ }, [scrollContainerRef]);
32
+ return (React__default.createElement("div", { className: "hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col" },
33
+ React__default.createElement("div", { className: "hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20" },
34
+ React__default.createElement("h2", { className: "hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm" },
35
+ loading && React__default.createElement("span", null, "Loading..."),
36
+ !loading && React__default.createElement("span", null,
37
+ filteredListings.length,
38
+ " results")),
39
+ React__default.createElement("div", { className: "hc-block md:hc-hidden" },
40
+ React__default.createElement(FilterSort, { className: '', fields: fieldsShown, setSortSetting: setSortSetting, fieldNames: fieldNames }))),
41
+ React__default.createElement("div", null,
42
+ React__default.createElement(ListHeader, { className: '', setSortSetting: setSortSetting, sortSetting: sortSetting, fieldsShown: fieldsShown, fieldNames: fieldNames, includeFavorite: includeFavorite, scrollbarWidth: scrollbarWidth })),
43
+ React__default.createElement("div", { ref: scrollContainerRef, className: `
44
+ hc-flex-grow hc-overflow-y-auto
45
+ ${showMap ? "md:hc-max-h-45vh hc-max-h-[100vh]" : "md:hc-max-h-95vh hc-max-h-[95vh]"}
46
+ ` },
47
+ loading ? (React__default.createElement("div", { className: "hc-flex hc-justify-center hc-items-center hc-pt-20" },
48
+ React__default.createElement(Loading, null))) : (children),
49
+ React__default.createElement("div", { ref: loader, style: { height: "100px", textAlign: "center" } }, filteredListings.length >= itemLimit && React__default.createElement(Loading, null)))));
50
+ };
24
51
 
25
52
  export { ItemsList as default };
26
53
  //# sourceMappingURL=item-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-list.js","sources":["../../../../src/components/modules/list/item-list.tsx"],"sourcesContent":["import React, { RefObject, ReactNode } from 'react';\nimport Header from '~/components/modules/list/header';\nimport Sort from '~/components/modules/filter/sort';\nimport Loading from \"~/util/loading\";\nimport { Listing } from '~/types/Listings';\n\ninterface ItemsListProps {\n fieldNames: Record<string, string>;\n showMap: boolean;\n fieldsShown: string[];\n filteredListings: Listing[];\n loading: boolean;\n sortSetting: any;\n setSortSetting: (setting: any) => void;\n itemLimit: number;\n loader: RefObject<HTMLDivElement>;\n scrollContainerRef: RefObject<HTMLDivElement>;\n itemRefs: any;\n selectedListItem: Listing | null;\n children: ReactNode;\n includeFavorite: boolean;\n}\n\nconst ItemsList: React.FC<ItemsListProps> = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tfilteredListings,\n\tloading,\n\tsortSetting,\n\tsetSortSetting,\n\titemLimit,\n\tloader,\n\tscrollContainerRef,\n\tincludeFavorite = false,\n\tchildren\n}) => (\n\t<div className=\"hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col\">\n\t\t<div className=\"hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20\">\n\t\t\t<h2 className=\"hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm\">\n\t\t\t\t{loading && <span>Loading...</span>}\n\t\t\t\t{!loading && <span>{filteredListings.length} results</span>}\n\t\t\t</h2>\n\t\t\t<div className=\"hc-block md:hc-hidden\">\n\t\t\t\t<Sort\n\t\t\t\t\tclassName={''}\n\t\t\t\t\tfields={fieldsShown}\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div>\n\t\t\t<Header\n\t\t\t\tclassName={''}\n\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\tsortSetting={sortSetting}\n\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\tfieldNames={fieldNames}\n\t\t\t\tincludeFavorite={includeFavorite}\n\t\t\t/>\n\t\t</div>\n\t\t<div\n\t\t\tref={scrollContainerRef}\n\t\t\tclassName={`\n hc-flex-grow hc-overflow-y-auto\n ${showMap ? \"md:hc-max-h-45vh hc-max-h-[100vh]\" : \"md:hc-max-h-95vh hc-max-h-[95vh]\"}\n `}\n\t\t>\n\t\t\t{loading ? (\n\t\t\t\t<div className=\"hc-flex hc-justify-center hc-items-center hc-pt-20\">\n\t\t\t\t\t<Loading />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t)}\n\t\t\t<div ref={loader} style={{ height: \"100px\", textAlign: \"center\" }}>\n\t\t\t\t{filteredListings.length >= itemLimit && <Loading />}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n);\n\nexport default ItemsList;\n"],"names":["React","Sort","Header"],"mappings":";;;;;AAuBA,MAAM,SAAS,GAA6B,CAAC,EAC5C,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,cAAc,EACd,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,eAAe,GAAG,KAAK,EACvB,QAAQ,EACR,MACAA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wDAAwD,EAAA;IACtEA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yLAAyL,EAAA;QACvMA,cAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,SAAS,EAAC,4DAA4D,EAAA;AACxE,YAAA,OAAO,IAAIA,cAAuB,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAA,YAAA,CAAA;AAClC,YAAA,CAAC,OAAO,IAAIA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA;AAAO,gBAAA,gBAAgB,CAAC,MAAM;2BAAgB,CACvD;QACLA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uBAAuB,EAAA;AACrC,YAAAA,cAAA,CAAA,aAAA,CAACC,UAAI,EACJ,EAAA,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EAAA,CACrB,CACG,CACD;AACN,IAAAD,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA;QACCA,cAAC,CAAA,aAAA,CAAAE,UAAM,EACN,EAAA,SAAS,EAAE,EAAE,EACb,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAAA,CAC/B,CACG;AACN,IAAAF,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACC,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,CAAA;;AAEJ,QAAA,EAAA,OAAO,GAAG,mCAAmC,GAAG,kCAAkC,CAAA;AACrF,MAAA,CAAA,EAAA;AAEH,QAAA,OAAO,IACPA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oDAAoD,EAAA;YAClEA,cAAC,CAAA,aAAA,CAAA,OAAO,OAAG,CACN,KAEN,QAAQ,CACR;AACD,QAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAA,EAC/D,gBAAgB,CAAC,MAAM,IAAI,SAAS,IAAIA,cAAC,CAAA,aAAA,CAAA,OAAO,EAAG,IAAA,CAAA,CAC/C,CACD,CACD;;;;"}
1
+ {"version":3,"file":"item-list.js","sources":["../../../../src/components/modules/list/item-list.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, RefObject, ReactNode } from 'react';\nimport Header from '~/components/modules/list/header';\nimport Sort from '~/components/modules/filter/sort';\nimport Loading from \"~/util/loading\";\nimport { Listing } from '~/types/Listings';\n\ninterface ItemsListProps {\n fieldNames: Record<string, string>;\n showMap: boolean;\n fieldsShown: string[];\n filteredListings: Listing[];\n loading: boolean;\n sortSetting: any;\n setSortSetting: (setting: any) => void;\n itemLimit: number;\n loader: RefObject<HTMLDivElement>;\n scrollContainerRef: RefObject<HTMLDivElement>;\n itemRefs: any;\n selectedListItem: Listing | null;\n children: ReactNode;\n includeFavorite: boolean;\n}\n\nconst ItemsList: React.FC<ItemsListProps> = ({\n fieldNames,\n showMap,\n fieldsShown,\n filteredListings,\n loading,\n sortSetting,\n setSortSetting,\n itemLimit,\n loader,\n scrollContainerRef,\n includeFavorite = false,\n children\n}) => {\n const [scrollbarWidth, setScrollbarWidth] = useState<number>(0);\n\n const checkScrollbar = () => {\n if (scrollContainerRef.current) {\n const { scrollHeight, clientHeight, offsetWidth, clientWidth } = scrollContainerRef.current;\n const hasVerticalScrollbar = scrollHeight > clientHeight;\n const newScrollbarWidth = hasVerticalScrollbar ? offsetWidth - clientWidth : 0;\n setScrollbarWidth(newScrollbarWidth);\n console.log('Scrollbar width:', newScrollbarWidth);\n }\n };\n\n useEffect(() => {\n checkScrollbar(); // Initial check\n\n const resizeObserver = new ResizeObserver(() => checkScrollbar());\n const mutationObserver = new MutationObserver(() => checkScrollbar());\n\n if (scrollContainerRef.current) {\n resizeObserver.observe(scrollContainerRef.current);\n mutationObserver.observe(scrollContainerRef.current, { childList: true, subtree: true, attributes: true });\n }\n\n return () => {\n if (scrollContainerRef.current) {\n resizeObserver.unobserve(scrollContainerRef.current);\n mutationObserver.disconnect();\n }\n };\n }, [scrollContainerRef]);\n\n return (\n <div className=\"hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col\">\n <div className=\"hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20\">\n <h2 className=\"hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm\">\n {loading && <span>Loading...</span>}\n {!loading && <span>{filteredListings.length} results</span>}\n </h2>\n <div className=\"hc-block md:hc-hidden\">\n <Sort\n className={''}\n fields={fieldsShown}\n setSortSetting={setSortSetting}\n fieldNames={fieldNames}\n />\n </div>\n </div>\n <div>\n <Header\n className={''}\n setSortSetting={setSortSetting}\n sortSetting={sortSetting}\n fieldsShown={fieldsShown}\n fieldNames={fieldNames}\n includeFavorite={includeFavorite}\n scrollbarWidth={scrollbarWidth} // Pass scrollbar width to Header\n />\n </div>\n <div\n ref={scrollContainerRef}\n className={`\n hc-flex-grow hc-overflow-y-auto\n ${showMap ? \"md:hc-max-h-45vh hc-max-h-[100vh]\" : \"md:hc-max-h-95vh hc-max-h-[95vh]\"}\n `}\n >\n {loading ? (\n <div className=\"hc-flex hc-justify-center hc-items-center hc-pt-20\">\n <Loading />\n </div>\n ) : (\n children\n )}\n <div ref={loader} style={{ height: \"100px\", textAlign: \"center\" }}>\n {filteredListings.length >= itemLimit && <Loading />}\n </div>\n </div>\n </div>\n );\n};\n\nexport default ItemsList;\n"],"names":["React","Sort","Header"],"mappings":"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"}
@@ -50,12 +50,12 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
50
50
  onClick: function onClick() {
51
51
  handleClick();
52
52
  },
53
- className: "\n hc-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 ".concat(isActive ? "hc-bg-uiAccent/5 hc-border-secondary hc-border" : "hc-text-uiText hc-bg-white", "\n ").concat(className !== null && className !== void 0 ? className : "", "\n ")
53
+ className: "\n\t\t\t\thc-group hc-relative hc-flex md:hc-flex-col hc-w-full 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".concat(isActive ? "hc-bg-uiAccent/5 hc-border-secondary hc-border" : "hc-text-uiText hc-bg-white", "\n\t\t\t\t").concat(className !== null && className !== void 0 ? className : "", "\n\t\t\t\t")
54
54
  }, props), /*#__PURE__*/React__default.createElement(Grid, {
55
55
  columns: "hc-grid-flow-col hc-auto-cols-fr",
56
- gap: "hc-gap-2",
56
+ gap: "hc-gap-0",
57
57
  isAnimated: false,
58
- className: "\n hc-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 ".concat(bodyClassName !== null && bodyClassName !== void 0 ? bodyClassName : "", "\n ")
58
+ className: "\n hc-block md:hc-grid hc-py-2 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\n ".concat(bodyClassName !== null && bodyClassName !== void 0 ? bodyClassName : "", "\n ")
59
59
  }, /*#__PURE__*/React__default.createElement(Grid.Item, {
60
60
  className: "hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5"
61
61
  }, /*#__PURE__*/React__default.createElement("span", {
@@ -73,7 +73,7 @@ var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
73
73
  handleFavouriteClick: handleFavouriteClick
74
74
  }), includeFavorite && /*#__PURE__*/React__default.createElement(Grid.Item, {
75
75
  key: "favorites",
76
- className: "hc-hidden md:hc-block hc-col-span-1"
76
+ className: "hc-hidden md:hc-block hc-col-span-1 hc-px-2"
77
77
  }, /*#__PURE__*/React__default.createElement(IconContained, {
78
78
  icon: isFavorite ? "mdi:heart" : "mdi:heart-outline",
79
79
  size: "hc-size-3.5",
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.js","sources":["../../../../../src/components/modules/list/list-item/list-item.js"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\r\nimport Grid from '~/components/modules/grid';\r\nimport Icon from '~/components/modules/icon';\r\nimport FieldMapper from '~/components/modules/list/field-mapper';\r\n\r\nconst ListItem = forwardRef(\r\n\t(\r\n\t\t{\r\n\t\t\tisActive,\r\n\t\t\tbodyClassName,\r\n\t\t\tclassName,\r\n\t\t\titem,\r\n\t\t\tfieldsShown,\r\n\t\t\tspecialFeatures,\r\n\t\t\tonItemSelected,\r\n\t\t\tshowMap,\r\n\t\t\tsetMobileTab,\r\n\t\t\thandleSettingFavorites,\r\n\t\t\tfavorites,\r\n\t\t\tincludeFavorite = true,\r\n\t\t\tsiteConfig,\r\n\t\t\ttrackEvent,\r\n\t\t\teventTypes,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst mapPinColor = !showMap ? null : siteConfig.colors.primary.replace(\"#\", \"\");\r\n\r\n\t\tconst handleClick = () => {\r\n\t\t\tif (onItemSelected) {\r\n\t\t\t\tonItemSelected(item);\r\n\t\t\t}\r\n\t\t};\r\n\t\tlet isFavorite = favorites.includes(item.id);\r\n\r\n\t\tconst handleFavouriteClick = (event, item) => {\r\n\t\t\tif(!includeFavorite)return;\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tlet updatedFavorites;\r\n\t\t\tif (isFavorite) {\r\n\t\t\t\tupdatedFavorites = favorites.filter(fav => fav !== item.id);\r\n\t\t\t} else {\r\n\t\t\t\tupdatedFavorites = [...favorites, item.id];\r\n\t\t\t}\r\n\t\t\tisFavorite = !isFavorite;\r\n\t\t\thandleSettingFavorites(updatedFavorites);\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t<button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tonClick={() => { handleClick(); }}\r\n\t\t\t\tclassName={`\r\n hc-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\r\n ${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\r\n ${className ?? \"\"}\r\n `}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<Grid\r\n\t\t\t\t\tcolumns=\"hc-grid-flow-col hc-auto-cols-fr\"\r\n\t\t\t\t\tgap=\"hc-gap-2\"\r\n\t\t\t\t\tisAnimated={false}\r\n\t\t\t\t\tclassName={`\r\n hc-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\r\n ${bodyClassName ?? \"\"}\r\n `}\r\n\t\t\t\t>\r\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\">\r\n\t\t\t\t\t\t<span className=\"hc-sr-only\">Expand row</span>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon=\"fluent-emoji-high-contrast:plus\"\r\n\t\t\t\t\t\t\tsize=\"hc-size-2.5\"\r\n\t\t\t\t\t\t\tclassName={`\r\n hc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\r\n ${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\r\n `}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</Grid.Item>\r\n\t\t\t\t\t<FieldMapper\r\n\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\tfieldsShown={fieldsShown}\r\n\t\t\t\t\t\tspecialFeatures={specialFeatures}\r\n\t\t\t\t\t\tisFavorite={isFavorite}\r\n\t\t\t\t\t\tincludeFavorite={includeFavorite}\r\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{includeFavorite &&\r\n\t\t\t\t\t<Grid.Item\r\n\t\t\t\t\t\tkey={\"favorites\"}\r\n\t\t\t\t\t\tclassName=\"hc-hidden md:hc-block hc-col-span-1\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\ticon={isFavorite ? \"mdi:heart\" : \"mdi:heart-outline\"}\r\n\t\t\t\t\t\t\tsize=\"hc-size-3.5\"\r\n\t\t\t\t\t\t\ticonClasses={isFavorite ? \"hc-text-primary\" : \"\"}\r\n\t\t\t\t\t\t\ttitle={!isFavorite ? 'Add job to favorites' : 'Remove job from favorites'}\r\n\t\t\t\t\t\t\tclassName=\"hc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\r\n\t\t\t\t\t\t\tonClick={e => {handleFavouriteClick(e, item);}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</Grid.Item>\r\n\t\t\t\t\t}\r\n\t\t\t\t</Grid>\r\n\t\t\t\t{showMap && (\r\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\">\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tsrc={`https://maps.googleapis.com/maps/api/staticmap?scale=2&center=${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}`}\r\n\t\t\t\t\t\t\talt={`Map of location for ${item.fields.position}`}\r\n\t\t\t\t\t\t\tclassName=\"hc-w-full hc-h-full hc-object-cover\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</button>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nListItem.displayName = \"ListItem\";\r\n\r\nexport default React.memo(ListItem, (prevProps, nextProps) => {\r\n\treturn (\r\n\t\tprevProps.isActive === nextProps.isActive &&\r\n\t\tprevProps.favorites === nextProps.favorites &&\r\n prevProps.item.id === nextProps.item.id &&\r\n\tprevProps.item.fields.travelTime === nextProps.item.fields.travelTime &&\r\n prevProps.fieldsShown === nextProps.fieldsShown &&\r\n prevProps.bodyClassName === nextProps.bodyClassName &&\r\n prevProps.className === nextProps.className\r\n\t);\r\n});\r\n"],"names":["ListItem","forwardRef","_ref","ref","_item$mapDetails","_item$mapDetails2","_item$mapDetails3","_item$mapDetails4","isActive","bodyClassName","className","item","fieldsShown","specialFeatures","onItemSelected","showMap","setMobileTab","handleSettingFavorites","favorites","_ref$includeFavorite","includeFavorite","siteConfig","trackEvent","eventTypes","props","_objectWithoutProperties","_excluded","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","travelTime"],"mappings":"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"}
1
+ {"version":3,"file":"list-item.js","sources":["../../../../../src/components/modules/list/list-item/list-item.js"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\nimport FieldMapper from '~/components/modules/list/field-mapper';\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\thandleSettingFavorites,\n\t\t\tfavorites,\n\t\t\tincludeFavorite = true,\n\t\t\tsiteConfig,\n\t\t\ttrackEvent,\n\t\t\teventTypes,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst mapPinColor = !showMap ? null : 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\t\tlet isFavorite = favorites.includes(item.id);\n\n\t\tconst handleFavouriteClick = (event, item) => {\n\t\t\tif(!includeFavorite)return;\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\thandleSettingFavorites(updatedFavorites);\n\t\t};\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\thc-group hc-relative hc-flex md:hc-flex-col hc-w-full 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${isActive ? \"hc-bg-uiAccent/5 hc-border-secondary hc-border\" : \"hc-text-uiText hc-bg-white\"}\n\t\t\t\t${className ?? \"\"}\n\t\t\t\t`}\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-0\"\n\t\t\t\t\tisAnimated={false}\n\t\t\t\t\tclassName={`\n hc-block md:hc-grid hc-py-2 hc-w-full hc-grow hc-leading-tight hc-text-sm md:hc-text-xs lg:hc-text-sm\n ${bodyClassName ?? \"\"}\n `}\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 hc-opacity-0 hc-text-uiText/60 hc-transition group-hover:hc-opacity-100 group-active:hc-opacity-100\n ${isActive ? \"hc-opacity-100 hc-rotate-45\" : \"\"}\n `}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Item>\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\tincludeFavorite={includeFavorite}\n\t\t\t\t\t\thandleFavouriteClick={handleFavouriteClick}\n\t\t\t\t\t/>\n\t\t\t\t\t{includeFavorite &&\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 hc-px-2\"\n\t\t\t\t\t>\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=\"hc-pr-2 hc-transition-opacity hc-duration-300 hc-cursor-pointer hc-opacity-100\"\n\t\t\t\t\t\t\tonClick={e => {handleFavouriteClick(e, item);}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t\t}\n\t\t\t\t</Grid>\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&center=${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\tprevProps.isActive === nextProps.isActive &&\n\t\tprevProps.favorites === nextProps.favorites &&\n prevProps.item.id === nextProps.item.id &&\n\tprevProps.item.fields.travelTime === nextProps.item.fields.travelTime &&\n prevProps.fieldsShown === nextProps.fieldsShown &&\n prevProps.bodyClassName === nextProps.bodyClassName &&\n prevProps.className === nextProps.className\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","handleSettingFavorites","favorites","_ref$includeFavorite","includeFavorite","siteConfig","trackEvent","eventTypes","props","_objectWithoutProperties","_excluded","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","travelTime"],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import React__default from 'react';
2
2
 
3
3
  var InfoWindowContent = function InfoWindowContent(_ref) {
4
- var _items$0$mapDetails;
4
+ var _items$0$mapDetails, _items$0$mapDetails2, _items$0$mapDetails3;
5
5
  var items = _ref.items,
6
6
  fullAddress = _ref.fullAddress,
7
7
  applyFilters = _ref.applyFilters;
8
8
  if (!items || items.length < 0) {
9
9
  return null;
10
10
  }
11
+ var entityDisplayName = (_items$0$mapDetails = items[0].mapDetails) === null || _items$0$mapDetails === void 0 ? void 0 : _items$0$mapDetails.entityDisplayName;
11
12
  return /*#__PURE__*/React__default.createElement("div", {
12
13
  className: "hc-flex-auto hc-p-2"
13
14
  }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("h4", {
14
15
  className: "hc-text-lg hc-font-bold hc-leading-tight hc-mb-3"
15
- }, (_items$0$mapDetails = items[0].mapDetails) === null || _items$0$mapDetails === void 0 ? void 0 : _items$0$mapDetails.entityDisplayName), /*#__PURE__*/React__default.createElement("p", null, fullAddress), /*#__PURE__*/React__default.createElement("div", {
16
+ }, entityDisplayName), /*#__PURE__*/React__default.createElement("p", null, !entityDisplayName.includes((_items$0$mapDetails2 = items[0].mapDetails) === null || _items$0$mapDetails2 === void 0 || (_items$0$mapDetails2 = _items$0$mapDetails2.address) === null || _items$0$mapDetails2 === void 0 ? void 0 : _items$0$mapDetails2.street) && !entityDisplayName.includes((_items$0$mapDetails3 = items[0].mapDetails) === null || _items$0$mapDetails3 === void 0 || (_items$0$mapDetails3 = _items$0$mapDetails3.address) === null || _items$0$mapDetails3 === void 0 ? void 0 : _items$0$mapDetails3.zip) && fullAddress), /*#__PURE__*/React__default.createElement("div", {
16
17
  className: "hc-pt-2"
17
18
  }, /*#__PURE__*/React__default.createElement("button", {
18
19
  className: "hc-cursor-pointer hover:hc-opacity-70 hc-text-primary",
@@ -1 +1 @@
1
- {"version":3,"file":"info-window-content.js","sources":["../../../../src/components/modules/maps/info-window-content.js"],"sourcesContent":["import React from 'react';\n\nconst InfoWindowContent = ({\n\titems,\n\tfullAddress,\n\tapplyFilters\n}) => {\n\tif (!items || items.length < 0) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<div className=\"hc-flex-auto hc-p-2\">\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<h4 className=\"hc-text-lg hc-font-bold hc-leading-tight hc-mb-3\">\n\t\t\t\t\t\t{items[0].mapDetails?.entityDisplayName}\n\t\t\t\t\t</h4>\n\t\t\t\t\t<p>{fullAddress}</p>\n\t\t\t\t\t<div className=\"hc-pt-2\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"hc-cursor-pointer hover:hc-opacity-70 hc-text-primary\"\n\t\t\t\t\t\t\tonClick={applyFilters}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{items.length > 1\n\t\t\t\t\t\t\t\t? `View All ${items.length} jobs at this location`\n\t\t\t\t\t\t\t\t: `View job at this location`}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default InfoWindowContent;\n"],"names":["InfoWindowContent","_ref","_items$0$mapDetails","items","fullAddress","applyFilters","length","React","createElement","className","mapDetails","entityDisplayName","onClick","concat"],"mappings":";;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAIjB;AAAA,EAAA,IAAAC,mBAAA,CAAA;AAAA,EAAA,IAHLC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,YAAY,GAAAJ,IAAA,CAAZI,YAAY,CAAA;EAEZ,IAAI,CAACF,KAAK,IAAIA,KAAK,CAACG,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EACA,oBACCC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,qBAAA;GACdF,eAAAA,cAAA,CAAAC,aAAA,CACCD,KAAAA,EAAAA,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACCD,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,kDAAA;GAAkDP,EAAAA,CAAAA,mBAAA,GAC9DC,KAAK,CAAC,CAAC,CAAC,CAACO,UAAU,MAAAR,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqBS,iBACnB,CAAC,eACLJ,cAAA,CAAAC,aAAA,CAAIJ,GAAAA,EAAAA,IAAAA,EAAAA,WAAe,CAAC,eACpBG,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,SAAA;GACdF,eAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACCC,IAAAA,SAAS,EAAC,uDAAuD;AACjEG,IAAAA,OAAO,EAAEP,YAAAA;AAAa,GAAA,EAErBF,KAAK,CAACG,MAAM,GAAG,CAAC,eAAAO,MAAA,CACFV,KAAK,CAACG,MAAM,EAEpB,wBAAA,CAAA,GAAA,2BAAA,CACJ,CACD,CACD,CACD,CAAC,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"info-window-content.js","sources":["../../../../src/components/modules/maps/info-window-content.js"],"sourcesContent":["import React from 'react';\r\n\r\nconst InfoWindowContent = ({\r\n\titems,\r\n\tfullAddress,\r\n\tapplyFilters\r\n}) => {\r\n\tif (!items || items.length < 0) {\r\n\t\treturn null;\r\n\t}\r\n\tlet entityDisplayName = items[0].mapDetails?.entityDisplayName;\r\n\treturn (\r\n\t\t<div className=\"hc-flex-auto hc-p-2\">\r\n\t\t\t<div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<h4 className=\"hc-text-lg hc-font-bold hc-leading-tight hc-mb-3\">\r\n\t\t\t\t\t\t{entityDisplayName}\r\n\t\t\t\t\t</h4>\r\n\t\t\t\t\t<p>{!entityDisplayName.includes(items[0].mapDetails?.address?.street) && !entityDisplayName.includes(items[0].mapDetails?.address?.zip) && fullAddress}</p>\r\n\t\t\t\t\t<div className=\"hc-pt-2\">\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclassName=\"hc-cursor-pointer hover:hc-opacity-70 hc-text-primary\"\r\n\t\t\t\t\t\t\tonClick={applyFilters}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{items.length > 1\r\n\t\t\t\t\t\t\t\t? `View All ${items.length} jobs at this location`\r\n\t\t\t\t\t\t\t\t: `View job at this location`}\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default InfoWindowContent;\r\n"],"names":["InfoWindowContent","_ref","_items$0$mapDetails","_items$0$mapDetails2","_items$0$mapDetails3","items","fullAddress","applyFilters","length","entityDisplayName","mapDetails","React","createElement","className","includes","address","street","zip","onClick","concat"],"mappings":";;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAIjB;AAAA,EAAA,IAAAC,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,CAAA;AAAA,EAAA,IAHLC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,YAAY,GAAAN,IAAA,CAAZM,YAAY,CAAA;EAEZ,IAAI,CAACF,KAAK,IAAIA,KAAK,CAACG,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACA,EAAA,IAAIC,iBAAiB,GAAA,CAAAP,mBAAA,GAAGG,KAAK,CAAC,CAAC,CAAC,CAACK,UAAU,MAAAR,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqBO,iBAAiB,CAAA;EAC9D,oBACCE,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,qBAAA;GACdF,eAAAA,cAAA,CAAAC,aAAA,CACCD,KAAAA,EAAAA,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACCD,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC,kDAAA;AAAkD,GAAA,EAC9DJ,iBACE,CAAC,eACLE,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA,IAAA,EAAI,CAACH,iBAAiB,CAACK,QAAQ,CAAAX,CAAAA,oBAAA,GAACE,KAAK,CAAC,CAAC,CAAC,CAACK,UAAU,MAAAP,IAAAA,IAAAA,oBAAA,gBAAAA,oBAAA,GAAnBA,oBAAA,CAAqBY,OAAO,MAAAZ,IAAAA,IAAAA,oBAAA,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAA8Ba,MAAM,CAAC,IAAI,CAACP,iBAAiB,CAACK,QAAQ,CAAA,CAAAV,oBAAA,GAACC,KAAK,CAAC,CAAC,CAAC,CAACK,UAAU,MAAA,IAAA,IAAAN,oBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,oBAAA,GAAnBA,oBAAA,CAAqBW,OAAO,MAAAX,IAAAA,IAAAA,oBAAA,uBAA5BA,oBAAA,CAA8Ba,GAAG,CAAC,IAAIX,WAAe,CAAC,eAC3JK,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,SAAA;GACdF,eAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACCC,IAAAA,SAAS,EAAC,uDAAuD;AACjEK,IAAAA,OAAO,EAAEX,YAAAA;AAAa,GAAA,EAErBF,KAAK,CAACG,MAAM,GAAG,CAAC,eAAAW,MAAA,CACFd,KAAK,CAACG,MAAM,EAEpB,wBAAA,CAAA,GAAA,2BAAA,CACJ,CACD,CACD,CACD,CAAC,CAAA;AAER;;;;"}