@abcagency/hc-ui-components 1.9.35 → 1.9.36
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/dist/_virtual/jsx-runtime.js +4 -0
- package/dist/_virtual/jsx-runtime.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.min.js +4 -0
- package/dist/_virtual/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/apis/hcApi.js +91 -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 +175 -203
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/containers/accordions/filter-container.js +9 -22
- package/dist/components/containers/accordions/filter-container.js.map +1 -1
- package/dist/components/containers/accordions/filter-item-container.js +11 -16
- package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
- package/dist/components/containers/accordions/map-accordion-item-container.js +12 -37
- package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
- package/dist/components/containers/filter/commute-container.js +7 -18
- package/dist/components/containers/filter/commute-container.js.map +1 -1
- package/dist/components/containers/filter/filter-container.js +16 -12
- package/dist/components/containers/filter/filter-container.js.map +1 -1
- package/dist/components/containers/filter/filter-item-container.js +28 -44
- package/dist/components/containers/filter/filter-item-container.js.map +1 -1
- package/dist/components/containers/filter/location-container.js +7 -15
- package/dist/components/containers/filter/location-container.js.map +1 -1
- package/dist/components/containers/filter/points-of-interest-container.js +8 -21
- package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
- package/dist/components/containers/filter/points-of-interest-radio-item-container.js +3 -6
- package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
- package/dist/components/containers/filter/search-container.js +4 -11
- package/dist/components/containers/filter/search-container.js.map +1 -1
- package/dist/components/containers/jobListing/listing-details-container.js +5 -10
- package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
- package/dist/components/containers/list/item-list-container.js +15 -22
- package/dist/components/containers/list/item-list-container.js.map +1 -1
- package/dist/components/containers/list/list-item/list-item-container.js +5 -16
- package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
- package/dist/components/containers/maps/info-window-content-container.js +3 -6
- package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
- package/dist/components/containers/maps/map-container.js +28 -106
- package/dist/components/containers/maps/map-container.js.map +1 -1
- package/dist/components/containers/maps/map-list-container.js +7 -35
- package/dist/components/containers/maps/map-list-container.js.map +1 -1
- package/dist/components/containers/maps/map-marker-container.js +8 -11
- package/dist/components/containers/maps/map-marker-container.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +5 -5
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/accordions/default.js +15 -15
- package/dist/components/modules/accordions/default.js.map +1 -1
- package/dist/components/modules/accordions/filterItem.js +7 -12
- package/dist/components/modules/accordions/filterItem.js.map +1 -1
- package/dist/components/modules/accordions/filters.js +7 -17
- package/dist/components/modules/accordions/filters.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +19 -20
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/buttons/default.js +9 -9
- package/dist/components/modules/buttons/default.js.map +1 -1
- package/dist/components/modules/buttons/items-pill.js +2 -2
- package/dist/components/modules/buttons/items-pill.js.map +1 -1
- package/dist/components/modules/buttons/pill-wrapper.js +3 -4
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
- package/dist/components/modules/buttons/show-all-button.js +3 -3
- package/dist/components/modules/buttons/show-all-button.js.map +1 -1
- package/dist/components/modules/cards/default.js +11 -11
- package/dist/components/modules/cards/default.js.map +1 -1
- package/dist/components/modules/cards/filter.js +5 -5
- package/dist/components/modules/cards/filter.js.map +1 -1
- package/dist/components/modules/dialogs/apply-dialog.js +19 -19
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
- package/dist/components/modules/filter/commute.js +20 -21
- package/dist/components/modules/filter/commute.js.map +1 -1
- package/dist/components/modules/filter/index.js +30 -122
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/item.js +9 -15
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +6 -6
- package/dist/components/modules/filter/location.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +6 -6
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/filter/search.js +11 -16
- package/dist/components/modules/filter/search.js.map +1 -1
- package/dist/components/modules/filter/sort.js +28 -28
- package/dist/components/modules/filter/sort.js.map +1 -1
- package/dist/components/modules/grid.js +4 -4
- package/dist/components/modules/grid.js.map +1 -1
- package/dist/components/modules/icon.js +4 -4
- package/dist/components/modules/icon.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details.js +5 -8
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/list/field-mapper-desktop.js +14 -38
- package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
- package/dist/components/modules/list/field-mapper-mobile.js +63 -94
- package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
- package/dist/components/modules/list/header-item.js +7 -7
- package/dist/components/modules/list/header-item.js.map +1 -1
- package/dist/components/modules/list/header.js +5 -5
- package/dist/components/modules/list/header.js.map +1 -1
- package/dist/components/modules/list/item-expand-card/index.js +3 -3
- package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
- package/dist/components/modules/list/item-list.js +18 -15
- package/dist/components/modules/list/item-list.js.map +1 -1
- package/dist/components/modules/list/list-item/list-item.js +18 -95
- package/dist/components/modules/list/list-item/list-item.js.map +1 -1
- package/dist/components/modules/maps/info-window-card.js +2 -2
- package/dist/components/modules/maps/info-window-card.js.map +1 -1
- package/dist/components/modules/maps/info-window-content.js +5 -5
- package/dist/components/modules/maps/info-window-content.js.map +1 -1
- package/dist/components/modules/maps/map-list.js +5 -5
- package/dist/components/modules/maps/map-list.js.map +1 -1
- package/dist/components/modules/maps/map-marker.js +3 -3
- package/dist/components/modules/maps/map-marker.js.map +1 -1
- package/dist/components/modules/maps/map.js +5 -17
- package/dist/components/modules/maps/map.js.map +1 -1
- package/dist/components/modules/maps/place-marker.js +5 -5
- package/dist/components/modules/maps/place-marker.js.map +1 -1
- package/dist/components/modules/maps/tabs.js +25 -25
- package/dist/components/modules/maps/tabs.js.map +1 -1
- package/dist/contexts/componentContext.js +58 -6
- package/dist/contexts/componentContext.js.map +1 -1
- package/dist/contexts/mapContext.js +20 -49
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +70 -271
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/placesContext.js +5 -7
- package/dist/contexts/placesContext.js.map +1 -1
- package/dist/contexts/themeContext.js +5 -10
- package/dist/contexts/themeContext.js.map +1 -1
- package/dist/contexts/trackEventContext.js +2 -2
- package/dist/contexts/trackEventContext.js.map +1 -1
- package/dist/hc_react_map_npm/packages/hc-ui-components/node_modules/tslib/tslib.es6.js +45 -0
- package/dist/hc_react_map_npm/packages/hc-ui-components/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/hooks/useList.js +1 -3
- package/dist/hooks/useList.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +1 -0
- package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +802 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +679 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +343 -0
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +140 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +137 -0
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.js +33 -0
- package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/components/keyboard.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js +19 -0
- package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-computed.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-computed.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-id.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-id.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +10 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/internal/hidden.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/bugs.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/env.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/env.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/form.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/form.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/match.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/match.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/once.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/once.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/owner.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/utils/owner.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/platform.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/utils/platform.js.map +1 -0
- package/dist/node_modules/@headlessui/react/dist/utils/render.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/utils/render.js.map +1 -0
- package/dist/node_modules/@iconify/react/dist/iconify.js +1928 -0
- package/dist/node_modules/@iconify/react/dist/iconify.js.map +1 -0
- package/dist/node_modules/@radix-ui/number/dist/index.js +7 -0
- package/dist/node_modules/@radix-ui/number/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +12 -0
- package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-accordion/dist/index.js +304 -0
- package/dist/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +26 -0
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +145 -0
- package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js +69 -0
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +19 -0
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +80 -0
- package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +320 -0
- package/dist/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-direction/dist/index.js +12 -0
- package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +212 -0
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +27 -0
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +208 -0
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +16 -0
- package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js +279 -0
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js +18 -0
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +120 -0
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +42 -0
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +221 -0
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-select/dist/index.js +1109 -0
- package/dist/node_modules/@radix-ui/react-select/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +187 -0
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +13 -0
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +47 -0
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +19 -0
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +8 -0
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js +16 -0
- package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +41 -0
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +35 -0
- package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -0
- package/dist/node_modules/@react-google-maps/api/dist/esm.js +8515 -0
- package/dist/node_modules/@react-google-maps/api/dist/esm.js.map +1 -0
- package/dist/node_modules/@remix-run/router/dist/router.js +271 -0
- package/dist/node_modules/@remix-run/router/dist/router.js.map +1 -0
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +43 -0
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +669 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +61 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +137 -0
- package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -0
- package/dist/node_modules/fuse.js/dist/fuse.js +1779 -0
- package/dist/node_modules/fuse.js/dist/fuse.js.map +1 -0
- package/dist/node_modules/get-nonce/dist/es2015/index.js +9 -0
- package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +17 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.js +12 -0
- package/dist/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/node_modules/react-loader-spinner/dist/index.js +134 -83
- package/dist/node_modules/react-loader-spinner/dist/index.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +10 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +161 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +39 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +22 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +107 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +6 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +8 -0
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +57 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +11 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +32 -0
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -0
- package/dist/node_modules/react-router/dist/index.js +280 -0
- package/dist/node_modules/react-router/dist/index.js.map +1 -0
- package/dist/node_modules/react-router-dom/dist/index.js +201 -0
- package/dist/node_modules/react-router-dom/dist/index.js.map +1 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js +20 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +26 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +52 -0
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -0
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +716 -4
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +5 -7
- package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -1
- package/dist/node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -1
- package/dist/node_modules/stylis/src/Enum.js +2 -2
- package/dist/node_modules/stylis/src/Enum.js.map +1 -1
- package/dist/node_modules/stylis/src/Middleware.js +59 -49
- package/dist/node_modules/stylis/src/Middleware.js.map +1 -1
- package/dist/node_modules/stylis/src/Parser.js +135 -137
- package/dist/node_modules/stylis/src/Parser.js.map +1 -1
- package/dist/node_modules/stylis/src/Prefixer.js +187 -135
- package/dist/node_modules/stylis/src/Prefixer.js.map +1 -1
- package/dist/node_modules/stylis/src/Serializer.js +21 -18
- package/dist/node_modules/stylis/src/Serializer.js.map +1 -1
- package/dist/node_modules/stylis/src/Tokenizer.js +121 -117
- package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -1
- package/dist/node_modules/stylis/src/Utility.js +26 -24
- package/dist/node_modules/stylis/src/Utility.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2530 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/tinycolor2/esm/tinycolor.js.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.js +13 -1
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +25 -0
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -0
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +49 -0
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -0
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +43 -0
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -0
- package/dist/node_modules/use-places-autocomplete/dist/index.esm.js +243 -0
- package/dist/node_modules/use-places-autocomplete/dist/index.esm.js.map +1 -0
- package/dist/node_modules/use-sidecar/dist/es2015/exports.js +22 -0
- package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -0
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js +78 -0
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -0
- package/dist/services/configService.js +15 -0
- package/dist/services/configService.js.map +1 -0
- package/dist/services/listingAggregatorService.js +37 -0
- package/dist/services/listingAggregatorService.js.map +1 -0
- package/dist/services/listingEntityService.js +15 -0
- package/dist/services/listingEntityService.js.map +1 -0
- package/dist/services/listingService.js +30 -0
- package/dist/services/listingService.js.map +1 -0
- package/dist/styles/index.css +3 -1
- package/dist/types/components/containers/accordions/filter-container.d.ts +11 -0
- package/dist/types/components/containers/accordions/map-accordion-item-container.d.ts +1 -2
- package/dist/types/components/containers/filter/commute-container.d.ts +5 -0
- package/dist/types/components/containers/filter/filter-container.d.ts +7 -0
- package/dist/types/components/containers/filter/location-container.d.ts +10 -0
- package/dist/types/components/containers/filter/points-of-interest-container.d.ts +10 -0
- package/dist/types/components/containers/filter/points-of-interest-radio-item-container.d.ts +8 -0
- package/dist/types/components/containers/filter/search-container.d.ts +8 -0
- package/dist/types/components/containers/list/list-item/list-item-container.d.ts +1 -3
- package/dist/types/components/containers/maps/info-window-content-container.d.ts +5 -0
- package/dist/types/components/containers/maps/map-container.d.ts +7 -0
- package/dist/types/components/containers/maps/map-list-container.d.ts +15 -0
- package/dist/types/components/containers/maps/map-marker-container.d.ts +13 -0
- package/dist/types/components/modules/buttons/button-group-apply.d.ts +1 -2
- package/dist/types/components/modules/jobListing/listing-details.d.ts +1 -2
- package/dist/types/components/modules/list/field-mapper-desktop.d.ts +1 -2
- package/dist/types/components/modules/list/field-mapper-mobile.d.ts +1 -2
- package/dist/types/components/modules/list/list-item/list-item.d.ts +1 -1
- package/dist/types/constants/placeTypes.d.ts +8 -0
- package/dist/types/contexts/mapContext.d.ts +0 -1
- package/dist/types/contexts/mapListContext.d.ts +2 -54
- package/dist/types/contexts/placesContext.d.ts +10 -0
- package/dist/types/hooks/useList.d.ts +3 -3
- package/dist/types/services/configService.d.ts +6 -0
- package/dist/types/services/listingAggregatorService.d.ts +9 -0
- package/dist/types/services/listingEntityService.d.ts +6 -0
- package/dist/types/services/listingService.d.ts +9 -0
- package/dist/types/services/recruiterService.d.ts +6 -0
- package/dist/types/types/GetListingParams.d.ts +1 -1
- package/dist/types/types/ListingEntity.d.ts +1 -2
- package/dist/types/types/ListingFields.d.ts +2 -4
- package/dist/types/types/Listings.d.ts +1 -0
- package/dist/types/types/config/Colors.d.ts +0 -1
- package/dist/types/types/config/MapConfig.d.ts +0 -4
- package/dist/types/types/config/PointsOfInterestConfig.d.ts +0 -1
- package/dist/types/util/filterUtil.d.ts +8 -12
- package/dist/types/util/mapIconUtil.d.ts +24 -0
- package/dist/types/util/mapUtil.d.ts +3 -3
- package/dist/types/util/urlFilterUtil.d.ts +0 -1
- package/dist/util/filterUtil.js +122 -413
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/loading.js +3 -3
- package/dist/util/loading.js.map +1 -1
- package/dist/util/mapUtil.js +25 -43
- package/dist/util/mapUtil.js.map +1 -1
- package/dist/util/urlFilterUtil.js +1 -5
- package/dist/util/urlFilterUtil.js.map +1 -1
- package/package.json +17 -66
- package/src/apis/hcApi.ts +2 -9
- package/src/components/HireControlMap.js +95 -160
- package/src/components/containers/accordions/filter-container.js +4 -14
- package/src/components/containers/accordions/filter-item-container.js +5 -7
- package/src/components/containers/accordions/map-accordion-item-container.js +7 -28
- package/src/components/containers/filter/commute-container.js +4 -15
- package/src/components/containers/filter/filter-container.js +13 -8
- package/src/components/containers/filter/filter-item-container.js +25 -39
- package/src/components/containers/filter/location-container.js +4 -9
- package/src/components/containers/filter/points-of-interest-container.js +3 -14
- package/src/components/containers/filter/points-of-interest-radio-item-container.js +1 -4
- package/src/components/containers/filter/search-container.js +2 -8
- package/src/components/containers/jobListing/listing-details-container.js +2 -6
- package/src/components/containers/list/item-list-container.tsx +13 -22
- package/src/components/containers/list/list-item/list-item-container.js +2 -11
- package/src/components/containers/maps/info-window-content-container.js +2 -5
- package/src/components/containers/maps/map-container.js +14 -92
- package/src/components/containers/maps/map-list-container.js +5 -33
- package/src/components/containers/maps/map-marker-container.js +2 -4
- package/src/components/modules/accordions/filterItem.js +3 -16
- package/src/components/modules/accordions/filters.js +4 -19
- package/src/components/modules/buttons/button-group-apply.js +9 -14
- package/src/components/modules/buttons/pill-wrapper.js +1 -2
- package/src/components/modules/dialogs/apply-dialog.js +2 -2
- package/src/components/modules/filter/commute.js +5 -7
- package/src/components/modules/filter/index.js +50 -137
- package/src/components/modules/filter/item.js +3 -16
- package/src/components/modules/filter/search.js +1 -7
- package/src/components/modules/jobListing/listing-details.js +3 -5
- package/src/components/modules/list/field-mapper-desktop.jsx +13 -32
- package/src/components/modules/list/field-mapper-mobile.jsx +80 -92
- package/src/components/modules/list/header-item.js +1 -1
- package/src/components/modules/list/item-list.tsx +5 -2
- package/src/components/modules/list/list-item/list-item.jsx +11 -85
- package/src/components/modules/maps/map-list.js +1 -1
- package/src/components/modules/maps/map.js +18 -30
- package/src/components/modules/maps/tabs.js +5 -5
- package/src/contexts/mapContext.tsx +18 -45
- package/src/contexts/mapListContext.tsx +86 -373
- package/src/contexts/placesContext.js +3 -3
- package/src/contexts/themeContext.js +3 -8
- package/src/hooks/useList.js +1 -3
- package/src/index.js +0 -9
- package/src/services/configService.ts +16 -0
- package/src/services/listingAggregatorService.ts +58 -0
- package/src/services/listingEntityService.ts +16 -0
- package/src/services/listingService.ts +40 -0
- package/src/services/recruiterService.ts +18 -0
- package/src/styles/bundle.css +1 -3
- package/src/styles/index.css +2 -4
- package/src/types/GetListingParams.ts +1 -1
- package/src/types/ListingEntity.ts +1 -2
- package/src/types/ListingFields.ts +2 -4
- package/src/types/Listings.ts +1 -0
- package/src/types/config/Colors.ts +0 -1
- package/src/types/config/MapConfig.ts +0 -2
- package/src/types/config/PointsOfInterestConfig.ts +0 -1
- package/src/util/fieldMapper.js +2 -6
- package/src/util/filterUtil.js +55 -261
- package/src/util/mapUtil.js +41 -59
- package/src/util/urlFilterUtil.js +1 -4
- package/README.md +0 -323
- package/src/components/modules/maps/map.js.bak +0 -67
- package/src/components/modules/maps/map.js.bak2 +0 -67
- package/src/contexts/componentContext.tsx +0 -226
- package/src/styles/components.css +0 -30
- package/src/util/algoliaSearchUtil.js +0 -151
- package/src/util/twMerge.js +0 -6
|
@@ -11,54 +11,77 @@ import { PlacesProvider } from '~/contexts/placesContext';
|
|
|
11
11
|
import { MapListProvider } from '~/contexts/mapListContext';
|
|
12
12
|
import { TrackEventProvider } from '~/contexts/trackEventContext';
|
|
13
13
|
import { ThemeProvider } from '~/contexts/themeContext';
|
|
14
|
-
import { ComponentProvider } from '~/contexts/componentContext';
|
|
15
14
|
|
|
16
|
-
import {
|
|
15
|
+
import { getMapConfig } from '~/services/configService';
|
|
16
|
+
import { setClientAuthKey } from '~/clientToken.js';
|
|
17
|
+
|
|
18
|
+
import '../styles/index.css';
|
|
17
19
|
|
|
18
20
|
// Libraries for Google Maps
|
|
19
21
|
const LIBRARIES = ['places'];
|
|
20
22
|
|
|
21
|
-
//
|
|
23
|
+
// Custom hook to fetch site configuration
|
|
24
|
+
function useSiteConfig(clientToken, siteConfiguration = null) {
|
|
25
|
+
const [siteConfig, setSiteConfig] = useState(siteConfiguration);
|
|
26
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
27
|
+
const [error, setError] = useState(null);
|
|
22
28
|
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
markerColors={{
|
|
44
|
-
fillColor: siteConfig.colors.primary,
|
|
45
|
-
strokeColor: siteConfig.colors.primaryDark,
|
|
46
|
-
selectedFillColor: siteConfig.colors.secondary,
|
|
47
|
-
selectedStrokeColor: siteConfig.colors.secondaryDark,
|
|
48
|
-
placeMarkers: {
|
|
49
|
-
colors: siteConfig.pointsOfInterestConfig.placeMarkerColors,
|
|
50
|
-
size: siteConfig.pointsOfInterestConfig.placeMarkerSize
|
|
51
|
-
}
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
const fetchSiteConfig = async () => {
|
|
31
|
+
try {
|
|
32
|
+
setClientAuthKey(clientToken);
|
|
33
|
+
const configData = await getMapConfig(clientToken);
|
|
34
|
+
setSiteConfig(configData);
|
|
35
|
+
} catch (err) {
|
|
36
|
+
console.error('Failed to fetch site configuration:', err);
|
|
37
|
+
setError(err);
|
|
38
|
+
} finally {
|
|
39
|
+
setIsLoading(false);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
if(!siteConfig){
|
|
43
|
+
fetchSiteConfig();
|
|
44
|
+
}
|
|
45
|
+
}, [clientToken]);
|
|
46
|
+
|
|
47
|
+
return { siteConfig, isLoading, error };
|
|
48
|
+
}
|
|
52
49
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
// Component to handle all context providers
|
|
51
|
+
const ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, ...mapListProps }) => { return(
|
|
52
|
+
<TrackEventProvider trackEvent={trackEvent}>
|
|
53
|
+
<ThemeProvider
|
|
54
|
+
uiText={siteConfig.colors.uiText}
|
|
55
|
+
uiAccent={siteConfig.colors.uiAccent}
|
|
56
|
+
primary={siteConfig.colors.primary}
|
|
57
|
+
primaryDark={siteConfig.colors.primaryDark}
|
|
58
|
+
secondary={siteConfig.colors.secondary}
|
|
59
|
+
secondaryDark={siteConfig.colors.secondaryDark}
|
|
60
|
+
>
|
|
61
|
+
<MapListProvider siteConfig={siteConfig} {...mapListProps}>
|
|
62
|
+
<MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride}>
|
|
63
|
+
<PlacesProvider
|
|
64
|
+
placeMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}
|
|
65
|
+
additionalMapMarkers={mapListProps.additionalMapMarkers}
|
|
66
|
+
googleMapsApiKey={googleMapsApiKey}
|
|
67
|
+
markerColors={{
|
|
68
|
+
fillColor: siteConfig.colors.primary,
|
|
69
|
+
strokeColor: siteConfig.colors.primaryDark,
|
|
70
|
+
selectedFillColor: siteConfig.colors.secondary,
|
|
71
|
+
selectedStrokeColor: siteConfig.colors.secondaryDark,
|
|
72
|
+
placeMarkers: {
|
|
73
|
+
colors: siteConfig.pointsOfInterestConfig.placeMarkerColors,
|
|
74
|
+
size: siteConfig.pointsOfInterestConfig.placeMarkerSize
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
}}
|
|
78
|
+
>
|
|
79
|
+
{children}
|
|
80
|
+
</PlacesProvider>
|
|
81
|
+
</MapProvider>
|
|
82
|
+
</MapListProvider>
|
|
83
|
+
</ThemeProvider>
|
|
84
|
+
</TrackEventProvider>
|
|
62
85
|
);};
|
|
63
86
|
|
|
64
87
|
// Main component
|
|
@@ -75,10 +98,6 @@ export const HireControlMap = ({
|
|
|
75
98
|
easyApplyUrl = null,
|
|
76
99
|
easyApplyText = 'Easy Apply',
|
|
77
100
|
isIframe = false,
|
|
78
|
-
hideMap = false, // Override to hide map even if siteConfig.showMap is true
|
|
79
|
-
hideFilters = false, // Hide the entire filter section
|
|
80
|
-
noEntities = false, // Skip entity fetching and hide entity-related filters
|
|
81
|
-
mobileDetailsCallback = null, // Optional callback for mobile job listing clicks - called instead of expanding accordion
|
|
82
101
|
trackEvent = (eventType, eventObj) => {
|
|
83
102
|
console.log(eventType);
|
|
84
103
|
console.log(eventObj);
|
|
@@ -95,89 +114,19 @@ export const HireControlMap = ({
|
|
|
95
114
|
defaultZoomOverride = null,
|
|
96
115
|
//Default site configuration file passed here stops need to fetch from api
|
|
97
116
|
siteConfiguration = null,
|
|
98
|
-
localStorageKey = 'defaultKey.'
|
|
99
|
-
// Algolia search configuration (optional)
|
|
100
|
-
algoliaAppId = null,
|
|
101
|
-
/**
|
|
102
|
-
* Component overrides - allows customization of any component
|
|
103
|
-
* @example
|
|
104
|
-
* components={{
|
|
105
|
-
* Filter: MyCustomFilter,
|
|
106
|
-
* ListItem: MyCustomListItem,
|
|
107
|
-
* MapMarker: MyCustomMapMarker
|
|
108
|
-
* }}
|
|
109
|
-
*/
|
|
110
|
-
components = {},
|
|
111
|
-
algoliaApiKey = null,
|
|
112
|
-
algoliaIndexName = null,
|
|
113
|
-
/**
|
|
114
|
-
* Filter configuration (optional)
|
|
115
|
-
* @param {boolean} hideZeroResults - Hide filter options with 0 results (default: false)
|
|
116
|
-
* @param {boolean} dynamicCounts - Update counts based on active filters.
|
|
117
|
-
* If false, shows initial/total counts (default: true)
|
|
118
|
-
* @param {boolean} showFavorites - Show favorites special feature filter (default: true)
|
|
119
|
-
* @param {boolean} collapsedByDefault - Start with all filter sections collapsed (default: false)
|
|
120
|
-
* @param {boolean} sortAlphabetically - Sort filter options alphabetically instead of by count (default: false)
|
|
121
|
-
* @param {object} classNames - Custom Tailwind classes to apply to filter components
|
|
122
|
-
* @param {string} classNames.filterContainer - Classes for the main filter container wrapper
|
|
123
|
-
* @param {string} classNames.filterContent - Classes for the scrollable filter content area
|
|
124
|
-
* @param {string} classNames.filterAccordion - Classes for each filter accordion section
|
|
125
|
-
* @param {string} classNames.filterAccordionHeader - Classes for accordion header/trigger
|
|
126
|
-
* @param {string} classNames.filterAccordionContent - Classes for accordion content area
|
|
127
|
-
* @param {string} classNames.filterItem - Classes for individual filter items (checkboxes/options)
|
|
128
|
-
* @param {string} classNames.filterItemLabel - Classes for filter item labels
|
|
129
|
-
* @param {string} classNames.filterItemCheckbox - Classes for filter item checkboxes
|
|
130
|
-
* @param {string} classNames.filterItemCount - Classes for filter item count badges
|
|
131
|
-
* @param {string} classNames.searchInput - Classes for search input field
|
|
132
|
-
* @param {string} classNames.resetButton - Classes for reset all button
|
|
133
|
-
* @param {string} classNames.showJobsButton - Classes for show jobs button
|
|
134
|
-
* @param {string} classNames.filterFooter - Classes for the footer containing buttons
|
|
135
|
-
*/
|
|
136
|
-
filterConfig = {
|
|
137
|
-
hideZeroResults: false, // Hide filter options with 0 results
|
|
138
|
-
dynamicCounts: true, // Update counts based on other active filters (false = show initial counts only)
|
|
139
|
-
showFavorites: true, // Show favorites filter
|
|
140
|
-
collapsedByDefault: false, // Start with all filter sections collapsed
|
|
141
|
-
sortAlphabetically: false, // Sort filter options alphabetically instead of by count
|
|
142
|
-
classNames: {
|
|
143
|
-
filterContainer: '', // Main filter container wrapper
|
|
144
|
-
filterContent: '', // Scrollable content area
|
|
145
|
-
filterAccordion: '', // Filter accordion section
|
|
146
|
-
filterAccordionHeader: '', // Accordion header/trigger
|
|
147
|
-
filterAccordionContent: '', // Accordion content body
|
|
148
|
-
filterItem: '', // Individual filter items
|
|
149
|
-
filterItemLabel: '', // Filter item labels
|
|
150
|
-
filterItemCheckbox: '', // Filter item checkboxes
|
|
151
|
-
filterItemCount: '', // Filter item count badges
|
|
152
|
-
searchInput: '', // Search input field
|
|
153
|
-
resetButton: '', // Reset all button
|
|
154
|
-
showJobsButton: '', // Show jobs button
|
|
155
|
-
filterFooter: '' // Footer with buttons
|
|
156
|
-
}
|
|
157
|
-
}
|
|
117
|
+
localStorageKey = 'defaultKey.'
|
|
158
118
|
}) => {
|
|
159
|
-
//
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
useEffect(() => {
|
|
163
|
-
if (algoliaAppId && algoliaApiKey && algoliaIndexName && typeof window !== 'undefined') {
|
|
164
|
-
initializeAlgoliaSearch(algoliaAppId, algoliaApiKey, algoliaIndexName).then(initialized => {
|
|
165
|
-
setAlgoliaInitialized(initialized);
|
|
166
|
-
if (initialized) {
|
|
167
|
-
console.log('Algolia search initialized successfully');
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
}, [algoliaAppId, algoliaApiKey, algoliaIndexName]);
|
|
119
|
+
// Load site configuration
|
|
120
|
+
const { siteConfig, error } = useSiteConfig(clientToken, siteConfiguration);
|
|
172
121
|
|
|
173
|
-
// Load Google Maps
|
|
122
|
+
// Load Google Maps
|
|
174
123
|
const { isLoaded: isMapsLoaded, loadError } = useLoadScript({
|
|
175
124
|
googleMapsApiKey: googleMapsApiKey,
|
|
176
125
|
version: 'quarterly',
|
|
177
126
|
libraries: LIBRARIES
|
|
178
127
|
});
|
|
179
128
|
|
|
180
|
-
//
|
|
129
|
+
// Show loading state or error if Google Maps hasn't loaded yet
|
|
181
130
|
if (!googleMapsApiKey) {
|
|
182
131
|
console.error('Google Maps API key is required');
|
|
183
132
|
return <div className="hc-p-4">Google Maps API key is required</div>;
|
|
@@ -188,13 +137,12 @@ export const HireControlMap = ({
|
|
|
188
137
|
return <div className="hc-p-4">Error loading Google Maps</div>;
|
|
189
138
|
}
|
|
190
139
|
|
|
191
|
-
|
|
192
|
-
|
|
140
|
+
if (!isMapsLoaded) {
|
|
141
|
+
return <div className="hc-p-4">Loading Maps...</div>;
|
|
142
|
+
}
|
|
193
143
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
console.error('Site configuration is required');
|
|
197
|
-
return <div className="hc-p-4">Site configuration is required</div>;
|
|
144
|
+
if (error || !siteConfig) {
|
|
145
|
+
return <div className="hc-p-4"></div>;
|
|
198
146
|
}
|
|
199
147
|
|
|
200
148
|
// Prepare props for MapListProvider
|
|
@@ -208,7 +156,7 @@ export const HireControlMap = ({
|
|
|
208
156
|
easyApplyText,
|
|
209
157
|
listings,
|
|
210
158
|
entities,
|
|
211
|
-
siteConfig
|
|
159
|
+
siteConfig,
|
|
212
160
|
getListingEntitiesCallback,
|
|
213
161
|
setFiltersUrl,
|
|
214
162
|
hiddenFilters,
|
|
@@ -219,60 +167,47 @@ export const HireControlMap = ({
|
|
|
219
167
|
ExpandListComponent: ExpandListComponent ?? null,
|
|
220
168
|
additionalMapMarkers,
|
|
221
169
|
isIframe,
|
|
222
|
-
localStorageKey
|
|
223
|
-
hideMap,
|
|
224
|
-
hideFilters,
|
|
225
|
-
noEntities,
|
|
226
|
-
filterConfig,
|
|
227
|
-
mobileDetailsCallback
|
|
170
|
+
localStorageKey
|
|
228
171
|
};
|
|
229
172
|
|
|
230
|
-
// Calculate effective showMap value
|
|
231
|
-
const effectiveShowMap = hideMap ? false : siteConfiguration.showMap;
|
|
232
|
-
|
|
233
173
|
// Prepare marker configuration
|
|
234
174
|
const markerConfigs = {
|
|
235
|
-
fillColor:
|
|
236
|
-
strokeColor:
|
|
237
|
-
selectedFillColor:
|
|
238
|
-
selectedStrokeColor:
|
|
175
|
+
fillColor: siteConfig.colors.primary,
|
|
176
|
+
strokeColor: siteConfig.colors.primaryDark,
|
|
177
|
+
selectedFillColor: siteConfig.colors.secondary,
|
|
178
|
+
selectedStrokeColor: siteConfig.colors.secondaryDark,
|
|
239
179
|
placeMarkers: {
|
|
240
|
-
colors:
|
|
241
|
-
size:
|
|
180
|
+
colors: siteConfig.pointsOfInterestConfig.placeMarkerColors,
|
|
181
|
+
size: siteConfig.pointsOfInterestConfig.placeMarkerSize
|
|
242
182
|
}
|
|
243
183
|
};
|
|
244
|
-
|
|
245
|
-
// Render immediately - individual components handle their own loading
|
|
246
|
-
// Only Google Maps components will wait for isMapsLoaded
|
|
184
|
+
//Desktop view of filter used below
|
|
247
185
|
return (
|
|
248
186
|
<ContextProviders
|
|
249
|
-
siteConfig={
|
|
187
|
+
siteConfig={siteConfig}
|
|
250
188
|
trackEvent={trackEvent}
|
|
251
189
|
googleMapsApiKey={googleMapsApiKey || process.env.GOOGLE_MAPS_API_KEY}
|
|
252
|
-
components={components}
|
|
253
190
|
{...mapListProps}
|
|
254
191
|
>
|
|
255
192
|
<Grid
|
|
256
193
|
as='section'
|
|
257
194
|
id='job-search-interface'
|
|
258
|
-
columns=
|
|
195
|
+
columns='md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'
|
|
259
196
|
gap='hc-gap-0'
|
|
260
197
|
autoRows={false}
|
|
261
|
-
className={'hc-bundle hc-items-stretch hc-divide-x
|
|
198
|
+
className={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}
|
|
262
199
|
>
|
|
263
|
-
|
|
264
|
-
<
|
|
265
|
-
|
|
266
|
-
</Grid.Item>
|
|
267
|
-
)}
|
|
200
|
+
<Grid.Item className='hc-bg-gray-100'>
|
|
201
|
+
<Filter isDesktop={true} showMap={siteConfig.showMap} className='hc-hidden md:hc-block' />
|
|
202
|
+
</Grid.Item>
|
|
268
203
|
<MapList
|
|
269
204
|
containerStyle={containerStyle}
|
|
270
|
-
mapPosition={
|
|
271
|
-
showMap={
|
|
272
|
-
fieldsShown={
|
|
273
|
-
specialFeatures={
|
|
274
|
-
fieldNames={
|
|
275
|
-
placeMappings={
|
|
205
|
+
mapPosition={siteConfig.mapPosition}
|
|
206
|
+
showMap={siteConfig.showMap}
|
|
207
|
+
fieldsShown={siteConfig.fieldsShown}
|
|
208
|
+
specialFeatures={siteConfig.specialFeatures}
|
|
209
|
+
fieldNames={siteConfig.fieldNames}
|
|
210
|
+
placeMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}
|
|
276
211
|
markerConfigs={markerConfigs}
|
|
277
212
|
/>
|
|
278
213
|
</Grid>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useMapList } from '~/contexts/mapListContext';
|
|
3
|
-
import
|
|
3
|
+
import AccordionFilters from '~/components/modules/accordions/filters';
|
|
4
4
|
import AccordionFilterItem from '~/components/containers/accordions/filter-item-container';
|
|
5
5
|
import FilterItem from '~/components/containers/filter/filter-item-container';
|
|
6
6
|
|
|
@@ -10,13 +10,9 @@ const AccordionFiltersContainer = ({
|
|
|
10
10
|
setDefaultValue,
|
|
11
11
|
setLocation,
|
|
12
12
|
setSelectedListItem,
|
|
13
|
-
SubcategoryRequireCategory
|
|
14
|
-
handleReset
|
|
13
|
+
SubcategoryRequireCategory
|
|
15
14
|
}) => {
|
|
16
|
-
|
|
17
|
-
const { FiltersAccordion: AccordionFilters } = useComponents();
|
|
18
|
-
|
|
19
|
-
const { filterOptions, selectedFilters, setSelectedFilters, siteConfig, hiddenFilters, noEntities } = useMapList();
|
|
15
|
+
const { filterOptions, selectedFilters, setSelectedFilters, siteConfig, hiddenFilters } = useMapList();
|
|
20
16
|
|
|
21
17
|
const handleSetSelectedFilters = prevFilters => {
|
|
22
18
|
setSelectedFilters(prevFilters);
|
|
@@ -29,17 +25,11 @@ const AccordionFiltersContainer = ({
|
|
|
29
25
|
displayedFilters = filterOptions?.filters.filter(filter => !hiddenFilters.includes(filter.id));
|
|
30
26
|
}
|
|
31
27
|
|
|
32
|
-
// Hide entity-dependent filters when noEntities is true
|
|
33
|
-
if (noEntities && displayedFilters) {
|
|
34
|
-
displayedFilters = displayedFilters.filter(filter => filter.id !== 'entityName');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
28
|
return (
|
|
38
29
|
<AccordionFilters
|
|
39
30
|
className={className}
|
|
40
31
|
defaultValue={defaultValue}
|
|
41
32
|
filterOptions={filterOptions}
|
|
42
|
-
handleReset={handleReset}
|
|
43
33
|
>
|
|
44
34
|
{displayedFilters?.map(filter => {
|
|
45
35
|
if(filter.id === 'category' && SubcategoryRequireCategory === true && (!selectedFilters.categoryClass || Object.keys(selectedFilters.categoryClass).length < 1)){
|
|
@@ -48,7 +38,7 @@ const AccordionFiltersContainer = ({
|
|
|
48
38
|
filter.items = filter.items.filter(item => item.count > 0);
|
|
49
39
|
}
|
|
50
40
|
|
|
51
|
-
else if(filter.id === 'specialFeatures' && !filter.items.some(item => item.name !== "Favorite" && item.count >
|
|
41
|
+
else if(filter.id === 'specialFeatures' && !filter.items.some(item => item.name !== "Favorite" && item.count > 1)){
|
|
52
42
|
const favorite = filter.items.find(item => item.name === "Favorite");
|
|
53
43
|
return <FilterItem
|
|
54
44
|
key={"Favorite"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import AccordionFilterItem from '~/components/modules/accordions/filterItem';
|
|
3
3
|
import FilterItem from '~/components/containers/filter/filter-item-container';
|
|
4
|
+
import ItemsPill from '~/components/modules/buttons/items-pill';
|
|
4
5
|
|
|
5
6
|
const FilterItemContainer = ({
|
|
6
7
|
filter,
|
|
@@ -10,9 +11,6 @@ const FilterItemContainer = ({
|
|
|
10
11
|
subcategoryRequireCategory = false,
|
|
11
12
|
externalLinksInFilters
|
|
12
13
|
}) => {
|
|
13
|
-
// Get injected components from context
|
|
14
|
-
const { FilterItemAccordion: AccordionFilterItem, ItemsPill } = useComponents();
|
|
15
|
-
|
|
16
14
|
const externalLinks = externalLinksInFilters?.filter(x => x.fieldName == filter.id);
|
|
17
15
|
const fieldKey = filter.id;
|
|
18
16
|
const activeItemsCount = selectedFilters != null && selectedFilters[fieldKey]
|
|
@@ -23,8 +21,8 @@ const FilterItemContainer = ({
|
|
|
23
21
|
event.stopPropagation();
|
|
24
22
|
setSelectedFilters(prevFilters => {
|
|
25
23
|
const updatedFilters = { ...prevFilters };
|
|
26
|
-
if(subcategoryRequireCategory && fieldKey == '
|
|
27
|
-
delete updatedFilters['
|
|
24
|
+
if(subcategoryRequireCategory && fieldKey == 'categoryClass'){
|
|
25
|
+
delete updatedFilters['category'];
|
|
28
26
|
}
|
|
29
27
|
if(fieldKey == 'state' || fieldKey == 'city' || fieldKey == 'cityState'){
|
|
30
28
|
delete updatedFilters.entityId;
|
|
@@ -49,7 +47,7 @@ const FilterItemContainer = ({
|
|
|
49
47
|
|
|
50
48
|
const body = (
|
|
51
49
|
<>
|
|
52
|
-
{filter.items.
|
|
50
|
+
{filter.items.sort().map(item => (
|
|
53
51
|
<FilterItem
|
|
54
52
|
key={item.name}
|
|
55
53
|
item={item}
|
|
@@ -3,11 +3,10 @@ import { useMap } from '~/contexts/mapContext';
|
|
|
3
3
|
import { useMapList } from '~/contexts/mapListContext';
|
|
4
4
|
import { useTrackEvent } from '~/contexts/trackEventContext';
|
|
5
5
|
import { setStorageObject } from '~/util/localStorageUtil';
|
|
6
|
-
import
|
|
6
|
+
import MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';
|
|
7
7
|
import ListItemContainer from '~/components/containers/list/list-item/list-item-container';
|
|
8
8
|
|
|
9
9
|
const MapAccordionItemContainer = ({
|
|
10
|
-
showMap,
|
|
11
10
|
item,
|
|
12
11
|
itemRefs,
|
|
13
12
|
fieldsShown,
|
|
@@ -16,28 +15,18 @@ const MapAccordionItemContainer = ({
|
|
|
16
15
|
isActive,
|
|
17
16
|
index
|
|
18
17
|
}) => {
|
|
19
|
-
|
|
20
|
-
const { MapAccordionItem } = useComponents();
|
|
21
|
-
|
|
22
|
-
const { mapItems, recruiters, siteConfig, mobileDetailsCallback } = useMapList();
|
|
18
|
+
const { mapItems, recruiters } = useMapList();
|
|
23
19
|
const { selectItem } = useMap();
|
|
24
20
|
const { trackEvent, eventTypes } = useTrackEvent();
|
|
25
|
-
const jobPinZoomLevel = siteConfig?.jobPinZoomLevel ?? 12;
|
|
26
21
|
|
|
27
22
|
const setSelectedItemAndZoomMap = (item, isActive) => {
|
|
28
23
|
if (isActive) {
|
|
29
|
-
|
|
30
|
-
localStorage.removeItem("selectedListItem");
|
|
31
|
-
}
|
|
24
|
+
localStorage.removeItem("selectedListItem");
|
|
32
25
|
selectItem(null, null, 9, { lat: 39.8283, lng: -98.5795 });
|
|
33
26
|
} else {
|
|
34
27
|
setStorageObject("selectedListItem", item);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
console.log('the item in questions is',item);
|
|
38
|
-
const location = mapItems.find(x => x.entityKey?.toLowerCase() === item.fields.entityKey?.toLowerCase()) || null;
|
|
39
|
-
console.log('location is', location);
|
|
40
|
-
selectItem(item, location, jobPinZoomLevel, {
|
|
28
|
+
const location = mapItems.find(x => Object.prototype.hasOwnProperty.call(x.items, item.id)) || null;
|
|
29
|
+
selectItem(item, location, 12, {
|
|
41
30
|
lat: location?.latitude,
|
|
42
31
|
lng: location?.longitude
|
|
43
32
|
});
|
|
@@ -46,20 +35,11 @@ const MapAccordionItemContainer = ({
|
|
|
46
35
|
|
|
47
36
|
const handleItemClick = item => {
|
|
48
37
|
trackEvent(eventTypes.JOB_LISTING_SELECTED, {
|
|
49
|
-
jobTitle: item.fields.
|
|
38
|
+
jobTitle: item.fields.position,
|
|
50
39
|
jobCategory: item.fields.category,
|
|
51
40
|
entityDisplayName: item?.mapDetails?.entityDisplayName
|
|
52
41
|
});
|
|
53
42
|
|
|
54
|
-
// Check if mobile and mobileDetailsCallback is provided
|
|
55
|
-
if (mobileDetailsCallback) {
|
|
56
|
-
const isMobile = typeof window !== 'undefined' && window.innerWidth < 768;
|
|
57
|
-
if (isMobile) {
|
|
58
|
-
mobileDetailsCallback(item);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
43
|
setSelectedItemAndZoomMap(item, isActive);
|
|
64
44
|
};
|
|
65
45
|
|
|
@@ -72,13 +52,12 @@ const MapAccordionItemContainer = ({
|
|
|
72
52
|
recruiter={recruiters[item.recruiterId]}
|
|
73
53
|
>
|
|
74
54
|
<ListItemContainer
|
|
75
|
-
showMap={showMap}
|
|
76
55
|
item={item}
|
|
77
56
|
fieldsShown={fieldsShown}
|
|
78
57
|
specialFeatures={specialFeatures}
|
|
79
58
|
isActive={isActive}
|
|
80
|
-
onClick={() => handleItemClick(item)}
|
|
81
59
|
index={index}
|
|
60
|
+
onClick={() => handleItemClick(item)}
|
|
82
61
|
/>
|
|
83
62
|
</MapAccordionItem>
|
|
84
63
|
);
|
|
@@ -4,12 +4,9 @@ import usePlacesAutocomplete, { getGeocode, getLatLng } from 'use-places-autocom
|
|
|
4
4
|
import { useMapList } from '~/contexts/mapListContext';
|
|
5
5
|
import { useTrackEvent } from '~/contexts/trackEventContext';
|
|
6
6
|
import { getStorageItem } from '~/util/localStorageUtil';
|
|
7
|
-
import
|
|
7
|
+
import FilterCommute from '~/components/modules/filter/commute';
|
|
8
8
|
|
|
9
9
|
const FilterCommuteContainer = ({ className }) => {
|
|
10
|
-
// Get injected FilterCommute component from context
|
|
11
|
-
const { FilterCommute } = useComponents();
|
|
12
|
-
|
|
13
10
|
const {
|
|
14
11
|
ready,
|
|
15
12
|
suggestions: { status, data },
|
|
@@ -26,19 +23,15 @@ const FilterCommuteContainer = ({ className }) => {
|
|
|
26
23
|
useEffect(() => {
|
|
27
24
|
if (commuteLocation !== null && commuteLocation !== '') return;
|
|
28
25
|
setIsCurrentLocation(false);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
localStorage.removeItem('selectedCommute');
|
|
32
|
-
}
|
|
26
|
+
localStorage.removeItem('isCurrentLocation');
|
|
27
|
+
localStorage.removeItem('selectedCommute');
|
|
33
28
|
setSelected("");
|
|
34
29
|
}, [commuteLocation]);
|
|
35
30
|
|
|
36
31
|
const handleSelect = async (val, isCurrLocation = false) => {
|
|
37
32
|
setValue(val, false);
|
|
38
33
|
setSelected(val);
|
|
39
|
-
|
|
40
|
-
localStorage.setItem('selectedCommute', val);
|
|
41
|
-
}
|
|
34
|
+
localStorage.setItem('selectedCommute', val);
|
|
42
35
|
clearSuggestions();
|
|
43
36
|
if (isCurrLocation) return;
|
|
44
37
|
try {
|
|
@@ -52,10 +45,6 @@ const FilterCommuteContainer = ({ className }) => {
|
|
|
52
45
|
};
|
|
53
46
|
|
|
54
47
|
const fetchLocation = () => {
|
|
55
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
56
|
-
console.error("Geolocation is not available in this environment.");
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
48
|
if (!navigator.geolocation) {
|
|
60
49
|
console.error("Geolocation is not supported by this browser.");
|
|
61
50
|
return;
|
|
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { useMap } from '~/contexts/mapContext';
|
|
3
3
|
import { useMapList } from '~/contexts/mapListContext';
|
|
4
4
|
import { useTrackEvent } from '~/contexts/trackEventContext';
|
|
5
|
-
import
|
|
5
|
+
import Filter from '~/components/modules/filter/index';
|
|
6
6
|
import FilterSearch from '~/components/containers/filter/search-container';
|
|
7
7
|
import FiltersAccordion from '~/components/containers/accordions/filter-container';
|
|
8
8
|
import FilterLocations from '~/components/containers/filter/location-container';
|
|
@@ -12,9 +12,6 @@ const FilterContainer = ({
|
|
|
12
12
|
showMap,
|
|
13
13
|
isDesktop = false
|
|
14
14
|
}) => {
|
|
15
|
-
// Get injected Filter component from context
|
|
16
|
-
const { Filter } = useComponents();
|
|
17
|
-
|
|
18
15
|
const { trackEvent, eventTypes } = useTrackEvent();
|
|
19
16
|
const [hasActiveFilters, setHasActiveFilters] = useState(false);
|
|
20
17
|
|
|
@@ -27,8 +24,7 @@ const FilterContainer = ({
|
|
|
27
24
|
handleSettingFavorites,
|
|
28
25
|
setQuery,
|
|
29
26
|
siteConfig,
|
|
30
|
-
containerStyle
|
|
31
|
-
noEntities
|
|
27
|
+
containerStyle
|
|
32
28
|
} = useMapList();
|
|
33
29
|
const [defaultValue, setDefaultValue] = useState(siteConfig?.defaultFilterOpen ? siteConfig?.defaultFilterOpen : null);
|
|
34
30
|
const handleReset = () => {
|
|
@@ -42,12 +38,22 @@ const FilterContainer = ({
|
|
|
42
38
|
return (
|
|
43
39
|
<Filter
|
|
44
40
|
className={className}
|
|
41
|
+
showMap={showMap}
|
|
45
42
|
isDesktop={isDesktop}
|
|
46
43
|
hasActiveFilters={hasActiveFilters}
|
|
44
|
+
setHasActiveFilters={setHasActiveFilters}
|
|
45
|
+
defaultValue={defaultValue}
|
|
46
|
+
setDefaultValue={setDefaultValue}
|
|
47
|
+
setSelectedListItem={setSelectedListItem}
|
|
48
|
+
setLocation={setLocation}
|
|
47
49
|
filteredListings={filteredListings}
|
|
48
50
|
selectedFilters={selectedFilters}
|
|
51
|
+
setSelectedFilters={setSelectedFilters}
|
|
49
52
|
setMobileTab={setMobileTab}
|
|
53
|
+
handleReset={handleReset}
|
|
54
|
+
siteConfig={siteConfig}
|
|
50
55
|
style={containerStyle}
|
|
56
|
+
|
|
51
57
|
>
|
|
52
58
|
<FiltersAccordion
|
|
53
59
|
setHasActiveFilters={setHasActiveFilters}
|
|
@@ -56,10 +62,9 @@ const FilterContainer = ({
|
|
|
56
62
|
setLocation={setLocation}
|
|
57
63
|
setSelectedListItem={setSelectedListItem}
|
|
58
64
|
SubcategoryRequireCategory={siteConfig.subcategoryRequireCategory}
|
|
59
|
-
handleReset={handleReset}
|
|
60
65
|
/>
|
|
61
66
|
<FilterSearch />
|
|
62
|
-
{siteConfig.hideLocations !== true &&
|
|
67
|
+
{siteConfig.hideLocations !== true &&
|
|
63
68
|
<FilterLocations
|
|
64
69
|
setHasActiveFilters={setHasActiveFilters}
|
|
65
70
|
defaultValue={defaultValue}
|