@abcagency/hc-ui-components 1.1.1 → 1.2.0

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 (234) hide show
  1. package/.editorconfig +12 -0
  2. package/.eslintrc +144 -0
  3. package/.prettierignore +3 -0
  4. package/dist/_virtual/_rollupPluginBabelHelpers.js +516 -0
  5. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  6. package/dist/apis/hcApi.js +189 -0
  7. package/dist/apis/hcApi.js.map +1 -0
  8. package/dist/clientToken.js +10 -0
  9. package/dist/clientToken.js.map +1 -0
  10. package/dist/components/HireControlMap.js +129 -0
  11. package/dist/components/HireControlMap.js.map +1 -0
  12. package/dist/components/modules/accordions/MapAccordionItem.js +76 -0
  13. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -0
  14. package/dist/components/modules/accordions/default.js +108 -0
  15. package/dist/components/modules/accordions/default.js.map +1 -0
  16. package/dist/components/modules/accordions/filterItem.js +50 -0
  17. package/dist/components/modules/accordions/filterItem.js.map +1 -0
  18. package/dist/components/modules/accordions/filters.js +46 -0
  19. package/dist/components/modules/accordions/filters.js.map +1 -0
  20. package/dist/components/modules/buttons/button-group-apply.js +84 -0
  21. package/dist/components/modules/buttons/button-group-apply.js.map +1 -0
  22. package/dist/components/modules/buttons/commute-pill.js +18 -0
  23. package/dist/components/modules/buttons/commute-pill.js.map +1 -0
  24. package/dist/components/modules/buttons/default.js +145 -0
  25. package/dist/components/modules/buttons/default.js.map +1 -0
  26. package/dist/components/modules/buttons/items-pill.js +23 -0
  27. package/dist/components/modules/buttons/items-pill.js.map +1 -0
  28. package/dist/components/modules/buttons/pill-wrapper.js +20 -0
  29. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -0
  30. package/dist/components/modules/buttons/show-all-button.js +39 -0
  31. package/dist/components/modules/buttons/show-all-button.js.map +1 -0
  32. package/dist/components/modules/cards/default.js +102 -0
  33. package/dist/components/modules/cards/default.js.map +1 -0
  34. package/dist/components/modules/cards/filter.js +38 -0
  35. package/dist/components/modules/cards/filter.js.map +1 -0
  36. package/dist/components/modules/dialogs/apply-dialog.js +46 -0
  37. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -0
  38. package/dist/components/modules/filter/commute.js +184 -0
  39. package/dist/components/modules/filter/commute.js.map +1 -0
  40. package/dist/components/modules/filter/index.js +79 -0
  41. package/dist/components/modules/filter/index.js.map +1 -0
  42. package/dist/components/modules/filter/item.js +71 -0
  43. package/dist/components/modules/filter/item.js.map +1 -0
  44. package/dist/components/modules/filter/location.js +68 -0
  45. package/dist/components/modules/filter/location.js.map +1 -0
  46. package/dist/components/modules/filter/points-of-interest.js +38 -0
  47. package/dist/components/modules/filter/points-of-interest.js.map +1 -0
  48. package/dist/components/modules/filter/radio-item.js +46 -0
  49. package/dist/components/modules/filter/radio-item.js.map +1 -0
  50. package/dist/components/modules/filter/search.js +83 -0
  51. package/dist/components/modules/filter/search.js.map +1 -0
  52. package/dist/components/modules/filter/sort.js +93 -0
  53. package/dist/components/modules/filter/sort.js.map +1 -0
  54. package/dist/components/modules/grid.js +39 -0
  55. package/dist/components/modules/grid.js.map +1 -0
  56. package/dist/components/modules/icon.js +23 -0
  57. package/dist/components/modules/icon.js.map +1 -0
  58. package/dist/components/modules/jobListing/listing-details.js +69 -0
  59. package/dist/components/modules/jobListing/listing-details.js.map +1 -0
  60. package/dist/components/modules/maps/info-window-card.js +14 -0
  61. package/dist/components/modules/maps/info-window-card.js.map +1 -0
  62. package/dist/components/modules/maps/info-window-content.js +39 -0
  63. package/dist/components/modules/maps/info-window-content.js.map +1 -0
  64. package/dist/components/modules/maps/list/field-mapper.js +88 -0
  65. package/dist/components/modules/maps/list/field-mapper.js.map +1 -0
  66. package/dist/components/modules/maps/list/header-item.js +59 -0
  67. package/dist/components/modules/maps/list/header-item.js.map +1 -0
  68. package/dist/components/modules/maps/list/header.js +37 -0
  69. package/dist/components/modules/maps/list/header.js.map +1 -0
  70. package/dist/components/modules/maps/list/index.js +93 -0
  71. package/dist/components/modules/maps/list/index.js.map +1 -0
  72. package/dist/components/modules/maps/list/item-expand-card/index.js +16 -0
  73. package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -0
  74. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +38 -0
  75. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -0
  76. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js +40 -0
  77. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -0
  78. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js +20 -0
  79. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -0
  80. package/dist/components/modules/maps/list/list-item/index.js +98 -0
  81. package/dist/components/modules/maps/list/list-item/index.js.map +1 -0
  82. package/dist/components/modules/maps/map-list.js +57 -0
  83. package/dist/components/modules/maps/map-list.js.map +1 -0
  84. package/dist/components/modules/maps/map-marker.js +85 -0
  85. package/dist/components/modules/maps/map-marker.js.map +1 -0
  86. package/dist/components/modules/maps/map.js +201 -0
  87. package/dist/components/modules/maps/map.js.map +1 -0
  88. package/dist/components/modules/maps/place-marker.js +37 -0
  89. package/dist/components/modules/maps/place-marker.js.map +1 -0
  90. package/dist/components/modules/maps/tabs.js +84 -0
  91. package/dist/components/modules/maps/tabs.js.map +1 -0
  92. package/dist/constants/placeTypes.js +11 -0
  93. package/dist/constants/placeTypes.js.map +1 -0
  94. package/dist/contexts/mapContext.js +133 -0
  95. package/dist/contexts/mapContext.js.map +1 -0
  96. package/dist/contexts/mapListContext.js +278 -0
  97. package/dist/contexts/mapListContext.js.map +1 -0
  98. package/dist/contexts/placesContext.js +152 -0
  99. package/dist/contexts/placesContext.js.map +1 -0
  100. package/dist/hooks/useList.js +119 -0
  101. package/dist/hooks/useList.js.map +1 -0
  102. package/dist/index.js +2 -4536
  103. package/dist/index.js.map +1 -0
  104. package/dist/services/_virtual/_rollupPluginBabelHelpers.js +372 -0
  105. package/dist/services/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  106. package/dist/services/apis/hcApi.js +189 -0
  107. package/dist/services/apis/hcApi.js.map +1 -0
  108. package/dist/services/clientToken.js +7 -0
  109. package/dist/services/clientToken.js.map +1 -0
  110. package/dist/services/configService.js +33 -0
  111. package/dist/services/configService.js.map +1 -0
  112. package/dist/services/googlePlacesNearbyService.js +61 -0
  113. package/dist/services/googlePlacesNearbyService.js.map +1 -0
  114. package/dist/services/listingAggregatorService.js +56 -0
  115. package/dist/services/listingAggregatorService.js.map +1 -0
  116. package/dist/services/listingEntityService.js +36 -0
  117. package/dist/services/listingEntityService.js.map +1 -0
  118. package/dist/services/listingService.js +60 -112
  119. package/dist/services/listingService.js.map +1 -0
  120. package/dist/services/recruiterService.js +36 -0
  121. package/dist/services/recruiterService.js.map +1 -0
  122. package/dist/services/styles/index.css +3 -0
  123. package/dist/styles/index.css +3 -0
  124. package/dist/util/filterUtil.js +213 -0
  125. package/dist/util/filterUtil.js.map +1 -0
  126. package/dist/util/loading.js +16 -0
  127. package/dist/util/loading.js.map +1 -0
  128. package/dist/util/localStorageUtil.js +32 -0
  129. package/dist/util/localStorageUtil.js.map +1 -0
  130. package/dist/util/mapIconUtil.js +73 -0
  131. package/dist/util/mapIconUtil.js.map +1 -0
  132. package/dist/util/mapUtil.js +76 -0
  133. package/dist/util/mapUtil.js.map +1 -0
  134. package/dist/util/sortUtil.js +33 -0
  135. package/dist/util/sortUtil.js.map +1 -0
  136. package/dist/util/stringUtils.js +9 -0
  137. package/dist/util/stringUtils.js.map +1 -0
  138. package/jsconfig.json +7 -0
  139. package/package.json +51 -38
  140. package/postcss.config.js +13 -15
  141. package/{src/tailwind/preset.default.js → preset.default.js} +15 -15
  142. package/rollup.config.mjs +87 -0
  143. package/src/apis/hcApi.js +93 -87
  144. package/src/clientToken.js +9 -9
  145. package/src/components/HireControlMap.js +120 -0
  146. package/src/components/modules/accordions/MapAccordionItem.js +72 -69
  147. package/src/components/modules/accordions/default.js +171 -173
  148. package/src/components/modules/accordions/filterItem.js +53 -53
  149. package/src/components/modules/accordions/filters.js +47 -44
  150. package/src/components/modules/buttons/button-group-apply.js +113 -85
  151. package/src/components/modules/buttons/commute-pill.js +22 -21
  152. package/src/components/modules/buttons/default.js +196 -196
  153. package/src/components/modules/buttons/items-pill.js +32 -31
  154. package/src/components/modules/buttons/pill-wrapper.js +27 -26
  155. package/src/components/modules/buttons/show-all-button.js +20 -20
  156. package/src/components/modules/cards/default.js +167 -168
  157. package/src/components/modules/cards/filter.js +56 -55
  158. package/src/components/modules/dialogs/apply-dialog.js +48 -47
  159. package/src/components/modules/filter/commute.js +148 -151
  160. package/src/components/modules/filter/index.js +87 -86
  161. package/src/components/modules/filter/item.js +76 -77
  162. package/src/components/modules/filter/location.js +71 -69
  163. package/src/components/modules/filter/points-of-interest.js +44 -43
  164. package/src/components/modules/filter/radio-item.js +53 -51
  165. package/src/components/modules/filter/search.js +92 -91
  166. package/src/components/modules/filter/sort.js +83 -83
  167. package/src/components/modules/grid.js +55 -56
  168. package/src/components/modules/icon.js +33 -33
  169. package/src/components/modules/jobListing/listing-details.js +94 -88
  170. package/src/components/modules/maps/info-window-card.js +17 -17
  171. package/src/components/modules/maps/info-window-content.js +58 -60
  172. package/src/components/modules/maps/list/field-mapper.js +112 -111
  173. package/src/components/modules/maps/list/header-item.js +91 -90
  174. package/src/components/modules/maps/list/header.js +47 -46
  175. package/src/components/modules/maps/list/index.js +107 -104
  176. package/src/components/modules/maps/list/item-expand-card/index.js +22 -21
  177. package/src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +50 -48
  178. package/src/components/modules/maps/list/item-expand-card/recruiter-details.js +68 -67
  179. package/src/components/modules/maps/list/item-expand-card/recruiter-headshot.js +22 -22
  180. package/src/components/modules/maps/list/list-item/index.js +134 -133
  181. package/src/components/modules/maps/map-list.js +74 -73
  182. package/src/components/modules/maps/map-marker.js +86 -84
  183. package/src/components/modules/maps/map.js +229 -226
  184. package/src/components/modules/maps/place-marker.js +1 -1
  185. package/src/components/modules/maps/tabs.js +81 -79
  186. package/src/constants/placeTypes.js +8 -8
  187. package/src/contexts/mapContext.js +20 -19
  188. package/src/contexts/mapListContext.js +20 -15
  189. package/src/contexts/placesContext.js +4 -0
  190. package/src/hooks/useList.js +12 -10
  191. package/src/index.js +3 -103
  192. package/src/services/configService.js +16 -16
  193. package/src/services/googlePlacesNearbyService.js +33 -33
  194. package/src/services/listingAggregatorService.js +5 -4
  195. package/src/services/listingEntityService.js +2 -1
  196. package/src/services/listingService.js +27 -28
  197. package/src/services/recruiterService.js +17 -17
  198. package/src/styles/{globals.css → index.css} +23 -23
  199. package/src/util/arrayUtil.js +3 -3
  200. package/src/util/fieldMapper.js +22 -19
  201. package/src/util/filterUtil.js +19 -19
  202. package/src/util/loading.js +17 -17
  203. package/src/util/localStorageUtil.js +26 -26
  204. package/src/util/mapIconUtil.js +3 -3
  205. package/src/util/sortUtil.js +32 -32
  206. package/src/util/stringUtils.js +6 -6
  207. package/{src/tailwind/tailwind.config.js → tailwind.config.js} +126 -127
  208. package/dist/globals.css +0 -3
  209. package/dist/output.css +0 -784
  210. package/dist/services/globals.css +0 -3
  211. package/rollup.config.js +0 -68
  212. package/src/components/layout/footer.js +0 -34
  213. package/src/components/layout/header.js +0 -23
  214. package/src/components/layout/layout.js +0 -36
  215. package/src/components/modules/animations/slidein.js +0 -41
  216. package/src/components/modules/navigation/nav-link.js +0 -65
  217. package/src/components/modules/navigation/navbar.js +0 -106
  218. package/src/components/modules/navigation/skip-link.js +0 -21
  219. package/src/components/modules/navigation/social.js +0 -29
  220. package/src/components/modules/sections/default.js +0 -59
  221. package/src/components/modules/sections/sectionContext.js +0 -4
  222. package/src/hooks/useClickOutside.js +0 -16
  223. package/src/hooks/useEventListener.js +0 -25
  224. package/src/hooks/useEventTracker.js +0 -19
  225. package/src/hooks/useRefScrollProgress.js +0 -24
  226. package/src/hooks/useScript.js +0 -63
  227. package/src/hooks/useScrollDirection.js +0 -39
  228. package/src/hooks/useSectionTracker.js +0 -95
  229. package/src/hooks/useUserAgent.js +0 -43
  230. package/src/hooks/useWindowSize.js +0 -28
  231. package/src/index.css +0 -25
  232. package/src/styles/fonts.js +0 -0
  233. package/src/util/page-head.js +0 -62
  234. package/src/util/provider.js +0 -12
@@ -1,104 +1,107 @@
1
- import React from 'react';
2
- import { Icon } from "@iconify/react";
3
- import Accordion from "~/components/modules/accordions/default";
4
- import Header from "~/components/modules/maps/list/header";
5
- import MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';
6
- import useListLogic from '~/hooks/useList';
7
- import Sort from '~/components/modules/filter/sort';
8
- import Loading from "~/util/loading";
9
- import { useMap } from '~/contexts/mapContext';
10
- import { useMapList } from '~/contexts/mapListContext';
11
- import ListingDetails from "~/components/modules/jobListing/listing-details";
12
-
13
- const ItemsList = ({
14
- fieldNames,
15
- showMap,
16
- fieldsShown,
17
- specialFeatures
18
- }) => {
19
-
20
- const {
21
- itemLimit,
22
- sortSetting,
23
- loader,
24
- scrollContainerRef,
25
- itemRefs,
26
- setSortSetting
27
- } = useListLogic();
28
- const { selectedListItem } = useMap();
29
- const { mapItems, filteredListings, loading, commuteLocation } = useMapList();
30
- const itemExpandedContent = (item, recruiters) =>
31
- item ? <ListingDetails item={item} recruiters={recruiters} /> : null;
32
- if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
33
- fieldsShown.push('travelTime');
34
- fieldNames['travelTime'] = 'Commute';
35
- } else if (fieldsShown.includes('travelTime') && !commuteLocation) {
36
- fieldsShown = fieldsShown.filter(x => x !== 'travelTime');
37
- }
38
-
39
- return (
40
- <div className="hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col">
41
- <div className="hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20">
42
- <h2 className="hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm">
43
- {loading &&
44
- <span>Loading...</span>
45
- }
46
- {!loading &&
47
- <span>{filteredListings.length} results</span>
48
- }
49
- </h2>
50
- <div className="hc-block md:hc-hidden">
51
- <Sort
52
- fields={fieldsShown}
53
- setSortSetting={setSortSetting}
54
- fieldNames={fieldNames}
55
- />
56
- </div>
57
- </div>
58
- <div>
59
- <Header
60
- setSortSetting={setSortSetting}
61
- sortSetting={sortSetting}
62
- fieldsShown={fieldsShown}
63
- fieldNames={fieldNames}
64
- />
65
- </div>
66
- <div
67
- ref={scrollContainerRef}
68
- className={`
69
- hc-flex-grow hc-overflow-y-auto
70
- ${showMap ? "md:hc-max-h-45vh hc-max-h-[100vh]" : "md:hc-max-h-95vh hc-max-h-[95vh]"}
71
- `}
72
- >
73
- {loading ? (
74
- <div className="hc-flex hc-justify-center hc-items-center hc-pt-20">
75
- <Loading />
76
- </div>
77
- ) : (
78
- <Accordion className="hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]" defaultValue={selectedListItem?.id}>
79
- {filteredListings.slice(0, itemLimit).map(item => {
80
- return (<MapAccordionItem
81
- key={item.id}
82
- showMap={showMap}
83
- item={item}
84
- itemRefs={itemRefs}
85
- fieldsShown={fieldsShown}
86
- itemExpandedContent={itemExpandedContent}
87
- specialFeatures={specialFeatures}
88
- mapItems={mapItems}
89
- isActive={selectedListItem?.id == item.id}
90
- hasListItemSelected={selectedListItem != null}
91
- />
92
- );
93
- })}
94
- </Accordion>
95
- )}
96
- <div ref={loader} style={{ height: "100px", textAlign: "center" }}>
97
- {filteredListings.length >= itemLimit && <Loading />}
98
- </div>
99
- </div>
100
- </div>
101
- );
102
- };
103
-
104
- export default ItemsList;
1
+ import React from 'react';
2
+
3
+ import Accordion from '~/components/modules/accordions/default';
4
+ import Header from '~/components/modules/maps/list/header';
5
+ import MapAccordionItem from '~/components/modules/accordions/MapAccordionItem';
6
+ import Sort from '~/components/modules/filter/sort';
7
+ import ListingDetails from '~/components/modules/jobListing/listing-details';
8
+
9
+ import useListLogic from '~/hooks/useList';
10
+
11
+ import Loading from "~/util/loading";
12
+
13
+ import { useMap } from '~/contexts/mapContext';
14
+ import { useMapList } from '~/contexts/mapListContext';
15
+
16
+ const ItemsList = ({
17
+ fieldNames,
18
+ showMap,
19
+ fieldsShown,
20
+ specialFeatures
21
+ }) => {
22
+
23
+ const {
24
+ itemLimit,
25
+ sortSetting,
26
+ loader,
27
+ scrollContainerRef,
28
+ itemRefs,
29
+ setSortSetting
30
+ } = useListLogic();
31
+ const { selectedListItem } = useMap();
32
+ const { mapItems, filteredListings, loading, commuteLocation } = useMapList();
33
+ const itemExpandedContent = (item, recruiters) =>
34
+ item ? <ListingDetails item={item} recruiters={recruiters} /> : null;
35
+ if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
36
+ fieldsShown.push('travelTime');
37
+ fieldNames['travelTime'] = 'Commute';
38
+ } else if (fieldsShown.includes('travelTime') && !commuteLocation) {
39
+ fieldsShown = fieldsShown.filter(x => x !== 'travelTime');
40
+ }
41
+
42
+ return (
43
+ <div className="hc-relative hc-bg-white md:hc-px-4 hc-flex hc-flex-col">
44
+ <div className="hc-flex hc-flex-wrap hc-items-center hc-justify-between hc-gap-4 md:hc-mb-2 hc-p-3 md:hc-p-0 hc-bg-uiAccent/10 md:hc-bg-transparent hc-border-b md:hc-border-none hc-border-uiAccent/20">
45
+ <h2 className="hc-text-gray-500 hc-font-semibold hc-text-xs md:hc-text-sm">
46
+ {loading &&
47
+ <span>Loading...</span>
48
+ }
49
+ {!loading &&
50
+ <span>{filteredListings.length} results</span>
51
+ }
52
+ </h2>
53
+ <div className="hc-block md:hc-hidden">
54
+ <Sort
55
+ fields={fieldsShown}
56
+ setSortSetting={setSortSetting}
57
+ fieldNames={fieldNames}
58
+ />
59
+ </div>
60
+ </div>
61
+ <div>
62
+ <Header
63
+ setSortSetting={setSortSetting}
64
+ sortSetting={sortSetting}
65
+ fieldsShown={fieldsShown}
66
+ fieldNames={fieldNames}
67
+ />
68
+ </div>
69
+ <div
70
+ ref={scrollContainerRef}
71
+ className={`
72
+ hc-flex-grow hc-overflow-y-auto
73
+ ${showMap ? "md:hc-max-h-45vh hc-max-h-[100vh]" : "md:hc-max-h-95vh hc-max-h-[95vh]"}
74
+ `}
75
+ >
76
+ {loading ? (
77
+ <div className="hc-flex hc-justify-center hc-items-center hc-pt-20">
78
+ <Loading />
79
+ </div>
80
+ ) : (
81
+ <Accordion className="hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]" defaultValue={selectedListItem?.id}>
82
+ {filteredListings.slice(0, itemLimit).map(item => {
83
+ return (<MapAccordionItem
84
+ key={item.id}
85
+ showMap={showMap}
86
+ item={item}
87
+ itemRefs={itemRefs}
88
+ fieldsShown={fieldsShown}
89
+ itemExpandedContent={itemExpandedContent}
90
+ specialFeatures={specialFeatures}
91
+ mapItems={mapItems}
92
+ isActive={selectedListItem?.id == item.id}
93
+ hasListItemSelected={selectedListItem != null}
94
+ />
95
+ );
96
+ })}
97
+ </Accordion>
98
+ )}
99
+ <div ref={loader} style={{ height: "100px", textAlign: "center" }}>
100
+ {filteredListings.length >= itemLimit && <Loading />}
101
+ </div>
102
+ </div>
103
+ </div>
104
+ );
105
+ };
106
+
107
+ export default ItemsList;
@@ -1,21 +1,22 @@
1
- import { twMerge } from 'tailwind-merge';
2
- import React from 'react'
3
- const CardItemExpand = ({
4
- className,
5
- content,
6
- ...props
7
- }) => {
8
- return (
9
- <div
10
- className={twMerge(
11
- 'hc-flex hc-flex-col lg:hc-flex-row hc-flex-wrap hc-items-stretch hc-gap-x-4 hc-w-full lg:hc-pt-2 hc-border-t hc-border-uiAccent/20',
12
- className ?? ''
13
- )}
14
- {...props}
15
- >
16
- {content}
17
- </div>
18
- );
19
- };
20
-
21
- export default CardItemExpand;
1
+ import React from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ const CardItemExpand = ({
5
+ className,
6
+ content,
7
+ ...props
8
+ }) => {
9
+ return (
10
+ <div
11
+ className={twMerge(
12
+ 'hc-flex hc-flex-col lg:hc-flex-row hc-flex-wrap hc-items-stretch hc-gap-x-4 hc-w-full lg:hc-pt-2 hc-border-t hc-border-uiAccent/20',
13
+ className ?? ''
14
+ )}
15
+ {...props}
16
+ >
17
+ {content}
18
+ </div>
19
+ );
20
+ };
21
+
22
+ export default CardItemExpand;
@@ -1,48 +1,50 @@
1
- import Button from '~/components/modules/buttons/default';
2
- import React from 'react'
3
- const RecruiterContactNav = ({
4
- children,
5
- className
6
- }) => {
7
- return (
8
- <nav
9
- className={`
10
- hc-inline-flex hc-items-center hc-justify-between hc-gap-2 hc-mt-2
11
- ${className ?? ''}
12
- `}
13
- >
14
- {children}
15
- </nav>
16
- );
17
- };
18
-
19
- export const NavButton = ({
20
- className,
21
- href,
22
- target = '_self',
23
- title,
24
- icon,
25
- ...props
26
- }) => {
27
- return (
28
- <Button.Anchor
29
- href={href}
30
- variant="icon"
31
- size="sq"
32
- target={target}
33
- title={title}
34
- className={className ?? ''}
35
- {...props}
36
- >
37
- <span className="hc-sr-only">{title}</span>
38
- <Button.Icon
39
- icon={icon}
40
- size="hc-size-8"
41
- />
42
- </Button.Anchor>
43
- );
44
- };
45
-
46
- RecruiterContactNav.Button = NavButton;
47
-
48
- export default RecruiterContactNav;
1
+ import React from 'react';
2
+
3
+ import Button from '~/components/modules/buttons/default';
4
+
5
+ const RecruiterContactNav = ({
6
+ children,
7
+ className
8
+ }) => {
9
+ return (
10
+ <nav
11
+ className={`
12
+ hc-inline-flex hc-items-center hc-justify-between hc-gap-2 hc-mt-2
13
+ ${className ?? ''}
14
+ `}
15
+ >
16
+ {children}
17
+ </nav>
18
+ );
19
+ };
20
+
21
+ export const NavButton = ({
22
+ className,
23
+ href,
24
+ target = '_self',
25
+ title,
26
+ icon,
27
+ ...props
28
+ }) => {
29
+ return (
30
+ <Button.Anchor
31
+ href={href}
32
+ variant="icon"
33
+ size="sq"
34
+ target={target}
35
+ title={title}
36
+ className={className ?? ''}
37
+ {...props}
38
+ >
39
+ <span className="hc-sr-only">{title}</span>
40
+ <Button.Icon
41
+ icon={icon}
42
+ size="hc-size-8"
43
+ />
44
+ </Button.Anchor>
45
+ );
46
+ };
47
+
48
+ RecruiterContactNav.Button = NavButton;
49
+
50
+ export default RecruiterContactNav;
@@ -1,67 +1,68 @@
1
- import { twMerge } from 'tailwind-merge';
2
- import React from 'react'
3
- const RecruiterDetails = ({
4
- contactNav,
5
- className,
6
- children
7
- }) => {
8
- return (
9
- <div
10
- className={twMerge`
11
- hc-grow
12
- ${className ?? ''}
13
- `}
14
- >
15
- {children}
16
-
17
- {contactNav &&
18
- <div className="hc-inline-flex">
19
- {contactNav}
20
- </div>
21
- }
22
- </div>
23
- );
24
- };
25
-
26
- export const Title = ({
27
- as = 'h4',
28
- className,
29
- children
30
- }) => {
31
- const Container = as;
32
-
33
- return (
34
- <Container
35
- className={twMerge`
36
- hc-text-base hc-font-medium
37
- ${className ?? ''}
38
- `}
39
- >
40
- {children}
41
- </Container>
42
- );
43
- };
44
-
45
- export const Text = ({
46
- as = 'p',
47
- className,
48
- children
49
- }) => {
50
- const Container = as;
51
-
52
- return (
53
- <Container
54
- className={twMerge`
55
- hc-text-sm hc-text-uiText/60
56
- ${className ?? ''}
57
- `}
58
- >
59
- {children}
60
- </Container>
61
- );
62
- };
63
-
64
- RecruiterDetails.Title = Title;
65
- RecruiterDetails.Text = Text;
66
-
67
- export default RecruiterDetails;
1
+ import React from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ const RecruiterDetails = ({
5
+ contactNav,
6
+ className,
7
+ children
8
+ }) => {
9
+ return (
10
+ <div
11
+ className={twMerge`
12
+ hc-grow
13
+ ${className ?? ''}
14
+ `}
15
+ >
16
+ {children}
17
+
18
+ {contactNav &&
19
+ <div className="hc-inline-flex">
20
+ {contactNav}
21
+ </div>
22
+ }
23
+ </div>
24
+ );
25
+ };
26
+
27
+ export const Title = ({
28
+ as = 'h4',
29
+ className,
30
+ children
31
+ }) => {
32
+ const Container = as;
33
+
34
+ return (
35
+ <Container
36
+ className={twMerge`
37
+ hc-text-base hc-font-medium
38
+ ${className ?? ''}
39
+ `}
40
+ >
41
+ {children}
42
+ </Container>
43
+ );
44
+ };
45
+
46
+ export const Text = ({
47
+ as = 'p',
48
+ className,
49
+ children
50
+ }) => {
51
+ const Container = as;
52
+
53
+ return (
54
+ <Container
55
+ className={twMerge`
56
+ hc-text-sm hc-text-uiText/60
57
+ ${className ?? ''}
58
+ `}
59
+ >
60
+ {children}
61
+ </Container>
62
+ );
63
+ };
64
+
65
+ RecruiterDetails.Title = Title;
66
+ RecruiterDetails.Text = Text;
67
+
68
+ export default RecruiterDetails;
@@ -1,22 +1,22 @@
1
- import React from 'react'
2
-
3
- const RecruiterHeadshot = ({
4
- image,
5
- alt,
6
- className,
7
- imageClassName
8
- }) => {
9
- return (
10
- <div className={className ?? ''}>
11
- <img
12
- src={image}
13
- width="96"
14
- height="96"
15
- alt={alt}
16
- className={imageClassName ?? ''}
17
- />
18
- </div>
19
- );
20
- };
21
-
22
- export default RecruiterHeadshot;
1
+ import React from 'react';
2
+
3
+ const RecruiterHeadshot = ({
4
+ image,
5
+ alt,
6
+ className,
7
+ imageClassName
8
+ }) => {
9
+ return (
10
+ <div className={className ?? ''}>
11
+ <img
12
+ src={image}
13
+ width="96"
14
+ height="96"
15
+ alt={alt}
16
+ className={imageClassName ?? ''}
17
+ />
18
+ </div>
19
+ );
20
+ };
21
+
22
+ export default RecruiterHeadshot;