@abcagency/hc-ui-components 1.3.61 → 1.3.63

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 (279) hide show
  1. package/dist/apis/hcApi.js +85 -85
  2. package/dist/apis/hcApi.js.map +1 -1
  3. package/dist/clientToken.js.map +1 -1
  4. package/dist/components/HireControlMap.js +14 -4
  5. package/dist/components/HireControlMap.js.map +1 -1
  6. package/dist/components/containers/accordions/filter-container.js +10 -3
  7. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  8. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  9. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  10. package/dist/components/containers/filter/commute-container.js +1 -1
  11. package/dist/components/containers/filter/commute-container.js.map +1 -1
  12. package/dist/components/containers/filter/filter-container.js.map +1 -1
  13. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  14. package/dist/components/containers/filter/location-container.js.map +1 -1
  15. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  16. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  17. package/dist/components/containers/filter/search-container.js.map +1 -1
  18. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  19. package/dist/components/containers/list/item-list-container.js +21 -21
  20. package/dist/components/containers/list/item-list-container.js.map +1 -1
  21. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  22. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  23. package/dist/components/containers/maps/map-container.js +1 -1
  24. package/dist/components/containers/maps/map-container.js.map +1 -1
  25. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  26. package/dist/components/containers/maps/map-marker-container.js +1 -1
  27. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  28. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  29. package/dist/components/modules/accordions/default.js +2 -2
  30. package/dist/components/modules/accordions/default.js.map +1 -1
  31. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  32. package/dist/components/modules/accordions/filters.js.map +1 -1
  33. package/dist/components/modules/buttons/button-group-apply.js +1 -1
  34. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  35. package/dist/components/modules/buttons/commute-pill.js.map +1 -1
  36. package/dist/components/modules/buttons/default.js +2 -2
  37. package/dist/components/modules/buttons/default.js.map +1 -1
  38. package/dist/components/modules/buttons/items-pill.js +5 -8
  39. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  40. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  41. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  42. package/dist/components/modules/cards/default.js +2 -2
  43. package/dist/components/modules/cards/default.js.map +1 -1
  44. package/dist/components/modules/cards/filter.js.map +1 -1
  45. package/dist/components/modules/dialogs/apply-dialog.js +1 -1
  46. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  47. package/dist/components/modules/filter/commute.js +2 -2
  48. package/dist/components/modules/filter/commute.js.map +1 -1
  49. package/dist/components/modules/filter/index.js +1 -1
  50. package/dist/components/modules/filter/index.js.map +1 -1
  51. package/dist/components/modules/filter/item.js.map +1 -1
  52. package/dist/components/modules/filter/location.js.map +1 -1
  53. package/dist/components/modules/filter/radio-item.js.map +1 -1
  54. package/dist/components/modules/filter/search.js.map +1 -1
  55. package/dist/components/modules/filter/sort.js +2 -2
  56. package/dist/components/modules/filter/sort.js.map +1 -1
  57. package/dist/components/modules/grid.js +1 -1
  58. package/dist/components/modules/grid.js.map +1 -1
  59. package/dist/components/modules/icon.js +1 -1
  60. package/dist/components/modules/icon.js.map +1 -1
  61. package/dist/components/modules/jobListing/listing-details.js +1 -1
  62. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  63. package/dist/components/modules/list/field-mapper.js.map +1 -1
  64. package/dist/components/modules/list/header-item.js.map +1 -1
  65. package/dist/components/modules/list/header.js +1 -1
  66. package/dist/components/modules/list/header.js.map +1 -1
  67. package/dist/components/modules/list/item-expand-card/index.js +1 -1
  68. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  69. package/dist/components/modules/list/item-expand-card/recruiter-contact-nav.js +38 -38
  70. package/dist/components/modules/list/item-expand-card/recruiter-details.js +40 -40
  71. package/dist/components/modules/list/item-expand-card/recruiter-headshot.js +20 -20
  72. package/dist/components/modules/list/item-list.js +43 -43
  73. package/dist/components/modules/list/item-list.js.map +1 -1
  74. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  75. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  76. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  77. package/dist/components/modules/maps/map-list.js.map +1 -1
  78. package/dist/components/modules/maps/map-marker.js +1 -1
  79. package/dist/components/modules/maps/map-marker.js.map +1 -1
  80. package/dist/components/modules/maps/map.js +1 -1
  81. package/dist/components/modules/maps/map.js.map +1 -1
  82. package/dist/components/modules/maps/place-marker.js +1 -1
  83. package/dist/components/modules/maps/place-marker.js.map +1 -1
  84. package/dist/components/modules/maps/tabs.js +1 -1
  85. package/dist/components/modules/maps/tabs.js.map +1 -1
  86. package/dist/constants/eventTypes.js.map +1 -1
  87. package/dist/constants/placeTypes.js.map +1 -1
  88. package/dist/contexts/mapContext.js +83 -83
  89. package/dist/contexts/mapContext.js.map +1 -1
  90. package/dist/contexts/mapListContext.js +211 -192
  91. package/dist/contexts/mapListContext.js.map +1 -1
  92. package/dist/contexts/placesContext.js.map +1 -1
  93. package/dist/contexts/themeContext.js.map +1 -1
  94. package/dist/contexts/trackEventContext.js.map +1 -1
  95. package/dist/hooks/useList.js.map +1 -1
  96. package/dist/services/configService.js +9 -9
  97. package/dist/services/configService.js.map +1 -1
  98. package/dist/services/googlePlacesNearbyService.js +32 -32
  99. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  100. package/dist/services/listingAggregatorService.js +34 -34
  101. package/dist/services/listingAggregatorService.js.map +1 -1
  102. package/dist/services/listingEntityService.js +9 -9
  103. package/dist/services/listingEntityService.js.map +1 -1
  104. package/dist/services/listingService.js +24 -24
  105. package/dist/services/listingService.js.map +1 -1
  106. package/dist/services/recruiterService.js +10 -10
  107. package/dist/services/recruiterService.js.map +1 -1
  108. package/dist/styles/index.css +1 -1
  109. package/dist/types/apis/hcApi.d.ts +5 -5
  110. package/dist/types/clientToken.d.ts +2 -2
  111. package/dist/types/components/containers/accordions/map-accordion-item-container.d.ts +12 -12
  112. package/dist/types/components/containers/jobListing/listing-details-container.d.ts +6 -6
  113. package/dist/types/components/containers/list/item-list-container.d.ts +9 -9
  114. package/dist/types/components/containers/list/list-item/list-item-container.d.ts +14 -14
  115. package/dist/types/components/modules/accordions/MapAccordionItem.d.ts +10 -10
  116. package/dist/types/components/modules/accordions/default.d.ts +19 -19
  117. package/dist/types/components/modules/buttons/button-group-apply.d.ts +24 -24
  118. package/dist/types/components/modules/buttons/commute-pill.d.ts +5 -5
  119. package/dist/types/components/modules/buttons/default.d.ts +48 -48
  120. package/dist/types/components/modules/buttons/pill-wrapper.d.ts +3 -3
  121. package/dist/types/components/modules/dialogs/apply-dialog.d.ts +8 -8
  122. package/dist/types/components/modules/filter/sort.d.ts +8 -8
  123. package/dist/types/components/modules/grid.d.ts +8 -8
  124. package/dist/types/components/modules/icon.d.ts +10 -10
  125. package/dist/types/components/modules/jobListing/listing-details.d.ts +20 -20
  126. package/dist/types/components/modules/list/field-mapper.d.ts +10 -10
  127. package/dist/types/components/modules/list/header-item.d.ts +11 -11
  128. package/dist/types/components/modules/list/header.d.ts +12 -12
  129. package/dist/types/components/modules/list/item-expand-card/index.d.ts +7 -7
  130. package/dist/types/components/modules/list/item-expand-card/recruiter-contact-nav.d.ts +17 -17
  131. package/dist/types/components/modules/list/item-expand-card/recruiter-details.d.ts +21 -21
  132. package/dist/types/components/modules/list/item-expand-card/recruiter-headshot.d.ts +8 -8
  133. package/dist/types/components/modules/list/item-list.d.ts +20 -20
  134. package/dist/types/components/modules/list/list-item/list-item.d.ts +3 -3
  135. package/dist/types/constants/eventTypes.d.ts +15 -15
  136. package/dist/types/contexts/mapContext.d.ts +29 -29
  137. package/dist/types/contexts/mapListContext.d.ts +69 -65
  138. package/dist/types/contexts/trackEventContext.d.ts +6 -6
  139. package/dist/types/enums/SectionType.d.ts +9 -9
  140. package/dist/types/hooks/useList.d.ts +13 -13
  141. package/dist/types/services/configService.d.ts +6 -6
  142. package/dist/types/services/googlePlacesNearbyService.d.ts +5 -5
  143. package/dist/types/services/listingAggregatorService.d.ts +12 -12
  144. package/dist/types/services/listingEntityService.d.ts +6 -6
  145. package/dist/types/services/listingService.d.ts +9 -9
  146. package/dist/types/services/recruiterService.d.ts +6 -6
  147. package/dist/types/types/Address.d.ts +7 -7
  148. package/dist/types/types/ContentSection.d.ts +8 -8
  149. package/dist/types/types/GetListingParams.d.ts +8 -8
  150. package/dist/types/types/LatLng.d.ts +4 -4
  151. package/dist/types/types/ListingEntity.d.ts +10 -10
  152. package/dist/types/types/ListingFields.d.ts +25 -25
  153. package/dist/types/types/Listings.d.ts +31 -31
  154. package/dist/types/types/Recruiter.d.ts +9 -9
  155. package/dist/types/types/SimilarListing.d.ts +24 -24
  156. package/dist/types/types/config/Colors.d.ts +8 -8
  157. package/dist/types/types/config/MapConfig.d.ts +30 -30
  158. package/dist/types/types/config/PointsOfInterestConfig.d.ts +13 -13
  159. package/dist/types/types/config/SearchConfig.d.ts +4 -4
  160. package/dist/types/util/filterUtil.d.ts +28 -28
  161. package/dist/types/util/loading.d.ts +3 -3
  162. package/dist/types/util/localStorageUtil.d.ts +3 -3
  163. package/dist/types/util/mapUtil.d.ts +16 -16
  164. package/dist/types/util/sortUtil.d.ts +1 -1
  165. package/dist/types/util/stringUtils.d.ts +1 -1
  166. package/dist/types/util/urlFilterUtil.d.ts +8 -8
  167. package/dist/util/filterUtil.js +1 -1
  168. package/dist/util/filterUtil.js.map +1 -1
  169. package/dist/util/loading.js.map +1 -1
  170. package/dist/util/localStorageUtil.js +37 -37
  171. package/dist/util/localStorageUtil.js.map +1 -1
  172. package/dist/util/mapIconUtil.js.map +1 -1
  173. package/dist/util/mapUtil.js.map +1 -1
  174. package/dist/util/sortUtil.js.map +1 -1
  175. package/dist/util/stringUtils.js.map +1 -1
  176. package/dist/util/urlFilterUtil.js.map +1 -1
  177. package/package.json +90 -90
  178. package/src/.editorconfig +12 -12
  179. package/src/apis/hcApi.ts +109 -109
  180. package/src/bundleIndex.js +14 -14
  181. package/src/clientToken.js +9 -9
  182. package/src/components/HireControlMap.js +153 -148
  183. package/src/components/containers/accordions/filter-container.js +52 -48
  184. package/src/components/containers/accordions/filter-item-container.js +83 -83
  185. package/src/components/containers/accordions/map-accordion-item-container.js +70 -70
  186. package/src/components/containers/filter/commute-container.js +89 -89
  187. package/src/components/containers/filter/filter-container.js +76 -76
  188. package/src/components/containers/filter/filter-item-container.js +117 -117
  189. package/src/components/containers/filter/location-container.js +45 -45
  190. package/src/components/containers/filter/points-of-interest-container.js +33 -33
  191. package/src/components/containers/filter/points-of-interest-radio-item-container.js +35 -35
  192. package/src/components/containers/filter/search-container.js +61 -61
  193. package/src/components/containers/jobListing/listing-details-container.js +42 -42
  194. package/src/components/containers/list/item-list-container.tsx +81 -81
  195. package/src/components/containers/list/list-item/list-item-container.js +43 -43
  196. package/src/components/containers/maps/info-window-content-container.js +53 -53
  197. package/src/components/containers/maps/map-container.js +249 -249
  198. package/src/components/containers/maps/map-list-container.js +50 -50
  199. package/src/components/containers/maps/map-marker-container.js +78 -78
  200. package/src/components/modules/accordions/MapAccordionItem.js +30 -30
  201. package/src/components/modules/accordions/default.js +171 -171
  202. package/src/components/modules/accordions/filterItem.js +27 -27
  203. package/src/components/modules/accordions/filters.js +32 -32
  204. package/src/components/modules/buttons/button-group-apply.js +115 -115
  205. package/src/components/modules/buttons/commute-pill.js +22 -22
  206. package/src/components/modules/buttons/default.js +194 -194
  207. package/src/components/modules/buttons/items-pill.js +31 -35
  208. package/src/components/modules/buttons/pill-wrapper.js +27 -27
  209. package/src/components/modules/buttons/show-all-button.js +19 -19
  210. package/src/components/modules/cards/default.js +167 -167
  211. package/src/components/modules/cards/filter.js +56 -56
  212. package/src/components/modules/dialogs/apply-dialog.js +48 -48
  213. package/src/components/modules/filter/commute.js +108 -108
  214. package/src/components/modules/filter/index.js +55 -55
  215. package/src/components/modules/filter/item.js +69 -69
  216. package/src/components/modules/filter/location.js +51 -51
  217. package/src/components/modules/filter/radio-item.js +42 -42
  218. package/src/components/modules/filter/search.js +79 -79
  219. package/src/components/modules/filter/sort.js +83 -83
  220. package/src/components/modules/grid.js +54 -54
  221. package/src/components/modules/icon.js +33 -33
  222. package/src/components/modules/jobListing/listing-details.js +110 -110
  223. package/src/components/modules/list/field-mapper.js +130 -130
  224. package/src/components/modules/list/header-item.js +92 -92
  225. package/src/components/modules/list/header.js +51 -51
  226. package/src/components/modules/list/item-expand-card/index.js +22 -22
  227. package/src/components/modules/list/item-expand-card/recruiter-contact-nav.js +50 -50
  228. package/src/components/modules/list/item-expand-card/recruiter-details.js +68 -68
  229. package/src/components/modules/list/item-expand-card/recruiter-headshot.js +22 -22
  230. package/src/components/modules/list/item-list.tsx +117 -117
  231. package/src/components/modules/list/list-item/list-item.js +130 -130
  232. package/src/components/modules/maps/info-window-card.js +17 -17
  233. package/src/components/modules/maps/info-window-content.js +64 -64
  234. package/src/components/modules/maps/map-list.js +38 -38
  235. package/src/components/modules/maps/map-marker.js +29 -29
  236. package/src/components/modules/maps/map.js +64 -64
  237. package/src/components/modules/maps/place-marker.js +41 -41
  238. package/src/components/modules/maps/tabs.js +81 -81
  239. package/src/constants/eventTypes.js +15 -15
  240. package/src/constants/placeTypes.js +8 -8
  241. package/src/contexts/mapContext.tsx +129 -129
  242. package/src/contexts/mapListContext.tsx +351 -326
  243. package/src/contexts/placesContext.js +102 -102
  244. package/src/contexts/themeContext.js +40 -40
  245. package/src/contexts/trackEventContext.js +14 -14
  246. package/src/enums/SectionType.ts +9 -9
  247. package/src/hooks/useList.js +89 -89
  248. package/src/index.js +3 -3
  249. package/src/services/configService.ts +16 -16
  250. package/src/services/googlePlacesNearbyService.ts +42 -42
  251. package/src/services/listingAggregatorService.ts +76 -76
  252. package/src/services/listingEntityService.ts +16 -16
  253. package/src/services/listingService.ts +40 -40
  254. package/src/services/recruiterService.ts +18 -18
  255. package/src/styles/bundle.css +268 -268
  256. package/src/styles/index.css +33 -33
  257. package/src/types/Address.ts +7 -7
  258. package/src/types/ContentSection.ts +9 -9
  259. package/src/types/GetListingParams.ts +8 -8
  260. package/src/types/LatLng.ts +4 -4
  261. package/src/types/ListingEntity.ts +11 -11
  262. package/src/types/ListingFields.ts +25 -25
  263. package/src/types/Listings.ts +32 -32
  264. package/src/types/Recruiter.ts +9 -9
  265. package/src/types/SimilarListing.ts +24 -24
  266. package/src/types/config/Colors.ts +8 -8
  267. package/src/types/config/MapConfig.ts +31 -31
  268. package/src/types/config/PointsOfInterestConfig.ts +13 -13
  269. package/src/types/config/SearchConfig.ts +4 -4
  270. package/src/util/arrayUtil.js +3 -3
  271. package/src/util/fieldMapper.js +22 -22
  272. package/src/util/filterUtil.js +311 -311
  273. package/src/util/loading.js +17 -17
  274. package/src/util/localStorageUtil.ts +34 -34
  275. package/src/util/mapIconUtil.js +180 -180
  276. package/src/util/mapUtil.js +92 -92
  277. package/src/util/sortUtil.js +32 -32
  278. package/src/util/stringUtils.js +6 -6
  279. package/src/util/urlFilterUtil.js +85 -85
@@ -1,35 +1,31 @@
1
- import React from 'react';
2
- import { forwardRef } from 'react';
3
-
4
- import Button from '~/components/modules/buttons/default';
5
-
6
- export const ButtonItemsPill = forwardRef((
7
- {
8
- className,
9
- activeItemsCount,
10
- ...props
11
- },
12
- ref
13
- ) => {
14
- return (
15
- <Button.Btn
16
- ref={ref}
17
- size="none"
18
- variant="none"
19
- className={`
20
- hc-relative hc-z-[2] hc-group hc-inline-flex hc-items-center hc-gap-px hc-ml-auto hc-mr-1.5 hc-pl-1.5 hc-pr-1 hc-py-0.5 hc-rounded hc-bg-primary/10 hc-text-xs hc-font-bold hc-text-primary hc-ring-1 hc-ring-inset hc-ring-primary/20
21
- ${className ?? ''}
22
- `}
23
- {...props}
24
- >
25
- {activeItemsCount > 9 ? '9+' : activeItemsCount}
26
- <Button.Icon
27
- icon="uil:times"
28
- size="hc-size-3.5"
29
- />
30
- </Button.Btn>
31
- );
32
- });
33
-
34
- ButtonItemsPill.displayName = 'ButtonItemsPill';
35
- export default ButtonItemsPill;
1
+ import React from 'react';
2
+ import { forwardRef } from 'react';
3
+
4
+ import Button from '~/components/modules/buttons/default';
5
+
6
+ export const ButtonItemsPill = forwardRef((
7
+ {
8
+ className,
9
+ activeItemsCount,
10
+ ...props
11
+ },
12
+ ref
13
+ ) => {
14
+ return (
15
+ <Button.Btn
16
+ ref={ref}
17
+ size="none"
18
+ variant="none"
19
+ className={`hc-capitalize
20
+ hc-relative hc-z-[2] hc-group hc-inline-flex hc-items-center hc-gap-px hc-ml-auto hc-mr-1.5 hc-pl-1.5 hc-pr-1 hc-py-0.5 hc-rounded hc-bg-primary/10 hc-text-xs hc-font-bold hc-text-primary hc-ring-1 hc-ring-inset hc-ring-primary/20
21
+ ${className ?? ''}
22
+ `}
23
+ {...props}
24
+ >
25
+ Clear
26
+ </Button.Btn>
27
+ );
28
+ });
29
+
30
+ ButtonItemsPill.displayName = 'ButtonItemsPill';
31
+ export default ButtonItemsPill;
@@ -1,27 +1,27 @@
1
- import React, { forwardRef } from 'react';
2
-
3
- import Button from '~/components/modules/buttons/default';
4
-
5
- export const PillWrapper = forwardRef((
6
- {
7
- className,
8
- children,
9
- ...props
10
- },
11
- ref
12
- ) => {
13
- return (
14
- <Button.Btn
15
- ref={ref}
16
- size="none"
17
- variant="none"
18
- className={`hc-relative hc-group hc-inline-flex hc-items-center hc-gap-px hc-ml-auto hc-mr-1.5 hc-pl-1.5 hc-pr-1 hc-py-0.5 hc-rounded hc-bg-primary/10 hc-text-xs hc-font-bold hc-text-primary hc-ring-1 hc-ring-inset hc-ring-primary/20 ${className}`}
19
- {...props}
20
- >
21
- {children}
22
- </Button.Btn>
23
- );
24
- });
25
-
26
- PillWrapper.displayName = 'PillWrapper';
27
- export default PillWrapper;
1
+ import React, { forwardRef } from 'react';
2
+
3
+ import Button from '~/components/modules/buttons/default';
4
+
5
+ export const PillWrapper = forwardRef((
6
+ {
7
+ className,
8
+ children,
9
+ ...props
10
+ },
11
+ ref
12
+ ) => {
13
+ return (
14
+ <Button.Btn
15
+ ref={ref}
16
+ size="none"
17
+ variant="none"
18
+ className={`hc-relative hc-group hc-inline-flex hc-items-center hc-gap-px hc-ml-auto hc-mr-1.5 hc-pl-1.5 hc-pr-1 hc-py-0.5 hc-rounded hc-bg-primary/10 hc-text-xs hc-font-bold hc-text-primary hc-ring-1 hc-ring-inset hc-ring-primary/20 ${className}`}
19
+ {...props}
20
+ >
21
+ {children}
22
+ </Button.Btn>
23
+ );
24
+ });
25
+
26
+ PillWrapper.displayName = 'PillWrapper';
27
+ export default PillWrapper;
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
-
3
- const ShowAllButton = ({ mapInteracted, setMapInteracted, fitBounds, mapRef, pinIconUrl, setSelectedFilters, setQuery, listingCount }) => {
4
- if (!mapInteracted) {
5
- return null;
6
- }
7
- return (
8
- <button
9
- style={{ fontFamily: 'Roboto, Arial, sans-serif', fontSize: '14px', fontWeight: '500' }}
10
- className="hc-absolute hc-bottom-10 hc-left-2.5 hc-z-10 hc-flex hc-items-center hc-justify-center hc-pl-2 hc-pb-1 hc-pt-1.5 hc-pr-3 hc-bg-white hc-text-black hc-border-none hc-rounded-full hc-shadow hc-cursor-pointer hc-text-sm hc-font-medium"
11
- onClick={() => { setMapInteracted(false); fitBounds(mapRef.current, true); if (listingCount < 2) { setSelectedFilters({}); setQuery(null); }; }}
12
- >
13
- <img src={pinIconUrl} alt="Pin Icon" className="hc-size-5" />
14
- Show All
15
- </button>
16
- );
17
- };
18
-
19
- export default ShowAllButton;
1
+ import React from 'react';
2
+
3
+ const ShowAllButton = ({ mapInteracted, setMapInteracted, fitBounds, mapRef, pinIconUrl, setSelectedFilters, setQuery, listingCount }) => {
4
+ if (!mapInteracted) {
5
+ return null;
6
+ }
7
+ return (
8
+ <button
9
+ style={{ fontFamily: 'Roboto, Arial, sans-serif', fontSize: '14px', fontWeight: '500' }}
10
+ className="hc-absolute hc-bottom-10 hc-left-2.5 hc-z-10 hc-flex hc-items-center hc-justify-center hc-pl-2 hc-pb-1 hc-pt-1.5 hc-pr-3 hc-bg-white hc-text-black hc-border-none hc-rounded-full hc-shadow hc-cursor-pointer hc-text-sm hc-font-medium"
11
+ onClick={() => { setMapInteracted(false); fitBounds(mapRef.current, true); if (listingCount < 2) { setSelectedFilters({}); setQuery(null); }; }}
12
+ >
13
+ <img src={pinIconUrl} alt="Pin Icon" className="hc-size-5" />
14
+ Show All
15
+ </button>
16
+ );
17
+ };
18
+
19
+ export default ShowAllButton;
@@ -1,167 +1,167 @@
1
- import React, { forwardRef } from 'react';
2
- import { Link } from 'react-router-dom';
3
- import { twMerge } from 'tailwind-merge';
4
-
5
- const cardClasses = (className, hasShadow) => twMerge(
6
- 'hc-relative hc-flex hc-flex-wrap hc-flex-col hc-bg-clip-border hc-break-words hc-bg-white hc-border hc-border-gray-100',
7
- hasShadow ? 'hc-shadow-lg' : '',
8
- className ?? ''
9
- );
10
-
11
- const Card = ({ children }) => {
12
- return (
13
- <>{children}</>
14
- );
15
- };
16
-
17
- export const CardDefault = forwardRef((
18
- {
19
- as = 'div',
20
- className,
21
- hasShadow = false,
22
- image,
23
- body,
24
- children,
25
- footer,
26
- ...rest
27
- },
28
- ref
29
- ) => {
30
- const Container = as;
31
-
32
- return (
33
- <Container
34
- ref={ref}
35
- className={cardClasses(className, hasShadow)}
36
- {...rest}
37
- >
38
- {image}
39
- {children}
40
- {body}
41
- {footer}
42
- </Container>
43
- );
44
- });
45
-
46
- const CardLink = ({
47
- as = 'link',
48
- href,
49
- className,
50
- hasShadow = false,
51
- image,
52
- body,
53
- children,
54
- footer,
55
- ...rest
56
- }) => {
57
- const Container = as === 'link' ? Link : as;
58
-
59
- return (
60
- <Container
61
- to={href}
62
- className={twMerge(
63
- cardClasses(className, hasShadow),
64
- 'hc-group hc-transition hover:hc-shadow-xl hover:hc-border-indigo-300 focus:hc-shadow-xl focus:hc-border-indigo-300'
65
- )}
66
- {...rest}
67
- >
68
- {image && image}
69
- {children}
70
- {body && body}
71
- {footer && footer}
72
- </Container>
73
- );
74
- };
75
-
76
- export const CardImage = ({
77
- image,
78
- alt,
79
- className,
80
- imageClassName,
81
- ...rest
82
- }) => {
83
- return (
84
- <div
85
- className={twMerge(
86
- 'hc-w-full',
87
- className ?? ''
88
- )}
89
- >
90
- <img
91
- src={typeof image === 'string' ? image : image.src}
92
- width={image.width ? image.width : null}
93
- height={image.height ? image.height : null}
94
- alt={alt ?? ''}
95
- className={twMerge(
96
- 'hc-w-full hc-h-auto',
97
- imageClassName ?? ''
98
- )}
99
- {...rest}
100
- />
101
- </div>
102
- );
103
- };
104
-
105
- export const CardBody = ({
106
- children,
107
- className
108
- }) => {
109
- return (
110
- <div
111
- className={twMerge(
112
- 'hc-flex-auto hc-p-4 md:hc-px-6 lg:hc-px-8',
113
- className ?? ''
114
- )}
115
- >
116
- {children}
117
- </div>
118
- );
119
- };
120
-
121
- export const CardTitle = ({
122
- as = 'h3',
123
- children,
124
- className,
125
- ...rest
126
- }) => {
127
- const Title = as;
128
-
129
- return (
130
- <Title
131
- className={twMerge(
132
- 'hc-text-2xl hc-font-bold',
133
- className ?? ''
134
- )}
135
- {...rest}
136
- >
137
- {children}
138
- </Title>
139
- );
140
- };
141
-
142
- export const CardFooter = ({
143
- children,
144
- className
145
- }) => {
146
- return (
147
- <div
148
- className={twMerge(
149
- 'hc-py-2 hc-px-4 md:hc-px-6 lg:hc-px-8 hc-bg-gray-100',
150
- className ?? ''
151
- )}
152
- >
153
- {children}
154
- </div>
155
- );
156
- };
157
-
158
- Card.Default = CardDefault;
159
- Card.Link = CardLink;
160
- Card.Image = CardImage;
161
- Card.Body = CardBody;
162
- Card.Title = CardTitle;
163
- Card.Footer = CardFooter;
164
-
165
- CardDefault.displayName = 'Card:Default';
166
-
167
- export default Card;
1
+ import React, { forwardRef } from 'react';
2
+ import { Link } from 'react-router-dom';
3
+ import { twMerge } from 'tailwind-merge';
4
+
5
+ const cardClasses = (className, hasShadow) => twMerge(
6
+ 'hc-relative hc-flex hc-flex-wrap hc-flex-col hc-bg-clip-border hc-break-words hc-bg-white hc-border hc-border-gray-100',
7
+ hasShadow ? 'hc-shadow-lg' : '',
8
+ className ?? ''
9
+ );
10
+
11
+ const Card = ({ children }) => {
12
+ return (
13
+ <>{children}</>
14
+ );
15
+ };
16
+
17
+ export const CardDefault = forwardRef((
18
+ {
19
+ as = 'div',
20
+ className,
21
+ hasShadow = false,
22
+ image,
23
+ body,
24
+ children,
25
+ footer,
26
+ ...rest
27
+ },
28
+ ref
29
+ ) => {
30
+ const Container = as;
31
+
32
+ return (
33
+ <Container
34
+ ref={ref}
35
+ className={cardClasses(className, hasShadow)}
36
+ {...rest}
37
+ >
38
+ {image}
39
+ {children}
40
+ {body}
41
+ {footer}
42
+ </Container>
43
+ );
44
+ });
45
+
46
+ const CardLink = ({
47
+ as = 'link',
48
+ href,
49
+ className,
50
+ hasShadow = false,
51
+ image,
52
+ body,
53
+ children,
54
+ footer,
55
+ ...rest
56
+ }) => {
57
+ const Container = as === 'link' ? Link : as;
58
+
59
+ return (
60
+ <Container
61
+ to={href}
62
+ className={twMerge(
63
+ cardClasses(className, hasShadow),
64
+ 'hc-group hc-transition hover:hc-shadow-xl hover:hc-border-indigo-300 focus:hc-shadow-xl focus:hc-border-indigo-300'
65
+ )}
66
+ {...rest}
67
+ >
68
+ {image && image}
69
+ {children}
70
+ {body && body}
71
+ {footer && footer}
72
+ </Container>
73
+ );
74
+ };
75
+
76
+ export const CardImage = ({
77
+ image,
78
+ alt,
79
+ className,
80
+ imageClassName,
81
+ ...rest
82
+ }) => {
83
+ return (
84
+ <div
85
+ className={twMerge(
86
+ 'hc-w-full',
87
+ className ?? ''
88
+ )}
89
+ >
90
+ <img
91
+ src={typeof image === 'string' ? image : image.src}
92
+ width={image.width ? image.width : null}
93
+ height={image.height ? image.height : null}
94
+ alt={alt ?? ''}
95
+ className={twMerge(
96
+ 'hc-w-full hc-h-auto',
97
+ imageClassName ?? ''
98
+ )}
99
+ {...rest}
100
+ />
101
+ </div>
102
+ );
103
+ };
104
+
105
+ export const CardBody = ({
106
+ children,
107
+ className
108
+ }) => {
109
+ return (
110
+ <div
111
+ className={twMerge(
112
+ 'hc-flex-auto hc-p-4 md:hc-px-6 lg:hc-px-8',
113
+ className ?? ''
114
+ )}
115
+ >
116
+ {children}
117
+ </div>
118
+ );
119
+ };
120
+
121
+ export const CardTitle = ({
122
+ as = 'h3',
123
+ children,
124
+ className,
125
+ ...rest
126
+ }) => {
127
+ const Title = as;
128
+
129
+ return (
130
+ <Title
131
+ className={twMerge(
132
+ 'hc-text-2xl hc-font-bold',
133
+ className ?? ''
134
+ )}
135
+ {...rest}
136
+ >
137
+ {children}
138
+ </Title>
139
+ );
140
+ };
141
+
142
+ export const CardFooter = ({
143
+ children,
144
+ className
145
+ }) => {
146
+ return (
147
+ <div
148
+ className={twMerge(
149
+ 'hc-py-2 hc-px-4 md:hc-px-6 lg:hc-px-8 hc-bg-gray-100',
150
+ className ?? ''
151
+ )}
152
+ >
153
+ {children}
154
+ </div>
155
+ );
156
+ };
157
+
158
+ Card.Default = CardDefault;
159
+ Card.Link = CardLink;
160
+ Card.Image = CardImage;
161
+ Card.Body = CardBody;
162
+ Card.Title = CardTitle;
163
+ Card.Footer = CardFooter;
164
+
165
+ CardDefault.displayName = 'Card:Default';
166
+
167
+ export default Card;
@@ -1,56 +1,56 @@
1
- import React from 'react';
2
-
3
- import Card from '~/components/modules/cards/default';
4
- import Icon from '~/components/modules/icon';
5
-
6
- const CardFilter = ({
7
- as,
8
- className,
9
- children,
10
- ...rest
11
- }) => {
12
- return (
13
- <Card.Default
14
- as={as}
15
- className={`
16
- hc-bg-uiAccent/5 hc-border hc-border-uiAccent/20 hc-rounded
17
- ${className ?? ''}
18
- `}
19
- {...rest}
20
- >
21
- <Card.Body className="!hc-p-3">
22
- {children}
23
- </Card.Body>
24
- </Card.Default>
25
- );
26
- };
27
-
28
- export const CardTitle = ({
29
- as,
30
- children,
31
- icon,
32
- className,
33
- ...rest
34
- }) => {
35
- return (
36
- <Card.Title
37
- as={as}
38
- className={`
39
- hc-flex hc-items-center hc-gap-2 hc-mb-2 hc-text-xs hc-uppercase hc-font-bold hc-text-uiText
40
- ${className ?? ''}
41
- `}
42
- {...rest}
43
- >
44
- <Icon
45
- icon={icon}
46
- size="hc-size-5"
47
- className="hc-text-uiAccent/30"
48
- />
49
- {children}
50
- </Card.Title>
51
- );
52
- };
53
-
54
- CardFilter.Title = CardTitle;
55
-
56
- export default CardFilter;
1
+ import React from 'react';
2
+
3
+ import Card from '~/components/modules/cards/default';
4
+ import Icon from '~/components/modules/icon';
5
+
6
+ const CardFilter = ({
7
+ as,
8
+ className,
9
+ children,
10
+ ...rest
11
+ }) => {
12
+ return (
13
+ <Card.Default
14
+ as={as}
15
+ className={`
16
+ hc-bg-uiAccent/5 hc-border hc-border-uiAccent/20 hc-rounded
17
+ ${className ?? ''}
18
+ `}
19
+ {...rest}
20
+ >
21
+ <Card.Body className="!hc-p-3">
22
+ {children}
23
+ </Card.Body>
24
+ </Card.Default>
25
+ );
26
+ };
27
+
28
+ export const CardTitle = ({
29
+ as,
30
+ children,
31
+ icon,
32
+ className,
33
+ ...rest
34
+ }) => {
35
+ return (
36
+ <Card.Title
37
+ as={as}
38
+ className={`
39
+ hc-flex hc-items-center hc-gap-2 hc-mb-2 hc-text-xs hc-uppercase hc-font-bold hc-text-uiText
40
+ ${className ?? ''}
41
+ `}
42
+ {...rest}
43
+ >
44
+ <Icon
45
+ icon={icon}
46
+ size="hc-size-5"
47
+ className="hc-text-uiAccent/30"
48
+ />
49
+ {children}
50
+ </Card.Title>
51
+ );
52
+ };
53
+
54
+ CardFilter.Title = CardTitle;
55
+
56
+ export default CardFilter;