@scalant/resume-builder 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39493,6 +39493,54 @@ In the Skills section, include popular Programming languages, libraries and tool
39493
39493
  Include elaborate Projects or Business Cases done outside work if your tech work experience is under 2 years and you do not have enough impactful work-related items.
39494
39494
  `
39495
39495
  }
39496
+ }, DEFAULT_TEMPLATE_CONFIG = {
39497
+ fresher: {
39498
+ sections: [
39499
+ {
39500
+ name: "PersonalDetails",
39501
+ config: {
39502
+ view: "view1"
39503
+ }
39504
+ },
39505
+ {
39506
+ name: "Skills",
39507
+ config: {
39508
+ view: "view1"
39509
+ }
39510
+ },
39511
+ {
39512
+ name: "Experience",
39513
+ config: {
39514
+ view: "view1"
39515
+ }
39516
+ },
39517
+ {
39518
+ name: "Projects",
39519
+ config: {
39520
+ view: "view1"
39521
+ }
39522
+ },
39523
+ {
39524
+ name: "Achievements",
39525
+ config: {
39526
+ view: "view1"
39527
+ }
39528
+ },
39529
+ {
39530
+ name: "Education",
39531
+ config: {
39532
+ view: "view1"
39533
+ }
39534
+ },
39535
+ {
39536
+ name: "CustomSection",
39537
+ config: {
39538
+ view: "view1"
39539
+ },
39540
+ page: 1
39541
+ }
39542
+ ]
39543
+ }
39496
39544
  }, initialState$4 = {
39497
39545
  isOnboarding: !0,
39498
39546
  currentStep: 0,
@@ -42377,7 +42425,8 @@ const dynamicBaseQuery = (C, $, F) => fn(null, null, function* () {
42377
42425
  form_stage: "resume_preference_details_form",
42378
42426
  total_experience: ie,
42379
42427
  experience: se,
42380
- job_title: ne == null ? void 0 : ne.currentJobRole
42428
+ job_title: ne == null ? void 0 : ne.currentJobRole,
42429
+ scaler_resume_template_structure: DEFAULT_TEMPLATE_CONFIG
42381
42430
  };
42382
42431
  try {
42383
42432
  yield re({
@@ -42666,11 +42715,7 @@ const dynamicBaseQuery = (C, $, F) => fn(null, null, function* () {
42666
42715
  linkedin: se.linkedIn,
42667
42716
  github: se.github,
42668
42717
  portfolio: se.personalWebsite,
42669
- scaler_resume_template_structure: (V == null ? void 0 : V.scaler_resume_template_structure) || {},
42670
- isPopulated: !0,
42671
- bio: "",
42672
- upgrade: !1,
42673
- ctc_currency: 0
42718
+ isPopulated: !0
42674
42719
  };
42675
42720
  C == null || C(), yield ee({
42676
42721
  resumeId: (de = V == null ? void 0 : V.resume_details) == null ? void 0 : de.id,
@@ -52305,8 +52350,13 @@ function requireLib() {
52305
52350
  var libExports = requireLib();
52306
52351
  const ReactQuill = /* @__PURE__ */ getDefaultExportFromCjs(libExports), quill = "_quill_1fivm_1", styles$8 = {
52307
52352
  quill
52308
- }, RichTextEditor = ({ form: C, fieldName: $, placeholder: F = "Enter text..." }) => {
52309
- const V = {
52353
+ }, RichTextEditor = ({
52354
+ form: C,
52355
+ fieldName: $,
52356
+ placeholder: F = "Enter text...",
52357
+ onValuesChange: V
52358
+ }) => {
52359
+ const K = {
52310
52360
  toolbar: [
52311
52361
  [{ header: [1, 2, 3, !1] }],
52312
52362
  ["bold", "italic", "underline", "strike"],
@@ -52314,7 +52364,7 @@ const ReactQuill = /* @__PURE__ */ getDefaultExportFromCjs(libExports), quill =
52314
52364
  ["link"],
52315
52365
  ["clean"]
52316
52366
  ]
52317
- }, K = [
52367
+ }, J = [
52318
52368
  "header",
52319
52369
  "bold",
52320
52370
  "italic",
@@ -52328,15 +52378,13 @@ const ReactQuill = /* @__PURE__ */ getDefaultExportFromCjs(libExports), quill =
52328
52378
  ReactQuill,
52329
52379
  {
52330
52380
  theme: "snow",
52331
- modules: V,
52332
- formats: K,
52381
+ modules: K,
52382
+ formats: J,
52333
52383
  placeholder: F,
52334
52384
  className: styles$8.quill,
52335
52385
  value: C.getFieldValue($),
52336
- onChange: (J) => {
52337
- C.setFieldsValue({ [$]: J });
52338
- const ee = C.getFieldsValue();
52339
- C.onValuesChange && C.onValuesChange({ [$]: J }, ee);
52386
+ onChange: (ee) => {
52387
+ C.setFieldsValue({ [$]: ee }), V && V({ [$]: ee }, C.getFieldsValue());
52340
52388
  }
52341
52389
  }
52342
52390
  );
@@ -52344,7 +52392,8 @@ const ReactQuill = /* @__PURE__ */ getDefaultExportFromCjs(libExports), quill =
52344
52392
  RichTextEditor.propTypes = {
52345
52393
  form: PropTypes.object.isRequired,
52346
52394
  fieldName: PropTypes.string.isRequired,
52347
- placeholder: PropTypes.string
52395
+ placeholder: PropTypes.string,
52396
+ onValuesChange: PropTypes.func
52348
52397
  };
52349
52398
  const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, required: F = !1 }) => {
52350
52399
  var ae, oe;
@@ -52421,7 +52470,8 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52421
52470
  {
52422
52471
  form: J,
52423
52472
  fieldName: "description",
52424
- placeholder: "Enter Key Points"
52473
+ placeholder: "Enter Key Points",
52474
+ onValuesChange: ee
52425
52475
  }
52426
52476
  )
52427
52477
  ),
@@ -52497,9 +52547,6 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52497
52547
  title: ie.formData.title,
52498
52548
  description: ie.formData.description,
52499
52549
  project_link: ie.formData.project_link,
52500
- data_source: "careers_hub",
52501
- workplace_type: null,
52502
- workplace_id: null,
52503
52550
  user_id: V == null ? void 0 : V.user_id
52504
52551
  })), oe = () => fn(null, null, function* () {
52505
52552
  var de;
@@ -52723,7 +52770,8 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52723
52770
  {
52724
52771
  form: J,
52725
52772
  fieldName: "short_description",
52726
- placeholder: "Enter Description"
52773
+ placeholder: "Enter Description",
52774
+ onValuesChange: ee
52727
52775
  }
52728
52776
  ))
52729
52777
  )) : /* @__PURE__ */ React__default.createElement(Card, { key: C.id }, /* @__PURE__ */ React__default.createElement(Flex, { justify: "space-between", align: "center" }, /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 4 }, /* @__PURE__ */ React__default.createElement(Text$4, { strong: !0 }, (oe = C.formData) != null && oe.university ? (ne = C.formData) == null ? void 0 : ne.university : "---"), /* @__PURE__ */ React__default.createElement(Text$4, null, (ie = C.formData) != null && ie.degree ? `${C.formData.degree}, ` : "---", /* @__PURE__ */ React__default.createElement(Divider, { type: "vertical" }), (se = C.formData) != null && se.graduation_date ? `${C.formData.graduation_date.format("YYYY")}` : "---")), /* @__PURE__ */ React__default.createElement(RefIcon$y, { onClick: te })));
@@ -52806,27 +52854,13 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52806
52854
  );
52807
52855
  }, ae = (ne) => ne.map((ie) => ({
52808
52856
  id: ie.id,
52809
- university: ie.formData.institute,
52857
+ university: ie.formData.university,
52810
52858
  degree: ie.formData.degree,
52811
- field: ie.formData.branch,
52812
- marks: ie.formData.grades,
52813
- marks_type: ie.formData.gradeType,
52859
+ field: ie.formData.field,
52860
+ marks: ie.formData.marks,
52861
+ marks_type: ie.formData.grade_type,
52814
52862
  graduation_date: ie.formData.graduation_date,
52815
52863
  short_description: ie.formData.short_description,
52816
- data_source: "careers_hub",
52817
- university_city: null,
52818
- math_score: null,
52819
- math_score_type: null,
52820
- show_marks_in_resume: !1,
52821
- show_branch_in_resume: !1,
52822
- user_id: V == null ? void 0 : V.user_id,
52823
- creator: null,
52824
- degree_free_text: null,
52825
- field_free_text: null,
52826
- projects: null,
52827
- board: null,
52828
- from: null,
52829
- to: null,
52830
52864
  created_at: (/* @__PURE__ */ new Date()).toISOString(),
52831
52865
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
52832
52866
  })), oe = () => fn(null, null, function* () {
@@ -52843,7 +52877,7 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52843
52877
  const ce = {
52844
52878
  form_stage: "education_details_form",
52845
52879
  isPopulated: !0,
52846
- education: se
52880
+ educations: se
52847
52881
  };
52848
52882
  C == null || C(), yield ee({
52849
52883
  resumeId: (de = V == null ? void 0 : V.resume_details) == null ? void 0 : de.id,
@@ -52969,7 +53003,8 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
52969
53003
  {
52970
53004
  form: J,
52971
53005
  fieldName: "short_description",
52972
- placeholder: "Enter Key Points"
53006
+ placeholder: "Enter Key Points",
53007
+ onValuesChange: ee
52973
53008
  }
52974
53009
  ))
52975
53010
  )) : /* @__PURE__ */ React__default.createElement(Card, { key: C.id }, /* @__PURE__ */ React__default.createElement(Flex, { justify: "space-between", align: "center" }, /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 4 }, /* @__PURE__ */ React__default.createElement(Text$3, { strong: !0 }, (ae = C.formData) == null ? void 0 : ae.company), /* @__PURE__ */ React__default.createElement(Text$3, null, (oe = C.formData) != null && oe.position ? `${(ne = C.formData) == null ? void 0 : ne.position}, ` : "---", /* @__PURE__ */ React__default.createElement(Divider, { type: "vertical" }), (ie = C.formData) != null && ie.from ? `${(se = C.formData) == null ? void 0 : se.from.format("YYYY")}` : "---", "-", (de = C.formData) != null && de.to ? `${(ce = C.formData) == null ? void 0 : ce.to.format("YYYY")}` : (le = C.formData) != null && le.is_current ? "Present" : "---")), /* @__PURE__ */ React__default.createElement(RefIcon$y, { onClick: te })));
@@ -53090,10 +53125,7 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
53090
53125
  const ce = {
53091
53126
  form_stage: "work_experience_details_form",
53092
53127
  isPopulated: !0,
53093
- upgrade: !1,
53094
- previous_experience: se,
53095
- projects: [],
53096
- achievements: []
53128
+ previous_experiences: se
53097
53129
  };
53098
53130
  C == null || C(), yield ee({
53099
53131
  resumeId: (de = V == null ? void 0 : V.resume_details) == null ? void 0 : de.id,
@@ -53130,13 +53162,19 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
53130
53162
  const F = useDispatch(), V = useSelector(
53131
53163
  (ee) => ee.scalantResumeBuilder.formStore.forms[$]
53132
53164
  ), [K] = Form.useForm(), J = (ee, te) => {
53133
- const ae = ((V == null ? void 0 : V.achievementsItems) || []).map(
53134
- (oe) => oe.id === C.id ? dn(Jr({}, oe), { formData: te, saved: !0 }) : oe
53165
+ const re = (V == null ? void 0 : V.achievementsItems) || [C], ae = re.findIndex(
53166
+ (ne) => ne.id === C.id
53135
53167
  );
53136
- F(
53168
+ let oe;
53169
+ ae === -1 ? oe = [
53170
+ ...re,
53171
+ dn(Jr({}, C), { formData: te, saved: !0 })
53172
+ ] : oe = re.map(
53173
+ (ne) => ne.id === C.id ? dn(Jr({}, ne), { formData: te, saved: !0 }) : ne
53174
+ ), F(
53137
53175
  updateFormData({
53138
53176
  formId: $,
53139
- data: { achievementsItems: ae }
53177
+ data: { achievementsItems: oe }
53140
53178
  })
53141
53179
  );
53142
53180
  };
@@ -53154,7 +53192,8 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
53154
53192
  {
53155
53193
  form: K,
53156
53194
  fieldName: "description",
53157
- placeholder: "Enter your achievements description"
53195
+ placeholder: "Enter your achievements description",
53196
+ onValuesChange: J
53158
53197
  }
53159
53198
  ))
53160
53199
  );
@@ -53170,20 +53209,21 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
53170
53209
  }
53171
53210
  ]
53172
53211
  }, CustomForm = ({ onComplete: C }) => {
53212
+ var re;
53173
53213
  const $ = useDispatch(), F = useSelector(
53174
- (re) => re.scalantResumeBuilder.resumeBuilder.resumeData
53214
+ (ae) => ae.scalantResumeBuilder.resumeBuilder.resumeData
53175
53215
  ), V = useSelector(
53176
- (re) => re.scalantResumeBuilder.formStore.forms[FORM_ID]
53216
+ (ae) => ae.scalantResumeBuilder.formStore.forms[FORM_ID]
53177
53217
  ), K = useSelector(
53178
- (re) => re.scalantResumeBuilder.formStore.initializedForms[FORM_ID]
53218
+ (ae) => ae.scalantResumeBuilder.formStore.initializedForms[FORM_ID]
53179
53219
  ), [J] = useUpdateResumeDetailsMutation(), ee = useMemo$1(
53180
53220
  () => F != null && F.achievements ? {
53181
- achievementsItems: F.achievements.map((re) => ({
53182
- id: re.id,
53221
+ achievementsItems: F.achievements.map((ae) => ({
53222
+ id: ae.id,
53183
53223
  completed: !0,
53184
53224
  saved: !0,
53185
53225
  formData: {
53186
- description: re.description
53226
+ description: ae.description
53187
53227
  }
53188
53228
  }))
53189
53229
  } : initialFormData,
@@ -53193,33 +53233,42 @@ const { Text: Text$5 } = Typography, ProjectFormItem = ({ item: C, formId: $, re
53193
53233
  K || $(initializeForm({ formId: FORM_ID, initialData: ee }));
53194
53234
  }, [$, K, ee]);
53195
53235
  const te = () => fn(null, null, function* () {
53196
- var ne;
53197
- const re = (V == null ? void 0 : V.achievementsItems) || [];
53198
- if (re.some((ie) => !ie.saved)) {
53236
+ var ie;
53237
+ const ae = (V == null ? void 0 : V.achievementsItems) || [];
53238
+ if (ae.some((se) => !se.saved)) {
53199
53239
  staticMethods.error(
53200
53240
  "Please save all custom form items before marking as complete"
53201
53241
  );
53202
53242
  return;
53203
53243
  }
53204
- const oe = re.map((ie) => ({
53205
- id: ie.id,
53206
- description: ie.formData.description
53244
+ const ne = ae.map((se) => ({
53245
+ id: se.id,
53246
+ description: se.formData.description
53207
53247
  }));
53208
53248
  try {
53209
- const ie = {
53249
+ const se = {
53210
53250
  form_stage: "achievement_details_form",
53211
53251
  isPopulated: !0,
53212
- achievements: oe
53252
+ achievements: ne
53213
53253
  };
53214
53254
  C == null || C(), yield J({
53215
- resumeId: (ne = F == null ? void 0 : F.resume_details) == null ? void 0 : ne.id,
53216
- payload: ie
53255
+ resumeId: (ie = F == null ? void 0 : F.resume_details) == null ? void 0 : ie.id,
53256
+ payload: se
53217
53257
  }).unwrap(), staticMethods.success("Achievements updated successfully");
53218
- } catch (ie) {
53219
- staticMethods.error(`Failed to update achievements: ${ie.message}`);
53258
+ } catch (se) {
53259
+ staticMethods.error(`Failed to update achievements: ${se.message}`);
53220
53260
  }
53221
53261
  });
53222
- return /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 16 }, /* @__PURE__ */ React__default.createElement(Space, { direction: "vertical", style: { width: "100%" } }, /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 16 }, ((V == null ? void 0 : V.achievementsItems) || []).map((re) => /* @__PURE__ */ React__default.createElement(CustomFormItem, { key: re.id, item: re, formId: FORM_ID }))), /* @__PURE__ */ React__default.createElement(Flex, { gap: 16 }, /* @__PURE__ */ React__default.createElement(Button$1, { type: "primary", block: !0, onClick: te }, "Save and Compile"), /* @__PURE__ */ React__default.createElement(Button$1, { type: "default", onClick: te, block: !0 }, "Save and Next"))), /* @__PURE__ */ React__default.createElement(AiSuggestionBanner, null));
53262
+ return /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 16 }, /* @__PURE__ */ React__default.createElement(Space, { direction: "vertical", style: { width: "100%" } }, /* @__PURE__ */ React__default.createElement(Flex, { vertical: !0, gap: 16 }, ((re = V == null ? void 0 : V.achievementsItems) != null && re.length ? V.achievementsItems : [
53263
+ {
53264
+ id: null,
53265
+ completed: !1,
53266
+ saved: !1,
53267
+ formData: {
53268
+ description: ""
53269
+ }
53270
+ }
53271
+ ]).map((ae) => /* @__PURE__ */ React__default.createElement(CustomFormItem, { key: ae.id, item: ae, formId: FORM_ID }))), /* @__PURE__ */ React__default.createElement(Flex, { gap: 16 }, /* @__PURE__ */ React__default.createElement(Button$1, { type: "primary", block: !0, onClick: te }, "Save and Compile"), /* @__PURE__ */ React__default.createElement(Button$1, { type: "default", onClick: te, block: !0 }, "Save and Next"))), /* @__PURE__ */ React__default.createElement(AiSuggestionBanner, null));
53223
53272
  }, ALL_FORMS_KEYS = {
53224
53273
  personal_details: "personalDetails",
53225
53274
  projects: "projects",