@inploi/plugin-job-search 0.1.0 → 0.1.2
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/cdn/index.js +6 -6
- package/dist/job-search.api.d.ts +139 -192
- package/dist/job-search.constants.d.ts +1 -0
- package/dist/job-search.d.ts +1 -1
- package/dist/job-search.schemas.d.ts +0 -3
- package/dist/plugin-job-search.cjs +419 -253
- package/dist/plugin-job-search.js +419 -253
- package/package.json +2 -2
|
@@ -529,17 +529,25 @@ const Fallback = ({
|
|
|
529
529
|
}) => {
|
|
530
530
|
return u$1("div", {
|
|
531
531
|
style: {
|
|
532
|
-
|
|
532
|
+
display: "flex",
|
|
533
|
+
flexDirection: "column",
|
|
534
|
+
gap: ".5rem",
|
|
535
|
+
padding: "1rem",
|
|
533
536
|
fontSize: "1rem",
|
|
534
|
-
color: "
|
|
535
|
-
fontFamily: "'system-ui' 'Helvetica'"
|
|
537
|
+
color: "hsl(10, 82%, 45%)",
|
|
538
|
+
fontFamily: "'system-ui' 'Helvetica'",
|
|
539
|
+
background: "hsl(7, 100%, 98%)"
|
|
536
540
|
},
|
|
537
|
-
children: [
|
|
541
|
+
children: [u$1("p", {
|
|
542
|
+
children: error.message
|
|
543
|
+
}), u$1("button", {
|
|
538
544
|
onClick: resetError,
|
|
539
545
|
style: {
|
|
540
|
-
background: "
|
|
546
|
+
background: "white",
|
|
541
547
|
border: "none",
|
|
542
548
|
cursor: "pointer",
|
|
549
|
+
textAlign: "center",
|
|
550
|
+
borderRadius: "4px",
|
|
543
551
|
padding: "0.5rem 1rem"
|
|
544
552
|
},
|
|
545
553
|
children: "Retry"
|
|
@@ -696,6 +704,9 @@ const icons = {
|
|
|
696
704
|
x: u$1("path", {
|
|
697
705
|
d: "M8 8l8 8M8 16l8 -8"
|
|
698
706
|
}),
|
|
707
|
+
plus: u$1("path", {
|
|
708
|
+
d: "M12 8V16M8 12H16"
|
|
709
|
+
}),
|
|
699
710
|
"chevron-right": u$1("path", {
|
|
700
711
|
d: "M11 8L15 12L11 16"
|
|
701
712
|
})
|
|
@@ -909,6 +920,7 @@ function B$1(n2, t2) {
|
|
|
909
920
|
}
|
|
910
921
|
const JOB_SEARCH_ELEMENT_ID = "inploi-job-search";
|
|
911
922
|
const JOB_SEARCH_SCOPE_ELEMENT_ID = "ijs";
|
|
923
|
+
const PAGE_SIZE = 10;
|
|
912
924
|
function g(n2, t2) {
|
|
913
925
|
for (var e2 in t2)
|
|
914
926
|
n2[e2] = t2[e2];
|
|
@@ -1474,11 +1486,11 @@ if (process.env.NODE_ENV === "production") {
|
|
|
1474
1486
|
shim.exports = requireUseSyncExternalStoreShim_development();
|
|
1475
1487
|
}
|
|
1476
1488
|
var shimExports = shim.exports;
|
|
1477
|
-
const noop = () => {
|
|
1489
|
+
const noop$1 = () => {
|
|
1478
1490
|
};
|
|
1479
1491
|
const UNDEFINED = (
|
|
1480
1492
|
/*#__NOINLINE__*/
|
|
1481
|
-
noop()
|
|
1493
|
+
noop$1()
|
|
1482
1494
|
);
|
|
1483
1495
|
const OBJECT = Object;
|
|
1484
1496
|
const isUndefined = (v2) => v2 === UNDEFINED;
|
|
@@ -1564,8 +1576,8 @@ const [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListen
|
|
|
1564
1576
|
window.addEventListener.bind(window),
|
|
1565
1577
|
window.removeEventListener.bind(window)
|
|
1566
1578
|
] : [
|
|
1567
|
-
noop,
|
|
1568
|
-
noop
|
|
1579
|
+
noop$1,
|
|
1580
|
+
noop$1
|
|
1569
1581
|
];
|
|
1570
1582
|
const isVisible = () => {
|
|
1571
1583
|
const visibilityState = isDocumentDefined && document.visibilityState;
|
|
@@ -1779,7 +1791,7 @@ const initCache = (provider, options) => {
|
|
|
1779
1791
|
const opts = mergeObjects(defaultConfigOptions, options);
|
|
1780
1792
|
const EVENT_REVALIDATORS = {};
|
|
1781
1793
|
const mutate2 = internalMutate.bind(UNDEFINED, provider);
|
|
1782
|
-
let unmount = noop;
|
|
1794
|
+
let unmount = noop$1;
|
|
1783
1795
|
const subscriptions = {};
|
|
1784
1796
|
const subscribe = (key, callback) => {
|
|
1785
1797
|
const subs = subscriptions[key] || [];
|
|
@@ -1845,11 +1857,11 @@ const [cache, mutate] = initCache(/* @__PURE__ */ new Map());
|
|
|
1845
1857
|
const defaultConfig = mergeObjects(
|
|
1846
1858
|
{
|
|
1847
1859
|
// events
|
|
1848
|
-
onLoadingSlow: noop,
|
|
1849
|
-
onSuccess: noop,
|
|
1850
|
-
onError: noop,
|
|
1860
|
+
onLoadingSlow: noop$1,
|
|
1861
|
+
onSuccess: noop$1,
|
|
1862
|
+
onError: noop$1,
|
|
1851
1863
|
onErrorRetry,
|
|
1852
|
-
onDiscarded: noop,
|
|
1864
|
+
onDiscarded: noop$1,
|
|
1853
1865
|
// switches
|
|
1854
1866
|
revalidateOnFocus: true,
|
|
1855
1867
|
revalidateOnReconnect: true,
|
|
@@ -2876,7 +2888,6 @@ const payPeriods = {
|
|
|
2876
2888
|
const JobPayloadSchema = object({
|
|
2877
2889
|
id: number(),
|
|
2878
2890
|
company_name: string(),
|
|
2879
|
-
company_logo: string(),
|
|
2880
2891
|
employment_type: union([literal("FULL_TIME"), literal("PART_TIME"), literal("TEMPORARY"), literal("CONTRACTOR"), literal("INTERN"), literal("VOLUNTEER"), literal("OTHER")]),
|
|
2881
2892
|
location_type: union([literal("LOCATION"), literal("REMOTE"), literal("HYBRID")]),
|
|
2882
2893
|
pay_type: union([literal("ANNUALLY"), literal("HOURLY"), literal("MONTHLY"), literal("WEEKLY"), literal("DAILY")]),
|
|
@@ -2917,7 +2928,7 @@ const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
|
2917
2928
|
if (schema.pay_mask)
|
|
2918
2929
|
return "Competitive";
|
|
2919
2930
|
if (schema.pay_max && schema.pay_min)
|
|
2920
|
-
return numberFormatter.formatRange(+schema.pay_min, +schema.pay_max);
|
|
2931
|
+
return [numberFormatter.formatRange(+schema.pay_min, +schema.pay_max), payPeriods[schema.pay_type]].join(" ");
|
|
2921
2932
|
if (schema.pay)
|
|
2922
2933
|
return [numberFormatter.format(+schema.pay), payPeriods[schema.pay_type]].join(" ");
|
|
2923
2934
|
if (!schema.pay && !schema.pay_min && !schema.pay_max)
|
|
@@ -2928,8 +2939,7 @@ const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
|
2928
2939
|
id: schema.id,
|
|
2929
2940
|
isNew,
|
|
2930
2941
|
company: {
|
|
2931
|
-
name: schema.company_name
|
|
2932
|
-
logo: schema.company_logo
|
|
2942
|
+
name: schema.company_name
|
|
2933
2943
|
},
|
|
2934
2944
|
employmentType: schema.employment_type,
|
|
2935
2945
|
locationType: schema.location_type,
|
|
@@ -2946,19 +2956,39 @@ const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
|
2946
2956
|
};
|
|
2947
2957
|
});
|
|
2948
2958
|
const JobSearchResponseSchema = transform(object({
|
|
2949
|
-
data:
|
|
2950
|
-
results: array(JobSchema),
|
|
2951
|
-
available_properties: AvailablePropertiesSchema
|
|
2952
|
-
}),
|
|
2959
|
+
data: array(JobSchema),
|
|
2953
2960
|
pagination: PaginationSchema
|
|
2954
2961
|
}), (schema) => ({
|
|
2955
2962
|
pagination: schema.pagination,
|
|
2956
|
-
results: schema.data
|
|
2957
|
-
availableProperties: schema.data.available_properties
|
|
2963
|
+
results: schema.data
|
|
2958
2964
|
}));
|
|
2959
2965
|
const filtersToPayload = (filters) => {
|
|
2960
2966
|
return Object.fromEntries(Object.entries(filters).map(([key, filter]) => [key, (filter == null ? void 0 : filter.value) ?? null]));
|
|
2961
2967
|
};
|
|
2968
|
+
const getAvailableFilters = async ({
|
|
2969
|
+
apiClient,
|
|
2970
|
+
filters,
|
|
2971
|
+
logger,
|
|
2972
|
+
signal
|
|
2973
|
+
}) => {
|
|
2974
|
+
try {
|
|
2975
|
+
const response = await apiClient.fetch(`/search/filters`, {
|
|
2976
|
+
method: "POST",
|
|
2977
|
+
body: JSON.stringify({
|
|
2978
|
+
filters: filtersToPayload(filters)
|
|
2979
|
+
}),
|
|
2980
|
+
signal
|
|
2981
|
+
});
|
|
2982
|
+
return parse(AvailablePropertiesSchema, response);
|
|
2983
|
+
} catch (e2) {
|
|
2984
|
+
if (e2 instanceof ValiError) {
|
|
2985
|
+
logger.error(e2.message, e2.issues);
|
|
2986
|
+
} else {
|
|
2987
|
+
logger.error(e2);
|
|
2988
|
+
}
|
|
2989
|
+
throw e2;
|
|
2990
|
+
}
|
|
2991
|
+
};
|
|
2962
2992
|
const getJobSearchResults = async ({
|
|
2963
2993
|
apiClient,
|
|
2964
2994
|
logger,
|
|
@@ -2967,16 +2997,14 @@ const getJobSearchResults = async ({
|
|
|
2967
2997
|
page = 1
|
|
2968
2998
|
}) => {
|
|
2969
2999
|
try {
|
|
2970
|
-
const response = await apiClient.fetch(`/search?page=${page}`, {
|
|
3000
|
+
const response = await apiClient.fetch(`/search/results?page=${page}&per_page=${PAGE_SIZE}`, {
|
|
2971
3001
|
method: "POST",
|
|
2972
3002
|
body: JSON.stringify({
|
|
2973
|
-
query: "Customer Service",
|
|
2974
3003
|
filters: filtersToPayload(filters)
|
|
2975
3004
|
}),
|
|
2976
3005
|
signal
|
|
2977
3006
|
});
|
|
2978
|
-
|
|
2979
|
-
return parsedResponse;
|
|
3007
|
+
return parse(JobSearchResponseSchema, response);
|
|
2980
3008
|
} catch (e2) {
|
|
2981
3009
|
if (e2 instanceof ValiError) {
|
|
2982
3010
|
logger.error(e2.message, e2.issues);
|
|
@@ -2986,17 +3014,15 @@ const getJobSearchResults = async ({
|
|
|
2986
3014
|
throw e2;
|
|
2987
3015
|
}
|
|
2988
3016
|
};
|
|
2989
|
-
const
|
|
3017
|
+
const getQueryState = (swr) => {
|
|
2990
3018
|
if (swr.error)
|
|
2991
3019
|
return {
|
|
2992
3020
|
state: "error",
|
|
2993
|
-
error: swr.error
|
|
2994
|
-
data: swr.data
|
|
3021
|
+
error: swr.error
|
|
2995
3022
|
};
|
|
2996
3023
|
if (swr.isLoading && swr.data === void 0)
|
|
2997
3024
|
return {
|
|
2998
|
-
state: "loading"
|
|
2999
|
-
data: swr.data
|
|
3025
|
+
state: "loading"
|
|
3000
3026
|
};
|
|
3001
3027
|
if ((swr.isLoading || swr.isValidating) && swr.data)
|
|
3002
3028
|
return {
|
|
@@ -3008,7 +3034,7 @@ const getDataState = (swr) => {
|
|
|
3008
3034
|
state: "loaded",
|
|
3009
3035
|
data: swr.data
|
|
3010
3036
|
};
|
|
3011
|
-
throw new Error("Unhandled state");
|
|
3037
|
+
throw new Error("Unhandled data state");
|
|
3012
3038
|
};
|
|
3013
3039
|
const SWR_SETTINGS = {
|
|
3014
3040
|
keepPreviousData: true,
|
|
@@ -3017,6 +3043,7 @@ const SWR_SETTINGS = {
|
|
|
3017
3043
|
revalidateIfStale: false,
|
|
3018
3044
|
revalidateFirstPage: false
|
|
3019
3045
|
};
|
|
3046
|
+
const cacheKey = (value) => JSON.stringify(value);
|
|
3020
3047
|
function r(e2) {
|
|
3021
3048
|
var t2, f2, n2 = "";
|
|
3022
3049
|
if ("string" == typeof e2 || "number" == typeof e2)
|
|
@@ -3090,26 +3117,141 @@ const defineConfig = (options) => {
|
|
|
3090
3117
|
return { compose: compose1, cva: cva1, cx: cx1 };
|
|
3091
3118
|
};
|
|
3092
3119
|
const { compose, cva, cx } = defineConfig();
|
|
3120
|
+
const tagClass = cva({
|
|
3121
|
+
base: "truncate max-w-full block fr font-style-tag font-family-tag font-weight-tag text-style-tag",
|
|
3122
|
+
variants: {
|
|
3123
|
+
variant: {
|
|
3124
|
+
neutralWeak: "bg-tag-neutral-weak-bg border-solid border-px text-tag-neutral-weak-copy border-tag-neutral-weak-stroke",
|
|
3125
|
+
neutralStrong: "text-tag-neutral-strong-copy border-solid border-px bg-tag-neutral-strong-bg border-tag-neutral-strong-stroke",
|
|
3126
|
+
accentStrong: "text-tag-accent-strong-copy border-solid border-px bg-tag-accent-strong-bg border-tag-accent-strong-stroke",
|
|
3127
|
+
monetaryWeak: "bg-tag-monetary-weak-bg border-none text-tag-monetary-weak-copy"
|
|
3128
|
+
},
|
|
3129
|
+
interactive: {
|
|
3130
|
+
true: "ease-expo-out rounded-interactive transition-all duration-snappy ",
|
|
3131
|
+
false: "rounded-tag"
|
|
3132
|
+
},
|
|
3133
|
+
size: {
|
|
3134
|
+
xs: "px-2",
|
|
3135
|
+
sm: "px-3 py-1",
|
|
3136
|
+
lg: "px-5 py-2"
|
|
3137
|
+
},
|
|
3138
|
+
disabled: {
|
|
3139
|
+
true: "opacity-25 pointer-events-none",
|
|
3140
|
+
false: ""
|
|
3141
|
+
}
|
|
3142
|
+
},
|
|
3143
|
+
compoundVariants: [{
|
|
3144
|
+
disabled: false,
|
|
3145
|
+
interactive: true,
|
|
3146
|
+
class: "cursor-pointer active:scale-[0.975]"
|
|
3147
|
+
}],
|
|
3148
|
+
defaultVariants: {
|
|
3149
|
+
variant: "neutralWeak",
|
|
3150
|
+
size: "sm",
|
|
3151
|
+
disabled: false,
|
|
3152
|
+
interactive: false
|
|
3153
|
+
}
|
|
3154
|
+
});
|
|
3155
|
+
const CurrentValueTag = ({
|
|
3156
|
+
query,
|
|
3157
|
+
property,
|
|
3158
|
+
selectedValues
|
|
3159
|
+
}) => {
|
|
3160
|
+
switch (query.state) {
|
|
3161
|
+
case "error":
|
|
3162
|
+
case "loading":
|
|
3163
|
+
return null;
|
|
3164
|
+
case "loaded":
|
|
3165
|
+
case "revalidating": {
|
|
3166
|
+
const suggestions = query.data[property.key];
|
|
3167
|
+
invariant(suggestions, `API error: no available properties for key “${property.key}”`);
|
|
3168
|
+
const selectedSuggestions = suggestions.filter((s2) => selectedValues.includes(s2.value));
|
|
3169
|
+
switch (selectedSuggestions.length) {
|
|
3170
|
+
case 0:
|
|
3171
|
+
return null;
|
|
3172
|
+
case 1: {
|
|
3173
|
+
const firstSuggestion = selectedSuggestions[0];
|
|
3174
|
+
invariant(firstSuggestion);
|
|
3175
|
+
return u$1("span", {
|
|
3176
|
+
class: tagClass({
|
|
3177
|
+
size: "sm",
|
|
3178
|
+
variant: "accentStrong",
|
|
3179
|
+
interactive: true,
|
|
3180
|
+
class: "truncate"
|
|
3181
|
+
}),
|
|
3182
|
+
children: firstSuggestion.label
|
|
3183
|
+
});
|
|
3184
|
+
}
|
|
3185
|
+
default:
|
|
3186
|
+
return u$1("span", {
|
|
3187
|
+
class: tagClass({
|
|
3188
|
+
size: "sm",
|
|
3189
|
+
variant: "accentStrong",
|
|
3190
|
+
interactive: true,
|
|
3191
|
+
class: "truncate tabular-nums"
|
|
3192
|
+
}),
|
|
3193
|
+
children: selectedSuggestions.length
|
|
3194
|
+
});
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3197
|
+
default:
|
|
3198
|
+
exhaustive(query);
|
|
3199
|
+
}
|
|
3200
|
+
};
|
|
3093
3201
|
const btnClass = cva({
|
|
3094
3202
|
base: "fr animate-selected-tag justify-center touch-hitbox text-style-filter ease-expo-out rounded-interactive relative flex cursor-pointer items-center py-1 transition-all duration-snappy active:scale-95",
|
|
3095
3203
|
variants: {
|
|
3096
3204
|
variant: {
|
|
3097
|
-
neutral: "bg-interactive-neutral-bg hover:bg-interactive-neutral-bg-hover text-interactive-neutral-text",
|
|
3098
|
-
accent: "bg-interactive-accent-bg hover:bg-interactive-accent-bg-hover text-interactive-accent-text"
|
|
3205
|
+
neutral: "bg-interactive-neutral-bg pointer-fine:hover:bg-interactive-neutral-bg-hover text-interactive-neutral-text",
|
|
3206
|
+
accent: "bg-interactive-accent-bg pointer-fine:hover:bg-interactive-accent-bg-hover text-interactive-accent-text"
|
|
3099
3207
|
},
|
|
3100
3208
|
icon: {
|
|
3101
|
-
none: "
|
|
3102
|
-
right: "
|
|
3103
|
-
left: "
|
|
3209
|
+
none: "",
|
|
3210
|
+
right: "",
|
|
3211
|
+
left: ""
|
|
3212
|
+
},
|
|
3213
|
+
size: {
|
|
3214
|
+
sm: "py-1",
|
|
3215
|
+
lg: "py-2"
|
|
3104
3216
|
}
|
|
3105
3217
|
},
|
|
3218
|
+
compoundVariants: [
|
|
3219
|
+
{
|
|
3220
|
+
size: "sm",
|
|
3221
|
+
icon: "right",
|
|
3222
|
+
class: "pl-3 pr-1"
|
|
3223
|
+
},
|
|
3224
|
+
{
|
|
3225
|
+
size: "sm",
|
|
3226
|
+
icon: "left",
|
|
3227
|
+
class: "pl-1 pr-3"
|
|
3228
|
+
},
|
|
3229
|
+
{
|
|
3230
|
+
size: "sm",
|
|
3231
|
+
icon: "none",
|
|
3232
|
+
class: "px-3"
|
|
3233
|
+
},
|
|
3234
|
+
{
|
|
3235
|
+
size: "lg",
|
|
3236
|
+
icon: "right",
|
|
3237
|
+
class: "pl-5 pr-3"
|
|
3238
|
+
}
|
|
3239
|
+
// { size: 'lg', icon: 'left', class: 'pl-3 pr-5' },
|
|
3240
|
+
// { size: 'lg', icon: 'none', class: 'px-5' },
|
|
3241
|
+
],
|
|
3106
3242
|
defaultVariants: {
|
|
3107
3243
|
variant: "neutral",
|
|
3108
|
-
icon: "none"
|
|
3244
|
+
icon: "none",
|
|
3245
|
+
size: "sm"
|
|
3109
3246
|
}
|
|
3110
3247
|
});
|
|
3248
|
+
const SUGGESTION_COUNT = 8;
|
|
3249
|
+
const TAG_HEIGHT = 42;
|
|
3250
|
+
const GAP = 8;
|
|
3251
|
+
const LINE_COUNT = 6;
|
|
3252
|
+
const PADDING_Y = 4;
|
|
3111
3253
|
const inputClass = cva({
|
|
3112
|
-
base: "py-2 fr bg-lowest caret-accent-11 placeholder:text-neutral-10
|
|
3254
|
+
base: "py-2 fr bg-lowest caret-accent-11 placeholder:text-neutral-10 ring-job-card-stroke ring-width-section px-4 ease-expo-out duration-snappy transition-all rounded-input font-style-input text-style-input font-weight-input",
|
|
3113
3255
|
variants: {
|
|
3114
3256
|
hasValue: {
|
|
3115
3257
|
false: "text-copy-neutral",
|
|
@@ -3125,26 +3267,33 @@ const toggleInArray = (array2, value) => {
|
|
|
3125
3267
|
};
|
|
3126
3268
|
const FilterContentActive = ({
|
|
3127
3269
|
value,
|
|
3128
|
-
suggestions,
|
|
3129
3270
|
property,
|
|
3130
3271
|
onSkip,
|
|
3131
|
-
|
|
3272
|
+
useQuery,
|
|
3132
3273
|
onValueChange,
|
|
3274
|
+
unfilteredQuery,
|
|
3133
3275
|
onRender
|
|
3134
3276
|
}) => {
|
|
3135
|
-
const
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3277
|
+
const filterQuery = getQueryState(useQuery());
|
|
3278
|
+
if (filterQuery.state === "error")
|
|
3279
|
+
throw filterQuery.error;
|
|
3280
|
+
const availablePropertyKeys = F$1(() => {
|
|
3281
|
+
switch (filterQuery.state) {
|
|
3282
|
+
case "loading":
|
|
3283
|
+
return null;
|
|
3284
|
+
case "loaded":
|
|
3285
|
+
case "revalidating": {
|
|
3286
|
+
const properties = filterQuery.data[property.key] ?? [];
|
|
3287
|
+
return Object.fromEntries(properties.map((p2) => [p2.value, true]));
|
|
3288
|
+
}
|
|
3289
|
+
default:
|
|
3290
|
+
exhaustive(filterQuery);
|
|
3291
|
+
}
|
|
3292
|
+
}, [filterQuery, property.key]);
|
|
3139
3293
|
const selectedValues = getSelectedValues(value);
|
|
3140
|
-
const
|
|
3141
|
-
const
|
|
3294
|
+
const hasValue = selectedValues.length > 0;
|
|
3295
|
+
const [displayCount, setDisplayCount] = h(SUGGESTION_COUNT);
|
|
3142
3296
|
const [search, setSearch] = h();
|
|
3143
|
-
const availableSuggestions = F$1(() => {
|
|
3144
|
-
if (!search)
|
|
3145
|
-
return suggestions;
|
|
3146
|
-
return suggestions.filter((s2) => s2.label.toLowerCase().includes(search.toLowerCase()));
|
|
3147
|
-
}, [search, suggestions]);
|
|
3148
3297
|
p(() => {
|
|
3149
3298
|
onRender();
|
|
3150
3299
|
});
|
|
@@ -3161,65 +3310,111 @@ const FilterContentActive = ({
|
|
|
3161
3310
|
onInput: (e2) => setSearch(e2.currentTarget.value),
|
|
3162
3311
|
placeholder: "Type to search"
|
|
3163
3312
|
})
|
|
3164
|
-
}),
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3313
|
+
}), (() => {
|
|
3314
|
+
switch (unfilteredQuery.state) {
|
|
3315
|
+
case "error":
|
|
3316
|
+
throw unfilteredQuery.error;
|
|
3317
|
+
case "loading":
|
|
3318
|
+
return u$1("div", {
|
|
3319
|
+
class: "flex px-4",
|
|
3320
|
+
children: u$1("div", {
|
|
3321
|
+
"aria-hidden": true,
|
|
3322
|
+
class: tagClass({
|
|
3323
|
+
size: "lg",
|
|
3324
|
+
variant: "neutralStrong",
|
|
3325
|
+
interactive: true,
|
|
3326
|
+
class: "animate-skeleton cursor-default opacity-20 active:-scale-100"
|
|
3327
|
+
}),
|
|
3328
|
+
children: u$1("span", {
|
|
3329
|
+
class: "inline-block w-[10ch]"
|
|
3330
|
+
})
|
|
3331
|
+
})
|
|
3332
|
+
});
|
|
3333
|
+
case "revalidating":
|
|
3334
|
+
case "loaded": {
|
|
3335
|
+
const allSuggestions = unfilteredQuery.data[property.key];
|
|
3336
|
+
invariant(allSuggestions, `API error: no available properties for key “${property.key}”`);
|
|
3337
|
+
const filteredSuggestions = search && search.length > 1 ? allSuggestions.filter((s2) => s2.label.toLowerCase().includes(search.toLowerCase())) : allSuggestions;
|
|
3338
|
+
const suggestions = filteredSuggestions.map((s2) => ({
|
|
3339
|
+
...s2,
|
|
3340
|
+
disabled: availablePropertyKeys === null ? false : availablePropertyKeys[s2.value] !== true
|
|
3341
|
+
}));
|
|
3342
|
+
const noEnabledOptions = !suggestions.find((suggestion) => !suggestion.disabled);
|
|
3343
|
+
if (noEnabledOptions)
|
|
3344
|
+
return u$1("p", {
|
|
3345
|
+
class: "font-style-tag text-style-tag font-weight-tag border-px w-full border-transparent px-4 py-2 text-center",
|
|
3346
|
+
children: "No filter options available."
|
|
3347
|
+
});
|
|
3348
|
+
return u$1("div", {
|
|
3349
|
+
class: "pointer-fine:px-4",
|
|
3350
|
+
children: u$1("ul", {
|
|
3351
|
+
style: {
|
|
3352
|
+
maxHeight: (TAG_HEIGHT + GAP) * (LINE_COUNT - 1) + TAG_HEIGHT / 2 + 2 * PADDING_Y
|
|
3353
|
+
},
|
|
3354
|
+
class: "hide-scrollbars pointer-fine:flex-wrap pointer-fine:p-2 pointer-fine:ring-width-section ring-section-weak-stroke pointer-fine:bg-app pointer-fine:rounded-section pointer-coarse:overflow-x-auto flex max-w-full gap-2 overflow-y-auto px-4",
|
|
3355
|
+
children: [suggestions.slice(0, displayCount).map((suggestion) => {
|
|
3356
|
+
const active = selectedValues.includes(suggestion.value);
|
|
3357
|
+
return u$1("li", {
|
|
3358
|
+
class: "animate-appear-tag max-w-full origin-top",
|
|
3359
|
+
children: u$1("button", {
|
|
3360
|
+
"data-filter": true,
|
|
3361
|
+
"data-current-value": active ? "true" : void 0,
|
|
3362
|
+
onClick: () => {
|
|
3363
|
+
switch (value.select) {
|
|
3364
|
+
case "many": {
|
|
3365
|
+
const newValue = toggleInArray(selectedValues, suggestion.value);
|
|
3366
|
+
onValueChange({
|
|
3367
|
+
select: "many",
|
|
3368
|
+
value: newValue
|
|
3369
|
+
});
|
|
3370
|
+
break;
|
|
3371
|
+
}
|
|
3372
|
+
case "one":
|
|
3373
|
+
onValueChange({
|
|
3374
|
+
select: "one",
|
|
3375
|
+
value: suggestion.value
|
|
3376
|
+
});
|
|
3377
|
+
break;
|
|
3378
|
+
default:
|
|
3379
|
+
exhaustive(value);
|
|
3380
|
+
}
|
|
3381
|
+
},
|
|
3382
|
+
class: tagClass({
|
|
3383
|
+
size: "lg",
|
|
3384
|
+
variant: active ? "accentStrong" : "neutralStrong",
|
|
3385
|
+
interactive: true,
|
|
3386
|
+
disabled: suggestion.disabled
|
|
3387
|
+
}),
|
|
3388
|
+
children: suggestion.label
|
|
3389
|
+
})
|
|
3390
|
+
}, suggestion.value);
|
|
3391
|
+
}), suggestions.length > displayCount && u$1("li", {
|
|
3392
|
+
class: "animate-appear-tag pointer-fine:w-full max-w-full flex-none origin-top",
|
|
3393
|
+
children: u$1("button", {
|
|
3394
|
+
class: btnClass({
|
|
3395
|
+
variant: "neutral",
|
|
3396
|
+
icon: "right",
|
|
3397
|
+
size: "lg",
|
|
3398
|
+
class: "border-px flex w-full max-w-full flex-none flex-nowrap justify-center truncate border-transparent"
|
|
3399
|
+
}),
|
|
3400
|
+
onClick: () => {
|
|
3401
|
+
setDisplayCount(displayCount + SUGGESTION_COUNT);
|
|
3402
|
+
},
|
|
3403
|
+
children: [u$1("span", {
|
|
3404
|
+
class: "font-style-tag font-family-tag font-weight-tag text-style-tag",
|
|
3405
|
+
children: "Show More"
|
|
3406
|
+
}), u$1(Icon, {
|
|
3407
|
+
name: "plus"
|
|
3408
|
+
})]
|
|
3409
|
+
})
|
|
3410
|
+
})]
|
|
3411
|
+
})
|
|
3412
|
+
});
|
|
3413
|
+
}
|
|
3414
|
+
default:
|
|
3415
|
+
exhaustive(unfilteredQuery);
|
|
3416
|
+
}
|
|
3417
|
+
})(), u$1("footer", {
|
|
3223
3418
|
class: "flex justify-end p-2",
|
|
3224
3419
|
children: [u$1("div", {
|
|
3225
3420
|
class: "flex-1",
|
|
@@ -3239,7 +3434,7 @@ const FilterContentActive = ({
|
|
|
3239
3434
|
class: "flex items-center overflow-hidden",
|
|
3240
3435
|
children: u$1("p", {
|
|
3241
3436
|
class: "font-style-default text-style-tag font-weight-default flex-grow select-none truncate text-center",
|
|
3242
|
-
children: [
|
|
3437
|
+
children: [selectedValues.length, " selected"]
|
|
3243
3438
|
})
|
|
3244
3439
|
}), u$1("div", {
|
|
3245
3440
|
class: "flex-1",
|
|
@@ -3249,12 +3444,7 @@ const FilterContentActive = ({
|
|
|
3249
3444
|
icon: "right",
|
|
3250
3445
|
class: "ml-auto"
|
|
3251
3446
|
}),
|
|
3252
|
-
onClick:
|
|
3253
|
-
if (hasValue) {
|
|
3254
|
-
onValueChange(internalValue);
|
|
3255
|
-
}
|
|
3256
|
-
onSkip();
|
|
3257
|
-
},
|
|
3447
|
+
onClick: onSkip,
|
|
3258
3448
|
children: [hasValue ? "Done" : "Skip", " ", u$1(Icon, {
|
|
3259
3449
|
name: "chevron-right"
|
|
3260
3450
|
})]
|
|
@@ -3274,21 +3464,8 @@ const filterIcons = {
|
|
|
3274
3464
|
company_name: "briefcase",
|
|
3275
3465
|
category: "briefcase"
|
|
3276
3466
|
};
|
|
3277
|
-
const tagClass$1 = cva({
|
|
3278
|
-
base: "ease-expo-out truncate max-w-full block cursor-pointer fr border-solid border-px font-style-tag font-family-tag font-weight-tag text-style-tag rounded-interactive transition-all duration-snappy active:scale-[0.975]",
|
|
3279
|
-
variants: {
|
|
3280
|
-
active: {
|
|
3281
|
-
false: "text-tag-neutral-strong-copy bg-tag-neutral-strong-bg border-tag-neutral-strong-stroke",
|
|
3282
|
-
true: "text-tag-accent-strong-copy bg-tag-accent-strong-bg border-tag-accent-strong-stroke"
|
|
3283
|
-
},
|
|
3284
|
-
size: {
|
|
3285
|
-
sm: "px-3 py-1",
|
|
3286
|
-
lg: "px-5 py-2"
|
|
3287
|
-
}
|
|
3288
|
-
}
|
|
3289
|
-
});
|
|
3290
3467
|
const wrapperClass$1 = cva({
|
|
3291
|
-
base: "group flex min-w-0 fr overflow-hidden rounded-section text-copy-neutral-lowcontrast ring-width-section transition-all duration-medium ease-expo-out fr-parent [&:has(.fr-child:active)]:scale-[0.975]",
|
|
3468
|
+
base: "group flex min-w-0 fr overflow-hidden rounded-section text-copy-neutral-lowcontrast ring-width-section transition-all duration-medium ease-expo-out fr-parent [&:has(.fr-child:active)]:scale-[0.975] origin-[50%_1.75rem]",
|
|
3292
3469
|
variants: {
|
|
3293
3470
|
hasValue: {
|
|
3294
3471
|
false: "bg-section-weak-bg ring-section-weak-stroke",
|
|
@@ -3333,22 +3510,19 @@ const Filter = ({
|
|
|
3333
3510
|
value,
|
|
3334
3511
|
onActiveChange,
|
|
3335
3512
|
property,
|
|
3336
|
-
suggestions,
|
|
3337
3513
|
onSkip,
|
|
3338
3514
|
onValueChange,
|
|
3339
|
-
|
|
3515
|
+
unfilteredQuery,
|
|
3516
|
+
useQuery
|
|
3340
3517
|
}) => {
|
|
3341
|
-
var _a;
|
|
3342
3518
|
const icon = property.icon ?? filterIcons[property.key] ?? "filter";
|
|
3343
3519
|
const selectedValues = getSelectedValues(value);
|
|
3344
|
-
const hasValue = selectedValues.length > 0;
|
|
3345
3520
|
const {
|
|
3346
3521
|
height,
|
|
3347
3522
|
ref: contentRef,
|
|
3348
3523
|
updateHeight
|
|
3349
3524
|
} = useMeasureHeight([active]);
|
|
3350
|
-
const
|
|
3351
|
-
const selectedLabel = selectedSuggestions.length > 1 ? selectedSuggestions.length.toString() : (_a = selectedSuggestions[0]) == null ? void 0 : _a.label;
|
|
3525
|
+
const hasValue = selectedValues.length > 0;
|
|
3352
3526
|
return u$1("section", {
|
|
3353
3527
|
"data-filter-key": property.key,
|
|
3354
3528
|
role: "tab",
|
|
@@ -3357,7 +3531,7 @@ const Filter = ({
|
|
|
3357
3531
|
class: wrapperClass$1({
|
|
3358
3532
|
hasValue
|
|
3359
3533
|
}),
|
|
3360
|
-
onTouchStart:
|
|
3534
|
+
onTouchStart: noop,
|
|
3361
3535
|
children: [u$1("div", {
|
|
3362
3536
|
class: "min-w-0 max-w-full shrink-0 flex-grow",
|
|
3363
3537
|
children: [u$1("button", {
|
|
@@ -3382,12 +3556,12 @@ const Filter = ({
|
|
|
3382
3556
|
class: "w-full",
|
|
3383
3557
|
ref: contentRef,
|
|
3384
3558
|
children: active && u$1(FilterContentActive, {
|
|
3559
|
+
useQuery,
|
|
3385
3560
|
onRender: updateHeight,
|
|
3386
3561
|
onSkip,
|
|
3387
3562
|
onValueChange,
|
|
3563
|
+
unfilteredQuery,
|
|
3388
3564
|
property,
|
|
3389
|
-
state,
|
|
3390
|
-
suggestions,
|
|
3391
3565
|
value
|
|
3392
3566
|
})
|
|
3393
3567
|
})
|
|
@@ -3396,16 +3570,13 @@ const Filter = ({
|
|
|
3396
3570
|
tabIndex: -1,
|
|
3397
3571
|
class: "fr-child flex flex-shrink flex-grow cursor-pointer select-none items-center justify-end gap-2 overflow-hidden pl-2 pr-3 focus:outline-none",
|
|
3398
3572
|
onClick: () => onActiveChange(true),
|
|
3399
|
-
children: [
|
|
3573
|
+
children: [u$1("div", {
|
|
3400
3574
|
"aria-label": "Current value",
|
|
3401
3575
|
class: "flex max-w-full gap-1 overflow-hidden",
|
|
3402
|
-
children: u$1(
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
class: "truncate tabular-nums"
|
|
3407
|
-
}),
|
|
3408
|
-
children: selectedLabel
|
|
3576
|
+
children: u$1(CurrentValueTag, {
|
|
3577
|
+
property,
|
|
3578
|
+
query: unfilteredQuery,
|
|
3579
|
+
selectedValues
|
|
3409
3580
|
})
|
|
3410
3581
|
}), u$1(Icon, {
|
|
3411
3582
|
class: chevronClass(),
|
|
@@ -3441,6 +3612,8 @@ const useFilterKeyboardFocus = (activeKey, ref) => {
|
|
|
3441
3612
|
focusFirstAvailableOption(keyToFocus, ref);
|
|
3442
3613
|
}, [activeKey, previousActiveKey, ref]);
|
|
3443
3614
|
};
|
|
3615
|
+
function noop() {
|
|
3616
|
+
}
|
|
3444
3617
|
const nextStateFromValue = ({
|
|
3445
3618
|
property,
|
|
3446
3619
|
value,
|
|
@@ -3487,72 +3660,72 @@ const FilterSection = ({
|
|
|
3487
3660
|
var _a;
|
|
3488
3661
|
const [activeKey, setActiveKey] = h((_a = properties[0]) == null ? void 0 : _a.key);
|
|
3489
3662
|
useFilterKeyboardFocus(activeKey, parentRef);
|
|
3490
|
-
const
|
|
3491
|
-
|
|
3492
|
-
} = useSWR(JSON.stringify(appliedFilters), () => getJobSearchResults({
|
|
3663
|
+
const defaultFilters = F$1(() => getFilterDefaults(properties), [properties]);
|
|
3664
|
+
const unfilteredQuery = getQueryState(useSWR(cacheKey(defaultFilters), () => getAvailableFilters({
|
|
3493
3665
|
apiClient,
|
|
3494
3666
|
logger,
|
|
3495
|
-
filters:
|
|
3496
|
-
}), SWR_SETTINGS);
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3667
|
+
filters: defaultFilters
|
|
3668
|
+
}), SWR_SETTINGS));
|
|
3669
|
+
if (unfilteredQuery.state === "error")
|
|
3670
|
+
throw unfilteredQuery.error;
|
|
3671
|
+
const makeQueryWithoutFilter = T$1((keyToExclude) => () => {
|
|
3672
|
+
const filters = {
|
|
3673
|
+
...appliedFilters,
|
|
3674
|
+
[keyToExclude]: defaultFilters[keyToExclude]
|
|
3675
|
+
};
|
|
3676
|
+
return useSWR(cacheKey(filters), () => getAvailableFilters({
|
|
3677
|
+
apiClient,
|
|
3678
|
+
logger,
|
|
3679
|
+
filters
|
|
3680
|
+
}), SWR_SETTINGS);
|
|
3681
|
+
}, [apiClient, appliedFilters, defaultFilters, logger]);
|
|
3682
|
+
return u$1("aside", {
|
|
3683
|
+
children: u$1("div", {
|
|
3684
|
+
role: "tablist",
|
|
3685
|
+
class: "top-filters sticky flex flex-col gap-2 px-4 md:px-0",
|
|
3686
|
+
children: properties.map((property) => {
|
|
3687
|
+
const active = activeKey === property.key;
|
|
3688
|
+
const value = appliedFilters[property.key] ?? {
|
|
3689
|
+
select: property.select,
|
|
3690
|
+
value: void 0
|
|
3691
|
+
};
|
|
3692
|
+
const onValueChange = (value2) => {
|
|
3693
|
+
const {
|
|
3694
|
+
newActiveKey,
|
|
3695
|
+
newValue
|
|
3696
|
+
} = nextStateFromValue({
|
|
3697
|
+
property,
|
|
3698
|
+
activeKey,
|
|
3699
|
+
value: value2,
|
|
3700
|
+
properties,
|
|
3701
|
+
appliedFilters
|
|
3702
|
+
});
|
|
3703
|
+
setActiveKey(newActiveKey);
|
|
3704
|
+
return onFilterValueChange(property.key, newValue);
|
|
3705
|
+
};
|
|
3706
|
+
const onActiveChange = (active2) => setActiveKey(active2 ? property.key : void 0);
|
|
3707
|
+
const useQuery = makeQueryWithoutFilter(property.key);
|
|
3708
|
+
return u$1(ErrorBoundary, {
|
|
3709
|
+
Fallback,
|
|
3710
|
+
children: u$1(Filter, {
|
|
3711
|
+
unfilteredQuery,
|
|
3712
|
+
active,
|
|
3713
|
+
property,
|
|
3714
|
+
onActiveChange,
|
|
3715
|
+
value,
|
|
3716
|
+
onSkip: () => {
|
|
3717
|
+
var _a2;
|
|
3718
|
+
const currentIndex = properties.findIndex((p2) => p2.key === activeKey);
|
|
3719
|
+
const nextPropertyKey = currentIndex !== -1 ? (_a2 = properties[currentIndex + 1]) == null ? void 0 : _a2.key : void 0;
|
|
3720
|
+
setActiveKey(nextPropertyKey);
|
|
3721
|
+
},
|
|
3722
|
+
useQuery,
|
|
3723
|
+
onValueChange
|
|
3552
3724
|
})
|
|
3553
|
-
})
|
|
3554
|
-
})
|
|
3555
|
-
|
|
3725
|
+
}, property.key);
|
|
3726
|
+
})
|
|
3727
|
+
})
|
|
3728
|
+
});
|
|
3556
3729
|
};
|
|
3557
3730
|
const getFirstPageKey = (getKey) => {
|
|
3558
3731
|
return serialize(getKey ? getKey(0, null) : null)[0];
|
|
@@ -3776,18 +3949,6 @@ const wrapperClass = cva({
|
|
|
3776
3949
|
const badgeClass = cva({
|
|
3777
3950
|
base: "bg-tag-accent-strong-bg rounded-job-tag text-style-tag text-tag-accent-strong-copy font-weight-tag flex items-center justify-center px-2"
|
|
3778
3951
|
});
|
|
3779
|
-
const tagClass = cva({
|
|
3780
|
-
base: "rounded-tag text-style-tag font-weight-tag block px-2",
|
|
3781
|
-
variants: {
|
|
3782
|
-
colorScheme: {
|
|
3783
|
-
default: "bg-tag-neutral-weak-bg text-tag-neutral-weak-copy ring-px ring-tag-neutral-weak-stroke",
|
|
3784
|
-
monetary: "bg-tag-monetary-weak-bg text-tag-monetary-weak-copy"
|
|
3785
|
-
}
|
|
3786
|
-
},
|
|
3787
|
-
defaultVariants: {
|
|
3788
|
-
colorScheme: "default"
|
|
3789
|
-
}
|
|
3790
|
-
});
|
|
3791
3952
|
const JobCard = ({
|
|
3792
3953
|
job
|
|
3793
3954
|
}) => {
|
|
@@ -3818,13 +3979,16 @@ const JobCard = ({
|
|
|
3818
3979
|
class: "flex flex-col items-start gap-2",
|
|
3819
3980
|
children: [job.pay && u$1("span", {
|
|
3820
3981
|
class: tagClass({
|
|
3821
|
-
|
|
3982
|
+
variant: "monetaryWeak",
|
|
3983
|
+
size: "xs"
|
|
3822
3984
|
}),
|
|
3823
3985
|
children: job.pay
|
|
3824
3986
|
}), job.contractType && u$1("div", {
|
|
3825
3987
|
class: "flex items-center gap-2",
|
|
3826
3988
|
children: u$1("span", {
|
|
3827
|
-
class: tagClass(
|
|
3989
|
+
class: tagClass({
|
|
3990
|
+
size: "xs"
|
|
3991
|
+
}),
|
|
3828
3992
|
children: job.contractType
|
|
3829
3993
|
})
|
|
3830
3994
|
})]
|
|
@@ -3877,19 +4041,22 @@ const JobCardSkeleton = ({
|
|
|
3877
4041
|
class: "flex flex-col items-start gap-2",
|
|
3878
4042
|
children: [seed % 2 === 0 && u$1("span", {
|
|
3879
4043
|
class: tagClass({
|
|
3880
|
-
|
|
4044
|
+
variant: "neutralWeak",
|
|
4045
|
+
size: "xs",
|
|
3881
4046
|
class: "h-[1lh] w-[10ch]"
|
|
3882
4047
|
})
|
|
3883
4048
|
}), u$1("div", {
|
|
3884
4049
|
class: "flex items-center gap-2",
|
|
3885
4050
|
children: [u$1("span", {
|
|
3886
4051
|
class: tagClass({
|
|
3887
|
-
|
|
4052
|
+
variant: "neutralWeak",
|
|
4053
|
+
size: "xs",
|
|
3888
4054
|
class: "h-[1lh] w-[6ch]"
|
|
3889
4055
|
})
|
|
3890
4056
|
}), u$1("span", {
|
|
3891
4057
|
class: tagClass({
|
|
3892
|
-
|
|
4058
|
+
variant: "neutralWeak",
|
|
4059
|
+
size: "xs",
|
|
3893
4060
|
class: "h-[1lh] w-[8ch]"
|
|
3894
4061
|
})
|
|
3895
4062
|
})]
|
|
@@ -3913,7 +4080,7 @@ const LoadMore = ({
|
|
|
3913
4080
|
class: "flex flex-col gap-3",
|
|
3914
4081
|
"aria-hidden": true,
|
|
3915
4082
|
children: Array.from({
|
|
3916
|
-
length:
|
|
4083
|
+
length: PAGE_SIZE
|
|
3917
4084
|
}).map((_2, i2) => u$1("li", {
|
|
3918
4085
|
children: u$1(JobCardSkeleton, {
|
|
3919
4086
|
seed: i2,
|
|
@@ -3969,7 +4136,7 @@ const ResultsSection = ({
|
|
|
3969
4136
|
...swr
|
|
3970
4137
|
} = useSWRInfinite((index, prevPageData) => {
|
|
3971
4138
|
if (prevPageData === null)
|
|
3972
|
-
return index + 1 + "/" +
|
|
4139
|
+
return index + 1 + "/" + cacheKey(appliedFilters);
|
|
3973
4140
|
if (prevPageData.pagination.last_page === prevPageData.pagination.current_page)
|
|
3974
4141
|
return null;
|
|
3975
4142
|
return index + 1 + "/" + JSON.stringify(appliedFilters);
|
|
@@ -3987,7 +4154,7 @@ const ResultsSection = ({
|
|
|
3987
4154
|
data,
|
|
3988
4155
|
error,
|
|
3989
4156
|
state
|
|
3990
|
-
} =
|
|
4157
|
+
} = getQueryState(swr);
|
|
3991
4158
|
const fetchNextPage = () => {
|
|
3992
4159
|
setSize((size2) => size2 + 1);
|
|
3993
4160
|
};
|
|
@@ -4004,7 +4171,7 @@ const ResultsSection = ({
|
|
|
4004
4171
|
class: "flex flex-col gap-3",
|
|
4005
4172
|
"aria-hidden": true,
|
|
4006
4173
|
children: Array.from({
|
|
4007
|
-
length:
|
|
4174
|
+
length: PAGE_SIZE
|
|
4008
4175
|
}).map((_2, i2) => u$1("li", {
|
|
4009
4176
|
children: u$1(JobCardSkeleton, {
|
|
4010
4177
|
seed: i2,
|
|
@@ -4137,7 +4304,7 @@ const JobSearch = ({
|
|
|
4137
4304
|
})
|
|
4138
4305
|
});
|
|
4139
4306
|
};
|
|
4140
|
-
const tailwind = "#ijs {\n font-size: 16px;\n --tw-content: '';\n}\n\n #ijs * {\n box-sizing: border-box;\n border-style: solid;\n border-width: 0;\n -webkit-tap-highlight-color: transparent;\n font-family: inherit;\n font-style: inherit;\n font-weight: inherit;\n }\n\n #ijs ::before,\n #ijs ::after {\n box-sizing: border-box;\n }\n\n #ijs :is(a) {\n text-decoration: none;\n }\n\n #ijs :is(ul, ol) {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n #ijs :is(p) {\n margin: 0;\n padding: 0;\n }\n\n #ijs :is(li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n #ijs :is(button),\n #ijs :is(a) {\n display: block;\n margin: 0;\n padding: 0;\n border: unset;\n background: unset;\n text-align: unset;\n }\n\n #ijs :is(input),\n #ijs :is(textarea) {\n display: block;\n margin: 0;\n padding: 0;\n min-width: 0;\n max-width: unset;\n width: 100%;\n }\n\n #ijs :is(svg) {\n display: block;\n }\n\n #ijs.reduced-motion * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n animation-delay: 0s !important;\n }\n\n @media (prefers-reduced-motion) {\n #ijs * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n animation-delay: 0s !important;\n }\n }\n\n #ijs *, #ijs ::before, #ijs ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #ijs ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #ijs .container {\n width: 100%;\n}\n\n @media (min-width: 640px) {\n\n #ijs .container {\n max-width: 640px;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .container {\n max-width: 768px;\n }\n}\n\n @media (min-width: 1024px) {\n\n #ijs .container {\n max-width: 1024px;\n }\n}\n\n @media (min-width: 1280px) {\n\n #ijs .container {\n max-width: 1280px;\n }\n}\n\n @media (min-width: 1536px) {\n\n #ijs .container {\n max-width: 1536px;\n }\n}\n\n #ijs .visible {\n visibility: visible;\n}\n\n #ijs .invisible {\n visibility: hidden;\n}\n\n #ijs .collapse {\n visibility: collapse;\n}\n\n #ijs .static {\n position: static;\n}\n\n #ijs .fixed {\n position: fixed;\n}\n\n #ijs .absolute {\n position: absolute;\n}\n\n #ijs .relative {\n position: relative;\n}\n\n #ijs .sticky {\n position: sticky;\n}\n\n #ijs .top-0 {\n top: 0px;\n}\n\n #ijs .isolate {\n isolation: isolate;\n}\n\n #ijs .m-0 {\n margin: 0px;\n}\n\n #ijs .m-11 {\n margin: 2.75rem;\n}\n\n #ijs .m-3 {\n margin: 0.75rem;\n}\n\n #ijs .-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n}\n\n #ijs .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n #ijs .ml-auto {\n margin-left: auto;\n}\n\n #ijs .block {\n display: block;\n}\n\n #ijs .inline-block {\n display: inline-block;\n}\n\n #ijs .inline {\n display: inline;\n}\n\n #ijs .flex {\n display: flex;\n}\n\n #ijs .inline-flex {\n display: inline-flex;\n}\n\n #ijs .table {\n display: table;\n}\n\n #ijs .table-row {\n display: table-row;\n}\n\n #ijs .flow-root {\n display: flow-root;\n}\n\n #ijs .grid {\n display: grid;\n}\n\n #ijs .inline-grid {\n display: inline-grid;\n}\n\n #ijs .contents {\n display: contents;\n}\n\n #ijs .list-item {\n display: list-item;\n}\n\n #ijs .\\!hidden {\n display: none !important;\n}\n\n #ijs .hidden {\n display: none;\n}\n\n #ijs .h-8 {\n height: 2rem;\n}\n\n #ijs .h-\\[1lh\\] {\n height: 1lh;\n}\n\n #ijs .min-h-screen {\n min-height: 100vh;\n}\n\n #ijs .w-\\[10ch\\] {\n width: 10ch;\n}\n\n #ijs .w-\\[6ch\\] {\n width: 6ch;\n}\n\n #ijs .w-\\[8ch\\] {\n width: 8ch;\n}\n\n #ijs .w-full {\n width: 100%;\n}\n\n #ijs .min-w-0 {\n min-width: 0px;\n}\n\n #ijs .max-w-full {\n max-width: 100%;\n}\n\n #ijs .max-w-screen-lg {\n max-width: 1024px;\n}\n\n #ijs .flex-1 {\n flex: 1 1 0%;\n}\n\n #ijs .flex-none {\n flex: none;\n}\n\n #ijs .flex-shrink {\n flex-shrink: 1;\n}\n\n #ijs .shrink {\n flex-shrink: 1;\n}\n\n #ijs .shrink-0 {\n flex-shrink: 0;\n}\n\n #ijs .flex-grow {\n flex-grow: 1;\n}\n\n #ijs .grow {\n flex-grow: 1;\n}\n\n #ijs .border-collapse {\n border-collapse: collapse;\n}\n\n #ijs .origin-top {\n transform-origin: top;\n}\n\n #ijs .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n @keyframes appear-tag {\n\n 0% {\n transform: scale(0.9);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n #ijs .animate-appear-tag {\n animation: appear-tag .6s cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n @keyframes selected-tag {\n\n 0% {\n transform: scale(1.11);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n #ijs .animate-selected-tag {\n animation: selected-tag .9s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n @keyframes skeleton {\n\n 0% {\n opacity: 0.2;\n }\n\n 50% {\n opacity: 0.5;\n }\n\n 100% {\n opacity: 0.3;\n }\n}\n\n #ijs .animate-skeleton {\n animation: skeleton 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n @keyframes slide-in-bottom {\n\n 0% {\n transform: translateY(-50%);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n\n #ijs .animate-slide-in-bottom {\n animation: slide-in-bottom .4s cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n #ijs .cursor-default {\n cursor: default;\n}\n\n #ijs .cursor-pointer {\n cursor: pointer;\n}\n\n #ijs .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n #ijs .resize {\n resize: both;\n}\n\n #ijs .flex-col {\n flex-direction: column;\n}\n\n #ijs .flex-wrap {\n flex-wrap: wrap;\n}\n\n #ijs .items-start {\n align-items: flex-start;\n}\n\n #ijs .items-center {\n align-items: center;\n}\n\n #ijs .justify-end {\n justify-content: flex-end;\n}\n\n #ijs .justify-center {\n justify-content: center;\n}\n\n #ijs .gap-1 {\n gap: 0.25rem;\n}\n\n #ijs .gap-1\\.5 {\n gap: 0.375rem;\n}\n\n #ijs .gap-2 {\n gap: 0.5rem;\n}\n\n #ijs .gap-3 {\n gap: 0.75rem;\n}\n\n #ijs .gap-4 {\n gap: 1rem;\n}\n\n #ijs .self-center {\n align-self: center;\n}\n\n #ijs .overflow-auto {\n overflow: auto;\n}\n\n #ijs .overflow-hidden {\n overflow: hidden;\n}\n\n #ijs .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n #ijs .rounded-input {\n border-radius: var(--i-radius-input);\n}\n\n #ijs .rounded-interactive {\n border-radius: var(--i-radius-interactive);\n}\n\n #ijs .rounded-job-card {\n border-radius: var(--i-radius-job-card);\n}\n\n #ijs .rounded-job-tag {\n border-radius: var(--i-radius-job-tag);\n}\n\n #ijs .rounded-section {\n border-radius: var(--i-radius-section);\n}\n\n #ijs .rounded-tag {\n border-radius: var(--i-radius-job-tag);\n}\n\n #ijs .border-px {\n border-width: 1px;\n}\n\n #ijs .border-solid {\n border-style: solid;\n}\n\n #ijs .border-tag-accent-strong-stroke {\n border-color: var(--i-tag-accent-strong-stroke-color);\n}\n\n #ijs .border-tag-neutral-strong-stroke {\n border-color: var(--i-tag-neutral-strong-stroke-color);\n}\n\n #ijs .border-transparent {\n border-color: transparent;\n}\n\n #ijs .bg-\\[currentColor\\] {\n background-color: currentColor;\n}\n\n #ijs .bg-app {\n background-color: var(--i-app-bg);\n}\n\n #ijs .bg-interactive-accent-bg {\n background-color: var(--i-interactive-accent-bg);\n}\n\n #ijs .bg-interactive-neutral-bg {\n background-color: var(--i-interactive-neutral-bg);\n}\n\n #ijs .bg-job-card-bg {\n background-color: var(--i-job-card-bg);\n}\n\n #ijs .bg-lowest {\n --tw-bg-opacity: 1;\n background-color: oklch(var(--i-lowest) / var(--tw-bg-opacity));\n}\n\n #ijs .bg-section-strong-bg {\n background-color: var(--i-section-strong-bg);\n}\n\n #ijs .bg-section-weak-bg {\n background-color: var(--i-section-weak-bg);\n}\n\n #ijs .bg-tag-accent-strong-bg {\n background-color: var(--i-tag-accent-strong-bg);\n}\n\n #ijs .bg-tag-monetary-weak-bg {\n background-color: var(--i-tag-monetary-weak-bg);\n}\n\n #ijs .bg-tag-neutral-strong-bg {\n background-color: var(--i-tag-neutral-strong-bg);\n}\n\n #ijs .bg-tag-neutral-weak-bg {\n background-color: var(--i-tag-neutral-weak-bg);\n}\n\n #ijs .p-0 {\n padding: 0px;\n}\n\n #ijs .p-2 {\n padding: 0.5rem;\n}\n\n #ijs .p-4 {\n padding: 1rem;\n}\n\n #ijs .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n #ijs .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n #ijs .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n #ijs .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n #ijs .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n #ijs .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n #ijs .py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n #ijs .py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n #ijs .pl-1 {\n padding-left: 0.25rem;\n}\n\n #ijs .pl-2 {\n padding-left: 0.5rem;\n}\n\n #ijs .pl-3 {\n padding-left: 0.75rem;\n}\n\n #ijs .pl-4 {\n padding-left: 1rem;\n}\n\n #ijs .pr-1 {\n padding-right: 0.25rem;\n}\n\n #ijs .pr-3 {\n padding-right: 0.75rem;\n}\n\n #ijs .pt-1 {\n padding-top: 0.25rem;\n}\n\n #ijs .text-center {\n text-align: center;\n}\n\n #ijs .text-justify {\n text-align: justify;\n}\n\n #ijs .font-family-default {\n font-family: var(--i-font);\n}\n\n #ijs .font-family-filter {\n font-family: var(--i-font-filter);\n}\n\n #ijs .font-family-job-heading {\n font-family: var(--i-font-job-heading);\n}\n\n #ijs .font-family-tag {\n font-family: var(--i-font-tag);\n}\n\n #ijs .text-style-filter {\n font-size: 1rem;\n line-height: 1.5rem;\n letter-spacing: -0.01em;\n}\n\n #ijs .text-style-input {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n #ijs .text-style-job-card {\n font-size: 0.875rem;\n line-height: 1.125rem;\n}\n\n #ijs .text-style-job-card-info {\n font-size: 0.75rem;\n line-height: 1.125rem;\n}\n\n #ijs .text-style-job-heading {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n #ijs .text-style-tag {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n\n #ijs .font-weight-default {\n font-weight: var(--i-weight-default);\n}\n\n #ijs .font-weight-filter {\n font-weight: var(--i-weight-filter);\n}\n\n #ijs .font-weight-input {\n font-weight: var(--i-weight-input);\n}\n\n #ijs .font-weight-job-heading {\n font-weight: var(--i-weight-job-heading);\n}\n\n #ijs .font-weight-tag {\n font-weight: var(--i-weight-tag);\n}\n\n #ijs .uppercase {\n text-transform: uppercase;\n}\n\n #ijs .lowercase {\n text-transform: lowercase;\n}\n\n #ijs .capitalize {\n text-transform: capitalize;\n}\n\n #ijs .italic {\n font-style: italic;\n}\n\n #ijs .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #ijs .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #ijs .text-copy-accent {\n color: var(--i-copy-accent);\n}\n\n #ijs .text-copy-job-info {\n color: var(--i-copy-info);\n}\n\n #ijs .text-copy-neutral {\n color: var(--i-copy);\n}\n\n #ijs .text-copy-neutral-icon {\n color: var(--i-copy-icon);\n}\n\n #ijs .text-copy-neutral-lowcontrast {\n color: var(--i-copy-lowcontrast);\n}\n\n #ijs .text-interactive-accent-text {\n color: var(--i-interactive-accent-text);\n}\n\n #ijs .text-interactive-neutral-text {\n color: var(--i-interactive-neutral-text);\n}\n\n #ijs .text-tag-accent-strong-copy {\n color: var(--i-tag-accent-strong-copy);\n}\n\n #ijs .text-tag-monetary-weak-copy {\n color: var(--i-tag-monetary-weak-copy);\n}\n\n #ijs .text-tag-neutral-strong-copy {\n color: var(--i-tag-neutral-strong-copy);\n}\n\n #ijs .text-tag-neutral-weak-copy {\n color: var(--i-tag-neutral-weak-copy);\n}\n\n #ijs .caret-accent-11 {\n caret-color: oklch(var(--i-a-11) / 1);\n}\n\n #ijs .opacity-20 {\n opacity: 0.2;\n}\n\n #ijs .opacity-25 {\n opacity: 0.25;\n}\n\n #ijs .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #ijs .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #ijs .outline {\n outline-style: solid;\n}\n\n #ijs .ring-px {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-width-job-card {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-job-card-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-width-section {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-job-card-stroke {\n --tw-ring-color: var(--i-job-card-stroke-color);\n}\n\n #ijs .ring-section-strong-stroke {\n --tw-ring-color: var(--i-section-strong-stroke-color);\n}\n\n #ijs .ring-section-weak-stroke {\n --tw-ring-color: var(--i-section-weak-stroke-color);\n}\n\n #ijs .ring-tag-neutral-weak-stroke {\n --tw-ring-color: var(--i-tag-neutral-weak-stroke-color);\n}\n\n #ijs .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .sepia {\n --tw-sepia: sepia(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #ijs .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .duration-medium {\n transition-duration: .6s;\n}\n\n #ijs .duration-slow {\n transition-duration: .9s;\n}\n\n #ijs .duration-snappy {\n transition-duration: .4s;\n}\n\n #ijs .ease-expo-out {\n transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #ijs .font-style-default {\n font-style: var(--i-font-style);\n}\n\n #ijs .font-style-filter {\n font-style: var(--i-style-filter);\n}\n\n #ijs .font-style-input {\n font-style: var(--i-style-input);\n}\n\n #ijs .font-style-job-heading {\n font-style: var(--i-style-job-heading);\n}\n\n #ijs .font-style-tag {\n font-style: var(--i-style-tag);\n}\n\n #ijs .top-filters {\n top: var(--i-filters-offset-top);\n}\n\n #ijs .fr {\n outline: none;\n}\n\n #ijs .fr:focus {\n outline: none;\n}\n\n #ijs .fr:focus-visible {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: oklch(var(--i-lowest) / 1);\n --tw-ring-opacity: 1;\n --tw-ring-color: oklch(var(--i-a-9) / 1);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .fr-parent:has(.fr-child:focus-visible) {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: oklch(var(--i-lowest) / 1);\n --tw-ring-opacity: 1;\n --tw-ring-color: oklch(var(--i-a-9) / 1);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .fr-child {}\n\n #ijs .hide-scrollbars::-webkit-scrollbar {\n display: none;\n}\n\n #ijs .hide-scrollbars {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n #ijs .touch-hitbox::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n}\n\n #ijs .\\[a-zA-Z0-9-_\\:\\.\\$\\@\\?\\] {\n a-z-a--z0-9-_: .$@?;\n}\n\n #ijs .\\[text-wrap\\:pretty\\] {\n text-wrap: pretty;\n}\n\n #ijs .placeholder\\:text-neutral-10::-moz-placeholder {\n --tw-text-opacity: 1;\n color: oklch(var(--i-n-10) / var(--tw-text-opacity));\n}\n\n #ijs .placeholder\\:text-neutral-10::placeholder {\n --tw-text-opacity: 1;\n color: oklch(var(--i-n-10) / var(--tw-text-opacity));\n}\n\n #ijs .hover\\:bg-interactive-accent-bg-hover:hover {\n background-color: var(--i-interactive-accent-bg-hover);\n}\n\n #ijs .hover\\:bg-interactive-neutral-bg-hover:hover {\n background-color: var(--i-interactive-neutral-bg-hover);\n}\n\n #ijs .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #ijs .active\\:-scale-100:active {\n --tw-scale-x: -1;\n --tw-scale-y: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:scale-95:active {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:scale-\\[0\\.975\\]:active {\n --tw-scale-x: 0.975;\n --tw-scale-y: 0.975;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:bg-job-card-bg-active:active {\n background-color: var(--i-job-card-bg-active);\n}\n\n #ijs .active\\:ring-job-card-stroke-active:active {\n --tw-ring-color: var(--i-job-card-stroke-color-active);\n}\n\n @media (pointer: fine) {\n\n #ijs .group:hover .pointer-fine\\:group-hover\\:text-copy-neutral {\n color: var(--i-copy);\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:grid {\n display: grid;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:overflow-hidden {\n overflow: hidden;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:text-left {\n text-align: left;\n }\n}\n\n @media (min-width: 1024px) {\n\n #ijs .lg\\:ring-width-section {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n }\n}\n\n #ijs .\\[\\&\\:has\\(\\.fr-child\\:active\\)\\]\\:scale-\\[0\\.975\\]:has(.fr-child:active) {\n --tw-scale-x: 0.975;\n --tw-scale-y: 0.975;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n";
|
|
4307
|
+
const tailwind = "#ijs {\n font-size: 16px;\n --tw-content: '';\n}\n\n #ijs * {\n box-sizing: border-box;\n border-style: solid;\n border-width: 0;\n -webkit-tap-highlight-color: transparent;\n font-family: inherit;\n font-style: inherit;\n font-weight: inherit;\n }\n\n #ijs ::before,\n #ijs ::after {\n box-sizing: border-box;\n }\n\n #ijs :is(a) {\n text-decoration: none;\n }\n\n #ijs :is(ul, ol) {\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n #ijs :is(p) {\n margin: 0;\n padding: 0;\n }\n\n #ijs :is(li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n #ijs :is(button),\n #ijs :is(a) {\n display: block;\n margin: 0;\n padding: 0;\n border: unset;\n background: unset;\n text-align: unset;\n }\n\n #ijs :is(input),\n #ijs :is(textarea) {\n display: block;\n margin: 0;\n padding: 0;\n min-width: 0;\n max-width: unset;\n width: 100%;\n }\n\n #ijs :is(svg) {\n display: block;\n }\n\n #ijs.reduced-motion * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n animation-delay: 0s !important;\n }\n\n @media (prefers-reduced-motion) {\n #ijs * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n animation-delay: 0s !important;\n }\n }\n\n #ijs *, #ijs ::before, #ijs ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #ijs ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n #ijs .container {\n width: 100%;\n}\n\n @media (min-width: 640px) {\n\n #ijs .container {\n max-width: 640px;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .container {\n max-width: 768px;\n }\n}\n\n @media (min-width: 1024px) {\n\n #ijs .container {\n max-width: 1024px;\n }\n}\n\n @media (min-width: 1280px) {\n\n #ijs .container {\n max-width: 1280px;\n }\n}\n\n @media (min-width: 1536px) {\n\n #ijs .container {\n max-width: 1536px;\n }\n}\n\n #ijs .pointer-events-none {\n pointer-events: none;\n}\n\n #ijs .visible {\n visibility: visible;\n}\n\n #ijs .invisible {\n visibility: hidden;\n}\n\n #ijs .collapse {\n visibility: collapse;\n}\n\n #ijs .static {\n position: static;\n}\n\n #ijs .fixed {\n position: fixed;\n}\n\n #ijs .absolute {\n position: absolute;\n}\n\n #ijs .relative {\n position: relative;\n}\n\n #ijs .sticky {\n position: sticky;\n}\n\n #ijs .top-0 {\n top: 0px;\n}\n\n #ijs .isolate {\n isolation: isolate;\n}\n\n #ijs .m-0 {\n margin: 0px;\n}\n\n #ijs .m-11 {\n margin: 2.75rem;\n}\n\n #ijs .m-3 {\n margin: 0.75rem;\n}\n\n #ijs .mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n #ijs .ml-auto {\n margin-left: auto;\n}\n\n #ijs .block {\n display: block;\n}\n\n #ijs .inline-block {\n display: inline-block;\n}\n\n #ijs .inline {\n display: inline;\n}\n\n #ijs .flex {\n display: flex;\n}\n\n #ijs .inline-flex {\n display: inline-flex;\n}\n\n #ijs .table {\n display: table;\n}\n\n #ijs .table-row {\n display: table-row;\n}\n\n #ijs .flow-root {\n display: flow-root;\n}\n\n #ijs .grid {\n display: grid;\n}\n\n #ijs .inline-grid {\n display: inline-grid;\n}\n\n #ijs .contents {\n display: contents;\n}\n\n #ijs .list-item {\n display: list-item;\n}\n\n #ijs .\\!hidden {\n display: none !important;\n}\n\n #ijs .hidden {\n display: none;\n}\n\n #ijs .h-8 {\n height: 2rem;\n}\n\n #ijs .h-\\[1lh\\] {\n height: 1lh;\n}\n\n #ijs .min-h-screen {\n min-height: 100vh;\n}\n\n #ijs .w-\\[10ch\\] {\n width: 10ch;\n}\n\n #ijs .w-\\[6ch\\] {\n width: 6ch;\n}\n\n #ijs .w-\\[8ch\\] {\n width: 8ch;\n}\n\n #ijs .w-full {\n width: 100%;\n}\n\n #ijs .min-w-0 {\n min-width: 0px;\n}\n\n #ijs .max-w-full {\n max-width: 100%;\n}\n\n #ijs .max-w-screen-lg {\n max-width: 1024px;\n}\n\n #ijs .flex-1 {\n flex: 1 1 0%;\n}\n\n #ijs .flex-none {\n flex: none;\n}\n\n #ijs .flex-shrink {\n flex-shrink: 1;\n}\n\n #ijs .shrink {\n flex-shrink: 1;\n}\n\n #ijs .shrink-0 {\n flex-shrink: 0;\n}\n\n #ijs .flex-grow {\n flex-grow: 1;\n}\n\n #ijs .grow {\n flex-grow: 1;\n}\n\n #ijs .border-collapse {\n border-collapse: collapse;\n}\n\n #ijs .origin-\\[50\\%_1\\.75rem\\] {\n transform-origin: 50% 1.75rem;\n}\n\n #ijs .origin-top {\n transform-origin: top;\n}\n\n #ijs .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n @keyframes appear-tag {\n\n 0% {\n transform: scale(0.9);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n #ijs .animate-appear-tag {\n animation: appear-tag .6s cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n @keyframes selected-tag {\n\n 0% {\n transform: scale(1.11);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n #ijs .animate-selected-tag {\n animation: selected-tag .9s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n @keyframes skeleton {\n\n 0% {\n opacity: 0.2;\n }\n\n 50% {\n opacity: 0.5;\n }\n\n 100% {\n opacity: 0.3;\n }\n}\n\n #ijs .animate-skeleton {\n animation: skeleton 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n @keyframes slide-in-bottom {\n\n 0% {\n transform: translateY(-50%);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n\n #ijs .animate-slide-in-bottom {\n animation: slide-in-bottom .4s cubic-bezier(0.16, 1, 0.3, 1) both;\n}\n\n #ijs .cursor-default {\n cursor: default;\n}\n\n #ijs .cursor-pointer {\n cursor: pointer;\n}\n\n #ijs .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n #ijs .resize {\n resize: both;\n}\n\n #ijs .flex-col {\n flex-direction: column;\n}\n\n #ijs .flex-wrap {\n flex-wrap: wrap;\n}\n\n #ijs .flex-nowrap {\n flex-wrap: nowrap;\n}\n\n #ijs .items-start {\n align-items: flex-start;\n}\n\n #ijs .items-center {\n align-items: center;\n}\n\n #ijs .justify-end {\n justify-content: flex-end;\n}\n\n #ijs .justify-center {\n justify-content: center;\n}\n\n #ijs .gap-1 {\n gap: 0.25rem;\n}\n\n #ijs .gap-2 {\n gap: 0.5rem;\n}\n\n #ijs .gap-3 {\n gap: 0.75rem;\n}\n\n #ijs .gap-4 {\n gap: 1rem;\n}\n\n #ijs .self-center {\n align-self: center;\n}\n\n #ijs .overflow-hidden {\n overflow: hidden;\n}\n\n #ijs .overflow-y-auto {\n overflow-y: auto;\n}\n\n #ijs .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n #ijs .rounded-input {\n border-radius: var(--i-radius-input);\n}\n\n #ijs .rounded-interactive {\n border-radius: var(--i-radius-interactive);\n}\n\n #ijs .rounded-job-card {\n border-radius: var(--i-radius-job-card);\n}\n\n #ijs .rounded-job-tag {\n border-radius: var(--i-radius-job-tag);\n}\n\n #ijs .rounded-section {\n border-radius: var(--i-radius-section);\n}\n\n #ijs .rounded-tag {\n border-radius: var(--i-radius-job-tag);\n}\n\n #ijs .border-px {\n border-width: 1px;\n}\n\n #ijs .border-solid {\n border-style: solid;\n}\n\n #ijs .border-none {\n border-style: none;\n}\n\n #ijs .border-tag-accent-strong-stroke {\n border-color: var(--i-tag-accent-strong-stroke-color);\n}\n\n #ijs .border-tag-neutral-strong-stroke {\n border-color: var(--i-tag-neutral-strong-stroke-color);\n}\n\n #ijs .border-tag-neutral-weak-stroke {\n border-color: var(--i-tag-neutral-weak-stroke-color);\n}\n\n #ijs .border-transparent {\n border-color: transparent;\n}\n\n #ijs .bg-\\[currentColor\\] {\n background-color: currentColor;\n}\n\n #ijs .bg-app {\n background-color: var(--i-app-bg);\n}\n\n #ijs .bg-interactive-accent-bg {\n background-color: var(--i-interactive-accent-bg);\n}\n\n #ijs .bg-interactive-neutral-bg {\n background-color: var(--i-interactive-neutral-bg);\n}\n\n #ijs .bg-job-card-bg {\n background-color: var(--i-job-card-bg);\n}\n\n #ijs .bg-lowest {\n --tw-bg-opacity: 1;\n background-color: oklch(var(--i-lowest) / var(--tw-bg-opacity));\n}\n\n #ijs .bg-section-strong-bg {\n background-color: var(--i-section-strong-bg);\n}\n\n #ijs .bg-section-weak-bg {\n background-color: var(--i-section-weak-bg);\n}\n\n #ijs .bg-tag-accent-strong-bg {\n background-color: var(--i-tag-accent-strong-bg);\n}\n\n #ijs .bg-tag-monetary-weak-bg {\n background-color: var(--i-tag-monetary-weak-bg);\n}\n\n #ijs .bg-tag-neutral-strong-bg {\n background-color: var(--i-tag-neutral-strong-bg);\n}\n\n #ijs .bg-tag-neutral-weak-bg {\n background-color: var(--i-tag-neutral-weak-bg);\n}\n\n #ijs .p-0 {\n padding: 0px;\n}\n\n #ijs .p-2 {\n padding: 0.5rem;\n}\n\n #ijs .p-4 {\n padding: 1rem;\n}\n\n #ijs .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n #ijs .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n #ijs .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n #ijs .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n #ijs .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n #ijs .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n #ijs .py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n #ijs .py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n #ijs .pl-1 {\n padding-left: 0.25rem;\n}\n\n #ijs .pl-2 {\n padding-left: 0.5rem;\n}\n\n #ijs .pl-3 {\n padding-left: 0.75rem;\n}\n\n #ijs .pl-4 {\n padding-left: 1rem;\n}\n\n #ijs .pl-5 {\n padding-left: 1.25rem;\n}\n\n #ijs .pr-1 {\n padding-right: 0.25rem;\n}\n\n #ijs .pr-3 {\n padding-right: 0.75rem;\n}\n\n #ijs .pr-5 {\n padding-right: 1.25rem;\n}\n\n #ijs .pt-1 {\n padding-top: 0.25rem;\n}\n\n #ijs .text-center {\n text-align: center;\n}\n\n #ijs .text-justify {\n text-align: justify;\n}\n\n #ijs .font-family-default {\n font-family: var(--i-font);\n}\n\n #ijs .font-family-filter {\n font-family: var(--i-font-filter);\n}\n\n #ijs .font-family-job-heading {\n font-family: var(--i-font-job-heading);\n}\n\n #ijs .font-family-tag {\n font-family: var(--i-font-tag);\n}\n\n #ijs .text-style-filter {\n font-size: 1rem;\n line-height: 1.5rem;\n letter-spacing: -0.01em;\n}\n\n #ijs .text-style-input {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n #ijs .text-style-job-card {\n font-size: 0.875rem;\n line-height: 1.125rem;\n}\n\n #ijs .text-style-job-card-info {\n font-size: 0.75rem;\n line-height: 1.125rem;\n}\n\n #ijs .text-style-job-heading {\n font-size: 1.125rem;\n line-height: 1.5rem;\n}\n\n #ijs .text-style-tag {\n font-size: 0.875rem;\n line-height: 1.5rem;\n}\n\n #ijs .font-weight-default {\n font-weight: var(--i-weight-default);\n}\n\n #ijs .font-weight-filter {\n font-weight: var(--i-weight-filter);\n}\n\n #ijs .font-weight-input {\n font-weight: var(--i-weight-input);\n}\n\n #ijs .font-weight-job-heading {\n font-weight: var(--i-weight-job-heading);\n}\n\n #ijs .font-weight-tag {\n font-weight: var(--i-weight-tag);\n}\n\n #ijs .uppercase {\n text-transform: uppercase;\n}\n\n #ijs .lowercase {\n text-transform: lowercase;\n}\n\n #ijs .capitalize {\n text-transform: capitalize;\n}\n\n #ijs .italic {\n font-style: italic;\n}\n\n #ijs .ordinal {\n --tw-ordinal: ordinal;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #ijs .tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);\n}\n\n #ijs .text-copy-accent {\n color: var(--i-copy-accent);\n}\n\n #ijs .text-copy-job-info {\n color: var(--i-copy-info);\n}\n\n #ijs .text-copy-neutral {\n color: var(--i-copy);\n}\n\n #ijs .text-copy-neutral-icon {\n color: var(--i-copy-icon);\n}\n\n #ijs .text-copy-neutral-lowcontrast {\n color: var(--i-copy-lowcontrast);\n}\n\n #ijs .text-interactive-accent-text {\n color: var(--i-interactive-accent-text);\n}\n\n #ijs .text-interactive-neutral-text {\n color: var(--i-interactive-neutral-text);\n}\n\n #ijs .text-tag-accent-strong-copy {\n color: var(--i-tag-accent-strong-copy);\n}\n\n #ijs .text-tag-monetary-weak-copy {\n color: var(--i-tag-monetary-weak-copy);\n}\n\n #ijs .text-tag-neutral-strong-copy {\n color: var(--i-tag-neutral-strong-copy);\n}\n\n #ijs .text-tag-neutral-weak-copy {\n color: var(--i-tag-neutral-weak-copy);\n}\n\n #ijs .caret-accent-11 {\n caret-color: oklch(var(--i-a-11) / 1);\n}\n\n #ijs .opacity-20 {\n opacity: 0.2;\n}\n\n #ijs .opacity-25 {\n opacity: 0.25;\n}\n\n #ijs .shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n #ijs .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #ijs .outline {\n outline-style: solid;\n}\n\n #ijs .ring-px {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-width-job-card {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-job-card-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-width-section {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .ring-job-card-stroke {\n --tw-ring-color: var(--i-job-card-stroke-color);\n}\n\n #ijs .ring-section-strong-stroke {\n --tw-ring-color: var(--i-section-strong-stroke-color);\n}\n\n #ijs .ring-section-weak-stroke {\n --tw-ring-color: var(--i-section-weak-stroke-color);\n}\n\n #ijs .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .grayscale {\n --tw-grayscale: grayscale(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .sepia {\n --tw-sepia: sepia(100%);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n #ijs .backdrop-filter {\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n #ijs .transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n #ijs .duration-medium {\n transition-duration: .6s;\n}\n\n #ijs .duration-slow {\n transition-duration: .9s;\n}\n\n #ijs .duration-snappy {\n transition-duration: .4s;\n}\n\n #ijs .ease-expo-out {\n transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n #ijs .font-style-default {\n font-style: var(--i-font-style);\n}\n\n #ijs .font-style-filter {\n font-style: var(--i-style-filter);\n}\n\n #ijs .font-style-input {\n font-style: var(--i-style-input);\n}\n\n #ijs .font-style-job-heading {\n font-style: var(--i-style-job-heading);\n}\n\n #ijs .font-style-tag {\n font-style: var(--i-style-tag);\n}\n\n #ijs .top-filters {\n top: var(--i-filters-offset-top);\n}\n\n #ijs .fr {\n outline: none;\n}\n\n #ijs .fr:focus {\n outline: none;\n}\n\n #ijs .fr:focus-visible {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: oklch(var(--i-lowest) / 1);\n --tw-ring-opacity: 1;\n --tw-ring-color: oklch(var(--i-a-9) / 1);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .fr-parent:has(.fr-child:focus-visible) {\n outline: none;\n --tw-ring-offset-width: 1px;\n --tw-ring-offset-color: oklch(var(--i-lowest) / 1);\n --tw-ring-opacity: 1;\n --tw-ring-color: oklch(var(--i-a-9) / 1);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n #ijs .fr-child {}\n\n #ijs .hide-scrollbars::-webkit-scrollbar {\n display: none;\n}\n\n #ijs .hide-scrollbars {\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n #ijs .touch-hitbox::before {\n content: '';\n position: absolute;\n display: block;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n height: 100%;\n min-height: 44px;\n min-width: 44px;\n z-index: 9999;\n}\n\n #ijs .\\[a-zA-Z0-9-_\\:\\.\\$\\@\\?\\] {\n a-z-a--z0-9-_: .$@?;\n}\n\n #ijs .\\[text-wrap\\:pretty\\] {\n text-wrap: pretty;\n}\n\n #ijs .placeholder\\:text-neutral-10::-moz-placeholder {\n --tw-text-opacity: 1;\n color: oklch(var(--i-n-10) / var(--tw-text-opacity));\n}\n\n #ijs .placeholder\\:text-neutral-10::placeholder {\n --tw-text-opacity: 1;\n color: oklch(var(--i-n-10) / var(--tw-text-opacity));\n}\n\n #ijs .focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n #ijs .active\\:-scale-100:active {\n --tw-scale-x: -1;\n --tw-scale-y: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:scale-95:active {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:scale-\\[0\\.975\\]:active {\n --tw-scale-x: 0.975;\n --tw-scale-y: 0.975;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n #ijs .active\\:bg-job-card-bg-active:active {\n background-color: var(--i-job-card-bg-active);\n}\n\n #ijs .active\\:ring-job-card-stroke-active:active {\n --tw-ring-color: var(--i-job-card-stroke-color-active);\n}\n\n @media (pointer: coarse) {\n\n #ijs .pointer-coarse\\:overflow-x-auto {\n overflow-x: auto;\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:w-full {\n width: 100%;\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:flex-wrap {\n flex-wrap: wrap;\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:rounded-section {\n border-radius: var(--i-radius-section);\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:bg-app {\n background-color: var(--i-app-bg);\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:p-2 {\n padding: 0.5rem;\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:ring-width-section {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:hover\\:bg-interactive-accent-bg-hover:hover {\n background-color: var(--i-interactive-accent-bg-hover);\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .pointer-fine\\:hover\\:bg-interactive-neutral-bg-hover:hover {\n background-color: var(--i-interactive-neutral-bg-hover);\n }\n}\n\n @media (pointer: fine) {\n\n #ijs .group:hover .pointer-fine\\:group-hover\\:text-copy-neutral {\n color: var(--i-copy);\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:grid {\n display: grid;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n}\n\n @media (min-width: 768px) {\n\n #ijs .md\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n @media (min-width: 1024px) {\n\n #ijs .lg\\:ring-width-section {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(var(--i-section-stroke-width) + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n }\n}\n\n #ijs .\\[\\&\\:has\\(\\.fr-child\\:active\\)\\]\\:scale-\\[0\\.975\\]:has(.fr-child:active) {\n --tw-scale-x: 0.975;\n --tw-scale-y: 0.975;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n";
|
|
4141
4308
|
const match = (m2) => {
|
|
4142
4309
|
const patterns = [];
|
|
4143
4310
|
const i2 = (m22) => ({
|
|
@@ -4329,30 +4496,28 @@ const generateColorThemeVars = (theme) => {
|
|
|
4329
4496
|
const oklch = (color, opacity) => `oklch(${color} / ${opacity ?? 1})`;
|
|
4330
4497
|
const transparent = oklch(black, 0);
|
|
4331
4498
|
const generateTokenVars = (theme, color) => {
|
|
4332
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
4499
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
4333
4500
|
const {
|
|
4334
4501
|
typography,
|
|
4335
4502
|
highlights
|
|
4336
4503
|
} = theme;
|
|
4337
|
-
const
|
|
4338
|
-
highcontrast
|
|
4339
|
-
} = theme.accessibility;
|
|
4504
|
+
const highcontrast = ((_a = theme.accessibility) == null ? void 0 : _a.highcontrast) ?? false;
|
|
4340
4505
|
return {
|
|
4341
4506
|
"filters-offset-top": (theme.filtersOffsetTopPx ?? 112) + "px",
|
|
4342
4507
|
font: typography.font_family ?? "inherit",
|
|
4343
4508
|
"font-style": typography.style ?? "inherit",
|
|
4344
|
-
"font-filter": ((
|
|
4345
|
-
"font-job-heading": ((
|
|
4346
|
-
"font-tag": ((
|
|
4509
|
+
"font-filter": ((_b = typography.filter) == null ? void 0 : _b.font_family) ?? typography.font_family ?? "inherit",
|
|
4510
|
+
"font-job-heading": ((_c = theme.typography.job_heading) == null ? void 0 : _c.font_family) ?? theme.typography.font_family ?? "inherit",
|
|
4511
|
+
"font-tag": ((_d = typography.tag) == null ? void 0 : _d.font_family) ?? typography.font_family ?? "inherit",
|
|
4347
4512
|
"weight-default": typography.weight ?? "inherit",
|
|
4348
|
-
"style-filter": ((
|
|
4349
|
-
"weight-filter": ((
|
|
4350
|
-
"style-tag": ((
|
|
4351
|
-
"style-job-heading": ((
|
|
4352
|
-
"weight-tag": ((
|
|
4353
|
-
"weight-job-heading": ((
|
|
4354
|
-
"style-input": ((
|
|
4355
|
-
"weight-input": ((
|
|
4513
|
+
"style-filter": ((_e = typography.filter) == null ? void 0 : _e.style) ?? typography.style ?? "inherit",
|
|
4514
|
+
"weight-filter": ((_f = typography.filter) == null ? void 0 : _f.weight) ?? typography.weight ?? "inherit",
|
|
4515
|
+
"style-tag": ((_g = typography.tag) == null ? void 0 : _g.style) ?? typography.style ?? "inherit",
|
|
4516
|
+
"style-job-heading": ((_h = typography.job_heading) == null ? void 0 : _h.style) ?? typography.style ?? "inherit",
|
|
4517
|
+
"weight-tag": ((_i = typography.tag) == null ? void 0 : _i.weight) ?? typography.weight ?? "inherit",
|
|
4518
|
+
"weight-job-heading": ((_j = typography.job_heading) == null ? void 0 : _j.weight) ?? typography.weight ?? "inherit",
|
|
4519
|
+
"style-input": ((_k = typography.input) == null ? void 0 : _k.style) ?? typography.style ?? "inherit",
|
|
4520
|
+
"weight-input": ((_l = typography.input) == null ? void 0 : _l.weight) ?? typography.weight ?? "inherit",
|
|
4356
4521
|
"app-bg": oklch(color.lowest),
|
|
4357
4522
|
copy: oklch(highcontrast ? color.highest : color["n-12"]),
|
|
4358
4523
|
"copy-lowcontrast": oklch(color["n-11"]),
|
|
@@ -4365,7 +4530,7 @@ const generateTokenVars = (theme, color) => {
|
|
|
4365
4530
|
"copy-inverted-lowcontrast": oklch(color["n-4"]),
|
|
4366
4531
|
"copy-inverted-icon": oklch(color["n-3"]),
|
|
4367
4532
|
"tag-neutral-weak-bg": highlights === "fill" ? oklch(color["n-2"]) : transparent,
|
|
4368
|
-
"tag-neutral-weak-copy": color["n-12"],
|
|
4533
|
+
"tag-neutral-weak-copy": oklch(color["n-12"]),
|
|
4369
4534
|
"tag-neutral-weak-stroke-color": highlights === "stroke" ? oklch(color["n-8"]) : transparent,
|
|
4370
4535
|
"tag-neutral-strong-bg": highlights === "fill" ? oklch(color["n-12"]) : transparent,
|
|
4371
4536
|
"tag-neutral-strong-copy": oklch(highlights === "fill" ? color.white : color["n-12"]),
|
|
@@ -4468,6 +4633,7 @@ const jobSearchPlugin = (params) => createPlugin(({
|
|
|
4468
4633
|
logger,
|
|
4469
4634
|
analytics
|
|
4470
4635
|
}) => {
|
|
4636
|
+
var _a;
|
|
4471
4637
|
const styleElements = [y$2("style", {
|
|
4472
4638
|
id: "inploi-job-search-styles"
|
|
4473
4639
|
}, tailwind), y$2("style", {
|
|
@@ -4482,7 +4648,7 @@ const jobSearchPlugin = (params) => createPlugin(({
|
|
|
4482
4648
|
apiClient,
|
|
4483
4649
|
logger,
|
|
4484
4650
|
analytics,
|
|
4485
|
-
class: params.theme.accessibility.reducedMotion ? "reduced-motion" : void 0
|
|
4651
|
+
class: ((_a = params.theme.accessibility) == null ? void 0 : _a.reducedMotion) ? "reduced-motion" : void 0
|
|
4486
4652
|
})]);
|
|
4487
4653
|
return {
|
|
4488
4654
|
/** Returns a string with the initial rendering state of the UI.
|