@abcagency/hc-ui-components 1.1.1 → 1.2.0
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 +129 -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 +120 -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,88 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Grid from '../../grid.js';
|
|
4
|
+
import IconContained from '../../icon.js';
|
|
5
|
+
import { PillWrapper } from '../../buttons/pill-wrapper.js';
|
|
6
|
+
import { capitalize } from '../../../../util/stringUtils.js';
|
|
7
|
+
|
|
8
|
+
var FieldMapper = function FieldMapper(_ref) {
|
|
9
|
+
var item = _ref.item,
|
|
10
|
+
fieldsShown = _ref.fieldsShown,
|
|
11
|
+
specialFeatures = _ref.specialFeatures,
|
|
12
|
+
handleFavouriteClick = _ref.handleFavouriteClick,
|
|
13
|
+
isFavorite = _ref.isFavorite;
|
|
14
|
+
var orderedFields = fieldsShown.filter(function (field) {
|
|
15
|
+
return field in item.fields;
|
|
16
|
+
});
|
|
17
|
+
var specialFeaturePills = function specialFeaturePills(field) {
|
|
18
|
+
return field === 'position' && specialFeatures && Object.entries(specialFeatures).map(function (_ref2) {
|
|
19
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
20
|
+
featureKey = _ref3[0],
|
|
21
|
+
featureLabel = _ref3[1];
|
|
22
|
+
return item.fields[featureKey] === 1 && /*#__PURE__*/React.createElement(PillWrapper, {
|
|
23
|
+
key: featureKey
|
|
24
|
+
}, featureLabel);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, orderedFields.map(function (field) {
|
|
28
|
+
var value = item.fields[field];
|
|
29
|
+
return /*#__PURE__*/React.createElement(Grid.Item, {
|
|
30
|
+
key: field,
|
|
31
|
+
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-col-span-1", "\n\t\t\t\t\t\t")
|
|
32
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
33
|
+
className: "hc-sr-only"
|
|
34
|
+
}, capitalize(field)), value, /*#__PURE__*/React.createElement("br", null), specialFeaturePills(field));
|
|
35
|
+
}), /*#__PURE__*/React.createElement(Grid.Item, {
|
|
36
|
+
className: "md:hc-hidden"
|
|
37
|
+
}, fieldsShown.includes("position") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: "hc-flex hc-items-start"
|
|
39
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
className: "hc-flex hc-justify-between hc-items-center hc-min-w-[100%]"
|
|
41
|
+
}, " ", /*#__PURE__*/React.createElement("h3", {
|
|
42
|
+
className: "hc-font-bold hc-mb-3 hc-flex-1"
|
|
43
|
+
}, item.fields.position), /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: "hc-flex hc-justify-end hc-pb-2"
|
|
45
|
+
}, /*#__PURE__*/React.createElement(IconContained, {
|
|
46
|
+
icon: isFavorite ? "mdi:heart" : "mdi:heart-outline",
|
|
47
|
+
size: "hc-size-3.5",
|
|
48
|
+
iconClasses: isFavorite ? "hc-text-primary" : "",
|
|
49
|
+
className: "hc-transition-opacity hc-duration-300 hc-cursor-pointer\n\t\t\t\t\t\t\t\t\t".concat(isFavorite ? "hc-opacity-100" : "hc-text-uiText/60 group-hover:hc-opacity-100", "\n\t\t\t\t\t\t\t\t\t"),
|
|
50
|
+
onClick: function onClick(e) {
|
|
51
|
+
return handleFavouriteClick(e);
|
|
52
|
+
}
|
|
53
|
+
})))), specialFeatures && /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: "hc-pb-4"
|
|
55
|
+
}, specialFeaturePills("position"), " ")), /*#__PURE__*/React.createElement("ul", {
|
|
56
|
+
className: "hc-space-y-2 hc-text-xs"
|
|
57
|
+
}, [{
|
|
58
|
+
field: "category",
|
|
59
|
+
name: "Category",
|
|
60
|
+
icon: "icon-park-solid:tree-list"
|
|
61
|
+
}, {
|
|
62
|
+
field: "schedule",
|
|
63
|
+
name: "Schedule",
|
|
64
|
+
icon: "gravity-ui:clock-fill"
|
|
65
|
+
}, {
|
|
66
|
+
field: "cityState",
|
|
67
|
+
name: "Location",
|
|
68
|
+
icon: "fluent:location-16-filled"
|
|
69
|
+
}, {
|
|
70
|
+
field: "travelTime",
|
|
71
|
+
name: "Commute",
|
|
72
|
+
icon: "ri:pin-distance-fill"
|
|
73
|
+
}].map(function (listItem) {
|
|
74
|
+
return fieldsShown.includes(listItem.field) && item.fields[listItem.field] && /*#__PURE__*/React.createElement("li", {
|
|
75
|
+
key: listItem.field,
|
|
76
|
+
className: "hc-flex hc-gap-2"
|
|
77
|
+
}, /*#__PURE__*/React.createElement(IconContained, {
|
|
78
|
+
icon: listItem.icon,
|
|
79
|
+
size: "hc-size-3.5",
|
|
80
|
+
className: "hc-text-uiAccent/30"
|
|
81
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
82
|
+
className: "hc-sr-only"
|
|
83
|
+
}, listItem.name), item.fields[listItem.field]);
|
|
84
|
+
}))));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export { FieldMapper as default };
|
|
88
|
+
//# sourceMappingURL=field-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-mapper.js","sources":["../../../../../src/components/modules/maps/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}) => {\n\tconst orderedFields = fieldsShown.filter(field => field in item.fields);\n\n\tconst specialFeaturePills = (field, mobile = false) => {\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-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%]\"> {/* Use percentage for minimum width */}\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<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)}\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</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","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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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useState, useEffect } from 'react';
|
|
3
|
+
import Button from '../../buttons/default.js';
|
|
4
|
+
|
|
5
|
+
var _excluded = ["className", "children", "field", "setSortSetting", "sortSetting", "isSortable"];
|
|
6
|
+
var SORT_STATE = {
|
|
7
|
+
notSorted: "not-sorted",
|
|
8
|
+
sortedAsc: "sorted-asc",
|
|
9
|
+
sortedDesc: "sorted-desc"
|
|
10
|
+
};
|
|
11
|
+
var HeaderItem = function HeaderItem(_ref) {
|
|
12
|
+
var className = _ref.className,
|
|
13
|
+
children = _ref.children,
|
|
14
|
+
field = _ref.field,
|
|
15
|
+
setSortSetting = _ref.setSortSetting,
|
|
16
|
+
sortSetting = _ref.sortSetting,
|
|
17
|
+
isSortable = _ref.isSortable,
|
|
18
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
19
|
+
var _useState = useState(SORT_STATE.notSorted),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
isSorted = _useState2[0],
|
|
22
|
+
setIsSorted = _useState2[1];
|
|
23
|
+
var handleChange = function handleChange(field) {
|
|
24
|
+
if (isSortable === false) return;
|
|
25
|
+
var setting = {
|
|
26
|
+
field: field,
|
|
27
|
+
type: isSorted === SORT_STATE.sortedAsc ? "desc" : "asc"
|
|
28
|
+
};
|
|
29
|
+
setSortSetting(setting);
|
|
30
|
+
isSorted === SORT_STATE.notSorted ? setIsSorted(SORT_STATE.sortedAsc) : isSorted === SORT_STATE.sortedAsc ? setIsSorted(SORT_STATE.sortedDesc) : setIsSorted(SORT_STATE.sortedAsc);
|
|
31
|
+
};
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
if ((sortSetting === null || sortSetting === void 0 ? void 0 : sortSetting.field) != null && sortSetting.field != field) {
|
|
34
|
+
setIsSorted(SORT_STATE.notSorted);
|
|
35
|
+
} else if ((sortSetting === null || sortSetting === void 0 ? void 0 : sortSetting.field) != null && isSorted == SORT_STATE.notSorted && sortSetting.field == field) {
|
|
36
|
+
setIsSorted(sortSetting.type == "asc" ? SORT_STATE.sortedAsc : SORT_STATE.sortedDesc);
|
|
37
|
+
}
|
|
38
|
+
}, [sortSetting, isSorted, field]);
|
|
39
|
+
return /*#__PURE__*/React.createElement(Button.Btn, _extends({
|
|
40
|
+
onClick: function onClick() {
|
|
41
|
+
return handleChange(field);
|
|
42
|
+
},
|
|
43
|
+
variant: "none",
|
|
44
|
+
className: "\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hc-font-bold 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")
|
|
45
|
+
}, rest), /*#__PURE__*/React.createElement(Button.Body, null, children, isSortable && /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: "hc-flex hc-flex-col hc-pr-2"
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Button.Icon, {
|
|
48
|
+
icon: "bi:caret-up-fill",
|
|
49
|
+
size: "hc-size-2.5",
|
|
50
|
+
className: "\n\t\t\t\t\t\t\thc-transition-opacity\n\t\t\t\t\t\t\t\t".concat(isSorted === "sorted-asc" ? "hc-opacity-100 hc-text-primary" : "hc-opacity-30", "\n\t\t\t\t\t\t\t")
|
|
51
|
+
}), /*#__PURE__*/React.createElement(Button.Icon, {
|
|
52
|
+
icon: "bi:caret-down-fill",
|
|
53
|
+
size: "hc-size-2.5",
|
|
54
|
+
className: "\n\t\t\t\t\t\t\t\ttransition-opacity\n\t\t\t\t\t\t\t\t".concat(isSorted === "sorted-desc" ? "hc-opacity-100" : "hc-opacity-30", "\n\t\t\t\t\t\t\t")
|
|
55
|
+
}))));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { HeaderItem as default };
|
|
59
|
+
//# sourceMappingURL=header-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-item.js","sources":["../../../../../src/components/modules/maps/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\tclassName={`\n\t\t\t\thc-p-2 hc-rounded-none hc-text-left hc-normal-case hc-font-bold hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5\n\t\t\t\t${field.toLowerCase() === \"position\" ? \"hc-col-span-2\" : \"hc-col-span-1\"}\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{children}\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","concat","toLowerCase","Body","Icon","icon","size"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { taggedTemplateLiteral as _taggedTemplateLiteral } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import Grid from '../../grid.js';
|
|
5
|
+
import HeaderItem from './header-item.js';
|
|
6
|
+
|
|
7
|
+
var _templateObject;
|
|
8
|
+
var ListHeader = function ListHeader(_ref) {
|
|
9
|
+
var className = _ref.className,
|
|
10
|
+
fieldsShown = _ref.fieldsShown,
|
|
11
|
+
fieldNames = _ref.fieldNames,
|
|
12
|
+
_ref$fieldIsSortable = _ref.fieldIsSortable,
|
|
13
|
+
fieldIsSortable = _ref$fieldIsSortable === void 0 ? true : _ref$fieldIsSortable,
|
|
14
|
+
setSortSetting = _ref.setSortSetting,
|
|
15
|
+
sortSetting = _ref.sortSetting;
|
|
16
|
+
return /*#__PURE__*/React.createElement(Grid, {
|
|
17
|
+
columns: "hc-grid-flow-col hc-auto-cols-fr",
|
|
18
|
+
gap: "hc-gap-0",
|
|
19
|
+
isAnimated: false,
|
|
20
|
+
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 : "")
|
|
21
|
+
}, fieldsShown.map(function (field) {
|
|
22
|
+
return /*#__PURE__*/React.createElement(HeaderItem, {
|
|
23
|
+
key: field,
|
|
24
|
+
isSortable: fieldIsSortable,
|
|
25
|
+
sortSetting: sortSetting,
|
|
26
|
+
field: field,
|
|
27
|
+
setSortSetting: setSortSetting
|
|
28
|
+
}, fieldNames[field]);
|
|
29
|
+
}), /*#__PURE__*/React.createElement(HeaderItem, {
|
|
30
|
+
key: "favorite",
|
|
31
|
+
isSortable: false,
|
|
32
|
+
field: "favorite"
|
|
33
|
+
}, "Favorite"));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export { ListHeader as default };
|
|
37
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../../../../src/components/modules/maps/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/maps/list/header-item';\n\nconst ListHeader = ({\n\tclassName,\n\tfieldsShown,\n\tfieldNames,\n\tfieldIsSortable = true,\n\tsetSortSetting,\n\tsortSetting\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<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\n\t\t</Grid>\n\t);\n};\n\nexport default ListHeader;\n"],"names":["ListHeader","_ref","className","fieldsShown","fieldNames","_ref$fieldIsSortable","fieldIsSortable","setSortSetting","sortSetting","React","createElement","Grid","columns","gap","isAnimated","twMerge","_templateObject","_taggedTemplateLiteral","map","field","HeaderItem","key","isSortable"],"mappings":";;;;;;;AAMA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAOV;AAAA,EAAA,IANLC,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,CAAA;AAEX,EAAA,oBACCC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACJC,IAAAA,OAAO,EAAC,kCAAkC;AAC1CC,IAAAA,GAAG,EAAC,UAAU;AACdC,IAAAA,UAAU,EAAE,KAAM;AAClBZ,IAAAA,SAAS,EAAEa,OAAO,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,yHAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAEff,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAChB,GAAA,EAEDC,WAAW,CAACe,GAAG,CAAC,UAAAC,KAAK,EAAA;AAAA,IAAA,oBACrBV,KAAA,CAAAC,aAAA,CAACU,UAAU,EAAA;AACVC,MAAAA,GAAG,EAAEF,KAAM;AACXG,MAAAA,UAAU,EAAEhB,eAAgB;AAC5BE,MAAAA,WAAW,EAAEA,WAAY;AACzBW,MAAAA,KAAK,EAAEA,KAAM;AACbZ,MAAAA,cAAc,EAAEA,cAAAA;AAAe,KAAA,EAE9BH,UAAU,CAACe,KAAK,CACN,CAAC,CAAA;AAAA,GACb,CAAC,eACFV,KAAA,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;;;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Accordion from '../../accordions/default.js';
|
|
3
|
+
import ListHeader from './header.js';
|
|
4
|
+
import MapAccordionItem from '../../accordions/MapAccordionItem.js';
|
|
5
|
+
import FilterSort from '../../filter/sort.js';
|
|
6
|
+
import ListingDetails from '../../jobListing/listing-details.js';
|
|
7
|
+
import useListLogic from '../../../../hooks/useList.js';
|
|
8
|
+
import Loading from '../../../../util/loading.js';
|
|
9
|
+
import { useMap } from '../../../../contexts/mapContext.js';
|
|
10
|
+
import { useMapList } from '../../../../contexts/mapListContext.js';
|
|
11
|
+
|
|
12
|
+
var ItemsList = function ItemsList(_ref) {
|
|
13
|
+
var fieldNames = _ref.fieldNames,
|
|
14
|
+
showMap = _ref.showMap,
|
|
15
|
+
fieldsShown = _ref.fieldsShown,
|
|
16
|
+
specialFeatures = _ref.specialFeatures;
|
|
17
|
+
var _useListLogic = useListLogic(),
|
|
18
|
+
itemLimit = _useListLogic.itemLimit,
|
|
19
|
+
sortSetting = _useListLogic.sortSetting,
|
|
20
|
+
loader = _useListLogic.loader,
|
|
21
|
+
scrollContainerRef = _useListLogic.scrollContainerRef,
|
|
22
|
+
itemRefs = _useListLogic.itemRefs,
|
|
23
|
+
setSortSetting = _useListLogic.setSortSetting;
|
|
24
|
+
var _useMap = useMap(),
|
|
25
|
+
selectedListItem = _useMap.selectedListItem;
|
|
26
|
+
var _useMapList = useMapList(),
|
|
27
|
+
mapItems = _useMapList.mapItems,
|
|
28
|
+
filteredListings = _useMapList.filteredListings,
|
|
29
|
+
loading = _useMapList.loading,
|
|
30
|
+
commuteLocation = _useMapList.commuteLocation;
|
|
31
|
+
var itemExpandedContent = function itemExpandedContent(item, recruiters) {
|
|
32
|
+
return item ? /*#__PURE__*/React.createElement(ListingDetails, {
|
|
33
|
+
item: item,
|
|
34
|
+
recruiters: recruiters
|
|
35
|
+
}) : null;
|
|
36
|
+
};
|
|
37
|
+
if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
|
|
38
|
+
fieldsShown.push('travelTime');
|
|
39
|
+
fieldNames['travelTime'] = 'Commute';
|
|
40
|
+
} else if (fieldsShown.includes('travelTime') && !commuteLocation) {
|
|
41
|
+
fieldsShown = fieldsShown.filter(function (x) {
|
|
42
|
+
return x !== 'travelTime';
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: "hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col"
|
|
47
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
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"
|
|
49
|
+
}, /*#__PURE__*/React.createElement("h2", {
|
|
50
|
+
className: "hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm"
|
|
51
|
+
}, loading && /*#__PURE__*/React.createElement("span", null, "Loading..."), !loading && /*#__PURE__*/React.createElement("span", null, filteredListings.length, " results")), /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: "hc-block md:hc-hidden"
|
|
53
|
+
}, /*#__PURE__*/React.createElement(FilterSort, {
|
|
54
|
+
fields: fieldsShown,
|
|
55
|
+
setSortSetting: setSortSetting,
|
|
56
|
+
fieldNames: fieldNames
|
|
57
|
+
}))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ListHeader, {
|
|
58
|
+
setSortSetting: setSortSetting,
|
|
59
|
+
sortSetting: sortSetting,
|
|
60
|
+
fieldsShown: fieldsShown,
|
|
61
|
+
fieldNames: fieldNames
|
|
62
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
ref: scrollContainerRef,
|
|
64
|
+
className: "\n\t\t\t\t\thc-flex-grow hc-overflow-y-auto\n\t\t\t\t\t".concat(showMap ? "md:hc-max-h-45vh hc-max-h-[100vh]" : "md:hc-max-h-95vh hc-max-h-[95vh]", "\n\t\t\t\t")
|
|
65
|
+
}, loading ? /*#__PURE__*/React.createElement("div", {
|
|
66
|
+
className: "hc-flex hc-justify-center hc-items-center hc-pt-20"
|
|
67
|
+
}, /*#__PURE__*/React.createElement(Loading, null)) : /*#__PURE__*/React.createElement(Accordion, {
|
|
68
|
+
className: "hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]",
|
|
69
|
+
defaultValue: selectedListItem === null || selectedListItem === void 0 ? void 0 : selectedListItem.id
|
|
70
|
+
}, filteredListings.slice(0, itemLimit).map(function (item) {
|
|
71
|
+
return /*#__PURE__*/React.createElement(MapAccordionItem, {
|
|
72
|
+
key: item.id,
|
|
73
|
+
showMap: showMap,
|
|
74
|
+
item: item,
|
|
75
|
+
itemRefs: itemRefs,
|
|
76
|
+
fieldsShown: fieldsShown,
|
|
77
|
+
itemExpandedContent: itemExpandedContent,
|
|
78
|
+
specialFeatures: specialFeatures,
|
|
79
|
+
mapItems: mapItems,
|
|
80
|
+
isActive: (selectedListItem === null || selectedListItem === void 0 ? void 0 : selectedListItem.id) == item.id,
|
|
81
|
+
hasListItemSelected: selectedListItem != null
|
|
82
|
+
});
|
|
83
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
84
|
+
ref: loader,
|
|
85
|
+
style: {
|
|
86
|
+
height: "100px",
|
|
87
|
+
textAlign: "center"
|
|
88
|
+
}
|
|
89
|
+
}, filteredListings.length >= itemLimit && /*#__PURE__*/React.createElement(Loading, null))));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export { ItemsList as default };
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/modules/maps/list/index.js"],"sourcesContent":["import React from 'react';\n\nimport Accordion from '~/components/modules/accordions/default';\nimport Header from '~/components/modules/maps/list/header';\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\nimport Sort from '~/components/modules/filter/sort';\nimport ListingDetails from '~/components/modules/jobListing/listing-details';\n\nimport useListLogic from '~/hooks/useList';\n\nimport Loading from \"~/util/loading\";\n\nimport { useMap } from '~/contexts/mapContext';\nimport { useMapList } from '~/contexts/mapListContext';\n\nconst ItemsList = ({\n\tfieldNames,\n\tshowMap,\n\tfieldsShown,\n\tspecialFeatures\n}) => {\n\n\tconst {\n\t\titemLimit,\n\t\tsortSetting,\n\t\tloader,\n\t\tscrollContainerRef,\n\t\titemRefs,\n\t\tsetSortSetting\n\t} = useListLogic();\n\tconst { selectedListItem } = useMap();\n\tconst { mapItems, filteredListings, loading, commuteLocation } = useMapList();\n\tconst itemExpandedContent = (item, recruiters) =>\n\t\titem ? <ListingDetails item={item} recruiters={recruiters} /> : null;\n\tif (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {\n\t\tfieldsShown.push('travelTime');\n\t\tfieldNames['travelTime'] = 'Commute';\n\t} else if (fieldsShown.includes('travelTime') && !commuteLocation) {\n\t\tfieldsShown = fieldsShown.filter(x => x !== 'travelTime');\n\t}\n\n\treturn (\n\t\t<div className=\"hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col\">\n\t\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\t<h2 className=\"hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm\">\n\t\t\t\t\t{loading &&\n\t\t\t\t\t\t<span>Loading...</span>\n\t\t\t\t\t}\n\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t<span>{filteredListings.length} results</span>\n\t\t\t\t\t}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"hc-block md:hc-hidden\">\n\t\t\t\t\t<Sort\n\t\t\t\t\t\tfields={fieldsShown}\n\t\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Header\n\t\t\t\t\tsetSortSetting={setSortSetting}\n\t\t\t\t\tsortSetting={sortSetting}\n\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\tfieldNames={fieldNames}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={scrollContainerRef}\n\t\t\t\tclassName={`\n\t\t\t\t\thc-flex-grow hc-overflow-y-auto\n\t\t\t\t\t${showMap ? \"md:hc-max-h-45vh hc-max-h-[100vh]\" : \"md:hc-max-h-95vh hc-max-h-[95vh]\"}\n\t\t\t\t`}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<div className=\"hc-flex hc-justify-center hc-items-center hc-pt-20\">\n\t\t\t\t\t\t<Loading />\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Accordion className=\"hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]\" defaultValue={selectedListItem?.id}>\n\t\t\t\t\t\t{filteredListings.slice(0, itemLimit).map(item => {\n\t\t\t\t\t\t\treturn (<MapAccordionItem\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\tshowMap={showMap}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\titemRefs={itemRefs}\n\t\t\t\t\t\t\t\tfieldsShown={fieldsShown}\n\t\t\t\t\t\t\t\titemExpandedContent={itemExpandedContent}\n\t\t\t\t\t\t\t\tspecialFeatures={specialFeatures}\n\t\t\t\t\t\t\t\tmapItems={mapItems}\n\t\t\t\t\t\t\t\tisActive={selectedListItem?.id == item.id}\n\t\t\t\t\t\t\t\thasListItemSelected={selectedListItem != null}\n\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</Accordion>\n\t\t\t\t)}\n\t\t\t\t<div ref={loader} style={{ height: \"100px\", textAlign: \"center\" }}>\n\t\t\t\t\t{filteredListings.length >= itemLimit && <Loading />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default ItemsList;\n"],"names":["ItemsList","_ref","fieldNames","showMap","fieldsShown","specialFeatures","_useListLogic","useListLogic","itemLimit","sortSetting","loader","scrollContainerRef","itemRefs","setSortSetting","_useMap","useMap","selectedListItem","_useMapList","useMapList","mapItems","filteredListings","loading","commuteLocation","itemExpandedContent","item","recruiters","React","createElement","ListingDetails","includes","Object","entries","length","push","filter","x","className","Sort","fields","Header","ref","concat","Loading","Accordion","defaultValue","id","slice","map","MapAccordionItem","key","isActive","hasListItemSelected","style","height","textAlign"],"mappings":";;;;;;;;;;;AAeA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJLC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,eAAe,GAAAJ,IAAA,CAAfI,eAAe,CAAA;AAGf,EAAA,IAAAC,aAAA,GAOIC,YAAY,EAAE;IANjBC,SAAS,GAAAF,aAAA,CAATE,SAAS;IACTC,WAAW,GAAAH,aAAA,CAAXG,WAAW;IACXC,MAAM,GAAAJ,aAAA,CAANI,MAAM;IACNC,kBAAkB,GAAAL,aAAA,CAAlBK,kBAAkB;IAClBC,QAAQ,GAAAN,aAAA,CAARM,QAAQ;IACRC,cAAc,GAAAP,aAAA,CAAdO,cAAc,CAAA;AAEf,EAAA,IAAAC,OAAA,GAA6BC,MAAM,EAAE;IAA7BC,gBAAgB,GAAAF,OAAA,CAAhBE,gBAAgB,CAAA;AACxB,EAAA,IAAAC,WAAA,GAAiEC,UAAU,EAAE;IAArEC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;IAAEC,gBAAgB,GAAAH,WAAA,CAAhBG,gBAAgB;IAAEC,OAAO,GAAAJ,WAAA,CAAPI,OAAO;IAAEC,eAAe,GAAAL,WAAA,CAAfK,eAAe,CAAA;AAC5D,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,UAAU,EAAA;AAAA,IAAA,OAC5CD,IAAI,gBAAGE,KAAA,CAAAC,aAAA,CAACC,cAAc,EAAA;AAACJ,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,UAAU,EAAEA,UAAAA;KAAa,CAAC,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;EACrE,IAAI,CAACrB,WAAW,CAACyB,QAAQ,CAAC,YAAY,CAAC,IAAIP,eAAe,IAAI,IAAI,IAAIQ,MAAM,CAACC,OAAO,CAACT,eAAe,CAAC,CAACU,MAAM,GAAG,CAAC,EAAE;AACjH5B,IAAAA,WAAW,CAAC6B,IAAI,CAAC,YAAY,CAAC,CAAA;AAC9B/B,IAAAA,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;GACpC,MAAM,IAAIE,WAAW,CAACyB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAACP,eAAe,EAAE;AAClElB,IAAAA,WAAW,GAAGA,WAAW,CAAC8B,MAAM,CAAC,UAAAC,CAAC,EAAA;MAAA,OAAIA,CAAC,KAAK,YAAY,CAAA;KAAC,CAAA,CAAA;AAC1D,GAAA;EAEA,oBACCT,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,wDAAA;GACdV,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,yLAAA;GACdV,eAAAA,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIS,IAAAA,SAAS,EAAC,4DAAA;GACZf,EAAAA,OAAO,iBACPK,KAAA,CAAAC,aAAA,CAAM,MAAA,EAAA,IAAA,EAAA,YAAgB,CAAC,EAEvB,CAACN,OAAO,iBACRK,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOP,gBAAgB,CAACY,MAAM,EAAC,UAAc,CAE3C,CAAC,eACLN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,eACrCV,KAAA,CAAAC,aAAA,CAACU,UAAI,EAAA;AACJC,IAAAA,MAAM,EAAElC,WAAY;AACpBS,IAAAA,cAAc,EAAEA,cAAe;AAC/BX,IAAAA,UAAU,EAAEA,UAAAA;AAAW,GACvB,CACG,CACD,CAAC,eACNwB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACCD,KAAA,CAAAC,aAAA,CAACY,UAAM,EAAA;AACN1B,IAAAA,cAAc,EAAEA,cAAe;AAC/BJ,IAAAA,WAAW,EAAEA,WAAY;AACzBL,IAAAA,WAAW,EAAEA,WAAY;AACzBF,IAAAA,UAAU,EAAEA,UAAAA;AAAW,GACvB,CACG,CAAC,eACNwB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCa,IAAAA,GAAG,EAAE7B,kBAAmB;AACxByB,IAAAA,SAAS,4DAAAK,MAAA,CAENtC,OAAO,GAAG,mCAAmC,GAAG,kCAAkC,EAAA,YAAA,CAAA;AACnF,GAAA,EAEDkB,OAAO,gBACPK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,oDAAA;AAAoD,GAAA,eAClEV,KAAA,CAAAC,aAAA,CAACe,OAAO,EAAA,IAAE,CACN,CAAC,gBAENhB,KAAA,CAAAC,aAAA,CAACgB,SAAS,EAAA;AAACP,IAAAA,SAAS,EAAC,+CAA+C;AAACQ,IAAAA,YAAY,EAAE5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAE6B,EAAAA;AAAG,GAAA,EACtGzB,gBAAgB,CAAC0B,KAAK,CAAC,CAAC,EAAEtC,SAAS,CAAC,CAACuC,GAAG,CAAC,UAAAvB,IAAI,EAAI;AACjD,IAAA,oBAAQE,KAAA,CAAAC,aAAA,CAACqB,gBAAgB,EAAA;MACxBC,GAAG,EAAEzB,IAAI,CAACqB,EAAG;AACb1C,MAAAA,OAAO,EAAEA,OAAQ;AACjBqB,MAAAA,IAAI,EAAEA,IAAK;AACXZ,MAAAA,QAAQ,EAAEA,QAAS;AACnBR,MAAAA,WAAW,EAAEA,WAAY;AACzBmB,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzClB,MAAAA,eAAe,EAAEA,eAAgB;AACjCc,MAAAA,QAAQ,EAAEA,QAAS;AACnB+B,MAAAA,QAAQ,EAAE,CAAAlC,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAE6B,EAAE,KAAIrB,IAAI,CAACqB,EAAG;MAC1CM,mBAAmB,EAAEnC,gBAAgB,IAAI,IAAA;AAAK,KAC9C,CAAC,CAAA;AAEH,GAAC,CACS,CACX,eACDU,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKa,IAAAA,GAAG,EAAE9B,MAAO;AAAC0C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE,OAAO;AAAEC,MAAAA,SAAS,EAAE,QAAA;AAAS,KAAA;AAAE,GAAA,EAChElC,gBAAgB,CAACY,MAAM,IAAIxB,SAAS,iBAAIkB,KAAA,CAAAC,aAAA,CAACe,OAAO,EAAA,IAAE,CAC/C,CACD,CACD,CAAC,CAAA;AAER;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
|
|
5
|
+
var _excluded = ["className", "content"];
|
|
6
|
+
var CardItemExpand = function CardItemExpand(_ref) {
|
|
7
|
+
var className = _ref.className,
|
|
8
|
+
content = _ref.content,
|
|
9
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
11
|
+
className: twMerge('hc-flex hc-flex-col lg:hc-flex-row hc-flex-wrap hc-items-stretch hc-gap-x-4 hc-w-full lg:hc-pt-2 hc-border-t hc-border-uiAccent/20', className !== null && className !== void 0 ? className : '')
|
|
12
|
+
}, props), content);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { CardItemExpand as default };
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/modules/maps/list/item-expand-card/index.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nconst CardItemExpand = ({\n\tclassName,\n\tcontent,\n\t...props\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t'hc-flex hc-flex-col lg:hc-flex-row hc-flex-wrap hc-items-stretch hc-gap-x-4 hc-w-full lg:hc-pt-2 hc-border-t hc-border-uiAccent/20',\n\t\t\t\tclassName ?? ''\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t);\n};\n\nexport default CardItemExpand;\n"],"names":["CardItemExpand","_ref","className","content","props","_objectWithoutProperties","_excluded","React","createElement","_extends","twMerge"],"mappings":";;;;;AAGA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAId;AAAA,EAAA,IAHLC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,OAAO,GAAAF,IAAA,CAAPE,OAAO;AACJC,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAER,EAAA,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;IACCP,SAAS,EAAEQ,OAAO,CACjB,oIAAoI,EACpIR,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EACd,CAAA;GACIE,EAAAA,KAAK,CAERD,EAAAA,OACG,CAAC,CAAA;AAER;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Button from '../../../buttons/default.js';
|
|
4
|
+
|
|
5
|
+
var _excluded = ["className", "href", "target", "title", "icon"];
|
|
6
|
+
var RecruiterContactNav = function RecruiterContactNav(_ref) {
|
|
7
|
+
var children = _ref.children,
|
|
8
|
+
className = _ref.className;
|
|
9
|
+
return /*#__PURE__*/React.createElement("nav", {
|
|
10
|
+
className: "\n\t\t\thc-inline-flex hc-items-center hc-justify-between hc-gap-2 hc-mt-2\n\t\t\t\t".concat(className !== null && className !== void 0 ? className : '', "\n\t\t\t")
|
|
11
|
+
}, children);
|
|
12
|
+
};
|
|
13
|
+
var NavButton = function NavButton(_ref2) {
|
|
14
|
+
var className = _ref2.className,
|
|
15
|
+
href = _ref2.href,
|
|
16
|
+
_ref2$target = _ref2.target,
|
|
17
|
+
target = _ref2$target === void 0 ? '_self' : _ref2$target,
|
|
18
|
+
title = _ref2.title,
|
|
19
|
+
icon = _ref2.icon,
|
|
20
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
21
|
+
return /*#__PURE__*/React.createElement(Button.Anchor, _extends({
|
|
22
|
+
href: href,
|
|
23
|
+
variant: "icon",
|
|
24
|
+
size: "sq",
|
|
25
|
+
target: target,
|
|
26
|
+
title: title,
|
|
27
|
+
className: className !== null && className !== void 0 ? className : ''
|
|
28
|
+
}, props), /*#__PURE__*/React.createElement("span", {
|
|
29
|
+
className: "hc-sr-only"
|
|
30
|
+
}, title), /*#__PURE__*/React.createElement(Button.Icon, {
|
|
31
|
+
icon: icon,
|
|
32
|
+
size: "hc-size-8"
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
RecruiterContactNav.Button = NavButton;
|
|
36
|
+
|
|
37
|
+
export { NavButton, RecruiterContactNav as default };
|
|
38
|
+
//# sourceMappingURL=recruiter-contact-nav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recruiter-contact-nav.js","sources":["../../../../../../src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js"],"sourcesContent":["import React from 'react';\n\nimport Button from '~/components/modules/buttons/default';\n\nconst RecruiterContactNav = ({\n\tchildren,\n\tclassName\n}) => {\n\treturn (\n\t\t<nav\n\t\t\tclassName={`\n\t\t\thc-inline-flex hc-items-center hc-justify-between hc-gap-2 hc-mt-2\n\t\t\t\t${className ?? ''}\n\t\t\t`}\n\t\t>\n\t\t\t{children}\n\t\t</nav>\n\t);\n};\n\nexport const NavButton = ({\n\tclassName,\n\thref,\n\ttarget = '_self',\n\ttitle,\n\ticon,\n\t...props\n}) => {\n\treturn (\n\t\t<Button.Anchor\n\t\t\thref={href}\n\t\t\tvariant=\"icon\"\n\t\t\tsize=\"sq\"\n\t\t\ttarget={target}\n\t\t\ttitle={title}\n\t\t\tclassName={className ?? ''}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"hc-sr-only\">{title}</span>\n\t\t\t<Button.Icon\n\t\t\t\ticon={icon}\n\t\t\t\tsize=\"hc-size-8\"\n\t\t\t/>\n\t\t</Button.Anchor>\n\t);\n};\n\nRecruiterContactNav.Button = NavButton;\n\nexport default RecruiterContactNav;\n"],"names":["RecruiterContactNav","_ref","children","className","React","createElement","concat","NavButton","_ref2","href","_ref2$target","target","title","icon","props","_objectWithoutProperties","_excluded","Button","Anchor","_extends","variant","size","Icon"],"mappings":";;;;;AAIA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAGnB;AAAA,EAAA,IAFLC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,SAAS,GAAAF,IAAA,CAATE,SAAS,CAAA;EAET,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACCF,SAAS,EAAA,sFAAA,CAAAG,MAAA,CAENH,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAE,EAAA,UAAA,CAAA;AAChB,GAAA,EAEDD,QACG,CAAC,CAAA;AAER,EAAC;IAEYK,SAAS,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAOhB;AAAA,EAAA,IANLL,SAAS,GAAAK,KAAA,CAATL,SAAS;IACTM,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAAC,YAAA,GAAAF,KAAA,CACJG,MAAM;AAANA,IAAAA,MAAM,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,YAAA;IAChBE,KAAK,GAAAJ,KAAA,CAALI,KAAK;IACLC,IAAI,GAAAL,KAAA,CAAJK,IAAI;AACDC,IAAAA,KAAK,GAAAC,wBAAA,CAAAP,KAAA,EAAAQ,SAAA,CAAA,CAAA;EAER,oBACCZ,KAAA,CAAAC,aAAA,CAACY,MAAM,CAACC,MAAM,EAAAC,QAAA,CAAA;AACbV,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,IAAI,EAAC,IAAI;AACTV,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,KAAK,EAAEA,KAAM;AACbT,IAAAA,SAAS,EAAEA,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAA;AAAG,GAAA,EACvBW,KAAK,CAAA,eAETV,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMF,IAAAA,SAAS,EAAC,YAAA;GAAcS,EAAAA,KAAY,CAAC,eAC3CR,KAAA,CAAAC,aAAA,CAACY,MAAM,CAACK,IAAI,EAAA;AACXT,IAAAA,IAAI,EAAEA,IAAK;AACXQ,IAAAA,IAAI,EAAC,WAAA;AAAW,GAChB,CACa,CAAC,CAAA;AAElB,EAAC;AAEDrB,mBAAmB,CAACiB,MAAM,GAAGV,SAAS;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { taggedTemplateLiteral as _taggedTemplateLiteral } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
6
|
+
var RecruiterDetails = function RecruiterDetails(_ref) {
|
|
7
|
+
var contactNav = _ref.contactNav,
|
|
8
|
+
className = _ref.className,
|
|
9
|
+
children = _ref.children;
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: twMerge(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t\t\t\thc-grow\n\t\t\t\t", "\n\t\t\t"])), className !== null && className !== void 0 ? className : '')
|
|
12
|
+
}, children, contactNav && /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
className: "hc-inline-flex"
|
|
14
|
+
}, contactNav));
|
|
15
|
+
};
|
|
16
|
+
var Title = function Title(_ref2) {
|
|
17
|
+
var _ref2$as = _ref2.as,
|
|
18
|
+
as = _ref2$as === void 0 ? 'h4' : _ref2$as,
|
|
19
|
+
className = _ref2.className,
|
|
20
|
+
children = _ref2.children;
|
|
21
|
+
var Container = as;
|
|
22
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
23
|
+
className: twMerge(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n\t\t\t\thc-text-base hc-font-medium\n\t\t\t\t", "\n\t\t\t"])), className !== null && className !== void 0 ? className : '')
|
|
24
|
+
}, children);
|
|
25
|
+
};
|
|
26
|
+
var Text = function Text(_ref3) {
|
|
27
|
+
var _ref3$as = _ref3.as,
|
|
28
|
+
as = _ref3$as === void 0 ? 'p' : _ref3$as,
|
|
29
|
+
className = _ref3.className,
|
|
30
|
+
children = _ref3.children;
|
|
31
|
+
var Container = as;
|
|
32
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
33
|
+
className: twMerge(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t\t\thc-text-sm hc-text-uiText/60\n\t\t\t\t", "\n\t\t\t"])), className !== null && className !== void 0 ? className : '')
|
|
34
|
+
}, children);
|
|
35
|
+
};
|
|
36
|
+
RecruiterDetails.Title = Title;
|
|
37
|
+
RecruiterDetails.Text = Text;
|
|
38
|
+
|
|
39
|
+
export { Text, Title, RecruiterDetails as default };
|
|
40
|
+
//# sourceMappingURL=recruiter-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recruiter-details.js","sources":["../../../../../../src/components/modules/maps/list/item-expand-card/recruiter-details.js"],"sourcesContent":["import React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nconst RecruiterDetails = ({\n\tcontactNav,\n\tclassName,\n\tchildren\n}) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge`\n\t\t\t\thc-grow\n\t\t\t\t${className ?? ''}\n\t\t\t`}\n\t\t>\n\t\t\t{children}\n\n\t\t\t{contactNav &&\n\t\t\t\t<div className=\"hc-inline-flex\">\n\t\t\t\t\t{contactNav}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport const Title = ({\n\tas = 'h4',\n\tclassName,\n\tchildren\n}) => {\n\tconst Container = as;\n\n\treturn (\n\t\t<Container\n\t\t\tclassName={twMerge`\n\t\t\t\thc-text-base hc-font-medium\n\t\t\t\t${className ?? ''}\n\t\t\t`}\n\t\t>\n\t\t\t{children}\n\t\t</Container>\n\t);\n};\n\nexport const Text = ({\n\tas = 'p',\n\tclassName,\n\tchildren\n}) => {\n\tconst Container = as;\n\n\treturn (\n\t\t<Container\n\t\t\tclassName={twMerge`\n\t\t\t\thc-text-sm hc-text-uiText/60\n\t\t\t\t${className ?? ''}\n\t\t\t`}\n\t\t>\n\t\t\t{children}\n\t\t</Container>\n\t);\n};\n\nRecruiterDetails.Title = Title;\nRecruiterDetails.Text = Text;\n\nexport default RecruiterDetails;\n"],"names":["RecruiterDetails","_ref","contactNav","className","children","React","createElement","twMerge","_templateObject","_taggedTemplateLiteral","Title","_ref2","_ref2$as","as","Container","_templateObject2","Text","_ref3","_ref3$as","_templateObject3"],"mappings":";;;;;AAGA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAIhB;AAAA,EAAA,IAHLC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;EAER,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCH,IAAAA,SAAS,EAAEI,OAAO,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,6BAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAEfN,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAChB,GAAA,EAEDC,QAAQ,EAERF,UAAU,iBACVG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,SAAS,EAAC,gBAAA;GACbD,EAAAA,UACG,CAEF,CAAC,CAAA;AAER,EAAC;IAEYQ,KAAK,GAAG,SAARA,KAAKA,CAAAC,KAAA,EAIZ;AAAA,EAAA,IAAAC,QAAA,GAAAD,KAAA,CAHLE,EAAE;AAAFA,IAAAA,EAAE,GAAAD,QAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,QAAA;IACTT,SAAS,GAAAQ,KAAA,CAATR,SAAS;IACTC,QAAQ,GAAAO,KAAA,CAARP,QAAQ,CAAA;EAER,IAAMU,SAAS,GAAGD,EAAE,CAAA;AAEpB,EAAA,oBACCR,KAAA,CAAAC,aAAA,CAACQ,SAAS,EAAA;AACTX,IAAAA,SAAS,EAAEI,OAAO,CAAAQ,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,CAAA,CAAA,iDAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAEfN,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAChB,GAAA,EAEDC,QACS,CAAC,CAAA;AAEd,EAAC;IAEYY,IAAI,GAAG,SAAPA,IAAIA,CAAAC,KAAA,EAIX;AAAA,EAAA,IAAAC,QAAA,GAAAD,KAAA,CAHLJ,EAAE;AAAFA,IAAAA,EAAE,GAAAK,QAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,QAAA;IACRf,SAAS,GAAAc,KAAA,CAATd,SAAS;IACTC,QAAQ,GAAAa,KAAA,CAARb,QAAQ,CAAA;EAER,IAAMU,SAAS,GAAGD,EAAE,CAAA;AAEpB,EAAA,oBACCR,KAAA,CAAAC,aAAA,CAACQ,SAAS,EAAA;AACTX,IAAAA,SAAS,EAAEI,OAAO,CAAAY,gBAAA,KAAAA,gBAAA,GAAAV,sBAAA,CAAA,CAAA,kDAAA,EAAA,UAAA,CAAA,CAAA,CAAA,EAEfN,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAChB,GAAA,EAEDC,QACS,CAAC,CAAA;AAEd,EAAC;AAEDJ,gBAAgB,CAACU,KAAK,GAAGA,KAAK,CAAA;AAC9BV,gBAAgB,CAACgB,IAAI,GAAGA,IAAI;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var RecruiterHeadshot = function RecruiterHeadshot(_ref) {
|
|
4
|
+
var image = _ref.image,
|
|
5
|
+
alt = _ref.alt,
|
|
6
|
+
className = _ref.className,
|
|
7
|
+
imageClassName = _ref.imageClassName;
|
|
8
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
9
|
+
className: className !== null && className !== void 0 ? className : ''
|
|
10
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
11
|
+
src: image,
|
|
12
|
+
width: "96",
|
|
13
|
+
height: "96",
|
|
14
|
+
alt: alt,
|
|
15
|
+
className: imageClassName !== null && imageClassName !== void 0 ? imageClassName : ''
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { RecruiterHeadshot as default };
|
|
20
|
+
//# sourceMappingURL=recruiter-headshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recruiter-headshot.js","sources":["../../../../../../src/components/modules/maps/list/item-expand-card/recruiter-headshot.js"],"sourcesContent":["import React from 'react';\n\nconst RecruiterHeadshot = ({\n\timage,\n\talt,\n\tclassName,\n\timageClassName\n}) => {\n\treturn (\n\t\t<div className={className ?? ''}>\n\t\t\t<img\n\t\t\t\tsrc={image}\n\t\t\t\twidth=\"96\"\n\t\t\t\theight=\"96\"\n\t\t\t\talt={alt}\n\t\t\t\tclassName={imageClassName ?? ''}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default RecruiterHeadshot;\n"],"names":["RecruiterHeadshot","_ref","image","alt","className","imageClassName","React","createElement","src","width","height"],"mappings":";;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAKjB;AAAA,EAAA,IAJLC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,cAAc,GAAAJ,IAAA,CAAdI,cAAc,CAAA;EAEd,oBACCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,SAAS,EAAEA,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAATA,SAAS,GAAI,EAAA;GAC5BE,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACCC,IAAAA,GAAG,EAAEN,KAAM;AACXO,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,IAAI;AACXP,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,SAAS,EAAEC,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAdA,cAAc,GAAI,EAAA;AAAG,GAChC,CACG,CAAC,CAAA;AAER;;;;"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, toConsumableArray as _toConsumableArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import Grid from '../../../grid.js';
|
|
4
|
+
import IconContained from '../../../icon.js';
|
|
5
|
+
import FieldMapper from '../field-mapper.js';
|
|
6
|
+
import { useMapList } from '../../../../../contexts/mapListContext.js';
|
|
7
|
+
|
|
8
|
+
var _excluded = ["isActive", "bodyClassName", "className", "item", "fieldsShown", "specialFeatures", "onItemSelected", "showMap", "setMobileTab", "favorites", "setFavorites"];
|
|
9
|
+
var ListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
10
|
+
var _item$mapDetails, _item$mapDetails2, _item$mapDetails3, _item$mapDetails4;
|
|
11
|
+
var isActive = _ref.isActive,
|
|
12
|
+
bodyClassName = _ref.bodyClassName,
|
|
13
|
+
className = _ref.className,
|
|
14
|
+
item = _ref.item,
|
|
15
|
+
fieldsShown = _ref.fieldsShown,
|
|
16
|
+
specialFeatures = _ref.specialFeatures,
|
|
17
|
+
onItemSelected = _ref.onItemSelected,
|
|
18
|
+
showMap = _ref.showMap,
|
|
19
|
+
setMobileTab = _ref.setMobileTab,
|
|
20
|
+
favorites = _ref.favorites,
|
|
21
|
+
setFavorites = _ref.setFavorites,
|
|
22
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
+
var _useMapList = useMapList(),
|
|
24
|
+
siteConfig = _useMapList.siteConfig;
|
|
25
|
+
var mapPinColor = siteConfig.colors.primary.replace("#", "");
|
|
26
|
+
var handleClick = function handleClick() {
|
|
27
|
+
if (onItemSelected) {
|
|
28
|
+
onItemSelected(item);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var isFavorite = favorites.includes(item.id);
|
|
32
|
+
var handleFavouriteClick = function handleFavouriteClick(event) {
|
|
33
|
+
event.stopPropagation();
|
|
34
|
+
var updatedFavorites;
|
|
35
|
+
if (isFavorite) {
|
|
36
|
+
updatedFavorites = favorites.filter(function (fav) {
|
|
37
|
+
return fav !== item.id;
|
|
38
|
+
});
|
|
39
|
+
} else {
|
|
40
|
+
updatedFavorites = [].concat(_toConsumableArray(favorites), [item.id]);
|
|
41
|
+
}
|
|
42
|
+
isFavorite = !isFavorite;
|
|
43
|
+
setFavorites(updatedFavorites);
|
|
44
|
+
};
|
|
45
|
+
return /*#__PURE__*/React.createElement("button", _extends({
|
|
46
|
+
ref: ref,
|
|
47
|
+
onClick: handleClick,
|
|
48
|
+
className: "\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".concat(isActive ? "hc-bg-uiAccent/5 hc-border-secondary hc-border" : "hc-text-uiText hc-bg-white", "\n\t\t\t\t\t").concat(className !== null && className !== void 0 ? className : "", "\n ")
|
|
49
|
+
}, props), /*#__PURE__*/React.createElement(Grid, {
|
|
50
|
+
columns: "hc-grid-flow-col hc-auto-cols-fr",
|
|
51
|
+
gap: "hc-gap-2",
|
|
52
|
+
isAnimated: false,
|
|
53
|
+
className: "\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".concat(bodyClassName !== null && bodyClassName !== void 0 ? bodyClassName : "", "\n\t\t\t\t\t")
|
|
54
|
+
}, /*#__PURE__*/React.createElement(Grid.Item, {
|
|
55
|
+
className: "hc-hidden md:hc-block md:hc-absolute md:hc-left-1.5 hc-top-1.5"
|
|
56
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
57
|
+
className: "hc-sr-only"
|
|
58
|
+
}, "Expand row"), /*#__PURE__*/React.createElement(IconContained, {
|
|
59
|
+
icon: "fluent-emoji-high-contrast:plus",
|
|
60
|
+
size: "hc-size-2.5",
|
|
61
|
+
className: "\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".concat(isActive ? "hc-opacity-100 hc-rotate-45" : "", "\n\t\t\t\t\t\t\t")
|
|
62
|
+
})), /*#__PURE__*/React.createElement(FieldMapper, {
|
|
63
|
+
item: item,
|
|
64
|
+
fieldsShown: fieldsShown,
|
|
65
|
+
specialFeatures: specialFeatures,
|
|
66
|
+
isFavorite: isFavorite,
|
|
67
|
+
handleFavouriteClick: handleFavouriteClick
|
|
68
|
+
}), /*#__PURE__*/React.createElement(Grid.Item, {
|
|
69
|
+
key: "favorites",
|
|
70
|
+
className: "hc-hidden md:hc-block hc-col-span-1"
|
|
71
|
+
}, /*#__PURE__*/React.createElement(IconContained, {
|
|
72
|
+
icon: isFavorite ? "mdi:heart" : "mdi:heart-outline",
|
|
73
|
+
size: "hc-size-3.5",
|
|
74
|
+
iconClasses: isFavorite ? "hc-text-primary" : "",
|
|
75
|
+
title: !isFavorite ? 'Add job to favorites' : 'Remove job from favorites',
|
|
76
|
+
className: "\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",
|
|
77
|
+
onClick: function onClick(e) {
|
|
78
|
+
return handleFavouriteClick(e);
|
|
79
|
+
}
|
|
80
|
+
}))), showMap && /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
onClick: function onClick() {
|
|
82
|
+
setMobileTab("mapTab");
|
|
83
|
+
handleClick();
|
|
84
|
+
},
|
|
85
|
+
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"
|
|
86
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
87
|
+
src: "https://maps.googleapis.com/maps/api/staticmap?scale=2¢er=".concat((_item$mapDetails = item.mapDetails) === null || _item$mapDetails === void 0 ? void 0 : _item$mapDetails.latitude, ",").concat((_item$mapDetails2 = item.mapDetails) === null || _item$mapDetails2 === void 0 ? void 0 : _item$mapDetails2.longitude, "&zoom=10&size=240x180&maptype=roadmap&markers=color:0x").concat(mapPinColor, "%7Clabel:\u2022%7C").concat((_item$mapDetails3 = item.mapDetails) === null || _item$mapDetails3 === void 0 ? void 0 : _item$mapDetails3.latitude, ",").concat((_item$mapDetails4 = item.mapDetails) === null || _item$mapDetails4 === void 0 ? void 0 : _item$mapDetails4.longitude, "&key=", "AIzaSyAXPlfaoMCrmjNV1u-vFYdLBi7GkGeh4S4"),
|
|
88
|
+
alt: "Map of location for ".concat(item.fields.position),
|
|
89
|
+
className: "hc-w-full hc-h-full hc-object-cover"
|
|
90
|
+
})));
|
|
91
|
+
});
|
|
92
|
+
ListItem.displayName = "ListItem";
|
|
93
|
+
var ListItem$1 = /*#__PURE__*/React.memo(ListItem, function (prevProps, nextProps) {
|
|
94
|
+
return (prevProps.isActive === nextProps.isActive || prevProps.isActive !== nextProps.isActive) && prevProps.bodyClassName === nextProps.bodyClassName && prevProps.className === nextProps.className && prevProps.fieldsShown === nextProps.fieldsShown && prevProps.item.id === nextProps.item.id;
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
export { ListItem$1 as default };
|
|
98
|
+
//# sourceMappingURL=index.js.map
|