@abcagency/hc-ui-components 1.3.13 → 1.3.15

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 (147) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  2. package/dist/apis/hcApi.js +1 -1
  3. package/dist/apis/hcApi.js.map +1 -1
  4. package/dist/clientToken.js.map +1 -1
  5. package/dist/components/HireControlMap.js.map +1 -1
  6. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  7. package/dist/components/modules/accordions/default.js.map +1 -1
  8. package/dist/components/modules/accordions/filterItem.js +2 -1
  9. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  10. package/dist/components/modules/accordions/filters.js +0 -3
  11. package/dist/components/modules/accordions/filters.js.map +1 -1
  12. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  13. package/dist/components/modules/buttons/commute-pill.js.map +1 -1
  14. package/dist/components/modules/buttons/default.js.map +1 -1
  15. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  16. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  17. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  18. package/dist/components/modules/cards/default.js.map +1 -1
  19. package/dist/components/modules/cards/filter.js.map +1 -1
  20. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  21. package/dist/components/modules/filter/commute.js.map +1 -1
  22. package/dist/components/modules/filter/item.js +6 -1
  23. package/dist/components/modules/filter/item.js.map +1 -1
  24. package/dist/components/modules/filter/location.js +5 -3
  25. package/dist/components/modules/filter/location.js.map +1 -1
  26. package/dist/components/modules/filter/points-of-interest.js.map +1 -1
  27. package/dist/components/modules/filter/radio-item.js.map +1 -1
  28. package/dist/components/modules/filter/search.js.map +1 -1
  29. package/dist/components/modules/filter/sort.js.map +1 -1
  30. package/dist/components/modules/grid.js.map +1 -1
  31. package/dist/components/modules/icon.js.map +1 -1
  32. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  33. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  34. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  35. package/dist/components/modules/maps/list/field-mapper.js.map +1 -1
  36. package/dist/components/modules/maps/list/header-item.js.map +1 -1
  37. package/dist/components/modules/maps/list/header.js.map +1 -1
  38. package/dist/components/modules/maps/list/index.js +11 -10
  39. package/dist/components/modules/maps/list/index.js.map +1 -1
  40. package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -1
  41. package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -1
  42. package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -1
  43. package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -1
  44. package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
  45. package/dist/components/modules/maps/map-list.js.map +1 -1
  46. package/dist/components/modules/maps/map-marker.js.map +1 -1
  47. package/dist/components/modules/maps/map.js.map +1 -1
  48. package/dist/components/modules/maps/place-marker.js.map +1 -1
  49. package/dist/components/modules/maps/tabs.js.map +1 -1
  50. package/dist/constants/placeTypes.js.map +1 -1
  51. package/dist/contexts/mapContext.js +9 -27
  52. package/dist/contexts/mapContext.js.map +1 -1
  53. package/dist/contexts/mapListContext.js +54 -37
  54. package/dist/contexts/mapListContext.js.map +1 -1
  55. package/dist/contexts/placesContext.js.map +1 -1
  56. package/dist/hooks/useList.js +3 -15
  57. package/dist/hooks/useList.js.map +1 -1
  58. package/dist/services/apis/hcApi.js +1 -1
  59. package/dist/services/apis/hcApi.js.map +1 -1
  60. package/dist/services/clientToken.js.map +1 -1
  61. package/dist/services/configService.js.map +1 -1
  62. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  63. package/dist/services/listingAggregatorService.js +43 -16
  64. package/dist/services/listingAggregatorService.js.map +1 -1
  65. package/dist/services/listingEntityService.js.map +1 -1
  66. package/dist/services/listingService.js.map +1 -1
  67. package/dist/services/recruiterService.js.map +1 -1
  68. package/dist/util/filterUtil.js.map +1 -1
  69. package/dist/util/loading.js.map +1 -1
  70. package/dist/util/localStorageUtil.js.map +1 -1
  71. package/dist/util/mapIconUtil.js.map +1 -1
  72. package/dist/util/mapUtil.js.map +1 -1
  73. package/dist/util/sortUtil.js.map +1 -1
  74. package/dist/util/stringUtils.js.map +1 -1
  75. package/jsconfig.json +7 -7
  76. package/package.json +7 -7
  77. package/postcss.config.js +13 -13
  78. package/preset.default.js +15 -15
  79. package/rollup.config.mjs +88 -87
  80. package/src/apis/hcApi.js +93 -93
  81. package/src/clientToken.js +9 -9
  82. package/src/components/HireControlMap.js +124 -124
  83. package/src/components/modules/accordions/MapAccordionItem.js +72 -72
  84. package/src/components/modules/accordions/default.js +171 -171
  85. package/src/components/modules/accordions/filterItem.js +3 -1
  86. package/src/components/modules/accordions/filters.js +1 -1
  87. package/src/components/modules/buttons/button-group-apply.js +116 -116
  88. package/src/components/modules/buttons/commute-pill.js +22 -22
  89. package/src/components/modules/buttons/default.js +194 -194
  90. package/src/components/modules/buttons/items-pill.js +35 -35
  91. package/src/components/modules/buttons/pill-wrapper.js +27 -27
  92. package/src/components/modules/buttons/show-all-button.js +20 -20
  93. package/src/components/modules/cards/default.js +167 -167
  94. package/src/components/modules/cards/filter.js +56 -56
  95. package/src/components/modules/dialogs/apply-dialog.js +48 -48
  96. package/src/components/modules/filter/commute.js +149 -149
  97. package/src/components/modules/filter/item.js +5 -0
  98. package/src/components/modules/filter/location.js +5 -3
  99. package/src/components/modules/filter/points-of-interest.js +44 -44
  100. package/src/components/modules/filter/radio-item.js +53 -53
  101. package/src/components/modules/filter/search.js +92 -92
  102. package/src/components/modules/filter/sort.js +83 -83
  103. package/src/components/modules/grid.js +54 -54
  104. package/src/components/modules/icon.js +33 -33
  105. package/src/components/modules/jobListing/listing-details.js +95 -95
  106. package/src/components/modules/maps/info-window-card.js +17 -17
  107. package/src/components/modules/maps/info-window-content.js +74 -74
  108. package/src/components/modules/maps/list/field-mapper.js +112 -112
  109. package/src/components/modules/maps/list/header-item.js +91 -91
  110. package/src/components/modules/maps/list/header.js +47 -47
  111. package/src/components/modules/maps/list/index.js +7 -7
  112. package/src/components/modules/maps/list/item-expand-card/index.js +22 -22
  113. package/src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +50 -50
  114. package/src/components/modules/maps/list/item-expand-card/recruiter-details.js +68 -68
  115. package/src/components/modules/maps/list/item-expand-card/recruiter-headshot.js +22 -22
  116. package/src/components/modules/maps/list/list-item/index.js +133 -133
  117. package/src/components/modules/maps/map-list.js +74 -74
  118. package/src/components/modules/maps/map-marker.js +86 -86
  119. package/src/components/modules/maps/map.js +230 -230
  120. package/src/components/modules/maps/place-marker.js +41 -41
  121. package/src/components/modules/maps/tabs.js +81 -81
  122. package/src/constants/placeTypes.js +8 -8
  123. package/src/contexts/mapContext.js +0 -14
  124. package/src/contexts/mapListContext.js +26 -8
  125. package/src/contexts/placesContext.js +102 -102
  126. package/src/hooks/useList.js +4 -16
  127. package/src/index.js +3 -3
  128. package/src/services/configService.js +16 -16
  129. package/src/services/googlePlacesNearbyService.js +33 -33
  130. package/src/services/listingAggregatorService.js +9 -4
  131. package/src/services/listingEntityService.js +15 -15
  132. package/src/services/listingService.js +26 -26
  133. package/src/services/recruiterService.js +17 -17
  134. package/src/styles/index.css +23 -23
  135. package/src/util/arrayUtil.js +3 -3
  136. package/src/util/fieldMapper.js +22 -22
  137. package/src/util/filterUtil.js +195 -195
  138. package/src/util/loading.js +17 -17
  139. package/src/util/localStorageUtil.js +26 -26
  140. package/src/util/mapIconUtil.js +180 -180
  141. package/src/util/mapUtil.js +91 -91
  142. package/src/util/sortUtil.js +32 -32
  143. package/src/util/stringUtils.js +6 -6
  144. package/tailwind.config.js +126 -126
  145. package/.editorconfig +0 -12
  146. package/.eslintrc +0 -105
  147. package/.prettierignore +0 -3
@@ -1,91 +1,91 @@
1
- import React, { useState, useEffect } from 'react';
2
-
3
- import Button from '~/components/modules/buttons/default';
4
-
5
- const SORT_STATE = {
6
- notSorted: "not-sorted",
7
- sortedAsc: "sorted-asc",
8
- sortedDesc: "sorted-desc"
9
- };
10
-
11
- const HeaderItem = ({
12
- className,
13
- children,
14
- field,
15
- setSortSetting,
16
- sortSetting,
17
- isSortable,
18
- ...rest
19
- }) => {
20
- const [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);
21
-
22
- const handleChange = field => {
23
- if (isSortable === false)
24
- return;
25
- let setting = {
26
- field: field,
27
- type: isSorted === SORT_STATE.sortedAsc ? "desc" : "asc"
28
- };
29
- setSortSetting(setting);
30
- isSorted === SORT_STATE.notSorted
31
- ? setIsSorted(SORT_STATE.sortedAsc)
32
- : isSorted === SORT_STATE.sortedAsc
33
- ? setIsSorted(SORT_STATE.sortedDesc)
34
- : setIsSorted(SORT_STATE.sortedAsc);
35
- };
36
-
37
- useEffect(() => {
38
- if (sortSetting?.field != null && sortSetting.field != field) {
39
- setIsSorted(SORT_STATE.notSorted);
40
- } else if (
41
- sortSetting?.field != null &&
42
- isSorted == SORT_STATE.notSorted &&
43
- sortSetting.field == field
44
- ) {
45
- setIsSorted(
46
- sortSetting.type == "asc"
47
- ? SORT_STATE.sortedAsc
48
- : SORT_STATE.sortedDesc
49
- );
50
- }
51
- }, [sortSetting, isSorted, field]);
52
-
53
- return (
54
- <Button.Btn
55
- onClick={() => handleChange(field)}
56
- variant="none"
57
- className={`
58
- hc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5
59
- ${field.toLowerCase() === "position" ? "hc-col-span-2" : "hc-col-span-1"}
60
- ${className ?? ""}
61
- `}
62
- {...rest}
63
- >
64
- <Button.Body>
65
- <span className="hc-font-semibold">{children}</span>
66
- {isSortable && (
67
- <div className="hc-flex hc-flex-col hc-pr-2">
68
- <Button.Icon
69
- icon="bi:caret-up-fill"
70
- size="hc-size-2.5"
71
- className={`
72
- hc-transition-opacity
73
- ${isSorted === "sorted-asc" ? "hc-opacity-100 hc-text-primary" : "hc-opacity-30"}
74
- `}
75
- />
76
- <Button.Icon
77
- icon="bi:caret-down-fill"
78
- size="hc-size-2.5"
79
- className={`
80
- transition-opacity
81
- ${isSorted === "sorted-desc" ? "hc-opacity-100" : "hc-opacity-30"}
82
- `}
83
- />
84
- </div>
85
- )}
86
- </Button.Body>
87
- </Button.Btn>
88
- );
89
- };
90
-
91
- export default HeaderItem;
1
+ import React, { useState, useEffect } from 'react';
2
+
3
+ import Button from '~/components/modules/buttons/default';
4
+
5
+ const SORT_STATE = {
6
+ notSorted: "not-sorted",
7
+ sortedAsc: "sorted-asc",
8
+ sortedDesc: "sorted-desc"
9
+ };
10
+
11
+ const HeaderItem = ({
12
+ className,
13
+ children,
14
+ field,
15
+ setSortSetting,
16
+ sortSetting,
17
+ isSortable,
18
+ ...rest
19
+ }) => {
20
+ const [isSorted, setIsSorted] = useState(SORT_STATE.notSorted);
21
+
22
+ const handleChange = field => {
23
+ if (isSortable === false)
24
+ return;
25
+ let setting = {
26
+ field: field,
27
+ type: isSorted === SORT_STATE.sortedAsc ? "desc" : "asc"
28
+ };
29
+ setSortSetting(setting);
30
+ isSorted === SORT_STATE.notSorted
31
+ ? setIsSorted(SORT_STATE.sortedAsc)
32
+ : isSorted === SORT_STATE.sortedAsc
33
+ ? setIsSorted(SORT_STATE.sortedDesc)
34
+ : setIsSorted(SORT_STATE.sortedAsc);
35
+ };
36
+
37
+ useEffect(() => {
38
+ if (sortSetting?.field != null && sortSetting.field != field) {
39
+ setIsSorted(SORT_STATE.notSorted);
40
+ } else if (
41
+ sortSetting?.field != null &&
42
+ isSorted == SORT_STATE.notSorted &&
43
+ sortSetting.field == field
44
+ ) {
45
+ setIsSorted(
46
+ sortSetting.type == "asc"
47
+ ? SORT_STATE.sortedAsc
48
+ : SORT_STATE.sortedDesc
49
+ );
50
+ }
51
+ }, [sortSetting, isSorted, field]);
52
+
53
+ return (
54
+ <Button.Btn
55
+ onClick={() => handleChange(field)}
56
+ variant="none"
57
+ className={`
58
+ hc-p-2 hc-rounded-none hc-text-left hc-normal-case hover:hc-bg-uiAccent/5 focus:hc-bg-uiAccent/5
59
+ ${field.toLowerCase() === "position" ? "hc-col-span-2" : "hc-col-span-1"}
60
+ ${className ?? ""}
61
+ `}
62
+ {...rest}
63
+ >
64
+ <Button.Body>
65
+ <span className="hc-font-semibold">{children}</span>
66
+ {isSortable && (
67
+ <div className="hc-flex hc-flex-col hc-pr-2">
68
+ <Button.Icon
69
+ icon="bi:caret-up-fill"
70
+ size="hc-size-2.5"
71
+ className={`
72
+ hc-transition-opacity
73
+ ${isSorted === "sorted-asc" ? "hc-opacity-100 hc-text-primary" : "hc-opacity-30"}
74
+ `}
75
+ />
76
+ <Button.Icon
77
+ icon="bi:caret-down-fill"
78
+ size="hc-size-2.5"
79
+ className={`
80
+ transition-opacity
81
+ ${isSorted === "sorted-desc" ? "hc-opacity-100" : "hc-opacity-30"}
82
+ `}
83
+ />
84
+ </div>
85
+ )}
86
+ </Button.Body>
87
+ </Button.Btn>
88
+ );
89
+ };
90
+
91
+ export default HeaderItem;
@@ -1,47 +1,47 @@
1
- import React from 'react';
2
- import { twMerge } from 'tailwind-merge';
3
-
4
- import Grid from '~/components/modules/grid';
5
- import HeaderItem from '~/components/modules/maps/list/header-item';
6
-
7
- const ListHeader = ({
8
- className,
9
- fieldsShown,
10
- fieldNames,
11
- fieldIsSortable = true,
12
- setSortSetting,
13
- sortSetting
14
- }) => {
15
- return (
16
- <Grid
17
- columns="hc-grid-flow-col hc-auto-cols-fr"
18
- gap="hc-gap-0"
19
- isAnimated={false}
20
- className={twMerge`
21
- hc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10
22
- ${className ?? ""}
23
- `}
24
- >
25
- {fieldsShown.map(field => (
26
- <HeaderItem
27
- key={field}
28
- isSortable={fieldIsSortable}
29
- sortSetting={sortSetting}
30
- field={field}
31
- setSortSetting={setSortSetting}
32
- >
33
- {fieldNames[field]}
34
- </HeaderItem>
35
- ))}
36
- <HeaderItem key={"favorite"}
37
- isSortable={false}
38
- field={"favorite"}
39
- >
40
- Favorite
41
- </HeaderItem>
42
-
43
- </Grid>
44
- );
45
- };
46
-
47
- export default ListHeader;
1
+ import React from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ import Grid from '~/components/modules/grid';
5
+ import HeaderItem from '~/components/modules/maps/list/header-item';
6
+
7
+ const ListHeader = ({
8
+ className,
9
+ fieldsShown,
10
+ fieldNames,
11
+ fieldIsSortable = true,
12
+ setSortSetting,
13
+ sortSetting
14
+ }) => {
15
+ return (
16
+ <Grid
17
+ columns="hc-grid-flow-col hc-auto-cols-fr"
18
+ gap="hc-gap-0"
19
+ isAnimated={false}
20
+ className={twMerge`
21
+ hc-hidden md:hc-grid hc-bg-uiAccent/10 hc-border-b hc-border-uiAccent/10 hc-sticky hc-top-0 hc-z-10
22
+ ${className ?? ""}
23
+ `}
24
+ >
25
+ {fieldsShown.map(field => (
26
+ <HeaderItem
27
+ key={field}
28
+ isSortable={fieldIsSortable}
29
+ sortSetting={sortSetting}
30
+ field={field}
31
+ setSortSetting={setSortSetting}
32
+ >
33
+ {fieldNames[field]}
34
+ </HeaderItem>
35
+ ))}
36
+ <HeaderItem key={"favorite"}
37
+ isSortable={false}
38
+ field={"favorite"}
39
+ >
40
+ Favorite
41
+ </HeaderItem>
42
+
43
+ </Grid>
44
+ );
45
+ };
46
+
47
+ export default ListHeader;
@@ -13,23 +13,23 @@ import Loading from "~/util/loading";
13
13
  import { useMap } from '~/contexts/mapContext';
14
14
  import { useMapList } from '~/contexts/mapListContext';
15
15
 
16
+ import { dynamicSort } from '~/util/sortUtil';
17
+
16
18
  const ItemsList = ({
17
19
  fieldNames,
18
20
  showMap,
19
21
  fieldsShown,
20
22
  specialFeatures
21
23
  }) => {
22
-
24
+ const { mapItems, filteredListings, loading, commuteLocation, sortSetting, setSortSetting } = useMapList();
23
25
  const {
24
26
  itemLimit,
25
- sortSetting,
26
27
  loader,
27
28
  scrollContainerRef,
28
- itemRefs,
29
- setSortSetting
30
- } = useListLogic();
29
+ itemRefs
30
+ } = useListLogic(filteredListings);
31
31
  const { selectedListItem } = useMap();
32
- const { mapItems, filteredListings, loading, commuteLocation } = useMapList();
32
+
33
33
  const itemExpandedContent = (item, recruiters) =>
34
34
  item ? <ListingDetails item={item} recruiters={recruiters} /> : null;
35
35
  if (!fieldsShown.includes('travelTime') && commuteLocation != null && Object.entries(commuteLocation).length > 0) {
@@ -79,7 +79,7 @@ const ItemsList = ({
79
79
  </div>
80
80
  ) : (
81
81
  <Accordion className="hc-divide-y hc-divide-uiAccent/10 hc-z-[1000]" defaultValue={selectedListItem?.id}>
82
- {filteredListings.slice(0, itemLimit).map(item => {
82
+ {(sortSetting ? dynamicSort(filteredListings, sortSetting.field, sortSetting.type) : filteredListings).slice(0, itemLimit).map(item => {
83
83
  return (<MapAccordionItem
84
84
  key={item.id}
85
85
  showMap={showMap}
@@ -1,22 +1,22 @@
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
+ 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,50 +1,50 @@
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
+ 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,68 +1,68 @@
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
+ 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;