@scalant/career-hub 7.4.0 → 7.4.2

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.
@@ -55231,6 +55231,11 @@ const useApplicationFormContext = () => {
55231
55231
  diversity: () => "Female Candidates Only",
55232
55232
  experience: ({ minExperience: C, maxExperience: $ }) => getExperienceText(C, $),
55233
55233
  notice_period: ({ preferredNoticePeriod: C }) => `${getNoticePeriodText(C)} Notice Period`
55234
+ }, ADDITIONAL_ELIGIBILITY_MAPPING_INELIGIBLE_REASONS = {
55235
+ experience: "Unfortunately! Your profile does not have the relevant years of experience for this role",
55236
+ notice_period: "Unfortunately! Your notice period is not compatible with the notice period required for this role",
55237
+ placed_mentee: "You are ineligible to apply to this job since the CTC offered is less than 1.6x CTC of your previous accepted job offer",
55238
+ diversity: "Unfortunately! Your gender does not match the gender criteria for this role"
55234
55239
  }, STATUS_MAP = {
55235
55240
  eligible: "Eligible",
55236
55241
  ineligible: "Ineligible"
@@ -75876,22 +75881,24 @@ function ResumePreview() {
75876
75881
  );
75877
75882
  }
75878
75883
  function ResumeChoiceSelect() {
75879
- const { setSelectedResume: C, fitmentCheckEnabled: $ } = useApplicationFormContext(), { jobProfileId: V } = useApplicationFormContext(), { data: F, isLoading: K } = useGetResumesEligibilityQuery({ jobProfileId: V });
75884
+ const { setSelectedResume: C, fitmentCheckEnabled: $, jobProfileId: V } = useApplicationFormContext(), { data: F, isLoading: K } = useGetResumesEligibilityQuery({ jobProfileId: V }), { analytics: J } = useJobPreview();
75880
75885
  return useGetFitmentQuery(
75881
75886
  { jobProfileId: V },
75882
75887
  { skip: !V || !$ }
75883
75888
  ), useEffect(() => {
75884
- var ee, te;
75889
+ var te, ne;
75885
75890
  if (!F)
75886
75891
  return;
75887
- const J = (te = (ee = Object.values(F).find(
75888
- (ne) => {
75889
- var re;
75890
- return (re = ne == null ? void 0 : ne.resume_details) == null ? void 0 : re.default;
75892
+ const ee = (ne = (te = Object.values(F).find(
75893
+ (re) => {
75894
+ var ae;
75895
+ return (ae = re == null ? void 0 : re.resume_details) == null ? void 0 : ae.default;
75891
75896
  }
75892
- )) == null ? void 0 : ee.resume_details) == null ? void 0 : te.id;
75893
- C(J);
75894
- }, [F, C]), K || !F ? /* @__PURE__ */ React__default.createElement(Skeleton$1, { active: !0 }) : /* @__PURE__ */ React__default.createElement(Flex$1, { className: styles$m.container }, /* @__PURE__ */ React__default.createElement(Flex$1, { flex: 1, vertical: !0, gap: 16 }, Object.entries(F).map(([J, ee]) => /* @__PURE__ */ React__default.createElement(ResumeChoiceOptionLabel, { key: J, value: ee }))), /* @__PURE__ */ React__default.createElement(Flex$1, { className: styles$m.resumePreviewContainer, flex: 1 }, /* @__PURE__ */ React__default.createElement(ResumePreview, null)));
75897
+ )) == null ? void 0 : te.resume_details) == null ? void 0 : ne.id;
75898
+ C(ee);
75899
+ }, [F, C]), useEffect(() => {
75900
+ J == null || J.view("Resume Choice Select - Render", PRODUCT_NAME);
75901
+ }, [J]), K || !F ? /* @__PURE__ */ React__default.createElement(Skeleton$1, { active: !0 }) : /* @__PURE__ */ React__default.createElement(Flex$1, { className: styles$m.container }, /* @__PURE__ */ React__default.createElement(Flex$1, { flex: 1, vertical: !0, gap: 16 }, Object.entries(F).map(([ee, te]) => /* @__PURE__ */ React__default.createElement(ResumeChoiceOptionLabel, { key: ee, value: te }))), /* @__PURE__ */ React__default.createElement(Flex$1, { className: styles$m.resumePreviewContainer, flex: 1 }, /* @__PURE__ */ React__default.createElement(ResumePreview, null)));
75895
75902
  }
75896
75903
  const container$4 = "_container_132pc_1", carouselContainer$1 = "_carouselContainer_132pc_6", dots = "_dots_132pc_12", title$2 = "_title_132pc_40", description$2 = "_description_132pc_46", iconContainer$1 = "_iconContainer_132pc_52", pulse = "_pulse_132pc_1", iconScannerLine = "_iconScannerLine_132pc_64", scan = "_scan_132pc_1", styles$l = {
75897
75904
  container: container$4,
@@ -76185,11 +76192,16 @@ const JobApplicationForm = ({
76185
76192
  exception,
76186
76193
  exceptionItem,
76187
76194
  exceptionsList
76195
+ }, InEligibleReason = () => {
76196
+ const { jobData: C } = useJobPreview(), { eligibilityCriteria: $ } = C || {}, { reasons: V } = $ || {}, F = V == null ? void 0 : V.find(
76197
+ (J) => J.label !== "skills" && J.showText && !J.isEligible
76198
+ ), K = ADDITIONAL_ELIGIBILITY_MAPPING_INELIGIBLE_REASONS[F == null ? void 0 : F.label];
76199
+ return K ? /* @__PURE__ */ React__default.createElement("div", { className: classNames(styles$g.actionAlert, styles$g.ineligible) }, /* @__PURE__ */ React__default.createElement(ExclamationCircleOutlined$1, null), /* @__PURE__ */ React__default.createElement("span", { className: styles$g.actionAlertTitle }, K)) : null;
76188
76200
  }, ActionAlert = ({ eligibilityStatus: C, metric: $, onScrollToEnd: V }) => {
76189
76201
  const { analytics: F, setActiveTab: K } = useJobPreview(), J = () => {
76190
76202
  K(JOB_BODY_TABS.REQUIREMENTS.key), V(), F == null || F.click("Job Highlights - Complete Tasks", PRODUCT_NAME);
76191
76203
  };
76192
- return C === ELIGIBILITY_TYPES.ineligible ? /* @__PURE__ */ React__default.createElement("div", { className: classNames(styles$g.actionAlert, styles$g.ineligible) }, /* @__PURE__ */ React__default.createElement(ExclamationCircleOutlined$1, null), /* @__PURE__ */ React__default.createElement("span", { className: styles$g.actionAlertTitle }, "Unfortunately! Your profile does not have the relevant years of experience for this role")) : C === ELIGIBILITY_TYPES.steps_to_apply ? /* @__PURE__ */ React__default.createElement(
76204
+ return C === ELIGIBILITY_TYPES.ineligible ? /* @__PURE__ */ React__default.createElement(InEligibleReason, null) : C === ELIGIBILITY_TYPES.steps_to_apply ? /* @__PURE__ */ React__default.createElement(
76193
76205
  ActionBanner,
76194
76206
  {
76195
76207
  icon: /* @__PURE__ */ React__default.createElement(ClockCircleTwoTone$1, { className: styles$g.actionAlertIcon }),
@@ -76550,22 +76562,22 @@ const tag = "_tag_5fhgn_1", styles$c = {
76550
76562
  },
76551
76563
  V
76552
76564
  ) : null;
76553
- }, EligibilityTag = ({ jobData: C, currentTab: $ }) => {
76554
- const { eligibilityCriteria: V, applicationStatus: F } = C || {}, K = determineJobTag(C, V);
76565
+ }, EligibilityTag = ({ jobData: C, currentTab: $, tagData: V }) => {
76566
+ const { applicationStatus: F } = C || {};
76555
76567
  if ($ === TAG_TO_TAB_MAPPING.applied)
76556
76568
  return /* @__PURE__ */ React__default.createElement(PipelineJobTag, { applicationStatus: F });
76557
- if (!K)
76569
+ if (!V)
76558
76570
  return null;
76559
- const J = ICON_MAP[K.icon];
76571
+ const K = ICON_MAP[V.icon];
76560
76572
  return /* @__PURE__ */ React__default.createElement(
76561
76573
  Tag$1,
76562
76574
  {
76563
- icon: J && /* @__PURE__ */ React__default.createElement(J, null),
76564
- color: K.antdColor,
76575
+ icon: K && /* @__PURE__ */ React__default.createElement(K, null),
76576
+ color: V.antdColor,
76565
76577
  className: styles$c.tag,
76566
- style: K.tag === "expired" ? { color: K.color, borderColor: K.color } : {}
76578
+ style: V.tag === "expired" ? { color: V.color, borderColor: V.color } : {}
76567
76579
  },
76568
- K.text
76580
+ V.text
76569
76581
  );
76570
76582
  };
76571
76583
  EligibilityTag.propTypes = {
@@ -76589,34 +76601,57 @@ EligibilityTag.propTypes = {
76589
76601
  EligibilityTag.defaultProps = {
76590
76602
  currentTab: "all"
76591
76603
  };
76592
- const JobCardActions = ({ jobData: C, currentTab: $ }) => /* @__PURE__ */ React__default.createElement("div", { className: styles$d.actions }, /* @__PURE__ */ React__default.createElement(EligibilityTag, { jobData: C, currentTab: $ }));
76604
+ const JobCardActions = ({ jobData: C, currentTab: $, tagData: V }) => /* @__PURE__ */ React__default.createElement("div", { className: styles$d.actions }, /* @__PURE__ */ React__default.createElement(
76605
+ EligibilityTag,
76606
+ {
76607
+ jobData: C,
76608
+ currentTab: $,
76609
+ tagData: V
76610
+ }
76611
+ ));
76593
76612
  JobCardActions.propTypes = {
76594
76613
  jobData: PropTypes.object.isRequired,
76595
- currentTab: PropTypes.string
76614
+ currentTab: PropTypes.string,
76615
+ tagData: PropTypes.object
76596
76616
  };
76597
76617
  JobCardActions.defaultProps = {
76598
- currentTab: "all"
76618
+ currentTab: "all",
76619
+ tagData: null
76599
76620
  };
76600
- const JobCardHeader = ({ jobData: C, companiesList: $, currentTab: V, isExpanded: F }) => {
76601
- var ee;
76602
- const K = C.roleType === "internship", J = C.companyName || C.company && C.company[0] && ((ee = $[C.company[0]]) == null ? void 0 : ee.name) || "";
76621
+ const JobCardHeader = ({
76622
+ jobData: C,
76623
+ companiesList: $,
76624
+ currentTab: V,
76625
+ isExpanded: F,
76626
+ tagData: K,
76627
+ isInternship: J
76628
+ }) => {
76629
+ var te;
76630
+ const ee = C.companyName || C.company && C.company[0] && ((te = $[C.company[0]]) == null ? void 0 : te.name) || "";
76603
76631
  return /* @__PURE__ */ React__default.createElement(Row$1, { gutter: [12, 8], className: styles$d.header }, /* @__PURE__ */ React__default.createElement(Col$1, { flex: "auto" }, /* @__PURE__ */ React__default.createElement(Row$1, { gutter: 12, align: "top", wrap: !1 }, /* @__PURE__ */ React__default.createElement(Col$1, null, /* @__PURE__ */ React__default.createElement(
76604
76632
  CompanyLogo,
76605
76633
  {
76606
76634
  logo: C.logo,
76607
76635
  company: C.company,
76608
76636
  companiesList: $,
76609
- companyName: J
76637
+ companyName: ee
76610
76638
  }
76611
76639
  )), /* @__PURE__ */ React__default.createElement(Col$1, { flex: "auto" }, /* @__PURE__ */ React__default.createElement(
76612
76640
  JobTitleAndCompany,
76613
76641
  {
76614
76642
  title: C.title,
76615
- companyName: J,
76643
+ companyName: ee,
76616
76644
  isExpanded: F,
76617
- isInternship: K
76645
+ isInternship: J
76646
+ }
76647
+ )))), /* @__PURE__ */ React__default.createElement(Flex$1, null, /* @__PURE__ */ React__default.createElement(
76648
+ JobCardActions,
76649
+ {
76650
+ jobData: C,
76651
+ currentTab: V,
76652
+ tagData: K
76618
76653
  }
76619
- )))), /* @__PURE__ */ React__default.createElement(Flex$1, null, /* @__PURE__ */ React__default.createElement(JobCardActions, { jobData: C, currentTab: V })));
76654
+ )));
76620
76655
  };
76621
76656
  JobCardHeader.propTypes = {
76622
76657
  jobData: PropTypes.object.isRequired,
@@ -76844,8 +76879,11 @@ const jobCard = "_jobCard_nu53j_1", expired = "_expired_nu53j_12", active = "_ac
76844
76879
  currentTab: F,
76845
76880
  isActive: V,
76846
76881
  jobData: $
76847
- }), ie = () => {
76848
- C == null || C.click("Job Card - Click", PRODUCT_NAME), K && K($.id);
76882
+ }), { eligibilityCriteria: ie, roleType: le } = $ || {}, ce = le === "internship", ue = determineJobTag($, ie), se = () => {
76883
+ K && K($.id), C == null || C.click("Job Card - Click", PRODUCT_NAME, {
76884
+ tag: ue == null ? void 0 : ue.text,
76885
+ isInternship: ce
76886
+ });
76849
76887
  };
76850
76888
  return /* @__PURE__ */ React__default.createElement(
76851
76889
  Card$1,
@@ -76858,7 +76896,7 @@ const jobCard = "_jobCard_nu53j_1", expired = "_expired_nu53j_12", active = "_ac
76858
76896
  },
76859
76897
  ne
76860
76898
  ),
76861
- onClick: ie
76899
+ onClick: se
76862
76900
  },
76863
76901
  /* @__PURE__ */ React__default.createElement("div", { className: styles$9.cardContent }, /* @__PURE__ */ React__default.createElement(
76864
76902
  JobCardHeader,
@@ -76866,7 +76904,9 @@ const jobCard = "_jobCard_nu53j_1", expired = "_expired_nu53j_12", active = "_ac
76866
76904
  jobData: $,
76867
76905
  companiesList: ee,
76868
76906
  currentTab: F,
76869
- isExpanded: !re
76907
+ isExpanded: !re,
76908
+ tagData: ue,
76909
+ isInternship: ce
76870
76910
  }
76871
76911
  ), oe && /* @__PURE__ */ React__default.createElement(
76872
76912
  JobCardBody,
@@ -77986,7 +78026,7 @@ const { Text } = Typography$1, STORAGE_KEY_PREFIX = "CAREERS_HUB_JOBS_V2_FEEDBAC
77986
78026
  TIME_SPENT: `${STORAGE_KEY_PREFIX}#feedback_time_spent`,
77987
78027
  SUBMITTED: `${STORAGE_KEY_PREFIX}#feedback_submitted`,
77988
78028
  SHOWN_COUNT: `${STORAGE_KEY_PREFIX}#feedback_shown_count`
77989
- }, TIME_THRESHOLD = 1 * 60, MAX_SHOW_COUNT = 3, Feedback = ({ analytics: C }) => {
78029
+ }, TIME_THRESHOLD = 7.5 * 60, MAX_SHOW_COUNT = 3, Feedback = ({ analytics: C }) => {
77990
78030
  const [$, V] = useState(!1), F = useRef(null), K = useRef(Date.now()), J = useRef(!1), ee = useRef(!1);
77991
78031
  useEffect(() => {
77992
78032
  const re = parseInt(
@@ -78052,7 +78092,8 @@ const { Text } = Typography$1, STORAGE_KEY_PREFIX = "CAREERS_HUB_JOBS_V2_FEEDBAC
78052
78092
  href: "https://www.google.com",
78053
78093
  target: "_blank"
78054
78094
  },
78055
- onOk: ne
78095
+ onOk: ne,
78096
+ centered: !0
78056
78097
  },
78057
78098
  /* @__PURE__ */ React__default.createElement(Text, null, "We recently made some changes to the careers hub and would love to hear your feedback!")
78058
78099
  );