@abcagency/hc-ui-components 1.9.34 → 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.
Files changed (501) hide show
  1. package/dist/_virtual/jsx-runtime.js +4 -0
  2. package/dist/_virtual/jsx-runtime.js.map +1 -0
  3. package/dist/_virtual/react-jsx-runtime.production.min.js +4 -0
  4. package/dist/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  5. package/dist/apis/hcApi.js +91 -0
  6. package/dist/apis/hcApi.js.map +1 -0
  7. package/dist/clientToken.js +10 -0
  8. package/dist/clientToken.js.map +1 -0
  9. package/dist/components/HireControlMap.js +175 -203
  10. package/dist/components/HireControlMap.js.map +1 -1
  11. package/dist/components/containers/accordions/filter-container.js +9 -22
  12. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  13. package/dist/components/containers/accordions/filter-item-container.js +11 -16
  14. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  15. package/dist/components/containers/accordions/map-accordion-item-container.js +12 -37
  16. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  17. package/dist/components/containers/filter/commute-container.js +7 -18
  18. package/dist/components/containers/filter/commute-container.js.map +1 -1
  19. package/dist/components/containers/filter/filter-container.js +16 -12
  20. package/dist/components/containers/filter/filter-container.js.map +1 -1
  21. package/dist/components/containers/filter/filter-item-container.js +28 -44
  22. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  23. package/dist/components/containers/filter/location-container.js +7 -15
  24. package/dist/components/containers/filter/location-container.js.map +1 -1
  25. package/dist/components/containers/filter/points-of-interest-container.js +8 -21
  26. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  27. package/dist/components/containers/filter/points-of-interest-radio-item-container.js +3 -6
  28. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  29. package/dist/components/containers/filter/search-container.js +4 -11
  30. package/dist/components/containers/filter/search-container.js.map +1 -1
  31. package/dist/components/containers/jobListing/listing-details-container.js +5 -10
  32. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  33. package/dist/components/containers/list/item-list-container.js +15 -22
  34. package/dist/components/containers/list/item-list-container.js.map +1 -1
  35. package/dist/components/containers/list/list-item/list-item-container.js +5 -16
  36. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  37. package/dist/components/containers/maps/info-window-content-container.js +3 -6
  38. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  39. package/dist/components/containers/maps/map-container.js +28 -106
  40. package/dist/components/containers/maps/map-container.js.map +1 -1
  41. package/dist/components/containers/maps/map-list-container.js +7 -35
  42. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  43. package/dist/components/containers/maps/map-marker-container.js +8 -11
  44. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  45. package/dist/components/modules/accordions/MapAccordionItem.js +5 -5
  46. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  47. package/dist/components/modules/accordions/default.js +15 -15
  48. package/dist/components/modules/accordions/default.js.map +1 -1
  49. package/dist/components/modules/accordions/filterItem.js +7 -12
  50. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  51. package/dist/components/modules/accordions/filters.js +7 -17
  52. package/dist/components/modules/accordions/filters.js.map +1 -1
  53. package/dist/components/modules/buttons/button-group-apply.js +19 -20
  54. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  55. package/dist/components/modules/buttons/default.js +9 -9
  56. package/dist/components/modules/buttons/default.js.map +1 -1
  57. package/dist/components/modules/buttons/items-pill.js +2 -2
  58. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  59. package/dist/components/modules/buttons/pill-wrapper.js +3 -4
  60. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  61. package/dist/components/modules/buttons/show-all-button.js +3 -3
  62. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  63. package/dist/components/modules/cards/default.js +11 -11
  64. package/dist/components/modules/cards/default.js.map +1 -1
  65. package/dist/components/modules/cards/filter.js +5 -5
  66. package/dist/components/modules/cards/filter.js.map +1 -1
  67. package/dist/components/modules/dialogs/apply-dialog.js +19 -19
  68. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  69. package/dist/components/modules/filter/commute.js +20 -21
  70. package/dist/components/modules/filter/commute.js.map +1 -1
  71. package/dist/components/modules/filter/index.js +30 -122
  72. package/dist/components/modules/filter/index.js.map +1 -1
  73. package/dist/components/modules/filter/item.js +9 -15
  74. package/dist/components/modules/filter/item.js.map +1 -1
  75. package/dist/components/modules/filter/location.js +6 -6
  76. package/dist/components/modules/filter/location.js.map +1 -1
  77. package/dist/components/modules/filter/radio-item.js +6 -6
  78. package/dist/components/modules/filter/radio-item.js.map +1 -1
  79. package/dist/components/modules/filter/search.js +11 -16
  80. package/dist/components/modules/filter/search.js.map +1 -1
  81. package/dist/components/modules/filter/sort.js +28 -28
  82. package/dist/components/modules/filter/sort.js.map +1 -1
  83. package/dist/components/modules/grid.js +4 -4
  84. package/dist/components/modules/grid.js.map +1 -1
  85. package/dist/components/modules/icon.js +4 -4
  86. package/dist/components/modules/icon.js.map +1 -1
  87. package/dist/components/modules/jobListing/listing-details.js +5 -8
  88. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  89. package/dist/components/modules/list/field-mapper-desktop.js +14 -38
  90. package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
  91. package/dist/components/modules/list/field-mapper-mobile.js +63 -94
  92. package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
  93. package/dist/components/modules/list/header-item.js +7 -7
  94. package/dist/components/modules/list/header-item.js.map +1 -1
  95. package/dist/components/modules/list/header.js +5 -5
  96. package/dist/components/modules/list/header.js.map +1 -1
  97. package/dist/components/modules/list/item-expand-card/index.js +3 -3
  98. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  99. package/dist/components/modules/list/item-list.js +18 -15
  100. package/dist/components/modules/list/item-list.js.map +1 -1
  101. package/dist/components/modules/list/list-item/list-item.js +18 -95
  102. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  103. package/dist/components/modules/maps/info-window-card.js +2 -2
  104. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  105. package/dist/components/modules/maps/info-window-content.js +5 -5
  106. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  107. package/dist/components/modules/maps/map-list.js +5 -5
  108. package/dist/components/modules/maps/map-list.js.map +1 -1
  109. package/dist/components/modules/maps/map-marker.js +3 -3
  110. package/dist/components/modules/maps/map-marker.js.map +1 -1
  111. package/dist/components/modules/maps/map.js +5 -17
  112. package/dist/components/modules/maps/map.js.map +1 -1
  113. package/dist/components/modules/maps/place-marker.js +5 -5
  114. package/dist/components/modules/maps/place-marker.js.map +1 -1
  115. package/dist/components/modules/maps/tabs.js +25 -25
  116. package/dist/components/modules/maps/tabs.js.map +1 -1
  117. package/dist/contexts/componentContext.js +68 -6
  118. package/dist/contexts/componentContext.js.map +1 -1
  119. package/dist/contexts/mapContext.js +20 -49
  120. package/dist/contexts/mapContext.js.map +1 -1
  121. package/dist/contexts/mapListContext.js +70 -218
  122. package/dist/contexts/mapListContext.js.map +1 -1
  123. package/dist/contexts/placesContext.js +5 -7
  124. package/dist/contexts/placesContext.js.map +1 -1
  125. package/dist/contexts/themeContext.js +5 -10
  126. package/dist/contexts/themeContext.js.map +1 -1
  127. package/dist/contexts/trackEventContext.js +2 -2
  128. package/dist/contexts/trackEventContext.js.map +1 -1
  129. package/dist/hc_react_map_npm/packages/hc-ui-components/node_modules/tslib/tslib.es6.js +45 -0
  130. package/dist/hc_react_map_npm/packages/hc-ui-components/node_modules/tslib/tslib.es6.js.map +1 -0
  131. package/dist/hooks/useList.js +1 -3
  132. package/dist/hooks/useList.js.map +1 -1
  133. package/dist/index.js +1 -2
  134. package/dist/index.js.map +1 -1
  135. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +1 -0
  136. package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -1
  137. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +802 -0
  138. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  139. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +679 -0
  140. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  141. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +343 -0
  142. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
  143. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +140 -0
  144. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  145. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +137 -0
  146. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  147. package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.js +33 -0
  148. package/dist/node_modules/@headlessui/react/dist/components/combobox/combobox.js.map +1 -0
  149. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +4 -0
  150. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js.map +1 -0
  151. package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js +19 -0
  152. package/dist/node_modules/@headlessui/react/dist/components/transitions/transition.js.map +1 -0
  153. package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js +8 -0
  154. package/dist/node_modules/@headlessui/react/dist/components/transitions/utils/transition.js.map +1 -0
  155. package/dist/node_modules/@headlessui/react/dist/hooks/use-computed.js +8 -0
  156. package/dist/node_modules/@headlessui/react/dist/hooks/use-computed.js.map +1 -0
  157. package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js +7 -0
  158. package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js.map +1 -0
  159. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +7 -0
  160. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js.map +1 -0
  161. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js +7 -0
  162. package/dist/node_modules/@headlessui/react/dist/hooks/use-document-event.js.map +1 -0
  163. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +7 -0
  164. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js.map +1 -0
  165. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js +7 -0
  166. package/dist/node_modules/@headlessui/react/dist/hooks/use-flags.js.map +1 -0
  167. package/dist/node_modules/@headlessui/react/dist/hooks/use-id.js +9 -0
  168. package/dist/node_modules/@headlessui/react/dist/hooks/use-id.js.map +1 -0
  169. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js +7 -0
  170. package/dist/node_modules/@headlessui/react/dist/hooks/use-is-mounted.js.map +1 -0
  171. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +7 -0
  172. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js.map +1 -0
  173. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +7 -0
  174. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js.map +1 -0
  175. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js +10 -0
  176. package/dist/node_modules/@headlessui/react/dist/hooks/use-outside-click.js.map +1 -0
  177. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js +7 -0
  178. package/dist/node_modules/@headlessui/react/dist/hooks/use-owner.js.map +1 -0
  179. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +7 -0
  180. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js.map +1 -0
  181. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js +7 -0
  182. package/dist/node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js.map +1 -0
  183. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +7 -0
  184. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js.map +1 -0
  185. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js +6 -0
  186. package/dist/node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js.map +1 -0
  187. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js +11 -0
  188. package/dist/node_modules/@headlessui/react/dist/hooks/use-transition.js.map +1 -0
  189. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js +8 -0
  190. package/dist/node_modules/@headlessui/react/dist/hooks/use-tree-walker.js.map +1 -0
  191. package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js +7 -0
  192. package/dist/node_modules/@headlessui/react/dist/hooks/use-watch.js.map +1 -0
  193. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js +7 -0
  194. package/dist/node_modules/@headlessui/react/dist/hooks/use-window-event.js.map +1 -0
  195. package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +6 -0
  196. package/dist/node_modules/@headlessui/react/dist/internal/hidden.js.map +1 -0
  197. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js +6 -0
  198. package/dist/node_modules/@headlessui/react/dist/internal/open-closed.js.map +1 -0
  199. package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js +6 -0
  200. package/dist/node_modules/@headlessui/react/dist/utils/active-element-history.js.map +1 -0
  201. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +4 -0
  202. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js.map +1 -0
  203. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js +4 -0
  204. package/dist/node_modules/@headlessui/react/dist/utils/calculate-active-index.js.map +1 -0
  205. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +4 -0
  206. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js.map +1 -0
  207. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +6 -0
  208. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js.map +1 -0
  209. package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js +4 -0
  210. package/dist/node_modules/@headlessui/react/dist/utils/document-ready.js.map +1 -0
  211. package/dist/node_modules/@headlessui/react/dist/utils/env.js +4 -0
  212. package/dist/node_modules/@headlessui/react/dist/utils/env.js.map +1 -0
  213. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js +7 -0
  214. package/dist/node_modules/@headlessui/react/dist/utils/focus-management.js.map +1 -0
  215. package/dist/node_modules/@headlessui/react/dist/utils/form.js +4 -0
  216. package/dist/node_modules/@headlessui/react/dist/utils/form.js.map +1 -0
  217. package/dist/node_modules/@headlessui/react/dist/utils/match.js +4 -0
  218. package/dist/node_modules/@headlessui/react/dist/utils/match.js.map +1 -0
  219. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +4 -0
  220. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js.map +1 -0
  221. package/dist/node_modules/@headlessui/react/dist/utils/once.js +4 -0
  222. package/dist/node_modules/@headlessui/react/dist/utils/once.js.map +1 -0
  223. package/dist/node_modules/@headlessui/react/dist/utils/owner.js +6 -0
  224. package/dist/node_modules/@headlessui/react/dist/utils/owner.js.map +1 -0
  225. package/dist/node_modules/@headlessui/react/dist/utils/platform.js +4 -0
  226. package/dist/node_modules/@headlessui/react/dist/utils/platform.js.map +1 -0
  227. package/dist/node_modules/@headlessui/react/dist/utils/render.js +11 -0
  228. package/dist/node_modules/@headlessui/react/dist/utils/render.js.map +1 -0
  229. package/dist/node_modules/@iconify/react/dist/iconify.js +1928 -0
  230. package/dist/node_modules/@iconify/react/dist/iconify.js.map +1 -0
  231. package/dist/node_modules/@radix-ui/number/dist/index.js +7 -0
  232. package/dist/node_modules/@radix-ui/number/dist/index.js.map +1 -0
  233. package/dist/node_modules/@radix-ui/primitive/dist/index.js +12 -0
  234. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -0
  235. package/dist/node_modules/@radix-ui/react-accordion/dist/index.js +304 -0
  236. package/dist/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  237. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +26 -0
  238. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -0
  239. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +145 -0
  240. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  241. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +69 -0
  242. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  243. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +19 -0
  244. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -0
  245. package/dist/node_modules/@radix-ui/react-context/dist/index.js +80 -0
  246. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
  247. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +320 -0
  248. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -0
  249. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +12 -0
  250. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -0
  251. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +212 -0
  252. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -0
  253. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +27 -0
  254. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -0
  255. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +208 -0
  256. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -0
  257. package/dist/node_modules/@radix-ui/react-id/dist/index.js +16 -0
  258. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -0
  259. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +279 -0
  260. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
  261. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +18 -0
  262. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -0
  263. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +120 -0
  264. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -0
  265. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +42 -0
  266. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  267. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +221 -0
  268. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -0
  269. package/dist/node_modules/@radix-ui/react-select/dist/index.js +1109 -0
  270. package/dist/node_modules/@radix-ui/react-select/dist/index.js.map +1 -0
  271. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
  272. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  273. package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +187 -0
  274. package/dist/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -0
  275. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +13 -0
  276. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -0
  277. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +47 -0
  278. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -0
  279. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +19 -0
  280. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -0
  281. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +8 -0
  282. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -0
  283. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js +16 -0
  284. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -0
  285. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +41 -0
  286. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -0
  287. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +35 -0
  288. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -0
  289. package/dist/node_modules/@react-google-maps/api/dist/esm.js +8515 -0
  290. package/dist/node_modules/@react-google-maps/api/dist/esm.js.map +1 -0
  291. package/dist/node_modules/@remix-run/router/dist/router.js +271 -0
  292. package/dist/node_modules/@remix-run/router/dist/router.js.map +1 -0
  293. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +43 -0
  294. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
  295. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +669 -0
  296. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
  297. package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +61 -0
  298. package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
  299. package/dist/node_modules/aria-hidden/dist/es2015/index.js +137 -0
  300. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -0
  301. package/dist/node_modules/fuse.js/dist/fuse.js +1779 -0
  302. package/dist/node_modules/fuse.js/dist/fuse.js.map +1 -0
  303. package/dist/node_modules/get-nonce/dist/es2015/index.js +9 -0
  304. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -0
  305. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +17 -0
  306. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  307. package/dist/node_modules/react/jsx-runtime.js +12 -0
  308. package/dist/node_modules/react/jsx-runtime.js.map +1 -0
  309. package/dist/node_modules/react-loader-spinner/dist/index.js +134 -83
  310. package/dist/node_modules/react-loader-spinner/dist/index.js.map +1 -1
  311. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +10 -0
  312. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +161 -0
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  315. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +39 -0
  316. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  317. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +22 -0
  318. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  319. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +107 -0
  320. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  321. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +6 -0
  322. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  323. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +8 -0
  324. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  325. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +57 -0
  326. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -0
  327. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +11 -0
  328. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -0
  329. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +32 -0
  330. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -0
  331. package/dist/node_modules/react-router/dist/index.js +280 -0
  332. package/dist/node_modules/react-router/dist/index.js.map +1 -0
  333. package/dist/node_modules/react-router-dom/dist/index.js +201 -0
  334. package/dist/node_modules/react-router-dom/dist/index.js.map +1 -0
  335. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +20 -0
  336. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -0
  337. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +26 -0
  338. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -0
  339. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +52 -0
  340. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -0
  341. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +716 -4
  342. package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -1
  343. package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +5 -7
  344. package/dist/node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -1
  345. package/dist/node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -1
  346. package/dist/node_modules/stylis/src/Enum.js +2 -2
  347. package/dist/node_modules/stylis/src/Enum.js.map +1 -1
  348. package/dist/node_modules/stylis/src/Middleware.js +59 -49
  349. package/dist/node_modules/stylis/src/Middleware.js.map +1 -1
  350. package/dist/node_modules/stylis/src/Parser.js +135 -137
  351. package/dist/node_modules/stylis/src/Parser.js.map +1 -1
  352. package/dist/node_modules/stylis/src/Prefixer.js +187 -135
  353. package/dist/node_modules/stylis/src/Prefixer.js.map +1 -1
  354. package/dist/node_modules/stylis/src/Serializer.js +21 -18
  355. package/dist/node_modules/stylis/src/Serializer.js.map +1 -1
  356. package/dist/node_modules/stylis/src/Tokenizer.js +121 -117
  357. package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -1
  358. package/dist/node_modules/stylis/src/Utility.js +26 -24
  359. package/dist/node_modules/stylis/src/Utility.js.map +1 -1
  360. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2530 -0
  361. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  362. package/dist/node_modules/tinycolor2/esm/tinycolor.js.map +1 -1
  363. package/dist/node_modules/tslib/tslib.es6.js +13 -1
  364. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  365. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +25 -0
  366. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -0
  367. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +49 -0
  368. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -0
  369. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +43 -0
  370. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -0
  371. package/dist/node_modules/use-places-autocomplete/dist/index.esm.js +243 -0
  372. package/dist/node_modules/use-places-autocomplete/dist/index.esm.js.map +1 -0
  373. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +22 -0
  374. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -0
  375. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +78 -0
  376. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -0
  377. package/dist/services/configService.js +15 -0
  378. package/dist/services/configService.js.map +1 -0
  379. package/dist/services/listingAggregatorService.js +37 -0
  380. package/dist/services/listingAggregatorService.js.map +1 -0
  381. package/dist/services/listingEntityService.js +15 -0
  382. package/dist/services/listingEntityService.js.map +1 -0
  383. package/dist/services/listingService.js +30 -0
  384. package/dist/services/listingService.js.map +1 -0
  385. package/dist/styles/index.css +3 -1
  386. package/dist/types/components/containers/accordions/filter-container.d.ts +11 -0
  387. package/dist/types/components/containers/accordions/map-accordion-item-container.d.ts +1 -2
  388. package/dist/types/components/containers/filter/commute-container.d.ts +5 -0
  389. package/dist/types/components/containers/filter/filter-container.d.ts +7 -0
  390. package/dist/types/components/containers/filter/location-container.d.ts +10 -0
  391. package/dist/types/components/containers/filter/points-of-interest-container.d.ts +10 -0
  392. package/dist/types/components/containers/filter/points-of-interest-radio-item-container.d.ts +8 -0
  393. package/dist/types/components/containers/filter/search-container.d.ts +8 -0
  394. package/dist/types/components/containers/list/list-item/list-item-container.d.ts +1 -3
  395. package/dist/types/components/containers/maps/info-window-content-container.d.ts +5 -0
  396. package/dist/types/components/containers/maps/map-container.d.ts +7 -0
  397. package/dist/types/components/containers/maps/map-list-container.d.ts +15 -0
  398. package/dist/types/components/containers/maps/map-marker-container.d.ts +13 -0
  399. package/dist/types/components/modules/buttons/button-group-apply.d.ts +1 -2
  400. package/dist/types/components/modules/jobListing/listing-details.d.ts +1 -2
  401. package/dist/types/components/modules/list/field-mapper-desktop.d.ts +1 -2
  402. package/dist/types/components/modules/list/field-mapper-mobile.d.ts +1 -2
  403. package/dist/types/components/modules/list/list-item/list-item.d.ts +1 -1
  404. package/dist/types/constants/placeTypes.d.ts +8 -0
  405. package/dist/types/contexts/mapContext.d.ts +0 -1
  406. package/dist/types/contexts/mapListContext.d.ts +2 -54
  407. package/dist/types/contexts/placesContext.d.ts +10 -0
  408. package/dist/types/hooks/useList.d.ts +3 -3
  409. package/dist/types/services/configService.d.ts +6 -0
  410. package/dist/types/services/listingAggregatorService.d.ts +9 -0
  411. package/dist/types/services/listingEntityService.d.ts +6 -0
  412. package/dist/types/services/listingService.d.ts +9 -0
  413. package/dist/types/services/recruiterService.d.ts +6 -0
  414. package/dist/types/types/GetListingParams.d.ts +1 -1
  415. package/dist/types/types/ListingEntity.d.ts +1 -2
  416. package/dist/types/types/ListingFields.d.ts +2 -4
  417. package/dist/types/types/Listings.d.ts +1 -0
  418. package/dist/types/types/config/Colors.d.ts +0 -1
  419. package/dist/types/types/config/MapConfig.d.ts +0 -4
  420. package/dist/types/types/config/PointsOfInterestConfig.d.ts +0 -1
  421. package/dist/types/util/filterUtil.d.ts +8 -12
  422. package/dist/types/util/mapIconUtil.d.ts +24 -0
  423. package/dist/types/util/mapUtil.d.ts +3 -3
  424. package/dist/types/util/urlFilterUtil.d.ts +0 -1
  425. package/dist/util/filterUtil.js +122 -413
  426. package/dist/util/filterUtil.js.map +1 -1
  427. package/dist/util/loading.js +3 -3
  428. package/dist/util/loading.js.map +1 -1
  429. package/dist/util/mapUtil.js +25 -43
  430. package/dist/util/mapUtil.js.map +1 -1
  431. package/dist/util/urlFilterUtil.js +1 -5
  432. package/dist/util/urlFilterUtil.js.map +1 -1
  433. package/package.json +17 -66
  434. package/src/apis/hcApi.ts +2 -9
  435. package/src/components/HireControlMap.js +95 -160
  436. package/src/components/containers/accordions/filter-container.js +4 -14
  437. package/src/components/containers/accordions/filter-item-container.js +5 -7
  438. package/src/components/containers/accordions/map-accordion-item-container.js +7 -28
  439. package/src/components/containers/filter/commute-container.js +4 -15
  440. package/src/components/containers/filter/filter-container.js +13 -8
  441. package/src/components/containers/filter/filter-item-container.js +25 -39
  442. package/src/components/containers/filter/location-container.js +4 -9
  443. package/src/components/containers/filter/points-of-interest-container.js +3 -14
  444. package/src/components/containers/filter/points-of-interest-radio-item-container.js +1 -4
  445. package/src/components/containers/filter/search-container.js +2 -8
  446. package/src/components/containers/jobListing/listing-details-container.js +2 -6
  447. package/src/components/containers/list/item-list-container.tsx +13 -22
  448. package/src/components/containers/list/list-item/list-item-container.js +2 -11
  449. package/src/components/containers/maps/info-window-content-container.js +2 -5
  450. package/src/components/containers/maps/map-container.js +14 -92
  451. package/src/components/containers/maps/map-list-container.js +5 -33
  452. package/src/components/containers/maps/map-marker-container.js +2 -4
  453. package/src/components/modules/accordions/filterItem.js +3 -16
  454. package/src/components/modules/accordions/filters.js +4 -19
  455. package/src/components/modules/buttons/button-group-apply.js +9 -14
  456. package/src/components/modules/buttons/pill-wrapper.js +1 -2
  457. package/src/components/modules/dialogs/apply-dialog.js +2 -2
  458. package/src/components/modules/filter/commute.js +5 -7
  459. package/src/components/modules/filter/index.js +50 -137
  460. package/src/components/modules/filter/item.js +3 -16
  461. package/src/components/modules/filter/search.js +1 -7
  462. package/src/components/modules/jobListing/listing-details.js +3 -5
  463. package/src/components/modules/list/field-mapper-desktop.jsx +13 -32
  464. package/src/components/modules/list/field-mapper-mobile.jsx +80 -92
  465. package/src/components/modules/list/header-item.js +1 -1
  466. package/src/components/modules/list/item-list.tsx +5 -2
  467. package/src/components/modules/list/list-item/list-item.jsx +11 -85
  468. package/src/components/modules/maps/map-list.js +1 -1
  469. package/src/components/modules/maps/map.js +18 -30
  470. package/src/components/modules/maps/tabs.js +5 -5
  471. package/src/contexts/mapContext.tsx +18 -45
  472. package/src/contexts/mapListContext.tsx +86 -308
  473. package/src/contexts/placesContext.js +3 -3
  474. package/src/contexts/themeContext.js +3 -8
  475. package/src/hooks/useList.js +1 -3
  476. package/src/index.js +0 -9
  477. package/src/services/configService.ts +16 -0
  478. package/src/services/listingAggregatorService.ts +58 -0
  479. package/src/services/listingEntityService.ts +16 -0
  480. package/src/services/listingService.ts +40 -0
  481. package/src/services/recruiterService.ts +18 -0
  482. package/src/styles/bundle.css +1 -3
  483. package/src/styles/index.css +2 -4
  484. package/src/types/GetListingParams.ts +1 -1
  485. package/src/types/ListingEntity.ts +1 -2
  486. package/src/types/ListingFields.ts +2 -4
  487. package/src/types/Listings.ts +1 -0
  488. package/src/types/config/Colors.ts +0 -1
  489. package/src/types/config/MapConfig.ts +0 -2
  490. package/src/types/config/PointsOfInterestConfig.ts +0 -1
  491. package/src/util/fieldMapper.js +2 -6
  492. package/src/util/filterUtil.js +55 -261
  493. package/src/util/mapUtil.js +41 -59
  494. package/src/util/urlFilterUtil.js +1 -4
  495. package/README.md +0 -323
  496. package/src/components/modules/maps/map.js.bak +0 -67
  497. package/src/components/modules/maps/map.js.bak2 +0 -67
  498. package/src/contexts/componentContext.tsx +0 -213
  499. package/src/styles/components.css +0 -30
  500. package/src/util/algoliaSearchUtil.js +0 -151
  501. 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 { initializeAlgoliaSearch } from '~/util/algoliaSearchUtil';
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
- // Since all data is now passed in statically, no need to fetch config
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
- // Component to handle all context providers
24
- const ContextProviders = ({ children, siteConfig, trackEvent, googleMapsApiKey, components, ...mapListProps }) => { return(
25
- <ComponentProvider components={components}>
26
- <TrackEventProvider trackEvent={trackEvent}>
27
- <ThemeProvider
28
- uiText={siteConfig.colors.uiText}
29
- uiAccent={siteConfig.colors.uiAccent}
30
- primary={siteConfig.colors.primary}
31
- primaryDark={siteConfig.colors.primaryDark}
32
- secondary={siteConfig.colors.secondary}
33
- secondaryDark={siteConfig.colors.secondaryDark}
34
- borderDefault={siteConfig.colors.borderDefault}
35
- >
36
- <MapListProvider siteConfig={siteConfig} googleMapsApiKey={googleMapsApiKey} {...mapListProps}>
37
- <MapProvider resetFilters={mapListProps.resetFilters} defaultZoomOverride={mapListProps.defaultZoomOverride} localStorageKey={mapListProps.localStorageKey}>
38
- <PlacesProvider
39
- placeMappings={siteConfig.pointsOfInterestConfig.placeMappings ?? {}}
40
- additionalMapMarkers={mapListProps.additionalMapMarkers}
41
- googleMapsApiKey={googleMapsApiKey}
42
- showAtZoomLevel={siteConfig.pointsOfInterestConfig.showAtZoomLevel ?? 12}
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
- {children}
56
- </PlacesProvider>
57
- </MapProvider>
58
- </MapListProvider>
59
- </ThemeProvider>
60
- </TrackEventProvider>
61
- </ComponentProvider>
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
- // Initialize Algolia when credentials are provided (client-side only)
160
- const [algoliaInitialized, setAlgoliaInitialized] = useState(false);
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 (non-blocking - map component will handle this)
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
- // Only show errors for critical failures
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
- // Don't block rendering - let filters and list show immediately
192
- // Map container will handle its own loading state
140
+ if (!isMapsLoaded) {
141
+ return <div className="hc-p-4">Loading Maps...</div>;
142
+ }
193
143
 
194
- // siteConfiguration is now required - all data passed in statically
195
- if (!siteConfiguration) {
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: siteConfiguration,
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: siteConfiguration.colors.primary,
236
- strokeColor: siteConfiguration.colors.primaryDark,
237
- selectedFillColor: siteConfiguration.colors.secondary,
238
- selectedStrokeColor: siteConfiguration.colors.secondaryDark,
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: siteConfiguration.pointsOfInterestConfig.placeMarkerColors,
241
- size: siteConfiguration.pointsOfInterestConfig.placeMarkerSize
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={siteConfiguration}
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={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}
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-0 md:hc-divide-x hc-divide-uiAccent/20'}
198
+ className={'hc-bundle hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}
262
199
  >
263
- {!hideFilters && (
264
- <Grid.Item className='hc-bg-gray-100'>
265
- <Filter isDesktop={true} showMap={effectiveShowMap} className='hc-hidden md:hc-block' />
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={siteConfiguration.mapPosition}
271
- showMap={effectiveShowMap}
272
- fieldsShown={siteConfiguration.fieldsShown}
273
- specialFeatures={siteConfiguration.specialFeatures}
274
- fieldNames={siteConfiguration.fieldNames}
275
- placeMappings={siteConfiguration.pointsOfInterestConfig.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 { useComponents } from '~/contexts/componentContext';
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
- // Get injected FiltersAccordion component from context
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 > 0)){
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 { useComponents } from '~/contexts/componentContext';
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 == 'category'){
27
- delete updatedFilters['subCategory'];
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.filter(item => item != null).sort().map(item => (
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 { useComponents } from '~/contexts/componentContext';
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
- // Get injected MapAccordionItem component from context
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
- if (typeof window !== 'undefined') {
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
- console.log('mapItems here', mapItems);
36
- //edited here for new structure of entity key
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.title,
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 { useComponents } from '~/contexts/componentContext';
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
- if (typeof window !== 'undefined') {
30
- localStorage.removeItem('isCurrentLocation');
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
- if (typeof window !== 'undefined') {
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 { useComponents } from '~/contexts/componentContext';
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 && !noEntities &&
67
+ {siteConfig.hideLocations !== true &&
63
68
  <FilterLocations
64
69
  setHasActiveFilters={setHasActiveFilters}
65
70
  defaultValue={defaultValue}