@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
@@ -1,33 +1,13 @@
1
- import { slicedToArray as _slicedToArray, typeof as _typeof, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { slicedToArray as _slicedToArray, typeof as _typeof, toConsumableArray as _toConsumableArray, defineProperty as _defineProperty, createForOfIteratorHelper as _createForOfIteratorHelper } from '../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { getDistinctItemsByProximity } from './mapUtil.js';
3
- import { isAlgoliaAvailable, filterListingsByAlgoliaSearch, isAlgoliaInitializing } from './algoliaSearchUtil.js';
4
- import Fuse from 'fuse.js';
3
+ import Fuse from '../node_modules/fuse.js/dist/fuse.js';
5
4
 
6
- // Helper function to get field value from either fields or customFields
7
- var getFieldValue = function getFieldValue(listing, fieldKey) {
8
- // First check in fields
9
- if (listing.fields && listing.fields[fieldKey] !== undefined && listing.fields[fieldKey] !== null) {
10
- return listing.fields[fieldKey];
11
- }
12
-
13
- // Then check in customFields array
14
- if (listing.customFields && Array.isArray(listing.customFields)) {
15
- var customField = listing.customFields.find(function (cf) {
16
- return cf.id === fieldKey || cf.name === fieldKey;
17
- });
18
- if (customField) {
19
- return customField.value;
20
- }
21
- }
22
- return undefined;
23
- };
24
5
  var getFilterOptions = function getFilterOptions(listings, filteredListings, field) {
25
- var excludeZeroCount = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
6
+ var excludeZeroCount = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
26
7
  var options = new Set();
27
8
  listings.forEach(function (listing) {
28
- var value = getFieldValue(listing, field);
29
- if (value) {
30
- options.add(value);
9
+ if (listing.fields[field]) {
10
+ options.add(listing.fields[field]);
31
11
  }
32
12
  });
33
13
  var optionCounts = {};
@@ -35,15 +15,12 @@ var getFilterOptions = function getFilterOptions(listings, filteredListings, fie
35
15
  optionCounts[option] = 0;
36
16
  });
37
17
  filteredListings.forEach(function (listing) {
38
- var value = getFieldValue(listing, field);
39
- if (value && Object.prototype.hasOwnProperty.call(optionCounts, value)) {
18
+ var value = listing.fields[field];
19
+ if (value && optionCounts.hasOwnProperty(value)) {
40
20
  optionCounts[value] += 1;
41
21
  }
42
22
  });
43
- var result = Array.from(options).filter(function (option) {
44
- return option != null && option !== '';
45
- }) // Filter out null/empty values
46
- .map(function (option) {
23
+ return Array.from(options).sort().map(function (option) {
47
24
  return {
48
25
  name: option,
49
26
  count: optionCounts[option] || 0
@@ -51,155 +28,55 @@ var getFilterOptions = function getFilterOptions(listings, filteredListings, fie
51
28
  }).filter(function (option) {
52
29
  return !(excludeZeroCount === true && option.count === 0);
53
30
  });
54
-
55
- // Sort alphabetically
56
- result.sort(function (a, b) {
57
- return a.name.localeCompare(b.name);
58
- });
59
- return result;
60
31
  };
61
32
  var getSpecialFeatureOptions = function getSpecialFeatureOptions(listings, filteredListings, siteConfig, favorites) {
62
- var filterConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
63
33
  var specialFeatures = siteConfig.specialFeatures;
64
- var allOptions = [];
65
- Object.entries(specialFeatures).forEach(function (_ref) {
66
- var _ref2 = _slicedToArray(_ref, 2),
67
- featureKey = _ref2[0],
68
- featureName = _ref2[1];
69
- // Check if this field is in regular fields or custom fields
70
- var hasRegularField = listings.some(function (listing) {
71
- return listing.fields && listing.fields[featureKey] !== undefined;
72
- });
73
- if (hasRegularField) {
74
- // Get all distinct values for this regular field
75
- var distinctValues = new Set();
76
- listings.forEach(function (listing) {
77
- var value = getFieldValue(listing, featureKey);
78
- if (value != null && value !== '' && value !== undefined) {
79
- distinctValues.add(String(value));
80
- }
81
- });
82
-
83
- // Check if it's boolean-like
84
- var booleanValues = new Set(['true', 'false', '1', '0', 'yes', 'no', 'True', 'False']);
85
- var allBooleanLike = Array.from(distinctValues).every(function (val) {
86
- return booleanValues.has(val) || val === '1' || val === '0';
87
- }) && distinctValues.size <= 2;
88
- if (allBooleanLike) {
89
- // Handle as boolean field
90
- var count = 0;
91
- filteredListings.forEach(function (listing) {
92
- var value = getFieldValue(listing, featureKey);
93
- if (value == 1 || value === 1 || value === '1' || value === 'true' || value === true) {
94
- count += 1;
95
- }
96
- });
97
- allOptions.push({
98
- name: featureName,
99
- count: count
100
- });
101
- } else {
102
- // Handle as multi-value regular field - add each distinct value as separate option
103
- distinctValues.forEach(function (value) {
104
- var count = 0;
105
- filteredListings.forEach(function (listing) {
106
- var listingValue = getFieldValue(listing, featureKey);
107
- if (String(listingValue) === value) {
108
- count += 1;
109
- }
110
- });
111
- allOptions.push({
112
- name: "".concat(featureName, ": ").concat(value),
113
- count: count
114
- });
115
- });
116
- }
117
- } else {
118
- // Check if it's in custom fields
119
- var hasCustomField = listings.some(function (listing) {
120
- return listing.customFields && Array.isArray(listing.customFields) && listing.customFields.some(function (cf) {
121
- return cf.id === featureKey || cf.name === featureKey;
122
- });
123
- });
124
- if (hasCustomField) {
125
- // Get all distinct values for this custom field
126
- var _distinctValues = new Set();
127
- listings.forEach(function (listing) {
128
- var value = getFieldValue(listing, featureKey);
129
- if (value != null && value !== '' && value !== undefined) {
130
- _distinctValues.add(String(value));
131
- }
132
- });
133
-
134
- // Check if it's boolean-like
135
- var _booleanValues = new Set(['true', 'false', '1', '0', 'yes', 'no', 'True', 'False']);
136
- var _allBooleanLike = Array.from(_distinctValues).every(function (val) {
137
- return _booleanValues.has(val);
138
- }) && _distinctValues.size <= 2;
139
- if (_allBooleanLike) {
140
- // Handle as boolean custom field
141
- var _count = 0;
142
- filteredListings.forEach(function (listing) {
143
- var value = getFieldValue(listing, featureKey);
144
- if (value === '1' || value === 'true' || value === 'True' || value === true || value === 1) {
145
- _count += 1;
146
- }
147
- });
148
- allOptions.push({
149
- name: featureName,
150
- count: _count
151
- });
152
- } else {
153
- // Handle as multi-value custom field - add each distinct value as separate option
154
- _distinctValues.forEach(function (value) {
155
- var count = 0;
156
- filteredListings.forEach(function (listing) {
157
- var listingValue = getFieldValue(listing, featureKey);
158
- if (listingValue === value) {
159
- count += 1;
160
- }
161
- });
162
- allOptions.push({
163
- name: "".concat(featureName, ": ").concat(value),
164
- count: count
165
- });
166
- });
167
- }
34
+ var featureCounts = Object.keys(specialFeatures).sort().reduce(function (acc, key) {
35
+ acc[specialFeatures[key]] = 0;
36
+ return acc;
37
+ }, {});
38
+ filteredListings.forEach(function (listing) {
39
+ Object.entries(specialFeatures).forEach(function (_ref) {
40
+ var _ref2 = _slicedToArray(_ref, 2),
41
+ featureKey = _ref2[0],
42
+ featureName = _ref2[1];
43
+ if (listing.fields[featureKey] == 1) {
44
+ featureCounts[featureName] += 1;
168
45
  }
169
- }
46
+ });
170
47
  });
171
-
172
- // Update favorite count
173
- for (var _i = 0, _allOptions = allOptions; _i < _allOptions.length; _i++) {
174
- var option = _allOptions[_i];
175
- if (option.name === 'Favorite') {
176
- option.count = filteredListings.filter(function (x) {
177
- return favorites.includes(x.id);
178
- }).length;
48
+ var specialFeatureOptions = Object.entries(featureCounts).map(function (_ref3) {
49
+ var _ref4 = _slicedToArray(_ref3, 2),
50
+ name = _ref4[0],
51
+ count = _ref4[1];
52
+ return {
53
+ name: name,
54
+ count: count
55
+ };
56
+ });
57
+ var _iterator = _createForOfIteratorHelper(specialFeatureOptions),
58
+ _step;
59
+ try {
60
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
61
+ var option = _step.value;
62
+ if (option.name === 'Favorite') {
63
+ option.count = filteredListings.filter(function (x) {
64
+ return favorites.includes(x.id);
65
+ }).length;
66
+ }
179
67
  }
68
+ } catch (err) {
69
+ _iterator.e(err);
70
+ } finally {
71
+ _iterator.f();
180
72
  }
181
-
182
- // Hide favorites if filterConfig.showFavorites is false
183
- var finalOptions = allOptions;
184
- if (filterConfig.showFavorites === false) {
185
- finalOptions = finalOptions.filter(function (option) {
186
- return option.name !== 'Favorite';
187
- });
188
- }
189
-
190
- // Hide zero results if filterConfig.hideZeroResults is true
191
- if (filterConfig.hideZeroResults === true) {
192
- finalOptions = finalOptions.filter(function (option) {
193
- return option.count > 0;
194
- });
195
- }
196
- return finalOptions;
73
+ return specialFeatureOptions;
197
74
  };
198
75
  var getPointsOfInterestOptions = function getPointsOfInterestOptions(pointsOfInterestNames) {
199
- return Object.entries(pointsOfInterestNames).sort().map(function (_ref3) {
200
- var _ref4 = _slicedToArray(_ref3, 2),
201
- key = _ref4[0],
202
- name = _ref4[1];
76
+ return Object.entries(pointsOfInterestNames).sort().map(function (_ref5) {
77
+ var _ref6 = _slicedToArray(_ref5, 2),
78
+ key = _ref6[0],
79
+ name = _ref6[1];
203
80
  return {
204
81
  key: key,
205
82
  name: name
@@ -207,70 +84,43 @@ var getPointsOfInterestOptions = function getPointsOfInterestOptions(pointsOfInt
207
84
  });
208
85
  };
209
86
  var generateFilterOptions = function generateFilterOptions(filteredListings, allListings, siteConfig, filterOptions, parentField, favorites, selectedFilters) {
210
- var filterConfig = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {
211
- hideZeroResults: false,
212
- dynamicCounts: true,
213
- showFavorites: true,
214
- collapsedByDefault: false,
215
- sortAlphabetically: false
216
- };
217
87
  if (allListings.length > 0) {
218
- // Determine which listings to use for counts based on dynamicCounts setting
219
- var countListings = filterConfig.dynamicCounts ? filteredListings : allListings;
220
88
  var dynamicFilters = siteConfig.fieldFiltersShown.map(function (fieldName) {
221
89
  if (fieldName === parentField && filterOptions !== null && filterOptions !== void 0 && filterOptions.filters) {
222
90
  return filterOptions.filters.find(function (filter) {
223
91
  return filter.id === fieldName;
224
92
  });
225
93
  }
226
- if (fieldName == 'category') {
227
- // For category counts, exclude specialFeatures from the filter calculation
228
- // so that toggling specialFeatures updates category counts
229
- var categoryCountListings = countListings;
230
- if (filterConfig.dynamicCounts && selectedFilters.specialFeatures) {
231
- categoryCountListings = allListings.filter(function (listing) {
232
- return Object.entries(selectedFilters).every(function (_ref5) {
233
- var _ref6 = _slicedToArray(_ref5, 2),
234
- key = _ref6[0],
235
- value = _ref6[1];
236
- if (key === 'specialFeatures') return true; // Exclude specialFeatures
237
- var fieldValue = getFieldValue(listing, key);
238
- if (value && _typeof(value) === 'object' && value[fieldValue] === true) {
239
- return true;
240
- }
241
- return false;
242
- });
243
- });
244
- }
94
+ if (fieldName == 'categoryClass') {
245
95
  return {
246
96
  id: fieldName,
247
97
  title: siteConfig.fieldNames[fieldName],
248
- items: getFilterOptions(allListings, categoryCountListings, fieldName, filterConfig.hideZeroResults)
98
+ items: getFilterOptions(allListings, allListings, fieldName)
249
99
  };
250
100
  }
251
- if (fieldName == 'subCategory' && selectedFilters.category) {
252
- var categoryKeys = Object.keys(selectedFilters.category);
253
- var filteredByCategory = allListings.filter(function (x) {
101
+ if (fieldName == 'category' && selectedFilters.categoryClass) {
102
+ var categoryClassKeys = Object.keys(selectedFilters.categoryClass);
103
+ var _filteredListings = allListings.filter(function (x) {
254
104
  var _x$fields;
255
- return categoryKeys.includes((_x$fields = x.fields) === null || _x$fields === void 0 ? void 0 : _x$fields.category);
105
+ return categoryClassKeys.includes((_x$fields = x.fields) === null || _x$fields === void 0 ? void 0 : _x$fields.categoryClass);
256
106
  });
257
107
  return {
258
108
  id: fieldName,
259
109
  title: siteConfig.fieldNames[fieldName],
260
- items: getFilterOptions(allListings, filteredByCategory, fieldName, filterConfig.hideZeroResults)
110
+ items: getFilterOptions(allListings, _filteredListings, fieldName, false)
261
111
  };
262
112
  }
263
113
  if (fieldName == "specialFeatures") {
264
114
  return {
265
115
  id: fieldName,
266
116
  title: siteConfig.fieldNames[fieldName],
267
- items: getSpecialFeatureOptions(allListings, countListings, siteConfig, favorites, filterConfig)
117
+ items: getSpecialFeatureOptions(allListings, filteredListings, siteConfig, favorites).sort()
268
118
  };
269
119
  }
270
120
  return {
271
121
  id: fieldName,
272
122
  title: siteConfig.fieldNames[fieldName],
273
- items: getFilterOptions(allListings, countListings, fieldName, filterConfig.hideZeroResults)
123
+ items: getFilterOptions(allListings, filteredListings, fieldName)
274
124
  };
275
125
  });
276
126
  var locations = siteConfig.locationFiltersShown.map(function (fieldName, index) {
@@ -281,8 +131,7 @@ var generateFilterOptions = function generateFilterOptions(filteredListings, all
281
131
  key = _ref8[0],
282
132
  value = _ref8[1];
283
133
  if (siteConfig.locationFiltersShown.includes(key)) return true;
284
- var fieldValue = getFieldValue(listing, key);
285
- if (value && _typeof(value) === 'object' && value[fieldValue] === true) {
134
+ if (value && _typeof(value) === 'object' && value[listing.fields[key]] === true) {
286
135
  return true;
287
136
  }
288
137
  return false;
@@ -346,216 +195,76 @@ var generateFilterOptions = function generateFilterOptions(filteredListings, all
346
195
  title: siteConfig.pointsOfInterestConfig.title,
347
196
  items: getPointsOfInterestOptions(siteConfig.pointsOfInterestConfig.pointsOfInterestNames)
348
197
  };
349
-
350
- // Filter out null filters and ensure items arrays don't contain undefined values
351
- var cleanFilters = dynamicFilters.filter(function (f) {
352
- return f != null && f.items != null;
353
- }).map(function (f) {
354
- return _objectSpread2(_objectSpread2({}, f), {}, {
355
- items: f.items.filter(function (item) {
356
- return item != null && item.name != null;
357
- })
358
- });
359
- });
360
- var cleanLocations = locations.filter(function (l) {
361
- return l != null && l.items != null;
362
- }).map(function (l) {
363
- return _objectSpread2(_objectSpread2({}, l), {}, {
364
- items: l.items.filter(function (item) {
365
- return item != null && item.name != null;
366
- })
367
- });
368
- });
369
198
  return {
370
- filters: cleanFilters,
371
- locations: cleanLocations,
199
+ filters: dynamicFilters,
200
+ locations: locations,
372
201
  pointsOfInterest: pointsOfInterest
373
202
  };
374
203
  }
375
204
  return null;
376
205
  };
377
- var applyFilters = /*#__PURE__*/function () {
378
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(allListings, selectedFilters, query, listingEntities, favorites, siteConfig) {
379
- var isFirstLoad,
380
- results,
381
- invertedSpecialFeaturesMap,
382
- hasFavorite,
383
- favorite,
384
- _loop,
385
- _i2,
386
- _Object$entries,
387
- attempts,
388
- distinctItems,
389
- _args2 = arguments;
390
- return _regeneratorRuntime().wrap(function _callee$(_context2) {
391
- while (1) switch (_context2.prev = _context2.next) {
392
- case 0:
393
- isFirstLoad = _args2.length > 6 && _args2[6] !== undefined ? _args2[6] : false;
394
- results = allListings;
395
- if (siteConfig.specialFeatures) {
396
- invertedSpecialFeaturesMap = Object.entries(siteConfig.specialFeatures).reduce(function (acc, _ref10) {
397
- var _ref11 = _slicedToArray(_ref10, 2),
398
- key = _ref11[0],
399
- value = _ref11[1];
400
- acc[value] = key;
401
- return acc;
402
- }, {});
403
- }
404
- hasFavorite = !!selectedFilters.specialFeatures && !!selectedFilters.specialFeatures.Favorite;
405
- if (hasFavorite && selectedFilters.specialFeatures.Favorite == true) {
406
- results = results.filter(function (x) {
407
- return favorites.includes(x.id);
408
- });
409
- }
410
- if (hasFavorite) {
411
- favorite = selectedFilters.specialFeatures.Favorite;
412
- delete selectedFilters.specialFeatures.Favorite;
413
- }
414
- _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
415
- var _Object$entries$_i, field, filterItems, formattedField;
416
- return _regeneratorRuntime().wrap(function _loop$(_context) {
417
- while (1) switch (_context.prev = _context.next) {
418
- case 0:
419
- _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2), field = _Object$entries$_i[0], filterItems = _Object$entries$_i[1];
420
- formattedField = field;
421
- if (!(field === "pointsOfInterest")) {
422
- _context.next = 4;
423
- break;
424
- }
425
- return _context.abrupt("return", 1);
426
- case 4:
427
- if (field === "specialFeatures" && invertedSpecialFeaturesMap && Object.keys(filterItems).length > 0) {
428
- results = results.filter(function (listing) {
429
- return Object.entries(filterItems).some(function (_ref12) {
430
- var _ref13 = _slicedToArray(_ref12, 2),
431
- filterName = _ref13[0],
432
- filterValue = _ref13[1];
433
- if (!filterValue) return false;
434
-
435
- // Check if this is a multi-value filter (has a colon in the name)
436
- if (filterName.includes(': ')) {
437
- var _Object$entries$find;
438
- var _filterName$split = filterName.split(': '),
439
- _filterName$split2 = _slicedToArray(_filterName$split, 2),
440
- baseFeatureName = _filterName$split2[0],
441
- expectedValue = _filterName$split2[1];
442
- // Find the field key for this feature
443
- var listingFieldName = (_Object$entries$find = Object.entries(siteConfig.specialFeatures).find(function (_ref14) {
444
- var _ref15 = _slicedToArray(_ref14, 2);
445
- _ref15[0];
446
- var displayName = _ref15[1];
447
- return displayName === baseFeatureName;
448
- })) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[0];
449
- if (listingFieldName) {
450
- var value = getFieldValue(listing, listingFieldName);
451
- return value === expectedValue;
452
- }
453
- return false;
454
- } else {
455
- // Handle boolean special features
456
- var _listingFieldName = invertedSpecialFeaturesMap[filterName];
457
- var _value = getFieldValue(listing, _listingFieldName);
458
- // Support both numeric (1/0) and string ("true"/"false") boolean values
459
- return _value == 1 || _value === 1 || _value === '1' || _value === 'true' || _value === true;
460
- }
461
- });
462
- });
463
- } else if (Object.keys(filterItems).length > 0) {
464
- results = results.filter(function (listing) {
465
- var value = getFieldValue(listing, formattedField);
466
- return Object.prototype.hasOwnProperty.call(filterItems, value);
467
- });
468
- }
469
- case 5:
470
- case "end":
471
- return _context.stop();
472
- }
473
- }, _loop);
474
- });
475
- _i2 = 0, _Object$entries = Object.entries(selectedFilters);
476
- case 8:
477
- if (!(_i2 < _Object$entries.length)) {
478
- _context2.next = 15;
479
- break;
480
- }
481
- return _context2.delegateYield(_loop(), "t0", 10);
482
- case 10:
483
- if (!_context2.t0) {
484
- _context2.next = 12;
485
- break;
486
- }
487
- return _context2.abrupt("continue", 12);
488
- case 12:
489
- _i2++;
490
- _context2.next = 8;
491
- break;
492
- case 15:
493
- if (!query) {
494
- _context2.next = 38;
495
- break;
496
- }
497
- if (!(isFirstLoad && isAlgoliaInitializing())) {
498
- _context2.next = 24;
499
- break;
500
- }
501
- // Wait up to 500ms for Algolia to initialize on first load
502
- attempts = 0;
503
- case 18:
504
- if (!(isAlgoliaInitializing() && attempts < 10)) {
505
- _context2.next = 24;
506
- break;
507
- }
508
- _context2.next = 21;
509
- return new Promise(function (resolve) {
510
- return setTimeout(resolve, 50);
511
- });
512
- case 21:
513
- attempts++;
514
- _context2.next = 18;
515
- break;
516
- case 24:
517
- if (!isAlgoliaAvailable()) {
518
- _context2.next = 37;
519
- break;
520
- }
521
- _context2.prev = 25;
522
- _context2.next = 28;
523
- return filterListingsByAlgoliaSearch(results, query);
524
- case 28:
525
- results = _context2.sent;
526
- _context2.next = 35;
527
- break;
528
- case 31:
529
- _context2.prev = 31;
530
- _context2.t1 = _context2["catch"](25);
531
- console.error('Algolia search failed, falling back to Fuse.js:', _context2.t1);
532
- results = searchResults(results, query);
533
- case 35:
534
- _context2.next = 38;
535
- break;
536
- case 37:
537
- results = searchResults(results, query);
538
- case 38:
539
- distinctItems = getDistinctItemsByProximity(results, listingEntities);
540
- if (hasFavorite) {
541
- selectedFilters.specialFeatures.Favorite = favorite;
542
- }
543
- return _context2.abrupt("return", {
544
- filteredListings: results,
545
- mapItems: distinctItems
546
- });
547
- case 41:
548
- case "end":
549
- return _context2.stop();
550
- }
551
- }, _callee, null, [[25, 31]]);
552
- }));
553
- return function applyFilters(_x, _x2, _x3, _x4, _x5, _x6) {
554
- return _ref9.apply(this, arguments);
206
+ var applyFilters = function applyFilters(allListings, selectedFilters, query, listingEntities, favorites, siteConfig) {
207
+ var results = allListings;
208
+ var invertedSpecialFeaturesMap;
209
+ if (siteConfig.specialFeatures) {
210
+ invertedSpecialFeaturesMap = Object.entries(siteConfig.specialFeatures).reduce(function (acc, _ref9) {
211
+ var _ref10 = _slicedToArray(_ref9, 2),
212
+ key = _ref10[0],
213
+ value = _ref10[1];
214
+ acc[value] = key;
215
+ return acc;
216
+ }, {});
217
+ }
218
+ var hasFavorite = !!selectedFilters.specialFeatures && !!selectedFilters.specialFeatures.Favorite;
219
+ if (hasFavorite && selectedFilters.specialFeatures.Favorite == true) {
220
+ results = results.filter(function (x) {
221
+ return favorites.includes(x.id);
222
+ });
223
+ }
224
+ var favorite;
225
+ if (hasFavorite) {
226
+ favorite = selectedFilters.specialFeatures.Favorite;
227
+ delete selectedFilters.specialFeatures.Favorite;
228
+ }
229
+ var _loop = function _loop() {
230
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
231
+ field = _Object$entries$_i[0],
232
+ filterItems = _Object$entries$_i[1];
233
+ var formattedField = field;
234
+ if (field === "pointsOfInterest") return 1; // continue
235
+ if (field === "specialFeatures" && invertedSpecialFeaturesMap && Object.keys(filterItems).length > 0) {
236
+ results = results.filter(function (listing) {
237
+ return Object.entries(filterItems).some(function (_ref11) {
238
+ var _ref12 = _slicedToArray(_ref11, 2),
239
+ filterName = _ref12[0],
240
+ filterValue = _ref12[1];
241
+ var listingFieldName = invertedSpecialFeaturesMap[filterName];
242
+ return filterValue && listing.fields[listingFieldName] == 1;
243
+ });
244
+ });
245
+ } else if (Object.keys(filterItems).length > 0) {
246
+ results = results.filter(function (listing) {
247
+ return filterItems.hasOwnProperty(listing.fields[formattedField]);
248
+ });
249
+ }
250
+ };
251
+ for (var _i = 0, _Object$entries = Object.entries(selectedFilters); _i < _Object$entries.length; _i++) {
252
+ if (_loop()) continue;
253
+ }
254
+ if (query) {
255
+ results = searchResults(results, query);
256
+ }
257
+ var distinctItems = getDistinctItemsByProximity(results, listingEntities);
258
+ if (hasFavorite) {
259
+ selectedFilters.specialFeatures.Favorite = favorite;
260
+ }
261
+ return {
262
+ filteredListings: results,
263
+ mapItems: distinctItems
555
264
  };
556
- }();
265
+ };
557
266
  function searchResults(results, query) {
558
- var fields = ['id', 'uniqueId', 'fields.posted', 'fields.subtitle', 'fields.education', 'fields.title', 'fields.category', 'fields.subCategory', 'fields.shift', 'fields.citystate', 'fields.city', 'fields.state', 'fields.schedule', 'fields.customflag1', 'fields.bonus', 'fields.remote', 'fields.useclientjoburl', 'fields.datecreated', 'fields.datelastedited'];
267
+ var fields = ['id', 'uniqueId', 'fields.posted', 'fields.subtitle', 'fields.education', 'fields.position', 'fields.category', 'fields.categoryclass', 'fields.shift', 'fields.citystate', 'fields.city', 'fields.state', 'fields.schedule', 'fields.customflag1', 'fields.bonus', 'fields.remote', 'fields.useclientjoburl', 'fields.datecreated', 'fields.datelastedited'];
559
268
  var options = {
560
269
  includeScore: true,
561
270
  threshold: 0.3,
@@ -588,7 +297,7 @@ var filterListingsByLocation = function filterListingsByLocation(allListings, se
588
297
  var results = allListings;
589
298
  if (selectedLocation !== null) {
590
299
  results = results.filter(function (item) {
591
- return Object.prototype.hasOwnProperty.call(selectedLocation.items, item.id);
300
+ return selectedLocation.items.hasOwnProperty(item.id);
592
301
  });
593
302
  }
594
303
  var mapItems = getDistinctItemsByProximity(results, listingEntities);
@@ -598,5 +307,5 @@ var filterListingsByLocation = function filterListingsByLocation(allListings, se
598
307
  };
599
308
  };
600
309
 
601
- export { applyFilters, filterListingsByLocation, generateFilterOptions, getFieldValue, getFilterOptions, getSpecialFeatureOptions };
310
+ export { applyFilters, filterListingsByLocation, generateFilterOptions, getFilterOptions, getSpecialFeatureOptions };
602
311
  //# sourceMappingURL=filterUtil.js.map