@abcagency/hc-ui-components 1.3.59 → 1.3.61

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 (277) 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 +11 -1
  5. package/dist/components/HireControlMap.js.map +1 -1
  6. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  7. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  8. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  9. package/dist/components/containers/filter/commute-container.js +1 -1
  10. package/dist/components/containers/filter/commute-container.js.map +1 -1
  11. package/dist/components/containers/filter/filter-container.js.map +1 -1
  12. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  13. package/dist/components/containers/filter/location-container.js.map +1 -1
  14. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  15. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  16. package/dist/components/containers/filter/search-container.js.map +1 -1
  17. package/dist/components/containers/jobListing/listing-details-container.js +5 -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 +45 -54
  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.map +1 -1
  39. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  40. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  41. package/dist/components/modules/cards/default.js +2 -2
  42. package/dist/components/modules/cards/default.js.map +1 -1
  43. package/dist/components/modules/cards/filter.js.map +1 -1
  44. package/dist/components/modules/dialogs/apply-dialog.js +1 -1
  45. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  46. package/dist/components/modules/filter/commute.js +2 -2
  47. package/dist/components/modules/filter/commute.js.map +1 -1
  48. package/dist/components/modules/filter/index.js.map +1 -1
  49. package/dist/components/modules/filter/item.js.map +1 -1
  50. package/dist/components/modules/filter/location.js.map +1 -1
  51. package/dist/components/modules/filter/radio-item.js.map +1 -1
  52. package/dist/components/modules/filter/search.js.map +1 -1
  53. package/dist/components/modules/filter/sort.js +2 -2
  54. package/dist/components/modules/filter/sort.js.map +1 -1
  55. package/dist/components/modules/grid.js +1 -1
  56. package/dist/components/modules/grid.js.map +1 -1
  57. package/dist/components/modules/icon.js +1 -1
  58. package/dist/components/modules/icon.js.map +1 -1
  59. package/dist/components/modules/jobListing/listing-details.js +8 -7
  60. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  61. package/dist/components/modules/list/field-mapper.js.map +1 -1
  62. package/dist/components/modules/list/header-item.js.map +1 -1
  63. package/dist/components/modules/list/header.js +1 -1
  64. package/dist/components/modules/list/header.js.map +1 -1
  65. package/dist/components/modules/list/item-expand-card/index.js +1 -1
  66. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  67. package/dist/components/modules/list/item-expand-card/recruiter-contact-nav.js +38 -38
  68. package/dist/components/modules/list/item-expand-card/recruiter-details.js +40 -40
  69. package/dist/components/modules/list/item-expand-card/recruiter-headshot.js +20 -20
  70. package/dist/components/modules/list/item-list.js +43 -43
  71. package/dist/components/modules/list/item-list.js.map +1 -1
  72. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  73. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  74. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  75. package/dist/components/modules/maps/map-list.js.map +1 -1
  76. package/dist/components/modules/maps/map-marker.js +1 -1
  77. package/dist/components/modules/maps/map-marker.js.map +1 -1
  78. package/dist/components/modules/maps/map.js +1 -1
  79. package/dist/components/modules/maps/map.js.map +1 -1
  80. package/dist/components/modules/maps/place-marker.js +1 -1
  81. package/dist/components/modules/maps/place-marker.js.map +1 -1
  82. package/dist/components/modules/maps/tabs.js +1 -1
  83. package/dist/components/modules/maps/tabs.js.map +1 -1
  84. package/dist/constants/eventTypes.js +1 -0
  85. package/dist/constants/eventTypes.js.map +1 -1
  86. package/dist/constants/placeTypes.js.map +1 -1
  87. package/dist/contexts/mapContext.js +83 -83
  88. package/dist/contexts/mapContext.js.map +1 -1
  89. package/dist/contexts/mapListContext.js +192 -190
  90. package/dist/contexts/mapListContext.js.map +1 -1
  91. package/dist/contexts/placesContext.js.map +1 -1
  92. package/dist/contexts/themeContext.js.map +1 -1
  93. package/dist/contexts/trackEventContext.js.map +1 -1
  94. package/dist/hooks/useList.js.map +1 -1
  95. package/dist/services/configService.js +9 -9
  96. package/dist/services/configService.js.map +1 -1
  97. package/dist/services/googlePlacesNearbyService.js +32 -32
  98. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  99. package/dist/services/listingAggregatorService.js +34 -34
  100. package/dist/services/listingAggregatorService.js.map +1 -1
  101. package/dist/services/listingEntityService.js +9 -9
  102. package/dist/services/listingEntityService.js.map +1 -1
  103. package/dist/services/listingService.js +24 -24
  104. package/dist/services/listingService.js.map +1 -1
  105. package/dist/services/recruiterService.js +10 -10
  106. package/dist/services/recruiterService.js.map +1 -1
  107. package/dist/types/apis/hcApi.d.ts +5 -5
  108. package/dist/types/clientToken.d.ts +2 -2
  109. package/dist/types/components/containers/accordions/map-accordion-item-container.d.ts +12 -12
  110. package/dist/types/components/containers/jobListing/listing-details-container.d.ts +6 -6
  111. package/dist/types/components/containers/list/item-list-container.d.ts +9 -9
  112. package/dist/types/components/containers/list/list-item/list-item-container.d.ts +14 -14
  113. package/dist/types/components/modules/accordions/MapAccordionItem.d.ts +10 -10
  114. package/dist/types/components/modules/accordions/default.d.ts +19 -19
  115. package/dist/types/components/modules/buttons/button-group-apply.d.ts +24 -24
  116. package/dist/types/components/modules/buttons/commute-pill.d.ts +5 -5
  117. package/dist/types/components/modules/buttons/default.d.ts +48 -48
  118. package/dist/types/components/modules/buttons/pill-wrapper.d.ts +3 -3
  119. package/dist/types/components/modules/dialogs/apply-dialog.d.ts +8 -8
  120. package/dist/types/components/modules/filter/sort.d.ts +8 -8
  121. package/dist/types/components/modules/grid.d.ts +8 -8
  122. package/dist/types/components/modules/icon.d.ts +10 -10
  123. package/dist/types/components/modules/jobListing/listing-details.d.ts +20 -18
  124. package/dist/types/components/modules/list/field-mapper.d.ts +10 -10
  125. package/dist/types/components/modules/list/header-item.d.ts +11 -11
  126. package/dist/types/components/modules/list/header.d.ts +12 -12
  127. package/dist/types/components/modules/list/item-expand-card/index.d.ts +7 -7
  128. package/dist/types/components/modules/list/item-expand-card/recruiter-contact-nav.d.ts +17 -17
  129. package/dist/types/components/modules/list/item-expand-card/recruiter-details.d.ts +21 -21
  130. package/dist/types/components/modules/list/item-expand-card/recruiter-headshot.d.ts +8 -8
  131. package/dist/types/components/modules/list/item-list.d.ts +20 -20
  132. package/dist/types/components/modules/list/list-item/list-item.d.ts +3 -3
  133. package/dist/types/constants/eventTypes.d.ts +15 -14
  134. package/dist/types/contexts/mapContext.d.ts +29 -29
  135. package/dist/types/contexts/mapListContext.d.ts +65 -61
  136. package/dist/types/contexts/trackEventContext.d.ts +6 -6
  137. package/dist/types/enums/SectionType.d.ts +9 -9
  138. package/dist/types/hooks/useList.d.ts +13 -13
  139. package/dist/types/services/configService.d.ts +6 -6
  140. package/dist/types/services/googlePlacesNearbyService.d.ts +5 -5
  141. package/dist/types/services/listingAggregatorService.d.ts +12 -12
  142. package/dist/types/services/listingEntityService.d.ts +6 -6
  143. package/dist/types/services/listingService.d.ts +9 -9
  144. package/dist/types/services/recruiterService.d.ts +6 -6
  145. package/dist/types/types/Address.d.ts +7 -7
  146. package/dist/types/types/ContentSection.d.ts +8 -8
  147. package/dist/types/types/GetListingParams.d.ts +8 -8
  148. package/dist/types/types/LatLng.d.ts +4 -4
  149. package/dist/types/types/ListingEntity.d.ts +10 -10
  150. package/dist/types/types/ListingFields.d.ts +25 -25
  151. package/dist/types/types/Listings.d.ts +31 -31
  152. package/dist/types/types/Recruiter.d.ts +9 -9
  153. package/dist/types/types/SimilarListing.d.ts +24 -24
  154. package/dist/types/types/config/Colors.d.ts +8 -8
  155. package/dist/types/types/config/MapConfig.d.ts +30 -30
  156. package/dist/types/types/config/PointsOfInterestConfig.d.ts +13 -13
  157. package/dist/types/types/config/SearchConfig.d.ts +4 -4
  158. package/dist/types/util/filterUtil.d.ts +28 -28
  159. package/dist/types/util/loading.d.ts +3 -3
  160. package/dist/types/util/localStorageUtil.d.ts +3 -3
  161. package/dist/types/util/mapUtil.d.ts +16 -16
  162. package/dist/types/util/sortUtil.d.ts +1 -1
  163. package/dist/types/util/stringUtils.d.ts +1 -1
  164. package/dist/types/util/urlFilterUtil.d.ts +8 -8
  165. package/dist/util/filterUtil.js +1 -1
  166. package/dist/util/filterUtil.js.map +1 -1
  167. package/dist/util/loading.js.map +1 -1
  168. package/dist/util/localStorageUtil.js +37 -37
  169. package/dist/util/localStorageUtil.js.map +1 -1
  170. package/dist/util/mapIconUtil.js.map +1 -1
  171. package/dist/util/mapUtil.js.map +1 -1
  172. package/dist/util/sortUtil.js.map +1 -1
  173. package/dist/util/stringUtils.js.map +1 -1
  174. package/dist/util/urlFilterUtil.js.map +1 -1
  175. package/package.json +90 -90
  176. package/src/.editorconfig +12 -12
  177. package/src/apis/hcApi.ts +109 -109
  178. package/src/bundleIndex.js +14 -14
  179. package/src/clientToken.js +9 -9
  180. package/src/components/HireControlMap.js +148 -142
  181. package/src/components/containers/accordions/filter-container.js +48 -48
  182. package/src/components/containers/accordions/filter-item-container.js +83 -83
  183. package/src/components/containers/accordions/map-accordion-item-container.js +70 -70
  184. package/src/components/containers/filter/commute-container.js +89 -89
  185. package/src/components/containers/filter/filter-container.js +76 -76
  186. package/src/components/containers/filter/filter-item-container.js +117 -117
  187. package/src/components/containers/filter/location-container.js +45 -45
  188. package/src/components/containers/filter/points-of-interest-container.js +33 -33
  189. package/src/components/containers/filter/points-of-interest-radio-item-container.js +35 -35
  190. package/src/components/containers/filter/search-container.js +61 -61
  191. package/src/components/containers/jobListing/listing-details-container.js +42 -40
  192. package/src/components/containers/list/item-list-container.tsx +81 -81
  193. package/src/components/containers/list/list-item/list-item-container.js +43 -43
  194. package/src/components/containers/maps/info-window-content-container.js +53 -53
  195. package/src/components/containers/maps/map-container.js +249 -249
  196. package/src/components/containers/maps/map-list-container.js +50 -50
  197. package/src/components/containers/maps/map-marker-container.js +78 -78
  198. package/src/components/modules/accordions/MapAccordionItem.js +30 -30
  199. package/src/components/modules/accordions/default.js +171 -171
  200. package/src/components/modules/accordions/filterItem.js +27 -27
  201. package/src/components/modules/accordions/filters.js +32 -32
  202. package/src/components/modules/buttons/button-group-apply.js +115 -135
  203. package/src/components/modules/buttons/commute-pill.js +22 -22
  204. package/src/components/modules/buttons/default.js +194 -194
  205. package/src/components/modules/buttons/items-pill.js +35 -35
  206. package/src/components/modules/buttons/pill-wrapper.js +27 -27
  207. package/src/components/modules/buttons/show-all-button.js +19 -19
  208. package/src/components/modules/cards/default.js +167 -167
  209. package/src/components/modules/cards/filter.js +56 -56
  210. package/src/components/modules/dialogs/apply-dialog.js +48 -48
  211. package/src/components/modules/filter/commute.js +108 -108
  212. package/src/components/modules/filter/index.js +55 -55
  213. package/src/components/modules/filter/item.js +69 -69
  214. package/src/components/modules/filter/location.js +51 -51
  215. package/src/components/modules/filter/radio-item.js +42 -42
  216. package/src/components/modules/filter/search.js +79 -79
  217. package/src/components/modules/filter/sort.js +83 -83
  218. package/src/components/modules/grid.js +54 -54
  219. package/src/components/modules/icon.js +33 -33
  220. package/src/components/modules/jobListing/listing-details.js +110 -108
  221. package/src/components/modules/list/field-mapper.js +130 -130
  222. package/src/components/modules/list/header-item.js +92 -92
  223. package/src/components/modules/list/header.js +51 -51
  224. package/src/components/modules/list/item-expand-card/index.js +22 -22
  225. package/src/components/modules/list/item-expand-card/recruiter-contact-nav.js +50 -50
  226. package/src/components/modules/list/item-expand-card/recruiter-details.js +68 -68
  227. package/src/components/modules/list/item-expand-card/recruiter-headshot.js +22 -22
  228. package/src/components/modules/list/item-list.tsx +117 -117
  229. package/src/components/modules/list/list-item/list-item.js +130 -130
  230. package/src/components/modules/maps/info-window-card.js +17 -17
  231. package/src/components/modules/maps/info-window-content.js +64 -64
  232. package/src/components/modules/maps/map-list.js +38 -38
  233. package/src/components/modules/maps/map-marker.js +29 -29
  234. package/src/components/modules/maps/map.js +64 -64
  235. package/src/components/modules/maps/place-marker.js +41 -41
  236. package/src/components/modules/maps/tabs.js +81 -81
  237. package/src/constants/eventTypes.js +15 -14
  238. package/src/constants/placeTypes.js +8 -8
  239. package/src/contexts/mapContext.tsx +129 -129
  240. package/src/contexts/mapListContext.tsx +326 -318
  241. package/src/contexts/placesContext.js +102 -102
  242. package/src/contexts/themeContext.js +40 -40
  243. package/src/contexts/trackEventContext.js +14 -14
  244. package/src/enums/SectionType.ts +9 -9
  245. package/src/hooks/useList.js +89 -89
  246. package/src/index.js +3 -3
  247. package/src/services/configService.ts +16 -16
  248. package/src/services/googlePlacesNearbyService.ts +42 -42
  249. package/src/services/listingAggregatorService.ts +76 -76
  250. package/src/services/listingEntityService.ts +16 -16
  251. package/src/services/listingService.ts +40 -40
  252. package/src/services/recruiterService.ts +18 -18
  253. package/src/styles/bundle.css +268 -268
  254. package/src/styles/index.css +33 -33
  255. package/src/types/Address.ts +7 -7
  256. package/src/types/ContentSection.ts +9 -9
  257. package/src/types/GetListingParams.ts +8 -8
  258. package/src/types/LatLng.ts +4 -4
  259. package/src/types/ListingEntity.ts +11 -11
  260. package/src/types/ListingFields.ts +25 -25
  261. package/src/types/Listings.ts +32 -32
  262. package/src/types/Recruiter.ts +9 -9
  263. package/src/types/SimilarListing.ts +24 -24
  264. package/src/types/config/Colors.ts +8 -8
  265. package/src/types/config/MapConfig.ts +31 -31
  266. package/src/types/config/PointsOfInterestConfig.ts +13 -13
  267. package/src/types/config/SearchConfig.ts +4 -4
  268. package/src/util/arrayUtil.js +3 -3
  269. package/src/util/fieldMapper.js +22 -22
  270. package/src/util/filterUtil.js +311 -311
  271. package/src/util/loading.js +17 -17
  272. package/src/util/localStorageUtil.ts +34 -34
  273. package/src/util/mapIconUtil.js +180 -180
  274. package/src/util/mapUtil.js +92 -92
  275. package/src/util/sortUtil.js +32 -32
  276. package/src/util/stringUtils.js +6 -6
  277. package/src/util/urlFilterUtil.js +85 -85
@@ -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;
@@ -1,48 +1,48 @@
1
- import React from 'react';
2
- import * as Dialog from '@radix-ui/react-dialog';
3
-
4
- import Button from '~/components/modules/buttons/default';
5
- import Icon from '~/components/modules/icon';
6
-
7
- const ApplyDialog = ({ children, applyUrl, internalApplyLink, companyName }) => (
8
-
9
- <Dialog.Root >
10
- <Dialog.Trigger asChild>
11
- {children}
12
- </Dialog.Trigger>
13
- <Dialog.Portal>
14
- <Dialog.Overlay className="hc-bg-black/50 hc-fixed hc-inset-0 hc-animate-overlayShow" />
15
- <Dialog.Content className="z-99 hc-fit-content hc-h-fit hc-animate-contentShow hc-fixed hc-inset-0 hc-m-auto hc-max-h-[85vh] hc-w-[90vw] hc-max-w-[450px] hc-rounded-[6px] hc-bg-white hc-p-[25px] hc-shadow-lg focus:hc-outline-none hc-flex hc-flex-col hc-items-center hc-text-center">
16
- <Dialog.Title className="hc-text-[17px] hc-font-medium hc-w-full">
17
- Career Opportunities
18
- </Dialog.Title>
19
- <Dialog.Description className="hc-mt-4 hc-mb-5 hc-text-[15px] hc-leading-normal hc-w-full">
20
- Are you currently a {companyName} employee?
21
- </Dialog.Description>
22
- <div className="hc-flex hc-justify-center hc-space-x-4 hc-w-full">
23
- <Dialog.Close asChild>
24
- <Button.Anchor variant="outline" href={internalApplyLink}>
25
- Yes
26
- </Button.Anchor>
27
- </Dialog.Close>
28
- <Dialog.Close asChild>
29
- <Button.Anchor variant="primary" href={applyUrl}>
30
- No
31
- </Button.Anchor>
32
- </Dialog.Close>
33
- </div>
34
- <Dialog.Close asChild>
35
- <Button.Anchor className="hc-absolute hc-top-[10px] hc-right-[10px] hc-inline-flex hc-h-[25px] hc-w-[25px] hc-items-center hc-justify-center hc-rounded-full focus:hc-outline-none"
36
- variant="ghost" aria-label="Close">
37
- <Icon
38
- icon="mdi:times"
39
- className="hc-cursor-pointer hc-text-black hover:hc-text-gray-500 hover:hc-opacity-75"
40
- />
41
- </Button.Anchor>
42
- </Dialog.Close>
43
- </Dialog.Content>
44
- </Dialog.Portal>
45
- </Dialog.Root>
46
- );
47
-
48
- export default ApplyDialog;
1
+ import React from 'react';
2
+ import * as Dialog from '@radix-ui/react-dialog';
3
+
4
+ import Button from '~/components/modules/buttons/default';
5
+ import Icon from '~/components/modules/icon';
6
+
7
+ const ApplyDialog = ({ children, applyUrl, internalApplyLink, companyName }) => (
8
+
9
+ <Dialog.Root >
10
+ <Dialog.Trigger asChild>
11
+ {children}
12
+ </Dialog.Trigger>
13
+ <Dialog.Portal>
14
+ <Dialog.Overlay className="hc-bg-black/50 hc-fixed hc-inset-0 hc-animate-overlayShow" />
15
+ <Dialog.Content className="z-99 hc-fit-content hc-h-fit hc-animate-contentShow hc-fixed hc-inset-0 hc-m-auto hc-max-h-[85vh] hc-w-[90vw] hc-max-w-[450px] hc-rounded-[6px] hc-bg-white hc-p-[25px] hc-shadow-lg focus:hc-outline-none hc-flex hc-flex-col hc-items-center hc-text-center">
16
+ <Dialog.Title className="hc-text-[17px] hc-font-medium hc-w-full">
17
+ Career Opportunities
18
+ </Dialog.Title>
19
+ <Dialog.Description className="hc-mt-4 hc-mb-5 hc-text-[15px] hc-leading-normal hc-w-full">
20
+ Are you currently a {companyName} employee?
21
+ </Dialog.Description>
22
+ <div className="hc-flex hc-justify-center hc-space-x-4 hc-w-full">
23
+ <Dialog.Close asChild>
24
+ <Button.Anchor variant="outline" href={internalApplyLink}>
25
+ Yes
26
+ </Button.Anchor>
27
+ </Dialog.Close>
28
+ <Dialog.Close asChild>
29
+ <Button.Anchor variant="primary" href={applyUrl}>
30
+ No
31
+ </Button.Anchor>
32
+ </Dialog.Close>
33
+ </div>
34
+ <Dialog.Close asChild>
35
+ <Button.Anchor className="hc-absolute hc-top-[10px] hc-right-[10px] hc-inline-flex hc-h-[25px] hc-w-[25px] hc-items-center hc-justify-center hc-rounded-full focus:hc-outline-none"
36
+ variant="ghost" aria-label="Close">
37
+ <Icon
38
+ icon="mdi:times"
39
+ className="hc-cursor-pointer hc-text-black hover:hc-text-gray-500 hover:hc-opacity-75"
40
+ />
41
+ </Button.Anchor>
42
+ </Dialog.Close>
43
+ </Dialog.Content>
44
+ </Dialog.Portal>
45
+ </Dialog.Root>
46
+ );
47
+
48
+ export default ApplyDialog;