@next-degree/pickle-shared-js 0.9.5 → 0.10.7

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.
Files changed (89) hide show
  1. package/dist/{company_service_sanity-B5FBDl-4.d.ts → company_service_sanity-BZtdt7Df.d.ts} +1743 -1743
  2. package/dist/{company_service_sanity--Aw-Y3Us.d.cts → company_service_sanity-Bedw6Mhk.d.cts} +1743 -1743
  3. package/dist/components/buttons/BackButton.cjs +1 -1
  4. package/dist/components/buttons/BackButton.cjs.map +1 -1
  5. package/dist/components/buttons/BackButton.js +1 -1
  6. package/dist/components/buttons/BackButton.js.map +1 -1
  7. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  8. package/dist/components/jobPost/JobDescription.js.map +1 -1
  9. package/dist/components/jobPost/JobHeader.cjs +1 -1
  10. package/dist/components/jobPost/JobHeader.cjs.map +1 -1
  11. package/dist/components/jobPost/JobHeader.js +1 -1
  12. package/dist/components/jobPost/JobHeader.js.map +1 -1
  13. package/dist/components/jobPost/JobPost.cjs +358 -12
  14. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  15. package/dist/components/jobPost/JobPost.d.cts +3 -2
  16. package/dist/components/jobPost/JobPost.d.ts +3 -2
  17. package/dist/components/jobPost/JobPost.js +363 -12
  18. package/dist/components/jobPost/JobPost.js.map +1 -1
  19. package/dist/components/ui/Button.cjs +4 -2
  20. package/dist/components/ui/Button.cjs.map +1 -1
  21. package/dist/components/ui/Button.d.cts +2 -2
  22. package/dist/components/ui/Button.d.ts +2 -2
  23. package/dist/components/ui/Button.js +2 -1
  24. package/dist/components/ui/Button.js.map +1 -1
  25. package/dist/components/ui/Combobox.cjs +20 -20
  26. package/dist/components/ui/Combobox.cjs.map +1 -1
  27. package/dist/components/ui/Combobox.d.cts +1 -0
  28. package/dist/components/ui/Combobox.d.ts +1 -0
  29. package/dist/components/ui/Combobox.js +18 -18
  30. package/dist/components/ui/Combobox.js.map +1 -1
  31. package/dist/components/ui/InputOtp.cjs +8 -1
  32. package/dist/components/ui/InputOtp.cjs.map +1 -1
  33. package/dist/components/ui/InputOtp.js +8 -1
  34. package/dist/components/ui/InputOtp.js.map +1 -1
  35. package/dist/components/ui/ReadMore.cjs.map +1 -1
  36. package/dist/components/ui/ReadMore.js.map +1 -1
  37. package/dist/components/ui/buttonShadcn.d.cts +1 -1
  38. package/dist/components/ui/buttonShadcn.d.ts +1 -1
  39. package/dist/{displayText-4cJ7-3Mw.d.cts → displayText-BIzvCN9H.d.cts} +1 -1
  40. package/dist/{displayText-CBIWVZVw.d.ts → displayText-BtujjCCA.d.ts} +1 -1
  41. package/dist/hooks/useDisplayText.d.cts +2 -2
  42. package/dist/hooks/useDisplayText.d.ts +2 -2
  43. package/dist/index.cjs +587 -167
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.d.cts +2 -2
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.js +587 -167
  48. package/dist/index.js.map +1 -1
  49. package/dist/{job_posting_service_sanity-CeX9tlpb.d.ts → job_posting_service_sanity-B6APEfOO.d.ts} +1795 -1795
  50. package/dist/{job_posting_service_sanity-D5Znr6Ba.d.cts → job_posting_service_sanity-CLQAVXTy.d.cts} +1795 -1795
  51. package/dist/lib/locations.d.cts +1 -1
  52. package/dist/lib/locations.d.ts +1 -1
  53. package/dist/lib/mappings.d.cts +2 -2
  54. package/dist/lib/mappings.d.ts +2 -2
  55. package/dist/lib/salaryRange.cjs +355 -11
  56. package/dist/lib/salaryRange.cjs.map +1 -1
  57. package/dist/lib/salaryRange.d.cts +2 -1
  58. package/dist/lib/salaryRange.d.ts +2 -1
  59. package/dist/lib/salaryRange.js +361 -11
  60. package/dist/lib/salaryRange.js.map +1 -1
  61. package/dist/services/displayText.d.cts +2 -2
  62. package/dist/services/displayText.d.ts +2 -2
  63. package/dist/styles/globals.css +9 -0
  64. package/dist/styles/globals.css.map +1 -1
  65. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  66. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  67. package/dist/types/index.d.cts +5 -5
  68. package/dist/types/index.d.ts +5 -5
  69. package/dist/types/latest/company_service_latest.d.cts +1 -1
  70. package/dist/types/latest/company_service_latest.d.ts +1 -1
  71. package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
  72. package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
  73. package/dist/types/latest/custom/custom_sanity_models.d.cts +2 -2
  74. package/dist/types/latest/custom/custom_sanity_models.d.ts +2 -2
  75. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
  76. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
  77. package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
  78. package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
  79. package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
  80. package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/dist/{company_service_latest-DFxfjA2x.d.cts → company_service_latest-BmiEQ4dO.d.cts} +1001 -1001
  83. package/dist/{company_service_latest-DFxfjA2x.d.ts → company_service_latest-BmiEQ4dO.d.ts} +1001 -1001
  84. package/dist/{job_posting_service_latest-B5tqLSgo.d.cts → job_posting_service_latest-C6TSGfcJ.d.cts} +986 -986
  85. package/dist/{job_posting_service_latest-B5tqLSgo.d.ts → job_posting_service_latest-C6TSGfcJ.d.ts} +986 -986
  86. package/dist/{job_posting_service_latest-DOGQ9tEu.d.cts → job_posting_service_latest-duSSyFvo.d.cts} +1 -1
  87. package/dist/{job_posting_service_latest-DOGQ9tEu.d.ts → job_posting_service_latest-duSSyFvo.d.ts} +1 -1
  88. package/dist/{shared_pickle_output_latest-Bwfg5B4p.d.cts → shared_pickle_output_latest--XZhOUyE.d.cts} +48 -48
  89. package/dist/{shared_pickle_output_latest-Bwfg5B4p.d.ts → shared_pickle_output_latest--XZhOUyE.d.ts} +48 -48
@@ -492,7 +492,7 @@ var import_jsx_runtime12 = require("react/jsx-runtime");
492
492
  function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
493
493
  const { history } = useWindowHistory();
494
494
  const router = (0, import_navigation2.useRouter)();
495
- const isAcceptedRoute = (r) => !!acceptedRoutes?.find((route) => new RegExp("^" + route + "$", "i").test(r));
495
+ const isAcceptedRoute = (r) => !!acceptedRoutes?.find((route) => new RegExp("^" + route + "$", "i").test(new URL(r).pathname));
496
496
  const goBack = () => {
497
497
  const previous = history[history.length - 2];
498
498
  if (history.length > 1 && isAcceptedRoute(previous)) {
@@ -1199,7 +1199,23 @@ function formattedJobLocation(job) {
1199
1199
  return [address, remote].filter(Boolean).join(" | ");
1200
1200
  }
1201
1201
 
1202
- // src/types/data/shared_pickle_output_latest.ts
1202
+ // src/types/latest/company_service_latest.ts
1203
+ var import_zod2 = require("zod");
1204
+
1205
+ // src/types/latest/shared_pickle_output_latest.ts
1206
+ var shared_pickle_output_latest_exports = {};
1207
+ __export(shared_pickle_output_latest_exports, {
1208
+ CurrencyEnum: () => CurrencyEnum,
1209
+ DetailLevelEnum: () => DetailLevelEnum,
1210
+ TypeEnum: () => TypeEnum,
1211
+ UnitTextEnum: () => UnitTextEnum,
1212
+ imageAssetSchema: () => imageAssetSchema,
1213
+ imageSchema: () => imageSchema,
1214
+ monetaryAmountSchema: () => monetaryAmountSchema,
1215
+ placeSchema: () => placeSchema,
1216
+ postalAddressSchema: () => postalAddressSchema,
1217
+ quantitativeValueSchema: () => quantitativeValueSchema
1218
+ });
1203
1219
  var import_zod = require("zod");
1204
1220
  var TypeEnum = import_zod.z.enum(["IMAGE"]);
1205
1221
  var DetailLevelEnum = import_zod.z.enum(["COUNTRY", "GEO", "LOCALITY", "POSTAL_CODE", "REGION"]);
@@ -1262,23 +1278,351 @@ var imageSchema = import_zod.z.object({
1262
1278
  asset: import_zod.z.optional(imageAssetSchema).describe("The asset for the image")
1263
1279
  });
1264
1280
 
1281
+ // src/types/latest/company_service_latest.ts
1282
+ var TypeEnum2 = import_zod2.z.enum(["OFFICE"]);
1283
+ var CategoryEnum = import_zod2.z.enum(["FINANCIAL", "HEALTH", "PROFESSIONAL_DEVELOPMENT", "WORK_LIFE_BALANCE"]);
1284
+ var TitleEnum = import_zod2.z.enum(["DMD", "JD", "MBA", "MD", "MHA", "MPH", "PT", "PH_D", "RN"]);
1285
+ var PublishStatusEnum = import_zod2.z.enum(["DRAFT", "IN_REVIEW", "PUBLISHED", "REMOVED"]);
1286
+ var OfficeTypeEnum = import_zod2.z.enum(["BRANCH", "HEADQUARTERS", "SATELLITE"]);
1287
+ var socialMediaSchema = import_zod2.z.object({
1288
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1289
+ url: import_zod2.z.string().describe("The link to the social media platform"),
1290
+ type: import_zod2.z.string().describe("The type of social media link")
1291
+ });
1292
+ var companyBenefitsSchema = import_zod2.z.object({
1293
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1294
+ type: import_zod2.z.string().describe("Document type used for schema"),
1295
+ title: import_zod2.z.string(),
1296
+ description: import_zod2.z.optional(import_zod2.z.string()),
1297
+ category: CategoryEnum
1298
+ });
1299
+ var industrySchema = import_zod2.z.lazy(() => import_zod2.z.object({
1300
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1301
+ type: import_zod2.z.string().describe("Document type used for schema"),
1302
+ name: import_zod2.z.string(),
1303
+ description: import_zod2.z.optional(import_zod2.z.string()).describe("A brief description of the industry"),
1304
+ onetIndustryId: import_zod2.z.optional(import_zod2.z.string()).describe("ONET industry ID"),
1305
+ parent: import_zod2.z.optional(industrySchema)
1306
+ }));
1307
+ var jobBoardSchema = import_zod2.z.object({
1308
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1309
+ type: import_zod2.z.string().describe("Document type used for schema"),
1310
+ name: import_zod2.z.string().describe("The name of the job board"),
1311
+ description: import_zod2.z.string().describe("A brief description of the job board"),
1312
+ logo: import_zod2.z.optional(imageSchema).describe("The logo of the job board"),
1313
+ baseUrl: import_zod2.z.optional(import_zod2.z.string()).describe("The base URL of the job board")
1314
+ });
1315
+ var personSchema = import_zod2.z.object({
1316
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1317
+ type: import_zod2.z.string().describe("Document type used for schema"),
1318
+ firstName: import_zod2.z.string().describe("The first name of the person"),
1319
+ lastName: import_zod2.z.string().describe("The last name of the person"),
1320
+ title: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string())).describe("The titles of the degree of the person"),
1321
+ slug: import_zod2.z.string().describe("person slug - should be familyname-givenname-title(s)"),
1322
+ jobTitle: import_zod2.z.optional(import_zod2.z.string()).describe("The job title of the person"),
1323
+ isDoctor: import_zod2.z.optional(import_zod2.z.boolean()).describe("Is the person a doctor"),
1324
+ isMedical: import_zod2.z.optional(import_zod2.z.boolean()).describe("Are they of a medical background?"),
1325
+ isScientist: import_zod2.z.optional(import_zod2.z.boolean()).describe("Are they a scientist?"),
1326
+ image: import_zod2.z.optional(imageSchema).describe("The image of the person"),
1327
+ email: import_zod2.z.optional(import_zod2.z.string()).describe("The email of the person"),
1328
+ socialMedia: import_zod2.z.optional(import_zod2.z.array(socialMediaSchema)).describe("The social media links of the person"),
1329
+ telephone: import_zod2.z.optional(import_zod2.z.string()).describe("The telephone number of the person"),
1330
+ url: import_zod2.z.optional(import_zod2.z.string()).describe("The URL of the person"),
1331
+ address: import_zod2.z.optional(placeSchema).describe("The address of the person")
1332
+ });
1333
+ var companyCareersSchema = import_zod2.z.object({
1334
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1335
+ type: import_zod2.z.string().describe("Document type used for schema"),
1336
+ careersUrl: import_zod2.z.string().describe("The URL of the company careers page"),
1337
+ jobBoard: import_zod2.z.optional(jobBoardSchema),
1338
+ jobBoardSlug: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string())),
1339
+ companyBenefits: import_zod2.z.optional(import_zod2.z.array(companyBenefitsSchema)).describe("What are the specific benefits of that company. The benefit is generic.")
1340
+ });
1341
+ var companyPhilosophySchema = import_zod2.z.object({
1342
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1343
+ type: import_zod2.z.string().describe("Document type used for schema"),
1344
+ companyMission: import_zod2.z.optional(import_zod2.z.string()).describe("The mission statement of the company."),
1345
+ companyHow: import_zod2.z.optional(import_zod2.z.string()).describe("How does the company achieve its mission"),
1346
+ companyCulture: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string())).describe("What are some of the culture aspects of this company?")
1347
+ });
1348
+ var companyNdgSchema = import_zod2.z.object({
1349
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1350
+ type: import_zod2.z.string().describe("Document type used for schema"),
1351
+ companyWow: import_zod2.z.optional(import_zod2.z.string()).describe("What is the wow of this company?"),
1352
+ companyNdgTake: import_zod2.z.optional(import_zod2.z.string()).describe("What is the NDG POV on this company?"),
1353
+ companyBestFit: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string())),
1354
+ companyInterests: import_zod2.z.optional(import_zod2.z.array(import_zod2.z.string()))
1355
+ });
1356
+ var foundingInformationSchema = import_zod2.z.object({
1357
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1358
+ type: import_zod2.z.string().describe("Document type used for schema"),
1359
+ foundedDate: import_zod2.z.optional(import_zod2.z.string()),
1360
+ foundedCountry: import_zod2.z.optional(import_zod2.z.string()),
1361
+ foundedCity: import_zod2.z.optional(import_zod2.z.string()),
1362
+ founders: import_zod2.z.optional(import_zod2.z.array(personSchema))
1363
+ });
1364
+ var ngdMetadataSchema = import_zod2.z.object({
1365
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1366
+ type: import_zod2.z.string().describe("Document type used for schema"),
1367
+ lastScraped: import_zod2.z.optional(import_zod2.z.string()).describe("Date the last entity was scraped, if applicable"),
1368
+ scraperVersion: import_zod2.z.optional(import_zod2.z.string()),
1369
+ postProcessorVersion: import_zod2.z.optional(import_zod2.z.string()),
1370
+ uniqueRunId: import_zod2.z.optional(import_zod2.z.string()),
1371
+ postProcessorUniqueRunId: import_zod2.z.optional(import_zod2.z.string()),
1372
+ isScrapeManaged: import_zod2.z.optional(import_zod2.z.boolean()).default(true)
1373
+ });
1374
+ var companySchema = import_zod2.z.object({
1375
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1376
+ id: import_zod2.z.string().describe("The NDG specific id for a company. Cannot be changed."),
1377
+ createdAt: import_zod2.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1378
+ updatedAt: import_zod2.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1379
+ companyName: import_zod2.z.string().describe("The name of the company"),
1380
+ slug: import_zod2.z.string().describe("The NDG specific slug for a company."),
1381
+ type: import_zod2.z.string().describe("Document type used for schema"),
1382
+ logo: import_zod2.z.optional(imageSchema).describe("The logo of the company"),
1383
+ companyWebsite: import_zod2.z.optional(import_zod2.z.string()).describe("The website of the company"),
1384
+ socialMedia: import_zod2.z.optional(import_zod2.z.array(socialMediaSchema)).describe("The social media links of the company"),
1385
+ brandColor: import_zod2.z.optional(import_zod2.z.string()).describe("The brand color of the company"),
1386
+ companyCareers: import_zod2.z.optional(companyCareersSchema).describe("Career Specific Information for the company."),
1387
+ companyPhilosophy: import_zod2.z.optional(companyPhilosophySchema).describe("Company mission,values and how the company achieves its mission."),
1388
+ companyNdg: import_zod2.z.optional(companyNdgSchema).describe("Next Degree specific information for the company."),
1389
+ foundingInfo: import_zod2.z.optional(foundingInformationSchema),
1390
+ headquartersLocation: import_zod2.z.optional(placeSchema),
1391
+ employeeEstimate: import_zod2.z.optional(import_zod2.z.string()),
1392
+ publishStatus: import_zod2.z.optional(import_zod2.z.string()),
1393
+ ngdMetadata: import_zod2.z.optional(ngdMetadataSchema)
1394
+ });
1395
+ var officeSchema = import_zod2.z.object({
1396
+ version: import_zod2.z.literal("1.0.0").default("1.0.0"),
1397
+ type: import_zod2.z.string().describe("Document type used for schema"),
1398
+ name: import_zod2.z.string().describe("Name or nickname for the office (e.g., 'NYC HQ', 'West Coast Branch')"),
1399
+ officeType: OfficeTypeEnum,
1400
+ companyId: import_zod2.z.optional(companySchema),
1401
+ geoLocation: import_zod2.z.optional(placeSchema).describe("Geographical location details: coordinates + postal address"),
1402
+ createdAt: import_zod2.z.optional(import_zod2.z.string()),
1403
+ updatedAt: import_zod2.z.optional(import_zod2.z.string())
1404
+ });
1405
+
1406
+ // src/types/latest/job_posting_service_latest.ts
1407
+ var import_zod3 = require("zod");
1408
+ var TypeEnum3 = import_zod3.z.enum(["JOB_POST"]);
1409
+ var JobLocationTypeEnum = import_zod3.z.enum(["FLOAT", "HYBRID", "ONSITE", "REMOTE"]);
1410
+ var EmploymentTypeEnum = import_zod3.z.enum(["CONTRACT", "FULL_TIME", "INTERNSHIP", "OTHER", "PART_TIME", "PER_DIEM", "TEMPORARY"]);
1411
+ var EmploymentLevelEnum = import_zod3.z.enum(["DIRECTOR", "ENTRY_LEVEL", "EXECUTIVE", "EXPERIENCED", "INTERN", "MANAGER"]);
1412
+ var JobFunctionEnum = import_zod3.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"]);
1413
+ var PublishStatusEnum2 = import_zod3.z.enum(["DRAFT", "IN_REVIEW", "PUBLISHED", "REMOVED"]);
1414
+ var BestFitEnum = import_zod3.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"]);
1415
+ var ClinicalLicenseEnum = import_zod3.z.enum(["CNA", "CNM", "CNS", "COTA", "CRNA", "LPN", "LVN", "NP", "OT", "PT", "PTA", "RN"]);
1416
+ var ShiftEnum = import_zod3.z.enum(["DAY", "EIGHT_HOUR", "EVENING", "FLEXIBLE", "MID_SHIFT", "MONDAY_TO_FRIDAY", "NIGHT", "ON_CALL", "TEN_HOUR", "TWELVE_HOUR", "WEEKENDS"]);
1417
+ var ClinicalSettingEnum = import_zod3.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"]);
1418
+ var ClinicalSpecialtyEnum = import_zod3.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"]);
1419
+ var jobPostSchema = import_zod3.z.object({
1420
+ version: import_zod3.z.literal("1.0.0").default("1.0.0"),
1421
+ id: import_zod3.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."),
1422
+ type: import_zod3.z.string().describe("Document type used for schema"),
1423
+ createdAt: import_zod3.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1424
+ updatedAt: import_zod3.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1425
+ dateAdded: import_zod3.z.optional(import_zod3.z.string().datetime()).describe("The date the job was added to the platform"),
1426
+ datePosted: import_zod3.z.optional(import_zod3.z.string().datetime()).describe("The date the job was published for public viewing"),
1427
+ dateRemoved: import_zod3.z.optional(import_zod3.z.string().datetime()).describe("The date the job was removed from public viewing"),
1428
+ validThrough: import_zod3.z.optional(import_zod3.z.string().datetime()).describe("The date the job posting is valid through. After this date it will be removed from public viewing"),
1429
+ vacancyCount: import_zod3.z.optional(import_zod3.z.number().int()).describe("The number of vacancies for a given job posting"),
1430
+ clientId: import_zod3.z.string().describe("The ID assigned by the client to a job - normally the same as the GH / Lever / Ashby ID or internal ID"),
1431
+ url: import_zod3.z.string().describe("The URL of the job to be displayed for users to apply with. Direct job link."),
1432
+ title: import_zod3.z.string().describe("The title of the job post"),
1433
+ description: import_zod3.z.string().describe("The description of the job post saved as markdown. Used for rendering the job description."),
1434
+ richTextDescription: import_zod3.z.optional(import_zod3.z.string()).describe("The description of the job post saved as rich text"),
1435
+ isClinical: import_zod3.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."),
1436
+ isRemote: import_zod3.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)."),
1437
+ isVerified: import_zod3.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."),
1438
+ isDirectApply: import_zod3.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."),
1439
+ jobLocationType: import_zod3.z.optional(import_zod3.z.array(JobLocationTypeEnum)),
1440
+ employmentType: import_zod3.z.optional(import_zod3.z.array(EmploymentTypeEnum)),
1441
+ employmentLevel: import_zod3.z.optional(EmploymentLevelEnum),
1442
+ jobFunction: import_zod3.z.optional(JobFunctionEnum),
1443
+ publishStatus: PublishStatusEnum2,
1444
+ bestFit: import_zod3.z.optional(import_zod3.z.array(BestFitEnum)),
1445
+ clinicalLicense: import_zod3.z.optional(import_zod3.z.array(ClinicalLicenseEnum)),
1446
+ shift: import_zod3.z.optional(import_zod3.z.array(ShiftEnum)),
1447
+ clinicalSetting: import_zod3.z.optional(import_zod3.z.array(ClinicalSettingEnum)),
1448
+ clinicalSpecialty: import_zod3.z.optional(import_zod3.z.array(ClinicalSpecialtyEnum)),
1449
+ estimatedSalary: import_zod3.z.optional(monetaryAmountSchema).describe("Determines the estimated salary for a given job posting"),
1450
+ jobLocation: import_zod3.z.optional(postalAddressSchema).describe("Determines the primary physical location where the job is to be performed. For remote roles, use applicantLocationRequirements"),
1451
+ applicableOffices: import_zod3.z.optional(import_zod3.z.array(officeSchema)).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."),
1452
+ 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."),
1453
+ hiringOrganization: import_zod3.z.optional(companySchema).describe("The organization that is hiring for the role")
1454
+ });
1455
+
1456
+ // src/types/latest/custom/company_service_sanity.ts
1457
+ var import_zod5 = require("zod");
1458
+
1459
+ // src/types/latest/custom/custom_sanity_models.ts
1460
+ var import_zod4 = require("zod");
1461
+ var sanityReferenceSchema = import_zod4.z.object({
1462
+ _ref: import_zod4.z.string(),
1463
+ _type: import_zod4.z.string(),
1464
+ _key: import_zod4.z.optional(import_zod4.z.string())
1465
+ });
1466
+ var sanitySlugSchema = import_zod4.z.object({
1467
+ current: import_zod4.z.string(),
1468
+ _type: import_zod4.z.string(),
1469
+ _key: import_zod4.z.optional(import_zod4.z.string())
1470
+ });
1471
+
1472
+ // src/types/latest/custom/company_service_sanity.ts
1473
+ var foundingInformationSchema2 = foundingInformationSchema.extend({
1474
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("companyFounding"),
1475
+ founders: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(personSchema), import_zod5.z.array(sanityReferenceSchema)])).nullable(),
1476
+ founderList: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(personSchema), import_zod5.z.array(sanityReferenceSchema)])).nullable()
1477
+ }).omit({ type: true }).strict().transform((data) => ({
1478
+ ...data,
1479
+ type: data._type,
1480
+ founders: data.founders || data.founderList || void 0
1481
+ })).transform(({ _type, founderList, ...rest }) => rest);
1482
+ var companyNdgSchema2 = companyNdgSchema.extend({
1483
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("companyNDG"),
1484
+ companyNDGTake: import_zod5.z.string().nullable().describe("What is the NDG POV on this company?")
1485
+ }).omit({ type: true }).strict().transform((data) => ({
1486
+ ...data,
1487
+ type: data._type,
1488
+ companyNdgTake: data.companyNDGTake
1489
+ })).transform(({ _type, companyNDGTake, ...rest }) => rest);
1490
+ var ngdMetadataSchema2 = ngdMetadataSchema.extend({
1491
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("ndgMetadata")
1492
+ }).omit({ type: true }).transform((data) => ({
1493
+ ...data,
1494
+ type: data._type
1495
+ })).transform(({ _type, ...rest }) => rest);
1496
+ var companyPhilosophySchema2 = companyPhilosophySchema.extend({
1497
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("companyPhilosophy")
1498
+ }).omit({ type: true }).strict().transform((data) => ({
1499
+ ...data,
1500
+ type: data._type
1501
+ })).transform(({ _type, ...rest }) => rest);
1502
+ var companyCareersSchema2 = companyCareersSchema.extend({
1503
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("companyCareers"),
1504
+ companyBenefits: import_zod5.z.optional(import_zod5.z.array(
1505
+ import_zod5.z.union([companyBenefitsSchema, sanityReferenceSchema])
1506
+ )).nullable().describe("What are the specific benefits of that company. The benefit is generic."),
1507
+ jobBoard: import_zod5.z.union([jobBoardSchema, sanityReferenceSchema]).nullable(),
1508
+ jobBoardSlug: import_zod5.z.optional(import_zod5.z.union([import_zod5.z.array(import_zod5.z.string()), import_zod5.z.array(sanitySlugSchema)]))
1509
+ }).omit({ type: true }).strict().transform((data) => ({
1510
+ ...data,
1511
+ type: data._type
1512
+ })).transform(({ _type, ...rest }) => rest);
1513
+ var companySchema2 = companySchema.extend({
1514
+ _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."),
1515
+ _rev: import_zod5.z.string().nullable().describe("Revision number"),
1516
+ _type: import_zod5.z.string().describe("Document type used within sanity").default("company"),
1517
+ _createdAt: import_zod5.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1518
+ _updatedAt: import_zod5.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1519
+ companyCareers: companyCareersSchema2.nullable().describe("Career Specific Information for the company."),
1520
+ companyPhilosophy: companyPhilosophySchema2.nullable().describe("Company mission,values and how the company achieves its mission."),
1521
+ companyNDG: companyNdgSchema2.nullable().describe("Next Degree specific information for the company."),
1522
+ foundingInfo: foundingInformationSchema2.nullable(),
1523
+ slug: import_zod5.z.union([import_zod5.z.string(), sanitySlugSchema]).describe("The NDG specific slug for a company."),
1524
+ ndgMetadata: ngdMetadataSchema2.nullable(),
1525
+ logo: import_zod5.z.union([imageSchema, import_zod5.z.record(import_zod5.z.any())]).nullable().describe("The logo of the company"),
1526
+ //Deprecated Models
1527
+ logoImageURL: import_zod5.z.optional(import_zod5.z.string()).describe("The logo of the company"),
1528
+ industryList: import_zod5.z.optional(import_zod5.z.array(sanityReferenceSchema)).describe("The industry of the company")
1529
+ }).omit({ type: true, id: true, createdAt: true, updatedAt: true }).strict().transform((data) => ({
1530
+ ...data,
1531
+ type: data._type,
1532
+ id: data._id,
1533
+ createdAt: data._createdAt,
1534
+ updatedAt: data._updatedAt,
1535
+ rev: data._rev
1536
+ })).transform(({ _type, _id, _rev, _createdAt, _updatedAt, ...rest }) => rest);
1537
+
1538
+ // src/types/latest/custom/job_posting_service_sanity.ts
1539
+ var import_zod6 = require("zod");
1540
+ var JobPostTypeEnum = import_zod6.z.enum(["jobPost"]);
1541
+ var MonetaryAmountTypeEnum = import_zod6.z.enum(["monetaryAmount"]);
1542
+ var postalAddressSchema2 = postalAddressSchema.extend({
1543
+ _type: import_zod6.z.string().describe("Document type used within sanity").default("address")
1544
+ }).omit({ type: true }).strict().transform((data) => ({
1545
+ ...data,
1546
+ type: data._type
1547
+ })).transform(({ _type, ...rest }) => rest);
1548
+ var quantitativeValueSchema2 = quantitativeValueSchema.extend({
1549
+ _type: import_zod6.z.string().describe("Document type used within sanity").default("quantitativeValue")
1550
+ }).omit({ type: true }).strict().transform((data) => ({
1551
+ ...data,
1552
+ type: data._type
1553
+ })).transform(({ _type, ...rest }) => rest);
1554
+ var monetaryAmountSchema2 = monetaryAmountSchema.extend({
1555
+ _type: import_zod6.z.string().describe("Document type used within sanity").default("monetaryAmount"),
1556
+ value: quantitativeValueSchema2.optional().describe("The quantitative_value for a given salary")
1557
+ }).omit({ type: true }).strict().transform((data) => ({
1558
+ ...data,
1559
+ type: data._type
1560
+ })).transform(({ _type, ...rest }) => rest);
1561
+ var jobPostSchema2 = jobPostSchema.extend({
1562
+ // Override base fields with Sanity-specific fields
1563
+ _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-.*-.*$/),
1564
+ _rev: import_zod6.z.string().optional().describe("Revision number"),
1565
+ _type: import_zod6.z.string().describe("Document type used within sanity").default("jobPost"),
1566
+ _createdAt: import_zod6.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1567
+ _updatedAt: import_zod6.z.string().datetime().describe("Time document was created. Autoset by Sanity"),
1568
+ // Override fields with new schemas
1569
+ estimatedSalary: monetaryAmountSchema2.optional().describe("Determines the estimated salary for a given job posting"),
1570
+ jobLocation: postalAddressSchema2.optional().describe("Determines the primary physical location where the job is to be performed. For remote roles, use applicantLocationRequirements"),
1571
+ // Add Sanity-specific fields
1572
+ ndgMetadata: import_zod6.z.record(import_zod6.z.any()).optional(),
1573
+ ndgID: import_zod6.z.string().optional(),
1574
+ hiringOrganization: import_zod6.z.optional(import_zod6.z.union([sanityReferenceSchema, companySchema])),
1575
+ raw: import_zod6.z.record(import_zod6.z.any()).optional(),
1576
+ isLoaded: import_zod6.z.boolean().default(false),
1577
+ isVerified: import_zod6.z.boolean().default(false),
1578
+ needsReview: import_zod6.z.boolean().default(false),
1579
+ schema_version: import_zod6.z.string().optional(),
1580
+ origin: import_zod6.z.string().optional(),
1581
+ temp: import_zod6.z.record(import_zod6.z.any()).optional(),
1582
+ applicationType: import_zod6.z.string().optional(),
1583
+ // Override clientId to use Sanity naming convention
1584
+ clientID: import_zod6.z.string()
1585
+ }).omit({ type: true, id: true, createdAt: true, updatedAt: true, clientId: true }).transform((data) => ({
1586
+ ...data,
1587
+ type: data._type,
1588
+ id: data._id,
1589
+ createdAt: data._createdAt,
1590
+ updatedAt: data._updatedAt,
1591
+ rev: data._rev
1592
+ })).transform(({ _type, _id, _rev, _createdAt, _updatedAt, ...rest }) => rest);
1593
+
1265
1594
  // src/lib/salaryRange.ts
1595
+ var CurrencyEnum2 = shared_pickle_output_latest_exports.CurrencyEnum;
1266
1596
  function salaryRange(salary) {
1267
1597
  if (!salary) return null;
1268
- const min = salary.minValue;
1269
- const max = salary.maxValue;
1270
- const single = salary.singleValue;
1598
+ let min = salary.minValue;
1599
+ let max = salary.maxValue;
1600
+ let single = salary.singleValue;
1601
+ let value = salary.value;
1602
+ let unitText = "YEAR";
1271
1603
  const signs = {
1272
- [CurrencyEnum.Values.USD]: "$",
1273
- [CurrencyEnum.Values.GBP]: "\xA3",
1274
- [CurrencyEnum.Values.EUR]: "\u20AC"
1604
+ [CurrencyEnum2.Values.USD]: "$",
1605
+ [CurrencyEnum2.Values.GBP]: "\xA3",
1606
+ [CurrencyEnum2.Values.EUR]: "\u20AC"
1275
1607
  };
1276
- const sign = signs[salary.currency ?? CurrencyEnum.Values.USD];
1608
+ const sign = signs[salary.currency ?? CurrencyEnum2.Values.USD];
1609
+ if (value != null && typeof value === "object") {
1610
+ min = value.minValue;
1611
+ max = value.maxValue;
1612
+ single = value.value;
1613
+ unitText = value.unitText;
1614
+ }
1615
+ if (unitText === "YEAR") unitText = "per year";
1616
+ if (unitText === "MONTH") unitText = "per month";
1617
+ if (unitText === "WEEK") unitText = "per week";
1618
+ if (unitText === "DAY") unitText = "per day";
1619
+ if (unitText === "PER_ACTIVITY") unitText = "per activity";
1620
+ if (unitText === "HOUR") unitText = "per hour";
1277
1621
  if (min == null && max == null && single == null) return null;
1278
- if (single != null) return sign + single.toLocaleString();
1279
- if (min === max) return sign + min?.toLocaleString();
1622
+ if (single != null) return sign + single.toLocaleString() + " " + unitText;
1623
+ if (min === max) return sign + min?.toLocaleString() + " " + unitText;
1280
1624
  if (min != null && max != null)
1281
- return sign + min?.toLocaleString() + " - " + sign + max?.toLocaleString();
1625
+ return sign + min?.toLocaleString() + " - " + sign + max?.toLocaleString() + " " + unitText;
1282
1626
  return null;
1283
1627
  }
1284
1628
 
@@ -1291,6 +1635,7 @@ function JobPost({
1291
1635
  standalone,
1292
1636
  avatarHref,
1293
1637
  fallbackHref,
1638
+ backAcceptedRoutes,
1294
1639
  actions
1295
1640
  }) {
1296
1641
  const formattedEmploymentType = useDisplayText("employmentType", job.employmentType);
@@ -1348,6 +1693,7 @@ function JobPost({
1348
1693
  standalone,
1349
1694
  avatarHref,
1350
1695
  backFallbackHref: fallbackHref,
1696
+ backAcceptedRoutes,
1351
1697
  tags
1352
1698
  }
1353
1699
  ),