@next-degree/pickle-shared-js 0.9.7 → 0.10.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{company_service_sanity-BR1XSAj3.d.ts → company_service_sanity-BZtdt7Df.d.ts} +1996 -1996
- package/dist/{company_service_sanity-D9tvlc53.d.cts → company_service_sanity-Bedw6Mhk.d.cts} +1996 -1996
- package/dist/components/jobPost/JobPost.cjs +355 -11
- package/dist/components/jobPost/JobPost.cjs.map +1 -1
- package/dist/components/jobPost/JobPost.d.cts +1 -1
- package/dist/components/jobPost/JobPost.d.ts +1 -1
- package/dist/components/jobPost/JobPost.js +360 -11
- package/dist/components/jobPost/JobPost.js.map +1 -1
- package/dist/components/ui/Button.d.cts +1 -1
- package/dist/components/ui/Button.d.ts +1 -1
- package/dist/components/ui/buttonShadcn.d.cts +1 -1
- package/dist/components/ui/buttonShadcn.d.ts +1 -1
- package/dist/{displayText-BIzvCN9H.d.cts → displayText-4cJ7-3Mw.d.cts} +1 -1
- package/dist/{displayText-BtujjCCA.d.ts → displayText-CBIWVZVw.d.ts} +1 -1
- package/dist/hooks/useDisplayText.d.cts +2 -2
- package/dist/hooks/useDisplayText.d.ts +2 -2
- package/dist/index.cjs +675 -220
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +674 -220
- package/dist/index.js.map +1 -1
- package/dist/{job_posting_service_sanity-J281ln61.d.cts → job_posting_service_sanity-Kcoloigd.d.cts} +1897 -1897
- package/dist/{job_posting_service_sanity-DwNhHT1w.d.ts → job_posting_service_sanity-fAGLW3rj.d.ts} +1897 -1897
- package/dist/lib/locations.d.cts +1 -1
- package/dist/lib/locations.d.ts +1 -1
- package/dist/lib/mappings.d.cts +2 -2
- package/dist/lib/mappings.d.ts +2 -2
- package/dist/lib/salaryRange.cjs +355 -11
- package/dist/lib/salaryRange.cjs.map +1 -1
- package/dist/lib/salaryRange.d.cts +2 -1
- package/dist/lib/salaryRange.d.ts +2 -1
- package/dist/lib/salaryRange.js +361 -11
- package/dist/lib/salaryRange.js.map +1 -1
- package/dist/services/displayText.d.cts +2 -2
- package/dist/services/displayText.d.ts +2 -2
- package/dist/types/data/job_posting_service_latest.d.cts +1 -1
- package/dist/types/data/job_posting_service_latest.d.ts +1 -1
- package/dist/types/index.d.cts +5 -5
- package/dist/types/index.d.ts +5 -5
- package/dist/types/latest/company_service_latest.d.cts +1 -1
- package/dist/types/latest/company_service_latest.d.ts +1 -1
- package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
- package/dist/types/latest/custom/custom_sanity_models.d.cts +2 -2
- package/dist/types/latest/custom/custom_sanity_models.d.ts +2 -2
- package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
- package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
- package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
- package/package.json +1 -1
- package/dist/{company_service_latest-CWBnweTJ.d.cts → company_service_latest-BmiEQ4dO.d.cts} +1060 -1060
- package/dist/{company_service_latest-CWBnweTJ.d.ts → company_service_latest-BmiEQ4dO.d.ts} +1060 -1060
- package/dist/{job_posting_service_latest-duSSyFvo.d.cts → job_posting_service_latest-DOGQ9tEu.d.cts} +1 -1
- package/dist/{job_posting_service_latest-duSSyFvo.d.ts → job_posting_service_latest-DOGQ9tEu.d.ts} +1 -1
- package/dist/{job_posting_service_latest-DSpkRuDi.d.ts → job_posting_service_latest-DdsTbMSJ.d.cts} +1030 -1030
- package/dist/{job_posting_service_latest-DSpkRuDi.d.cts → job_posting_service_latest-DdsTbMSJ.d.ts} +1030 -1030
- package/dist/{shared_pickle_output_latest-CJb9E6oz.d.cts → shared_pickle_output_latest--XZhOUyE.d.cts} +38 -38
- package/dist/{shared_pickle_output_latest-CJb9E6oz.d.ts → shared_pickle_output_latest--XZhOUyE.d.ts} +38 -38
package/dist/index.cjs
CHANGED
|
@@ -39,7 +39,7 @@ __export(index_exports, {
|
|
|
39
39
|
Combobox: () => Combobox,
|
|
40
40
|
CompanyBenefits: () => CompanyBenefits,
|
|
41
41
|
CompanyInformation: () => CompanyInformation,
|
|
42
|
-
CompanyService: () =>
|
|
42
|
+
CompanyService: () => company_service_latest_exports2,
|
|
43
43
|
CompanyTake: () => CompanyTake,
|
|
44
44
|
Counter: () => Counter,
|
|
45
45
|
DatePicker: () => DatePicker,
|
|
@@ -49,7 +49,7 @@ __export(index_exports, {
|
|
|
49
49
|
JobDescription: () => JobDescription,
|
|
50
50
|
JobHeader: () => JobHeader,
|
|
51
51
|
JobPost: () => JobPost,
|
|
52
|
-
JobPostService: () =>
|
|
52
|
+
JobPostService: () => job_posting_service_latest_exports2,
|
|
53
53
|
Label: () => Label_default,
|
|
54
54
|
LinkButton: () => LinkButton,
|
|
55
55
|
ListItem: () => ListItem_default,
|
|
@@ -58,7 +58,8 @@ __export(index_exports, {
|
|
|
58
58
|
Radio: () => Radio,
|
|
59
59
|
ReadMore: () => ReadMore,
|
|
60
60
|
Select: () => Select_default,
|
|
61
|
-
SharedService: () =>
|
|
61
|
+
SharedService: () => shared_pickle_output_latest_exports2,
|
|
62
|
+
StepTabs: () => StepTabs,
|
|
62
63
|
Switch: () => Switch,
|
|
63
64
|
WindowHistoryProvider: () => WindowHistoryProvider,
|
|
64
65
|
cn: () => cn,
|
|
@@ -2013,18 +2014,62 @@ var datePickerStyle = (0, import_cva9.cva)([
|
|
|
2013
2014
|
"font-normal"
|
|
2014
2015
|
]);
|
|
2015
2016
|
|
|
2016
|
-
// src/components/
|
|
2017
|
+
// src/components/ui/StepTabs.tsx
|
|
2018
|
+
var Tabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
2017
2019
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2020
|
+
function StepTabs({
|
|
2021
|
+
list,
|
|
2022
|
+
currentStep,
|
|
2023
|
+
setCurrentStep,
|
|
2024
|
+
children,
|
|
2025
|
+
className,
|
|
2026
|
+
defaultValue,
|
|
2027
|
+
...props
|
|
2028
|
+
}) {
|
|
2029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2030
|
+
Tabs.Root,
|
|
2031
|
+
{
|
|
2032
|
+
value: currentStep,
|
|
2033
|
+
onValueChange: setCurrentStep,
|
|
2034
|
+
defaultValue: defaultValue ?? "0",
|
|
2035
|
+
className: cn("flex flex-col rounded-lg border shadow-sm", className),
|
|
2036
|
+
...props,
|
|
2037
|
+
children: [
|
|
2038
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tabs.List, { className: "flex shrink-0 border-b border-grey-20", children: children.length > 1 && list.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2039
|
+
Tabs.Trigger,
|
|
2040
|
+
{
|
|
2041
|
+
className: "flex h-[45px] flex-1 cursor-default select-none items-center justify-center bg-white px-5 text-[15px] leading-none text-gray-800 outline-none first:rounded-tl-md last:rounded-tr-md hover:text-purple-100 data-[state=active]:text-purple-100 data-[state=active]:shadow-[inset_0_-1px_0_0,0_1px_0_0] data-[state=active]:shadow-current data-[state=active]:focus:relative data-[state=active]:focus:shadow-[0_0_0_2px] data-[state=active]:focus:shadow-black",
|
|
2042
|
+
value: index.toString(),
|
|
2043
|
+
children: item
|
|
2044
|
+
},
|
|
2045
|
+
`${item}-${index}`
|
|
2046
|
+
)) }),
|
|
2047
|
+
children.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2048
|
+
Tabs.Content,
|
|
2049
|
+
{
|
|
2050
|
+
className: "grow rounded-b-md bg-white p-5 outline-none",
|
|
2051
|
+
value: index.toString(),
|
|
2052
|
+
children: child
|
|
2053
|
+
},
|
|
2054
|
+
index
|
|
2055
|
+
))
|
|
2056
|
+
]
|
|
2057
|
+
}
|
|
2058
|
+
);
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
// src/components/company/CompanyBenefits.tsx
|
|
2062
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2018
2063
|
function CompanyBenefits({ benefits }) {
|
|
2019
2064
|
if (!benefits) return null;
|
|
2020
|
-
return /* @__PURE__ */ (0,
|
|
2021
|
-
/* @__PURE__ */ (0,
|
|
2022
|
-
/* @__PURE__ */ (0,
|
|
2065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
|
|
2066
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("h2", { className: "break-word max-w-full text-xl font-bold text-black sm:max-w-2xl md:max-w-lg", children: "Company benefits" }),
|
|
2067
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("ul", { className: "flex flex-col gap-3", children: benefits.map((benefit, i) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { className: "text-base text-grey-80", children: benefit }, `${benefit}-${i}`)) })
|
|
2023
2068
|
] });
|
|
2024
2069
|
}
|
|
2025
2070
|
|
|
2026
2071
|
// src/components/company/CompanyInformation.tsx
|
|
2027
|
-
var
|
|
2072
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2028
2073
|
function CompanyInformation({
|
|
2029
2074
|
name,
|
|
2030
2075
|
how,
|
|
@@ -2032,8 +2077,8 @@ function CompanyInformation({
|
|
|
2032
2077
|
wow,
|
|
2033
2078
|
website
|
|
2034
2079
|
}) {
|
|
2035
|
-
return /* @__PURE__ */ (0,
|
|
2036
|
-
/* @__PURE__ */ (0,
|
|
2080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
2081
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2037
2082
|
"h2",
|
|
2038
2083
|
{
|
|
2039
2084
|
"data-testid": "company-name",
|
|
@@ -2044,22 +2089,22 @@ function CompanyInformation({
|
|
|
2044
2089
|
]
|
|
2045
2090
|
}
|
|
2046
2091
|
),
|
|
2047
|
-
how && /* @__PURE__ */ (0,
|
|
2048
|
-
mission && /* @__PURE__ */ (0,
|
|
2049
|
-
/* @__PURE__ */ (0,
|
|
2050
|
-
/* @__PURE__ */ (0,
|
|
2051
|
-
/* @__PURE__ */ (0,
|
|
2092
|
+
how && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
|
|
2093
|
+
mission && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex gap-2", children: [
|
|
2094
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { children: "\u{1F680}" }),
|
|
2095
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("p", { className: "text-base text-grey-80", children: [
|
|
2096
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "pr-1 font-bold", children: "Mission" }),
|
|
2052
2097
|
mission
|
|
2053
2098
|
] })
|
|
2054
2099
|
] }),
|
|
2055
|
-
wow && /* @__PURE__ */ (0,
|
|
2056
|
-
/* @__PURE__ */ (0,
|
|
2057
|
-
/* @__PURE__ */ (0,
|
|
2058
|
-
/* @__PURE__ */ (0,
|
|
2100
|
+
wow && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex gap-2", children: [
|
|
2101
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { children: "\u{1F31F}" }),
|
|
2102
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("p", { className: "text-base text-grey-80", children: [
|
|
2103
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
|
|
2059
2104
|
wow
|
|
2060
2105
|
] })
|
|
2061
2106
|
] }),
|
|
2062
|
-
website && /* @__PURE__ */ (0,
|
|
2107
|
+
website && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2063
2108
|
LinkButton,
|
|
2064
2109
|
{
|
|
2065
2110
|
"data-testid": "company-website-link",
|
|
@@ -2073,22 +2118,22 @@ function CompanyInformation({
|
|
|
2073
2118
|
}
|
|
2074
2119
|
|
|
2075
2120
|
// src/components/company/CompanyTake.tsx
|
|
2076
|
-
var
|
|
2121
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2077
2122
|
function CompanyTake({ content, avatarSrc }) {
|
|
2078
2123
|
if (!content) return null;
|
|
2079
|
-
return /* @__PURE__ */ (0,
|
|
2124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2080
2125
|
"div",
|
|
2081
2126
|
{
|
|
2082
2127
|
"data-testid": "company-take",
|
|
2083
2128
|
className: "align-center w-full justify-start rounded-2xl bg-green-90 p-6",
|
|
2084
2129
|
children: [
|
|
2085
|
-
/* @__PURE__ */ (0,
|
|
2086
|
-
/* @__PURE__ */ (0,
|
|
2087
|
-
/* @__PURE__ */ (0,
|
|
2088
|
-
/* @__PURE__ */ (0,
|
|
2089
|
-
/* @__PURE__ */ (0,
|
|
2090
|
-
/* @__PURE__ */ (0,
|
|
2091
|
-
/* @__PURE__ */ (0,
|
|
2130
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
|
|
2131
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "mt-2 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-sm font-normal text-grey-10", children: content }) }),
|
|
2132
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "mt-8 flex w-full items-center gap-3", children: [
|
|
2133
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Avatar, { name: "Jon Lee", src: avatarSrc }),
|
|
2134
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col flex-wrap items-start", children: [
|
|
2135
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
|
|
2136
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
|
|
2092
2137
|
] })
|
|
2093
2138
|
] })
|
|
2094
2139
|
]
|
|
@@ -2097,12 +2142,12 @@ function CompanyTake({ content, avatarSrc }) {
|
|
|
2097
2142
|
}
|
|
2098
2143
|
|
|
2099
2144
|
// src/components/jobPost/JobDescription.tsx
|
|
2100
|
-
var
|
|
2145
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2101
2146
|
function JobDescription({ description }) {
|
|
2102
2147
|
if (!description) return null;
|
|
2103
|
-
return /* @__PURE__ */ (0,
|
|
2104
|
-
/* @__PURE__ */ (0,
|
|
2105
|
-
/* @__PURE__ */ (0,
|
|
2148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex w-full flex-col gap-2", children: [
|
|
2149
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h3", { className: "text-xl font-bold", children: "Job Description" }),
|
|
2150
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ReadMore, { text: description })
|
|
2106
2151
|
] });
|
|
2107
2152
|
}
|
|
2108
2153
|
|
|
@@ -2120,7 +2165,7 @@ var import_react16 = require("react");
|
|
|
2120
2165
|
// src/contexts/WindowHistoryProvider.tsx
|
|
2121
2166
|
var import_navigation = require("next/navigation");
|
|
2122
2167
|
var import_react15 = require("react");
|
|
2123
|
-
var
|
|
2168
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2124
2169
|
var WindowHistoryContext = (0, import_react15.createContext)({});
|
|
2125
2170
|
function WindowHistoryProvider({ children }) {
|
|
2126
2171
|
const [history, setHistory] = (0, import_react15.useState)([]);
|
|
@@ -2131,7 +2176,7 @@ function WindowHistoryProvider({ children }) {
|
|
|
2131
2176
|
);
|
|
2132
2177
|
}, [searchParams]);
|
|
2133
2178
|
const contextValue = (0, import_react15.useMemo)(() => ({ history }), [history]);
|
|
2134
|
-
return /* @__PURE__ */ (0,
|
|
2179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
|
|
2135
2180
|
}
|
|
2136
2181
|
|
|
2137
2182
|
// src/hooks/useWindowHistory.ts
|
|
@@ -2141,7 +2186,7 @@ function useWindowHistory() {
|
|
|
2141
2186
|
}
|
|
2142
2187
|
|
|
2143
2188
|
// src/components/buttons/BackButton.tsx
|
|
2144
|
-
var
|
|
2189
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2145
2190
|
function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
2146
2191
|
const { history } = useWindowHistory();
|
|
2147
2192
|
const router = (0, import_navigation2.useRouter)();
|
|
@@ -2154,7 +2199,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
|
2154
2199
|
router.push(fallbackHref ?? "/");
|
|
2155
2200
|
}
|
|
2156
2201
|
};
|
|
2157
|
-
return /* @__PURE__ */ (0,
|
|
2202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2158
2203
|
Icon,
|
|
2159
2204
|
{
|
|
2160
2205
|
"aria-label": "back button",
|
|
@@ -2163,7 +2208,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
|
2163
2208
|
onClick: goBack,
|
|
2164
2209
|
className,
|
|
2165
2210
|
...props,
|
|
2166
|
-
children: /* @__PURE__ */ (0,
|
|
2211
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react15.X, {})
|
|
2167
2212
|
}
|
|
2168
2213
|
);
|
|
2169
2214
|
}
|
|
@@ -2194,7 +2239,7 @@ var iconMap = {
|
|
|
2194
2239
|
};
|
|
2195
2240
|
|
|
2196
2241
|
// src/components/jobPost/JobHeader.tsx
|
|
2197
|
-
var
|
|
2242
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2198
2243
|
function JobHeader({
|
|
2199
2244
|
title,
|
|
2200
2245
|
subtitles,
|
|
@@ -2210,9 +2255,9 @@ function JobHeader({
|
|
|
2210
2255
|
}) {
|
|
2211
2256
|
const renderIcon = (icon) => {
|
|
2212
2257
|
const Icon2 = iconMap[icon];
|
|
2213
|
-
return /* @__PURE__ */ (0,
|
|
2258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Icon2, { size: 18 });
|
|
2214
2259
|
};
|
|
2215
|
-
return /* @__PURE__ */ (0,
|
|
2260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2216
2261
|
"div",
|
|
2217
2262
|
{
|
|
2218
2263
|
"data-testid": "job-header-root",
|
|
@@ -2221,8 +2266,8 @@ function JobHeader({
|
|
|
2221
2266
|
!standalone && "rounded-3xl"
|
|
2222
2267
|
),
|
|
2223
2268
|
children: [
|
|
2224
|
-
!standalone && /* @__PURE__ */ (0,
|
|
2225
|
-
/* @__PURE__ */ (0,
|
|
2269
|
+
!standalone && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "relative flex min-h-16 w-full items-center rounded-t-3xl bg-transparent md:min-h-24 md:flex-row lg:min-h-32", children: [
|
|
2270
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2226
2271
|
import_image.default,
|
|
2227
2272
|
{
|
|
2228
2273
|
className: "h-full w-full rounded-t-3xl object-cover",
|
|
@@ -2231,7 +2276,7 @@ function JobHeader({
|
|
|
2231
2276
|
fill: true
|
|
2232
2277
|
}
|
|
2233
2278
|
),
|
|
2234
|
-
/* @__PURE__ */ (0,
|
|
2279
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2235
2280
|
BackButton,
|
|
2236
2281
|
{
|
|
2237
2282
|
acceptedRoutes: backAcceptedRoutes,
|
|
@@ -2240,12 +2285,12 @@ function JobHeader({
|
|
|
2240
2285
|
"data-testid": "job-header-back-button"
|
|
2241
2286
|
}
|
|
2242
2287
|
),
|
|
2243
|
-
/* @__PURE__ */ (0,
|
|
2288
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2244
2289
|
"div",
|
|
2245
2290
|
{
|
|
2246
2291
|
className: "absolute left-4 top-8 md:left-6 md:top-16 lg:top-24",
|
|
2247
2292
|
"data-testid": "job-header-avatar",
|
|
2248
|
-
children: /* @__PURE__ */ (0,
|
|
2293
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2249
2294
|
Avatar,
|
|
2250
2295
|
{
|
|
2251
2296
|
size: "large",
|
|
@@ -2259,9 +2304,9 @@ function JobHeader({
|
|
|
2259
2304
|
}
|
|
2260
2305
|
)
|
|
2261
2306
|
] }),
|
|
2262
|
-
/* @__PURE__ */ (0,
|
|
2263
|
-
/* @__PURE__ */ (0,
|
|
2264
|
-
standalone && /* @__PURE__ */ (0,
|
|
2307
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
|
|
2308
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col md:flex-row", children: [
|
|
2309
|
+
standalone && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "-mt-4 mr-4 md:mt-0", "data-testid": "job-header-avatar", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2265
2310
|
Avatar,
|
|
2266
2311
|
{
|
|
2267
2312
|
size: "large",
|
|
@@ -2272,26 +2317,26 @@ function JobHeader({
|
|
|
2272
2317
|
rel: "noopener noreferrer"
|
|
2273
2318
|
}
|
|
2274
2319
|
) }),
|
|
2275
|
-
/* @__PURE__ */ (0,
|
|
2320
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg", children: subtitles?.map((subtitle, i) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2276
2321
|
"div",
|
|
2277
2322
|
{
|
|
2278
2323
|
"data-testid": `job-header-subtitle-${i}`,
|
|
2279
2324
|
className: "flex items-center",
|
|
2280
2325
|
children: [
|
|
2281
2326
|
subtitle,
|
|
2282
|
-
i < subtitles.length - 1 && /* @__PURE__ */ (0,
|
|
2327
|
+
i < subtitles.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react17.Dot, { className: "mx-1 shrink-0", size: 10 })
|
|
2283
2328
|
]
|
|
2284
2329
|
},
|
|
2285
2330
|
subtitle
|
|
2286
2331
|
)) })
|
|
2287
2332
|
] }),
|
|
2288
|
-
/* @__PURE__ */ (0,
|
|
2333
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2289
2334
|
"div",
|
|
2290
2335
|
{
|
|
2291
2336
|
"data-testid": "job-header-content",
|
|
2292
2337
|
className: "mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1",
|
|
2293
2338
|
children: [
|
|
2294
|
-
/* @__PURE__ */ (0,
|
|
2339
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2295
2340
|
"h2",
|
|
2296
2341
|
{
|
|
2297
2342
|
"data-testid": "job-header-title",
|
|
@@ -2299,7 +2344,7 @@ function JobHeader({
|
|
|
2299
2344
|
children: title
|
|
2300
2345
|
}
|
|
2301
2346
|
),
|
|
2302
|
-
!!actions && /* @__PURE__ */ (0,
|
|
2347
|
+
!!actions && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2303
2348
|
"div",
|
|
2304
2349
|
{
|
|
2305
2350
|
className: "flex w-full justify-end gap-2 md:w-auto",
|
|
@@ -2310,12 +2355,12 @@ function JobHeader({
|
|
|
2310
2355
|
]
|
|
2311
2356
|
}
|
|
2312
2357
|
),
|
|
2313
|
-
/* @__PURE__ */ (0,
|
|
2358
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2314
2359
|
"div",
|
|
2315
2360
|
{
|
|
2316
2361
|
"data-testid": "job-header-tags",
|
|
2317
2362
|
className: "flex flex-row flex-wrap items-center justify-start gap-2",
|
|
2318
|
-
children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0,
|
|
2363
|
+
children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2319
2364
|
Chip_default,
|
|
2320
2365
|
{
|
|
2321
2366
|
size: "small",
|
|
@@ -2324,7 +2369,7 @@ function JobHeader({
|
|
|
2324
2369
|
"data-testid": `job-header-tag-${name}`,
|
|
2325
2370
|
children: [
|
|
2326
2371
|
renderIcon(icon),
|
|
2327
|
-
/* @__PURE__ */ (0,
|
|
2372
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: label })
|
|
2328
2373
|
]
|
|
2329
2374
|
},
|
|
2330
2375
|
name
|
|
@@ -2829,7 +2874,10 @@ function formattedJobLocation(job) {
|
|
|
2829
2874
|
return [address, remote].filter(Boolean).join(" | ");
|
|
2830
2875
|
}
|
|
2831
2876
|
|
|
2832
|
-
// src/types/
|
|
2877
|
+
// src/types/latest/company_service_latest.ts
|
|
2878
|
+
var import_zod2 = require("zod");
|
|
2879
|
+
|
|
2880
|
+
// src/types/latest/shared_pickle_output_latest.ts
|
|
2833
2881
|
var shared_pickle_output_latest_exports = {};
|
|
2834
2882
|
__export(shared_pickle_output_latest_exports, {
|
|
2835
2883
|
CurrencyEnum: () => CurrencyEnum,
|
|
@@ -2905,150 +2953,7 @@ var imageSchema = import_zod.z.object({
|
|
|
2905
2953
|
asset: import_zod.z.optional(imageAssetSchema).describe("The asset for the image")
|
|
2906
2954
|
});
|
|
2907
2955
|
|
|
2908
|
-
// src/
|
|
2909
|
-
function salaryRange(salary) {
|
|
2910
|
-
if (!salary) return null;
|
|
2911
|
-
const min = salary.minValue;
|
|
2912
|
-
const max = salary.maxValue;
|
|
2913
|
-
const single = salary.singleValue;
|
|
2914
|
-
const signs = {
|
|
2915
|
-
[CurrencyEnum.Values.USD]: "$",
|
|
2916
|
-
[CurrencyEnum.Values.GBP]: "\xA3",
|
|
2917
|
-
[CurrencyEnum.Values.EUR]: "\u20AC"
|
|
2918
|
-
};
|
|
2919
|
-
const sign = signs[salary.currency ?? CurrencyEnum.Values.USD];
|
|
2920
|
-
if (min == null && max == null && single == null) return null;
|
|
2921
|
-
if (single != null) return sign + single.toLocaleString();
|
|
2922
|
-
if (min === max) return sign + min?.toLocaleString();
|
|
2923
|
-
if (min != null && max != null)
|
|
2924
|
-
return sign + min?.toLocaleString() + " - " + sign + max?.toLocaleString();
|
|
2925
|
-
return null;
|
|
2926
|
-
}
|
|
2927
|
-
|
|
2928
|
-
// src/components/jobPost/JobPost.tsx
|
|
2929
|
-
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2930
|
-
function JobPost({
|
|
2931
|
-
job,
|
|
2932
|
-
bannerSrc,
|
|
2933
|
-
avatarSrc,
|
|
2934
|
-
standalone,
|
|
2935
|
-
avatarHref,
|
|
2936
|
-
fallbackHref,
|
|
2937
|
-
backAcceptedRoutes,
|
|
2938
|
-
actions
|
|
2939
|
-
}) {
|
|
2940
|
-
const formattedEmploymentType = useDisplayText("employmentType", job.employmentType);
|
|
2941
|
-
const formattedEmploymentLevel = useDisplayText("employmentLevel", job.employmentLevel);
|
|
2942
|
-
const formattedJobFunction = useDisplayText("jobFunction", job.jobFunction);
|
|
2943
|
-
const formattedLocation = formattedJobLocation(job);
|
|
2944
|
-
const formattedSalary = salaryRange(job.estimatedSalary);
|
|
2945
|
-
const formattedDate = DateFns.formatDistanceToNow(new Date(job.datePosted), {
|
|
2946
|
-
addSuffix: true
|
|
2947
|
-
});
|
|
2948
|
-
const tags = [
|
|
2949
|
-
!!formattedSalary && {
|
|
2950
|
-
icon: "banknote",
|
|
2951
|
-
name: "salary",
|
|
2952
|
-
label: `${formattedSalary} a year`
|
|
2953
|
-
},
|
|
2954
|
-
!!formattedEmploymentType && {
|
|
2955
|
-
icon: "briefcase-business",
|
|
2956
|
-
name: "employmentType",
|
|
2957
|
-
label: formattedEmploymentType
|
|
2958
|
-
},
|
|
2959
|
-
!!formattedEmploymentLevel && {
|
|
2960
|
-
icon: "circle-user",
|
|
2961
|
-
name: "level",
|
|
2962
|
-
label: formattedEmploymentLevel
|
|
2963
|
-
},
|
|
2964
|
-
!!formattedJobFunction && {
|
|
2965
|
-
icon: "briefcase-business",
|
|
2966
|
-
name: "jobFunction",
|
|
2967
|
-
label: formattedJobFunction
|
|
2968
|
-
},
|
|
2969
|
-
!!formattedLocation && {
|
|
2970
|
-
icon: "map-pin",
|
|
2971
|
-
name: "location",
|
|
2972
|
-
label: formattedLocation
|
|
2973
|
-
}
|
|
2974
|
-
].filter((t) => !!t);
|
|
2975
|
-
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2976
|
-
"div",
|
|
2977
|
-
{
|
|
2978
|
-
className: cn(
|
|
2979
|
-
"flex flex-col gap-10 pb-4",
|
|
2980
|
-
!standalone && "border-1 rounded-3xl border-grey-5"
|
|
2981
|
-
),
|
|
2982
|
-
children: [
|
|
2983
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2984
|
-
JobHeader,
|
|
2985
|
-
{
|
|
2986
|
-
title: job.title,
|
|
2987
|
-
bannerSrc,
|
|
2988
|
-
avatarName: job.hiringOrganization?.companyName,
|
|
2989
|
-
avatarSrc: job.hiringOrganization?.logo?.asset?.url,
|
|
2990
|
-
subtitles: [job.hiringOrganization?.companyName ?? "", `Posted ${formattedDate}`],
|
|
2991
|
-
actions,
|
|
2992
|
-
standalone,
|
|
2993
|
-
avatarHref,
|
|
2994
|
-
backFallbackHref: fallbackHref,
|
|
2995
|
-
backAcceptedRoutes,
|
|
2996
|
-
tags
|
|
2997
|
-
}
|
|
2998
|
-
),
|
|
2999
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
|
|
3000
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(JobDescription, { description: job.description }),
|
|
3001
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3002
|
-
CompanyTake,
|
|
3003
|
-
{
|
|
3004
|
-
avatarSrc,
|
|
3005
|
-
content: job.hiringOrganization?.companyNDG?.companyNDGTake
|
|
3006
|
-
}
|
|
3007
|
-
),
|
|
3008
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3009
|
-
CompanyInformation,
|
|
3010
|
-
{
|
|
3011
|
-
name: job.hiringOrganization?.companyName ?? "",
|
|
3012
|
-
how: job.hiringOrganization?.companyPhilosophy?.companyHow,
|
|
3013
|
-
mission: job.hiringOrganization?.companyPhilosophy?.companyMission,
|
|
3014
|
-
wow: job.hiringOrganization?.companyNDG?.companyWow,
|
|
3015
|
-
website: job.hiringOrganization?.companyWebsite
|
|
3016
|
-
}
|
|
3017
|
-
),
|
|
3018
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3019
|
-
CompanyBenefits,
|
|
3020
|
-
{
|
|
3021
|
-
benefits: job.hiringOrganization?.companyCareers?.companyBenefits?.map((b) => b.title).filter((d) => d !== void 0)
|
|
3022
|
-
}
|
|
3023
|
-
)
|
|
3024
|
-
] })
|
|
3025
|
-
]
|
|
3026
|
-
}
|
|
3027
|
-
);
|
|
3028
|
-
}
|
|
3029
|
-
|
|
3030
|
-
// src/types/data/company_service_latest.ts
|
|
3031
|
-
var company_service_latest_exports = {};
|
|
3032
|
-
__export(company_service_latest_exports, {
|
|
3033
|
-
CategoryEnum: () => CategoryEnum,
|
|
3034
|
-
OfficeTypeEnum: () => OfficeTypeEnum,
|
|
3035
|
-
PublishStatusEnum: () => PublishStatusEnum,
|
|
3036
|
-
TitleEnum: () => TitleEnum,
|
|
3037
|
-
TypeEnum: () => TypeEnum2,
|
|
3038
|
-
companyBenefitsSchema: () => companyBenefitsSchema,
|
|
3039
|
-
companyCareersSchema: () => companyCareersSchema,
|
|
3040
|
-
companyNdgSchema: () => companyNdgSchema,
|
|
3041
|
-
companyPhilosophySchema: () => companyPhilosophySchema,
|
|
3042
|
-
companySchema: () => companySchema,
|
|
3043
|
-
foundingInformationSchema: () => foundingInformationSchema,
|
|
3044
|
-
industrySchema: () => industrySchema,
|
|
3045
|
-
jobBoardSchema: () => jobBoardSchema,
|
|
3046
|
-
ngdMetadataSchema: () => ngdMetadataSchema,
|
|
3047
|
-
officeSchema: () => officeSchema,
|
|
3048
|
-
personSchema: () => personSchema,
|
|
3049
|
-
socialMediaSchema: () => socialMediaSchema
|
|
3050
|
-
});
|
|
3051
|
-
var import_zod2 = require("zod");
|
|
2956
|
+
// src/types/latest/company_service_latest.ts
|
|
3052
2957
|
var TypeEnum2 = import_zod2.z.enum(["OFFICE"]);
|
|
3053
2958
|
var CategoryEnum = import_zod2.z.enum(["FINANCIAL", "HEALTH", "PROFESSIONAL_DEVELOPMENT", "WORK_LIFE_BALANCE"]);
|
|
3054
2959
|
var TitleEnum = import_zod2.z.enum(["DMD", "JD", "MBA", "MD", "MHA", "MPH", "PT", "PH_D", "RN"]);
|
|
@@ -3119,7 +3024,7 @@ var companyNdgSchema = import_zod2.z.object({
|
|
|
3119
3024
|
version: import_zod2.z.literal("1.0.0").default("1.0.0"),
|
|
3120
3025
|
type: import_zod2.z.string().describe("Document type used for schema"),
|
|
3121
3026
|
companyWow: import_zod2.z.optional(import_zod2.z.string()).describe("What is the wow of this company?"),
|
|
3122
|
-
|
|
3027
|
+
companyNdgTake: import_zod2.z.optional(import_zod2.z.string()).describe("What is the NDG POV on this company?"),
|
|
3123
3028
|
companyBestFit: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string())),
|
|
3124
3029
|
companyInterests: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string()))
|
|
3125
3030
|
});
|
|
@@ -3155,7 +3060,7 @@ var companySchema = import_zod2.z.object({
|
|
|
3155
3060
|
brandColor: import_zod2.z.optional(import_zod2.z.string()).describe("The brand color of the company"),
|
|
3156
3061
|
companyCareers: import_zod2.z.optional(companyCareersSchema).describe("Career Specific Information for the company."),
|
|
3157
3062
|
companyPhilosophy: import_zod2.z.optional(companyPhilosophySchema).describe("Company mission,values and how the company achieves its mission."),
|
|
3158
|
-
|
|
3063
|
+
companyNdg: import_zod2.z.optional(companyNdgSchema).describe("Next Degree specific information for the company."),
|
|
3159
3064
|
foundingInfo: import_zod2.z.optional(foundingInformationSchema),
|
|
3160
3065
|
headquartersLocation: import_zod2.z.optional(placeSchema),
|
|
3161
3066
|
employeeEstimate: import_zod2.z.optional(import_zod2.z.string()),
|
|
@@ -3173,22 +3078,7 @@ var officeSchema = import_zod2.z.object({
|
|
|
3173
3078
|
updatedAt: import_zod2.z.optional(import_zod2.z.string())
|
|
3174
3079
|
});
|
|
3175
3080
|
|
|
3176
|
-
// src/types/
|
|
3177
|
-
var job_posting_service_latest_exports = {};
|
|
3178
|
-
__export(job_posting_service_latest_exports, {
|
|
3179
|
-
BestFitEnum: () => BestFitEnum,
|
|
3180
|
-
ClinicalLicenseEnum: () => ClinicalLicenseEnum,
|
|
3181
|
-
ClinicalSettingEnum: () => ClinicalSettingEnum,
|
|
3182
|
-
ClinicalSpecialtyEnum: () => ClinicalSpecialtyEnum,
|
|
3183
|
-
EmploymentLevelEnum: () => EmploymentLevelEnum,
|
|
3184
|
-
EmploymentTypeEnum: () => EmploymentTypeEnum,
|
|
3185
|
-
JobFunctionEnum: () => JobFunctionEnum,
|
|
3186
|
-
JobLocationTypeEnum: () => JobLocationTypeEnum,
|
|
3187
|
-
PublishStatusEnum: () => PublishStatusEnum2,
|
|
3188
|
-
ShiftEnum: () => ShiftEnum,
|
|
3189
|
-
TypeEnum: () => TypeEnum3,
|
|
3190
|
-
jobPostSchema: () => jobPostSchema
|
|
3191
|
-
});
|
|
3081
|
+
// src/types/latest/job_posting_service_latest.ts
|
|
3192
3082
|
var import_zod3 = require("zod");
|
|
3193
3083
|
var TypeEnum3 = import_zod3.z.enum(["JOB_POST"]);
|
|
3194
3084
|
var JobLocationTypeEnum = import_zod3.z.enum(["FLOAT", "HYBRID", "ONSITE", "REMOTE"]);
|
|
@@ -3237,6 +3127,570 @@ var jobPostSchema = import_zod3.z.object({
|
|
|
3237
3127
|
applicantLocationRequirements: import_zod3.z.optional(import_zod3.z.array(placeSchema)).describe("The geographic location(s) in which employees may be located for to be eligible for the job. The job description must clearly state that the applicant may be located in certain geographical location(s). This property is required if applicants may be located in one or more geographic locations and the job is 100% remote."),
|
|
3238
3128
|
hiringOrganization: import_zod3.z.optional(companySchema).describe("The organization that is hiring for the role")
|
|
3239
3129
|
});
|
|
3130
|
+
|
|
3131
|
+
// src/types/latest/custom/company_service_sanity.ts
|
|
3132
|
+
var import_zod5 = require("zod");
|
|
3133
|
+
|
|
3134
|
+
// src/types/latest/custom/custom_sanity_models.ts
|
|
3135
|
+
var import_zod4 = require("zod");
|
|
3136
|
+
var sanityReferenceSchema = import_zod4.z.object({
|
|
3137
|
+
_ref: import_zod4.z.string(),
|
|
3138
|
+
_type: import_zod4.z.string(),
|
|
3139
|
+
_key: import_zod4.z.optional(import_zod4.z.string())
|
|
3140
|
+
});
|
|
3141
|
+
var sanitySlugSchema = import_zod4.z.object({
|
|
3142
|
+
current: import_zod4.z.string(),
|
|
3143
|
+
_type: import_zod4.z.string(),
|
|
3144
|
+
_key: import_zod4.z.optional(import_zod4.z.string())
|
|
3145
|
+
});
|
|
3146
|
+
|
|
3147
|
+
// src/types/latest/custom/company_service_sanity.ts
|
|
3148
|
+
var foundingInformationSchema2 = foundingInformationSchema.extend({
|
|
3149
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("companyFounding"),
|
|
3150
|
+
founders: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(personSchema), import_zod5.z.array(sanityReferenceSchema)])).nullable(),
|
|
3151
|
+
founderList: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(personSchema), import_zod5.z.array(sanityReferenceSchema)])).nullable()
|
|
3152
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3153
|
+
...data,
|
|
3154
|
+
type: data._type,
|
|
3155
|
+
founders: data.founders || data.founderList || void 0
|
|
3156
|
+
})).transform(({ _type, founderList, ...rest }) => rest);
|
|
3157
|
+
var companyNdgSchema2 = companyNdgSchema.extend({
|
|
3158
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("companyNDG"),
|
|
3159
|
+
companyNDGTake: import_zod5.z.string().nullable().describe("What is the NDG POV on this company?")
|
|
3160
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3161
|
+
...data,
|
|
3162
|
+
type: data._type,
|
|
3163
|
+
companyNdgTake: data.companyNDGTake
|
|
3164
|
+
})).transform(({ _type, companyNDGTake, ...rest }) => rest);
|
|
3165
|
+
var ngdMetadataSchema2 = ngdMetadataSchema.extend({
|
|
3166
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("ndgMetadata")
|
|
3167
|
+
}).omit({ type: true }).transform((data) => ({
|
|
3168
|
+
...data,
|
|
3169
|
+
type: data._type
|
|
3170
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3171
|
+
var companyPhilosophySchema2 = companyPhilosophySchema.extend({
|
|
3172
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("companyPhilosophy")
|
|
3173
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3174
|
+
...data,
|
|
3175
|
+
type: data._type
|
|
3176
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3177
|
+
var companyCareersSchema2 = companyCareersSchema.extend({
|
|
3178
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("companyCareers"),
|
|
3179
|
+
companyBenefits: import_zod5.z.optional(import_zod5.z.array(
|
|
3180
|
+
import_zod5.z.union([companyBenefitsSchema, sanityReferenceSchema])
|
|
3181
|
+
)).nullable().describe("What are the specific benefits of that company. The benefit is generic."),
|
|
3182
|
+
jobBoard: import_zod5.z.union([jobBoardSchema, sanityReferenceSchema]).nullable(),
|
|
3183
|
+
jobBoardSlug: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(import_zod5.z.string()), import_zod5.z.array(sanitySlugSchema)]))
|
|
3184
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3185
|
+
...data,
|
|
3186
|
+
type: data._type
|
|
3187
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3188
|
+
var companySchema2 = companySchema.extend({
|
|
3189
|
+
_id: import_zod5.z.string().describe("The NDG specific id for a job posting in form of ndg-<company_slug>-<unique-job-id>. Serves as unique identifier. Cannot be changed."),
|
|
3190
|
+
_rev: import_zod5.z.string().nullable().describe("Revision number"),
|
|
3191
|
+
_type: import_zod5.z.string().describe("Document type used within sanity").default("company"),
|
|
3192
|
+
_createdAt: import_zod5.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3193
|
+
_updatedAt: import_zod5.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3194
|
+
companyCareers: companyCareersSchema2.nullable().describe("Career Specific Information for the company."),
|
|
3195
|
+
companyPhilosophy: companyPhilosophySchema2.nullable().describe("Company mission,values and how the company achieves its mission."),
|
|
3196
|
+
companyNDG: companyNdgSchema2.nullable().describe("Next Degree specific information for the company."),
|
|
3197
|
+
foundingInfo: foundingInformationSchema2.nullable(),
|
|
3198
|
+
slug: import_zod5.z.union([import_zod5.z.string(), sanitySlugSchema]).describe("The NDG specific slug for a company."),
|
|
3199
|
+
ndgMetadata: ngdMetadataSchema2.nullable(),
|
|
3200
|
+
logo: import_zod5.z.union([imageSchema, import_zod5.z.record(import_zod5.z.any())]).nullable().describe("The logo of the company"),
|
|
3201
|
+
//Deprecated Models
|
|
3202
|
+
logoImageURL: import_zod5.z.optional(import_zod5.z.string()).describe("The logo of the company"),
|
|
3203
|
+
industryList: import_zod5.z.optional(import_zod5.z.array(sanityReferenceSchema)).describe("The industry of the company")
|
|
3204
|
+
}).omit({ type: true, id: true, createdAt: true, updatedAt: true }).strict().transform((data) => ({
|
|
3205
|
+
...data,
|
|
3206
|
+
type: data._type,
|
|
3207
|
+
id: data._id,
|
|
3208
|
+
createdAt: data._createdAt,
|
|
3209
|
+
updatedAt: data._updatedAt,
|
|
3210
|
+
rev: data._rev
|
|
3211
|
+
})).transform(({ _type, _id, _rev, _createdAt, _updatedAt, ...rest }) => rest);
|
|
3212
|
+
|
|
3213
|
+
// src/types/latest/custom/job_posting_service_sanity.ts
|
|
3214
|
+
var import_zod6 = require("zod");
|
|
3215
|
+
var JobPostTypeEnum = import_zod6.z.enum(["jobPost"]);
|
|
3216
|
+
var MonetaryAmountTypeEnum = import_zod6.z.enum(["monetaryAmount"]);
|
|
3217
|
+
var postalAddressSchema2 = postalAddressSchema.extend({
|
|
3218
|
+
_type: import_zod6.z.string().describe("Document type used within sanity").default("address")
|
|
3219
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3220
|
+
...data,
|
|
3221
|
+
type: data._type
|
|
3222
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3223
|
+
var quantitativeValueSchema2 = quantitativeValueSchema.extend({
|
|
3224
|
+
_type: import_zod6.z.string().describe("Document type used within sanity").default("quantitativeValue")
|
|
3225
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3226
|
+
...data,
|
|
3227
|
+
type: data._type
|
|
3228
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3229
|
+
var monetaryAmountSchema2 = monetaryAmountSchema.extend({
|
|
3230
|
+
_type: import_zod6.z.string().describe("Document type used within sanity").default("monetaryAmount"),
|
|
3231
|
+
value: quantitativeValueSchema2.optional().describe("The quantitative_value for a given salary")
|
|
3232
|
+
}).omit({ type: true }).strict().transform((data) => ({
|
|
3233
|
+
...data,
|
|
3234
|
+
type: data._type
|
|
3235
|
+
})).transform(({ _type, ...rest }) => rest);
|
|
3236
|
+
var jobPostSchema2 = jobPostSchema.extend({
|
|
3237
|
+
// Override base fields with Sanity-specific fields
|
|
3238
|
+
_id: import_zod6.z.string().describe("The NDG specific id for a job posting in form of ndg-<company_slug>-<unique-job-id>. Serves as unique identifier. Cannot be changed.").regex(/^ndg-.*-.*$/),
|
|
3239
|
+
_rev: import_zod6.z.string().optional().describe("Revision number"),
|
|
3240
|
+
_type: import_zod6.z.string().describe("Document type used within sanity").default("jobPost"),
|
|
3241
|
+
_createdAt: import_zod6.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3242
|
+
_updatedAt: import_zod6.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3243
|
+
// Override fields with new schemas
|
|
3244
|
+
estimatedSalary: monetaryAmountSchema2.optional().describe("Determines the estimated salary for a given job posting"),
|
|
3245
|
+
jobLocation: postalAddressSchema2.optional().describe("Determines the primary physical location where the job is to be performed. For remote roles, use applicantLocationRequirements"),
|
|
3246
|
+
// Add Sanity-specific fields
|
|
3247
|
+
ndgMetadata: import_zod6.z.record(import_zod6.z.any()).optional(),
|
|
3248
|
+
ndgID: import_zod6.z.string().optional(),
|
|
3249
|
+
hiringOrganization: import_zod6.z.optional(import_zod6.z.union([sanityReferenceSchema, companySchema])),
|
|
3250
|
+
raw: import_zod6.z.record(import_zod6.z.any()).optional(),
|
|
3251
|
+
isLoaded: import_zod6.z.boolean().default(false),
|
|
3252
|
+
isVerified: import_zod6.z.boolean().default(false),
|
|
3253
|
+
needsReview: import_zod6.z.boolean().default(false),
|
|
3254
|
+
schema_version: import_zod6.z.string().optional(),
|
|
3255
|
+
origin: import_zod6.z.string().optional(),
|
|
3256
|
+
temp: import_zod6.z.record(import_zod6.z.any()).optional(),
|
|
3257
|
+
applicationType: import_zod6.z.string().optional(),
|
|
3258
|
+
// Override clientId to use Sanity naming convention
|
|
3259
|
+
clientID: import_zod6.z.string()
|
|
3260
|
+
}).omit({ type: true, id: true, createdAt: true, updatedAt: true, clientId: true }).transform((data) => ({
|
|
3261
|
+
...data,
|
|
3262
|
+
type: data._type,
|
|
3263
|
+
id: data._id,
|
|
3264
|
+
createdAt: data._createdAt,
|
|
3265
|
+
updatedAt: data._updatedAt,
|
|
3266
|
+
rev: data._rev
|
|
3267
|
+
})).transform(({ _type, _id, _rev, _createdAt, _updatedAt, ...rest }) => rest);
|
|
3268
|
+
|
|
3269
|
+
// src/lib/salaryRange.ts
|
|
3270
|
+
var CurrencyEnum2 = shared_pickle_output_latest_exports.CurrencyEnum;
|
|
3271
|
+
function salaryRange(salary) {
|
|
3272
|
+
if (!salary) return null;
|
|
3273
|
+
let min = salary.minValue;
|
|
3274
|
+
let max = salary.maxValue;
|
|
3275
|
+
let single = salary.singleValue;
|
|
3276
|
+
let value = salary.value;
|
|
3277
|
+
let unitText = "YEAR";
|
|
3278
|
+
const signs = {
|
|
3279
|
+
[CurrencyEnum2.Values.USD]: "$",
|
|
3280
|
+
[CurrencyEnum2.Values.GBP]: "\xA3",
|
|
3281
|
+
[CurrencyEnum2.Values.EUR]: "\u20AC"
|
|
3282
|
+
};
|
|
3283
|
+
const sign = signs[salary.currency ?? CurrencyEnum2.Values.USD];
|
|
3284
|
+
if (value != null && typeof value === "object") {
|
|
3285
|
+
min = value.minValue;
|
|
3286
|
+
max = value.maxValue;
|
|
3287
|
+
single = value.value;
|
|
3288
|
+
unitText = value.unitText;
|
|
3289
|
+
}
|
|
3290
|
+
if (unitText === "YEAR") unitText = "per year";
|
|
3291
|
+
if (unitText === "MONTH") unitText = "per month";
|
|
3292
|
+
if (unitText === "WEEK") unitText = "per week";
|
|
3293
|
+
if (unitText === "DAY") unitText = "per day";
|
|
3294
|
+
if (unitText === "PER_ACTIVITY") unitText = "per activity";
|
|
3295
|
+
if (unitText === "HOUR") unitText = "per hour";
|
|
3296
|
+
if (min == null && max == null && single == null) return null;
|
|
3297
|
+
if (single != null) return sign + single.toLocaleString() + " " + unitText;
|
|
3298
|
+
if (min === max) return sign + min?.toLocaleString() + " " + unitText;
|
|
3299
|
+
if (min != null && max != null)
|
|
3300
|
+
return sign + min?.toLocaleString() + " - " + sign + max?.toLocaleString() + " " + unitText;
|
|
3301
|
+
return null;
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3304
|
+
// src/components/jobPost/JobPost.tsx
|
|
3305
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3306
|
+
function JobPost({
|
|
3307
|
+
job,
|
|
3308
|
+
bannerSrc,
|
|
3309
|
+
avatarSrc,
|
|
3310
|
+
standalone,
|
|
3311
|
+
avatarHref,
|
|
3312
|
+
fallbackHref,
|
|
3313
|
+
backAcceptedRoutes,
|
|
3314
|
+
actions
|
|
3315
|
+
}) {
|
|
3316
|
+
const formattedEmploymentType = useDisplayText("employmentType", job.employmentType);
|
|
3317
|
+
const formattedEmploymentLevel = useDisplayText("employmentLevel", job.employmentLevel);
|
|
3318
|
+
const formattedJobFunction = useDisplayText("jobFunction", job.jobFunction);
|
|
3319
|
+
const formattedLocation = formattedJobLocation(job);
|
|
3320
|
+
const formattedSalary = salaryRange(job.estimatedSalary);
|
|
3321
|
+
const formattedDate = DateFns.formatDistanceToNow(new Date(job.datePosted), {
|
|
3322
|
+
addSuffix: true
|
|
3323
|
+
});
|
|
3324
|
+
const tags = [
|
|
3325
|
+
!!formattedSalary && {
|
|
3326
|
+
icon: "banknote",
|
|
3327
|
+
name: "salary",
|
|
3328
|
+
label: `${formattedSalary} a year`
|
|
3329
|
+
},
|
|
3330
|
+
!!formattedEmploymentType && {
|
|
3331
|
+
icon: "briefcase-business",
|
|
3332
|
+
name: "employmentType",
|
|
3333
|
+
label: formattedEmploymentType
|
|
3334
|
+
},
|
|
3335
|
+
!!formattedEmploymentLevel && {
|
|
3336
|
+
icon: "circle-user",
|
|
3337
|
+
name: "level",
|
|
3338
|
+
label: formattedEmploymentLevel
|
|
3339
|
+
},
|
|
3340
|
+
!!formattedJobFunction && {
|
|
3341
|
+
icon: "briefcase-business",
|
|
3342
|
+
name: "jobFunction",
|
|
3343
|
+
label: formattedJobFunction
|
|
3344
|
+
},
|
|
3345
|
+
!!formattedLocation && {
|
|
3346
|
+
icon: "map-pin",
|
|
3347
|
+
name: "location",
|
|
3348
|
+
label: formattedLocation
|
|
3349
|
+
}
|
|
3350
|
+
].filter((t) => !!t);
|
|
3351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
3352
|
+
"div",
|
|
3353
|
+
{
|
|
3354
|
+
className: cn(
|
|
3355
|
+
"flex flex-col gap-10 pb-4",
|
|
3356
|
+
!standalone && "border-1 rounded-3xl border-grey-5"
|
|
3357
|
+
),
|
|
3358
|
+
children: [
|
|
3359
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3360
|
+
JobHeader,
|
|
3361
|
+
{
|
|
3362
|
+
title: job.title,
|
|
3363
|
+
bannerSrc,
|
|
3364
|
+
avatarName: job.hiringOrganization?.companyName,
|
|
3365
|
+
avatarSrc: job.hiringOrganization?.logo?.asset?.url,
|
|
3366
|
+
subtitles: [job.hiringOrganization?.companyName ?? "", `Posted ${formattedDate}`],
|
|
3367
|
+
actions,
|
|
3368
|
+
standalone,
|
|
3369
|
+
avatarHref,
|
|
3370
|
+
backFallbackHref: fallbackHref,
|
|
3371
|
+
backAcceptedRoutes,
|
|
3372
|
+
tags
|
|
3373
|
+
}
|
|
3374
|
+
),
|
|
3375
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
|
|
3376
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(JobDescription, { description: job.description }),
|
|
3377
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3378
|
+
CompanyTake,
|
|
3379
|
+
{
|
|
3380
|
+
avatarSrc,
|
|
3381
|
+
content: job.hiringOrganization?.companyNDG?.companyNDGTake
|
|
3382
|
+
}
|
|
3383
|
+
),
|
|
3384
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3385
|
+
CompanyInformation,
|
|
3386
|
+
{
|
|
3387
|
+
name: job.hiringOrganization?.companyName ?? "",
|
|
3388
|
+
how: job.hiringOrganization?.companyPhilosophy?.companyHow,
|
|
3389
|
+
mission: job.hiringOrganization?.companyPhilosophy?.companyMission,
|
|
3390
|
+
wow: job.hiringOrganization?.companyNDG?.companyWow,
|
|
3391
|
+
website: job.hiringOrganization?.companyWebsite
|
|
3392
|
+
}
|
|
3393
|
+
),
|
|
3394
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3395
|
+
CompanyBenefits,
|
|
3396
|
+
{
|
|
3397
|
+
benefits: job.hiringOrganization?.companyCareers?.companyBenefits?.map((b) => b.title).filter((d) => d !== void 0)
|
|
3398
|
+
}
|
|
3399
|
+
)
|
|
3400
|
+
] })
|
|
3401
|
+
]
|
|
3402
|
+
}
|
|
3403
|
+
);
|
|
3404
|
+
}
|
|
3405
|
+
|
|
3406
|
+
// src/types/data/company_service_latest.ts
|
|
3407
|
+
var company_service_latest_exports2 = {};
|
|
3408
|
+
__export(company_service_latest_exports2, {
|
|
3409
|
+
CategoryEnum: () => CategoryEnum2,
|
|
3410
|
+
OfficeTypeEnum: () => OfficeTypeEnum2,
|
|
3411
|
+
PublishStatusEnum: () => PublishStatusEnum3,
|
|
3412
|
+
TitleEnum: () => TitleEnum2,
|
|
3413
|
+
TypeEnum: () => TypeEnum5,
|
|
3414
|
+
companyBenefitsSchema: () => companyBenefitsSchema2,
|
|
3415
|
+
companyCareersSchema: () => companyCareersSchema3,
|
|
3416
|
+
companyNdgSchema: () => companyNdgSchema3,
|
|
3417
|
+
companyPhilosophySchema: () => companyPhilosophySchema3,
|
|
3418
|
+
companySchema: () => companySchema3,
|
|
3419
|
+
foundingInformationSchema: () => foundingInformationSchema3,
|
|
3420
|
+
industrySchema: () => industrySchema2,
|
|
3421
|
+
jobBoardSchema: () => jobBoardSchema2,
|
|
3422
|
+
ngdMetadataSchema: () => ngdMetadataSchema3,
|
|
3423
|
+
officeSchema: () => officeSchema2,
|
|
3424
|
+
personSchema: () => personSchema2,
|
|
3425
|
+
socialMediaSchema: () => socialMediaSchema2
|
|
3426
|
+
});
|
|
3427
|
+
var import_zod8 = require("zod");
|
|
3428
|
+
|
|
3429
|
+
// src/types/data/shared_pickle_output_latest.ts
|
|
3430
|
+
var shared_pickle_output_latest_exports2 = {};
|
|
3431
|
+
__export(shared_pickle_output_latest_exports2, {
|
|
3432
|
+
CurrencyEnum: () => CurrencyEnum3,
|
|
3433
|
+
DetailLevelEnum: () => DetailLevelEnum2,
|
|
3434
|
+
TypeEnum: () => TypeEnum4,
|
|
3435
|
+
UnitTextEnum: () => UnitTextEnum2,
|
|
3436
|
+
imageAssetSchema: () => imageAssetSchema2,
|
|
3437
|
+
imageSchema: () => imageSchema2,
|
|
3438
|
+
monetaryAmountSchema: () => monetaryAmountSchema3,
|
|
3439
|
+
placeSchema: () => placeSchema2,
|
|
3440
|
+
postalAddressSchema: () => postalAddressSchema3,
|
|
3441
|
+
quantitativeValueSchema: () => quantitativeValueSchema3
|
|
3442
|
+
});
|
|
3443
|
+
var import_zod7 = require("zod");
|
|
3444
|
+
var TypeEnum4 = import_zod7.z.enum(["IMAGE"]);
|
|
3445
|
+
var DetailLevelEnum2 = import_zod7.z.enum(["COUNTRY", "GEO", "LOCALITY", "POSTAL_CODE", "REGION"]);
|
|
3446
|
+
var UnitTextEnum2 = import_zod7.z.enum(["DAY", "HOUR", "MONTH", "PER_ACTIVITY", "WEEK", "YEAR"]);
|
|
3447
|
+
var CurrencyEnum3 = import_zod7.z.enum(["EUR", "GBP", "USD"]);
|
|
3448
|
+
var postalAddressSchema3 = import_zod7.z.object({
|
|
3449
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3450
|
+
type: import_zod7.z.string().describe("Document type used for schema"),
|
|
3451
|
+
addressCountry: import_zod7.z.string().describe("The physical country as defined in ISO 3166 Alpha-2"),
|
|
3452
|
+
addressRegion: import_zod7.z.optional(import_zod7.z.string()).describe("The region in which the locality is, and which is in the country."),
|
|
3453
|
+
addressLocality: import_zod7.z.optional(import_zod7.z.string()).describe("The locality in which the street address is, and which is in the region. In the US this would be city."),
|
|
3454
|
+
streetAddress: import_zod7.z.optional(import_zod7.z.string()).describe("The street name of the address within the locality."),
|
|
3455
|
+
streetNumber: import_zod7.z.optional(import_zod7.z.string()).describe("The house of building number within the street."),
|
|
3456
|
+
postalCode: import_zod7.z.optional(import_zod7.z.string()).describe("The postal code"),
|
|
3457
|
+
description: import_zod7.z.optional(import_zod7.z.string()).describe("A descriptive string containing the full address.")
|
|
3458
|
+
});
|
|
3459
|
+
var placeSchema2 = import_zod7.z.object({
|
|
3460
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3461
|
+
detailLevel: import_zod7.z.optional(DetailLevelEnum2),
|
|
3462
|
+
latitude: import_zod7.z.optional(import_zod7.z.number()).describe("The latitude of a location."),
|
|
3463
|
+
longitude: import_zod7.z.optional(import_zod7.z.number()).describe("The longitude of a location."),
|
|
3464
|
+
address: import_zod7.z.optional(postalAddressSchema3).describe("The physical place of the location")
|
|
3465
|
+
});
|
|
3466
|
+
var quantitativeValueSchema3 = import_zod7.z.object({
|
|
3467
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3468
|
+
type: import_zod7.z.string().describe("Document type used for schema"),
|
|
3469
|
+
value: import_zod7.z.optional(import_zod7.z.number()).describe("The single value for some quantity e.g 5000, if a range is needed use minValue and maxValue. Typically used for a single salary."),
|
|
3470
|
+
minValue: import_zod7.z.optional(import_zod7.z.number()).describe("The single minium value in a range for a quantitative_value, requires a maximum value."),
|
|
3471
|
+
maxValue: import_zod7.z.optional(import_zod7.z.number()).describe("The maximum value in a range for a quantitative_value, requires a minimum value."),
|
|
3472
|
+
unitText: UnitTextEnum2
|
|
3473
|
+
});
|
|
3474
|
+
var monetaryAmountSchema3 = import_zod7.z.object({
|
|
3475
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3476
|
+
type: import_zod7.z.string().describe("Document type used for schema"),
|
|
3477
|
+
singleValue: import_zod7.z.optional(import_zod7.z.number()).describe("The annualized single value for some quantity e.g 5000, if a range is needed use minValue and maxValue. Deprecated - use value.value instead."),
|
|
3478
|
+
minValue: import_zod7.z.optional(import_zod7.z.number()).describe("The annualized single minium value in a range for a quantitative_value. Deprecated use value.minValue"),
|
|
3479
|
+
maxValue: import_zod7.z.optional(import_zod7.z.number()).describe("The annualized maximum value in a range for a quantitative_value. Deprecated use value.maxValue"),
|
|
3480
|
+
value: import_zod7.z.optional(quantitativeValueSchema3).describe("The quantitative_value for a given salary"),
|
|
3481
|
+
currency: import_zod7.z.optional(CurrencyEnum3)
|
|
3482
|
+
});
|
|
3483
|
+
var imageAssetSchema2 = import_zod7.z.object({
|
|
3484
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3485
|
+
altText: import_zod7.z.optional(import_zod7.z.string()).describe("The alt text for the image"),
|
|
3486
|
+
assetId: import_zod7.z.optional(import_zod7.z.string()).describe("The asset ID for the image"),
|
|
3487
|
+
description: import_zod7.z.optional(import_zod7.z.string()).describe("The description for the image"),
|
|
3488
|
+
extension: import_zod7.z.optional(import_zod7.z.string()).describe("The extension for the image"),
|
|
3489
|
+
label: import_zod7.z.optional(import_zod7.z.string()).describe("The label for the image"),
|
|
3490
|
+
mimeType: import_zod7.z.optional(import_zod7.z.string()).describe("The mime type for the image"),
|
|
3491
|
+
originalFilename: import_zod7.z.optional(import_zod7.z.string()).describe("The original filename for the image"),
|
|
3492
|
+
path: import_zod7.z.optional(import_zod7.z.string()).describe("The path for the image"),
|
|
3493
|
+
sha1Hash: import_zod7.z.optional(import_zod7.z.string()).describe("The SHA1 hash for the image"),
|
|
3494
|
+
size: import_zod7.z.optional(import_zod7.z.number()).describe("The size for the image"),
|
|
3495
|
+
title: import_zod7.z.optional(import_zod7.z.string()).describe("The title for the image"),
|
|
3496
|
+
uploadId: import_zod7.z.optional(import_zod7.z.string()).describe("The upload ID for the image"),
|
|
3497
|
+
url: import_zod7.z.optional(import_zod7.z.string()).describe("The URL for the image")
|
|
3498
|
+
});
|
|
3499
|
+
var imageSchema2 = import_zod7.z.object({
|
|
3500
|
+
version: import_zod7.z.literal("1.0.0").default("1.0.0"),
|
|
3501
|
+
type: import_zod7.z.string().describe("Document type used for schema"),
|
|
3502
|
+
asset: import_zod7.z.optional(imageAssetSchema2).describe("The asset for the image")
|
|
3503
|
+
});
|
|
3504
|
+
|
|
3505
|
+
// src/types/data/company_service_latest.ts
|
|
3506
|
+
var TypeEnum5 = import_zod8.z.enum(["OFFICE"]);
|
|
3507
|
+
var CategoryEnum2 = import_zod8.z.enum(["FINANCIAL", "HEALTH", "PROFESSIONAL_DEVELOPMENT", "WORK_LIFE_BALANCE"]);
|
|
3508
|
+
var TitleEnum2 = import_zod8.z.enum(["DMD", "JD", "MBA", "MD", "MHA", "MPH", "PT", "PH_D", "RN"]);
|
|
3509
|
+
var PublishStatusEnum3 = import_zod8.z.enum(["DRAFT", "IN_REVIEW", "PUBLISHED", "REMOVED"]);
|
|
3510
|
+
var OfficeTypeEnum2 = import_zod8.z.enum(["BRANCH", "HEADQUARTERS", "SATELLITE"]);
|
|
3511
|
+
var socialMediaSchema2 = import_zod8.z.object({
|
|
3512
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3513
|
+
url: import_zod8.z.string().describe("The link to the social media platform"),
|
|
3514
|
+
type: import_zod8.z.string().describe("The type of social media link")
|
|
3515
|
+
});
|
|
3516
|
+
var companyBenefitsSchema2 = import_zod8.z.object({
|
|
3517
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3518
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3519
|
+
title: import_zod8.z.string(),
|
|
3520
|
+
description: import_zod8.z.optional(import_zod8.z.string()),
|
|
3521
|
+
category: CategoryEnum2
|
|
3522
|
+
});
|
|
3523
|
+
var industrySchema2 = import_zod8.z.lazy(() => import_zod8.z.object({
|
|
3524
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3525
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3526
|
+
name: import_zod8.z.string(),
|
|
3527
|
+
description: import_zod8.z.optional(import_zod8.z.string()).describe("A brief description of the industry"),
|
|
3528
|
+
onetIndustryId: import_zod8.z.optional(import_zod8.z.string()).describe("ONET industry ID"),
|
|
3529
|
+
parent: import_zod8.z.optional(industrySchema2)
|
|
3530
|
+
}));
|
|
3531
|
+
var jobBoardSchema2 = import_zod8.z.object({
|
|
3532
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3533
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3534
|
+
name: import_zod8.z.string().describe("The name of the job board"),
|
|
3535
|
+
description: import_zod8.z.string().describe("A brief description of the job board"),
|
|
3536
|
+
logo: import_zod8.z.optional(imageSchema2).describe("The logo of the job board"),
|
|
3537
|
+
baseUrl: import_zod8.z.optional(import_zod8.z.string()).describe("The base URL of the job board")
|
|
3538
|
+
});
|
|
3539
|
+
var personSchema2 = import_zod8.z.object({
|
|
3540
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3541
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3542
|
+
firstName: import_zod8.z.string().describe("The first name of the person"),
|
|
3543
|
+
lastName: import_zod8.z.string().describe("The last name of the person"),
|
|
3544
|
+
title: import_zod8.z.optional(import_zod8.z.array(import_zod8.z.string())).describe("The titles of the degree of the person"),
|
|
3545
|
+
slug: import_zod8.z.string().describe("person slug - should be familyname-givenname-title(s)"),
|
|
3546
|
+
jobTitle: import_zod8.z.optional(import_zod8.z.string()).describe("The job title of the person"),
|
|
3547
|
+
isDoctor: import_zod8.z.optional(import_zod8.z.boolean()).describe("Is the person a doctor"),
|
|
3548
|
+
isMedical: import_zod8.z.optional(import_zod8.z.boolean()).describe("Are they of a medical background?"),
|
|
3549
|
+
isScientist: import_zod8.z.optional(import_zod8.z.boolean()).describe("Are they a scientist?"),
|
|
3550
|
+
image: import_zod8.z.optional(imageSchema2).describe("The image of the person"),
|
|
3551
|
+
email: import_zod8.z.optional(import_zod8.z.string()).describe("The email of the person"),
|
|
3552
|
+
socialMedia: import_zod8.z.optional(import_zod8.z.array(socialMediaSchema2)).describe("The social media links of the person"),
|
|
3553
|
+
telephone: import_zod8.z.optional(import_zod8.z.string()).describe("The telephone number of the person"),
|
|
3554
|
+
url: import_zod8.z.optional(import_zod8.z.string()).describe("The URL of the person"),
|
|
3555
|
+
address: import_zod8.z.optional(placeSchema2).describe("The address of the person")
|
|
3556
|
+
});
|
|
3557
|
+
var companyCareersSchema3 = import_zod8.z.object({
|
|
3558
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3559
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3560
|
+
careersUrl: import_zod8.z.string().describe("The URL of the company careers page"),
|
|
3561
|
+
jobBoard: import_zod8.z.optional(jobBoardSchema2),
|
|
3562
|
+
jobBoardSlug: import_zod8.z.optional(import_zod8.z.array(import_zod8.z.string())),
|
|
3563
|
+
companyBenefits: import_zod8.z.optional(import_zod8.z.array(companyBenefitsSchema2)).describe("What are the specific benefits of that company. The benefit is generic.")
|
|
3564
|
+
});
|
|
3565
|
+
var companyPhilosophySchema3 = import_zod8.z.object({
|
|
3566
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3567
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3568
|
+
companyMission: import_zod8.z.optional(import_zod8.z.string()).describe("The mission statement of the company."),
|
|
3569
|
+
companyHow: import_zod8.z.optional(import_zod8.z.string()).describe("How does the company achieve its mission"),
|
|
3570
|
+
companyCulture: import_zod8.z.optional(import_zod8.z.array(import_zod8.z.string())).describe("What are some of the culture aspects of this company?")
|
|
3571
|
+
});
|
|
3572
|
+
var companyNdgSchema3 = import_zod8.z.object({
|
|
3573
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3574
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3575
|
+
companyWow: import_zod8.z.optional(import_zod8.z.string()).describe("What is the wow of this company?"),
|
|
3576
|
+
companyNDGTake: import_zod8.z.optional(import_zod8.z.string()).describe("What is the NDG POV on this company?"),
|
|
3577
|
+
companyBestFit: import_zod8.z.optional(import_zod8.z.array(import_zod8.z.string())),
|
|
3578
|
+
companyInterests: import_zod8.z.optional(import_zod8.z.array(import_zod8.z.string()))
|
|
3579
|
+
});
|
|
3580
|
+
var foundingInformationSchema3 = import_zod8.z.object({
|
|
3581
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3582
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3583
|
+
foundedDate: import_zod8.z.optional(import_zod8.z.string()),
|
|
3584
|
+
foundedCountry: import_zod8.z.optional(import_zod8.z.string()),
|
|
3585
|
+
foundedCity: import_zod8.z.optional(import_zod8.z.string()),
|
|
3586
|
+
founders: import_zod8.z.optional(import_zod8.z.array(personSchema2))
|
|
3587
|
+
});
|
|
3588
|
+
var ngdMetadataSchema3 = import_zod8.z.object({
|
|
3589
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3590
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3591
|
+
lastScraped: import_zod8.z.optional(import_zod8.z.string()).describe("Date the last entity was scraped, if applicable"),
|
|
3592
|
+
scraperVersion: import_zod8.z.optional(import_zod8.z.string()),
|
|
3593
|
+
postProcessorVersion: import_zod8.z.optional(import_zod8.z.string()),
|
|
3594
|
+
uniqueRunId: import_zod8.z.optional(import_zod8.z.string()),
|
|
3595
|
+
postProcessorUniqueRunId: import_zod8.z.optional(import_zod8.z.string()),
|
|
3596
|
+
isScrapeManaged: import_zod8.z.optional(import_zod8.z.boolean()).default(true)
|
|
3597
|
+
});
|
|
3598
|
+
var companySchema3 = import_zod8.z.object({
|
|
3599
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3600
|
+
id: import_zod8.z.string().describe("The NDG specific id for a company. Cannot be changed."),
|
|
3601
|
+
createdAt: import_zod8.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3602
|
+
updatedAt: import_zod8.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3603
|
+
companyName: import_zod8.z.string().describe("The name of the company"),
|
|
3604
|
+
slug: import_zod8.z.string().describe("The NDG specific slug for a company."),
|
|
3605
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3606
|
+
logo: import_zod8.z.optional(imageSchema2).describe("The logo of the company"),
|
|
3607
|
+
companyWebsite: import_zod8.z.optional(import_zod8.z.string()).describe("The website of the company"),
|
|
3608
|
+
socialMedia: import_zod8.z.optional(import_zod8.z.array(socialMediaSchema2)).describe("The social media links of the company"),
|
|
3609
|
+
brandColor: import_zod8.z.optional(import_zod8.z.string()).describe("The brand color of the company"),
|
|
3610
|
+
companyCareers: import_zod8.z.optional(companyCareersSchema3).describe("Career Specific Information for the company."),
|
|
3611
|
+
companyPhilosophy: import_zod8.z.optional(companyPhilosophySchema3).describe("Company mission,values and how the company achieves its mission."),
|
|
3612
|
+
companyNDG: import_zod8.z.optional(companyNdgSchema3).describe("Next Degree specific information for the company."),
|
|
3613
|
+
foundingInfo: import_zod8.z.optional(foundingInformationSchema3),
|
|
3614
|
+
headquartersLocation: import_zod8.z.optional(placeSchema2),
|
|
3615
|
+
employeeEstimate: import_zod8.z.optional(import_zod8.z.string()),
|
|
3616
|
+
publishStatus: import_zod8.z.optional(import_zod8.z.string()),
|
|
3617
|
+
ngdMetadata: import_zod8.z.optional(ngdMetadataSchema3)
|
|
3618
|
+
});
|
|
3619
|
+
var officeSchema2 = import_zod8.z.object({
|
|
3620
|
+
version: import_zod8.z.literal("1.0.0").default("1.0.0"),
|
|
3621
|
+
type: import_zod8.z.string().describe("Document type used for schema"),
|
|
3622
|
+
name: import_zod8.z.string().describe("Name or nickname for the office (e.g., 'NYC HQ', 'West Coast Branch')"),
|
|
3623
|
+
officeType: OfficeTypeEnum2,
|
|
3624
|
+
companyId: import_zod8.z.optional(companySchema3),
|
|
3625
|
+
geoLocation: import_zod8.z.optional(placeSchema2).describe("Geographical location details: coordinates + postal address"),
|
|
3626
|
+
createdAt: import_zod8.z.optional(import_zod8.z.string()),
|
|
3627
|
+
updatedAt: import_zod8.z.optional(import_zod8.z.string())
|
|
3628
|
+
});
|
|
3629
|
+
|
|
3630
|
+
// src/types/data/job_posting_service_latest.ts
|
|
3631
|
+
var job_posting_service_latest_exports2 = {};
|
|
3632
|
+
__export(job_posting_service_latest_exports2, {
|
|
3633
|
+
BestFitEnum: () => BestFitEnum2,
|
|
3634
|
+
ClinicalLicenseEnum: () => ClinicalLicenseEnum2,
|
|
3635
|
+
ClinicalSettingEnum: () => ClinicalSettingEnum2,
|
|
3636
|
+
ClinicalSpecialtyEnum: () => ClinicalSpecialtyEnum2,
|
|
3637
|
+
EmploymentLevelEnum: () => EmploymentLevelEnum2,
|
|
3638
|
+
EmploymentTypeEnum: () => EmploymentTypeEnum2,
|
|
3639
|
+
JobFunctionEnum: () => JobFunctionEnum2,
|
|
3640
|
+
JobLocationTypeEnum: () => JobLocationTypeEnum2,
|
|
3641
|
+
PublishStatusEnum: () => PublishStatusEnum4,
|
|
3642
|
+
ShiftEnum: () => ShiftEnum2,
|
|
3643
|
+
TypeEnum: () => TypeEnum6,
|
|
3644
|
+
jobPostSchema: () => jobPostSchema3
|
|
3645
|
+
});
|
|
3646
|
+
var import_zod9 = require("zod");
|
|
3647
|
+
var TypeEnum6 = import_zod9.z.enum(["JOB_POST"]);
|
|
3648
|
+
var JobLocationTypeEnum2 = import_zod9.z.enum(["FLOAT", "HYBRID", "ONSITE", "REMOTE"]);
|
|
3649
|
+
var EmploymentTypeEnum2 = import_zod9.z.enum(["CONTRACT", "FULL_TIME", "INTERNSHIP", "OTHER", "PART_TIME", "PER_DIEM", "TEMPORARY"]);
|
|
3650
|
+
var EmploymentLevelEnum2 = import_zod9.z.enum(["DIRECTOR", "ENTRY_LEVEL", "EXECUTIVE", "EXPERIENCED", "INTERN", "MANAGER"]);
|
|
3651
|
+
var JobFunctionEnum2 = import_zod9.z.enum(["CLINICAL_RESEARCH", "CUSTOMER_SUCCESS", "DATA_ANALYTICS", "FINANCE_AND_AUDIT", "MARKETING", "OPERATIONS", "PEOPLE_HUMAN_RESOURCES", "PRODUCT_AND_TECH", "QUALITY_ASSURANCE_AND_OUTCOMES", "SALES_AND_BUSINESS_DEVELOPMENT", "STRATEGY_AND_CONSULTING"]);
|
|
3652
|
+
var PublishStatusEnum4 = import_zod9.z.enum(["DRAFT", "IN_REVIEW", "PUBLISHED", "REMOVED"]);
|
|
3653
|
+
var BestFitEnum2 = import_zod9.z.enum(["DENTIST", "DIETICIAN", "DOULA", "MEDICAL_ASSISTANT", "MIDWIFE", "NURSE", "OCCUPATIONAL_THERAPIST", "PHARMACIST", "PHYSICAL_THERAPIST", "PHYSICIAN", "PHYSICIAN_ASSISTANT", "PSYCHOLOGIST", "RADIOLOGIST", "SOCIAL_WORKER", "SPEECH_LANGUAGE_PATHOLOGIST", "SURGEON"]);
|
|
3654
|
+
var ClinicalLicenseEnum2 = import_zod9.z.enum(["CNA", "CNM", "CNS", "COTA", "CRNA", "LPN", "LVN", "NP", "OT", "PT", "PTA", "RN"]);
|
|
3655
|
+
var ShiftEnum2 = import_zod9.z.enum(["DAY", "EIGHT_HOUR", "EVENING", "FLEXIBLE", "MID_SHIFT", "MONDAY_TO_FRIDAY", "NIGHT", "ON_CALL", "TEN_HOUR", "TWELVE_HOUR", "WEEKENDS"]);
|
|
3656
|
+
var ClinicalSettingEnum2 = import_zod9.z.enum(["ACUTE_CARE", "AMBULATORY_SURGERY_CENTER", "CLINIC", "HOME_HEALTH", "HOSPITAL", "INPATIENT", "LONG_TERM_CARE", "MED_SPA", "NURSING_HOME", "OFFICE", "OUTPATIENT", "PRIVATE_PRACTICE", "REHAB_CENTER", "SCHOOL", "SKILLED_NURSING_FACILITY"]);
|
|
3657
|
+
var ClinicalSpecialtyEnum2 = import_zod9.z.enum(["ANESTHESIOLOGY", "CARDIOLOGY", "CASE_MANAGEMENT", "CHRONIC_PAIN", "CLINICAL_ELECTROPHYSIOLOGY", "CRITICAL_AND_ACUTE_CARE", "DERMATOLOGY", "DIALYSIS", "EMERGENCY_MEDICINE", "ENDOCRINOLOGY", "ERGONOMICS", "FEEDING_EATING_AND_SWALLOWING", "GASTROENTEROLOGY", "GERIATRICS", "HAND_THERAPY", "HEMATOLOGY", "HOLISTIC_MEDICINE", "INFORMATICS", "INTERNAL_MEDICINE", "LABOR_AND_DELIVERY", "MANUAL_THERAPY", "MED_SURG", "MENTAL_HEALTH", "NEPHROLOGY", "NEUROLOGY", "ONCOLOGY", "ORTHOPEDICS", "OTOLARYNGOLOGY", "PEDIATRICS", "PHYSICAL_AND_REHABILITATION_MEDICINE", "PLASTIC_SURGERY", "PRIMARY_CARE", "PSYCHIATRY", "PULMONOLOGY", "RADIOLOGY", "SENSORY", "SPORTS", "SURGERY", "TRAUMA_MEDICINE", "URGENT_CARE", "UROLOGY", "VISION", "WOMENS_HEALTH", "WOUND_AND_BURN_CARE"]);
|
|
3658
|
+
var jobPostSchema3 = import_zod9.z.object({
|
|
3659
|
+
version: import_zod9.z.literal("1.0.0").default("1.0.0"),
|
|
3660
|
+
id: import_zod9.z.string().describe("The NDG specific id for a job posting in form of ndg-<company_slug>-<unique-job-id>. Serves as unique identifier. Cannot be changed."),
|
|
3661
|
+
type: import_zod9.z.string().describe("Document type used for schema"),
|
|
3662
|
+
createdAt: import_zod9.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3663
|
+
updatedAt: import_zod9.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
|
|
3664
|
+
dateAdded: import_zod9.z.optional(import_zod9.z.string().datetime()).describe("The date the job was added to the platform"),
|
|
3665
|
+
datePosted: import_zod9.z.optional(import_zod9.z.string().datetime()).describe("The date the job was published for public viewing"),
|
|
3666
|
+
dateRemoved: import_zod9.z.optional(import_zod9.z.string().datetime()).describe("The date the job was removed from public viewing"),
|
|
3667
|
+
validThrough: import_zod9.z.optional(import_zod9.z.string().datetime()).describe("The date the job posting is valid through. After this date it will be removed from public viewing"),
|
|
3668
|
+
vacancyCount: import_zod9.z.optional(import_zod9.z.number().int()).describe("The number of vacancies for a given job posting"),
|
|
3669
|
+
clientId: import_zod9.z.string().describe("The ID assigned by the client to a job - normally the same as the GH / Lever / Ashby ID or internal ID"),
|
|
3670
|
+
url: import_zod9.z.string().describe("The URL of the job to be displayed for users to apply with. Direct job link."),
|
|
3671
|
+
title: import_zod9.z.string().describe("The title of the job post"),
|
|
3672
|
+
description: import_zod9.z.string().describe("The description of the job post saved as markdown. Used for rendering the job description."),
|
|
3673
|
+
richTextDescription: import_zod9.z.optional(import_zod9.z.string()).describe("The description of the job post saved as rich text"),
|
|
3674
|
+
isClinical: import_zod9.z.boolean().default(false).describe("Denotes if a job posting is clinical in nature or not. A role is clinical if it requires direct clinical patient care."),
|
|
3675
|
+
isRemote: import_zod9.z.boolean().default(false).describe("Denotes if a job posting is remote in nature. For a posting to be 'remote' it must be 100% remote (e.g hybrid roles would denote this to false)."),
|
|
3676
|
+
isVerified: import_zod9.z.boolean().default(false).describe("Denotes if a job posting has been manually verified - and thus ALL fields can be considered accurate. Can be used for DS training."),
|
|
3677
|
+
isDirectApply: import_zod9.z.boolean().default(false).describe("Denotes if a job posting url is direct apply. To be direct apply a user must be able to apply to the role without logging in and under 2 clicks."),
|
|
3678
|
+
jobLocationType: import_zod9.z.optional(import_zod9.z.array(JobLocationTypeEnum2)),
|
|
3679
|
+
employmentType: import_zod9.z.optional(import_zod9.z.array(EmploymentTypeEnum2)),
|
|
3680
|
+
employmentLevel: import_zod9.z.optional(EmploymentLevelEnum2),
|
|
3681
|
+
jobFunction: import_zod9.z.optional(JobFunctionEnum2),
|
|
3682
|
+
publishStatus: PublishStatusEnum4,
|
|
3683
|
+
bestFit: import_zod9.z.optional(import_zod9.z.array(BestFitEnum2)),
|
|
3684
|
+
clinicalLicense: import_zod9.z.optional(import_zod9.z.array(ClinicalLicenseEnum2)),
|
|
3685
|
+
shift: import_zod9.z.optional(import_zod9.z.array(ShiftEnum2)),
|
|
3686
|
+
clinicalSetting: import_zod9.z.optional(import_zod9.z.array(ClinicalSettingEnum2)),
|
|
3687
|
+
clinicalSpecialty: import_zod9.z.optional(import_zod9.z.array(ClinicalSpecialtyEnum2)),
|
|
3688
|
+
estimatedSalary: import_zod9.z.optional(monetaryAmountSchema3).describe("Determines the estimated salary for a given job posting"),
|
|
3689
|
+
jobLocation: import_zod9.z.optional(postalAddressSchema3).describe("Determines the primary physical location where the job is to be performed. For remote roles, use applicantLocationRequirements"),
|
|
3690
|
+
applicableOffices: import_zod9.z.optional(import_zod9.z.array(officeSchema2)).describe("The physical location(s) in which employees may be located for to be eligible for the job. Used in conjunction with job_location_type."),
|
|
3691
|
+
applicantLocationRequirements: import_zod9.z.optional(import_zod9.z.array(placeSchema2)).describe("The geographic location(s) in which employees may be located for to be eligible for the job. The job description must clearly state that the applicant may be located in certain geographical location(s). This property is required if applicants may be located in one or more geographic locations and the job is 100% remote."),
|
|
3692
|
+
hiringOrganization: import_zod9.z.optional(companySchema3).describe("The organization that is hiring for the role")
|
|
3693
|
+
});
|
|
3240
3694
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3241
3695
|
0 && (module.exports = {
|
|
3242
3696
|
Avatar,
|
|
@@ -3268,6 +3722,7 @@ var jobPostSchema = import_zod3.z.object({
|
|
|
3268
3722
|
ReadMore,
|
|
3269
3723
|
Select,
|
|
3270
3724
|
SharedService,
|
|
3725
|
+
StepTabs,
|
|
3271
3726
|
Switch,
|
|
3272
3727
|
WindowHistoryProvider,
|
|
3273
3728
|
cn,
|