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