@abcagency/hc-ui-components 1.9.32 → 1.9.34

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 (96) hide show
  1. package/README.md +323 -0
  2. package/dist/components/HireControlMap.js +11 -4
  3. package/dist/components/HireControlMap.js.map +1 -1
  4. package/dist/components/containers/accordions/filter-container.js +4 -1
  5. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  6. package/dist/components/containers/accordions/filter-item-container.js +7 -4
  7. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  8. package/dist/components/containers/accordions/map-accordion-item-container.js +4 -1
  9. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  10. package/dist/components/containers/filter/commute-container.js +4 -1
  11. package/dist/components/containers/filter/commute-container.js.map +1 -1
  12. package/dist/components/containers/filter/filter-container.js +4 -1
  13. package/dist/components/containers/filter/filter-container.js.map +1 -1
  14. package/dist/components/containers/filter/filter-item-container.js +3 -1
  15. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  16. package/dist/components/containers/filter/location-container.js +4 -1
  17. package/dist/components/containers/filter/location-container.js.map +1 -1
  18. package/dist/components/containers/filter/points-of-interest-container.js +5 -2
  19. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  20. package/dist/components/containers/filter/points-of-interest-radio-item-container.js +4 -1
  21. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  22. package/dist/components/containers/filter/search-container.js +4 -1
  23. package/dist/components/containers/filter/search-container.js.map +1 -1
  24. package/dist/components/containers/jobListing/listing-details-container.js +4 -1
  25. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  26. package/dist/components/containers/list/item-list-container.js +3 -2
  27. package/dist/components/containers/list/item-list-container.js.map +1 -1
  28. package/dist/components/containers/list/list-item/list-item-container.js +4 -4
  29. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  30. package/dist/components/containers/maps/info-window-content-container.js +4 -1
  31. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  32. package/dist/components/containers/maps/map-container.js +13 -3
  33. package/dist/components/containers/maps/map-container.js.map +1 -1
  34. package/dist/components/containers/maps/map-list-container.js +4 -1
  35. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  36. package/dist/components/containers/maps/map-marker-container.js +6 -3
  37. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  38. package/dist/components/modules/list/item-expand-card/recruiter-contact-nav.js +38 -0
  39. package/dist/components/modules/list/item-expand-card/recruiter-contact-nav.js.map +1 -0
  40. package/dist/components/modules/list/item-expand-card/recruiter-details.js +40 -0
  41. package/dist/components/modules/list/item-expand-card/recruiter-details.js.map +1 -0
  42. package/dist/components/modules/list/item-expand-card/recruiter-headshot.js +20 -0
  43. package/dist/components/modules/list/item-expand-card/recruiter-headshot.js.map +1 -0
  44. package/dist/contexts/componentContext.js +164 -0
  45. package/dist/contexts/componentContext.js.map +1 -0
  46. package/dist/contexts/mapListContext.js +13 -1
  47. package/dist/contexts/mapListContext.js.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/types/components/containers/accordions/filter-item-container.d.ts +10 -0
  51. package/dist/types/components/containers/filter/filter-item-container.d.ts +16 -0
  52. package/dist/types/components/modules/accordions/filterItem.d.ts +8 -0
  53. package/dist/types/components/modules/accordions/filters.d.ts +9 -0
  54. package/dist/types/components/modules/buttons/items-pill.d.ts +3 -0
  55. package/dist/types/components/modules/buttons/show-all-button.d.ts +12 -0
  56. package/dist/types/components/modules/cards/default.d.ts +46 -0
  57. package/dist/types/components/modules/cards/filter.d.ts +18 -0
  58. package/dist/types/components/modules/filter/commute.d.ts +19 -0
  59. package/dist/types/components/modules/filter/index.d.ts +12 -0
  60. package/dist/types/components/modules/filter/item.d.ts +18 -0
  61. package/dist/types/components/modules/filter/location.d.ts +13 -0
  62. package/dist/types/components/modules/filter/radio-item.d.ts +10 -0
  63. package/dist/types/components/modules/filter/search.d.ts +13 -0
  64. package/dist/types/components/modules/list/item-expand-card/recruiter-contact-nav.d.ts +17 -0
  65. package/dist/types/components/modules/list/item-expand-card/recruiter-details.d.ts +21 -0
  66. package/dist/types/components/modules/list/item-expand-card/recruiter-headshot.d.ts +8 -0
  67. package/dist/types/components/modules/maps/info-window-card.d.ts +7 -0
  68. package/dist/types/components/modules/maps/info-window-content.d.ts +8 -0
  69. package/dist/types/components/modules/maps/map-list.d.ts +11 -0
  70. package/dist/types/components/modules/maps/map-marker.d.ts +12 -0
  71. package/dist/types/components/modules/maps/map.d.ts +18 -0
  72. package/dist/types/components/modules/maps/place-marker.d.ts +10 -0
  73. package/dist/types/components/modules/maps/tabs.d.ts +9 -0
  74. package/dist/types/util/twMerge.d.ts +1 -0
  75. package/package.json +1 -1
  76. package/src/components/HireControlMap.js +49 -35
  77. package/src/components/containers/accordions/filter-container.js +4 -1
  78. package/src/components/containers/accordions/filter-item-container.js +4 -2
  79. package/src/components/containers/accordions/map-accordion-item-container.js +4 -1
  80. package/src/components/containers/filter/commute-container.js +4 -1
  81. package/src/components/containers/filter/filter-container.js +4 -1
  82. package/src/components/containers/filter/filter-item-container.js +2 -1
  83. package/src/components/containers/filter/location-container.js +4 -1
  84. package/src/components/containers/filter/points-of-interest-container.js +4 -2
  85. package/src/components/containers/filter/points-of-interest-radio-item-container.js +4 -1
  86. package/src/components/containers/filter/search-container.js +4 -1
  87. package/src/components/containers/jobListing/listing-details-container.js +4 -1
  88. package/src/components/containers/list/item-list-container.tsx +4 -2
  89. package/src/components/containers/list/list-item/list-item-container.js +5 -4
  90. package/src/components/containers/maps/info-window-content-container.js +4 -1
  91. package/src/components/containers/maps/map-container.js +12 -3
  92. package/src/components/containers/maps/map-list-container.js +5 -2
  93. package/src/components/containers/maps/map-marker-container.js +4 -2
  94. package/src/contexts/componentContext.tsx +213 -0
  95. package/src/contexts/mapListContext.tsx +15 -1
  96. package/src/index.js +8 -0
package/README.md ADDED
@@ -0,0 +1,323 @@
1
+ # HireControl UI Components
2
+
3
+ A flexible, customizable React component library for job search interfaces with integrated maps and filtering.
4
+
5
+ ## Features
6
+
7
+ - 🗺️ **Interactive Map Integration** - Google Maps with job location markers
8
+ - 🔍 **Advanced Filtering** - Multi-faceted search with dynamic counts
9
+ - 📱 **Mobile Responsive** - Tab-based mobile interface
10
+ - 🎨 **Fully Customizable** - Override any component with your own
11
+ - ⚡ **Performance Optimized** - Lazy loading and efficient rendering
12
+ - 🎯 **Type Safe** - TypeScript support
13
+ - 🧩 **Modular Architecture** - Use what you need
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npm install @hirecontrol/hc-ui-components
19
+ ```
20
+
21
+ ## Quick Start
22
+
23
+ ```jsx
24
+ import { HireControlMap } from '@hirecontrol/hc-ui-components';
25
+
26
+ function App() {
27
+ return (
28
+ <HireControlMap
29
+ googleMapsApiKey="your-api-key"
30
+ siteConfiguration={siteConfig}
31
+ listings={listings}
32
+ entities={entities}
33
+ />
34
+ );
35
+ }
36
+ ```
37
+
38
+ ## Component Customization
39
+
40
+ **NEW!** Override any component to customize the UI while preserving all business logic:
41
+
42
+ ```jsx
43
+ import { HireControlMap } from '@hirecontrol/hc-ui-components';
44
+ import MyCustomFilter from './MyCustomFilter';
45
+ import MyCustomListItem from './MyCustomListItem';
46
+
47
+ <HireControlMap
48
+ googleMapsApiKey="your-api-key"
49
+ siteConfiguration={siteConfig}
50
+ listings={listings}
51
+ entities={entities}
52
+ components={{
53
+ Filter: MyCustomFilter,
54
+ ListItem: MyCustomListItem,
55
+ MapMarker: MyCustomMapMarker,
56
+ // Override any component you want
57
+ }}
58
+ />
59
+ ```
60
+
61
+ ### Available Components
62
+
63
+ - **Map Components**: `MapList`, `MapTabs`, `Map`, `MapMarker`, `PlaceMarker`, `InfoWindowCard`
64
+ - **Filter Components**: `Filter`, `FilterItem`, `FilterSearch`, `FilterLocation`, `FilterCommute`
65
+ - **List Components**: `ListItem`, `ItemsList`, `ListHeader`, `FieldMapperDesktop`, `FieldMapperMobile`
66
+ - **Accordion Components**: `Accordion`, `FiltersAccordion`, `FilterItemAccordion`, `MapAccordionItem`
67
+ - **Button Components**: `Button`, `ButtonGroupApply`, `ItemsPill`, `ShowAllButton`
68
+ - **Card Components**: `Card`, `CardFilter`
69
+ - **Dialog Components**: `ApplyDialog`
70
+ - **Utility Components**: `Grid`, `Icon`
71
+
72
+ See [Component Customization Guide](./docs/COMPONENT_CUSTOMIZATION.md) for detailed documentation.
73
+
74
+ ## Props
75
+
76
+ ### Required Props
77
+
78
+ | Prop | Type | Description |
79
+ |------|------|-------------|
80
+ | `googleMapsApiKey` | string | Google Maps API key |
81
+ | `siteConfiguration` | object | Site configuration object |
82
+ | `listings` | array | Job listings data |
83
+
84
+ ### Optional Props
85
+
86
+ | Prop | Type | Default | Description |
87
+ |------|------|---------|-------------|
88
+ | `entities` | array | `[]` | Entity/location data |
89
+ | `components` | object | `{}` | Component overrides |
90
+ | `containerStyle` | object | `{ height: '100vh' }` | Container styling |
91
+ | `hideMap` | boolean | `false` | Hide map view |
92
+ | `hideFilters` | boolean | `false` | Hide filter panel |
93
+ | `filterConfig` | object | `{}` | Filter configuration |
94
+ | `trackEvent` | function | Console log | Analytics tracking |
95
+ | `navigateToDetails` | function | `null` | Custom navigation handler |
96
+ | `Link` | component | `null` | Custom Link component |
97
+ | `defaultFilters` | object | `null` | Initial filter state |
98
+ | `hiddenFilters` | array | `null` | Filters to hide |
99
+
100
+ See full prop documentation in [API Reference](./docs/API_REFERENCE.md).
101
+
102
+ ## Site Configuration
103
+
104
+ ```javascript
105
+ const siteConfiguration = {
106
+ colors: {
107
+ primary: '#3B82F6',
108
+ primaryDark: '#1E40AF',
109
+ secondary: '#10B981',
110
+ secondaryDark: '#047857',
111
+ uiText: '#1F2937',
112
+ uiAccent: '#6B7280',
113
+ borderDefault: '#E5E7EB'
114
+ },
115
+ showMap: true,
116
+ mapPosition: 'bottom', // 'top' or 'bottom'
117
+ fieldsShown: ['title', 'category', 'entityName', 'location'],
118
+ fieldNames: {
119
+ title: 'Job Title',
120
+ category: 'Category',
121
+ entityName: 'Company',
122
+ location: 'Location'
123
+ },
124
+ pointsOfInterestConfig: {
125
+ placeMappings: {},
126
+ showAtZoomLevel: 12,
127
+ placeMarkerColors: {},
128
+ placeMarkerSize: 30
129
+ }
130
+ };
131
+ ```
132
+
133
+ ## Advanced Usage
134
+
135
+ ### Using Component Hooks
136
+
137
+ ```jsx
138
+ import { useComponents } from '@hirecontrol/hc-ui-components';
139
+
140
+ const MyCustomComponent = () => {
141
+ const { Filter, ListItem } = useComponents();
142
+
143
+ return (
144
+ <div>
145
+ <Filter {...filterProps} />
146
+ <ListItem {...itemProps} />
147
+ </div>
148
+ );
149
+ };
150
+ ```
151
+
152
+ ### Extending Default Components
153
+
154
+ ```jsx
155
+ import { defaultComponents } from '@hirecontrol/hc-ui-components';
156
+
157
+ const EnhancedFilter = (props) => {
158
+ const DefaultFilter = defaultComponents.Filter;
159
+
160
+ return (
161
+ <div className="enhanced-wrapper">
162
+ <DefaultFilter {...props} />
163
+ <div className="custom-addition">Extra content</div>
164
+ </div>
165
+ );
166
+ };
167
+ ```
168
+
169
+ ### Higher-Order Component Pattern
170
+
171
+ ```jsx
172
+ import { withComponents } from '@hirecontrol/hc-ui-components';
173
+
174
+ const MyContainer = ({ Filter, ListItem, data }) => {
175
+ return (
176
+ <div>
177
+ <Filter />
178
+ {data.map(item => <ListItem key={item.id} item={item} />)}
179
+ </div>
180
+ );
181
+ };
182
+
183
+ export default withComponents(['Filter', 'ListItem'])(MyContainer);
184
+ ```
185
+
186
+ ## Styling
187
+
188
+ The library uses Tailwind CSS with a custom `hc-` prefix to avoid conflicts:
189
+
190
+ ```jsx
191
+ <div className="hc-bg-primary hc-text-white hc-p-4 hc-rounded-lg">
192
+ Custom styled element
193
+ </div>
194
+ ```
195
+
196
+ ### Customizing Styles
197
+
198
+ 1. **Override components** with your own styling
199
+ 2. **Use filterConfig.classNames** to inject custom classes
200
+ 3. **Wrap with styled containers** around default components
201
+
202
+ ## Examples
203
+
204
+ ### Custom Filter with Analytics
205
+
206
+ ```jsx
207
+ const AnalyticsFilter = (props) => {
208
+ const { Filter } = useComponents();
209
+
210
+ useEffect(() => {
211
+ analytics.track('Filter Panel Viewed');
212
+ }, []);
213
+
214
+ const handleFilterChange = (filters) => {
215
+ analytics.track('Filters Applied', { filters });
216
+ props.setSelectedFilters(filters);
217
+ };
218
+
219
+ return <Filter {...props} setSelectedFilters={handleFilterChange} />;
220
+ };
221
+ ```
222
+
223
+ ### Custom List Item with Favorites
224
+
225
+ ```jsx
226
+ const CustomListItem = ({ item, favorites, handleSettingFavorites, ...props }) => {
227
+ const isFavorite = favorites.includes(item.id);
228
+
229
+ return (
230
+ <div className="hc-border hc-rounded-lg hc-p-4 hc-hover:shadow-lg">
231
+ <div className="hc-flex hc-justify-between">
232
+ <h3>{item.fields.title}</h3>
233
+ <button
234
+ onClick={(e) => {
235
+ e.stopPropagation();
236
+ handleSettingFavorites(item.id);
237
+ }}
238
+ >
239
+ {isFavorite ? '❤️' : '🤍'}
240
+ </button>
241
+ </div>
242
+ <p className="hc-text-gray-600">{item.fields.category}</p>
243
+ <p className="hc-text-sm">{item.mapDetails?.entityDisplayName}</p>
244
+ </div>
245
+ );
246
+ };
247
+ ```
248
+
249
+ ## TypeScript Support
250
+
251
+ The library includes TypeScript definitions:
252
+
253
+ ```typescript
254
+ import { HireControlMap, ComponentOverrides } from '@hirecontrol/hc-ui-components';
255
+
256
+ const customComponents: ComponentOverrides = {
257
+ Filter: MyCustomFilter,
258
+ ListItem: MyCustomListItem,
259
+ };
260
+
261
+ <HireControlMap
262
+ googleMapsApiKey={apiKey}
263
+ siteConfiguration={config}
264
+ listings={listings}
265
+ components={customComponents}
266
+ />
267
+ ```
268
+
269
+ ## Browser Support
270
+
271
+ - Chrome (latest)
272
+ - Firefox (latest)
273
+ - Safari (latest)
274
+ - Edge (latest)
275
+ - Mobile browsers (iOS Safari, Chrome Mobile)
276
+
277
+ ## Performance
278
+
279
+ - Lazy loading of Google Maps
280
+ - Virtual scrolling for large lists
281
+ - Debounced search inputs
282
+ - Optimized re-renders with React.memo
283
+ - Efficient clustering for map markers
284
+
285
+ ## Troubleshooting
286
+
287
+ ### Google Maps Not Loading
288
+ - Verify API key is correct
289
+ - Check API key has Maps JavaScript API enabled
290
+ - Ensure domain is whitelisted in Google Console
291
+
292
+ ### Custom Components Not Rendering
293
+ - Verify component name matches exactly (case-sensitive)
294
+ - Ensure all required props are handled
295
+ - Check browser console for errors
296
+
297
+ ### Styling Conflicts
298
+ - Use the `hc-` prefix for Tailwind classes
299
+ - Check CSS specificity
300
+ - Use browser dev tools to inspect styles
301
+
302
+ See [Troubleshooting Guide](./docs/TROUBLESHOOTING.md) for more help.
303
+
304
+ ## Documentation
305
+
306
+ - [Component Customization Guide](./docs/COMPONENT_CUSTOMIZATION.md) - Detailed customization docs
307
+ - [Component Reference](./docs/COMPONENT_REFERENCE.md) - Quick reference for all components
308
+ - [API Reference](./docs/API_REFERENCE.md) - Complete prop documentation
309
+ - [Examples](./docs/EXAMPLES.md) - Code examples and use cases
310
+
311
+ ## Contributing
312
+
313
+ Contributions are welcome! Please read our [Contributing Guide](./CONTRIBUTING.md) first.
314
+
315
+ ## License
316
+
317
+ MIT License - see [LICENSE](./LICENSE) file for details.
318
+
319
+ ## Support
320
+
321
+ - GitHub Issues: https://github.com/hirecontrol/hc-ui-components/issues
322
+ - Documentation: https://docs.hirecontrol.com
323
+ - Email: support@hirecontrol.com
@@ -9,9 +9,10 @@ import { PlacesProvider } from '../contexts/placesContext.js';
9
9
  import { MapListProvider } from '../contexts/mapListContext.js';
10
10
  import { TrackEventProvider } from '../contexts/trackEventContext.js';
11
11
  import { ThemeProvider } from '../contexts/themeContext.js';
12
+ import { ComponentProvider } from '../contexts/componentContext.js';
12
13
  import { initializeAlgoliaSearch } from '../util/algoliaSearchUtil.js';
13
14
 
14
- var _excluded = ["children", "siteConfig", "trackEvent", "googleMapsApiKey"];
15
+ var _excluded = ["children", "siteConfig", "trackEvent", "googleMapsApiKey", "components"];
15
16
 
16
17
  // Libraries for Google Maps
17
18
  var LIBRARIES = ['places'];
@@ -25,8 +26,11 @@ var ContextProviders = function ContextProviders(_ref) {
25
26
  siteConfig = _ref.siteConfig,
26
27
  trackEvent = _ref.trackEvent,
27
28
  googleMapsApiKey = _ref.googleMapsApiKey,
29
+ components = _ref.components,
28
30
  mapListProps = _objectWithoutProperties(_ref, _excluded);
29
- return /*#__PURE__*/React.createElement(TrackEventProvider, {
31
+ return /*#__PURE__*/React.createElement(ComponentProvider, {
32
+ components: components
33
+ }, /*#__PURE__*/React.createElement(TrackEventProvider, {
30
34
  trackEvent: trackEvent
31
35
  }, /*#__PURE__*/React.createElement(ThemeProvider, {
32
36
  uiText: siteConfig.colors.uiText,
@@ -58,7 +62,7 @@ var ContextProviders = function ContextProviders(_ref) {
58
62
  size: siteConfig.pointsOfInterestConfig.placeMarkerSize
59
63
  }
60
64
  }
61
- }, children)))));
65
+ }, children))))));
62
66
  };
63
67
 
64
68
  // Main component
@@ -124,6 +128,8 @@ var HireControlMap = function HireControlMap(_ref2) {
124
128
  localStorageKey = _ref2$localStorageKey === void 0 ? 'defaultKey.' : _ref2$localStorageKey,
125
129
  _ref2$algoliaAppId = _ref2.algoliaAppId,
126
130
  algoliaAppId = _ref2$algoliaAppId === void 0 ? null : _ref2$algoliaAppId,
131
+ _ref2$components = _ref2.components,
132
+ components = _ref2$components === void 0 ? {} : _ref2$components,
127
133
  _ref2$algoliaApiKey = _ref2.algoliaApiKey,
128
134
  algoliaApiKey = _ref2$algoliaApiKey === void 0 ? null : _ref2$algoliaApiKey,
129
135
  _ref2$algoliaIndexNam = _ref2.algoliaIndexName,
@@ -269,7 +275,8 @@ var HireControlMap = function HireControlMap(_ref2) {
269
275
  return /*#__PURE__*/React.createElement(ContextProviders, _extends({
270
276
  siteConfig: siteConfiguration,
271
277
  trackEvent: trackEvent,
272
- googleMapsApiKey: googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY
278
+ googleMapsApiKey: googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY,
279
+ components: components
273
280
  }, mapListProps), /*#__PURE__*/React.createElement(Grid, {
274
281
  as: "section",
275
282
  id: "job-search-interface",
@@ -1 +1 @@
1
- {"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\n// Context imports\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\nimport { ThemeProvider } from '~/contexts/themeContext';\n\nimport { initializeAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\n// Libraries for Google Maps\nconst LIBRARIES = ['places'];\n\n// Since all data is now passed in statically, no need to fetch config\n\n// Component to handle all context providers\nconst ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, ...mapListProps }) => { return(\n\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t<ThemeProvider\n\t\t\tuiText={siteConfig.colors.uiText}\n\t\t\tuiAccent={siteConfig.colors.uiAccent}\n\t\t\tprimary={siteConfig.colors.primary}\n\t\t\tprimaryDark={siteConfig.colors.primaryDark}\n\t\t\tsecondary={siteConfig.colors.secondary}\n\t\t\tsecondaryDark={siteConfig.colors.secondaryDark}\n\t\t\tborderDefault={siteConfig.colors.borderDefault}\n\t\t>\n\t\t\t<MapListProvider siteConfig={siteConfig} googleMapsApiKey={googleMapsApiKey} {...mapListProps}>\n\t\t\t\t<MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride} localStorageKey={mapListProps.localStorageKey}>\n\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\tadditionalMapMarkers={mapListProps.additionalMapMarkers}\n\t\t\t\t\t\tgoogleMapsApiKey={googleMapsApiKey}\n\t\t\t\t\t\tshowAtZoomLevel={siteConfig.pointsOfInterestConfig.showAtZoomLevel ?? 12}\n\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</PlacesProvider>\n\t\t\t\t</MapProvider>\n\t\t\t</MapListProvider>\n\t\t</ThemeProvider>\n\t</TrackEventProvider>\n);};\n\n// Main component\n//\nexport const HireControlMap = ({\n\tclientToken,\n\tgoogleMapsApiKey, // Required: Google Maps API key from Next.js\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\tisIframe = false,\n\thideMap = false, // Override to hide map even if siteConfig.showMap is true\n\thideFilters = false, // Hide the entire filter section\n\tnoEntities = false, // Skip entity fetching and hide entity-related filters\n\tmobileDetailsCallback = null, // Optional callback for mobile job listing clicks - called instead of expanding accordion\n\ttrackEvent = (eventType, eventObj) => {\n\t\tconsole.log(eventType);\n\t\tconsole.log(eventObj);\n\t},\n\t//providing listings entities and a getListingEntities function should negate the need for map code to fetch data\n\tlistings = [],\n\tentities = [],\n\tgetListingEntitiesCallback = null,\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null,\n\tExpandListComponent = null,\n\tadditionalMapMarkers = [],\n\tdefaultZoomOverride = null,\n\t//Default site configuration file passed here stops need to fetch from api\n\tsiteConfiguration = null,\n\tlocalStorageKey = 'defaultKey.',\n\t// Algolia search configuration (optional)\n\talgoliaAppId = null,\n\talgoliaApiKey = null,\n\talgoliaIndexName = null,\n\t/**\n\t * Filter configuration (optional)\n\t * @param {boolean} hideZeroResults - Hide filter options with 0 results (default: false)\n\t * @param {boolean} dynamicCounts - Update counts based on active filters.\n\t * If false, shows initial/total counts (default: true)\n\t * @param {boolean} showFavorites - Show favorites special feature filter (default: true)\n\t * @param {boolean} collapsedByDefault - Start with all filter sections collapsed (default: false)\n\t * @param {boolean} sortAlphabetically - Sort filter options alphabetically instead of by count (default: false)\n\t * @param {object} classNames - Custom Tailwind classes to apply to filter components\n\t * @param {string} classNames.filterContainer - Classes for the main filter container wrapper\n\t * @param {string} classNames.filterContent - Classes for the scrollable filter content area\n\t * @param {string} classNames.filterAccordion - Classes for each filter accordion section\n\t * @param {string} classNames.filterAccordionHeader - Classes for accordion header/trigger\n\t * @param {string} classNames.filterAccordionContent - Classes for accordion content area\n\t * @param {string} classNames.filterItem - Classes for individual filter items (checkboxes/options)\n\t * @param {string} classNames.filterItemLabel - Classes for filter item labels\n\t * @param {string} classNames.filterItemCheckbox - Classes for filter item checkboxes\n\t * @param {string} classNames.filterItemCount - Classes for filter item count badges\n\t * @param {string} classNames.searchInput - Classes for search input field\n\t * @param {string} classNames.resetButton - Classes for reset all button\n\t * @param {string} classNames.showJobsButton - Classes for show jobs button\n\t * @param {string} classNames.filterFooter - Classes for the footer containing buttons\n\t */\n\tfilterConfig = {\n\t\thideZeroResults: false, // Hide filter options with 0 results\n\t\tdynamicCounts: true, // Update counts based on other active filters (false = show initial counts only)\n\t\tshowFavorites: true, // Show favorites filter\n\t\tcollapsedByDefault: false, // Start with all filter sections collapsed\n\t\tsortAlphabetically: false, // Sort filter options alphabetically instead of by count\n\t\tclassNames: {\n\t\t\tfilterContainer: '', // Main filter container wrapper\n\t\t\tfilterContent: '', // Scrollable content area\n\t\t\tfilterAccordion: '', // Filter accordion section\n\t\t\tfilterAccordionHeader: '', // Accordion header/trigger\n\t\t\tfilterAccordionContent: '', // Accordion content body\n\t\t\tfilterItem: '', // Individual filter items\n\t\t\tfilterItemLabel: '', // Filter item labels\n\t\t\tfilterItemCheckbox: '', // Filter item checkboxes\n\t\t\tfilterItemCount: '', // Filter item count badges\n\t\t\tsearchInput: '', // Search input field\n\t\t\tresetButton: '', // Reset all button\n\t\t\tshowJobsButton: '', // Show jobs button\n\t\t\tfilterFooter: '' // Footer with buttons\n\t\t}\n\t}\n}) => {\n\t// Initialize Algolia when credentials are provided (client-side only)\n\tconst [algoliaInitialized, setAlgoliaInitialized] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (algoliaAppId && algoliaApiKey && algoliaIndexName && typeof window !== 'undefined') {\n\t\t\tinitializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName).then(initialized => {\n\t\t\t\tsetAlgoliaInitialized(initialized);\n\t\t\t\tif (initialized) {\n\t\t\t\t\tconsole.log('Algolia search initialized successfully');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [algoliaAppId, algoliaApiKey, algoliaIndexName]);\n\n\t// Load Google Maps (non-blocking - map component will handle this)\n\tconst { isLoaded: isMapsLoaded, loadError } = useLoadScript({\n\t\tgoogleMapsApiKey: googleMapsApiKey,\n\t\tversion: 'quarterly',\n\t\tlibraries: LIBRARIES\n\t});\n\n\t// Only show errors for critical failures\n\tif (!googleMapsApiKey) {\n\t\tconsole.error('Google Maps API key is required');\n\t\treturn <div className=\"hc-p-4\">Google Maps API key is required</div>;\n\t}\n\n\tif (loadError) {\n\t\tconsole.error('Google Maps failed to load:', loadError);\n\t\treturn <div className=\"hc-p-4\">Error loading Google Maps</div>;\n\t}\n\n\t// Don't block rendering - let filters and list show immediately\n\t// Map container will handle its own loading state\n\n\t// siteConfiguration is now required - all data passed in statically\n\tif (!siteConfiguration) {\n\t\tconsole.error('Site configuration is required');\n\t\treturn <div className=\"hc-p-4\">Site configuration is required</div>;\n\t}\n\n\t// Prepare props for MapListProvider\n\tconst mapListProps = {\n\t\tresetFilters: false,\n\t\tnavigateToDetails,\n\t\tnavigateToEasyApply,\n\t\tLink,\n\t\tlinkFormat,\n\t\teasyApplyUrl,\n\t\teasyApplyText,\n\t\tlistings,\n\t\tentities,\n\t\tsiteConfig: siteConfiguration,\n\t\tgetListingEntitiesCallback,\n\t\tsetFiltersUrl,\n\t\thiddenFilters,\n\t\thandleUrlUpdate,\n\t\tdefaultFilters,\n\t\tdefaultZoomOverride, // will usually fit bounds\n\t\tcontainerStyle,\n\t\tExpandListComponent: ExpandListComponent ?? null,\n\t\tadditionalMapMarkers,\n\t\tisIframe,\n\t\tlocalStorageKey,\n\t\thideMap,\n\t\thideFilters,\n\t\tnoEntities,\n\t\tfilterConfig,\n\t\tmobileDetailsCallback\n\t};\n\n\t// Calculate effective showMap value\n\tconst effectiveShowMap = hideMap ? false : siteConfiguration.showMap;\n\n\t// Prepare marker configuration\n\tconst markerConfigs = {\n\t\tfillColor: siteConfiguration.colors.primary,\n\t\tstrokeColor: siteConfiguration.colors.primaryDark,\n\t\tselectedFillColor: siteConfiguration.colors.secondary,\n\t\tselectedStrokeColor: siteConfiguration.colors.secondaryDark,\n\t\tplaceMarkers: {\n\t\t\tcolors: siteConfiguration.pointsOfInterestConfig.placeMarkerColors,\n\t\t\tsize: siteConfiguration.pointsOfInterestConfig.placeMarkerSize\n\t\t}\n\t};\n\n\t// Render immediately - individual components handle their own loading\n\t// Only Google Maps components will wait for isMapsLoaded\n\treturn (\n\t\t<ContextProviders\n\t\t\tsiteConfig={siteConfiguration}\n\t\t\ttrackEvent={trackEvent}\n\t\t\tgoogleMapsApiKey={googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY}\n\t\t\t{...mapListProps}\n\t\t>\n\t\t\t<Grid\n\t\t\t\tas='section'\n\t\t\t\tid='job-search-interface'\n\t\t\t\tcolumns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}\n\t\t\t\tgap='hc-gap-0'\n\t\t\t\tautoRows={false}\n\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x-0 md:hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t>\n\t\t\t\t{!hideFilters && (\n\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t<Filter isDesktop={true} showMap={effectiveShowMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t)}\n\t\t\t\t<MapList\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tmapPosition={siteConfiguration.mapPosition}\n\t\t\t\t\tshowMap={effectiveShowMap}\n\t\t\t\t\tfieldsShown={siteConfiguration.fieldsShown}\n\t\t\t\t\tspecialFeatures={siteConfiguration.specialFeatures}\n\t\t\t\t\tfieldNames={siteConfiguration.fieldNames}\n\t\t\t\t\tplaceMappings={siteConfiguration.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\tmarkerConfigs={markerConfigs}\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</ContextProviders>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["LIBRARIES","ContextProviders","_ref","_siteConfig$pointsOfI","_siteConfig$pointsOfI2","children","siteConfig","trackEvent","googleMapsApiKey","mapListProps","_objectWithoutProperties","_excluded","React","createElement","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","borderDefault","MapListProvider","_extends","MapProvider","resetFilters","defaultZoomOverride","localStorageKey","PlacesProvider","placeMappings","pointsOfInterestConfig","additionalMapMarkers","showAtZoomLevel","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","HireControlMap","_ref2","_siteConfiguration$po","clientToken","_ref2$containerStyle","containerStyle","height","_ref2$navigateToDetai","navigateToDetails","_ref2$navigateToEasyA","navigateToEasyApply","_ref2$handleUrlUpdate","handleUrlUpdate","_ref2$Link","Link","_ref2$linkFormat","linkFormat","_ref2$easyApplyUrl","easyApplyUrl","_ref2$easyApplyText","easyApplyText","_ref2$isIframe","isIframe","_ref2$hideMap","hideMap","_ref2$hideFilters","hideFilters","_ref2$noEntities","noEntities","_ref2$mobileDetailsCa","mobileDetailsCallback","_ref2$trackEvent","eventType","eventObj","console","log","_ref2$listings","listings","_ref2$entities","entities","_ref2$getListingEntit","getListingEntitiesCallback","_ref2$defaultFilters","defaultFilters","_ref2$hiddenFilters","hiddenFilters","_ref2$setFiltersUrl","setFiltersUrl","_ref2$ExpandListCompo","ExpandListComponent","_ref2$additionalMapMa","_ref2$defaultZoomOver","_ref2$siteConfigurati","siteConfiguration","_ref2$localStorageKey","_ref2$algoliaAppId","algoliaAppId","_ref2$algoliaApiKey","algoliaApiKey","_ref2$algoliaIndexNam","algoliaIndexName","_ref2$filterConfig","filterConfig","hideZeroResults","dynamicCounts","showFavorites","collapsedByDefault","sortAlphabetically","classNames","filterContainer","filterContent","filterAccordion","filterAccordionHeader","filterAccordionContent","filterItem","filterItemLabel","filterItemCheckbox","filterItemCount","searchInput","resetButton","showJobsButton","filterFooter","_useState","useState","_useState2","_slicedToArray","algoliaInitialized","setAlgoliaInitialized","useEffect","window","initializeAlgoliaSearch","then","initialized","_useLoadScript","useLoadScript","version","libraries","isLoaded","loadError","error","className","effectiveShowMap","showMap","markerConfigs","process","env","GOOGLE_MAPS_API_KEY","Grid","as","id","columns","gap","autoRows","Item","Filter","isDesktop","MapList","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
1
+ {"version":3,"file":"HireControlMap.js","sources":["../../src/components/HireControlMap.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\n\nimport Grid from '~/components/modules/grid';\nimport Filter from '~/components/containers/filter/filter-container';\nimport MapList from '~/components/containers/maps/map-list-container';\n\n// Context imports\nimport { MapProvider } from '~/contexts/mapContext';\nimport { PlacesProvider } from '~/contexts/placesContext';\nimport { MapListProvider } from '~/contexts/mapListContext';\nimport { TrackEventProvider } from '~/contexts/trackEventContext';\nimport { ThemeProvider } from '~/contexts/themeContext';\nimport { ComponentProvider } from '~/contexts/componentContext';\n\nimport { initializeAlgoliaSearch } from '~/util/algoliaSearchUtil';\n\n// Libraries for Google Maps\nconst LIBRARIES = ['places'];\n\n// Since all data is now passed in statically, no need to fetch config\n\n// Component to handle all context providers\nconst ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, components, ...mapListProps }) => { return(\n\t<ComponentProvider components={components}>\n\t\t<TrackEventProvider trackEvent={trackEvent}>\n\t\t\t<ThemeProvider\n\t\t\t\tuiText={siteConfig.colors.uiText}\n\t\t\t\tuiAccent={siteConfig.colors.uiAccent}\n\t\t\t\tprimary={siteConfig.colors.primary}\n\t\t\t\tprimaryDark={siteConfig.colors.primaryDark}\n\t\t\t\tsecondary={siteConfig.colors.secondary}\n\t\t\t\tsecondaryDark={siteConfig.colors.secondaryDark}\n\t\t\t\tborderDefault={siteConfig.colors.borderDefault}\n\t\t\t>\n\t\t\t\t<MapListProvider siteConfig={siteConfig} googleMapsApiKey={googleMapsApiKey} {...mapListProps}>\n\t\t\t\t\t<MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride} localStorageKey={mapListProps.localStorageKey}>\n\t\t\t\t\t\t<PlacesProvider\n\t\t\t\t\t\t\tplaceMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\t\t\tadditionalMapMarkers={mapListProps.additionalMapMarkers}\n\t\t\t\t\t\t\tgoogleMapsApiKey={googleMapsApiKey}\n\t\t\t\t\t\t\tshowAtZoomLevel={siteConfig.pointsOfInterestConfig.showAtZoomLevel ?? 12}\n\t\t\t\t\t\t\tmarkerColors={{\n\t\t\t\t\t\t\t\tfillColor: siteConfig.colors.primary,\n\t\t\t\t\t\t\t\tstrokeColor: siteConfig.colors.primaryDark,\n\t\t\t\t\t\t\t\tselectedFillColor: siteConfig.colors.secondary,\n\t\t\t\t\t\t\t\tselectedStrokeColor: siteConfig.colors.secondaryDark,\n\t\t\t\t\t\t\t\tplaceMarkers: {\n\t\t\t\t\t\t\t\t\tcolors: siteConfig.pointsOfInterestConfig.placeMarkerColors,\n\t\t\t\t\t\t\t\t\tsize: siteConfig.pointsOfInterestConfig.placeMarkerSize\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</PlacesProvider>\n\t\t\t\t\t</MapProvider>\n\t\t\t\t</MapListProvider>\n\t\t\t</ThemeProvider>\n\t\t</TrackEventProvider>\n\t</ComponentProvider>\n);};\n\n// Main component\n//\nexport const HireControlMap = ({\n\tclientToken,\n\tgoogleMapsApiKey, // Required: Google Maps API key from Next.js\n\tcontainerStyle = { height: '100vh' },\n\tnavigateToDetails = null,\n\tnavigateToEasyApply = null,\n\thandleUrlUpdate = null,\n\tLink = null,\n\tlinkFormat = '/jobs/[slug]',\n\teasyApplyUrl = null,\n\teasyApplyText = 'Easy Apply',\n\tisIframe = false,\n\thideMap = false, // Override to hide map even if siteConfig.showMap is true\n\thideFilters = false, // Hide the entire filter section\n\tnoEntities = false, // Skip entity fetching and hide entity-related filters\n\tmobileDetailsCallback = null, // Optional callback for mobile job listing clicks - called instead of expanding accordion\n\ttrackEvent = (eventType, eventObj) => {\n\t\tconsole.log(eventType);\n\t\tconsole.log(eventObj);\n\t},\n\t//providing listings entities and a getListingEntities function should negate the need for map code to fetch data\n\tlistings = [],\n\tentities = [],\n\tgetListingEntitiesCallback = null,\n\tdefaultFilters = null,\n\thiddenFilters = null,\n\tsetFiltersUrl = null,\n\tExpandListComponent = null,\n\tadditionalMapMarkers = [],\n\tdefaultZoomOverride = null,\n\t//Default site configuration file passed here stops need to fetch from api\n\tsiteConfiguration = null,\n\tlocalStorageKey = 'defaultKey.',\n\t// Algolia search configuration (optional)\n\talgoliaAppId = null,\n\t/**\n\t * Component overrides - allows customization of any component\n\t * @example\n\t * components={{\n\t * Filter: MyCustomFilter,\n\t * ListItem: MyCustomListItem,\n\t * MapMarker: MyCustomMapMarker\n\t * }}\n\t */\n\tcomponents = {},\n\talgoliaApiKey = null,\n\talgoliaIndexName = null,\n\t/**\n\t * Filter configuration (optional)\n\t * @param {boolean} hideZeroResults - Hide filter options with 0 results (default: false)\n\t * @param {boolean} dynamicCounts - Update counts based on active filters.\n\t * If false, shows initial/total counts (default: true)\n\t * @param {boolean} showFavorites - Show favorites special feature filter (default: true)\n\t * @param {boolean} collapsedByDefault - Start with all filter sections collapsed (default: false)\n\t * @param {boolean} sortAlphabetically - Sort filter options alphabetically instead of by count (default: false)\n\t * @param {object} classNames - Custom Tailwind classes to apply to filter components\n\t * @param {string} classNames.filterContainer - Classes for the main filter container wrapper\n\t * @param {string} classNames.filterContent - Classes for the scrollable filter content area\n\t * @param {string} classNames.filterAccordion - Classes for each filter accordion section\n\t * @param {string} classNames.filterAccordionHeader - Classes for accordion header/trigger\n\t * @param {string} classNames.filterAccordionContent - Classes for accordion content area\n\t * @param {string} classNames.filterItem - Classes for individual filter items (checkboxes/options)\n\t * @param {string} classNames.filterItemLabel - Classes for filter item labels\n\t * @param {string} classNames.filterItemCheckbox - Classes for filter item checkboxes\n\t * @param {string} classNames.filterItemCount - Classes for filter item count badges\n\t * @param {string} classNames.searchInput - Classes for search input field\n\t * @param {string} classNames.resetButton - Classes for reset all button\n\t * @param {string} classNames.showJobsButton - Classes for show jobs button\n\t * @param {string} classNames.filterFooter - Classes for the footer containing buttons\n\t */\n\tfilterConfig = {\n\t\thideZeroResults: false, // Hide filter options with 0 results\n\t\tdynamicCounts: true, // Update counts based on other active filters (false = show initial counts only)\n\t\tshowFavorites: true, // Show favorites filter\n\t\tcollapsedByDefault: false, // Start with all filter sections collapsed\n\t\tsortAlphabetically: false, // Sort filter options alphabetically instead of by count\n\t\tclassNames: {\n\t\t\tfilterContainer: '', // Main filter container wrapper\n\t\t\tfilterContent: '', // Scrollable content area\n\t\t\tfilterAccordion: '', // Filter accordion section\n\t\t\tfilterAccordionHeader: '', // Accordion header/trigger\n\t\t\tfilterAccordionContent: '', // Accordion content body\n\t\t\tfilterItem: '', // Individual filter items\n\t\t\tfilterItemLabel: '', // Filter item labels\n\t\t\tfilterItemCheckbox: '', // Filter item checkboxes\n\t\t\tfilterItemCount: '', // Filter item count badges\n\t\t\tsearchInput: '', // Search input field\n\t\t\tresetButton: '', // Reset all button\n\t\t\tshowJobsButton: '', // Show jobs button\n\t\t\tfilterFooter: '' // Footer with buttons\n\t\t}\n\t}\n}) => {\n\t// Initialize Algolia when credentials are provided (client-side only)\n\tconst [algoliaInitialized, setAlgoliaInitialized] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (algoliaAppId && algoliaApiKey && algoliaIndexName && typeof window !== 'undefined') {\n\t\t\tinitializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName).then(initialized => {\n\t\t\t\tsetAlgoliaInitialized(initialized);\n\t\t\t\tif (initialized) {\n\t\t\t\t\tconsole.log('Algolia search initialized successfully');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [algoliaAppId, algoliaApiKey, algoliaIndexName]);\n\n\t// Load Google Maps (non-blocking - map component will handle this)\n\tconst { isLoaded: isMapsLoaded, loadError } = useLoadScript({\n\t\tgoogleMapsApiKey: googleMapsApiKey,\n\t\tversion: 'quarterly',\n\t\tlibraries: LIBRARIES\n\t});\n\n\t// Only show errors for critical failures\n\tif (!googleMapsApiKey) {\n\t\tconsole.error('Google Maps API key is required');\n\t\treturn <div className=\"hc-p-4\">Google Maps API key is required</div>;\n\t}\n\n\tif (loadError) {\n\t\tconsole.error('Google Maps failed to load:', loadError);\n\t\treturn <div className=\"hc-p-4\">Error loading Google Maps</div>;\n\t}\n\n\t// Don't block rendering - let filters and list show immediately\n\t// Map container will handle its own loading state\n\n\t// siteConfiguration is now required - all data passed in statically\n\tif (!siteConfiguration) {\n\t\tconsole.error('Site configuration is required');\n\t\treturn <div className=\"hc-p-4\">Site configuration is required</div>;\n\t}\n\n\t// Prepare props for MapListProvider\n\tconst mapListProps = {\n\t\tresetFilters: false,\n\t\tnavigateToDetails,\n\t\tnavigateToEasyApply,\n\t\tLink,\n\t\tlinkFormat,\n\t\teasyApplyUrl,\n\t\teasyApplyText,\n\t\tlistings,\n\t\tentities,\n\t\tsiteConfig: siteConfiguration,\n\t\tgetListingEntitiesCallback,\n\t\tsetFiltersUrl,\n\t\thiddenFilters,\n\t\thandleUrlUpdate,\n\t\tdefaultFilters,\n\t\tdefaultZoomOverride, // will usually fit bounds\n\t\tcontainerStyle,\n\t\tExpandListComponent: ExpandListComponent ?? null,\n\t\tadditionalMapMarkers,\n\t\tisIframe,\n\t\tlocalStorageKey,\n\t\thideMap,\n\t\thideFilters,\n\t\tnoEntities,\n\t\tfilterConfig,\n\t\tmobileDetailsCallback\n\t};\n\n\t// Calculate effective showMap value\n\tconst effectiveShowMap = hideMap ? false : siteConfiguration.showMap;\n\n\t// Prepare marker configuration\n\tconst markerConfigs = {\n\t\tfillColor: siteConfiguration.colors.primary,\n\t\tstrokeColor: siteConfiguration.colors.primaryDark,\n\t\tselectedFillColor: siteConfiguration.colors.secondary,\n\t\tselectedStrokeColor: siteConfiguration.colors.secondaryDark,\n\t\tplaceMarkers: {\n\t\t\tcolors: siteConfiguration.pointsOfInterestConfig.placeMarkerColors,\n\t\t\tsize: siteConfiguration.pointsOfInterestConfig.placeMarkerSize\n\t\t}\n\t};\n\n\t// Render immediately - individual components handle their own loading\n\t// Only Google Maps components will wait for isMapsLoaded\n\treturn (\n\t\t<ContextProviders\n\t\t\tsiteConfig={siteConfiguration}\n\t\t\ttrackEvent={trackEvent}\n\t\t\tgoogleMapsApiKey={googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY}\n\t\t\tcomponents={components}\n\t\t\t{...mapListProps}\n\t\t>\n\t\t\t<Grid\n\t\t\t\tas='section'\n\t\t\t\tid='job-search-interface'\n\t\t\t\tcolumns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}\n\t\t\t\tgap='hc-gap-0'\n\t\t\t\tautoRows={false}\n\t\t\t\tclassName={'hc-bundle hc-items-stretch hc-divide-x-0 md:hc-divide-x hc-divide-uiAccent/20'}\n\t\t\t>\n\t\t\t\t{!hideFilters && (\n\t\t\t\t\t<Grid.Item className='hc-bg-gray-100'>\n\t\t\t\t\t\t<Filter isDesktop={true} showMap={effectiveShowMap} className='hc-hidden md:hc-block' />\n\t\t\t\t\t</Grid.Item>\n\t\t\t\t)}\n\t\t\t\t<MapList\n\t\t\t\t\tcontainerStyle={containerStyle}\n\t\t\t\t\tmapPosition={siteConfiguration.mapPosition}\n\t\t\t\t\tshowMap={effectiveShowMap}\n\t\t\t\t\tfieldsShown={siteConfiguration.fieldsShown}\n\t\t\t\t\tspecialFeatures={siteConfiguration.specialFeatures}\n\t\t\t\t\tfieldNames={siteConfiguration.fieldNames}\n\t\t\t\t\tplaceMappings={siteConfiguration.pointsOfInterestConfig.placeMappings ?? {}}\n\t\t\t\t\tmarkerConfigs={markerConfigs}\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</ContextProviders>\n\t);\n};\n\nexport default HireControlMap;\n"],"names":["LIBRARIES","ContextProviders","_ref","_siteConfig$pointsOfI","_siteConfig$pointsOfI2","children","siteConfig","trackEvent","googleMapsApiKey","components","mapListProps","_objectWithoutProperties","_excluded","React","createElement","ComponentProvider","TrackEventProvider","ThemeProvider","uiText","colors","uiAccent","primary","primaryDark","secondary","secondaryDark","borderDefault","MapListProvider","_extends","MapProvider","resetFilters","defaultZoomOverride","localStorageKey","PlacesProvider","placeMappings","pointsOfInterestConfig","additionalMapMarkers","showAtZoomLevel","markerColors","fillColor","strokeColor","selectedFillColor","selectedStrokeColor","placeMarkers","placeMarkerColors","size","placeMarkerSize","HireControlMap","_ref2","_siteConfiguration$po","clientToken","_ref2$containerStyle","containerStyle","height","_ref2$navigateToDetai","navigateToDetails","_ref2$navigateToEasyA","navigateToEasyApply","_ref2$handleUrlUpdate","handleUrlUpdate","_ref2$Link","Link","_ref2$linkFormat","linkFormat","_ref2$easyApplyUrl","easyApplyUrl","_ref2$easyApplyText","easyApplyText","_ref2$isIframe","isIframe","_ref2$hideMap","hideMap","_ref2$hideFilters","hideFilters","_ref2$noEntities","noEntities","_ref2$mobileDetailsCa","mobileDetailsCallback","_ref2$trackEvent","eventType","eventObj","console","log","_ref2$listings","listings","_ref2$entities","entities","_ref2$getListingEntit","getListingEntitiesCallback","_ref2$defaultFilters","defaultFilters","_ref2$hiddenFilters","hiddenFilters","_ref2$setFiltersUrl","setFiltersUrl","_ref2$ExpandListCompo","ExpandListComponent","_ref2$additionalMapMa","_ref2$defaultZoomOver","_ref2$siteConfigurati","siteConfiguration","_ref2$localStorageKey","_ref2$algoliaAppId","algoliaAppId","_ref2$components","_ref2$algoliaApiKey","algoliaApiKey","_ref2$algoliaIndexNam","algoliaIndexName","_ref2$filterConfig","filterConfig","hideZeroResults","dynamicCounts","showFavorites","collapsedByDefault","sortAlphabetically","classNames","filterContainer","filterContent","filterAccordion","filterAccordionHeader","filterAccordionContent","filterItem","filterItemLabel","filterItemCheckbox","filterItemCount","searchInput","resetButton","showJobsButton","filterFooter","_useState","useState","_useState2","_slicedToArray","algoliaInitialized","setAlgoliaInitialized","useEffect","window","initializeAlgoliaSearch","then","initialized","_useLoadScript","useLoadScript","version","libraries","isLoaded","loadError","error","className","effectiveShowMap","showMap","markerConfigs","process","env","GOOGLE_MAPS_API_KEY","Grid","as","id","columns","gap","autoRows","Item","Filter","isDesktop","MapList","mapPosition","fieldsShown","specialFeatures","fieldNames"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useMapList } from '../../../contexts/mapListContext.js';
3
- import AccordionFilters from '../../modules/accordions/filters.js';
3
+ import { useComponents } from '../../../contexts/componentContext.js';
4
4
  import AccordionFilterItem from './filter-item-container.js';
5
5
  import FilterItemContainer from '../filter/filter-item-container.js';
6
6
 
@@ -13,6 +13,9 @@ var AccordionFiltersContainer = function AccordionFiltersContainer(_ref) {
13
13
  setSelectedListItem = _ref.setSelectedListItem,
14
14
  SubcategoryRequireCategory = _ref.SubcategoryRequireCategory,
15
15
  handleReset = _ref.handleReset;
16
+ // Get injected FiltersAccordion component from context
17
+ var _useComponents = useComponents(),
18
+ AccordionFilters = _useComponents.FiltersAccordion;
16
19
  var _useMapList = useMapList(),
17
20
  filterOptions = _useMapList.filterOptions,
18
21
  selectedFilters = _useMapList.selectedFilters,
@@ -1 +1 @@
1
- {"version":3,"file":"filter-container.js","sources":["../../../../src/components/containers/accordions/filter-container.js"],"sourcesContent":["import React from 'react';\nimport { useMapList } from '~/contexts/mapListContext';\nimport AccordionFilters from '~/components/modules/accordions/filters';\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\n\nconst AccordionFiltersContainer = ({\n\tclassName,\n\tdefaultValue,\n\tsetDefaultValue,\n\tsetLocation,\n\tsetSelectedListItem,\n\tSubcategoryRequireCategory,\n\thandleReset\n}) => {\n\tconst { filterOptions, selectedFilters, setSelectedFilters, siteConfig, hiddenFilters, noEntities } = useMapList();\n\n\tconst handleSetSelectedFilters = prevFilters => {\n\t\tsetSelectedFilters(prevFilters);\n\t\tsetLocation(null);\n\t\tsetSelectedListItem(null);\n\t};\n\tlet displayedFilters = filterOptions?.filters;\n\n\tif (hiddenFilters) {\n\t\t displayedFilters = filterOptions?.filters.filter(filter => !hiddenFilters.includes(filter.id));\n\t}\n\n\t// Hide entity-dependent filters when noEntities is true\n\tif (noEntities && displayedFilters) {\n\t\tdisplayedFilters = displayedFilters.filter(filter => filter.id !== 'entityName');\n\t}\n\n\treturn (\n\t\t<AccordionFilters\n\t\t\tclassName={className}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tfilterOptions={filterOptions}\n\t\t\thandleReset={handleReset}\n\t\t>\n\t\t\t{displayedFilters?.map(filter => {\n\t\t\t\tif(filter.id === 'category' && SubcategoryRequireCategory === true && (!selectedFilters.categoryClass || Object.keys(selectedFilters.categoryClass).length < 1)){\n\t\t\t\t\treturn;\n\t\t\t\t} else if (filter.id === 'category' && SubcategoryRequireCategory === true && filter.items.length > 0) {\n\t\t\t\t\tfilter.items = filter.items.filter(item => item.count > 0);\n\t\t\t\t}\n\n\t\t\t\telse if(filter.id === 'specialFeatures' && !filter.items.some(item => item.name !== \"Favorite\" && item.count > 0)){\n\t\t\t\t\tconst favorite = filter.items.find(item => item.name === \"Favorite\");\n\t\t\t\t\treturn \t<FilterItem\n\t\t\t\t\t\tkey={\"Favorite\"}\n\t\t\t\t\t\titem={favorite}\n\t\t\t\t\t\tfield={filter.id}\n\t\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t\t\tsubcategoryRequireCategory={false}\n\t\t\t\t\t/>;\n\n\t\t\t\t}\n\n\t\t\t\treturn (<AccordionFilterItem\n\t\t\t\t\tkey={filter.id}\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\texternalLinksInFilters={siteConfig.externalLinksInFilters}\n\t\t\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\tsetSelectedFilters={handleSetSelectedFilters}\n\t\t\t\t\tsubcategoryRequireCategory={siteConfig.subcategoryRequireCategory}\n\t\t\t\t/>);\n\t\t\t}\n\t\t\t)}\n\t\t</AccordionFilters>\n\t);\n};\n\nexport default AccordionFiltersContainer;\n"],"names":["AccordionFiltersContainer","_ref","_displayedFilters","className","defaultValue","setDefaultValue","setLocation","setSelectedListItem","SubcategoryRequireCategory","handleReset","_useMapList","useMapList","filterOptions","selectedFilters","setSelectedFilters","siteConfig","hiddenFilters","noEntities","handleSetSelectedFilters","prevFilters","displayedFilters","filters","filter","includes","id","React","createElement","AccordionFilters","map","categoryClass","Object","keys","length","items","item","count","some","name","favorite","find","FilterItem","key","field","subcategoryRequireCategory","AccordionFilterItem","externalLinksInFilters"],"mappings":"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"}
1
+ {"version":3,"file":"filter-container.js","sources":["../../../../src/components/containers/accordions/filter-container.js"],"sourcesContent":["import React from 'react';\nimport { useMapList } from '~/contexts/mapListContext';\nimport { useComponents } from '~/contexts/componentContext';\nimport AccordionFilterItem from '~/components/containers/accordions/filter-item-container';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\n\nconst AccordionFiltersContainer = ({\n\tclassName,\n\tdefaultValue,\n\tsetDefaultValue,\n\tsetLocation,\n\tsetSelectedListItem,\n\tSubcategoryRequireCategory,\n\thandleReset\n}) => {\n\t// Get injected FiltersAccordion component from context\n\tconst { FiltersAccordion: AccordionFilters } = useComponents();\n\t\n\tconst { filterOptions, selectedFilters, setSelectedFilters, siteConfig, hiddenFilters, noEntities } = useMapList();\n\n\tconst handleSetSelectedFilters = prevFilters => {\n\t\tsetSelectedFilters(prevFilters);\n\t\tsetLocation(null);\n\t\tsetSelectedListItem(null);\n\t};\n\tlet displayedFilters = filterOptions?.filters;\n\n\tif (hiddenFilters) {\n\t\t displayedFilters = filterOptions?.filters.filter(filter => !hiddenFilters.includes(filter.id));\n\t}\n\n\t// Hide entity-dependent filters when noEntities is true\n\tif (noEntities && displayedFilters) {\n\t\tdisplayedFilters = displayedFilters.filter(filter => filter.id !== 'entityName');\n\t}\n\n\treturn (\n\t\t<AccordionFilters\n\t\t\tclassName={className}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tfilterOptions={filterOptions}\n\t\t\thandleReset={handleReset}\n\t\t>\n\t\t\t{displayedFilters?.map(filter => {\n\t\t\t\tif(filter.id === 'category' && SubcategoryRequireCategory === true && (!selectedFilters.categoryClass || Object.keys(selectedFilters.categoryClass).length < 1)){\n\t\t\t\t\treturn;\n\t\t\t\t} else if (filter.id === 'category' && SubcategoryRequireCategory === true && filter.items.length > 0) {\n\t\t\t\t\tfilter.items = filter.items.filter(item => item.count > 0);\n\t\t\t\t}\n\n\t\t\t\telse if(filter.id === 'specialFeatures' && !filter.items.some(item => item.name !== \"Favorite\" && item.count > 0)){\n\t\t\t\t\tconst favorite = filter.items.find(item => item.name === \"Favorite\");\n\t\t\t\t\treturn \t<FilterItem\n\t\t\t\t\t\tkey={\"Favorite\"}\n\t\t\t\t\t\titem={favorite}\n\t\t\t\t\t\tfield={filter.id}\n\t\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\t\tsetSelectedFilters={setSelectedFilters}\n\t\t\t\t\t\tsubcategoryRequireCategory={false}\n\t\t\t\t\t/>;\n\n\t\t\t\t}\n\n\t\t\t\treturn (<AccordionFilterItem\n\t\t\t\t\tkey={filter.id}\n\t\t\t\t\tfilter={filter}\n\t\t\t\t\texternalLinksInFilters={siteConfig.externalLinksInFilters}\n\t\t\t\t\tsetDefaultValue={setDefaultValue}\n\t\t\t\t\tselectedFilters={selectedFilters}\n\t\t\t\t\tsetSelectedFilters={handleSetSelectedFilters}\n\t\t\t\t\tsubcategoryRequireCategory={siteConfig.subcategoryRequireCategory}\n\t\t\t\t/>);\n\t\t\t}\n\t\t\t)}\n\t\t</AccordionFilters>\n\t);\n};\n\nexport default AccordionFiltersContainer;\n"],"names":["AccordionFiltersContainer","_ref","_displayedFilters","className","defaultValue","setDefaultValue","setLocation","setSelectedListItem","SubcategoryRequireCategory","handleReset","_useComponents","useComponents","AccordionFilters","FiltersAccordion","_useMapList","useMapList","filterOptions","selectedFilters","setSelectedFilters","siteConfig","hiddenFilters","noEntities","handleSetSelectedFilters","prevFilters","displayedFilters","filters","filter","includes","id","React","createElement","map","categoryClass","Object","keys","length","items","item","count","some","name","favorite","find","FilterItem","key","field","subcategoryRequireCategory","AccordionFilterItem","externalLinksInFilters"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { memo } from 'react';
3
- import AccordionFilterItem$1 from '../../modules/accordions/filterItem.js';
3
+ import { useComponents } from '../../../contexts/componentContext.js';
4
4
  import FilterItemContainer$1 from '../filter/filter-item-container.js';
5
- import { ButtonItemsPill } from '../../modules/buttons/items-pill.js';
6
5
 
7
6
  var FilterItemContainer = function FilterItemContainer(_ref) {
8
7
  var filter = _ref.filter,
@@ -12,6 +11,10 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
12
11
  _ref$subcategoryRequi = _ref.subcategoryRequireCategory,
13
12
  subcategoryRequireCategory = _ref$subcategoryRequi === void 0 ? false : _ref$subcategoryRequi,
14
13
  externalLinksInFilters = _ref.externalLinksInFilters;
14
+ // Get injected components from context
15
+ var _useComponents = useComponents(),
16
+ AccordionFilterItem = _useComponents.FilterItemAccordion,
17
+ ItemsPill = _useComponents.ItemsPill;
15
18
  var externalLinks = externalLinksInFilters === null || externalLinksInFilters === void 0 ? void 0 : externalLinksInFilters.filter(function (x) {
16
19
  return x.fieldName == filter.id;
17
20
  });
@@ -32,7 +35,7 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
32
35
  return updatedFilters;
33
36
  });
34
37
  };
35
- var header = /*#__PURE__*/React.createElement(React.Fragment, null, filter.title, activeItemsCount > 0 && /*#__PURE__*/React.createElement(ButtonItemsPill, {
38
+ var header = /*#__PURE__*/React.createElement(React.Fragment, null, filter.title, activeItemsCount > 0 && /*#__PURE__*/React.createElement(ItemsPill, {
36
39
  activeItemsCount: activeItemsCount,
37
40
  onClick: handleClearFilters
38
41
  }));
@@ -59,7 +62,7 @@ var FilterItemContainer = function FilterItemContainer(_ref) {
59
62
  subcategoryRequireCategory: subcategoryRequireCategory
60
63
  });
61
64
  }));
62
- return /*#__PURE__*/React.createElement(AccordionFilterItem$1, {
65
+ return /*#__PURE__*/React.createElement(AccordionFilterItem, {
63
66
  id: filter.id,
64
67
  setDefaultValue: setDefaultValue,
65
68
  header: header,
@@ -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';\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\texternalLinksInFilters\n}) => {\n\tconst externalLinks = externalLinksInFilters?.filter(x => x.fieldName == filter.id);\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 == 'category'){\n\t\t\t\tdelete updatedFilters['subCategory'];\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['entityName'];\n\t\t\t}\n\t\t\tdelete updatedFilters[fieldKey];\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.filter(item => item != null).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\tsubcategoryRequireCategory={subcategoryRequireCategory}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{externalLinks && externalLinks.map(link => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={link.externalLink}\n\t\t\t\t\titem={<a href={link.externalLinkUrl}>{link.externalLink}</a>}\n\t\t\t\t\tisExternalLink={true}\n\t\t\t\t\texternalLinkUrl={link.externalLinkUrl}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t\tsubcategoryRequireCategory={subcategoryRequireCategory}\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","externalLinksInFilters","externalLinks","x","fieldName","id","fieldKey","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","entityId","header","React","createElement","Fragment","title","ItemsPill","onClick","body","items","item","sort","map","FilterItem","key","name","field","link","externalLink","href","externalLinkUrl","isExternalLink","AccordionFilterItem","memo"],"mappings":"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"}
1
+ {"version":3,"file":"filter-item-container.js","sources":["../../../../src/components/containers/accordions/filter-item-container.js"],"sourcesContent":["import React, { memo } from 'react';\nimport { useComponents } from '~/contexts/componentContext';\nimport FilterItem from '~/components/containers/filter/filter-item-container';\n\nconst FilterItemContainer = ({\n\tfilter,\n\tsetDefaultValue,\n\tsetSelectedFilters,\n\tselectedFilters,\n\tsubcategoryRequireCategory = false,\n\texternalLinksInFilters\n}) => {\n\t// Get injected components from context\n\tconst { FilterItemAccordion: AccordionFilterItem, ItemsPill } = useComponents();\n\t\n\tconst externalLinks = externalLinksInFilters?.filter(x => x.fieldName == filter.id);\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 == 'category'){\n\t\t\t\tdelete updatedFilters['subCategory'];\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['entityName'];\n\t\t\t}\n\t\t\tdelete updatedFilters[fieldKey];\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.filter(item => item != null).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\tsubcategoryRequireCategory={subcategoryRequireCategory}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{externalLinks && externalLinks.map(link => (\n\t\t\t\t<FilterItem\n\t\t\t\t\tkey={link.externalLink}\n\t\t\t\t\titem={<a href={link.externalLinkUrl}>{link.externalLink}</a>}\n\t\t\t\t\tisExternalLink={true}\n\t\t\t\t\texternalLinkUrl={link.externalLinkUrl}\n\t\t\t\t\tfield={filter.id}\n\t\t\t\t\tsubcategoryRequireCategory={subcategoryRequireCategory}\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","externalLinksInFilters","_useComponents","useComponents","AccordionFilterItem","FilterItemAccordion","ItemsPill","externalLinks","x","fieldName","id","fieldKey","activeItemsCount","Object","keys","length","handleClearFilters","event","stopPropagation","prevFilters","updatedFilters","_objectSpread","entityId","header","React","createElement","Fragment","title","onClick","body","items","item","sort","map","FilterItem","key","name","field","link","externalLink","href","externalLinkUrl","isExternalLink","memo"],"mappings":"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"}