@inploi/plugin-job-search 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.js +6 -6
- package/dist/job-search.api.d.ts +157 -41
- package/dist/job-search.d.ts +11 -2
- package/dist/job-search.schemas.d.ts +52 -22
- package/dist/plugin-job-search.cjs +541 -677
- package/dist/plugin-job-search.js +541 -677
- package/package.json +15 -9
|
@@ -514,6 +514,126 @@ function C$1(t2, l2, c2, p2, u2) {
|
|
|
514
514
|
return B2 || ("string" == typeof H2 ? B2 = s$1(H2) : null != H2 && false !== H2 && true !== H2 && (B2 = C$1(H2, l2, "svg" === E2 || "foreignObject" !== E2 && c2, p2, t2))), d$1 && d$1(t2), t2.__ = void 0, m$1 && m$1(t2), !B2 && S.has(E2) ? q2 + "/>" : q2 + ">" + B2 + "</" + E2 + ">";
|
|
515
515
|
}
|
|
516
516
|
var S = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
|
|
517
|
+
function r$1(e2) {
|
|
518
|
+
var t2, f2, n2 = "";
|
|
519
|
+
if ("string" == typeof e2 || "number" == typeof e2)
|
|
520
|
+
n2 += e2;
|
|
521
|
+
else if ("object" == typeof e2)
|
|
522
|
+
if (Array.isArray(e2))
|
|
523
|
+
for (t2 = 0; t2 < e2.length; t2++)
|
|
524
|
+
e2[t2] && (f2 = r$1(e2[t2])) && (n2 && (n2 += " "), n2 += f2);
|
|
525
|
+
else
|
|
526
|
+
for (t2 in e2)
|
|
527
|
+
e2[t2] && (n2 && (n2 += " "), n2 += t2);
|
|
528
|
+
return n2;
|
|
529
|
+
}
|
|
530
|
+
function clsx() {
|
|
531
|
+
for (var e2, t2, f2 = 0, n2 = ""; f2 < arguments.length; )
|
|
532
|
+
(e2 = arguments[f2++]) && (t2 = r$1(e2)) && (n2 && (n2 += " "), n2 += t2);
|
|
533
|
+
return n2;
|
|
534
|
+
}
|
|
535
|
+
const falsyToString = (value) => typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
|
|
536
|
+
const defineConfig = (options) => {
|
|
537
|
+
const cx1 = function() {
|
|
538
|
+
for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
539
|
+
inputs[_key] = arguments[_key];
|
|
540
|
+
}
|
|
541
|
+
var ref, ref1;
|
|
542
|
+
if (typeof (options === null || options === void 0 ? void 0 : (ref = options.hooks) === null || ref === void 0 ? void 0 : ref["cx:done"]) !== "undefined")
|
|
543
|
+
return options === null || options === void 0 ? void 0 : options.hooks["cx:done"](clsx(inputs));
|
|
544
|
+
if (typeof (options === null || options === void 0 ? void 0 : (ref1 = options.hooks) === null || ref1 === void 0 ? void 0 : ref1.onComplete) !== "undefined")
|
|
545
|
+
return options === null || options === void 0 ? void 0 : options.hooks.onComplete(clsx(inputs));
|
|
546
|
+
return clsx(inputs);
|
|
547
|
+
};
|
|
548
|
+
const cva1 = (config) => {
|
|
549
|
+
return (props) => {
|
|
550
|
+
var ref;
|
|
551
|
+
if ((config === null || config === void 0 ? void 0 : config.variants) == null)
|
|
552
|
+
return cx1(config === null || config === void 0 ? void 0 : config.base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
553
|
+
const { variants, defaultVariants } = config;
|
|
554
|
+
const getVariantClassNames = Object.keys(variants).map((variant) => {
|
|
555
|
+
const variantProp = props === null || props === void 0 ? void 0 : props[variant];
|
|
556
|
+
const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
|
|
557
|
+
const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
|
|
558
|
+
return variants[variant][variantKey];
|
|
559
|
+
});
|
|
560
|
+
const defaultsAndProps = { ...defaultVariants, ...props && Object.entries(props).reduce((acc, param) => {
|
|
561
|
+
let [key, value] = param;
|
|
562
|
+
return typeof value === "undefined" ? acc : { ...acc, [key]: value };
|
|
563
|
+
}, {}) };
|
|
564
|
+
const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (ref = config.compoundVariants) === null || ref === void 0 ? void 0 : ref.reduce((acc, param1) => {
|
|
565
|
+
let { class: cvClass, className: cvClassName, ...cvConfig } = param1;
|
|
566
|
+
return Object.entries(cvConfig).every((param) => {
|
|
567
|
+
let [cvKey, cvSelector] = param;
|
|
568
|
+
const selector = defaultsAndProps[cvKey];
|
|
569
|
+
return Array.isArray(cvSelector) ? cvSelector.includes(selector) : selector === cvSelector;
|
|
570
|
+
}) ? [...acc, cvClass, cvClassName] : acc;
|
|
571
|
+
}, []);
|
|
572
|
+
return cx1(config === null || config === void 0 ? void 0 : config.base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
573
|
+
};
|
|
574
|
+
};
|
|
575
|
+
const compose1 = function() {
|
|
576
|
+
for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
577
|
+
components[_key] = arguments[_key];
|
|
578
|
+
}
|
|
579
|
+
return (props) => {
|
|
580
|
+
const propsWithoutClass = Object.fromEntries(Object.entries(props || {}).filter((param) => {
|
|
581
|
+
let [key] = param;
|
|
582
|
+
return !["class", "className"].includes(key);
|
|
583
|
+
}));
|
|
584
|
+
return cx1(components.map((component) => component(propsWithoutClass)), props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
585
|
+
};
|
|
586
|
+
};
|
|
587
|
+
return { compose: compose1, cva: cva1, cx: cx1 };
|
|
588
|
+
};
|
|
589
|
+
const { compose, cva, cx } = defineConfig();
|
|
590
|
+
const btnClass = cva({
|
|
591
|
+
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",
|
|
592
|
+
variants: {
|
|
593
|
+
variant: {
|
|
594
|
+
neutral: "bg-interactive-neutral-bg pointer-fine:hover:bg-interactive-neutral-bg-hover text-interactive-neutral-text",
|
|
595
|
+
accent: "bg-interactive-accent-bg pointer-fine:hover:bg-interactive-accent-bg-hover text-interactive-accent-text"
|
|
596
|
+
},
|
|
597
|
+
icon: {
|
|
598
|
+
none: "",
|
|
599
|
+
right: "",
|
|
600
|
+
left: ""
|
|
601
|
+
},
|
|
602
|
+
size: {
|
|
603
|
+
sm: "py-1",
|
|
604
|
+
lg: "py-2"
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
compoundVariants: [
|
|
608
|
+
{
|
|
609
|
+
size: "sm",
|
|
610
|
+
icon: "right",
|
|
611
|
+
class: "pl-3 pr-1"
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
size: "sm",
|
|
615
|
+
icon: "left",
|
|
616
|
+
class: "pl-1 pr-3"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
size: "sm",
|
|
620
|
+
icon: "none",
|
|
621
|
+
class: "px-3"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
size: "lg",
|
|
625
|
+
icon: "right",
|
|
626
|
+
class: "pl-5 pr-3"
|
|
627
|
+
}
|
|
628
|
+
// { size: 'lg', icon: 'left', class: 'pl-3 pr-5' },
|
|
629
|
+
// { size: 'lg', icon: 'none', class: 'px-5' },
|
|
630
|
+
],
|
|
631
|
+
defaultVariants: {
|
|
632
|
+
variant: "neutral",
|
|
633
|
+
icon: "none",
|
|
634
|
+
size: "sm"
|
|
635
|
+
}
|
|
636
|
+
});
|
|
517
637
|
var f$1 = 0;
|
|
518
638
|
function u$1(e2, t2, n2, o2, i2, u2) {
|
|
519
639
|
var a2, c2, p2 = {};
|
|
@@ -525,7 +645,7 @@ function u$1(e2, t2, n2, o2, i2, u2) {
|
|
|
525
645
|
void 0 === p2[c2] && (p2[c2] = a2[c2]);
|
|
526
646
|
return l$2.vnode && l$2.vnode(l2), l2;
|
|
527
647
|
}
|
|
528
|
-
const
|
|
648
|
+
const UnstyledErrorView = ({
|
|
529
649
|
error,
|
|
530
650
|
resetError
|
|
531
651
|
}) => {
|
|
@@ -556,6 +676,26 @@ const Fallback = ({
|
|
|
556
676
|
})]
|
|
557
677
|
});
|
|
558
678
|
};
|
|
679
|
+
const ErrorView = ({
|
|
680
|
+
error,
|
|
681
|
+
resetError
|
|
682
|
+
}) => {
|
|
683
|
+
return u$1("div", {
|
|
684
|
+
class: "bg-section-strong-bg ring-section-weak-stroke rounded-section ring-px lg:ring-width-section flex flex-col gap-4 p-4",
|
|
685
|
+
children: [u$1("p", {
|
|
686
|
+
class: "text-neutral-11",
|
|
687
|
+
children: ["An error occured: ", error.message]
|
|
688
|
+
}), u$1("button", {
|
|
689
|
+
class: btnClass({
|
|
690
|
+
variant: "neutral",
|
|
691
|
+
size: "lg",
|
|
692
|
+
class: "border-px flex flex-none flex-nowrap justify-center truncate border-transparent"
|
|
693
|
+
}),
|
|
694
|
+
onClick: resetError,
|
|
695
|
+
children: "Retry"
|
|
696
|
+
})]
|
|
697
|
+
});
|
|
698
|
+
};
|
|
559
699
|
class ErrorBoundary extends b$2 {
|
|
560
700
|
constructor() {
|
|
561
701
|
super(...arguments);
|
|
@@ -576,9 +716,9 @@ class ErrorBoundary extends b$2 {
|
|
|
576
716
|
render() {
|
|
577
717
|
if (this.state.error) {
|
|
578
718
|
const {
|
|
579
|
-
Fallback
|
|
719
|
+
Fallback
|
|
580
720
|
} = this.props;
|
|
581
|
-
return u$1(
|
|
721
|
+
return u$1(Fallback, {
|
|
582
722
|
error: this.state.error,
|
|
583
723
|
resetError: () => {
|
|
584
724
|
this.setState({
|
|
@@ -753,10 +893,10 @@ const Icon = ({
|
|
|
753
893
|
})
|
|
754
894
|
});
|
|
755
895
|
};
|
|
756
|
-
var t, r
|
|
896
|
+
var t, r, u, i, o = 0, f = [], c = [], e = l$2.__b, a = l$2.__r, v = l$2.diffed, l = l$2.__c, m = l$2.unmount;
|
|
757
897
|
function d(t2, u2) {
|
|
758
|
-
l$2.__h && l$2.__h(r
|
|
759
|
-
var i2 = r
|
|
898
|
+
l$2.__h && l$2.__h(r, t2, o || u2), o = 0;
|
|
899
|
+
var i2 = r.__H || (r.__H = { __: [], __h: [] });
|
|
760
900
|
return t2 >= i2.__.length && i2.__.push({ __V: c }), i2.__[t2];
|
|
761
901
|
}
|
|
762
902
|
function h(n2) {
|
|
@@ -767,7 +907,7 @@ function s(n2, u2, i2) {
|
|
|
767
907
|
if (o2.t = n2, !o2.__c && (o2.__ = [i2 ? i2(u2) : B$1(void 0, u2), function(n3) {
|
|
768
908
|
var t2 = o2.__N ? o2.__N[0] : o2.__[0], r2 = o2.t(t2, n3);
|
|
769
909
|
t2 !== r2 && (o2.__N = [r2, o2.__[1]], o2.__c.setState({}));
|
|
770
|
-
}], o2.__c = r
|
|
910
|
+
}], o2.__c = r, !r.u)) {
|
|
771
911
|
var f2 = function(n3, t2, r2) {
|
|
772
912
|
if (!o2.__c.__H)
|
|
773
913
|
return true;
|
|
@@ -786,25 +926,25 @@ function s(n2, u2, i2) {
|
|
|
786
926
|
}
|
|
787
927
|
}), !(!i3 && o2.__c.props === n3) && (!c2 || c2.call(this, n3, t2, r2));
|
|
788
928
|
};
|
|
789
|
-
r
|
|
790
|
-
var c2 = r
|
|
791
|
-
r
|
|
929
|
+
r.u = true;
|
|
930
|
+
var c2 = r.shouldComponentUpdate, e2 = r.componentWillUpdate;
|
|
931
|
+
r.componentWillUpdate = function(n3, t2, r2) {
|
|
792
932
|
if (this.__e) {
|
|
793
933
|
var u3 = c2;
|
|
794
934
|
c2 = void 0, f2(n3, t2, r2), c2 = u3;
|
|
795
935
|
}
|
|
796
936
|
e2 && e2.call(this, n3, t2, r2);
|
|
797
|
-
}, r
|
|
937
|
+
}, r.shouldComponentUpdate = f2;
|
|
798
938
|
}
|
|
799
939
|
return o2.__N || o2.__;
|
|
800
940
|
}
|
|
801
941
|
function p(u2, i2) {
|
|
802
942
|
var o2 = d(t++, 3);
|
|
803
|
-
!l$2.__s && z$1(o2.__H, i2) && (o2.__ = u2, o2.i = i2, r
|
|
943
|
+
!l$2.__s && z$1(o2.__H, i2) && (o2.__ = u2, o2.i = i2, r.__H.__h.push(o2));
|
|
804
944
|
}
|
|
805
945
|
function y(u2, i2) {
|
|
806
946
|
var o2 = d(t++, 4);
|
|
807
|
-
!l$2.__s && z$1(o2.__H, i2) && (o2.__ = u2, o2.i = i2, r
|
|
947
|
+
!l$2.__s && z$1(o2.__H, i2) && (o2.__ = u2, o2.i = i2, r.__h.push(o2));
|
|
808
948
|
}
|
|
809
949
|
function _(n2) {
|
|
810
950
|
return o = 5, F$1(function() {
|
|
@@ -830,15 +970,15 @@ function T$1(n2, t2) {
|
|
|
830
970
|
}, t2);
|
|
831
971
|
}
|
|
832
972
|
function q$1(n2) {
|
|
833
|
-
var u2 = r
|
|
834
|
-
return i2.c = n2, u2 ? (null == i2.__ && (i2.__ = true, u2.sub(r
|
|
973
|
+
var u2 = r.context[n2.__c], i2 = d(t++, 9);
|
|
974
|
+
return i2.c = n2, u2 ? (null == i2.__ && (i2.__ = true, u2.sub(r)), u2.props.value) : n2.__;
|
|
835
975
|
}
|
|
836
976
|
function x$1(t2, r2) {
|
|
837
977
|
l$2.useDebugValue && l$2.useDebugValue(r2 ? r2(t2) : t2);
|
|
838
978
|
}
|
|
839
979
|
function P$1(n2) {
|
|
840
980
|
var u2 = d(t++, 10), i2 = h();
|
|
841
|
-
return u2.__ = n2, r
|
|
981
|
+
return u2.__ = n2, r.componentDidCatch || (r.componentDidCatch = function(n3, t2) {
|
|
842
982
|
u2.__ && u2.__(n3, t2), i2[1](n3);
|
|
843
983
|
}), [i2[0], function() {
|
|
844
984
|
i2[1](void 0);
|
|
@@ -847,7 +987,7 @@ function P$1(n2) {
|
|
|
847
987
|
function V$1() {
|
|
848
988
|
var n2 = d(t++, 11);
|
|
849
989
|
if (!n2.__) {
|
|
850
|
-
for (var u2 = r
|
|
990
|
+
for (var u2 = r.__v; null !== u2 && !u2.__m && null !== u2.__; )
|
|
851
991
|
u2 = u2.__;
|
|
852
992
|
var i2 = u2.__m || (u2.__m = [0, 0]);
|
|
853
993
|
n2.__ = "P" + i2[0] + "-" + i2[1]++;
|
|
@@ -864,19 +1004,19 @@ function b() {
|
|
|
864
1004
|
}
|
|
865
1005
|
}
|
|
866
1006
|
l$2.__b = function(n2) {
|
|
867
|
-
r
|
|
1007
|
+
r = null, e && e(n2);
|
|
868
1008
|
}, l$2.__r = function(n2) {
|
|
869
1009
|
a && a(n2), t = 0;
|
|
870
|
-
var i2 = (r
|
|
871
|
-
i2 && (u === r
|
|
1010
|
+
var i2 = (r = n2.__c).__H;
|
|
1011
|
+
i2 && (u === r ? (i2.__h = [], r.__h = [], i2.__.forEach(function(n3) {
|
|
872
1012
|
n3.__N && (n3.__ = n3.__N), n3.__V = c, n3.__N = n3.i = void 0;
|
|
873
|
-
})) : (i2.__h.forEach(k$1), i2.__h.forEach(w$1), i2.__h = [], t = 0)), u = r
|
|
1013
|
+
})) : (i2.__h.forEach(k$1), i2.__h.forEach(w$1), i2.__h = [], t = 0)), u = r;
|
|
874
1014
|
}, l$2.diffed = function(t2) {
|
|
875
1015
|
v && v(t2);
|
|
876
1016
|
var o2 = t2.__c;
|
|
877
1017
|
o2 && o2.__H && (o2.__H.__h.length && (1 !== f.push(o2) && i === l$2.requestAnimationFrame || ((i = l$2.requestAnimationFrame) || j$1)(b)), o2.__H.__.forEach(function(n2) {
|
|
878
1018
|
n2.i && (n2.__H = n2.i), n2.__V !== c && (n2.__ = n2.__V), n2.i = void 0, n2.__V = c;
|
|
879
|
-
})), u = r
|
|
1019
|
+
})), u = r = null;
|
|
880
1020
|
}, l$2.__c = function(t2, r2) {
|
|
881
1021
|
r2.some(function(t3) {
|
|
882
1022
|
try {
|
|
@@ -908,12 +1048,12 @@ function j$1(n2) {
|
|
|
908
1048
|
g$1 && (t2 = requestAnimationFrame(r2));
|
|
909
1049
|
}
|
|
910
1050
|
function k$1(n2) {
|
|
911
|
-
var t2 = r
|
|
912
|
-
"function" == typeof u2 && (n2.__c = void 0, u2()), r
|
|
1051
|
+
var t2 = r, u2 = n2.__c;
|
|
1052
|
+
"function" == typeof u2 && (n2.__c = void 0, u2()), r = t2;
|
|
913
1053
|
}
|
|
914
1054
|
function w$1(n2) {
|
|
915
|
-
var t2 = r
|
|
916
|
-
n2.__c = n2.__(), r
|
|
1055
|
+
var t2 = r;
|
|
1056
|
+
n2.__c = n2.__(), r = t2;
|
|
917
1057
|
}
|
|
918
1058
|
function z$1(n2, t2) {
|
|
919
1059
|
return !n2 || n2.length !== t2.length || t2.some(function(t3, r2) {
|
|
@@ -926,6 +1066,13 @@ function B$1(n2, t2) {
|
|
|
926
1066
|
const JOB_SEARCH_ELEMENT_ID = "inploi-job-search";
|
|
927
1067
|
const JOB_SEARCH_SCOPE_ELEMENT_ID = "ijs";
|
|
928
1068
|
const PAGE_SIZE = 10;
|
|
1069
|
+
const cacheKey = (value) => {
|
|
1070
|
+
const filterString = Object.entries(value.filter).sort(([key1], [key2]) => key1.localeCompare(key2)).map(([key, value2]) => {
|
|
1071
|
+
var _a;
|
|
1072
|
+
return (value2 == null ? void 0 : value2.select) === "many" ? `${key}=${(_a = value2.value) == null ? void 0 : _a.sort().join("|")}` : `${key}=${value2 == null ? void 0 : value2.value}`;
|
|
1073
|
+
}).join("&");
|
|
1074
|
+
return `${value.baseKey}::${filterString}`;
|
|
1075
|
+
};
|
|
929
1076
|
function g(n2, t2) {
|
|
930
1077
|
for (var e2 in t2)
|
|
931
1078
|
n2[e2] = t2[e2];
|
|
@@ -1965,16 +2112,6 @@ const subscribeCallback = (key, callbacks, callback) => {
|
|
|
1965
2112
|
}
|
|
1966
2113
|
};
|
|
1967
2114
|
};
|
|
1968
|
-
const withMiddleware = (useSWR2, middleware2) => {
|
|
1969
|
-
return (...args) => {
|
|
1970
|
-
const [key, fn2, config] = normalize(args);
|
|
1971
|
-
const uses = (config.use || []).concat(middleware2);
|
|
1972
|
-
return useSWR2(key, fn2, {
|
|
1973
|
-
...config,
|
|
1974
|
-
use: uses
|
|
1975
|
-
});
|
|
1976
|
-
};
|
|
1977
|
-
};
|
|
1978
2115
|
setupDevTools();
|
|
1979
2116
|
const use = wn.use || ((promise) => {
|
|
1980
2117
|
if (promise.status === "pending") {
|
|
@@ -2693,6 +2830,24 @@ function object(entries, arg2, arg3, arg4) {
|
|
|
2693
2830
|
}
|
|
2694
2831
|
};
|
|
2695
2832
|
}
|
|
2833
|
+
function optional(wrapped, default_) {
|
|
2834
|
+
return {
|
|
2835
|
+
type: "optional",
|
|
2836
|
+
async: false,
|
|
2837
|
+
wrapped,
|
|
2838
|
+
default: default_,
|
|
2839
|
+
_parse(input, info) {
|
|
2840
|
+
if (input === void 0) {
|
|
2841
|
+
const override = getDefault(this);
|
|
2842
|
+
if (override === void 0) {
|
|
2843
|
+
return getOutput(input);
|
|
2844
|
+
}
|
|
2845
|
+
input = override;
|
|
2846
|
+
}
|
|
2847
|
+
return this.wrapped._parse(input, info);
|
|
2848
|
+
}
|
|
2849
|
+
};
|
|
2850
|
+
}
|
|
2696
2851
|
function string(arg1, arg2) {
|
|
2697
2852
|
const [message = "Invalid type", pipe] = getDefaultArgs(arg1, arg2);
|
|
2698
2853
|
return {
|
|
@@ -2873,10 +3028,10 @@ const getRelativeTimeDifference = ({
|
|
|
2873
3028
|
return diffIn.months < 0 ? "a long time ago" : "in a long time";
|
|
2874
3029
|
};
|
|
2875
3030
|
const SEVEN_DAYS_MS = 1e3 * 60 * 60 * 24 * 7;
|
|
2876
|
-
const AvailablePropertiesSchema = record(
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
})))
|
|
3031
|
+
const AvailablePropertiesSchema = record(array(object({
|
|
3032
|
+
label: coerce(string(), String),
|
|
3033
|
+
value: coerce(string(), String)
|
|
3034
|
+
})));
|
|
2880
3035
|
const PaginationSchema = object({
|
|
2881
3036
|
total: number(),
|
|
2882
3037
|
current_page: number(),
|
|
@@ -2893,7 +3048,7 @@ const payPeriods = {
|
|
|
2893
3048
|
const JobPayloadSchema = object({
|
|
2894
3049
|
id: number(),
|
|
2895
3050
|
company_name: string(),
|
|
2896
|
-
employment_type:
|
|
3051
|
+
employment_type: string(),
|
|
2897
3052
|
location_type: union([literal("LOCATION"), literal("REMOTE"), literal("HYBRID")]),
|
|
2898
3053
|
pay_type: union([literal("ANNUALLY"), literal("HOURLY"), literal("MONTHLY"), literal("WEEKLY"), literal("DAILY")]),
|
|
2899
3054
|
pay_currency: string(),
|
|
@@ -2909,15 +3064,17 @@ const JobPayloadSchema = object({
|
|
|
2909
3064
|
pay_max: nullable(string()),
|
|
2910
3065
|
description: string(),
|
|
2911
3066
|
title: string(),
|
|
2912
|
-
coordinates: object({
|
|
2913
|
-
lat: number(),
|
|
2914
|
-
lng: number()
|
|
2915
|
-
}),
|
|
2916
3067
|
// E.g.: Any varchar, e.g.: "Permanent contract"
|
|
2917
3068
|
contract_type: nullable(string()),
|
|
2918
3069
|
created_at: nullable(string()),
|
|
2919
3070
|
custom_data: nullable(record(any())),
|
|
2920
|
-
href: string()
|
|
3071
|
+
href: string(),
|
|
3072
|
+
industry: optional(string()),
|
|
3073
|
+
category: optional(string()),
|
|
3074
|
+
skills: optional(string()),
|
|
3075
|
+
town: optional(string()),
|
|
3076
|
+
city: optional(string()),
|
|
3077
|
+
country: optional(string())
|
|
2921
3078
|
});
|
|
2922
3079
|
const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
2923
3080
|
const isNew = schema.created_at ? new Date(schema.created_at).getTime() > Date.now() - SEVEN_DAYS_MS : false;
|
|
@@ -2941,6 +3098,7 @@ const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
|
2941
3098
|
throw new Error("Invalid pay data");
|
|
2942
3099
|
})();
|
|
2943
3100
|
return {
|
|
3101
|
+
raw: schema,
|
|
2944
3102
|
id: schema.id,
|
|
2945
3103
|
isNew,
|
|
2946
3104
|
company: {
|
|
@@ -2951,7 +3109,6 @@ const JobSchema = transform(JobPayloadSchema, (schema) => {
|
|
|
2951
3109
|
pay,
|
|
2952
3110
|
description: schema.description,
|
|
2953
3111
|
title: schema.title,
|
|
2954
|
-
coordinates: schema.coordinates,
|
|
2955
3112
|
contractType: schema.contract_type,
|
|
2956
3113
|
href: schema.href,
|
|
2957
3114
|
relativePostedDate: schema.created_at ? getRelativeTimeDifference({
|
|
@@ -3048,80 +3205,6 @@ const SWR_SETTINGS = {
|
|
|
3048
3205
|
revalidateIfStale: false,
|
|
3049
3206
|
revalidateFirstPage: false
|
|
3050
3207
|
};
|
|
3051
|
-
const cacheKey = (value) => JSON.stringify(value);
|
|
3052
|
-
function r(e2) {
|
|
3053
|
-
var t2, f2, n2 = "";
|
|
3054
|
-
if ("string" == typeof e2 || "number" == typeof e2)
|
|
3055
|
-
n2 += e2;
|
|
3056
|
-
else if ("object" == typeof e2)
|
|
3057
|
-
if (Array.isArray(e2))
|
|
3058
|
-
for (t2 = 0; t2 < e2.length; t2++)
|
|
3059
|
-
e2[t2] && (f2 = r(e2[t2])) && (n2 && (n2 += " "), n2 += f2);
|
|
3060
|
-
else
|
|
3061
|
-
for (t2 in e2)
|
|
3062
|
-
e2[t2] && (n2 && (n2 += " "), n2 += t2);
|
|
3063
|
-
return n2;
|
|
3064
|
-
}
|
|
3065
|
-
function clsx() {
|
|
3066
|
-
for (var e2, t2, f2 = 0, n2 = ""; f2 < arguments.length; )
|
|
3067
|
-
(e2 = arguments[f2++]) && (t2 = r(e2)) && (n2 && (n2 += " "), n2 += t2);
|
|
3068
|
-
return n2;
|
|
3069
|
-
}
|
|
3070
|
-
const falsyToString = (value) => typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
|
|
3071
|
-
const defineConfig = (options) => {
|
|
3072
|
-
const cx1 = function() {
|
|
3073
|
-
for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3074
|
-
inputs[_key] = arguments[_key];
|
|
3075
|
-
}
|
|
3076
|
-
var ref, ref1;
|
|
3077
|
-
if (typeof (options === null || options === void 0 ? void 0 : (ref = options.hooks) === null || ref === void 0 ? void 0 : ref["cx:done"]) !== "undefined")
|
|
3078
|
-
return options === null || options === void 0 ? void 0 : options.hooks["cx:done"](clsx(inputs));
|
|
3079
|
-
if (typeof (options === null || options === void 0 ? void 0 : (ref1 = options.hooks) === null || ref1 === void 0 ? void 0 : ref1.onComplete) !== "undefined")
|
|
3080
|
-
return options === null || options === void 0 ? void 0 : options.hooks.onComplete(clsx(inputs));
|
|
3081
|
-
return clsx(inputs);
|
|
3082
|
-
};
|
|
3083
|
-
const cva1 = (config) => {
|
|
3084
|
-
return (props) => {
|
|
3085
|
-
var ref;
|
|
3086
|
-
if ((config === null || config === void 0 ? void 0 : config.variants) == null)
|
|
3087
|
-
return cx1(config === null || config === void 0 ? void 0 : config.base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
3088
|
-
const { variants, defaultVariants } = config;
|
|
3089
|
-
const getVariantClassNames = Object.keys(variants).map((variant) => {
|
|
3090
|
-
const variantProp = props === null || props === void 0 ? void 0 : props[variant];
|
|
3091
|
-
const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
|
|
3092
|
-
const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
|
|
3093
|
-
return variants[variant][variantKey];
|
|
3094
|
-
});
|
|
3095
|
-
const defaultsAndProps = { ...defaultVariants, ...props && Object.entries(props).reduce((acc, param) => {
|
|
3096
|
-
let [key, value] = param;
|
|
3097
|
-
return typeof value === "undefined" ? acc : { ...acc, [key]: value };
|
|
3098
|
-
}, {}) };
|
|
3099
|
-
const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (ref = config.compoundVariants) === null || ref === void 0 ? void 0 : ref.reduce((acc, param1) => {
|
|
3100
|
-
let { class: cvClass, className: cvClassName, ...cvConfig } = param1;
|
|
3101
|
-
return Object.entries(cvConfig).every((param) => {
|
|
3102
|
-
let [cvKey, cvSelector] = param;
|
|
3103
|
-
const selector = defaultsAndProps[cvKey];
|
|
3104
|
-
return Array.isArray(cvSelector) ? cvSelector.includes(selector) : selector === cvSelector;
|
|
3105
|
-
}) ? [...acc, cvClass, cvClassName] : acc;
|
|
3106
|
-
}, []);
|
|
3107
|
-
return cx1(config === null || config === void 0 ? void 0 : config.base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
3108
|
-
};
|
|
3109
|
-
};
|
|
3110
|
-
const compose1 = function() {
|
|
3111
|
-
for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3112
|
-
components[_key] = arguments[_key];
|
|
3113
|
-
}
|
|
3114
|
-
return (props) => {
|
|
3115
|
-
const propsWithoutClass = Object.fromEntries(Object.entries(props || {}).filter((param) => {
|
|
3116
|
-
let [key] = param;
|
|
3117
|
-
return !["class", "className"].includes(key);
|
|
3118
|
-
}));
|
|
3119
|
-
return cx1(components.map((component) => component(propsWithoutClass)), props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
|
|
3120
|
-
};
|
|
3121
|
-
};
|
|
3122
|
-
return { compose: compose1, cva: cva1, cx: cx1 };
|
|
3123
|
-
};
|
|
3124
|
-
const { compose, cva, cx } = defineConfig();
|
|
3125
3208
|
const tagClass = cva({
|
|
3126
3209
|
base: "truncate max-w-full block fr font-style-tag font-family-tag font-weight-tag text-style-tag",
|
|
3127
3210
|
variants: {
|
|
@@ -3168,8 +3251,7 @@ const CurrentValueTag = ({
|
|
|
3168
3251
|
return null;
|
|
3169
3252
|
case "loaded":
|
|
3170
3253
|
case "revalidating": {
|
|
3171
|
-
const suggestions = query.data[property.key];
|
|
3172
|
-
invariant(suggestions, `API error: no available properties for key “${property.key}”`);
|
|
3254
|
+
const suggestions = query.data[property.key] ?? [];
|
|
3173
3255
|
const selectedSuggestions = suggestions.filter((s2) => selectedValues.includes(s2.value));
|
|
3174
3256
|
switch (selectedSuggestions.length) {
|
|
3175
3257
|
case 0:
|
|
@@ -3193,7 +3275,7 @@ const CurrentValueTag = ({
|
|
|
3193
3275
|
size: "sm",
|
|
3194
3276
|
variant: "accentStrong",
|
|
3195
3277
|
interactive: true,
|
|
3196
|
-
class: "truncate tabular-nums"
|
|
3278
|
+
class: "ijs-filter-current truncate tabular-nums"
|
|
3197
3279
|
}),
|
|
3198
3280
|
children: selectedSuggestions.length
|
|
3199
3281
|
});
|
|
@@ -3203,53 +3285,6 @@ const CurrentValueTag = ({
|
|
|
3203
3285
|
exhaustive(query);
|
|
3204
3286
|
}
|
|
3205
3287
|
};
|
|
3206
|
-
const btnClass = cva({
|
|
3207
|
-
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",
|
|
3208
|
-
variants: {
|
|
3209
|
-
variant: {
|
|
3210
|
-
neutral: "bg-interactive-neutral-bg pointer-fine:hover:bg-interactive-neutral-bg-hover text-interactive-neutral-text",
|
|
3211
|
-
accent: "bg-interactive-accent-bg pointer-fine:hover:bg-interactive-accent-bg-hover text-interactive-accent-text"
|
|
3212
|
-
},
|
|
3213
|
-
icon: {
|
|
3214
|
-
none: "",
|
|
3215
|
-
right: "",
|
|
3216
|
-
left: ""
|
|
3217
|
-
},
|
|
3218
|
-
size: {
|
|
3219
|
-
sm: "py-1",
|
|
3220
|
-
lg: "py-2"
|
|
3221
|
-
}
|
|
3222
|
-
},
|
|
3223
|
-
compoundVariants: [
|
|
3224
|
-
{
|
|
3225
|
-
size: "sm",
|
|
3226
|
-
icon: "right",
|
|
3227
|
-
class: "pl-3 pr-1"
|
|
3228
|
-
},
|
|
3229
|
-
{
|
|
3230
|
-
size: "sm",
|
|
3231
|
-
icon: "left",
|
|
3232
|
-
class: "pl-1 pr-3"
|
|
3233
|
-
},
|
|
3234
|
-
{
|
|
3235
|
-
size: "sm",
|
|
3236
|
-
icon: "none",
|
|
3237
|
-
class: "px-3"
|
|
3238
|
-
},
|
|
3239
|
-
{
|
|
3240
|
-
size: "lg",
|
|
3241
|
-
icon: "right",
|
|
3242
|
-
class: "pl-5 pr-3"
|
|
3243
|
-
}
|
|
3244
|
-
// { size: 'lg', icon: 'left', class: 'pl-3 pr-5' },
|
|
3245
|
-
// { size: 'lg', icon: 'none', class: 'px-5' },
|
|
3246
|
-
],
|
|
3247
|
-
defaultVariants: {
|
|
3248
|
-
variant: "neutral",
|
|
3249
|
-
icon: "none",
|
|
3250
|
-
size: "sm"
|
|
3251
|
-
}
|
|
3252
|
-
});
|
|
3253
3288
|
const SUGGESTION_COUNT = 8;
|
|
3254
3289
|
const TAG_HEIGHT = 42;
|
|
3255
3290
|
const GAP = 8;
|
|
@@ -3337,8 +3372,7 @@ const FilterContentActive = ({
|
|
|
3337
3372
|
});
|
|
3338
3373
|
case "revalidating":
|
|
3339
3374
|
case "loaded": {
|
|
3340
|
-
const allSuggestions = unfilteredQuery.data[property.key];
|
|
3341
|
-
invariant(allSuggestions, `API error: no available properties for key “${property.key}”`);
|
|
3375
|
+
const allSuggestions = unfilteredQuery.data[property.key] ?? [];
|
|
3342
3376
|
const filteredSuggestions = search && search.length > 1 ? allSuggestions.filter((s2) => s2.label.toLowerCase().includes(search.toLowerCase())) : allSuggestions;
|
|
3343
3377
|
const suggestions = filteredSuggestions.map((s2) => ({
|
|
3344
3378
|
...s2,
|
|
@@ -3388,7 +3422,8 @@ const FilterContentActive = ({
|
|
|
3388
3422
|
size: "lg",
|
|
3389
3423
|
variant: active ? "accentStrong" : "neutralStrong",
|
|
3390
3424
|
interactive: true,
|
|
3391
|
-
disabled: suggestion.disabled
|
|
3425
|
+
disabled: suggestion.disabled,
|
|
3426
|
+
class: "ijs-filter-tag"
|
|
3392
3427
|
}),
|
|
3393
3428
|
children: suggestion.label
|
|
3394
3429
|
})
|
|
@@ -3409,6 +3444,7 @@ const FilterContentActive = ({
|
|
|
3409
3444
|
class: "font-style-tag font-family-tag font-weight-tag text-style-tag",
|
|
3410
3445
|
children: "Show More"
|
|
3411
3446
|
}), u$1(Icon, {
|
|
3447
|
+
"aria-hidden": true,
|
|
3412
3448
|
name: "plus"
|
|
3413
3449
|
})]
|
|
3414
3450
|
})
|
|
@@ -3432,6 +3468,7 @@ const FilterContentActive = ({
|
|
|
3432
3468
|
onValueChange(void 0);
|
|
3433
3469
|
},
|
|
3434
3470
|
children: [u$1(Icon, {
|
|
3471
|
+
"aria-hidden": true,
|
|
3435
3472
|
name: "x"
|
|
3436
3473
|
}), " Clear"]
|
|
3437
3474
|
})
|
|
@@ -3470,7 +3507,7 @@ const filterIcons = {
|
|
|
3470
3507
|
category: "briefcase"
|
|
3471
3508
|
};
|
|
3472
3509
|
const wrapperClass$1 = cva({
|
|
3473
|
-
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]",
|
|
3510
|
+
base: "group ijs-filter 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]",
|
|
3474
3511
|
variants: {
|
|
3475
3512
|
hasValue: {
|
|
3476
3513
|
false: "bg-section-weak-bg ring-section-weak-stroke",
|
|
@@ -3543,10 +3580,11 @@ const Filter = ({
|
|
|
3543
3580
|
"aria-label": active ? "Close filter" : "Open filter",
|
|
3544
3581
|
class: headerClass({
|
|
3545
3582
|
state: active ? "active" : hasValue ? "filled" : "default",
|
|
3546
|
-
class: "rounded-section fr-child flex w-full cursor-pointer select-none items-center gap-2 py-4 pl-4"
|
|
3583
|
+
class: "ijs-filter-heading rounded-section fr-child flex w-full cursor-pointer select-none items-center gap-2 py-4 pl-4"
|
|
3547
3584
|
}),
|
|
3548
3585
|
onClick: () => onActiveChange(!active),
|
|
3549
3586
|
children: [u$1(Icon, {
|
|
3587
|
+
"aria-hidden": true,
|
|
3550
3588
|
class: "flex-none",
|
|
3551
3589
|
name: icon
|
|
3552
3590
|
}), u$1("p", {
|
|
@@ -3584,8 +3622,8 @@ const Filter = ({
|
|
|
3584
3622
|
selectedValues
|
|
3585
3623
|
})
|
|
3586
3624
|
}), u$1(Icon, {
|
|
3587
|
-
class: chevronClass(),
|
|
3588
3625
|
"aria-hidden": true,
|
|
3626
|
+
class: chevronClass(),
|
|
3589
3627
|
name: "chevron-right"
|
|
3590
3628
|
})]
|
|
3591
3629
|
})]
|
|
@@ -3666,7 +3704,10 @@ const FilterSection = ({
|
|
|
3666
3704
|
const [activeKey, setActiveKey] = h((_a = properties[0]) == null ? void 0 : _a.key);
|
|
3667
3705
|
useFilterKeyboardFocus(activeKey, parentRef);
|
|
3668
3706
|
const defaultFilters = F$1(() => getFilterDefaults(properties), [properties]);
|
|
3669
|
-
const unfilteredQuery = getQueryState(useSWR(cacheKey(
|
|
3707
|
+
const unfilteredQuery = getQueryState(useSWR(cacheKey({
|
|
3708
|
+
filter: defaultFilters,
|
|
3709
|
+
baseKey: "filters"
|
|
3710
|
+
}), () => getAvailableFilters({
|
|
3670
3711
|
apiClient,
|
|
3671
3712
|
logger,
|
|
3672
3713
|
filters: defaultFilters
|
|
@@ -3678,7 +3719,10 @@ const FilterSection = ({
|
|
|
3678
3719
|
...appliedFilters,
|
|
3679
3720
|
[keyToExclude]: defaultFilters[keyToExclude]
|
|
3680
3721
|
};
|
|
3681
|
-
return useSWR(cacheKey(
|
|
3722
|
+
return useSWR(cacheKey({
|
|
3723
|
+
filter: filters,
|
|
3724
|
+
baseKey: "filters"
|
|
3725
|
+
}), () => getAvailableFilters({
|
|
3682
3726
|
apiClient,
|
|
3683
3727
|
logger,
|
|
3684
3728
|
filters
|
|
@@ -3687,7 +3731,7 @@ const FilterSection = ({
|
|
|
3687
3731
|
return u$1("aside", {
|
|
3688
3732
|
children: u$1("div", {
|
|
3689
3733
|
role: "tablist",
|
|
3690
|
-
class: "top-filters sticky flex flex-col gap-2 px-4 md:px-0",
|
|
3734
|
+
class: "top-filters ijs-filters-section sticky flex flex-col gap-2 px-4 md:px-0",
|
|
3691
3735
|
children: properties.map((property) => {
|
|
3692
3736
|
const active = activeKey === property.key;
|
|
3693
3737
|
const value = appliedFilters[property.key] ?? {
|
|
@@ -3711,7 +3755,7 @@ const FilterSection = ({
|
|
|
3711
3755
|
const onActiveChange = (active2) => setActiveKey(active2 ? property.key : void 0);
|
|
3712
3756
|
const useQuery = makeQueryWithoutFilter(property.key);
|
|
3713
3757
|
return u$1(ErrorBoundary, {
|
|
3714
|
-
Fallback,
|
|
3758
|
+
Fallback: ErrorView,
|
|
3715
3759
|
children: u$1(Filter, {
|
|
3716
3760
|
unfilteredQuery,
|
|
3717
3761
|
active,
|
|
@@ -3732,212 +3776,9 @@ const FilterSection = ({
|
|
|
3732
3776
|
})
|
|
3733
3777
|
});
|
|
3734
3778
|
};
|
|
3735
|
-
|
|
3736
|
-
return
|
|
3737
|
-
}
|
|
3738
|
-
const EMPTY_PROMISE = Promise.resolve();
|
|
3739
|
-
const infinite = (useSWRNext) => (getKey, fn2, config) => {
|
|
3740
|
-
const didMountRef = _(false);
|
|
3741
|
-
const { cache: cache$1, initialSize = 1, revalidateAll = false, persistSize = false, revalidateFirstPage = true, revalidateOnMount = false, parallel = false } = config;
|
|
3742
|
-
const [, , , PRELOAD] = SWRGlobalState.get(cache);
|
|
3743
|
-
let infiniteKey;
|
|
3744
|
-
try {
|
|
3745
|
-
infiniteKey = getFirstPageKey(getKey);
|
|
3746
|
-
if (infiniteKey)
|
|
3747
|
-
infiniteKey = INFINITE_PREFIX + infiniteKey;
|
|
3748
|
-
} catch (err) {
|
|
3749
|
-
}
|
|
3750
|
-
const [get, set, subscribeCache] = createCacheHelper(cache$1, infiniteKey);
|
|
3751
|
-
const getSnapshot = T$1(() => {
|
|
3752
|
-
const size = isUndefined(get()._l) ? initialSize : get()._l;
|
|
3753
|
-
return size;
|
|
3754
|
-
}, [
|
|
3755
|
-
cache$1,
|
|
3756
|
-
infiniteKey,
|
|
3757
|
-
initialSize
|
|
3758
|
-
]);
|
|
3759
|
-
shimExports.useSyncExternalStore(T$1(
|
|
3760
|
-
(callback) => {
|
|
3761
|
-
if (infiniteKey)
|
|
3762
|
-
return subscribeCache(infiniteKey, () => {
|
|
3763
|
-
callback();
|
|
3764
|
-
});
|
|
3765
|
-
return () => {
|
|
3766
|
-
};
|
|
3767
|
-
},
|
|
3768
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3769
|
-
[
|
|
3770
|
-
cache$1,
|
|
3771
|
-
infiniteKey
|
|
3772
|
-
]
|
|
3773
|
-
), getSnapshot, getSnapshot);
|
|
3774
|
-
const resolvePageSize = T$1(() => {
|
|
3775
|
-
const cachedPageSize = get()._l;
|
|
3776
|
-
return isUndefined(cachedPageSize) ? initialSize : cachedPageSize;
|
|
3777
|
-
}, [
|
|
3778
|
-
infiniteKey,
|
|
3779
|
-
initialSize
|
|
3780
|
-
]);
|
|
3781
|
-
const lastPageSizeRef = _(resolvePageSize());
|
|
3782
|
-
useIsomorphicLayoutEffect(() => {
|
|
3783
|
-
if (!didMountRef.current) {
|
|
3784
|
-
didMountRef.current = true;
|
|
3785
|
-
return;
|
|
3786
|
-
}
|
|
3787
|
-
if (infiniteKey) {
|
|
3788
|
-
set({
|
|
3789
|
-
_l: persistSize ? lastPageSizeRef.current : resolvePageSize()
|
|
3790
|
-
});
|
|
3791
|
-
}
|
|
3792
|
-
}, [
|
|
3793
|
-
infiniteKey,
|
|
3794
|
-
cache$1
|
|
3795
|
-
]);
|
|
3796
|
-
const shouldRevalidateOnMount = revalidateOnMount && !didMountRef.current;
|
|
3797
|
-
const swr = useSWRNext(infiniteKey, async (key) => {
|
|
3798
|
-
const forceRevalidateAll = get()._i;
|
|
3799
|
-
const data = [];
|
|
3800
|
-
const pageSize = resolvePageSize();
|
|
3801
|
-
const [getCache] = createCacheHelper(cache$1, key);
|
|
3802
|
-
const cacheData = getCache().data;
|
|
3803
|
-
const revalidators = [];
|
|
3804
|
-
let previousPageData = null;
|
|
3805
|
-
for (let i2 = 0; i2 < pageSize; ++i2) {
|
|
3806
|
-
const [pageKey, pageArg] = serialize(getKey(i2, parallel ? null : previousPageData));
|
|
3807
|
-
if (!pageKey) {
|
|
3808
|
-
break;
|
|
3809
|
-
}
|
|
3810
|
-
const [getSWRCache, setSWRCache] = createCacheHelper(cache$1, pageKey);
|
|
3811
|
-
let pageData = getSWRCache().data;
|
|
3812
|
-
const shouldFetchPage = revalidateAll || forceRevalidateAll || isUndefined(pageData) || revalidateFirstPage && !i2 && !isUndefined(cacheData) || shouldRevalidateOnMount || cacheData && !isUndefined(cacheData[i2]) && !config.compare(cacheData[i2], pageData);
|
|
3813
|
-
if (fn2 && shouldFetchPage) {
|
|
3814
|
-
const revalidate = async () => {
|
|
3815
|
-
const hasPreloadedRequest = pageKey in PRELOAD;
|
|
3816
|
-
if (!hasPreloadedRequest) {
|
|
3817
|
-
pageData = await fn2(pageArg);
|
|
3818
|
-
} else {
|
|
3819
|
-
const req = PRELOAD[pageKey];
|
|
3820
|
-
delete PRELOAD[pageKey];
|
|
3821
|
-
pageData = await req;
|
|
3822
|
-
}
|
|
3823
|
-
setSWRCache({
|
|
3824
|
-
data: pageData,
|
|
3825
|
-
_k: pageArg
|
|
3826
|
-
});
|
|
3827
|
-
data[i2] = pageData;
|
|
3828
|
-
};
|
|
3829
|
-
if (parallel) {
|
|
3830
|
-
revalidators.push(revalidate);
|
|
3831
|
-
} else {
|
|
3832
|
-
await revalidate();
|
|
3833
|
-
}
|
|
3834
|
-
} else {
|
|
3835
|
-
data[i2] = pageData;
|
|
3836
|
-
}
|
|
3837
|
-
if (!parallel) {
|
|
3838
|
-
previousPageData = pageData;
|
|
3839
|
-
}
|
|
3840
|
-
}
|
|
3841
|
-
if (parallel) {
|
|
3842
|
-
await Promise.all(revalidators.map((r2) => r2()));
|
|
3843
|
-
}
|
|
3844
|
-
set({
|
|
3845
|
-
_i: UNDEFINED
|
|
3846
|
-
});
|
|
3847
|
-
return data;
|
|
3848
|
-
}, config);
|
|
3849
|
-
const mutate2 = T$1(
|
|
3850
|
-
// eslint-disable-next-line func-names
|
|
3851
|
-
function(data, opts) {
|
|
3852
|
-
const options = typeof opts === "boolean" ? {
|
|
3853
|
-
revalidate: opts
|
|
3854
|
-
} : opts || {};
|
|
3855
|
-
const shouldRevalidate = options.revalidate !== false;
|
|
3856
|
-
if (!infiniteKey)
|
|
3857
|
-
return EMPTY_PROMISE;
|
|
3858
|
-
if (shouldRevalidate) {
|
|
3859
|
-
if (!isUndefined(data)) {
|
|
3860
|
-
set({
|
|
3861
|
-
_i: false
|
|
3862
|
-
});
|
|
3863
|
-
} else {
|
|
3864
|
-
set({
|
|
3865
|
-
_i: true
|
|
3866
|
-
});
|
|
3867
|
-
}
|
|
3868
|
-
}
|
|
3869
|
-
return arguments.length ? swr.mutate(data, {
|
|
3870
|
-
...options,
|
|
3871
|
-
revalidate: shouldRevalidate
|
|
3872
|
-
}) : swr.mutate();
|
|
3873
|
-
},
|
|
3874
|
-
// swr.mutate is always the same reference
|
|
3875
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3876
|
-
[
|
|
3877
|
-
infiniteKey,
|
|
3878
|
-
cache$1
|
|
3879
|
-
]
|
|
3880
|
-
);
|
|
3881
|
-
const setSize = T$1(
|
|
3882
|
-
(arg) => {
|
|
3883
|
-
if (!infiniteKey)
|
|
3884
|
-
return EMPTY_PROMISE;
|
|
3885
|
-
const [, changeSize] = createCacheHelper(cache$1, infiniteKey);
|
|
3886
|
-
let size;
|
|
3887
|
-
if (isFunction(arg)) {
|
|
3888
|
-
size = arg(resolvePageSize());
|
|
3889
|
-
} else if (typeof arg == "number") {
|
|
3890
|
-
size = arg;
|
|
3891
|
-
}
|
|
3892
|
-
if (typeof size != "number")
|
|
3893
|
-
return EMPTY_PROMISE;
|
|
3894
|
-
changeSize({
|
|
3895
|
-
_l: size
|
|
3896
|
-
});
|
|
3897
|
-
lastPageSizeRef.current = size;
|
|
3898
|
-
const data = [];
|
|
3899
|
-
const [getInfiniteCache] = createCacheHelper(cache$1, infiniteKey);
|
|
3900
|
-
let previousPageData = null;
|
|
3901
|
-
for (let i2 = 0; i2 < size; ++i2) {
|
|
3902
|
-
const [pageKey] = serialize(getKey(i2, previousPageData));
|
|
3903
|
-
const [getCache] = createCacheHelper(cache$1, pageKey);
|
|
3904
|
-
const pageData = pageKey ? getCache().data : UNDEFINED;
|
|
3905
|
-
if (isUndefined(pageData)) {
|
|
3906
|
-
return mutate2(getInfiniteCache().data);
|
|
3907
|
-
}
|
|
3908
|
-
data.push(pageData);
|
|
3909
|
-
previousPageData = pageData;
|
|
3910
|
-
}
|
|
3911
|
-
return mutate2(data);
|
|
3912
|
-
},
|
|
3913
|
-
// exclude getKey from the dependencies, which isn't allowed to change during the lifecycle
|
|
3914
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3915
|
-
[
|
|
3916
|
-
infiniteKey,
|
|
3917
|
-
cache$1,
|
|
3918
|
-
mutate2,
|
|
3919
|
-
resolvePageSize
|
|
3920
|
-
]
|
|
3921
|
-
);
|
|
3922
|
-
return {
|
|
3923
|
-
size: resolvePageSize(),
|
|
3924
|
-
setSize,
|
|
3925
|
-
mutate: mutate2,
|
|
3926
|
-
get data() {
|
|
3927
|
-
return swr.data;
|
|
3928
|
-
},
|
|
3929
|
-
get error() {
|
|
3930
|
-
return swr.error;
|
|
3931
|
-
},
|
|
3932
|
-
get isValidating() {
|
|
3933
|
-
return swr.isValidating;
|
|
3934
|
-
},
|
|
3935
|
-
get isLoading() {
|
|
3936
|
-
return swr.isLoading;
|
|
3937
|
-
}
|
|
3938
|
-
};
|
|
3939
|
-
};
|
|
3940
|
-
const useSWRInfinite = withMiddleware(useSWR, infinite);
|
|
3779
|
+
function isKeyInObj(key, obj) {
|
|
3780
|
+
return key in obj;
|
|
3781
|
+
}
|
|
3941
3782
|
const SkeletonText = ({
|
|
3942
3783
|
chars
|
|
3943
3784
|
}) => {
|
|
@@ -3945,18 +3786,51 @@ const SkeletonText = ({
|
|
|
3945
3786
|
style: {
|
|
3946
3787
|
width: chars + "ch"
|
|
3947
3788
|
},
|
|
3948
|
-
class: "rounded-job-tag block h-[1lh] bg-[currentColor] opacity-25"
|
|
3789
|
+
class: "rounded-job-tag block h-[1lh] min-h-[1em] bg-[currentColor] opacity-25"
|
|
3949
3790
|
});
|
|
3950
3791
|
};
|
|
3951
3792
|
const wrapperClass = cva({
|
|
3952
|
-
base: "rounded-job-card bg-job-card-bg ring-width-job-card ring-job-card-stroke
|
|
3793
|
+
base: "ijs-job rounded-job-card bg-job-card-bg ring-width-job-card ring-job-card-stroke flex gap-4 fr ease-expo-out min-w-0 p-4 transition-all duration-medium",
|
|
3794
|
+
variants: {
|
|
3795
|
+
interactive: {
|
|
3796
|
+
true: "active:bg-job-card-bg-active active:ring-job-card-stroke-active",
|
|
3797
|
+
false: "animate-skeleton"
|
|
3798
|
+
}
|
|
3799
|
+
},
|
|
3800
|
+
defaultVariants: {
|
|
3801
|
+
interactive: true
|
|
3802
|
+
}
|
|
3953
3803
|
});
|
|
3954
3804
|
const badgeClass = cva({
|
|
3955
3805
|
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"
|
|
3956
3806
|
});
|
|
3807
|
+
const getDisplayableFilterProperty = ({
|
|
3808
|
+
job,
|
|
3809
|
+
property
|
|
3810
|
+
}) => {
|
|
3811
|
+
switch (typeof property) {
|
|
3812
|
+
case "string":
|
|
3813
|
+
if (isKeyInObj(property, job.raw))
|
|
3814
|
+
return job.raw[property];
|
|
3815
|
+
return null;
|
|
3816
|
+
case "object":
|
|
3817
|
+
return job.customData && property.transform(job.customData[property.key]);
|
|
3818
|
+
default:
|
|
3819
|
+
exhaustive(property);
|
|
3820
|
+
}
|
|
3821
|
+
};
|
|
3957
3822
|
const JobCard = ({
|
|
3958
|
-
job
|
|
3823
|
+
job,
|
|
3824
|
+
config
|
|
3959
3825
|
}) => {
|
|
3826
|
+
const subheading = getDisplayableFilterProperty({
|
|
3827
|
+
job,
|
|
3828
|
+
property: config.subheading
|
|
3829
|
+
});
|
|
3830
|
+
const tags = config.infoTags.map((infoTag) => getDisplayableFilterProperty({
|
|
3831
|
+
job,
|
|
3832
|
+
property: infoTag
|
|
3833
|
+
})).filter(Boolean);
|
|
3960
3834
|
return u$1("a", {
|
|
3961
3835
|
href: job.href,
|
|
3962
3836
|
class: wrapperClass(),
|
|
@@ -3964,21 +3838,23 @@ const JobCard = ({
|
|
|
3964
3838
|
class: "flex flex-1 flex-col gap-4",
|
|
3965
3839
|
children: [u$1("div", {
|
|
3966
3840
|
class: "flex flex-col items-start gap-1",
|
|
3967
|
-
children: [
|
|
3968
|
-
class:
|
|
3969
|
-
children: "NEW"
|
|
3970
|
-
}) : u$1("p", {
|
|
3971
|
-
class: "text-style-job-card-info text-copy-job-info",
|
|
3972
|
-
children: ["Posted ", job.relativePostedDate]
|
|
3973
|
-
}), u$1("div", {
|
|
3974
|
-
class: "flex flex-col gap-1",
|
|
3841
|
+
children: [u$1("div", {
|
|
3842
|
+
class: "order-2 flex flex-col gap-1",
|
|
3975
3843
|
children: [u$1("p", {
|
|
3976
3844
|
class: "text-style-job-heading font-style-job-heading font-weight-job-heading text-copy-neutral font-family-job-heading",
|
|
3977
3845
|
children: job.title
|
|
3978
|
-
}), u$1("p", {
|
|
3846
|
+
}), subheading ? u$1("p", {
|
|
3979
3847
|
class: "text-style-job-card text-copy-neutral-lowcontrast",
|
|
3980
|
-
children:
|
|
3981
|
-
})]
|
|
3848
|
+
children: subheading
|
|
3849
|
+
}) : null]
|
|
3850
|
+
}), job.isNew ? u$1("span", {
|
|
3851
|
+
class: badgeClass({
|
|
3852
|
+
class: "order-1"
|
|
3853
|
+
}),
|
|
3854
|
+
children: "NEW"
|
|
3855
|
+
}) : u$1("p", {
|
|
3856
|
+
class: "text-style-job-card-info text-copy-job-info order-1",
|
|
3857
|
+
children: ["Posted ", job.relativePostedDate]
|
|
3982
3858
|
})]
|
|
3983
3859
|
}), u$1("div", {
|
|
3984
3860
|
class: "flex flex-col items-start gap-2",
|
|
@@ -3988,17 +3864,18 @@ const JobCard = ({
|
|
|
3988
3864
|
size: "xs"
|
|
3989
3865
|
}),
|
|
3990
3866
|
children: job.pay
|
|
3991
|
-
}),
|
|
3867
|
+
}), tags.length > 0 && u$1("div", {
|
|
3992
3868
|
class: "flex items-center gap-2",
|
|
3993
|
-
children: u$1("span", {
|
|
3869
|
+
children: tags.map((tag) => u$1("span", {
|
|
3994
3870
|
class: tagClass({
|
|
3995
3871
|
size: "xs"
|
|
3996
3872
|
}),
|
|
3997
|
-
children:
|
|
3998
|
-
})
|
|
3873
|
+
children: tag
|
|
3874
|
+
}, tag))
|
|
3999
3875
|
})]
|
|
4000
3876
|
})]
|
|
4001
3877
|
}), u$1("div", {
|
|
3878
|
+
"aria-hidden": true,
|
|
4002
3879
|
class: "flex items-center",
|
|
4003
3880
|
children: u$1(Icon, {
|
|
4004
3881
|
name: "chevron-right",
|
|
@@ -4017,7 +3894,7 @@ const JobCardSkeleton = ({
|
|
|
4017
3894
|
animationDelay: animationDelay + "s"
|
|
4018
3895
|
},
|
|
4019
3896
|
class: wrapperClass({
|
|
4020
|
-
|
|
3897
|
+
interactive: false
|
|
4021
3898
|
}),
|
|
4022
3899
|
children: [u$1("div", {
|
|
4023
3900
|
class: "flex flex-1 flex-col gap-4",
|
|
@@ -4048,7 +3925,7 @@ const JobCardSkeleton = ({
|
|
|
4048
3925
|
class: tagClass({
|
|
4049
3926
|
variant: "neutralWeak",
|
|
4050
3927
|
size: "xs",
|
|
4051
|
-
class: "h-[1lh] w-[10ch]"
|
|
3928
|
+
class: "h-[1lh] min-h-[1em] w-[10ch]"
|
|
4052
3929
|
})
|
|
4053
3930
|
}), u$1("div", {
|
|
4054
3931
|
class: "flex items-center gap-2",
|
|
@@ -4056,18 +3933,19 @@ const JobCardSkeleton = ({
|
|
|
4056
3933
|
class: tagClass({
|
|
4057
3934
|
variant: "neutralWeak",
|
|
4058
3935
|
size: "xs",
|
|
4059
|
-
class: "h-[1lh] w-[6ch]"
|
|
3936
|
+
class: "h-[1lh] min-h-[1em] w-[6ch]"
|
|
4060
3937
|
})
|
|
4061
3938
|
}), u$1("span", {
|
|
4062
3939
|
class: tagClass({
|
|
4063
3940
|
variant: "neutralWeak",
|
|
4064
3941
|
size: "xs",
|
|
4065
|
-
class: "h-[1lh] w-[8ch]"
|
|
3942
|
+
class: "h-[1lh] min-h-[1em] w-[8ch]"
|
|
4066
3943
|
})
|
|
4067
3944
|
})]
|
|
4068
3945
|
})]
|
|
4069
3946
|
})]
|
|
4070
3947
|
}), u$1("div", {
|
|
3948
|
+
"aria-hidden": true,
|
|
4071
3949
|
class: "flex items-center",
|
|
4072
3950
|
children: u$1(Icon, {
|
|
4073
3951
|
name: "chevron-right",
|
|
@@ -4104,70 +3982,69 @@ const LoadMore = ({
|
|
|
4104
3982
|
});
|
|
4105
3983
|
}
|
|
4106
3984
|
};
|
|
4107
|
-
const useResultsFocus = (data) => {
|
|
4108
|
-
const resultsRef = _(null);
|
|
4109
|
-
p(() => {
|
|
4110
|
-
var _a;
|
|
4111
|
-
if (!data)
|
|
4112
|
-
return;
|
|
4113
|
-
if (data.length <= 1)
|
|
4114
|
-
return;
|
|
4115
|
-
const firstNewJob = (_a = resultsRef.current) == null ? void 0 : _a.querySelector(`li[data-page="${data.length}"] > *:is(a, button)`);
|
|
4116
|
-
if (firstNewJob instanceof HTMLElement)
|
|
4117
|
-
firstNewJob.focus();
|
|
4118
|
-
}, [data]);
|
|
4119
|
-
return resultsRef;
|
|
4120
|
-
};
|
|
4121
3985
|
const getResultsCount = ({
|
|
4122
3986
|
pagination
|
|
4123
3987
|
}) => {
|
|
4124
3988
|
invariant(pagination.total >= 0);
|
|
4125
3989
|
if (pagination.total === 1)
|
|
4126
3990
|
return "1 job found";
|
|
4127
|
-
|
|
4128
|
-
return pagination.total + " jobs found";
|
|
4129
|
-
if (pagination.total > pagination.per_page * pagination.current_page)
|
|
4130
|
-
return "Showing " + pagination.per_page * pagination.current_page + " of " + pagination.total + " jobs";
|
|
4131
|
-
return "Showing all " + pagination.total + " jobs";
|
|
3991
|
+
return `${pagination.total} jobs found`;
|
|
4132
3992
|
};
|
|
4133
3993
|
const ResultsSection = ({
|
|
4134
3994
|
appliedFilters,
|
|
4135
3995
|
apiClient,
|
|
4136
|
-
logger
|
|
3996
|
+
logger,
|
|
3997
|
+
jobCardConfig
|
|
3998
|
+
}) => {
|
|
3999
|
+
const [page, setPage] = h(1);
|
|
4000
|
+
return u$1(g$3, {
|
|
4001
|
+
children: Array.from({
|
|
4002
|
+
length: page
|
|
4003
|
+
}).map((a2, index) => {
|
|
4004
|
+
const isLast = index === page - 1;
|
|
4005
|
+
return u$1(ErrorBoundary, {
|
|
4006
|
+
Fallback: ErrorView,
|
|
4007
|
+
children: u$1(ResultsPage, {
|
|
4008
|
+
appliedFilters,
|
|
4009
|
+
apiClient,
|
|
4010
|
+
logger,
|
|
4011
|
+
page: index + 1,
|
|
4012
|
+
isFirst: index === 0,
|
|
4013
|
+
isLast,
|
|
4014
|
+
fetchNextPage: () => setPage(page + 1),
|
|
4015
|
+
jobCardConfig
|
|
4016
|
+
}, index)
|
|
4017
|
+
}, index);
|
|
4018
|
+
})
|
|
4019
|
+
});
|
|
4020
|
+
};
|
|
4021
|
+
const ResultsPage = ({
|
|
4022
|
+
appliedFilters,
|
|
4023
|
+
apiClient,
|
|
4024
|
+
logger,
|
|
4025
|
+
page,
|
|
4026
|
+
isFirst,
|
|
4027
|
+
isLast,
|
|
4028
|
+
fetchNextPage,
|
|
4029
|
+
jobCardConfig
|
|
4137
4030
|
}) => {
|
|
4138
|
-
const {
|
|
4139
|
-
setSize,
|
|
4140
|
-
size,
|
|
4141
|
-
...swr
|
|
4142
|
-
} = useSWRInfinite((index, prevPageData) => {
|
|
4143
|
-
if (prevPageData === null)
|
|
4144
|
-
return index + 1 + "/" + cacheKey(appliedFilters);
|
|
4145
|
-
if (prevPageData.pagination.last_page === prevPageData.pagination.current_page)
|
|
4146
|
-
return null;
|
|
4147
|
-
return index + 1 + "/" + JSON.stringify(appliedFilters);
|
|
4148
|
-
}, (key) => {
|
|
4149
|
-
const page = Number(key.split("/")[0]);
|
|
4150
|
-
invariant(!Number.isNaN(page));
|
|
4151
|
-
return getJobSearchResults({
|
|
4152
|
-
apiClient,
|
|
4153
|
-
logger,
|
|
4154
|
-
filters: appliedFilters,
|
|
4155
|
-
page
|
|
4156
|
-
});
|
|
4157
|
-
}, SWR_SETTINGS);
|
|
4158
4031
|
const {
|
|
4159
4032
|
data,
|
|
4160
4033
|
error,
|
|
4161
4034
|
state
|
|
4162
|
-
} = getQueryState(
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
}
|
|
4166
|
-
|
|
4035
|
+
} = getQueryState(useSWR(cacheKey({
|
|
4036
|
+
filter: appliedFilters,
|
|
4037
|
+
baseKey: page.toString()
|
|
4038
|
+
}), () => getJobSearchResults({
|
|
4039
|
+
apiClient,
|
|
4040
|
+
logger,
|
|
4041
|
+
filters: appliedFilters,
|
|
4042
|
+
page
|
|
4043
|
+
}), SWR_SETTINGS));
|
|
4167
4044
|
switch (state) {
|
|
4168
4045
|
case "loading":
|
|
4169
4046
|
return u$1(g$3, {
|
|
4170
|
-
children: [u$1("p", {
|
|
4047
|
+
children: [isFirst && u$1("p", {
|
|
4171
4048
|
class: "text-style-tag text-copy-job-info animate-skeleton m-0 self-center p-0",
|
|
4172
4049
|
children: u$1(SkeletonText, {
|
|
4173
4050
|
chars: 8
|
|
@@ -4180,7 +4057,7 @@ const ResultsSection = ({
|
|
|
4180
4057
|
}).map((_2, i2) => u$1("li", {
|
|
4181
4058
|
children: u$1(JobCardSkeleton, {
|
|
4182
4059
|
seed: i2,
|
|
4183
|
-
animationDelay: (i2 -
|
|
4060
|
+
animationDelay: (i2 - PAGE_SIZE) * 0.1
|
|
4184
4061
|
})
|
|
4185
4062
|
}, i2))
|
|
4186
4063
|
})]
|
|
@@ -4189,12 +4066,12 @@ const ResultsSection = ({
|
|
|
4189
4066
|
throw error;
|
|
4190
4067
|
case "revalidating":
|
|
4191
4068
|
case "loaded": {
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
if (firstPage.pagination.total === 0)
|
|
4069
|
+
invariant(data.pagination.current_page === page);
|
|
4070
|
+
if (data.pagination.total === 0)
|
|
4195
4071
|
return u$1("div", {
|
|
4196
4072
|
class: "mx-auto flex flex-col items-center gap-2 px-2 py-4 text-center",
|
|
4197
4073
|
children: [u$1(Icon, {
|
|
4074
|
+
"aria-hidden": true,
|
|
4198
4075
|
name: "magnifier",
|
|
4199
4076
|
class: "text-copy-neutral-lowcontrast"
|
|
4200
4077
|
}), u$1("div", {
|
|
@@ -4208,33 +4085,29 @@ const ResultsSection = ({
|
|
|
4208
4085
|
})]
|
|
4209
4086
|
})]
|
|
4210
4087
|
});
|
|
4211
|
-
const
|
|
4212
|
-
invariant(lastPage);
|
|
4213
|
-
const hasMore = lastPage.pagination.last_page !== lastPage.pagination.current_page;
|
|
4088
|
+
const hasMore = data.pagination.last_page !== data.pagination.current_page;
|
|
4214
4089
|
return u$1(g$3, {
|
|
4215
|
-
children: [u$1("p", {
|
|
4090
|
+
children: [isFirst && u$1("p", {
|
|
4216
4091
|
class: "text-copy-neutral-lowcontrast text-style-tag m-0 p-0 text-center",
|
|
4217
4092
|
children: getResultsCount({
|
|
4218
|
-
pagination:
|
|
4093
|
+
pagination: data.pagination
|
|
4219
4094
|
})
|
|
4220
4095
|
}), u$1("ul", {
|
|
4096
|
+
"aria-label": `Page ${page}`,
|
|
4221
4097
|
class: "flex flex-col gap-3",
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
"
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
})
|
|
4234
|
-
}, job.id);
|
|
4235
|
-
});
|
|
4098
|
+
children: data.results.map((job) => {
|
|
4099
|
+
return u$1("li", {
|
|
4100
|
+
class: "ease-expo-out duration-slow transition-opacity",
|
|
4101
|
+
style: {
|
|
4102
|
+
opacity: state === "revalidating" ? 0.33 : 1
|
|
4103
|
+
},
|
|
4104
|
+
children: u$1(JobCard, {
|
|
4105
|
+
job,
|
|
4106
|
+
config: jobCardConfig
|
|
4107
|
+
})
|
|
4108
|
+
}, job.id);
|
|
4236
4109
|
})
|
|
4237
|
-
}), hasMore && LoadMore
|
|
4110
|
+
}), hasMore && isLast && u$1(LoadMore, {
|
|
4238
4111
|
state,
|
|
4239
4112
|
fetchNextPage
|
|
4240
4113
|
})]
|
|
@@ -4267,7 +4140,8 @@ const JobSearch = ({
|
|
|
4267
4140
|
apiClient,
|
|
4268
4141
|
logger,
|
|
4269
4142
|
properties,
|
|
4270
|
-
class: className
|
|
4143
|
+
class: className,
|
|
4144
|
+
jobCardConfig
|
|
4271
4145
|
}) => {
|
|
4272
4146
|
const appRef = _(null);
|
|
4273
4147
|
const [appliedFilters, setAppliedFilters] = h(() => getFilterDefaults(properties));
|
|
@@ -4276,9 +4150,9 @@ const JobSearch = ({
|
|
|
4276
4150
|
class: className,
|
|
4277
4151
|
id: JOB_SEARCH_SCOPE_ELEMENT_ID,
|
|
4278
4152
|
children: u$1("div", {
|
|
4279
|
-
class: "bg-app rounded-app font-family-default font-weight-default font-style-default mx-auto flex min-h-screen max-w-screen-lg flex-col gap-4 py-4 md:grid md:grid-cols-3 md:px-4",
|
|
4153
|
+
class: "ijs-app bg-app rounded-app font-family-default font-weight-default font-style-default mx-auto flex min-h-screen max-w-screen-lg flex-col gap-4 py-4 md:grid md:grid-cols-3 md:px-4",
|
|
4280
4154
|
children: [u$1(ErrorBoundary, {
|
|
4281
|
-
Fallback,
|
|
4155
|
+
Fallback: ErrorView,
|
|
4282
4156
|
children: u$1(FilterSection, {
|
|
4283
4157
|
appliedFilters,
|
|
4284
4158
|
onFilterValueChange: (key, value) => {
|
|
@@ -4297,19 +4171,138 @@ const JobSearch = ({
|
|
|
4297
4171
|
children: u$1("section", {
|
|
4298
4172
|
class: "bg-section-strong-bg ring-section-weak-stroke rounded-section ring-px lg:ring-width-section flex flex-col gap-4 p-4",
|
|
4299
4173
|
children: u$1(ErrorBoundary, {
|
|
4300
|
-
Fallback,
|
|
4174
|
+
Fallback: ErrorView,
|
|
4301
4175
|
children: u$1(ResultsSection, {
|
|
4302
4176
|
appliedFilters,
|
|
4303
4177
|
logger,
|
|
4304
|
-
apiClient
|
|
4305
|
-
|
|
4178
|
+
apiClient,
|
|
4179
|
+
jobCardConfig
|
|
4180
|
+
}, cacheKey({
|
|
4181
|
+
filter: appliedFilters,
|
|
4182
|
+
baseKey: "resultsSection"
|
|
4183
|
+
}))
|
|
4306
4184
|
})
|
|
4307
4185
|
})
|
|
4308
4186
|
})]
|
|
4309
4187
|
})
|
|
4310
4188
|
});
|
|
4311
4189
|
};
|
|
4312
|
-
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-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 --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 .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";
|
|
4190
|
+
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";
|
|
4191
|
+
var __defProp2 = Object.defineProperty;
|
|
4192
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4193
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4194
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
4195
|
+
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4196
|
+
var __spreadValues = (a2, b2) => {
|
|
4197
|
+
for (var prop in b2 || (b2 = {}))
|
|
4198
|
+
if (__hasOwnProp.call(b2, prop))
|
|
4199
|
+
__defNormalProp2(a2, prop, b2[prop]);
|
|
4200
|
+
if (__getOwnPropSymbols)
|
|
4201
|
+
for (var prop of __getOwnPropSymbols(b2)) {
|
|
4202
|
+
if (__propIsEnum.call(b2, prop))
|
|
4203
|
+
__defNormalProp2(a2, prop, b2[prop]);
|
|
4204
|
+
}
|
|
4205
|
+
return a2;
|
|
4206
|
+
};
|
|
4207
|
+
var COLOR_SHADES = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
4208
|
+
var OKLCH_PRESETS = {
|
|
4209
|
+
light: {
|
|
4210
|
+
"1": [98.8, 0.015],
|
|
4211
|
+
"2": [97.8, 0.018],
|
|
4212
|
+
"3": [95.8, 0.025],
|
|
4213
|
+
"4": [92, 0.04],
|
|
4214
|
+
"5": [89, 0.05],
|
|
4215
|
+
"6": [85, 0.07],
|
|
4216
|
+
"7": [80.5, 0.08],
|
|
4217
|
+
"8": [74, 0.11],
|
|
4218
|
+
"9": [60, 0.22],
|
|
4219
|
+
"10": [60.5, 0.2],
|
|
4220
|
+
"11": [50, 0.19],
|
|
4221
|
+
"12": [25, 0.18]
|
|
4222
|
+
},
|
|
4223
|
+
dark: {
|
|
4224
|
+
"1": [19, 0.015],
|
|
4225
|
+
"2": [21, 0.018],
|
|
4226
|
+
"3": [25.5, 0.055],
|
|
4227
|
+
"4": [29.3, 0.084],
|
|
4228
|
+
"5": [33.5, 0.098],
|
|
4229
|
+
"6": [39.05, 0.107],
|
|
4230
|
+
"7": [45, 0.11],
|
|
4231
|
+
"8": [55, 0.13],
|
|
4232
|
+
"9": [60, 0.22],
|
|
4233
|
+
"10": [67, 0.18],
|
|
4234
|
+
"11": [79.3, 0.12],
|
|
4235
|
+
"12": [95, 0.04]
|
|
4236
|
+
}
|
|
4237
|
+
};
|
|
4238
|
+
var getPaletteColor = (hueAngle, chromaMultipler = 1, mode) => (i2) => {
|
|
4239
|
+
const [l2, c2] = OKLCH_PRESETS[mode][i2];
|
|
4240
|
+
const color = "oklch(" + l2 + "% " + c2 * chromaMultipler + " " + hueAngle + ")";
|
|
4241
|
+
return color;
|
|
4242
|
+
};
|
|
4243
|
+
var generatePalette = (params) => {
|
|
4244
|
+
const getColor = getPaletteColor(params.hue, params.chroma, params.mode);
|
|
4245
|
+
return Object.fromEntries(
|
|
4246
|
+
COLOR_SHADES.map(
|
|
4247
|
+
(level) => [params.prefix + level, params.transform ? params.transform(getColor(level)) : getColor(level)]
|
|
4248
|
+
)
|
|
4249
|
+
);
|
|
4250
|
+
};
|
|
4251
|
+
var flatten = (obj) => {
|
|
4252
|
+
const entries = Object.keys(obj).flatMap((key) => {
|
|
4253
|
+
const current = obj[key];
|
|
4254
|
+
if (typeof current === "object" && current !== null) {
|
|
4255
|
+
return Object.keys(current).map((childKey) => {
|
|
4256
|
+
const shade = current[childKey];
|
|
4257
|
+
return [`${String(key)}.${childKey}`, shade];
|
|
4258
|
+
});
|
|
4259
|
+
}
|
|
4260
|
+
return [[key, current]];
|
|
4261
|
+
});
|
|
4262
|
+
return Object.fromEntries(entries);
|
|
4263
|
+
};
|
|
4264
|
+
var asCssVar = (params) => {
|
|
4265
|
+
function genRef(target, path) {
|
|
4266
|
+
const varName = [params.prefix, path.toString().replace(/\./g, "-")].join("");
|
|
4267
|
+
return target === "declaration" ? `--${varName}` : `var(--${varName})`;
|
|
4268
|
+
}
|
|
4269
|
+
return genRef;
|
|
4270
|
+
};
|
|
4271
|
+
var designTokens = () => {
|
|
4272
|
+
return {
|
|
4273
|
+
core: (coreFn) => ({
|
|
4274
|
+
semantic: (semanticFn) => ({
|
|
4275
|
+
component: (componentFn) => ({
|
|
4276
|
+
from: (config) => {
|
|
4277
|
+
const { theme, getToken } = config;
|
|
4278
|
+
const getRef = (path) => getToken("reference", path.toString());
|
|
4279
|
+
const core = coreFn({ theme });
|
|
4280
|
+
const semantic = semanticFn({ theme, core: getRef, raw: { core } });
|
|
4281
|
+
const component = componentFn({
|
|
4282
|
+
theme,
|
|
4283
|
+
core: getRef,
|
|
4284
|
+
semantic: getRef,
|
|
4285
|
+
raw: { core, semantic }
|
|
4286
|
+
});
|
|
4287
|
+
const values = flatten(__spreadValues(__spreadValues(__spreadValues({}, core), semantic), component));
|
|
4288
|
+
return {
|
|
4289
|
+
values,
|
|
4290
|
+
declarations: Object.fromEntries(
|
|
4291
|
+
Object.entries(values).map(([key, value]) => {
|
|
4292
|
+
return [
|
|
4293
|
+
config.getToken("declaration", key),
|
|
4294
|
+
value
|
|
4295
|
+
];
|
|
4296
|
+
})
|
|
4297
|
+
),
|
|
4298
|
+
ref: (path) => getToken("reference", path.toString())
|
|
4299
|
+
};
|
|
4300
|
+
}
|
|
4301
|
+
})
|
|
4302
|
+
})
|
|
4303
|
+
})
|
|
4304
|
+
};
|
|
4305
|
+
};
|
|
4313
4306
|
const match = (m2) => {
|
|
4314
4307
|
const patterns = [];
|
|
4315
4308
|
const i2 = (m22) => ({
|
|
@@ -4337,143 +4330,12 @@ const match = (m2) => {
|
|
|
4337
4330
|
});
|
|
4338
4331
|
return i2(m2);
|
|
4339
4332
|
};
|
|
4340
|
-
const
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
"6": true,
|
|
4347
|
-
"7": true,
|
|
4348
|
-
"8": true,
|
|
4349
|
-
"9": true,
|
|
4350
|
-
"10": true,
|
|
4351
|
-
"11": true,
|
|
4352
|
-
"12": true
|
|
4353
|
-
};
|
|
4354
|
-
const COLOR_LEVELS = Object.keys(colorLevels);
|
|
4355
|
-
const colorPresets = {
|
|
4356
|
-
light: {
|
|
4357
|
-
"1": {
|
|
4358
|
-
l: 98.8,
|
|
4359
|
-
c: 0.015
|
|
4360
|
-
},
|
|
4361
|
-
"2": {
|
|
4362
|
-
l: 97.8,
|
|
4363
|
-
c: 0.018
|
|
4364
|
-
},
|
|
4365
|
-
"3": {
|
|
4366
|
-
l: 95.8,
|
|
4367
|
-
c: 0.025
|
|
4368
|
-
},
|
|
4369
|
-
"4": {
|
|
4370
|
-
l: 92,
|
|
4371
|
-
c: 0.04
|
|
4372
|
-
},
|
|
4373
|
-
"5": {
|
|
4374
|
-
l: 89,
|
|
4375
|
-
c: 0.05
|
|
4376
|
-
},
|
|
4377
|
-
"6": {
|
|
4378
|
-
l: 85,
|
|
4379
|
-
c: 0.07
|
|
4380
|
-
},
|
|
4381
|
-
"7": {
|
|
4382
|
-
l: 80.5,
|
|
4383
|
-
c: 0.08
|
|
4384
|
-
},
|
|
4385
|
-
"8": {
|
|
4386
|
-
l: 74,
|
|
4387
|
-
c: 0.11
|
|
4388
|
-
},
|
|
4389
|
-
"9": {
|
|
4390
|
-
l: 60,
|
|
4391
|
-
c: 0.22
|
|
4392
|
-
},
|
|
4393
|
-
"10": {
|
|
4394
|
-
l: 60.5,
|
|
4395
|
-
c: 0.2
|
|
4396
|
-
},
|
|
4397
|
-
"11": {
|
|
4398
|
-
l: 50,
|
|
4399
|
-
c: 0.19
|
|
4400
|
-
},
|
|
4401
|
-
"12": {
|
|
4402
|
-
l: 25,
|
|
4403
|
-
c: 0.18
|
|
4404
|
-
}
|
|
4405
|
-
},
|
|
4406
|
-
dark: {
|
|
4407
|
-
"1": {
|
|
4408
|
-
l: 19,
|
|
4409
|
-
c: 0.015
|
|
4410
|
-
},
|
|
4411
|
-
"2": {
|
|
4412
|
-
l: 21,
|
|
4413
|
-
c: 0.018
|
|
4414
|
-
},
|
|
4415
|
-
"3": {
|
|
4416
|
-
l: 25.5,
|
|
4417
|
-
c: 0.055
|
|
4418
|
-
},
|
|
4419
|
-
"4": {
|
|
4420
|
-
l: 29.3,
|
|
4421
|
-
c: 0.084
|
|
4422
|
-
},
|
|
4423
|
-
"5": {
|
|
4424
|
-
l: 33.5,
|
|
4425
|
-
c: 0.098
|
|
4426
|
-
},
|
|
4427
|
-
"6": {
|
|
4428
|
-
l: 39.05,
|
|
4429
|
-
c: 0.107
|
|
4430
|
-
},
|
|
4431
|
-
"7": {
|
|
4432
|
-
l: 45,
|
|
4433
|
-
c: 0.11
|
|
4434
|
-
},
|
|
4435
|
-
"8": {
|
|
4436
|
-
l: 55,
|
|
4437
|
-
c: 0.13
|
|
4438
|
-
},
|
|
4439
|
-
"9": {
|
|
4440
|
-
l: 60,
|
|
4441
|
-
c: 0.22
|
|
4442
|
-
},
|
|
4443
|
-
"10": {
|
|
4444
|
-
l: 67,
|
|
4445
|
-
c: 0.18
|
|
4446
|
-
},
|
|
4447
|
-
"11": {
|
|
4448
|
-
l: 79.3,
|
|
4449
|
-
c: 0.12
|
|
4450
|
-
},
|
|
4451
|
-
"12": {
|
|
4452
|
-
l: 95,
|
|
4453
|
-
c: 0.04
|
|
4454
|
-
}
|
|
4455
|
-
}
|
|
4456
|
-
};
|
|
4457
|
-
const getPaletteColor = (hueAngle, chromaMultipler = 1, mode) => (i2) => {
|
|
4458
|
-
const {
|
|
4459
|
-
c: c2,
|
|
4460
|
-
l: l2
|
|
4461
|
-
} = colorPresets[mode][i2];
|
|
4462
|
-
const color = "oklch(" + l2 + "% " + c2 * chromaMultipler + " " + hueAngle + ")";
|
|
4463
|
-
return color;
|
|
4464
|
-
};
|
|
4465
|
-
const generatePalette = (params) => {
|
|
4466
|
-
const getColor = getPaletteColor(params.hue, params.chroma, params.mode);
|
|
4467
|
-
return Object.fromEntries(COLOR_LEVELS.map((level) => [params.prefix + level, extractOklch(getColor(level))]));
|
|
4468
|
-
};
|
|
4469
|
-
const extractOklch = (color) => {
|
|
4470
|
-
return color.replace("oklch(", "").replace(")", "");
|
|
4471
|
-
};
|
|
4472
|
-
const prefixInploi = (v2) => `--i-${v2}`;
|
|
4473
|
-
const prefixVar = (v2) => `var(${prefixInploi(v2)})`;
|
|
4474
|
-
const [black, white] = ["0 0 0", "100 0 0"];
|
|
4475
|
-
const generateColorThemeVars = (theme) => {
|
|
4476
|
-
return {
|
|
4333
|
+
const [black, white] = ["oklch(0 0 0)", "oklch(100 0 0)"];
|
|
4334
|
+
const transparent = "transparent";
|
|
4335
|
+
const tokens = designTokens().core(({
|
|
4336
|
+
theme
|
|
4337
|
+
}) => ({
|
|
4338
|
+
color: {
|
|
4477
4339
|
black,
|
|
4478
4340
|
white,
|
|
4479
4341
|
lowest: theme.mode === "light" ? white : black,
|
|
@@ -4496,12 +4358,14 @@ const generateColorThemeVars = (theme) => {
|
|
|
4496
4358
|
chroma: theme.accent.chroma,
|
|
4497
4359
|
mode: theme.mode
|
|
4498
4360
|
})
|
|
4499
|
-
}
|
|
4500
|
-
}
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4361
|
+
}
|
|
4362
|
+
})).semantic(({
|
|
4363
|
+
core,
|
|
4364
|
+
theme,
|
|
4365
|
+
raw
|
|
4366
|
+
}) => {
|
|
4504
4367
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
4368
|
+
const withOpacity = (token, opacity) => raw.core.color[token].replace(")", ` / ${opacity})`);
|
|
4505
4369
|
const {
|
|
4506
4370
|
typography,
|
|
4507
4371
|
highlights
|
|
@@ -4523,28 +4387,28 @@ const generateTokenVars = (theme, color) => {
|
|
|
4523
4387
|
"weight-job-heading": ((_j = typography.jobHeading) == null ? void 0 : _j.weight) ?? typography.weight ?? "inherit",
|
|
4524
4388
|
"style-input": ((_k = typography.input) == null ? void 0 : _k.style) ?? typography.style ?? "inherit",
|
|
4525
4389
|
"weight-input": ((_l = typography.input) == null ? void 0 : _l.weight) ?? typography.weight ?? "inherit",
|
|
4526
|
-
"app-bg":
|
|
4527
|
-
copy:
|
|
4528
|
-
"copy-lowcontrast":
|
|
4529
|
-
"copy-info":
|
|
4530
|
-
"copy-icon":
|
|
4531
|
-
"copy-accent":
|
|
4532
|
-
"copy-accent-lowcontrast":
|
|
4533
|
-
"copy-accent-icon":
|
|
4534
|
-
"copy-inverted":
|
|
4535
|
-
"copy-inverted-lowcontrast":
|
|
4536
|
-
"copy-inverted-icon":
|
|
4537
|
-
"tag-neutral-weak-bg": highlights === "fill" ?
|
|
4538
|
-
"tag-neutral-weak-copy":
|
|
4539
|
-
"tag-neutral-weak-stroke-color": highlights === "stroke" ?
|
|
4540
|
-
"tag-neutral-strong-bg": highlights === "fill" ?
|
|
4541
|
-
"tag-neutral-strong-copy":
|
|
4542
|
-
"tag-neutral-strong-stroke-color":
|
|
4543
|
-
"tag-monetary-weak-bg":
|
|
4544
|
-
"tag-monetary-weak-copy":
|
|
4545
|
-
"tag-accent-strong-bg":
|
|
4546
|
-
"tag-accent-strong-copy":
|
|
4547
|
-
"tag-accent-strong-stroke-color":
|
|
4390
|
+
"app-bg": core("color.lowest"),
|
|
4391
|
+
copy: highContrast ? core("color.highest") : core("color.n-12"),
|
|
4392
|
+
"copy-lowcontrast": core("color.n-11"),
|
|
4393
|
+
"copy-info": highContrast ? core("color.n-11") : core("color.n-10"),
|
|
4394
|
+
"copy-icon": highContrast ? core("color.n-12") : core("color.n-11"),
|
|
4395
|
+
"copy-accent": highContrast ? core("color.highest") : core("color.a-12"),
|
|
4396
|
+
"copy-accent-lowcontrast": highContrast ? core("color.a-12") : core("color.a-11"),
|
|
4397
|
+
"copy-accent-icon": highContrast ? core("color.a-12") : core("color.a-11"),
|
|
4398
|
+
"copy-inverted": core("color.lowest"),
|
|
4399
|
+
"copy-inverted-lowcontrast": core("color.n-4"),
|
|
4400
|
+
"copy-inverted-icon": core("color.n-3"),
|
|
4401
|
+
"tag-neutral-weak-bg": highlights === "fill" ? core("color.n-2") : transparent,
|
|
4402
|
+
"tag-neutral-weak-copy": core("color.n-12"),
|
|
4403
|
+
"tag-neutral-weak-stroke-color": highlights === "stroke" ? core("color.n-8") : transparent,
|
|
4404
|
+
"tag-neutral-strong-bg": highlights === "fill" ? core("color.n-12") : transparent,
|
|
4405
|
+
"tag-neutral-strong-copy": highlights === "fill" ? core("color.white") : core("color.n-12"),
|
|
4406
|
+
"tag-neutral-strong-stroke-color": withOpacity(highContrast ? "n-12" : "n-4", highlights === "stroke" ? 1 : 0),
|
|
4407
|
+
"tag-monetary-weak-bg": core("color.m-3"),
|
|
4408
|
+
"tag-monetary-weak-copy": core("color.m-11"),
|
|
4409
|
+
"tag-accent-strong-bg": theme.mode === "dark" ? core("color.a-9") : core("color.a-11"),
|
|
4410
|
+
"tag-accent-strong-copy": core("color.white"),
|
|
4411
|
+
"tag-accent-strong-stroke-color": transparent,
|
|
4548
4412
|
"radius-app": match(theme).with({
|
|
4549
4413
|
corners: "rounded"
|
|
4550
4414
|
}, () => "2rem").with({
|
|
@@ -4578,12 +4442,12 @@ const generateTokenVars = (theme, color) => {
|
|
|
4578
4442
|
}, () => "0.25rem").with({
|
|
4579
4443
|
corners: "sharp"
|
|
4580
4444
|
}, () => "0").otherwise(),
|
|
4581
|
-
"interactive-neutral-bg":
|
|
4582
|
-
"interactive-neutral-bg-hover":
|
|
4583
|
-
"interactive-neutral-text":
|
|
4584
|
-
"interactive-accent-bg":
|
|
4585
|
-
"interactive-accent-bg-hover":
|
|
4586
|
-
"interactive-accent-text":
|
|
4445
|
+
"interactive-neutral-bg": withOpacity(highContrast ? "n-5" : "n-4", 0.01),
|
|
4446
|
+
"interactive-neutral-bg-hover": highContrast ? core("color.n-5") : core("color.n-4"),
|
|
4447
|
+
"interactive-neutral-text": core("color.n-12"),
|
|
4448
|
+
"interactive-accent-bg": withOpacity(highlights === "fill" ? "a-4" : "a-3", 0.01),
|
|
4449
|
+
"interactive-accent-bg-hover": highlights === "fill" ? core("color.a-4") : core("color.a-3"),
|
|
4450
|
+
"interactive-accent-text": core("color.a-11"),
|
|
4587
4451
|
"radius-interactive": match(theme).with({
|
|
4588
4452
|
corners: "rounded"
|
|
4589
4453
|
}, () => "1.5rem").with({
|
|
@@ -4591,43 +4455,42 @@ const generateTokenVars = (theme, color) => {
|
|
|
4591
4455
|
}, () => ".5rem").with({
|
|
4592
4456
|
corners: "sharp"
|
|
4593
4457
|
}, () => "0").otherwise(),
|
|
4594
|
-
"section-weak-bg": highlights === "fill" ?
|
|
4595
|
-
"section-strong-bg": highlights === "fill" ? highContrast ?
|
|
4596
|
-
"section-weak-stroke-color": highlights === "fill" ? transparent : highContrast ?
|
|
4597
|
-
"section-strong-stroke-color": highlights === "fill" ? transparent : highContrast ?
|
|
4458
|
+
"section-weak-bg": highlights === "fill" ? core("color.n-2") : transparent,
|
|
4459
|
+
"section-strong-bg": highlights === "fill" ? highContrast ? core("color.n-3") : core("color.n-2") : transparent,
|
|
4460
|
+
"section-weak-stroke-color": highlights === "fill" ? transparent : highContrast ? core("color.n-7") : core("color.n-3"),
|
|
4461
|
+
"section-strong-stroke-color": highlights === "fill" ? transparent : highContrast ? core("color.n-11") : core("color.n-4"),
|
|
4598
4462
|
"section-stroke-width": match(theme).with({
|
|
4599
4463
|
highlights: "stroke",
|
|
4600
4464
|
highcontrast: true
|
|
4601
4465
|
}, () => "1.5px").otherwise(() => "1px"),
|
|
4602
4466
|
"job-card-bg": match(theme).with({
|
|
4603
4467
|
highlights: "fill"
|
|
4604
|
-
}, () =>
|
|
4468
|
+
}, () => core("color.lowest")).otherwise(() => transparent),
|
|
4605
4469
|
"job-card-bg-active": match(theme).with({
|
|
4606
4470
|
highlights: "fill"
|
|
4607
|
-
}, () =>
|
|
4608
|
-
"job-card-stroke-color": highContrast ?
|
|
4609
|
-
"job-card-stroke-color-active":
|
|
4471
|
+
}, () => core("color.lowest")).otherwise(() => transparent),
|
|
4472
|
+
"job-card-stroke-color": highContrast ? core("color.n-10") : core("color.n-4"),
|
|
4473
|
+
"job-card-stroke-color-active": core("color.a-9"),
|
|
4610
4474
|
"job-card-stroke-width": match(theme).with({
|
|
4611
4475
|
highlights: "stroke",
|
|
4612
4476
|
highcontrast: true
|
|
4613
4477
|
}, () => "1.5px").otherwise(() => "1px")
|
|
4614
4478
|
};
|
|
4615
|
-
};
|
|
4479
|
+
}).component(() => ({}));
|
|
4480
|
+
const asInploiVar = asCssVar({
|
|
4481
|
+
prefix: "i-"
|
|
4482
|
+
});
|
|
4616
4483
|
const generateColorThemeCss = (theme) => {
|
|
4617
|
-
const
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
});
|
|
4621
|
-
const tokenCss = Object.entries(generateTokenVars(theme, prefixedVars)).map(([key, value]) => `${prefixInploi(key)}: ${value};`);
|
|
4622
|
-
const colorsCss = Object.entries(generated).map(([key, value]) => {
|
|
4623
|
-
invariant(key);
|
|
4624
|
-
return `${prefixInploi(key)}: ${value};`;
|
|
4484
|
+
const core = tokens.from({
|
|
4485
|
+
theme,
|
|
4486
|
+
getToken: asInploiVar
|
|
4625
4487
|
});
|
|
4488
|
+
const tokenCss = Object.entries(core.declarations).map(([key, value]) => `${key}: ${value};`);
|
|
4626
4489
|
return `#${JOB_SEARCH_SCOPE_ELEMENT_ID} {
|
|
4627
|
-
${
|
|
4490
|
+
${tokenCss.concat(tokenCss).join("\n")}
|
|
4628
4491
|
}`;
|
|
4629
4492
|
};
|
|
4630
|
-
const FILTER_KEYS = ["
|
|
4493
|
+
const FILTER_KEYS = ["company_name", "employment_type", "location_type", "pay_type", "pay_currency", "pay_mask", "pay", "pay_min", "pay_max", "title", "industry", "category", "skills", "town", "city", "country", "contract_type", "pay_display"];
|
|
4631
4494
|
const createJobSearchDomManager = () => {
|
|
4632
4495
|
return {
|
|
4633
4496
|
getRenderTargetElement: () => {
|
|
@@ -4650,7 +4513,7 @@ const jobSearchPlugin = (params) => sdk.createPlugin(({
|
|
|
4650
4513
|
id: "inploi-job-search-theme"
|
|
4651
4514
|
}, generateColorThemeCss(params.theme))];
|
|
4652
4515
|
const App = y$2(ErrorBoundary, {
|
|
4653
|
-
Fallback
|
|
4516
|
+
Fallback: UnstyledErrorView
|
|
4654
4517
|
}, [styleElements, y$2(IconSpritesheet, {
|
|
4655
4518
|
theme: params.theme
|
|
4656
4519
|
}), y$2(JobSearch, {
|
|
@@ -4658,7 +4521,8 @@ const jobSearchPlugin = (params) => sdk.createPlugin(({
|
|
|
4658
4521
|
apiClient,
|
|
4659
4522
|
logger,
|
|
4660
4523
|
analytics,
|
|
4661
|
-
class: ((_a = params.theme.accessibility) == null ? void 0 : _a.reducedMotion) ? "reduced-motion" : void 0
|
|
4524
|
+
class: ((_a = params.theme.accessibility) == null ? void 0 : _a.reducedMotion) ? "reduced-motion" : void 0,
|
|
4525
|
+
jobCardConfig: params.jobCard
|
|
4662
4526
|
})]);
|
|
4663
4527
|
return {
|
|
4664
4528
|
/** Returns a string with the initial rendering state of the UI.
|