@abcagency/hc-ui-components 1.9.35 → 1.9.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +58 -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 -271
  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 -373
  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 -226
  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,5 +1,5 @@
1
- import React from 'react';
2
- import * as Tabs from '@radix-ui/react-tabs';
1
+ import React__default from 'react';
2
+ import { Root as Root2, List, Trigger, Content } from '../../../node_modules/@radix-ui/react-tabs/dist/index.js';
3
3
  import Button from '../buttons/default.js';
4
4
  import { useMapList } from '../../../contexts/mapListContext.js';
5
5
 
@@ -14,70 +14,70 @@ var MapTabs = function MapTabs(_ref) {
14
14
  mobileTab = _useMapList.mobileTab,
15
15
  setMobileTab = _useMapList.setMobileTab,
16
16
  containerStyle = _useMapList.containerStyle;
17
- return /*#__PURE__*/React.createElement("div", {
17
+ return /*#__PURE__*/React__default.createElement("div", {
18
18
  style: containerStyle,
19
19
  className: "\n hc-relative hc-overflow-hidden\n ".concat(className !== null && className !== void 0 ? className : "", "\n ")
20
- }, /*#__PURE__*/React.createElement(Tabs.Root, {
20
+ }, /*#__PURE__*/React__default.createElement(Root2, {
21
21
  className: "hc-flex hc-flex-col hc-h-full",
22
22
  value: mobileTab
23
- }, /*#__PURE__*/React.createElement(Tabs.List, {
23
+ }, /*#__PURE__*/React__default.createElement(List, {
24
24
  className: "hc-w-full hc-shrink-0 hc-flex hc-divide-x hc-divide-primary hc-bg-white hc-z-10",
25
25
  "aria-label": "Review positions"
26
- }, /*#__PURE__*/React.createElement(Tabs.Trigger, {
26
+ }, /*#__PURE__*/React__default.createElement(Trigger, {
27
27
  value: "listTab",
28
28
  asChild: true,
29
29
  onClick: function onClick() {
30
30
  return setMobileTab("listTab");
31
31
  }
32
- }, /*#__PURE__*/React.createElement(Button.Btn, {
32
+ }, /*#__PURE__*/React__default.createElement(Button.Btn, {
33
33
  variant: "outline",
34
34
  isBlock: true,
35
35
  className: tabButtonClasses
36
- }, /*#__PURE__*/React.createElement(Button.Body, {
36
+ }, /*#__PURE__*/React__default.createElement(Button.Body, {
37
37
  className: "hc-justify-center"
38
- }, /*#__PURE__*/React.createElement(Button.Icon, {
38
+ }, /*#__PURE__*/React__default.createElement(Button.Icon, {
39
39
  icon: "mdi:view-list",
40
40
  size: "hc-size-5"
41
- }), "List"))), showMap && /*#__PURE__*/React.createElement(Tabs.Trigger, {
41
+ }), "List"))), showMap && /*#__PURE__*/React__default.createElement(Trigger, {
42
42
  value: "mapTab",
43
43
  asChild: true,
44
44
  onClick: function onClick() {
45
45
  return setMobileTab("mapTab");
46
46
  }
47
- }, /*#__PURE__*/React.createElement(Button.Btn, {
47
+ }, /*#__PURE__*/React__default.createElement(Button.Btn, {
48
48
  variant: "outline",
49
49
  isBlock: true,
50
50
  className: tabButtonClasses
51
- }, /*#__PURE__*/React.createElement(Button.Body, {
51
+ }, /*#__PURE__*/React__default.createElement(Button.Body, {
52
52
  className: "hc-justify-center"
53
- }, /*#__PURE__*/React.createElement(Button.Icon, {
53
+ }, /*#__PURE__*/React__default.createElement(Button.Icon, {
54
54
  icon: "mdi:map",
55
55
  size: "hc-size-5"
56
- }), "Map"))), /*#__PURE__*/React.createElement(Tabs.Trigger, {
56
+ }), "Map"))), /*#__PURE__*/React__default.createElement(Trigger, {
57
57
  value: "filterTab",
58
58
  asChild: true,
59
59
  onClick: function onClick() {
60
60
  return setMobileTab("filterTab");
61
61
  }
62
- }, /*#__PURE__*/React.createElement(Button.Btn, {
62
+ }, /*#__PURE__*/React__default.createElement(Button.Btn, {
63
63
  variant: "outline",
64
64
  isBlock: true,
65
65
  className: tabButtonClasses
66
- }, /*#__PURE__*/React.createElement(Button.Body, {
66
+ }, /*#__PURE__*/React__default.createElement(Button.Body, {
67
67
  className: "hc-justify-center"
68
- }, /*#__PURE__*/React.createElement(Button.Icon, {
68
+ }, /*#__PURE__*/React__default.createElement(Button.Icon, {
69
69
  icon: "fluent:search-12-filled",
70
70
  size: "hc-size-5"
71
- }), "Filter")))), /*#__PURE__*/React.createElement("div", {
72
- className: "hc-flex-grow hc-h-[calc(100vh-180px)] md:hc-h-[calc(100%-48px)]"
73
- }, /*#__PURE__*/React.createElement(Tabs.Content, {
74
- className: "hc-h-full hc-bg-white hc-outline-none",
71
+ }), "Filter")))), /*#__PURE__*/React__default.createElement("div", {
72
+ className: "hc-flex-grow hc-h-[calc(100%-48px)]"
73
+ }, /*#__PURE__*/React__default.createElement(Content, {
74
+ className: "hc-h-full hc-overflow-auto hc-bg-white hc-outline-none",
75
75
  value: "listTab"
76
- }, list), showMap && /*#__PURE__*/React.createElement(Tabs.Content, {
77
- className: "hc-h-[100vh] hc-bg-white hc-outline-none",
76
+ }, list), showMap && /*#__PURE__*/React__default.createElement(Content, {
77
+ className: "hc-h-full hc-overflow-auto hc-bg-white hc-outline-none",
78
78
  value: "mapTab"
79
- }, map), /*#__PURE__*/React.createElement(Tabs.Content, {
80
- className: "hc-h-full hc-max-h-[calc(100vh-158px)] hc-bg-white hc-outline-none",
79
+ }, map), /*#__PURE__*/React__default.createElement(Content, {
80
+ className: "hc-h-full hc-bg-white hc-outline-none",
81
81
  value: "filterTab"
82
82
  }, filter))));
83
83
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../../../src/components/modules/maps/tabs.js"],"sourcesContent":["import React from 'react';\nimport * as Tabs from '@radix-ui/react-tabs';\nimport Button from '~/components/modules/buttons/default';\nimport { useMapList } from '~/contexts/mapListContext';\n\nconst MapTabs = ({\n\tmap,\n\tlist,\n\tfilter,\n\tclassName,\n\tshowMap\n}) => {\n\tconst tabButtonClasses =\n \"hc-flex hc-items-center hc-gap-2 hc-rounded-none hc-border-x-0 data-[state=active]:hc-bg-primary data-[state=active]:hc-text-white\";\n\tconst { mobileTab, setMobileTab, containerStyle } = useMapList();\n\n\treturn (\n\t\t<div\n\t\t\tstyle={containerStyle}\n\t\t\tclassName={`\n hc-relative hc-overflow-hidden\n ${className ?? \"\"}\n `}\n\t\t>\n\t\t\t<Tabs.Root\n\t\t\t\tclassName=\"hc-flex hc-flex-col hc-h-full\"\n\t\t\t\tvalue={mobileTab}\n\t\t\t>\n\t\t\t\t{/* Fixed tab header */}\n\t\t\t\t<Tabs.List\n\t\t\t\t\tclassName=\"hc-w-full hc-shrink-0 hc-flex hc-divide-x hc-divide-primary hc-bg-white hc-z-10\"\n\t\t\t\t\taria-label=\"Review positions\"\n\t\t\t\t>\n\t\t\t\t\t<Tabs.Trigger value=\"listTab\" asChild onClick={() => setMobileTab(\"listTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:view-list\" size=\"hc-size-5\" />\n List\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t{showMap && (\n\t\t\t\t\t\t<Tabs.Trigger value=\"mapTab\" asChild onClick={() => setMobileTab(\"mapTab\")}>\n\t\t\t\t\t\t\t<Button.Btn\n\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tclassName={tabButtonClasses}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:map\" size=\"hc-size-5\" />\n Map\n\t\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t<Tabs.Trigger value=\"filterTab\" asChild onClick={() => setMobileTab(\"filterTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"fluent:search-12-filled\" size=\"hc-size-5\" />\n Filter\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t</Tabs.List>\n\n\t\t\t\t{/* Tab content */}\n\t\t\t\t<div className=\"hc-flex-grow hc-h-[calc(100vh-180px)] md:hc-h-[calc(100%-48px)]\">\n\t\t\t\t\t{/* List Tab Content */}\n\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\tclassName=\"hc-h-full hc-bg-white hc-outline-none\"\n\t\t\t\t\t\tvalue=\"listTab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{list}\n\t\t\t\t\t</Tabs.Content>\n\n\t\t\t\t\t{/* Map Tab Content */}\n\t\t\t\t\t{showMap && (\n\t\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\t\tclassName=\"hc-h-[100vh] hc-bg-white hc-outline-none\"\n\t\t\t\t\t\t\tvalue=\"mapTab\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{map}\n\t\t\t\t\t\t</Tabs.Content>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Filter Tab Content */}\n\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\tclassName=\"hc-h-full hc-max-h-[calc(100vh-158px)] hc-bg-white hc-outline-none\"\n\t\t\t\t\t\tvalue=\"filterTab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{filter}\n\t\t\t\t\t</Tabs.Content>\n\t\t\t\t</div>\n\t\t\t</Tabs.Root>\n\t\t</div>\n\t);\n};\n\nexport default MapTabs;\n"],"names":["MapTabs","_ref","map","list","filter","className","showMap","tabButtonClasses","_useMapList","useMapList","mobileTab","setMobileTab","containerStyle","React","createElement","style","concat","Tabs","Root","value","List","Trigger","asChild","onClick","Button","Btn","variant","isBlock","Body","Icon","icon","size","Content"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sources":["../../../../src/components/modules/maps/tabs.js"],"sourcesContent":["import React from 'react';\nimport * as Tabs from '@radix-ui/react-tabs';\nimport Button from '~/components/modules/buttons/default';\nimport { useMapList } from '~/contexts/mapListContext';\n\nconst MapTabs = ({\n\tmap,\n\tlist,\n\tfilter,\n\tclassName,\n\tshowMap\n}) => {\n\tconst tabButtonClasses =\n \"hc-flex hc-items-center hc-gap-2 hc-rounded-none hc-border-x-0 data-[state=active]:hc-bg-primary data-[state=active]:hc-text-white\";\n\tconst { mobileTab, setMobileTab, containerStyle } = useMapList();\n\n\treturn (\n\t\t<div\n\t\t\tstyle={containerStyle}\n\t\t\tclassName={`\n hc-relative hc-overflow-hidden\n ${className ?? \"\"}\n `}\n\t\t>\n\t\t\t<Tabs.Root\n\t\t\t\tclassName=\"hc-flex hc-flex-col hc-h-full\"\n\t\t\t\tvalue={mobileTab}\n\t\t\t>\n\t\t\t\t{/* Fixed tab header */}\n\t\t\t\t<Tabs.List\n\t\t\t\t\tclassName=\"hc-w-full hc-shrink-0 hc-flex hc-divide-x hc-divide-primary hc-bg-white hc-z-10\"\n\t\t\t\t\taria-label=\"Review positions\"\n\t\t\t\t>\n\t\t\t\t\t<Tabs.Trigger value=\"listTab\" asChild onClick={() => setMobileTab(\"listTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:view-list\" size=\"hc-size-5\" />\n List\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t{showMap && (\n\t\t\t\t\t\t<Tabs.Trigger value=\"mapTab\" asChild onClick={() => setMobileTab(\"mapTab\")}>\n\t\t\t\t\t\t\t<Button.Btn\n\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tclassName={tabButtonClasses}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t\t<Button.Icon icon=\"mdi:map\" size=\"hc-size-5\" />\n Map\n\t\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t<Tabs.Trigger value=\"filterTab\" asChild onClick={() => setMobileTab(\"filterTab\")}>\n\t\t\t\t\t\t<Button.Btn variant=\"outline\" isBlock className={tabButtonClasses}>\n\t\t\t\t\t\t\t<Button.Body className=\"hc-justify-center\">\n\t\t\t\t\t\t\t\t<Button.Icon icon=\"fluent:search-12-filled\" size=\"hc-size-5\" />\n Filter\n\t\t\t\t\t\t\t</Button.Body>\n\t\t\t\t\t\t</Button.Btn>\n\t\t\t\t\t</Tabs.Trigger>\n\t\t\t\t</Tabs.List>\n\n\t\t\t\t{/* Tab content */}\n\t\t\t\t<div className=\"hc-flex-grow hc-h-[calc(100%-48px)]\">\n\t\t\t\t\t{/* List Tab Content */}\n\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\tclassName=\"hc-h-full hc-overflow-auto hc-bg-white hc-outline-none\"\n\t\t\t\t\t\tvalue=\"listTab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{list}\n\t\t\t\t\t</Tabs.Content>\n\n\t\t\t\t\t{/* Map Tab Content */}\n\t\t\t\t\t{showMap && (\n\t\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\t\tclassName=\"hc-h-full hc-overflow-auto hc-bg-white hc-outline-none\"\n\t\t\t\t\t\t\tvalue=\"mapTab\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{map}\n\t\t\t\t\t\t</Tabs.Content>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Filter Tab Content */}\n\t\t\t\t\t<Tabs.Content\n\t\t\t\t\t\tclassName=\"hc-h-full hc-bg-white hc-outline-none\"\n\t\t\t\t\t\tvalue=\"filterTab\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{filter}\n\t\t\t\t\t</Tabs.Content>\n\t\t\t\t</div>\n\t\t\t</Tabs.Root>\n\t\t</div>\n\t);\n};\n\nexport default MapTabs;"],"names":["MapTabs","_ref","map","list","filter","className","showMap","tabButtonClasses","_useMapList","useMapList","mobileTab","setMobileTab","containerStyle","React","createElement","style","concat","Tabs","value","asChild","onClick","Button","Btn","variant","isBlock","Body","Icon","icon","size"],"mappings":"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"}
@@ -38,9 +38,26 @@ import CardFilter from '../components/modules/cards/filter.js';
38
38
  import ApplyDialog from '../components/modules/dialogs/apply-dialog.js';
39
39
  import Grid from '../components/modules/grid.js';
40
40
  import IconContained from '../components/modules/icon.js';
41
+ import MapContainer from '../components/containers/maps/map-container.js';
42
+ import MapListContainer from '../components/containers/maps/map-list-container.js';
43
+ import MapMarkerContainer from '../components/containers/maps/map-marker-container.js';
44
+ import InfoWindowContentContainer from '../components/containers/maps/info-window-content-container.js';
45
+ import FilterContainer from '../components/containers/filter/filter-container.js';
46
+ import FilterItemContainer from '../components/containers/filter/filter-item-container.js';
47
+ import SearchContainer from '../components/containers/filter/search-container.js';
48
+ import FilterLocationContainer from '../components/containers/filter/location-container.js';
49
+ import FilterCommuteContainer from '../components/containers/filter/commute-container.js';
50
+ import FilterPointsOfInterestContainer from '../components/containers/filter/points-of-interest-container.js';
51
+ import RadioItemContainer from '../components/containers/filter/points-of-interest-radio-item-container.js';
52
+ import ItemsListContainer from '../components/containers/list/item-list-container.js';
53
+ import ListItemContainer from '../components/containers/list/list-item/list-item-container.js';
54
+ import ListingDetailsContainer from '../components/containers/jobListing/listing-details-container.js';
55
+ import AccordionFiltersContainer from '../components/containers/accordions/filter-container.js';
56
+ import AccordionFilterItemContainer from '../components/containers/accordions/filter-item-container.js';
57
+ import MapAccordionItemContainer from '../components/containers/accordions/map-accordion-item-container.js';
41
58
 
42
59
  /**
43
- * Default component registry - all available components in the library
60
+ * Default component registry - all available UI components (modules)
44
61
  */
45
62
  const defaultComponents = {
46
63
  // Map components
@@ -92,10 +109,44 @@ const defaultComponents = {
92
109
  Grid,
93
110
  Icon: IconContained,
94
111
  };
112
+ /**
113
+ * Default container registry - all available logic containers
114
+ */
115
+ const defaultContainers = {
116
+ // Map containers
117
+ MapContainer,
118
+ MapListContainer,
119
+ MapMarkerContainer,
120
+ InfoWindowContentContainer,
121
+ // Filter containers
122
+ FilterContainer,
123
+ FilterItemContainer,
124
+ FilterSearchContainer: SearchContainer,
125
+ FilterLocationContainer,
126
+ FilterCommuteContainer,
127
+ FilterPointsOfInterestContainer,
128
+ FilterPointsOfInterestRadioItemContainer: RadioItemContainer,
129
+ // List containers
130
+ ItemListContainer: ItemsListContainer,
131
+ ListItemContainer,
132
+ // Job listing containers
133
+ ListingDetailsContainer,
134
+ // Accordion containers
135
+ AccordionFilterContainer: AccordionFiltersContainer,
136
+ AccordionFilterItemContainer,
137
+ AccordionMapItemContainer: MapAccordionItemContainer,
138
+ };
139
+ /**
140
+ * Combined component registry - includes both modules and containers
141
+ */
142
+ const defaultComponentRegistry = {
143
+ ...defaultComponents,
144
+ ...defaultContainers,
145
+ };
95
146
  /**
96
147
  * Context for accessing components throughout the app
97
148
  */
98
- const ComponentContext = createContext(defaultComponents);
149
+ const ComponentContext = createContext(defaultComponentRegistry);
99
150
  /**
100
151
  * ComponentProvider - Provides component registry with optional overrides
101
152
  *
@@ -106,10 +157,11 @@ const ComponentContext = createContext(defaultComponents);
106
157
  * <HireControlMap />
107
158
  * </ComponentProvider>
108
159
  *
109
- * // With custom components
160
+ * // With custom components/containers
110
161
  * <ComponentProvider components={{
111
162
  * Filter: MyCustomFilter,
112
- * ListItem: MyCustomListItem
163
+ * ListItem: MyCustomListItem,
164
+ * MapContainer: MyCustomMapContainer
113
165
  * }}>
114
166
  * <HireControlMap />
115
167
  * </ComponentProvider>
@@ -118,7 +170,7 @@ const ComponentContext = createContext(defaultComponents);
118
170
  const ComponentProvider = ({ children, components = {} }) => {
119
171
  // Merge default components with custom overrides
120
172
  const componentRegistry = useMemo(() => ({
121
- ...defaultComponents,
173
+ ...defaultComponentRegistry,
122
174
  ...components,
123
175
  }), [components]);
124
176
  return (React.createElement(ComponentContext.Provider, { value: componentRegistry }, children));
@@ -170,5 +222,5 @@ const withComponents = (componentKeys) => {
170
222
  };
171
223
  };
172
224
 
173
- export { ComponentProvider, ComponentProvider as default, defaultComponents, useComponents, withComponents };
225
+ export { ComponentProvider, ComponentProvider as default, defaultComponentRegistry, defaultComponents, defaultContainers, useComponents, withComponents };
174
226
  //# sourceMappingURL=componentContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentContext.js","sources":["../../src/contexts/componentContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\n\n// Import all default components\nimport MapList from '~/components/modules/maps/map-list';\nimport MapTabs from '~/components/modules/maps/tabs';\nimport Map from '~/components/modules/maps/map';\nimport PlaceMarker from '~/components/modules/maps/place-marker';\nimport MapMarker from '~/components/modules/maps/map-marker';\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\n\nimport Filter from '~/components/modules/filter/index';\nimport FilterItem from '~/components/modules/filter/item';\nimport FilterSearch from '~/components/modules/filter/search';\nimport FilterLocation from '~/components/modules/filter/location';\nimport FilterCommute from '~/components/modules/filter/commute';\nimport FilterRadioItem from '~/components/modules/filter/radio-item';\nimport FilterSort from '~/components/modules/filter/sort';\n\nimport ListItem from '~/components/modules/list/list-item/list-item';\nimport ItemsList from '~/components/modules/list/item-list';\nimport ListHeader from '~/components/modules/list/header';\nimport ListHeaderItem from '~/components/modules/list/header-item';\nimport FieldMapperDesktop from '~/components/modules/list/field-mapper-desktop';\nimport FieldMapperMobile from '~/components/modules/list/field-mapper-mobile';\nimport ItemExpandCard from '~/components/modules/list/item-expand-card/index';\nimport RecruiterDetails from '~/components/modules/list/item-expand-card/recruiter-details';\nimport RecruiterHeadshot from '~/components/modules/list/item-expand-card/recruiter-headshot';\nimport RecruiterContactNav from '~/components/modules/list/item-expand-card/recruiter-contact-nav';\n\nimport ListingDetails from '~/components/modules/jobListing/listing-details';\n\nimport Accordion from '~/components/modules/accordions/default';\nimport FiltersAccordion from '~/components/modules/accordions/filters';\nimport FilterItemAccordion from '~/components/modules/accordions/filterItem';\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\n\nimport Button from '~/components/modules/buttons/default';\nimport ButtonGroupApply from '~/components/modules/buttons/button-group-apply';\nimport ItemsPill from '~/components/modules/buttons/items-pill';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\nimport ShowAllButton from '~/components/modules/buttons/show-all-button';\n\nimport Card from '~/components/modules/cards/default';\nimport CardFilter from '~/components/modules/cards/filter';\n\nimport ApplyDialog from '~/components/modules/dialogs/apply-dialog';\n\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\n\n/**\n * Default component registry - all available components in the library\n */\nexport const defaultComponents = {\n\t// Map components\n\tMapList,\n\tMapTabs,\n\tMap,\n\tPlaceMarker,\n\tMapMarker,\n\tInfoWindowCard,\n\tInfoWindowContent,\n\n\t// Filter components\n\tFilter,\n\tFilterItem,\n\tFilterSearch,\n\tFilterLocation,\n\tFilterCommute,\n\tFilterRadioItem,\n\tFilterSort,\n\n\t// List components\n\tListItem,\n\tItemsList,\n\tListHeader,\n\tListHeaderItem,\n\tFieldMapperDesktop,\n\tFieldMapperMobile,\n\tItemExpandCard,\n\tRecruiterDetails,\n\tRecruiterHeadshot,\n\tRecruiterContactNav,\n\n\t// Job listing components\n\tListingDetails,\n\n\t// Accordion components\n\tAccordion,\n\tFiltersAccordion,\n\tFilterItemAccordion,\n\tMapAccordionItem,\n\n\t// Button components\n\tButton,\n\tButtonGroupApply,\n\tItemsPill,\n\tPillWrapper,\n\tShowAllButton,\n\n\t// Card components\n\tCard,\n\tCardFilter,\n\n\t// Dialog components\n\tApplyDialog,\n\n\t// Utility components\n\tGrid,\n\tIcon,\n};\n\n/**\n * Type for component overrides\n * Users can override any component by passing a custom implementation\n */\nexport type ComponentOverrides = Partial<typeof defaultComponents>;\n\n/**\n * Component registry type - combines defaults with overrides\n */\nexport type ComponentRegistry = typeof defaultComponents;\n\ninterface ComponentProviderProps {\n\tchildren: React.ReactNode;\n\tcomponents?: ComponentOverrides;\n}\n\n/**\n * Context for accessing components throughout the app\n */\nconst ComponentContext = createContext<ComponentRegistry>(defaultComponents);\n\n/**\n * ComponentProvider - Provides component registry with optional overrides\n *\n * @example\n * ```tsx\n * // Using default components\n * <ComponentProvider>\n * <HireControlMap />\n * </ComponentProvider>\n *\n * // With custom components\n * <ComponentProvider components={{\n * Filter: MyCustomFilter,\n * ListItem: MyCustomListItem\n * }}>\n * <HireControlMap />\n * </ComponentProvider>\n * ```\n */\nexport const ComponentProvider: React.FC<ComponentProviderProps> = ({\n\tchildren,\n\tcomponents = {}\n}) => {\n\t// Merge default components with custom overrides\n\tconst componentRegistry = useMemo(() => ({\n\t\t...defaultComponents,\n\t\t...components,\n\t}), [components]);\n\n\treturn (\n\t\t<ComponentContext.Provider value={componentRegistry}>\n\t\t\t{children}\n\t\t</ComponentContext.Provider>\n\t);\n};\n\n/**\n * Hook to access component registry\n *\n * @example\n * ```tsx\n * const { Filter, ListItem } = useComponents();\n * return <Filter {...props} />;\n * ```\n */\nexport const useComponents = (): ComponentRegistry => {\n\tconst context = useContext(ComponentContext);\n\tif (!context) {\n\t\tthrow new Error('useComponents must be used within a ComponentProvider');\n\t}\n\treturn context;\n};\n\n/**\n * HOC to inject specific components as props\n * Useful for containers that need specific components\n *\n * @example\n * ```tsx\n * const MyContainer = withComponents(['Filter', 'ListItem'])(({ Filter, ListItem, ...props }) => {\n * return (\n * <div>\n * <Filter {...filterProps} />\n * <ListItem {...itemProps} />\n * </div>\n * );\n * });\n * ```\n */\nexport const withComponents = <T extends (keyof ComponentRegistry)[]>(\n\tcomponentKeys: T\n) => {\n\treturn <P extends object>(\n\t\tComponent: React.ComponentType<P & Pick<ComponentRegistry, T[number]>>\n\t) => {\n\t\tconst WrappedComponent = (props: P) => {\n\t\t\tconst components = useComponents();\n\t\t\tconst selectedComponents = componentKeys.reduce((acc, key) => {\n\t\t\t\tacc[key] = components[key];\n\t\t\t\treturn acc;\n\t\t\t}, {} as Pick<ComponentRegistry, T[number]>);\n\n\t\t\treturn <Component {...props} {...selectedComponents} />;\n\t\t};\n\n\t\tWrappedComponent.displayName = `withComponents(${Component.displayName || Component.name || 'Component'})`;\n\n\t\treturn WrappedComponent;\n\t};\n};\n\nexport default ComponentProvider;\n"],"names":["InfoWindowCard","FilterSearch","FilterRadioItem","ListHeaderItem","ItemExpandCard","FiltersAccordion","FilterItemAccordion","ItemsPill","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;AAEG;AACU,MAAA,iBAAiB,GAAG;;IAEhC,OAAO;IACP,OAAO;IACP,GAAG;IACH,WAAW;IACX,SAAS;oBACTA,cAAc;IACd,iBAAiB;;IAGjB,MAAM;IACN,UAAU;kBACVC,MAAY;IACZ,cAAc;IACd,aAAa;qBACbC,SAAe;IACf,UAAU;;IAGV,QAAQ;IACR,SAAS;IACT,UAAU;oBACVC,UAAc;IACd,kBAAkB;IAClB,iBAAiB;oBACjBC,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;;IAGnB,cAAc;;IAGd,SAAS;sBACTC,gBAAgB;yBAChBC,mBAAmB;IACnB,gBAAgB;;IAGhB,MAAM;IACN,gBAAgB;eAChBC,eAAS;IACT,WAAW;IACX,aAAa;;IAGb,IAAI;IACJ,UAAU;;IAGV,WAAW;;IAGX,IAAI;UACJC,aAAI;EACH;AAkBF;;AAEG;AACH,MAAM,gBAAgB,GAAG,aAAa,CAAoB,iBAAiB,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,iBAAiB,GAAqC,CAAC,EACnE,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,KAAI;;AAEJ,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO;AACxC,QAAA,GAAG,iBAAiB;AACpB,QAAA,GAAG,UAAU;AACb,KAAA,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAElB,IAAA,QACC,KAAA,CAAA,aAAA,CAAC,gBAAgB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,iBAAiB,EAAA,EACjD,QAAQ,CACkB,EAC3B;AACH,EAAE;AAEF;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG,MAAwB;AACpD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AACzE,KAAA;AACD,IAAA,OAAO,OAAO,CAAC;AAChB,EAAE;AAEF;;;;;;;;;;;;;;;AAeG;AACU,MAAA,cAAc,GAAG,CAC7B,aAAgB,KACb;IACH,OAAO,CACN,SAAsE,KACnE;AACH,QAAA,MAAM,gBAAgB,GAAG,CAAC,KAAQ,KAAI;AACrC,YAAA,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;gBAC5D,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,gBAAA,OAAO,GAAG,CAAC;aACX,EAAE,EAAwC,CAAC,CAAC;AAE7C,YAAA,OAAO,oBAAC,SAAS,EAAA,EAAA,GAAK,KAAK,EAAM,GAAA,kBAAkB,GAAI,CAAC;AACzD,SAAC,CAAC;AAEF,QAAA,gBAAgB,CAAC,WAAW,GAAG,CAAA,eAAA,EAAkB,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;AAE3G,QAAA,OAAO,gBAAgB,CAAC;AACzB,KAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"componentContext.js","sources":["../../src/contexts/componentContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\n\n// Import all default components\nimport MapList from '~/components/modules/maps/map-list';\nimport MapTabs from '~/components/modules/maps/tabs';\nimport Map from '~/components/modules/maps/map';\nimport PlaceMarker from '~/components/modules/maps/place-marker';\nimport MapMarker from '~/components/modules/maps/map-marker';\nimport InfoWindowCard from '~/components/modules/maps/info-window-card';\nimport InfoWindowContent from '~/components/modules/maps/info-window-content';\n\nimport Filter from '~/components/modules/filter/index';\nimport FilterItem from '~/components/modules/filter/item';\nimport FilterSearch from '~/components/modules/filter/search';\nimport FilterLocation from '~/components/modules/filter/location';\nimport FilterCommute from '~/components/modules/filter/commute';\nimport FilterRadioItem from '~/components/modules/filter/radio-item';\nimport FilterSort from '~/components/modules/filter/sort';\n\nimport ListItem from '~/components/modules/list/list-item/list-item';\nimport ItemsList from '~/components/modules/list/item-list';\nimport ListHeader from '~/components/modules/list/header';\nimport ListHeaderItem from '~/components/modules/list/header-item';\nimport FieldMapperDesktop from '~/components/modules/list/field-mapper-desktop';\nimport FieldMapperMobile from '~/components/modules/list/field-mapper-mobile';\nimport ItemExpandCard from '~/components/modules/list/item-expand-card/index';\nimport RecruiterDetails from '~/components/modules/list/item-expand-card/recruiter-details';\nimport RecruiterHeadshot from '~/components/modules/list/item-expand-card/recruiter-headshot';\nimport RecruiterContactNav from '~/components/modules/list/item-expand-card/recruiter-contact-nav';\n\nimport ListingDetails from '~/components/modules/jobListing/listing-details';\n\nimport Accordion from '~/components/modules/accordions/default';\nimport FiltersAccordion from '~/components/modules/accordions/filters';\nimport FilterItemAccordion from '~/components/modules/accordions/filterItem';\nimport MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';\n\nimport Button from '~/components/modules/buttons/default';\nimport ButtonGroupApply from '~/components/modules/buttons/button-group-apply';\nimport ItemsPill from '~/components/modules/buttons/items-pill';\nimport PillWrapper from '~/components/modules/buttons/pill-wrapper';\nimport ShowAllButton from '~/components/modules/buttons/show-all-button';\n\nimport Card from '~/components/modules/cards/default';\nimport CardFilter from '~/components/modules/cards/filter';\n\nimport ApplyDialog from '~/components/modules/dialogs/apply-dialog';\n\nimport Grid from '~/components/modules/grid';\nimport Icon from '~/components/modules/icon';\n\n// Import all default containers\nimport MapContainer from '~/components/containers/maps/map-container';\nimport MapListContainer from '~/components/containers/maps/map-list-container';\nimport MapMarkerContainer from '~/components/containers/maps/map-marker-container';\nimport InfoWindowContentContainer from '~/components/containers/maps/info-window-content-container';\n\nimport FilterContainer from '~/components/containers/filter/filter-container';\nimport FilterItemContainer from '~/components/containers/filter/filter-item-container';\nimport FilterSearchContainer from '~/components/containers/filter/search-container';\nimport FilterLocationContainer from '~/components/containers/filter/location-container';\nimport FilterCommuteContainer from '~/components/containers/filter/commute-container';\nimport FilterPointsOfInterestContainer from '~/components/containers/filter/points-of-interest-container';\nimport FilterPointsOfInterestRadioItemContainer from '~/components/containers/filter/points-of-interest-radio-item-container';\n\nimport ItemListContainer from '~/components/containers/list/item-list-container';\nimport ListItemContainer from '~/components/containers/list/list-item/list-item-container';\n\nimport ListingDetailsContainer from '~/components/containers/jobListing/listing-details-container';\n\nimport AccordionFilterContainer from '~/components/containers/accordions/filter-container';\nimport AccordionFilterItemContainer from '~/components/containers/accordions/filter-item-container';\nimport AccordionMapItemContainer from '~/components/containers/accordions/map-accordion-item-container';\n\n/**\n * Default component registry - all available UI components (modules)\n */\nexport const defaultComponents = {\n\t// Map components\n\tMapList,\n\tMapTabs,\n\tMap,\n\tPlaceMarker,\n\tMapMarker,\n\tInfoWindowCard,\n\tInfoWindowContent,\n\n\t// Filter components\n\tFilter,\n\tFilterItem,\n\tFilterSearch,\n\tFilterLocation,\n\tFilterCommute,\n\tFilterRadioItem,\n\tFilterSort,\n\n\t// List components\n\tListItem,\n\tItemsList,\n\tListHeader,\n\tListHeaderItem,\n\tFieldMapperDesktop,\n\tFieldMapperMobile,\n\tItemExpandCard,\n\tRecruiterDetails,\n\tRecruiterHeadshot,\n\tRecruiterContactNav,\n\n\t// Job listing components\n\tListingDetails,\n\n\t// Accordion components\n\tAccordion,\n\tFiltersAccordion,\n\tFilterItemAccordion,\n\tMapAccordionItem,\n\n\t// Button components\n\tButton,\n\tButtonGroupApply,\n\tItemsPill,\n\tPillWrapper,\n\tShowAllButton,\n\n\t// Card components\n\tCard,\n\tCardFilter,\n\n\t// Dialog components\n\tApplyDialog,\n\n\t// Utility components\n\tGrid,\n\tIcon,\n};\n\n/**\n * Default container registry - all available logic containers\n */\nexport const defaultContainers = {\n\t// Map containers\n\tMapContainer,\n\tMapListContainer,\n\tMapMarkerContainer,\n\tInfoWindowContentContainer,\n\n\t// Filter containers\n\tFilterContainer,\n\tFilterItemContainer,\n\tFilterSearchContainer,\n\tFilterLocationContainer,\n\tFilterCommuteContainer,\n\tFilterPointsOfInterestContainer,\n\tFilterPointsOfInterestRadioItemContainer,\n\n\t// List containers\n\tItemListContainer,\n\tListItemContainer,\n\n\t// Job listing containers\n\tListingDetailsContainer,\n\n\t// Accordion containers\n\tAccordionFilterContainer,\n\tAccordionFilterItemContainer,\n\tAccordionMapItemContainer,\n};\n\n/**\n * Combined component registry - includes both modules and containers\n */\nexport const defaultComponentRegistry = {\n\t...defaultComponents,\n\t...defaultContainers,\n};\n\n/**\n * Type for component overrides\n * Users can override any component or container by passing a custom implementation\n */\nexport type ComponentOverrides = Partial<typeof defaultComponentRegistry>;\n\n/**\n * Component registry type - combines defaults with overrides\n */\nexport type ComponentRegistry = typeof defaultComponentRegistry;\n\ninterface ComponentProviderProps {\n\tchildren: React.ReactNode;\n\tcomponents?: ComponentOverrides;\n}\n\n/**\n * Context for accessing components throughout the app\n */\nconst ComponentContext = createContext<ComponentRegistry>(defaultComponentRegistry);\n\n/**\n * ComponentProvider - Provides component registry with optional overrides\n *\n * @example\n * ```tsx\n * // Using default components\n * <ComponentProvider>\n * <HireControlMap />\n * </ComponentProvider>\n *\n * // With custom components/containers\n * <ComponentProvider components={{\n * Filter: MyCustomFilter,\n * ListItem: MyCustomListItem,\n * MapContainer: MyCustomMapContainer\n * }}>\n * <HireControlMap />\n * </ComponentProvider>\n * ```\n */\nexport const ComponentProvider: React.FC<ComponentProviderProps> = ({\n\tchildren,\n\tcomponents = {}\n}) => {\n\t// Merge default components with custom overrides\n\tconst componentRegistry = useMemo(() => ({\n\t\t...defaultComponentRegistry,\n\t\t...components,\n\t}), [components]);\n\n\treturn (\n\t\t<ComponentContext.Provider value={componentRegistry}>\n\t\t\t{children}\n\t\t</ComponentContext.Provider>\n\t);\n};\n\n/**\n * Hook to access component registry\n *\n * @example\n * ```tsx\n * const { Filter, ListItem } = useComponents();\n * return <Filter {...props} />;\n * ```\n */\nexport const useComponents = (): ComponentRegistry => {\n\tconst context = useContext(ComponentContext);\n\tif (!context) {\n\t\tthrow new Error('useComponents must be used within a ComponentProvider');\n\t}\n\treturn context;\n};\n\n/**\n * HOC to inject specific components as props\n * Useful for containers that need specific components\n *\n * @example\n * ```tsx\n * const MyContainer = withComponents(['Filter', 'ListItem'])(({ Filter, ListItem, ...props }) => {\n * return (\n * <div>\n * <Filter {...filterProps} />\n * <ListItem {...itemProps} />\n * </div>\n * );\n * });\n * ```\n */\nexport const withComponents = <T extends (keyof ComponentRegistry)[]>(\n\tcomponentKeys: T\n) => {\n\treturn <P extends object>(\n\t\tComponent: React.ComponentType<P & Pick<ComponentRegistry, T[number]>>\n\t) => {\n\t\tconst WrappedComponent = (props: P) => {\n\t\t\tconst components = useComponents();\n\t\t\tconst selectedComponents = componentKeys.reduce((acc, key) => {\n\t\t\t\tacc[key] = components[key];\n\t\t\t\treturn acc;\n\t\t\t}, {} as Pick<ComponentRegistry, T[number]>);\n\n\t\t\treturn <Component {...props} {...selectedComponents} />;\n\t\t};\n\n\t\tWrappedComponent.displayName = `withComponents(${Component.displayName || Component.name || 'Component'})`;\n\n\t\treturn WrappedComponent;\n\t};\n};\n\nexport default ComponentProvider;\n"],"names":["InfoWindowCard","FilterSearch","FilterRadioItem","ListHeaderItem","ItemExpandCard","FiltersAccordion","FilterItemAccordion","ItemsPill","Icon","FilterSearchContainer","FilterPointsOfInterestRadioItemContainer","ItemListContainer","AccordionFilterContainer","AccordionMapItemContainer"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext, useState, useRef, useEffect } from 'react';
1
+ import React__default, { createContext, useContext, useState, useRef, useEffect } from 'react';
2
2
  import { getStorageObject, setStorageObject } from '../util/localStorageUtil.js';
3
3
 
4
4
  const MapContext = createContext(undefined);
@@ -9,59 +9,32 @@ const useMap = () => {
9
9
  }
10
10
  return context;
11
11
  };
12
- const MapProvider = ({ children, resetFilters, defaultZoomOverride, localStorageKey = '' }) => {
13
- // Initialize with defaults to avoid hydration mismatch - load from localStorage after mount
14
- const [selectedListItem, setSelectedListItem] = useState(null);
15
- const [location, setLocation] = useState(null);
16
- const [center, setCenter] = useState({ lat: 39.8283, lng: -98.5795 });
17
- const [zoom, setZoom] = useState(9);
12
+ const MapProvider = ({ children, resetFilters, defaultZoomOverride }) => {
13
+ const [selectedListItem, setSelectedListItem] = useState(getStorageObject('selectedListItem'));
14
+ const [location, setLocation] = useState(getStorageObject('location'));
15
+ const [center, setCenter] = useState(getStorageObject("center", { lat: 39.8283, lng: -98.5795 }) || { lat: 39.8283, lng: -98.5795 });
16
+ const [zoom, setZoom] = useState(getStorageObject("zoom", 9) || 9);
18
17
  const [selectedPlaces, setSelectedPlaces] = useState([]);
19
18
  const [mapInteracted, setMapInteracted] = useState(false);
20
- const [firstLoadListItem, setFirstLoadListItem] = useState({ id: "defaultId" });
19
+ const [firstLoadListItem] = useState(getStorageObject('selectedListItem', { id: "defaultId" }));
21
20
  const userSetZoom = useRef(true);
22
- const [hasMounted, setHasMounted] = useState(false);
23
- // Load from localStorage after mount to avoid hydration mismatch
24
21
  useEffect(() => {
25
- if (typeof window !== 'undefined') {
26
- const storedItem = getStorageObject(localStorageKey + 'selectedListItem');
27
- const storedLocation = getStorageObject(localStorageKey + 'location');
28
- const storedCenter = getStorageObject(localStorageKey + "center", { lat: 39.8283, lng: -98.5795 });
29
- const storedZoom = getStorageObject(localStorageKey + "zoom", 9);
30
- const storedFirstLoad = getStorageObject(localStorageKey + 'selectedListItem', { id: "defaultId" });
31
- if (storedItem)
32
- setSelectedListItem(storedItem);
33
- if (storedLocation)
34
- setLocation(storedLocation);
35
- if (storedCenter)
36
- setCenter(storedCenter);
37
- if (storedZoom)
38
- setZoom(storedZoom);
39
- if (storedFirstLoad)
40
- setFirstLoadListItem(storedFirstLoad);
41
- setHasMounted(true);
42
- }
43
- }, [localStorageKey]);
22
+ setStorageObject("selectedListItem", selectedListItem);
23
+ }, [selectedListItem]);
44
24
  useEffect(() => {
45
- setStorageObject(localStorageKey + "selectedListItem", selectedListItem);
46
- }, [selectedListItem, localStorageKey]);
25
+ localStorage.setItem("zoom", zoom.toString());
26
+ }, [zoom]);
47
27
  useEffect(() => {
48
- if (typeof window !== 'undefined') {
49
- localStorage.setItem(localStorageKey + "zoom", zoom.toString());
28
+ if (location == null) {
29
+ localStorage.removeItem("location");
50
30
  }
51
- }, [zoom, localStorageKey]);
52
- useEffect(() => {
53
- if (typeof window !== 'undefined') {
54
- if (location == null) {
55
- localStorage.removeItem(localStorageKey + "location");
56
- }
57
- else {
58
- setStorageObject(localStorageKey + "location", location);
59
- }
31
+ else {
32
+ setStorageObject("location", location);
60
33
  }
61
- }, [location, localStorageKey]);
34
+ }, [location]);
62
35
  useEffect(() => {
63
- setStorageObject(localStorageKey + "center", center);
64
- }, [center, localStorageKey]);
36
+ setStorageObject("center", center);
37
+ }, [center]);
65
38
  const selectItem = (item, itemLocation, zoom, center) => {
66
39
  setSelectedListItem(item);
67
40
  if (mapInteracted === false && itemLocation != null) {
@@ -88,13 +61,11 @@ const MapProvider = ({ children, resetFilters, defaultZoomOverride, localStorage
88
61
  }
89
62
  }, [resetFilters]);
90
63
  const selectLocationEntity = (location) => {
91
- if (typeof window !== 'undefined') {
92
- localStorage.removeItem(localStorageKey + "selectedListItem");
93
- }
64
+ localStorage.removeItem("selectedListItem");
94
65
  setTimeout(() => setLocation(location), 200);
95
66
  setSelectedListItem(null);
96
67
  };
97
- return (React.createElement(MapContext.Provider, { value: {
68
+ return (React__default.createElement(MapContext.Provider, { value: {
98
69
  selectedListItem,
99
70
  setSelectedListItem,
100
71
  location,
@@ -1 +1 @@
1
- {"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef, ReactNode } from 'react';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\nimport { Listing } from '~/types/Listings';\nimport { LatLng } from '~/types/LatLng';\ninterface IMapContext {\n selectedListItem: Listing | null;\n setSelectedListItem: (item: Listing | null) => void;\n location: any | null;\n setLocation: (location: LatLng | null) => void;\n center: LatLng;\n setCenter: (center: LatLng) => void;\n zoom: number;\n setZoom: (zoom: number) => void;\n selectedPlaces: string[];\n setSelectedPlaces: (places: string[]) => void;\n mapInteracted: boolean;\n setMapInteracted: (interacted: boolean) => void;\n userSetZoom: React.MutableRefObject<boolean>;\n firstLoadListItem: any;\n selectItem: (item: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => void;\n filterReset: () => void;\n selectLocationEntity: (location: LatLng) => void;\n\tdefaultZoomOverride?: number | null;\n}\n\nconst MapContext = createContext<IMapContext | undefined>(undefined);\n\nexport const useMap = () => {\n\tconst context = useContext(MapContext);\n\tif (!context) {\n\t\tthrow new Error(\"useMap must be used within a MapProvider\");\n\t}\n\treturn context;\n};\n\ninterface MapProviderProps {\n children: ReactNode;\n resetFilters: boolean;\n\tdefaultZoomOverride?: number | null;\n\tlocalStorageKey?: string;\n}\n\nexport const MapProvider: React.FC<MapProviderProps> = ({ children, resetFilters, defaultZoomOverride, localStorageKey = '' }) => {\n\t// Initialize with defaults to avoid hydration mismatch - load from localStorage after mount\n\tconst [selectedListItem, setSelectedListItem] = useState<Listing | null>(null);\n\tconst [location, setLocation] = useState<any>(null);\n\tconst [center, setCenter] = useState<LatLng>({ lat: 39.8283, lng: -98.5795 });\n\tconst [zoom, setZoom] = useState<number>(9);\n\tconst [selectedPlaces, setSelectedPlaces] = useState<string[]>([]);\n\tconst [mapInteracted, setMapInteracted] = useState<boolean>(false);\n\tconst [firstLoadListItem, setFirstLoadListItem] = useState<any>({ id: \"defaultId\" });\n\tconst userSetZoom = useRef<boolean>(true);\n\tconst [hasMounted, setHasMounted] = useState(false);\n\n\t// Load from localStorage after mount to avoid hydration mismatch\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tconst storedItem = getStorageObject(localStorageKey + 'selectedListItem');\n\t\t\tconst storedLocation = getStorageObject(localStorageKey + 'location');\n\t\t\tconst storedCenter = getStorageObject(localStorageKey + \"center\", { lat: 39.8283, lng: -98.5795 });\n\t\t\tconst storedZoom = getStorageObject(localStorageKey + \"zoom\", 9);\n\t\t\tconst storedFirstLoad = getStorageObject(localStorageKey + 'selectedListItem', { id: \"defaultId\" });\n\t\t\t\n\t\t\tif (storedItem) setSelectedListItem(storedItem);\n\t\t\tif (storedLocation) setLocation(storedLocation);\n\t\t\tif (storedCenter) setCenter(storedCenter);\n\t\t\tif (storedZoom) setZoom(storedZoom);\n\t\t\tif (storedFirstLoad) setFirstLoadListItem(storedFirstLoad);\n\t\t\tsetHasMounted(true);\n\t\t}\n\t}, [localStorageKey]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(localStorageKey + \"selectedListItem\", selectedListItem);\n\t}, [selectedListItem, localStorageKey]);\n\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tlocalStorage.setItem(localStorageKey + \"zoom\", zoom.toString());\n\t\t}\n\t}, [zoom, localStorageKey]);\n\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tif (location == null) {\n\t\t\t\tlocalStorage.removeItem(localStorageKey + \"location\");\n\t\t\t} else {\n\t\t\t\tsetStorageObject(localStorageKey + \"location\", location);\n\t\t\t}\n\t\t}\n\t}, [location, localStorageKey]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(localStorageKey + \"center\", center);\n\t}, [center, localStorageKey]);\n\n\tconst selectItem = (item: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => {\n\t\tsetSelectedListItem(item);\n\t\tif (mapInteracted === false && itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t}\n\t\tif (mapInteracted === false || itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t\tsetCenter(center);\n\t\t}\n\t\tif (mapInteracted === false) {\n\t\t\tsetZoom(zoom);\n\t\t}\n\t};\n\n\tconst filterReset = () => {\n\t\tsetSelectedPlaces([]);\n\t\tsetSelectedListItem(null);\n\t\tsetLocation(null);\n\t\tsetZoom(8);\n\t\tsetMapInteracted(false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (resetFilters === true) {\n\t\t\tfilterReset();\n\t\t}\n\t}, [resetFilters]);\n\n\tconst selectLocationEntity = (location: LatLng) => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tlocalStorage.removeItem(localStorageKey + \"selectedListItem\");\n\t\t}\n\t\tsetTimeout(() => setLocation(location), 200);\n\t\tsetSelectedListItem(null);\n\t};\n\n\treturn (\n\t\t<MapContext.Provider\n\t\t\tvalue={{\n\t\t\t\tselectedListItem,\n\t\t\t\tsetSelectedListItem,\n\t\t\t\tlocation,\n\t\t\t\tcenter,\n\t\t\t\tsetCenter,\n\t\t\t\tzoom,\n\t\t\t\tsetZoom,\n\t\t\t\tselectItem,\n\t\t\t\tsetSelectedPlaces,\n\t\t\t\tselectedPlaces,\n\t\t\t\tselectLocationEntity,\n\t\t\t\tsetLocation,\n\t\t\t\tsetMapInteracted,\n\t\t\t\tmapInteracted,\n\t\t\t\tuserSetZoom,\n\t\t\t\tfirstLoadListItem,\n\t\t\t\tfilterReset,\n\t\t\t\tdefaultZoomOverride\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MapContext.Provider>\n\t);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapContext.js","sources":["../../src/contexts/mapContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, useEffect, useRef, ReactNode } from 'react';\nimport { getStorageObject, setStorageObject } from '~/util/localStorageUtil';\nimport { Listing } from '~/types/Listings';\nimport { LatLng } from '~/types/LatLng';\ninterface IMapContext {\n selectedListItem: Listing | null;\n setSelectedListItem: (item: Listing | null) => void;\n location: any | null;\n setLocation: (location: LatLng | null) => void;\n center: LatLng;\n setCenter: (center: LatLng) => void;\n zoom: number;\n setZoom: (zoom: number) => void;\n selectedPlaces: string[];\n setSelectedPlaces: (places: string[]) => void;\n mapInteracted: boolean;\n setMapInteracted: (interacted: boolean) => void;\n userSetZoom: React.MutableRefObject<boolean>;\n firstLoadListItem: any;\n selectItem: (item: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => void;\n filterReset: () => void;\n selectLocationEntity: (location: LatLng) => void;\n\tdefaultZoomOverride?: number | null;\n}\n\nconst MapContext = createContext<IMapContext | undefined>(undefined);\n\nexport const useMap = () => {\n\tconst context = useContext(MapContext);\n\tif (!context) {\n\t\tthrow new Error(\"useMap must be used within a MapProvider\");\n\t}\n\treturn context;\n};\n\ninterface MapProviderProps {\n children: ReactNode;\n resetFilters: boolean;\n\tdefaultZoomOverride?: number | null;\n}\n\nexport const MapProvider: React.FC<MapProviderProps> = ({ children, resetFilters, defaultZoomOverride }) => {\n\tconst [selectedListItem, setSelectedListItem] = useState<Listing | null>(getStorageObject('selectedListItem'));\n\tconst [location, setLocation] = useState<any>(getStorageObject('location'));\n\tconst [center, setCenter] = useState<LatLng>(getStorageObject(\"center\", { lat: 39.8283, lng: -98.5795 }) || { lat: 39.8283, lng: -98.5795 });\n\tconst [zoom, setZoom] = useState<number>(getStorageObject(\"zoom\", 9) || 9);\n\tconst [selectedPlaces, setSelectedPlaces] = useState<string[]>([]);\n\tconst [mapInteracted, setMapInteracted] = useState<boolean>(false);\n\tconst [firstLoadListItem] = useState<any>(getStorageObject('selectedListItem', { id: \"defaultId\" }));\n\tconst userSetZoom = useRef<boolean>(true);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"selectedListItem\", selectedListItem);\n\t}, [selectedListItem]);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"zoom\", zoom.toString());\n\t}, [zoom]);\n\n\tuseEffect(() => {\n\t\tif (location == null) {\n\t\t\tlocalStorage.removeItem(\"location\");\n\t\t} else {\n\t\t\tsetStorageObject(\"location\", location);\n\t\t}\n\t}, [location]);\n\n\tuseEffect(() => {\n\t\tsetStorageObject(\"center\", center);\n\t}, [center]);\n\n\tconst selectItem = (item: Listing, itemLocation: LatLng | null, zoom: number, center: LatLng) => {\n\t\tsetSelectedListItem(item);\n\t\tif (mapInteracted === false && itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t}\n\t\tif (mapInteracted === false || itemLocation != null) {\n\t\t\tsetLocation(itemLocation);\n\t\t\tsetCenter(center);\n\t\t}\n\t\tif (mapInteracted === false) {\n\t\t\tsetZoom(zoom);\n\t\t}\n\t};\n\n\tconst filterReset = () => {\n\t\tsetSelectedPlaces([]);\n\t\tsetSelectedListItem(null);\n\t\tsetLocation(null);\n\t\tsetZoom(8);\n\t\tsetMapInteracted(false);\n\t};\n\n\tuseEffect(() => {\n\t\tif (resetFilters === true) {\n\t\t\tfilterReset();\n\t\t}\n\t}, [resetFilters]);\n\n\tconst selectLocationEntity = (location: LatLng) => {\n\t\tlocalStorage.removeItem(\"selectedListItem\");\n\t\tsetTimeout(() => setLocation(location), 200);\n\t\tsetSelectedListItem(null);\n\t};\n\n\treturn (\n\t\t<MapContext.Provider\n\t\t\tvalue={{\n\t\t\t\tselectedListItem,\n\t\t\t\tsetSelectedListItem,\n\t\t\t\tlocation,\n\t\t\t\tcenter,\n\t\t\t\tsetCenter,\n\t\t\t\tzoom,\n\t\t\t\tsetZoom,\n\t\t\t\tselectItem,\n\t\t\t\tsetSelectedPlaces,\n\t\t\t\tselectedPlaces,\n\t\t\t\tselectLocationEntity,\n\t\t\t\tsetLocation,\n\t\t\t\tsetMapInteracted,\n\t\t\t\tmapInteracted,\n\t\t\t\tuserSetZoom,\n\t\t\t\tfirstLoadListItem,\n\t\t\t\tfilterReset,\n\t\t\t\tdefaultZoomOverride\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MapContext.Provider>\n\t);\n};\n"],"names":["React"],"mappings":"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"}