@abcagency/hc-ui-components 1.3.14 → 1.3.16
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.
- package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/apis/hcApi.js +1 -1
- package/dist/apis/hcApi.js.map +1 -1
- package/dist/clientToken.js.map +1 -1
- package/dist/components/HireControlMap.js +15 -5
- package/dist/components/HireControlMap.js.map +1 -1
- package/dist/components/modules/accordions/MapAccordionItem.js +11 -1
- package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
- package/dist/components/modules/accordions/default.js.map +1 -1
- package/dist/components/modules/accordions/filterItem.js +2 -1
- package/dist/components/modules/accordions/filterItem.js.map +1 -1
- package/dist/components/modules/accordions/filters.js +0 -3
- package/dist/components/modules/accordions/filters.js.map +1 -1
- package/dist/components/modules/buttons/button-group-apply.js +36 -15
- package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
- package/dist/components/modules/buttons/commute-pill.js.map +1 -1
- package/dist/components/modules/buttons/default.js.map +1 -1
- package/dist/components/modules/buttons/items-pill.js.map +1 -1
- package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
- package/dist/components/modules/buttons/show-all-button.js.map +1 -1
- package/dist/components/modules/cards/default.js.map +1 -1
- package/dist/components/modules/cards/filter.js.map +1 -1
- package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
- package/dist/components/modules/filter/commute.js +22 -6
- package/dist/components/modules/filter/commute.js.map +1 -1
- package/dist/components/modules/filter/index.js +7 -0
- package/dist/components/modules/filter/index.js.map +1 -1
- package/dist/components/modules/filter/item.js +16 -1
- package/dist/components/modules/filter/item.js.map +1 -1
- package/dist/components/modules/filter/location.js +1 -1
- package/dist/components/modules/filter/location.js.map +1 -1
- package/dist/components/modules/filter/points-of-interest.js.map +1 -1
- package/dist/components/modules/filter/radio-item.js +7 -0
- package/dist/components/modules/filter/radio-item.js.map +1 -1
- package/dist/components/modules/filter/search.js.map +1 -1
- package/dist/components/modules/filter/sort.js.map +1 -1
- package/dist/components/modules/grid.js.map +1 -1
- package/dist/components/modules/icon.js.map +1 -1
- package/dist/components/modules/jobListing/listing-details.js +6 -0
- package/dist/components/modules/jobListing/listing-details.js.map +1 -1
- package/dist/components/modules/maps/info-window-card.js.map +1 -1
- package/dist/components/modules/maps/info-window-content.js +20 -0
- package/dist/components/modules/maps/info-window-content.js.map +1 -1
- package/dist/components/modules/maps/list/field-mapper.js.map +1 -1
- package/dist/components/modules/maps/list/header-item.js.map +1 -1
- package/dist/components/modules/maps/list/header.js.map +1 -1
- package/dist/components/modules/maps/list/index.js +21 -12
- package/dist/components/modules/maps/list/index.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/index.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-details.js.map +1 -1
- package/dist/components/modules/maps/list/item-expand-card/recruiter-headshot.js.map +1 -1
- package/dist/components/modules/maps/list/list-item/index.js +12 -2
- package/dist/components/modules/maps/list/list-item/index.js.map +1 -1
- package/dist/components/modules/maps/map-list.js.map +1 -1
- package/dist/components/modules/maps/map-marker.js +10 -0
- package/dist/components/modules/maps/map-marker.js.map +1 -1
- package/dist/components/modules/maps/map.js.map +1 -1
- package/dist/components/modules/maps/place-marker.js.map +1 -1
- package/dist/components/modules/maps/tabs.js.map +1 -1
- package/dist/constants/eventTypes.js +16 -0
- package/dist/constants/eventTypes.js.map +1 -0
- package/dist/constants/placeTypes.js.map +1 -1
- package/dist/contexts/mapContext.js +9 -27
- package/dist/contexts/mapContext.js.map +1 -1
- package/dist/contexts/mapListContext.js +57 -38
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/contexts/placesContext.js.map +1 -1
- package/dist/contexts/trackEventContext.js +20 -0
- package/dist/contexts/trackEventContext.js.map +1 -0
- package/dist/hooks/useList.js +1 -13
- package/dist/hooks/useList.js.map +1 -1
- package/dist/services/apis/hcApi.js +1 -1
- package/dist/services/apis/hcApi.js.map +1 -1
- package/dist/services/clientToken.js.map +1 -1
- package/dist/services/configService.js.map +1 -1
- package/dist/services/googlePlacesNearbyService.js.map +1 -1
- package/dist/services/listingAggregatorService.js +43 -16
- package/dist/services/listingAggregatorService.js.map +1 -1
- package/dist/services/listingEntityService.js.map +1 -1
- package/dist/services/listingService.js.map +1 -1
- package/dist/services/recruiterService.js.map +1 -1
- package/dist/util/filterUtil.js.map +1 -1
- package/dist/util/loading.js.map +1 -1
- package/dist/util/localStorageUtil.js.map +1 -1
- package/dist/util/mapIconUtil.js.map +1 -1
- package/dist/util/mapUtil.js.map +1 -1
- package/dist/util/sortUtil.js.map +1 -1
- package/dist/util/stringUtils.js.map +1 -1
- package/jsconfig.json +7 -7
- package/package.json +60 -60
- package/postcss.config.js +13 -13
- package/preset.default.js +15 -15
- package/rollup.config.mjs +88 -87
- package/src/apis/hcApi.js +93 -93
- package/src/clientToken.js +9 -9
- package/src/components/HireControlMap.js +129 -124
- package/src/components/modules/accordions/MapAccordionItem.js +74 -72
- package/src/components/modules/accordions/default.js +171 -171
- package/src/components/modules/accordions/filterItem.js +55 -53
- package/src/components/modules/accordions/filters.js +47 -47
- package/src/components/modules/buttons/button-group-apply.js +123 -116
- package/src/components/modules/buttons/commute-pill.js +22 -22
- package/src/components/modules/buttons/default.js +194 -194
- package/src/components/modules/buttons/items-pill.js +35 -35
- package/src/components/modules/buttons/pill-wrapper.js +27 -27
- package/src/components/modules/buttons/show-all-button.js +20 -20
- package/src/components/modules/cards/default.js +167 -167
- package/src/components/modules/cards/filter.js +56 -56
- package/src/components/modules/dialogs/apply-dialog.js +48 -48
- package/src/components/modules/filter/commute.js +154 -149
- package/src/components/modules/filter/index.js +89 -87
- package/src/components/modules/filter/item.js +87 -76
- package/src/components/modules/filter/location.js +71 -71
- package/src/components/modules/filter/points-of-interest.js +44 -44
- package/src/components/modules/filter/radio-item.js +57 -53
- package/src/components/modules/filter/search.js +92 -92
- package/src/components/modules/filter/sort.js +83 -83
- package/src/components/modules/grid.js +54 -54
- package/src/components/modules/icon.js +33 -33
- package/src/components/modules/jobListing/listing-details.js +99 -95
- package/src/components/modules/maps/info-window-card.js +17 -17
- package/src/components/modules/maps/info-window-content.js +81 -74
- package/src/components/modules/maps/list/field-mapper.js +112 -112
- package/src/components/modules/maps/list/header-item.js +91 -91
- package/src/components/modules/maps/list/header.js +47 -47
- package/src/components/modules/maps/list/index.js +112 -107
- package/src/components/modules/maps/list/item-expand-card/index.js +22 -22
- package/src/components/modules/maps/list/item-expand-card/recruiter-contact-nav.js +50 -50
- package/src/components/modules/maps/list/item-expand-card/recruiter-details.js +68 -68
- package/src/components/modules/maps/list/item-expand-card/recruiter-headshot.js +22 -22
- package/src/components/modules/maps/list/list-item/index.js +135 -133
- package/src/components/modules/maps/map-list.js +74 -74
- package/src/components/modules/maps/map-marker.js +88 -86
- package/src/components/modules/maps/map.js +230 -230
- package/src/components/modules/maps/place-marker.js +41 -41
- package/src/components/modules/maps/tabs.js +81 -81
- package/src/constants/eventTypes.js +13 -0
- package/src/constants/placeTypes.js +8 -8
- package/src/contexts/mapContext.js +101 -115
- package/src/contexts/mapListContext.js +242 -222
- package/src/contexts/placesContext.js +102 -102
- package/src/contexts/trackEventContext.js +14 -0
- package/src/hooks/useList.js +89 -100
- package/src/index.js +3 -3
- package/src/services/configService.js +16 -16
- package/src/services/googlePlacesNearbyService.js +33 -33
- package/src/services/listingAggregatorService.js +50 -45
- package/src/services/listingEntityService.js +15 -15
- package/src/services/listingService.js +26 -26
- package/src/services/recruiterService.js +17 -17
- package/src/styles/index.css +23 -23
- package/src/util/arrayUtil.js +3 -3
- package/src/util/fieldMapper.js +22 -22
- package/src/util/filterUtil.js +195 -195
- package/src/util/loading.js +17 -17
- package/src/util/localStorageUtil.js +26 -26
- package/src/util/mapIconUtil.js +180 -180
- package/src/util/mapUtil.js +91 -91
- package/src/util/sortUtil.js +32 -32
- package/src/util/stringUtils.js +6 -6
- package/src/util/urlFilterUtil.js +90 -90
- package/tailwind.config.js +126 -126
- package/.editorconfig +0 -12
- package/.eslintrc +0 -105
- package/.prettierignore +0 -3
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
export const updateURLWithFilters = (filters, location, navigate, query) => {
|
|
2
|
-
const searchParams = new URLSearchParams(location.search);
|
|
3
|
-
|
|
4
|
-
Object.keys(Object.fromEntries(searchParams)).forEach(key => {
|
|
5
|
-
if (!key.includes('.') && key !== 'query') {
|
|
6
|
-
searchParams.set(key, searchParams.get(key));
|
|
7
|
-
}
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
if (query) {
|
|
11
|
-
searchParams.set('query', query);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
Object.keys(filters).forEach(category => {
|
|
15
|
-
Object.keys(filters[category]).forEach(filter => {
|
|
16
|
-
const key = `${category}.${filter}`;
|
|
17
|
-
if (filters[category][filter]) {
|
|
18
|
-
searchParams.set(key, 'true');
|
|
19
|
-
} else {
|
|
20
|
-
searchParams.delete(key);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
navigate({
|
|
26
|
-
search: searchParams.toString()
|
|
27
|
-
}, { replace: true });
|
|
28
|
-
|
|
29
|
-
notifyParentOfUrlChange();
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
function notifyParentOfUrlChange() {
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
var message = {
|
|
35
|
-
type: 'URL_CHANGE',
|
|
36
|
-
url: window.location.href
|
|
37
|
-
};
|
|
38
|
-
window.parent.postMessage(message, "*");
|
|
39
|
-
}, 500);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const parseQueryParams = search => {
|
|
43
|
-
const queryParams = {};
|
|
44
|
-
if (!search) return queryParams;
|
|
45
|
-
let queryString = search.split('?')[1];
|
|
46
|
-
if (!queryString) {
|
|
47
|
-
return queryParams;
|
|
48
|
-
}
|
|
49
|
-
queryString = queryString.replaceAll('+', ' ');
|
|
50
|
-
queryString.split('&').forEach(param => {
|
|
51
|
-
const [key, value] = param.split('=');
|
|
52
|
-
queryParams[decodeURIComponent(key)] = decodeURIComponent(value);
|
|
53
|
-
});
|
|
54
|
-
return queryParams;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export const filtersFromURL = location => {
|
|
58
|
-
if (!location || !location.search) return;
|
|
59
|
-
const filters = {};
|
|
60
|
-
let queryParam = null;
|
|
61
|
-
const queryParams = parseQueryParams(location.search);
|
|
62
|
-
if (!queryParams) return;
|
|
63
|
-
Object.keys(queryParams).forEach(key => {
|
|
64
|
-
if (key && key.includes('.')) {
|
|
65
|
-
const [category, filter] = key.split('.');
|
|
66
|
-
if (!filters[category]) {
|
|
67
|
-
filters[category] = {};
|
|
68
|
-
}
|
|
69
|
-
filters[category][filter] = queryParams[key] === 'true';
|
|
70
|
-
} else if (key === 'query') {
|
|
71
|
-
queryParam = queryParams[key];
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
return { filters, query: queryParam };
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const hasFiltersInURL = location => {
|
|
79
|
-
if (!location || !location.search) return;
|
|
80
|
-
const queryParams = parseQueryParams(location.search);
|
|
81
|
-
if (!queryParams) return;
|
|
82
|
-
return Object.keys(queryParams).some(key => key.includes('.'));
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const hasQueryInUrl = location => {
|
|
86
|
-
if (!location || !location.search) return;
|
|
87
|
-
const queryParams = parseQueryParams(location.search);
|
|
88
|
-
if (!queryParams) return;
|
|
89
|
-
return Object.keys(queryParams).includes('query');
|
|
90
|
-
};
|
|
1
|
+
export const updateURLWithFilters = (filters, location, navigate, query) => {
|
|
2
|
+
const searchParams = new URLSearchParams(location.search);
|
|
3
|
+
|
|
4
|
+
Object.keys(Object.fromEntries(searchParams)).forEach(key => {
|
|
5
|
+
if (!key.includes('.') && key !== 'query') {
|
|
6
|
+
searchParams.set(key, searchParams.get(key));
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
if (query) {
|
|
11
|
+
searchParams.set('query', query);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Object.keys(filters).forEach(category => {
|
|
15
|
+
Object.keys(filters[category]).forEach(filter => {
|
|
16
|
+
const key = `${category}.${filter}`;
|
|
17
|
+
if (filters[category][filter]) {
|
|
18
|
+
searchParams.set(key, 'true');
|
|
19
|
+
} else {
|
|
20
|
+
searchParams.delete(key);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
navigate({
|
|
26
|
+
search: searchParams.toString()
|
|
27
|
+
}, { replace: true });
|
|
28
|
+
|
|
29
|
+
notifyParentOfUrlChange();
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function notifyParentOfUrlChange() {
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
var message = {
|
|
35
|
+
type: 'URL_CHANGE',
|
|
36
|
+
url: window.location.href
|
|
37
|
+
};
|
|
38
|
+
window.parent.postMessage(message, "*");
|
|
39
|
+
}, 500);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const parseQueryParams = search => {
|
|
43
|
+
const queryParams = {};
|
|
44
|
+
if (!search) return queryParams;
|
|
45
|
+
let queryString = search.split('?')[1];
|
|
46
|
+
if (!queryString) {
|
|
47
|
+
return queryParams;
|
|
48
|
+
}
|
|
49
|
+
queryString = queryString.replaceAll('+', ' ');
|
|
50
|
+
queryString.split('&').forEach(param => {
|
|
51
|
+
const [key, value] = param.split('=');
|
|
52
|
+
queryParams[decodeURIComponent(key)] = decodeURIComponent(value);
|
|
53
|
+
});
|
|
54
|
+
return queryParams;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export const filtersFromURL = location => {
|
|
58
|
+
if (!location || !location.search) return;
|
|
59
|
+
const filters = {};
|
|
60
|
+
let queryParam = null;
|
|
61
|
+
const queryParams = parseQueryParams(location.search);
|
|
62
|
+
if (!queryParams) return;
|
|
63
|
+
Object.keys(queryParams).forEach(key => {
|
|
64
|
+
if (key && key.includes('.')) {
|
|
65
|
+
const [category, filter] = key.split('.');
|
|
66
|
+
if (!filters[category]) {
|
|
67
|
+
filters[category] = {};
|
|
68
|
+
}
|
|
69
|
+
filters[category][filter] = queryParams[key] === 'true';
|
|
70
|
+
} else if (key === 'query') {
|
|
71
|
+
queryParam = queryParams[key];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
return { filters, query: queryParam };
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const hasFiltersInURL = location => {
|
|
79
|
+
if (!location || !location.search) return;
|
|
80
|
+
const queryParams = parseQueryParams(location.search);
|
|
81
|
+
if (!queryParams) return;
|
|
82
|
+
return Object.keys(queryParams).some(key => key.includes('.'));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const hasQueryInUrl = location => {
|
|
86
|
+
if (!location || !location.search) return;
|
|
87
|
+
const queryParams = parseQueryParams(location.search);
|
|
88
|
+
if (!queryParams) return;
|
|
89
|
+
return Object.keys(queryParams).includes('query');
|
|
90
|
+
};
|
package/tailwind.config.js
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
const defaultTheme = require("tailwindcss/defaultTheme");
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
prefix: "hc-",
|
|
5
|
-
content: [
|
|
6
|
-
'./src/components/**/*.{js,ts,jsx,tsx,mdx}'
|
|
7
|
-
],
|
|
8
|
-
presets: [require(`./preset.default.js`)],
|
|
9
|
-
theme: {
|
|
10
|
-
extend: {
|
|
11
|
-
animation: {
|
|
12
|
-
slideDown: "slideDown 300ms cubic-bezier(0.87, 0, 0.13, 1)",
|
|
13
|
-
slideUp: "slideUp 300ms cubic-bezier(0.87, 0, 0.13, 1)",
|
|
14
|
-
overlayShow: "overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)",
|
|
15
|
-
contentShow: "contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)"
|
|
16
|
-
},
|
|
17
|
-
container: {
|
|
18
|
-
center: true
|
|
19
|
-
},
|
|
20
|
-
cursor: {
|
|
21
|
-
grab: "grab"
|
|
22
|
-
},
|
|
23
|
-
maxHeight: {
|
|
24
|
-
"45vh": "45vh"
|
|
25
|
-
},
|
|
26
|
-
colors: {
|
|
27
|
-
gray: {
|
|
28
|
-
850: "#141414"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
fontFamily: {
|
|
32
|
-
sans: ["var(--font-roboto-flex)", ...defaultTheme.fontFamily.sans]
|
|
33
|
-
},
|
|
34
|
-
fontSize: {
|
|
35
|
-
"2xs": "0.65rem",
|
|
36
|
-
300: "clamp(0.7rem, 0.66rem + 0.2vw, 0.8rem)",
|
|
37
|
-
400: "clamp(0.88rem, 0.83rem + 0.24vw, 1rem)",
|
|
38
|
-
450: "clamp(1rem, 1rem + 0.33vw, 1.33rem)",
|
|
39
|
-
500: "clamp(1.09rem, 1rem + 0.47vw, 1.33rem)",
|
|
40
|
-
600: "clamp(1.37rem, 1.21rem + 0.8vw, 1.78rem)",
|
|
41
|
-
700: "clamp(1.71rem, 1.45rem + 1.29vw, 2.37rem)",
|
|
42
|
-
800: "clamp(2.14rem, 1.74rem + 1.99vw, 3.16rem)",
|
|
43
|
-
900: "clamp(2.67rem, 2.07rem + 3vw, 4.21rem)",
|
|
44
|
-
1000: "clamp(3.34rem, 2.45rem + 4.43vw, 5.61rem)"
|
|
45
|
-
},
|
|
46
|
-
keyframes: {
|
|
47
|
-
slideDown: {
|
|
48
|
-
from: { height: 0 },
|
|
49
|
-
to: { height: "var(--radix-accordion-content-height)" }
|
|
50
|
-
},
|
|
51
|
-
slideUp: {
|
|
52
|
-
from: { height: "var(--radix-accordion-content-height)" },
|
|
53
|
-
to: { height: 0 }
|
|
54
|
-
},
|
|
55
|
-
overlayShow: {
|
|
56
|
-
from: { opacity: 0 },
|
|
57
|
-
to: { opacity: 1 }
|
|
58
|
-
},
|
|
59
|
-
contentShow: {
|
|
60
|
-
from: { opacity: 0, transform: "scale(0.96)" },
|
|
61
|
-
to: { opacity: 1, transform: "scale(1)" }
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
typography: {
|
|
65
|
-
DEFAULT: {
|
|
66
|
-
css: {
|
|
67
|
-
video: {
|
|
68
|
-
"margin-bottom": 0,
|
|
69
|
-
"margin-top": 0
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
sm: {
|
|
74
|
-
css: {
|
|
75
|
-
video: {
|
|
76
|
-
"margin-bottom": 0,
|
|
77
|
-
"margin-top": 0
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
md: {
|
|
82
|
-
css: {
|
|
83
|
-
video: {
|
|
84
|
-
"margin-bottom": 0,
|
|
85
|
-
"margin-top": 0
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
lg: {
|
|
90
|
-
css: {
|
|
91
|
-
video: {
|
|
92
|
-
"margin-bottom": 0,
|
|
93
|
-
"margin-top": 0
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
xl: {
|
|
98
|
-
css: {
|
|
99
|
-
video: {
|
|
100
|
-
"margin-bottom": 0,
|
|
101
|
-
"margin-top": 0
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"2xl": {
|
|
106
|
-
css: {
|
|
107
|
-
video: {
|
|
108
|
-
"margin-bottom": 0,
|
|
109
|
-
"margin-top": 0
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
zIndex: {
|
|
115
|
-
"-1": "-1",
|
|
116
|
-
1: "1"
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
plugins: [
|
|
121
|
-
require("@tailwindcss/aspect-ratio"),
|
|
122
|
-
require("@tailwindcss/forms"),
|
|
123
|
-
require("@tailwindcss/typography"),
|
|
124
|
-
require("tailwindcss-animate")
|
|
125
|
-
]
|
|
126
|
-
};
|
|
1
|
+
const defaultTheme = require("tailwindcss/defaultTheme");
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
prefix: "hc-",
|
|
5
|
+
content: [
|
|
6
|
+
'./src/components/**/*.{js,ts,jsx,tsx,mdx}'
|
|
7
|
+
],
|
|
8
|
+
presets: [require(`./preset.default.js`)],
|
|
9
|
+
theme: {
|
|
10
|
+
extend: {
|
|
11
|
+
animation: {
|
|
12
|
+
slideDown: "slideDown 300ms cubic-bezier(0.87, 0, 0.13, 1)",
|
|
13
|
+
slideUp: "slideUp 300ms cubic-bezier(0.87, 0, 0.13, 1)",
|
|
14
|
+
overlayShow: "overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)",
|
|
15
|
+
contentShow: "contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)"
|
|
16
|
+
},
|
|
17
|
+
container: {
|
|
18
|
+
center: true
|
|
19
|
+
},
|
|
20
|
+
cursor: {
|
|
21
|
+
grab: "grab"
|
|
22
|
+
},
|
|
23
|
+
maxHeight: {
|
|
24
|
+
"45vh": "45vh"
|
|
25
|
+
},
|
|
26
|
+
colors: {
|
|
27
|
+
gray: {
|
|
28
|
+
850: "#141414"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
fontFamily: {
|
|
32
|
+
sans: ["var(--font-roboto-flex)", ...defaultTheme.fontFamily.sans]
|
|
33
|
+
},
|
|
34
|
+
fontSize: {
|
|
35
|
+
"2xs": "0.65rem",
|
|
36
|
+
300: "clamp(0.7rem, 0.66rem + 0.2vw, 0.8rem)",
|
|
37
|
+
400: "clamp(0.88rem, 0.83rem + 0.24vw, 1rem)",
|
|
38
|
+
450: "clamp(1rem, 1rem + 0.33vw, 1.33rem)",
|
|
39
|
+
500: "clamp(1.09rem, 1rem + 0.47vw, 1.33rem)",
|
|
40
|
+
600: "clamp(1.37rem, 1.21rem + 0.8vw, 1.78rem)",
|
|
41
|
+
700: "clamp(1.71rem, 1.45rem + 1.29vw, 2.37rem)",
|
|
42
|
+
800: "clamp(2.14rem, 1.74rem + 1.99vw, 3.16rem)",
|
|
43
|
+
900: "clamp(2.67rem, 2.07rem + 3vw, 4.21rem)",
|
|
44
|
+
1000: "clamp(3.34rem, 2.45rem + 4.43vw, 5.61rem)"
|
|
45
|
+
},
|
|
46
|
+
keyframes: {
|
|
47
|
+
slideDown: {
|
|
48
|
+
from: { height: 0 },
|
|
49
|
+
to: { height: "var(--radix-accordion-content-height)" }
|
|
50
|
+
},
|
|
51
|
+
slideUp: {
|
|
52
|
+
from: { height: "var(--radix-accordion-content-height)" },
|
|
53
|
+
to: { height: 0 }
|
|
54
|
+
},
|
|
55
|
+
overlayShow: {
|
|
56
|
+
from: { opacity: 0 },
|
|
57
|
+
to: { opacity: 1 }
|
|
58
|
+
},
|
|
59
|
+
contentShow: {
|
|
60
|
+
from: { opacity: 0, transform: "scale(0.96)" },
|
|
61
|
+
to: { opacity: 1, transform: "scale(1)" }
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
typography: {
|
|
65
|
+
DEFAULT: {
|
|
66
|
+
css: {
|
|
67
|
+
video: {
|
|
68
|
+
"margin-bottom": 0,
|
|
69
|
+
"margin-top": 0
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
sm: {
|
|
74
|
+
css: {
|
|
75
|
+
video: {
|
|
76
|
+
"margin-bottom": 0,
|
|
77
|
+
"margin-top": 0
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
md: {
|
|
82
|
+
css: {
|
|
83
|
+
video: {
|
|
84
|
+
"margin-bottom": 0,
|
|
85
|
+
"margin-top": 0
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
lg: {
|
|
90
|
+
css: {
|
|
91
|
+
video: {
|
|
92
|
+
"margin-bottom": 0,
|
|
93
|
+
"margin-top": 0
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
xl: {
|
|
98
|
+
css: {
|
|
99
|
+
video: {
|
|
100
|
+
"margin-bottom": 0,
|
|
101
|
+
"margin-top": 0
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"2xl": {
|
|
106
|
+
css: {
|
|
107
|
+
video: {
|
|
108
|
+
"margin-bottom": 0,
|
|
109
|
+
"margin-top": 0
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
zIndex: {
|
|
115
|
+
"-1": "-1",
|
|
116
|
+
1: "1"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
plugins: [
|
|
121
|
+
require("@tailwindcss/aspect-ratio"),
|
|
122
|
+
require("@tailwindcss/forms"),
|
|
123
|
+
require("@tailwindcss/typography"),
|
|
124
|
+
require("tailwindcss-animate")
|
|
125
|
+
]
|
|
126
|
+
};
|
package/.editorconfig
DELETED
package/.eslintrc
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"env": {
|
|
3
|
-
"browser": true,
|
|
4
|
-
"node": true
|
|
5
|
-
},
|
|
6
|
-
"extends": [
|
|
7
|
-
"eslint:recommended",
|
|
8
|
-
"plugin:react/recommended",
|
|
9
|
-
"plugin:jsx-a11y/recommended",
|
|
10
|
-
"plugin:react-hooks/recommended",
|
|
11
|
-
"prettier"
|
|
12
|
-
],
|
|
13
|
-
"plugins": [
|
|
14
|
-
"react",
|
|
15
|
-
"jsx-a11y",
|
|
16
|
-
"react-hooks"
|
|
17
|
-
],
|
|
18
|
-
"parser": "@babel/eslint-parser",
|
|
19
|
-
"parserOptions": {
|
|
20
|
-
"requireConfigFile": false,
|
|
21
|
-
"babelOptions": {
|
|
22
|
-
"presets": ["@babel/preset-react"]
|
|
23
|
-
},
|
|
24
|
-
"ecmaVersion": 2021,
|
|
25
|
-
"sourceType": "module",
|
|
26
|
-
"ecmaFeatures": {
|
|
27
|
-
"jsx": true
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"settings": {
|
|
31
|
-
"react": {
|
|
32
|
-
"version": "detect"
|
|
33
|
-
},
|
|
34
|
-
"import/resolver": {
|
|
35
|
-
"alias": {
|
|
36
|
-
"map": [
|
|
37
|
-
["~/*", "./*"]
|
|
38
|
-
],
|
|
39
|
-
"extensions": [".js", ".jsx", ".ts", ".tsx"]
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"ignorePatterns": ["dist/"],
|
|
44
|
-
"rules": {
|
|
45
|
-
"strict": 0,
|
|
46
|
-
"semi": ["error", "always"],
|
|
47
|
-
"indent": ["error", "tab", { "SwitchCase": 1 }],
|
|
48
|
-
"comma-dangle": ["error", "never"],
|
|
49
|
-
"arrow-parens": ["error", "as-needed"],
|
|
50
|
-
"object-curly-spacing": ["error", "always"],
|
|
51
|
-
"space-in-parens": ["error", "never"],
|
|
52
|
-
"no-multiple-empty-lines": ["error", { "max": 1 }],
|
|
53
|
-
"prefer-arrow-callback": ["error", { "allowNamedFunctions": true }],
|
|
54
|
-
"react/prop-types": "off",
|
|
55
|
-
"import/no-webpack-loader-syntax": [0],
|
|
56
|
-
"react/jsx-pascal-case": [1, { "allowNamespace": true }],
|
|
57
|
-
"jsx-a11y/accessible-emoji": 1,
|
|
58
|
-
"jsx-a11y/alt-text": 1,
|
|
59
|
-
"jsx-a11y/anchor-has-content": 1,
|
|
60
|
-
"jsx-a11y/anchor-is-valid": 1,
|
|
61
|
-
"jsx-a11y/aria-activedescendant-has-tabindex": 1,
|
|
62
|
-
"jsx-a11y/aria-props": 1,
|
|
63
|
-
"jsx-a11y/aria-proptypes": 1,
|
|
64
|
-
"jsx-a11y/aria-role": 1,
|
|
65
|
-
"jsx-a11y/aria-unsupported-elements": 1,
|
|
66
|
-
"jsx-a11y/autocomplete-valid": [1, { "inputComponents": [] }],
|
|
67
|
-
"jsx-a11y/click-events-have-key-events": 1,
|
|
68
|
-
"jsx-a11y/control-has-associated-label": [
|
|
69
|
-
1,
|
|
70
|
-
{
|
|
71
|
-
"ignoreElements": ["audio", "canvas", "embed", "input", "textarea", "tr", "video"],
|
|
72
|
-
"ignoreRoles": ["grid", "listbox", "menu", "menubar", "radiogroup", "row", "tablist", "toolbar", "tree", "treegrid"],
|
|
73
|
-
"includeRoles": ["alert", "dialog"]
|
|
74
|
-
}
|
|
75
|
-
],
|
|
76
|
-
"jsx-a11y/heading-has-content": 1,
|
|
77
|
-
"jsx-a11y/html-has-lang": 1,
|
|
78
|
-
"jsx-a11y/iframe-has-title": 1,
|
|
79
|
-
"jsx-a11y/img-redundant-alt": 1,
|
|
80
|
-
"jsx-a11y/interactive-supports-focus": [
|
|
81
|
-
1,
|
|
82
|
-
{ "tabbable": ["button", "checkbox", "link", "progressbar", "searchbox", "slider", "spinbutton", "switch", "textbox"] }
|
|
83
|
-
],
|
|
84
|
-
"jsx-a11y/label-has-associated-control": 1,
|
|
85
|
-
"jsx-a11y/lang": 1,
|
|
86
|
-
"jsx-a11y/media-has-caption": 1,
|
|
87
|
-
"jsx-a11y/mouse-events-have-key-events": 1,
|
|
88
|
-
"jsx-a11y/no-access-key": 1,
|
|
89
|
-
"jsx-a11y/no-autofocus": 1,
|
|
90
|
-
"jsx-a11y/no-distracting-elements": 1,
|
|
91
|
-
"jsx-a11y/no-interactive-element-to-noninteractive-role": 1,
|
|
92
|
-
"jsx-a11y/no-noninteractive-element-interactions": [1, { "body": ["onError", "onLoad"], "iframe": ["onError", "onLoad"], "img": ["onError", "onLoad"] }],
|
|
93
|
-
"jsx-a11y/no-noninteractive-element-to-interactive-role": 1,
|
|
94
|
-
"jsx-a11y/no-noninteractive-tabindex": 1,
|
|
95
|
-
"jsx-a11y/no-onchange": 1,
|
|
96
|
-
"jsx-a11y/no-redundant-roles": 1,
|
|
97
|
-
"jsx-a11y/no-static-element-interactions": 1,
|
|
98
|
-
"jsx-a11y/role-has-required-aria-props": 1,
|
|
99
|
-
"jsx-a11y/role-supports-aria-props": 1,
|
|
100
|
-
"jsx-a11y/scope": 1,
|
|
101
|
-
"jsx-a11y/tabindex-no-positive": 1,
|
|
102
|
-
"react-hooks/rules-of-hooks": 2,
|
|
103
|
-
"no-unused-vars": "warn"
|
|
104
|
-
}
|
|
105
|
-
}
|
package/.prettierignore
DELETED