@inploi/plugin-job-search 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.js +5 -5
- package/dist/job-search.api.d.ts +16 -0
- package/dist/job-search.d.ts +7 -1
- package/dist/job-search.schemas.d.ts +62 -0
- package/dist/plugin-job-search.cjs +236 -91
- package/dist/plugin-job-search.js +236 -91
- package/package.json +9 -5
|
@@ -594,6 +594,16 @@ function getDefaultArgs(arg1, arg2) {
|
|
|
594
594
|
function getErrorMessage(message) {
|
|
595
595
|
return typeof message === "function" ? message() : message;
|
|
596
596
|
}
|
|
597
|
+
function getPipeIssues(validation, message, input, requirement) {
|
|
598
|
+
return getIssues([
|
|
599
|
+
{
|
|
600
|
+
validation,
|
|
601
|
+
message: getErrorMessage(message),
|
|
602
|
+
input,
|
|
603
|
+
requirement
|
|
604
|
+
}
|
|
605
|
+
]);
|
|
606
|
+
}
|
|
597
607
|
function getRestAndDefaultArgs(arg1, arg2, arg3) {
|
|
598
608
|
if (!arg1 || typeof arg1 === "object" && !Array.isArray(arg1)) {
|
|
599
609
|
const [error2, pipe2] = getDefaultArgs(arg2, arg3);
|
|
@@ -988,6 +998,18 @@ function parse(schema, input, info) {
|
|
|
988
998
|
}
|
|
989
999
|
return result.output;
|
|
990
1000
|
}
|
|
1001
|
+
function safeParse(schema, input, info) {
|
|
1002
|
+
const result = schema._parse(input, info);
|
|
1003
|
+
return result.issues ? {
|
|
1004
|
+
success: false,
|
|
1005
|
+
error: new ValiError(result.issues),
|
|
1006
|
+
issues: result.issues
|
|
1007
|
+
} : {
|
|
1008
|
+
success: true,
|
|
1009
|
+
data: result.output,
|
|
1010
|
+
output: result.output
|
|
1011
|
+
};
|
|
1012
|
+
}
|
|
991
1013
|
function transform(schema, action, arg1) {
|
|
992
1014
|
return {
|
|
993
1015
|
...schema,
|
|
@@ -1004,9 +1026,65 @@ function transform(schema, action, arg1) {
|
|
|
1004
1026
|
}
|
|
1005
1027
|
};
|
|
1006
1028
|
}
|
|
1029
|
+
function url(message = "Invalid URL") {
|
|
1030
|
+
return {
|
|
1031
|
+
type: "url",
|
|
1032
|
+
async: false,
|
|
1033
|
+
message,
|
|
1034
|
+
requirement(input) {
|
|
1035
|
+
try {
|
|
1036
|
+
new URL(input);
|
|
1037
|
+
return true;
|
|
1038
|
+
} catch {
|
|
1039
|
+
return false;
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
_parse(input) {
|
|
1043
|
+
return !this.requirement(input) ? getPipeIssues(this.type, this.message, input, this.requirement) : getOutput(input);
|
|
1044
|
+
}
|
|
1045
|
+
};
|
|
1046
|
+
}
|
|
1007
1047
|
const JOB_SEARCH_ELEMENT_ID = "inploi-job-search";
|
|
1008
1048
|
const JOB_SEARCH_SCOPE_ELEMENT_ID = "ijs";
|
|
1009
1049
|
const PAGE_SIZE = 10;
|
|
1050
|
+
const payPeriods = {
|
|
1051
|
+
ANNUALLY: "per year",
|
|
1052
|
+
DAILY: "per day",
|
|
1053
|
+
HOURLY: "per hour",
|
|
1054
|
+
MONTHLY: "per month",
|
|
1055
|
+
WEEKLY: "per week"
|
|
1056
|
+
};
|
|
1057
|
+
const getSalaryAsText = (params) => {
|
|
1058
|
+
const {
|
|
1059
|
+
salary,
|
|
1060
|
+
config
|
|
1061
|
+
} = params;
|
|
1062
|
+
const numberFormatter = new Intl.NumberFormat(config.locales, {
|
|
1063
|
+
style: "currency",
|
|
1064
|
+
currency: salary.pay_currency,
|
|
1065
|
+
// @ts-expect-error - trailingZeroDisplay is not in the types but exists: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#trailingzerodisplay
|
|
1066
|
+
trailingZeroDisplay: "stripIfInteger"
|
|
1067
|
+
});
|
|
1068
|
+
if (salary.pay_display === false)
|
|
1069
|
+
return void 0;
|
|
1070
|
+
if (salary.pay_mask)
|
|
1071
|
+
return "Competitive";
|
|
1072
|
+
if (salary.pay_max && isNaN(+salary.pay_max))
|
|
1073
|
+
return "Invalid salary";
|
|
1074
|
+
if (salary.pay_min && isNaN(+salary.pay_min))
|
|
1075
|
+
return "Invalid salary";
|
|
1076
|
+
if (salary.pay && isNaN(+salary.pay))
|
|
1077
|
+
return "Invalid salary";
|
|
1078
|
+
if (salary.pay)
|
|
1079
|
+
return [numberFormatter.format(+salary.pay), payPeriods[salary.pay_type]].join(" ");
|
|
1080
|
+
if (salary.pay_max && salary.pay_min)
|
|
1081
|
+
return [numberFormatter.formatRange(+salary.pay_min, +salary.pay_max), payPeriods[salary.pay_type]].join(" ");
|
|
1082
|
+
if (salary.pay_max)
|
|
1083
|
+
return "Up to " + [numberFormatter.format(+salary.pay_max), payPeriods[salary.pay_type]].join(" ");
|
|
1084
|
+
if (salary.pay_min)
|
|
1085
|
+
return "From " + [numberFormatter.format(+salary.pay_min), payPeriods[salary.pay_type]].join(" ");
|
|
1086
|
+
return "Invalid salary";
|
|
1087
|
+
};
|
|
1010
1088
|
const DEFAULT_FORMATTER = new Intl.RelativeTimeFormat("en", {
|
|
1011
1089
|
numeric: "auto"
|
|
1012
1090
|
});
|
|
@@ -1034,22 +1112,17 @@ const AvailablePropertiesSchema = record(array(object({
|
|
|
1034
1112
|
label: coerce(string(), String),
|
|
1035
1113
|
value: coerce(string(), String)
|
|
1036
1114
|
})));
|
|
1115
|
+
const URLSchema = string([url()]);
|
|
1037
1116
|
const PaginationSchema = object({
|
|
1038
1117
|
total: number(),
|
|
1039
1118
|
current_page: number(),
|
|
1040
1119
|
per_page: number(),
|
|
1041
1120
|
last_page: number()
|
|
1042
1121
|
});
|
|
1043
|
-
const payPeriods = {
|
|
1044
|
-
ANNUALLY: "per year",
|
|
1045
|
-
DAILY: "per day",
|
|
1046
|
-
HOURLY: "per hour",
|
|
1047
|
-
MONTHLY: "per month",
|
|
1048
|
-
WEEKLY: "per week"
|
|
1049
|
-
};
|
|
1050
1122
|
const JobPayloadSchema = object({
|
|
1051
1123
|
id: number(),
|
|
1052
1124
|
company_name: string(),
|
|
1125
|
+
company_logo: optional(string()),
|
|
1053
1126
|
employment_type: string(),
|
|
1054
1127
|
location_type: union([literal("LOCATION"), literal("REMOTE"), literal("HYBRID")]),
|
|
1055
1128
|
pay_type: union([literal("ANNUALLY"), literal("HOURLY"), literal("MONTHLY"), literal("WEEKLY"), literal("DAILY")]),
|
|
@@ -1080,35 +1153,23 @@ const JobPayloadSchema = object({
|
|
|
1080
1153
|
});
|
|
1081
1154
|
const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
1082
1155
|
const isNew = schema.created_at ? new Date(schema.created_at).getTime() > Date.now() - SEVEN_DAYS_MS : false;
|
|
1083
|
-
const
|
|
1084
|
-
style: "currency",
|
|
1085
|
-
currency: schema.pay_currency,
|
|
1086
|
-
// @ts-expect-error - trailingZeroDisplay is not in the types but exists: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#trailingzerodisplay
|
|
1087
|
-
trailingZeroDisplay: "stripIfInteger"
|
|
1088
|
-
});
|
|
1089
|
-
const pay = (() => {
|
|
1090
|
-
if (schema.pay_display === false)
|
|
1091
|
-
return void 0;
|
|
1092
|
-
if (schema.pay_mask)
|
|
1093
|
-
return "Competitive";
|
|
1094
|
-
if (schema.pay_max && schema.pay_min)
|
|
1095
|
-
return [numberFormatter.formatRange(+schema.pay_min, +schema.pay_max), payPeriods[schema.pay_type]].join(" ");
|
|
1096
|
-
if (schema.pay)
|
|
1097
|
-
return [numberFormatter.format(+schema.pay), payPeriods[schema.pay_type]].join(" ");
|
|
1098
|
-
if (!schema.pay && !schema.pay_min && !schema.pay_max)
|
|
1099
|
-
return void 0;
|
|
1100
|
-
throw new Error("Invalid pay data");
|
|
1101
|
-
})();
|
|
1156
|
+
const parsedLogoURL = safeParse(URLSchema, schema.company_logo);
|
|
1102
1157
|
return {
|
|
1103
1158
|
raw: schema,
|
|
1104
1159
|
id: schema.id,
|
|
1105
1160
|
isNew,
|
|
1106
1161
|
company: {
|
|
1107
|
-
name: schema.company_name
|
|
1162
|
+
name: schema.company_name,
|
|
1163
|
+
logo: parsedLogoURL.success ? parsedLogoURL.output : void 0
|
|
1108
1164
|
},
|
|
1109
1165
|
employmentType: schema.employment_type,
|
|
1110
1166
|
locationType: schema.location_type,
|
|
1111
|
-
pay
|
|
1167
|
+
pay: getSalaryAsText({
|
|
1168
|
+
salary: schema,
|
|
1169
|
+
config: {
|
|
1170
|
+
locales: void 0
|
|
1171
|
+
}
|
|
1172
|
+
}),
|
|
1112
1173
|
description: schema.description,
|
|
1113
1174
|
title: schema.title,
|
|
1114
1175
|
contractType: schema.contract_type,
|
|
@@ -1182,21 +1243,25 @@ const getQueryState = (swr) => {
|
|
|
1182
1243
|
if (swr.error)
|
|
1183
1244
|
return {
|
|
1184
1245
|
state: "error",
|
|
1185
|
-
error: swr.error
|
|
1246
|
+
error: swr.error,
|
|
1247
|
+
swr
|
|
1186
1248
|
};
|
|
1187
1249
|
if (swr.isLoading && swr.data === void 0)
|
|
1188
1250
|
return {
|
|
1189
|
-
state: "loading"
|
|
1251
|
+
state: "loading",
|
|
1252
|
+
swr
|
|
1190
1253
|
};
|
|
1191
1254
|
if ((swr.isLoading || swr.isValidating) && swr.data)
|
|
1192
1255
|
return {
|
|
1193
1256
|
state: "revalidating",
|
|
1194
|
-
data: swr.data
|
|
1257
|
+
data: swr.data,
|
|
1258
|
+
swr
|
|
1195
1259
|
};
|
|
1196
1260
|
if (!swr.isLoading && swr.data)
|
|
1197
1261
|
return {
|
|
1198
1262
|
state: "loaded",
|
|
1199
|
-
data: swr.data
|
|
1263
|
+
data: swr.data,
|
|
1264
|
+
swr
|
|
1200
1265
|
};
|
|
1201
1266
|
throw new Error("Unhandled data state");
|
|
1202
1267
|
};
|
|
@@ -1313,6 +1378,11 @@ const btnClass = cva({
|
|
|
1313
1378
|
icon: "none",
|
|
1314
1379
|
class: "px-3"
|
|
1315
1380
|
},
|
|
1381
|
+
{
|
|
1382
|
+
size: "lg",
|
|
1383
|
+
icon: "none",
|
|
1384
|
+
class: "px-5"
|
|
1385
|
+
},
|
|
1316
1386
|
{
|
|
1317
1387
|
size: "lg",
|
|
1318
1388
|
icon: "right",
|
|
@@ -1371,18 +1441,27 @@ const UnstyledErrorView = ({
|
|
|
1371
1441
|
};
|
|
1372
1442
|
const ErrorView = ({
|
|
1373
1443
|
error,
|
|
1374
|
-
resetError
|
|
1444
|
+
resetError,
|
|
1445
|
+
class: className,
|
|
1446
|
+
...props
|
|
1375
1447
|
}) => {
|
|
1376
1448
|
return u$1("div", {
|
|
1377
|
-
class: "bg-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1449
|
+
class: clsx("bg-neutral-12 ring-section-weak-stroke rounded-section flex flex-col items-center gap-4 p-6 text-center", className),
|
|
1450
|
+
...props,
|
|
1451
|
+
children: [u$1("div", {
|
|
1452
|
+
class: "flex flex-col gap-1",
|
|
1453
|
+
children: [u$1("p", {
|
|
1454
|
+
class: "text-neutral-1 text-style-job-heading font-style-job-heading font-weight-job-heading [text-wrap:balance]",
|
|
1455
|
+
children: "Sorry, this widget is unavailable at the moment."
|
|
1456
|
+
}), u$1("p", {
|
|
1457
|
+
class: "text-neutral-8 text-style-tag font-style-tag font-weight-tag leading-snug [text-wrap:pretty]",
|
|
1458
|
+
children: error.message
|
|
1459
|
+
})]
|
|
1381
1460
|
}), u$1("button", {
|
|
1382
1461
|
class: btnClass({
|
|
1383
1462
|
variant: "neutral",
|
|
1384
1463
|
size: "lg",
|
|
1385
|
-
class: "
|
|
1464
|
+
class: "text-interactive-neutral-bg bg-lowest"
|
|
1386
1465
|
}),
|
|
1387
1466
|
onClick: resetError,
|
|
1388
1467
|
children: "Retry"
|
|
@@ -1414,6 +1493,7 @@ class ErrorBoundary extends b$2 {
|
|
|
1414
1493
|
return u$1(Fallback, {
|
|
1415
1494
|
error: this.state.error,
|
|
1416
1495
|
resetError: () => {
|
|
1496
|
+
console.log("resetting error");
|
|
1417
1497
|
this.setState({
|
|
1418
1498
|
error: null
|
|
1419
1499
|
});
|
|
@@ -3316,10 +3396,9 @@ const FilterContentActive = ({
|
|
|
3316
3396
|
onRender
|
|
3317
3397
|
}) => {
|
|
3318
3398
|
const filterQuery = getQueryState(useQuery());
|
|
3319
|
-
if (filterQuery.state === "error")
|
|
3320
|
-
throw filterQuery.error;
|
|
3321
3399
|
const availablePropertyKeys = F$1(() => {
|
|
3322
3400
|
switch (filterQuery.state) {
|
|
3401
|
+
case "error":
|
|
3323
3402
|
case "loading":
|
|
3324
3403
|
return null;
|
|
3325
3404
|
case "loaded":
|
|
@@ -3338,6 +3417,14 @@ const FilterContentActive = ({
|
|
|
3338
3417
|
p(() => {
|
|
3339
3418
|
onRender();
|
|
3340
3419
|
});
|
|
3420
|
+
if (filterQuery.state === "error") {
|
|
3421
|
+
return u$1(ErrorView, {
|
|
3422
|
+
error: new Error("We’re having trouble loading available filters.", {
|
|
3423
|
+
cause: filterQuery.error
|
|
3424
|
+
}),
|
|
3425
|
+
resetError: () => filterQuery.swr.mutate()
|
|
3426
|
+
});
|
|
3427
|
+
}
|
|
3341
3428
|
return u$1("div", {
|
|
3342
3429
|
class: "animate-slide-in-bottom flex w-full flex-col gap-2 pt-1",
|
|
3343
3430
|
children: [property.searchable && u$1("div", {
|
|
@@ -3354,7 +3441,12 @@ const FilterContentActive = ({
|
|
|
3354
3441
|
}), (() => {
|
|
3355
3442
|
switch (unfilteredQuery.state) {
|
|
3356
3443
|
case "error":
|
|
3357
|
-
|
|
3444
|
+
return u$1(ErrorView, {
|
|
3445
|
+
error: new Error("We’re having trouble loading available filters.", {
|
|
3446
|
+
cause: unfilteredQuery.error
|
|
3447
|
+
}),
|
|
3448
|
+
resetError: () => unfilteredQuery.swr.mutate()
|
|
3449
|
+
});
|
|
3358
3450
|
case "loading":
|
|
3359
3451
|
return u$1("div", {
|
|
3360
3452
|
class: "flex px-4",
|
|
@@ -3717,8 +3809,6 @@ const FilterSection = ({
|
|
|
3717
3809
|
logger,
|
|
3718
3810
|
filters: defaultFilters
|
|
3719
3811
|
}), SWR_SETTINGS));
|
|
3720
|
-
if (unfilteredQuery.state === "error")
|
|
3721
|
-
throw unfilteredQuery.error;
|
|
3722
3812
|
const makeQueryWithoutFilter = T$1((keyToExclude) => () => {
|
|
3723
3813
|
const filters = {
|
|
3724
3814
|
...appliedFilters,
|
|
@@ -3733,6 +3823,14 @@ const FilterSection = ({
|
|
|
3733
3823
|
filters
|
|
3734
3824
|
}), SWR_SETTINGS);
|
|
3735
3825
|
}, [apiClient, appliedFilters, defaultFilters, logger]);
|
|
3826
|
+
if (unfilteredQuery.state === "error") {
|
|
3827
|
+
return u$1(ErrorView, {
|
|
3828
|
+
error: new Error("We’re having trouble loading available filters.", {
|
|
3829
|
+
cause: unfilteredQuery.error
|
|
3830
|
+
}),
|
|
3831
|
+
resetError: () => unfilteredQuery.swr.mutate()
|
|
3832
|
+
});
|
|
3833
|
+
}
|
|
3736
3834
|
return u$1("aside", {
|
|
3737
3835
|
children: u$1("div", {
|
|
3738
3836
|
role: "tablist",
|
|
@@ -3825,10 +3923,10 @@ const JobCard = ({
|
|
|
3825
3923
|
job,
|
|
3826
3924
|
config
|
|
3827
3925
|
}) => {
|
|
3828
|
-
const subheading = getDisplayableFilterProperty({
|
|
3926
|
+
const subheading = config.subheading ? getDisplayableFilterProperty({
|
|
3829
3927
|
job,
|
|
3830
3928
|
property: config.subheading
|
|
3831
|
-
});
|
|
3929
|
+
}) : null;
|
|
3832
3930
|
const tags = config.infoTags.map((infoTag) => getDisplayableFilterProperty({
|
|
3833
3931
|
job,
|
|
3834
3932
|
property: infoTag
|
|
@@ -3837,38 +3935,54 @@ const JobCard = ({
|
|
|
3837
3935
|
href: job.href,
|
|
3838
3936
|
class: wrapperClass(),
|
|
3839
3937
|
children: [u$1("div", {
|
|
3840
|
-
class: "flex flex-1 flex-col gap-4",
|
|
3938
|
+
class: "flex min-w-0 flex-1 flex-col gap-4",
|
|
3841
3939
|
children: [u$1("div", {
|
|
3842
|
-
class: "
|
|
3843
|
-
children: [u$1("div", {
|
|
3844
|
-
class: "
|
|
3845
|
-
children:
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
})
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3940
|
+
class: "gap-logo flex items-center",
|
|
3941
|
+
children: [config.showLogo && u$1("div", {
|
|
3942
|
+
class: "rounded-logo ring-px ring-neutral-5 h-12 w-12 flex-none overflow-hidden",
|
|
3943
|
+
children: job.company.logo ? u$1("img", {
|
|
3944
|
+
src: job.company.logo,
|
|
3945
|
+
alt: job.company.name,
|
|
3946
|
+
class: "h-full w-full select-none object-contain [-webkit-user-drag:none]"
|
|
3947
|
+
}) : u$1("div", {
|
|
3948
|
+
class: "bg-neutral-2 flex h-full w-full items-center justify-center",
|
|
3949
|
+
children: u$1(Icon, {
|
|
3950
|
+
name: "briefcase",
|
|
3951
|
+
class: "text-neutral-9"
|
|
3952
|
+
})
|
|
3953
|
+
})
|
|
3954
|
+
}), u$1("div", {
|
|
3955
|
+
class: "flex flex-col items-start gap-1",
|
|
3956
|
+
children: [u$1("div", {
|
|
3957
|
+
class: "order-2 flex flex-col gap-1",
|
|
3958
|
+
children: [u$1("p", {
|
|
3959
|
+
class: "text-style-job-heading font-style-job-heading font-weight-job-heading text-copy-neutral font-family-job-heading",
|
|
3960
|
+
children: job.title
|
|
3961
|
+
}), subheading ? u$1("p", {
|
|
3962
|
+
class: "text-style-job-card text-copy-neutral-lowcontrast",
|
|
3963
|
+
children: subheading
|
|
3964
|
+
}) : null]
|
|
3965
|
+
}), job.isNew ? u$1("span", {
|
|
3966
|
+
class: badgeClass({
|
|
3967
|
+
class: "order-1"
|
|
3968
|
+
}),
|
|
3969
|
+
children: "NEW"
|
|
3970
|
+
}) : u$1("p", {
|
|
3971
|
+
class: "text-style-job-card-info text-copy-job-info order-1",
|
|
3972
|
+
children: ["Posted ", job.relativePostedDate]
|
|
3973
|
+
})]
|
|
3860
3974
|
})]
|
|
3861
3975
|
}), u$1("div", {
|
|
3862
|
-
class: "flex flex-col items-start gap-2",
|
|
3976
|
+
class: "flex min-w-0 flex-col items-start gap-2",
|
|
3863
3977
|
children: [job.pay && u$1("span", {
|
|
3864
3978
|
class: tagClass({
|
|
3865
3979
|
variant: "monetaryWeak",
|
|
3866
3980
|
size: "xs"
|
|
3867
3981
|
}),
|
|
3868
3982
|
children: job.pay
|
|
3869
|
-
}), tags.length > 0 && u$1("
|
|
3870
|
-
class: "flex items-center gap-2",
|
|
3871
|
-
children: tags.map((tag) => u$1("
|
|
3983
|
+
}), tags.length > 0 && u$1("ul", {
|
|
3984
|
+
class: "flex min-w-0 max-w-full flex-wrap items-center gap-2",
|
|
3985
|
+
children: tags.map((tag) => u$1("li", {
|
|
3872
3986
|
class: tagClass({
|
|
3873
3987
|
size: "xs"
|
|
3874
3988
|
}),
|
|
@@ -3887,6 +4001,7 @@ const JobCard = ({
|
|
|
3887
4001
|
});
|
|
3888
4002
|
};
|
|
3889
4003
|
const JobCardSkeleton = ({
|
|
4004
|
+
config,
|
|
3890
4005
|
animationDelay,
|
|
3891
4006
|
seed
|
|
3892
4007
|
}) => {
|
|
@@ -3901,24 +4016,29 @@ const JobCardSkeleton = ({
|
|
|
3901
4016
|
children: [u$1("div", {
|
|
3902
4017
|
class: "flex flex-1 flex-col gap-4",
|
|
3903
4018
|
children: [u$1("div", {
|
|
3904
|
-
class: "flex
|
|
3905
|
-
children: [u$1("
|
|
3906
|
-
class: "
|
|
3907
|
-
children: u$1(SkeletonText, {
|
|
3908
|
-
chars: 12
|
|
3909
|
-
})
|
|
4019
|
+
class: "flex items-center gap-4",
|
|
4020
|
+
children: [u$1("div", {
|
|
4021
|
+
class: "rounded-logo bg-copy-neutral h-12 w-12 opacity-25"
|
|
3910
4022
|
}), u$1("div", {
|
|
3911
|
-
class: "flex flex-col gap-1",
|
|
4023
|
+
class: "flex flex-col items-start gap-1",
|
|
3912
4024
|
children: [u$1("p", {
|
|
3913
|
-
class: "text-style-job-
|
|
4025
|
+
class: "text-style-job-card-info text-copy-job-info",
|
|
3914
4026
|
children: u$1(SkeletonText, {
|
|
3915
|
-
chars:
|
|
3916
|
-
})
|
|
3917
|
-
}), u$1("p", {
|
|
3918
|
-
class: "text-style-job-card text-copy-neutral-lowcontrast",
|
|
3919
|
-
children: u$1(SkeletonText, {
|
|
3920
|
-
chars: 7 + seed * seed % 3
|
|
4027
|
+
chars: 12
|
|
3921
4028
|
})
|
|
4029
|
+
}), u$1("div", {
|
|
4030
|
+
class: "flex flex-col gap-1",
|
|
4031
|
+
children: [u$1("p", {
|
|
4032
|
+
class: "text-style-job-heading font-style-job-heading font-weight-job-heading text-copy-neutral font-family-job-heading",
|
|
4033
|
+
children: u$1(SkeletonText, {
|
|
4034
|
+
chars: 13 + (seed + 5) * seed % 7
|
|
4035
|
+
})
|
|
4036
|
+
}), config.subheading !== null ? u$1("p", {
|
|
4037
|
+
class: "text-style-job-card text-copy-neutral-lowcontrast",
|
|
4038
|
+
children: u$1(SkeletonText, {
|
|
4039
|
+
chars: 7 + seed * seed % 3
|
|
4040
|
+
})
|
|
4041
|
+
}) : null]
|
|
3922
4042
|
})]
|
|
3923
4043
|
})]
|
|
3924
4044
|
}), u$1("div", {
|
|
@@ -3958,7 +4078,8 @@ const JobCardSkeleton = ({
|
|
|
3958
4078
|
};
|
|
3959
4079
|
const LoadMore = ({
|
|
3960
4080
|
state,
|
|
3961
|
-
fetchNextPage
|
|
4081
|
+
fetchNextPage,
|
|
4082
|
+
config
|
|
3962
4083
|
}) => {
|
|
3963
4084
|
if (state === "revalidating") {
|
|
3964
4085
|
return u$1("ul", {
|
|
@@ -3969,7 +4090,8 @@ const LoadMore = ({
|
|
|
3969
4090
|
}).map((_2, i2) => u$1("li", {
|
|
3970
4091
|
children: u$1(JobCardSkeleton, {
|
|
3971
4092
|
seed: i2,
|
|
3972
|
-
animationDelay: (i2 - 4) * 0.1
|
|
4093
|
+
animationDelay: (i2 - 4) * 0.1,
|
|
4094
|
+
config
|
|
3973
4095
|
})
|
|
3974
4096
|
}, i2))
|
|
3975
4097
|
});
|
|
@@ -4037,7 +4159,8 @@ const ResultsPage = ({
|
|
|
4037
4159
|
const {
|
|
4038
4160
|
data,
|
|
4039
4161
|
error,
|
|
4040
|
-
state
|
|
4162
|
+
state,
|
|
4163
|
+
swr
|
|
4041
4164
|
} = getQueryState(useSWR(cacheKey({
|
|
4042
4165
|
filter: appliedFilters,
|
|
4043
4166
|
baseKey: page.toString()
|
|
@@ -4066,13 +4189,20 @@ const ResultsPage = ({
|
|
|
4066
4189
|
}).map((_2, i2) => u$1("li", {
|
|
4067
4190
|
children: u$1(JobCardSkeleton, {
|
|
4068
4191
|
seed: i2,
|
|
4069
|
-
animationDelay: (i2 - PAGE_SIZE) * 0.1
|
|
4192
|
+
animationDelay: (i2 - PAGE_SIZE) * 0.1,
|
|
4193
|
+
config: jobCardConfig
|
|
4070
4194
|
})
|
|
4071
4195
|
}, i2))
|
|
4072
4196
|
})]
|
|
4073
4197
|
});
|
|
4074
4198
|
case "error":
|
|
4075
|
-
|
|
4199
|
+
return u$1(ErrorView, {
|
|
4200
|
+
class: "-m-4",
|
|
4201
|
+
error: new Error("We’re having trouble loading available jobs.", {
|
|
4202
|
+
cause: error
|
|
4203
|
+
}),
|
|
4204
|
+
resetError: () => swr.mutate()
|
|
4205
|
+
});
|
|
4076
4206
|
case "revalidating":
|
|
4077
4207
|
case "loaded": {
|
|
4078
4208
|
invariant(data.pagination.current_page === page, "Received wrong page from server");
|
|
@@ -4086,7 +4216,7 @@ const ResultsPage = ({
|
|
|
4086
4216
|
}), u$1("div", {
|
|
4087
4217
|
class: "flex flex-col items-center gap-1",
|
|
4088
4218
|
children: [u$1("p", {
|
|
4089
|
-
class: "text-copy-neutral",
|
|
4219
|
+
class: "text-copy-neutral text-style-job-heading",
|
|
4090
4220
|
children: "No jobs found"
|
|
4091
4221
|
}), u$1("p", {
|
|
4092
4222
|
class: "text-copy-neutral-lowcontrast text-style-tag [text-wrap:pretty]",
|
|
@@ -4118,7 +4248,8 @@ const ResultsPage = ({
|
|
|
4118
4248
|
})
|
|
4119
4249
|
}), hasMore && isLast && u$1(LoadMore, {
|
|
4120
4250
|
state,
|
|
4121
|
-
fetchNextPage
|
|
4251
|
+
fetchNextPage,
|
|
4252
|
+
config: jobCardConfig
|
|
4122
4253
|
})]
|
|
4123
4254
|
});
|
|
4124
4255
|
}
|
|
@@ -4205,7 +4336,7 @@ const JobSearch = ({
|
|
|
4205
4336
|
})
|
|
4206
4337
|
});
|
|
4207
4338
|
};
|
|
4208
|
-
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 .order-1 {\n order: 1;\n}\n\n #ijs .order-2 {\n order: 2;\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-\\[1em\\] {\n min-height: 1em;\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.6;\n }\n\n 100% {\n opacity: 0.25;\n }\n}\n\n #ijs .animate-skeleton {\n animation: skeleton 1.2s 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-app {\n border-radius: var(--i-radius-app);\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 background-color: var(--i-color-lowest);\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 .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-neutral-11 {\n color: var(--i-color-n-11);\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: var(--i-color-a-11);\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: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\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: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\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 color: var(--i-color-n-10);\n}\n\n #ijs .placeholder\\:text-neutral-10::placeholder {\n color: var(--i-color-n-10);\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";
|
|
4339
|
+
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 .order-1 {\n order: 1;\n}\n\n #ijs .order-2 {\n order: 2;\n}\n\n #ijs .-m-4 {\n margin: -1rem;\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-12 {\n height: 3rem;\n}\n\n #ijs .h-8 {\n height: 2rem;\n}\n\n #ijs .h-\\[1lh\\] {\n height: 1lh;\n}\n\n #ijs .h-full {\n height: 100%;\n}\n\n #ijs .min-h-\\[1em\\] {\n min-height: 1em;\n}\n\n #ijs .min-h-screen {\n min-height: 100vh;\n}\n\n #ijs .w-12 {\n width: 3rem;\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.6;\n }\n\n 100% {\n opacity: 0.25;\n }\n}\n\n #ijs .animate-skeleton {\n animation: skeleton 1.2s 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 .gap-logo {\n gap: var(--i-logo-gap);\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-app {\n border-radius: var(--i-radius-app);\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-logo {\n border-radius: var(--i-radius-logo);\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-copy-neutral {\n background-color: var(--i-copy);\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 background-color: var(--i-color-lowest);\n}\n\n #ijs .bg-neutral-12 {\n background-color: var(--i-color-n-12);\n}\n\n #ijs .bg-neutral-2 {\n background-color: var(--i-color-n-2);\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 .object-contain {\n -o-object-fit: contain;\n object-fit: contain;\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 .p-6 {\n padding: 1.5rem;\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 .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 .leading-snug {\n line-height: 1.375;\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-bg {\n color: var(--i-interactive-neutral-bg);\n}\n\n #ijs .text-interactive-neutral-text {\n color: var(--i-interactive-neutral-text);\n}\n\n #ijs .text-neutral-1 {\n color: var(--i-color-n-1);\n}\n\n #ijs .text-neutral-8 {\n color: var(--i-color-n-8);\n}\n\n #ijs .text-neutral-9 {\n color: var(--i-color-n-9);\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: var(--i-color-a-11);\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-neutral-5 {\n --tw-ring-color: var(--i-color-n-5);\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: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\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: var(--i-color-lowest);\n --tw-ring-opacity: 1;\n --tw-ring-color: var(--i-color-a-9);\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 .\\[-webkit-user-drag\\:none\\] {\n -webkit-user-drag: none;\n}\n\n #ijs .\\[a-zA-Z0-9-_\\:\\.\\$\\@\\?\\] {\n a-z-a--z0-9-_: .$@?;\n}\n\n #ijs .\\[text-wrap\\:balance\\] {\n text-wrap: balance;\n}\n\n #ijs .\\[text-wrap\\:pretty\\] {\n text-wrap: pretty;\n}\n\n #ijs .placeholder\\:text-neutral-10::-moz-placeholder {\n color: var(--i-color-n-10);\n}\n\n #ijs .placeholder\\:text-neutral-10::placeholder {\n color: var(--i-color-n-10);\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";
|
|
4209
4340
|
var COLOR_SHADES = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
4210
4341
|
var OKLCH_PRESETS = {
|
|
4211
4342
|
light: {
|
|
@@ -4218,7 +4349,7 @@ var OKLCH_PRESETS = {
|
|
|
4218
4349
|
"7": [80.5, 0.08],
|
|
4219
4350
|
"8": [74, 0.11],
|
|
4220
4351
|
"9": [60, 0.22],
|
|
4221
|
-
"10": [
|
|
4352
|
+
"10": [56, 0.23],
|
|
4222
4353
|
"11": [50, 0.19],
|
|
4223
4354
|
"12": [25, 0.18]
|
|
4224
4355
|
},
|
|
@@ -4468,6 +4599,20 @@ const tokens = designTokens().core(({
|
|
|
4468
4599
|
}, () => "0.25rem").with({
|
|
4469
4600
|
corners: "sharp"
|
|
4470
4601
|
}, () => "0").otherwise(),
|
|
4602
|
+
"radius-logo": match(theme).with({
|
|
4603
|
+
corners: "rounded"
|
|
4604
|
+
}, () => "999px").with({
|
|
4605
|
+
corners: "soft"
|
|
4606
|
+
}, () => ".5rem").with({
|
|
4607
|
+
corners: "sharp"
|
|
4608
|
+
}, () => "0").otherwise(),
|
|
4609
|
+
"logo-gap": match(theme).with({
|
|
4610
|
+
corners: "rounded"
|
|
4611
|
+
}, () => "0.75rem").with({
|
|
4612
|
+
corners: "soft"
|
|
4613
|
+
}, () => "1rem").with({
|
|
4614
|
+
corners: "sharp"
|
|
4615
|
+
}, () => "1rem").otherwise(),
|
|
4471
4616
|
"interactive-neutral-bg": withOpacity(highContrast ? "n-5" : "n-4", 0.01),
|
|
4472
4617
|
"interactive-neutral-bg-hover": highContrast ? core("color.n-5") : core("color.n-4"),
|
|
4473
4618
|
"interactive-neutral-text": core("color.n-12"),
|