@ginia/ui 0.1.1 → 0.1.4
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/components/domain/resume/resume-editor/resume-editor.cjs +13 -5
- package/dist/components/domain/resume/resume-editor/resume-editor.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/resume-editor.d.cts +1 -1
- package/dist/components/domain/resume/resume-editor/resume-editor.d.ts +1 -1
- package/dist/components/domain/resume/resume-editor/resume-editor.js +19 -6
- package/dist/components/domain/resume/resume-editor/resume-editor.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/academic-info.cjs +1 -1
- package/dist/components/domain/resume/resume-editor/sections/academic-info.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/academic-info.js +1 -1
- package/dist/components/domain/resume/resume-editor/sections/academic-info.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/activities.cjs +25 -11
- package/dist/components/domain/resume/resume-editor/sections/activities.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/activities.js +25 -11
- package/dist/components/domain/resume/resume-editor/sections/activities.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/certifications.cjs +27 -12
- package/dist/components/domain/resume/resume-editor/sections/certifications.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/certifications.js +27 -12
- package/dist/components/domain/resume/resume-editor/sections/certifications.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/education.cjs +25 -11
- package/dist/components/domain/resume/resume-editor/sections/education.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/education.js +25 -11
- package/dist/components/domain/resume/resume-editor/sections/education.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/experience.cjs +25 -11
- package/dist/components/domain/resume/resume-editor/sections/experience.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/experience.js +25 -11
- package/dist/components/domain/resume/resume-editor/sections/experience.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/personal-info.cjs +1 -1
- package/dist/components/domain/resume/resume-editor/sections/personal-info.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/personal-info.js +1 -1
- package/dist/components/domain/resume/resume-editor/sections/personal-info.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/preferences.cjs +2 -2
- package/dist/components/domain/resume/resume-editor/sections/preferences.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/preferences.js +2 -2
- package/dist/components/domain/resume/resume-editor/sections/preferences.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/requirements.cjs +19 -11
- package/dist/components/domain/resume/resume-editor/sections/requirements.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/requirements.js +29 -12
- package/dist/components/domain/resume/resume-editor/sections/requirements.js.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/skills.cjs +30 -10
- package/dist/components/domain/resume/resume-editor/sections/skills.cjs.map +1 -1
- package/dist/components/domain/resume/resume-editor/sections/skills.js +30 -10
- package/dist/components/domain/resume/resume-editor/sections/skills.js.map +1 -1
- package/dist/components/domain/resume/resume-preview/resume-preview.cjs +27 -11
- package/dist/components/domain/resume/resume-preview/resume-preview.cjs.map +1 -1
- package/dist/components/domain/resume/resume-preview/resume-preview.js +27 -11
- package/dist/components/domain/resume/resume-preview/resume-preview.js.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/contact-skills.cjs +31 -15
- package/dist/components/domain/resume/resume-preview/sections/contact-skills.cjs.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/contact-skills.js +31 -15
- package/dist/components/domain/resume/resume-preview/sections/contact-skills.js.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/experience-education.cjs +131 -73
- package/dist/components/domain/resume/resume-preview/sections/experience-education.cjs.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/experience-education.d.cts +1 -1
- package/dist/components/domain/resume/resume-preview/sections/experience-education.d.ts +1 -1
- package/dist/components/domain/resume/resume-preview/sections/experience-education.js +131 -73
- package/dist/components/domain/resume/resume-preview/sections/experience-education.js.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/footer-preview.cjs +2 -2
- package/dist/components/domain/resume/resume-preview/sections/footer-preview.cjs.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/footer-preview.js +2 -2
- package/dist/components/domain/resume/resume-preview/sections/footer-preview.js.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/header-preview.cjs +7 -7
- package/dist/components/domain/resume/resume-preview/sections/header-preview.cjs.map +1 -1
- package/dist/components/domain/resume/resume-preview/sections/header-preview.js +7 -7
- package/dist/components/domain/resume/resume-preview/sections/header-preview.js.map +1 -1
- package/dist/components/domain/resume/resume.cjs +46 -29
- package/dist/components/domain/resume/resume.cjs.map +1 -1
- package/dist/components/domain/resume/resume.js +46 -29
- package/dist/components/domain/resume/resume.js.map +1 -1
- package/dist/components/ui/accordion/accordion.cjs +1 -3
- package/dist/components/ui/accordion/accordion.cjs.map +1 -1
- package/dist/components/ui/accordion/accordion.js +1 -3
- package/dist/components/ui/accordion/accordion.js.map +1 -1
- package/dist/components/ui/alert/alert.cjs +12 -25
- package/dist/components/ui/alert/alert.cjs.map +1 -1
- package/dist/components/ui/alert/alert.js +12 -25
- package/dist/components/ui/alert/alert.js.map +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog.cjs +12 -46
- package/dist/components/ui/alert-dialog/alert-dialog.cjs.map +1 -1
- package/dist/components/ui/alert-dialog/alert-dialog.js +12 -46
- package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/ui/autocomplete/autocomplete.cjs +12 -12
- package/dist/components/ui/autocomplete/autocomplete.cjs.map +1 -1
- package/dist/components/ui/autocomplete/autocomplete.js +12 -12
- package/dist/components/ui/autocomplete/autocomplete.js.map +1 -1
- package/dist/components/ui/avatar/avatar.cjs +1 -4
- package/dist/components/ui/avatar/avatar.cjs.map +1 -1
- package/dist/components/ui/avatar/avatar.js +1 -4
- package/dist/components/ui/avatar/avatar.js.map +1 -1
- package/dist/components/ui/badge/badge.cjs +1 -8
- package/dist/components/ui/badge/badge.cjs.map +1 -1
- package/dist/components/ui/badge/badge.js +1 -8
- package/dist/components/ui/badge/badge.js.map +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb.cjs +6 -19
- package/dist/components/ui/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/components/ui/breadcrumb/breadcrumb.js +6 -19
- package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/ui/button/button.cjs.map +1 -1
- package/dist/components/ui/button/button.js.map +1 -1
- package/dist/components/ui/calendar/calendar.cjs +1 -6
- package/dist/components/ui/calendar/calendar.cjs.map +1 -1
- package/dist/components/ui/calendar/calendar.js +1 -6
- package/dist/components/ui/calendar/calendar.js.map +1 -1
- package/dist/components/ui/card/card.cjs +7 -17
- package/dist/components/ui/card/card.cjs.map +1 -1
- package/dist/components/ui/card/card.js +7 -17
- package/dist/components/ui/card/card.js.map +1 -1
- package/dist/components/ui/carousel/carousel.cjs +4 -11
- package/dist/components/ui/carousel/carousel.cjs.map +1 -1
- package/dist/components/ui/carousel/carousel.js +4 -11
- package/dist/components/ui/carousel/carousel.js.map +1 -1
- package/dist/components/ui/checkbox/checkbox.cjs +1 -7
- package/dist/components/ui/checkbox/checkbox.cjs.map +1 -1
- package/dist/components/ui/checkbox/checkbox.js +1 -7
- package/dist/components/ui/checkbox/checkbox.js.map +1 -1
- package/dist/components/ui/collapsible/collapsible.cjs.map +1 -1
- package/dist/components/ui/collapsible/collapsible.js.map +1 -1
- package/dist/components/ui/combobox/combobox.cjs +1 -3
- package/dist/components/ui/combobox/combobox.cjs.map +1 -1
- package/dist/components/ui/combobox/combobox.js +1 -3
- package/dist/components/ui/combobox/combobox.js.map +1 -1
- package/dist/components/ui/command/command.cjs +7 -24
- package/dist/components/ui/command/command.cjs.map +1 -1
- package/dist/components/ui/command/command.js +7 -24
- package/dist/components/ui/command/command.js.map +1 -1
- package/dist/components/ui/context-menu/context-menu.cjs +4 -18
- package/dist/components/ui/context-menu/context-menu.cjs.map +1 -1
- package/dist/components/ui/context-menu/context-menu.js +4 -18
- package/dist/components/ui/context-menu/context-menu.js.map +1 -1
- package/dist/components/ui/date-picker/date-picker.cjs +21 -57
- package/dist/components/ui/date-picker/date-picker.cjs.map +1 -1
- package/dist/components/ui/date-picker/date-picker.js +22 -62
- package/dist/components/ui/date-picker/date-picker.js.map +1 -1
- package/dist/components/ui/dialog/dialog.cjs +12 -29
- package/dist/components/ui/dialog/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog/dialog.js +12 -29
- package/dist/components/ui/dialog/dialog.js.map +1 -1
- package/dist/components/ui/drawer/drawer.cjs +9 -23
- package/dist/components/ui/drawer/drawer.cjs.map +1 -1
- package/dist/components/ui/drawer/drawer.js +9 -23
- package/dist/components/ui/drawer/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu.cjs +3 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu.js +3 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/ui/form/form.cjs +7 -24
- package/dist/components/ui/form/form.cjs.map +1 -1
- package/dist/components/ui/form/form.js +7 -24
- package/dist/components/ui/form/form.js.map +1 -1
- package/dist/components/ui/hover-card/hover-card.cjs +2 -6
- package/dist/components/ui/hover-card/hover-card.cjs.map +1 -1
- package/dist/components/ui/hover-card/hover-card.js +2 -6
- package/dist/components/ui/hover-card/hover-card.js.map +1 -1
- package/dist/components/ui/icon/icon.cjs +1 -1
- package/dist/components/ui/icon/icon.cjs.map +1 -1
- package/dist/components/ui/icon/icon.js +1 -1
- package/dist/components/ui/icon/icon.js.map +1 -1
- package/dist/components/ui/index.d.cts +1 -1
- package/dist/components/ui/index.d.ts +1 -1
- package/dist/components/ui/input/input.cjs +1 -1
- package/dist/components/ui/input/input.cjs.map +1 -1
- package/dist/components/ui/input/input.js +1 -1
- package/dist/components/ui/input/input.js.map +1 -1
- package/dist/components/ui/input-field/input-field.cjs +1 -1
- package/dist/components/ui/input-field/input-field.cjs.map +1 -1
- package/dist/components/ui/input-field/input-field.js +1 -1
- package/dist/components/ui/input-field/input-field.js.map +1 -1
- package/dist/components/ui/input-otp/input-otp.cjs +5 -15
- package/dist/components/ui/input-otp/input-otp.cjs.map +1 -1
- package/dist/components/ui/input-otp/input-otp.js +5 -15
- package/dist/components/ui/input-otp/input-otp.js.map +1 -1
- package/dist/components/ui/label/label.cjs +2 -5
- package/dist/components/ui/label/label.cjs.map +1 -1
- package/dist/components/ui/label/label.js +2 -5
- package/dist/components/ui/label/label.js.map +1 -1
- package/dist/components/ui/loading-state/loading-state.cjs +3 -8
- package/dist/components/ui/loading-state/loading-state.cjs.map +1 -1
- package/dist/components/ui/loading-state/loading-state.d.cts +1 -1
- package/dist/components/ui/loading-state/loading-state.d.ts +1 -1
- package/dist/components/ui/loading-state/loading-state.js +3 -8
- package/dist/components/ui/loading-state/loading-state.js.map +1 -1
- package/dist/components/ui/menubar/menubar.cjs +5 -21
- package/dist/components/ui/menubar/menubar.cjs.map +1 -1
- package/dist/components/ui/menubar/menubar.js +5 -21
- package/dist/components/ui/menubar/menubar.js.map +1 -1
- package/dist/components/ui/month-year-picker/month-year-picker.cjs +5 -23
- package/dist/components/ui/month-year-picker/month-year-picker.cjs.map +1 -1
- package/dist/components/ui/month-year-picker/month-year-picker.js +6 -28
- package/dist/components/ui/month-year-picker/month-year-picker.js.map +1 -1
- package/dist/components/ui/multi-select/multi-select.cjs +12 -29
- package/dist/components/ui/multi-select/multi-select.cjs.map +1 -1
- package/dist/components/ui/multi-select/multi-select.js +12 -29
- package/dist/components/ui/multi-select/multi-select.js.map +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu.cjs +7 -13
- package/dist/components/ui/navigation-menu/navigation-menu.cjs.map +1 -1
- package/dist/components/ui/navigation-menu/navigation-menu.js +7 -13
- package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -1
- package/dist/components/ui/pagination/pagination.cjs +4 -18
- package/dist/components/ui/pagination/pagination.cjs.map +1 -1
- package/dist/components/ui/pagination/pagination.js +4 -18
- package/dist/components/ui/pagination/pagination.js.map +1 -1
- package/dist/components/ui/popover/popover.cjs.map +1 -1
- package/dist/components/ui/popover/popover.js.map +1 -1
- package/dist/components/ui/progress/progress.cjs +2 -2
- package/dist/components/ui/progress/progress.cjs.map +1 -1
- package/dist/components/ui/progress/progress.js +2 -2
- package/dist/components/ui/progress/progress.js.map +1 -1
- package/dist/components/ui/radio-group/radio-group.cjs +1 -8
- package/dist/components/ui/radio-group/radio-group.cjs.map +1 -1
- package/dist/components/ui/radio-group/radio-group.js +1 -8
- package/dist/components/ui/radio-group/radio-group.js.map +1 -1
- package/dist/components/ui/resizable/resizable.cjs +3 -6
- package/dist/components/ui/resizable/resizable.cjs.map +1 -1
- package/dist/components/ui/resizable/resizable.js +4 -11
- package/dist/components/ui/resizable/resizable.js.map +1 -1
- package/dist/components/ui/rich-text-editor/rich-text-editor.cjs +25 -37
- package/dist/components/ui/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/components/ui/rich-text-editor/rich-text-editor.js +25 -37
- package/dist/components/ui/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/components/ui/scroll-area/scroll-area.cjs.map +1 -1
- package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/ui/section-loader/section-loader.cjs +4 -15
- package/dist/components/ui/section-loader/section-loader.cjs.map +1 -1
- package/dist/components/ui/section-loader/section-loader.js +4 -15
- package/dist/components/ui/section-loader/section-loader.js.map +1 -1
- package/dist/components/ui/select/select.cjs +11 -29
- package/dist/components/ui/select/select.cjs.map +1 -1
- package/dist/components/ui/select/select.js +11 -29
- package/dist/components/ui/select/select.js.map +1 -1
- package/dist/components/ui/separator/separator.cjs +14 -16
- package/dist/components/ui/separator/separator.cjs.map +1 -1
- package/dist/components/ui/separator/separator.js +14 -16
- package/dist/components/ui/separator/separator.js.map +1 -1
- package/dist/components/ui/sheet/sheet.cjs +10 -24
- package/dist/components/ui/sheet/sheet.cjs.map +1 -1
- package/dist/components/ui/sheet/sheet.js +10 -24
- package/dist/components/ui/sheet/sheet.js.map +1 -1
- package/dist/components/ui/skeleton/skeleton.cjs +2 -11
- package/dist/components/ui/skeleton/skeleton.cjs.map +1 -1
- package/dist/components/ui/skeleton/skeleton.js +2 -11
- package/dist/components/ui/skeleton/skeleton.js.map +1 -1
- package/dist/components/ui/slider/slider.cjs +1 -4
- package/dist/components/ui/slider/slider.cjs.map +1 -1
- package/dist/components/ui/slider/slider.js +1 -4
- package/dist/components/ui/slider/slider.js.map +1 -1
- package/dist/components/ui/sonner/index.d.cts +1 -1
- package/dist/components/ui/sonner/index.d.ts +1 -1
- package/dist/components/ui/sonner/sonner.cjs +4 -2
- package/dist/components/ui/sonner/sonner.cjs.map +1 -1
- package/dist/components/ui/sonner/sonner.d.cts +1 -0
- package/dist/components/ui/sonner/sonner.d.ts +1 -0
- package/dist/components/ui/sonner/sonner.js +3 -2
- package/dist/components/ui/sonner/sonner.js.map +1 -1
- package/dist/components/ui/spinner/spinner.cjs +1 -1
- package/dist/components/ui/spinner/spinner.cjs.map +1 -1
- package/dist/components/ui/spinner/spinner.js +1 -1
- package/dist/components/ui/spinner/spinner.js.map +1 -1
- package/dist/components/ui/switch/switch.cjs.map +1 -1
- package/dist/components/ui/switch/switch.js.map +1 -1
- package/dist/components/ui/table/table.cjs +6 -28
- package/dist/components/ui/table/table.cjs.map +1 -1
- package/dist/components/ui/table/table.js +6 -28
- package/dist/components/ui/table/table.js.map +1 -1
- package/dist/components/ui/tabs/tabs.cjs.map +1 -1
- package/dist/components/ui/tabs/tabs.js.map +1 -1
- package/dist/components/ui/textarea/textarea.cjs +1 -4
- package/dist/components/ui/textarea/textarea.cjs.map +1 -1
- package/dist/components/ui/textarea/textarea.js +1 -4
- package/dist/components/ui/textarea/textarea.js.map +1 -1
- package/dist/components/ui/toast/toast.cjs +3 -12
- package/dist/components/ui/toast/toast.cjs.map +1 -1
- package/dist/components/ui/toast/toast.js +3 -12
- package/dist/components/ui/toast/toast.js.map +1 -1
- package/dist/components/ui/toggle/toggle.cjs.map +1 -1
- package/dist/components/ui/toggle/toggle.js.map +1 -1
- package/dist/components/ui/toggle-group/toggle-group.cjs +1 -4
- package/dist/components/ui/toggle-group/toggle-group.cjs.map +1 -1
- package/dist/components/ui/toggle-group/toggle-group.js +1 -4
- package/dist/components/ui/toggle-group/toggle-group.js.map +1 -1
- package/dist/components/ui/tooltip/tooltip.cjs.map +1 -1
- package/dist/components/ui/tooltip/tooltip.js.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -6,21 +6,21 @@ function ContactSkills({ data, hideFields = [], hideSections = [] }) {
|
|
|
6
6
|
const softSkills = data.skills?.soft || [];
|
|
7
7
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-10", children: [
|
|
8
8
|
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
9
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
10
|
-
/* @__PURE__ */ jsx(User, { className: "
|
|
9
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary", children: [
|
|
10
|
+
/* @__PURE__ */ jsx(User, { className: "h-5 w-5 text-primary" }),
|
|
11
11
|
"Contacto"
|
|
12
12
|
] }),
|
|
13
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-3
|
|
13
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 space-y-3", children: [
|
|
14
14
|
data.email && !hideFields.includes("email") && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-sm text-foreground", children: [
|
|
15
|
-
/* @__PURE__ */ jsx(Mail, { className: "
|
|
15
|
+
/* @__PURE__ */ jsx(Mail, { className: "h-4 w-4 flex-shrink-0 text-muted-foreground" }),
|
|
16
16
|
/* @__PURE__ */ jsx("span", { className: "break-all font-medium", children: data.email })
|
|
17
17
|
] }),
|
|
18
18
|
data.phone_number && !hideFields.includes("phone_number") && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-sm text-foreground", children: [
|
|
19
|
-
/* @__PURE__ */ jsx(Phone, { className: "
|
|
19
|
+
/* @__PURE__ */ jsx(Phone, { className: "h-4 w-4 flex-shrink-0 text-muted-foreground" }),
|
|
20
20
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: data.phone_number })
|
|
21
21
|
] }),
|
|
22
22
|
(data.city || data.address) && (!hideFields.includes("city") || !hideFields.includes("address")) && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3 text-sm text-foreground", children: [
|
|
23
|
-
/* @__PURE__ */ jsx(MapPin, { className: "
|
|
23
|
+
/* @__PURE__ */ jsx(MapPin, { className: "mt-0.5 h-4 w-4 flex-shrink-0 text-muted-foreground" }),
|
|
24
24
|
/* @__PURE__ */ jsx("span", { className: "font-medium leading-tight", children: [
|
|
25
25
|
!hideFields.includes("address") ? data.address : null,
|
|
26
26
|
!hideFields.includes("city") ? data.city : null
|
|
@@ -30,21 +30,37 @@ function ContactSkills({ data, hideFields = [], hideSections = [] }) {
|
|
|
30
30
|
] }),
|
|
31
31
|
!hideSections.includes("Habilidades") && /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
32
32
|
hardSkills.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
33
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
34
|
-
/* @__PURE__ */ jsx(Code, { className: "
|
|
33
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary", children: [
|
|
34
|
+
/* @__PURE__ */ jsx(Code, { className: "h-5 w-5 text-primary" }),
|
|
35
35
|
"Habilidades T\xE9cnicas"
|
|
36
36
|
] }),
|
|
37
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: hardSkills.map((skill) => /* @__PURE__ */ jsxs(
|
|
38
|
+
Badge,
|
|
39
|
+
{
|
|
40
|
+
variant: "outline",
|
|
41
|
+
className: "pdf-badge border-border/80 bg-muted/20 px-3 py-1 text-sm text-muted-foreground",
|
|
42
|
+
children: [
|
|
43
|
+
skill.name,
|
|
44
|
+
skill.verified && !hideFields.includes("skills.hard.verified") && /* @__PURE__ */ jsx(CheckCircle2, { className: "ml-1.5 h-3.5 w-3.5 text-primary-foreground/90" })
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
skill.id
|
|
48
|
+
)) })
|
|
41
49
|
] }),
|
|
42
50
|
softSkills.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
43
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
44
|
-
/* @__PURE__ */ jsx(Users, { className: "
|
|
51
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary", children: [
|
|
52
|
+
/* @__PURE__ */ jsx(Users, { className: "h-5 w-5 text-primary" }),
|
|
45
53
|
"Aptitudes"
|
|
46
54
|
] }),
|
|
47
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2
|
|
55
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: softSkills.map((skill) => /* @__PURE__ */ jsx(
|
|
56
|
+
Badge,
|
|
57
|
+
{
|
|
58
|
+
variant: "outline",
|
|
59
|
+
className: "pdf-badge border-border/80 bg-muted/20 px-3 py-1 text-sm text-muted-foreground",
|
|
60
|
+
children: skill.name
|
|
61
|
+
},
|
|
62
|
+
skill.id
|
|
63
|
+
)) })
|
|
48
64
|
] })
|
|
49
65
|
] })
|
|
50
66
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/contact-skills.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Badge } from \"../../../../ui\";\nimport { User, Mail, Phone, MapPin, Code, CheckCircle2, Users } from \"lucide-react\";\n\ninterface ContactSkillsProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/contact-skills.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Badge } from \"../../../../ui\";\nimport { User, Mail, Phone, MapPin, Code, CheckCircle2, Users } from \"lucide-react\";\n\ninterface ContactSkillsProps {\n data: CandidateProfile;\n hideFields?: string[];\n hideSections?: string[];\n}\n\nexport function ContactSkills({ data, hideFields = [], hideSections = [] }: ContactSkillsProps) {\n const hardSkills = data.skills?.hard || [];\n const softSkills = data.skills?.soft || [];\n\n return (\n <div className=\"space-y-10\">\n {/* Contacto */}\n <div className=\"space-y-4\">\n <h3 className=\"flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary\">\n <User className=\"h-5 w-5 text-primary\" />\n Contacto\n </h3>\n <div className=\"mt-4 space-y-3\">\n {data.email && !hideFields.includes(\"email\") && (\n <div className=\"flex items-center gap-3 text-sm text-foreground\">\n <Mail className=\"h-4 w-4 flex-shrink-0 text-muted-foreground\" />\n <span className=\"break-all font-medium\">{data.email}</span>\n </div>\n )}\n {data.phone_number && !hideFields.includes(\"phone_number\") && (\n <div className=\"flex items-center gap-3 text-sm text-foreground\">\n <Phone className=\"h-4 w-4 flex-shrink-0 text-muted-foreground\" />\n <span className=\"font-medium\">{data.phone_number}</span>\n </div>\n )}\n {(data.city || data.address) &&\n (!hideFields.includes(\"city\") || !hideFields.includes(\"address\")) && (\n <div className=\"flex items-start gap-3 text-sm text-foreground\">\n <MapPin className=\"mt-0.5 h-4 w-4 flex-shrink-0 text-muted-foreground\" />\n <span className=\"font-medium leading-tight\">\n {[\n !hideFields.includes(\"address\") ? data.address : null,\n !hideFields.includes(\"city\") ? data.city : null,\n ]\n .filter(Boolean)\n .join(\", \")}\n </span>\n </div>\n )}\n </div>\n </div>\n\n {/* Skills */}\n {!hideSections.includes(\"Habilidades\") && (\n <div className=\"space-y-6\">\n {hardSkills.length > 0 && (\n <div className=\"space-y-4\">\n <h3 className=\"flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary\">\n <Code className=\"h-5 w-5 text-primary\" />\n Habilidades Técnicas\n </h3>\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {hardSkills.map((skill) => (\n <Badge\n key={skill.id}\n variant=\"outline\"\n className=\"pdf-badge border-border/80 bg-muted/20 px-3 py-1 text-sm text-muted-foreground\"\n >\n {skill.name}\n {skill.verified && !hideFields.includes(\"skills.hard.verified\") && (\n <CheckCircle2 className=\"ml-1.5 h-3.5 w-3.5 text-primary-foreground/90\" />\n )}\n </Badge>\n ))}\n </div>\n </div>\n )}\n\n {softSkills.length > 0 && (\n <div className=\"space-y-4\">\n <h3 className=\"flex items-center gap-2 border-b border-border pb-2 text-xl font-bold text-primary\">\n <Users className=\"h-5 w-5 text-primary\" />\n Aptitudes\n </h3>\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {softSkills.map((skill) => (\n <Badge\n key={skill.id}\n variant=\"outline\"\n className=\"pdf-badge border-border/80 bg-muted/20 px-3 py-1 text-sm text-muted-foreground\"\n >\n {skill.name}\n </Badge>\n ))}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"AAkBQ,SACE,KADF;AAjBR,SAAS,aAAa;AACtB,SAAS,MAAM,MAAM,OAAO,QAAQ,MAAM,cAAc,aAAa;AAQ9D,SAAS,cAAc,EAAE,MAAM,aAAa,CAAC,GAAG,eAAe,CAAC,EAAE,GAAuB;AAC9F,QAAM,aAAa,KAAK,QAAQ,QAAQ,CAAC;AACzC,QAAM,aAAa,KAAK,QAAQ,QAAQ,CAAC;AAEzC,SACE,qBAAC,SAAI,WAAU,cAEb;AAAA,yBAAC,SAAI,WAAU,aACb;AAAA,2BAAC,QAAG,WAAU,sFACZ;AAAA,4BAAC,QAAK,WAAU,wBAAuB;AAAA,QAAE;AAAA,SAE3C;AAAA,MACA,qBAAC,SAAI,WAAU,kBACZ;AAAA,aAAK,SAAS,CAAC,WAAW,SAAS,OAAO,KACzC,qBAAC,SAAI,WAAU,mDACb;AAAA,8BAAC,QAAK,WAAU,+CAA8C;AAAA,UAC9D,oBAAC,UAAK,WAAU,yBAAyB,eAAK,OAAM;AAAA,WACtD;AAAA,QAED,KAAK,gBAAgB,CAAC,WAAW,SAAS,cAAc,KACvD,qBAAC,SAAI,WAAU,mDACb;AAAA,8BAAC,SAAM,WAAU,+CAA8C;AAAA,UAC/D,oBAAC,UAAK,WAAU,eAAe,eAAK,cAAa;AAAA,WACnD;AAAA,SAEA,KAAK,QAAQ,KAAK,aACjB,CAAC,WAAW,SAAS,MAAM,KAAK,CAAC,WAAW,SAAS,SAAS,MAC7D,qBAAC,SAAI,WAAU,kDACb;AAAA,8BAAC,UAAO,WAAU,sDAAqD;AAAA,UACvE,oBAAC,UAAK,WAAU,6BACb;AAAA,YACC,CAAC,WAAW,SAAS,SAAS,IAAI,KAAK,UAAU;AAAA,YACjD,CAAC,WAAW,SAAS,MAAM,IAAI,KAAK,OAAO;AAAA,UAC7C,EACG,OAAO,OAAO,EACd,KAAK,IAAI,GACd;AAAA,WACF;AAAA,SAEN;AAAA,OACF;AAAA,IAGC,CAAC,aAAa,SAAS,aAAa,KACnC,qBAAC,SAAI,WAAU,aACZ;AAAA,iBAAW,SAAS,KACnB,qBAAC,SAAI,WAAU,aACb;AAAA,6BAAC,QAAG,WAAU,sFACZ;AAAA,8BAAC,QAAK,WAAU,wBAAuB;AAAA,UAAE;AAAA,WAE3C;AAAA,QACA,oBAAC,SAAI,WAAU,6BACZ,qBAAW,IAAI,CAAC,UACf;AAAA,UAAC;AAAA;AAAA,YAEC,SAAQ;AAAA,YACR,WAAU;AAAA,YAET;AAAA,oBAAM;AAAA,cACN,MAAM,YAAY,CAAC,WAAW,SAAS,sBAAsB,KAC5D,oBAAC,gBAAa,WAAU,iDAAgD;AAAA;AAAA;AAAA,UANrE,MAAM;AAAA,QAQb,CACD,GACH;AAAA,SACF;AAAA,MAGD,WAAW,SAAS,KACnB,qBAAC,SAAI,WAAU,aACb;AAAA,6BAAC,QAAG,WAAU,sFACZ;AAAA,8BAAC,SAAM,WAAU,wBAAuB;AAAA,UAAE;AAAA,WAE5C;AAAA,QACA,oBAAC,SAAI,WAAU,6BACZ,qBAAW,IAAI,CAAC,UACf;AAAA,UAAC;AAAA;AAAA,YAEC,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,gBAAM;AAAA;AAAA,UAJF,MAAM;AAAA,QAKb,CACD,GACH;AAAA,SACF;AAAA,OAEJ;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -23,7 +23,12 @@ __export(experience_education_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(experience_education_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
25
|
var import_lucide_react = require("lucide-react");
|
|
26
|
-
function ExperienceEducation({
|
|
26
|
+
function ExperienceEducation({
|
|
27
|
+
data,
|
|
28
|
+
theme,
|
|
29
|
+
hideFields = [],
|
|
30
|
+
hideSections = []
|
|
31
|
+
}) {
|
|
27
32
|
const experiences = data.work_experience || [];
|
|
28
33
|
const education = data.education || [];
|
|
29
34
|
const activities = data.activities || [];
|
|
@@ -31,92 +36,145 @@ function ExperienceEducation({ data, theme, hideFields = [], hideSections = [] }
|
|
|
31
36
|
const themeStyle = theme ? { backgroundColor: theme } : void 0;
|
|
32
37
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-12", children: [
|
|
33
38
|
experiences.length > 0 && !hideSections.includes("Experiencia laboral") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6", children: [
|
|
34
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "
|
|
35
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Briefcase, { className: "
|
|
39
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
40
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Briefcase, { className: "h-6 w-6 text-primary" }),
|
|
36
41
|
"Experiencia Laboral"
|
|
37
42
|
] }),
|
|
38
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: experiences.map((exp) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: experiences.map((exp) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
49
|
+
"div",
|
|
50
|
+
{
|
|
51
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
52
|
+
style: themeStyle
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
!hideFields.includes("experience.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { className: "text-lg font-bold text-foreground", children: exp.title }),
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
57
|
+
!hideFields.includes("experience.institution_name") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-base font-semibold text-primary", children: exp.institution_name }),
|
|
58
|
+
(!hideFields.includes("experience.start_date") || !hideFields.includes("experience.end_date")) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0", children: [
|
|
59
|
+
!hideFields.includes("experience.start_date") && exp.start_date,
|
|
60
|
+
!hideFields.includes("experience.end_date") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
61
|
+
" ",
|
|
62
|
+
exp.end_date ? `- ${exp.end_date}` : "- Presente"
|
|
63
|
+
] })
|
|
64
|
+
] })
|
|
65
|
+
] }),
|
|
66
|
+
exp.description && !hideFields.includes("experience.description") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: exp.description })
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
exp.id
|
|
70
|
+
)) })
|
|
53
71
|
] }),
|
|
54
72
|
education.length > 0 && !hideSections.includes("Educaci\xF3n") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6", children: [
|
|
55
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "
|
|
56
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.GraduationCap, { className: "
|
|
73
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
74
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.GraduationCap, { className: "h-6 w-6 text-primary" }),
|
|
57
75
|
"Educaci\xF3n"
|
|
58
76
|
] }),
|
|
59
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: education.map((edu) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: education.map((edu) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
86
|
+
style: themeStyle
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
!hideFields.includes("education.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { className: "text-lg font-bold text-foreground", children: edu.title }),
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
91
|
+
!hideFields.includes("education.institution_name") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-base font-semibold text-primary", children: edu.institution_name }),
|
|
92
|
+
(!hideFields.includes("education.start_date") || !hideFields.includes("education.end_date")) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0", children: [
|
|
93
|
+
!hideFields.includes("education.start_date") && edu.start_date,
|
|
94
|
+
!hideFields.includes("education.end_date") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
95
|
+
" ",
|
|
96
|
+
edu.end_date ? `- ${edu.end_date}` : "- Presente"
|
|
97
|
+
] })
|
|
98
|
+
] })
|
|
99
|
+
] }),
|
|
100
|
+
edu.description && !hideFields.includes("education.description") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: edu.description })
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
edu.id
|
|
104
|
+
)) })
|
|
74
105
|
] }),
|
|
75
106
|
activities.length > 0 && !hideSections.includes("Actividades y Logros") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6", children: [
|
|
76
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "
|
|
77
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trophy, { className: "
|
|
107
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
108
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trophy, { className: "h-6 w-6 text-primary" }),
|
|
78
109
|
"Actividades y Logros"
|
|
79
110
|
] }),
|
|
80
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: activities.map((act) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
111
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-8", children: activities.map((act) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
112
|
+
"div",
|
|
113
|
+
{
|
|
114
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
115
|
+
children: [
|
|
116
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
117
|
+
"div",
|
|
118
|
+
{
|
|
119
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
120
|
+
style: themeStyle
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
!hideFields.includes("activities.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { className: "text-lg font-bold text-foreground", children: act.title }),
|
|
124
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
125
|
+
!hideFields.includes("activities.institution_name") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-base font-semibold text-primary", children: act.institution_name }),
|
|
126
|
+
(!hideFields.includes("activities.start_date") || !hideFields.includes("activities.end_date")) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0", children: [
|
|
127
|
+
!hideFields.includes("activities.start_date") && act.start_date,
|
|
128
|
+
!hideFields.includes("activities.end_date") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
129
|
+
" ",
|
|
130
|
+
act.end_date ? `- ${act.end_date}` : "- Presente"
|
|
131
|
+
] })
|
|
132
|
+
] })
|
|
133
|
+
] }),
|
|
134
|
+
act.description && !hideFields.includes("activities.description") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: act.description })
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
act.id
|
|
138
|
+
)) })
|
|
95
139
|
] }),
|
|
96
140
|
certifications.length > 0 && !hideSections.includes("Certificaciones") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6", children: [
|
|
97
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "
|
|
98
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Award, { className: "
|
|
141
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
142
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Award, { className: "h-6 w-6 text-primary" }),
|
|
99
143
|
"Certificaciones"
|
|
100
144
|
] }),
|
|
101
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: certifications.map((cert) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
className: "rounded-lg border border-border/60 bg-card p-4 shadow-sm transition-colors hover:border-primary/30 hover:shadow-md",
|
|
149
|
+
children: [
|
|
150
|
+
!hideFields.includes("certifications.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
151
|
+
"h4",
|
|
152
|
+
{
|
|
153
|
+
className: "line-clamp-1 text-base font-bold text-foreground",
|
|
154
|
+
title: cert.title,
|
|
155
|
+
children: cert.title
|
|
156
|
+
}
|
|
157
|
+
),
|
|
158
|
+
!hideFields.includes("certifications.institution_name") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "mt-1 line-clamp-1 text-sm text-muted-foreground", children: cert.institution_name }),
|
|
159
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
160
|
+
!hideFields.includes("certifications.date_awarded") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rounded-md bg-muted/50 px-2 py-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: cert.date_awarded }),
|
|
161
|
+
cert.verified && !hideFields.includes("certifications.verified") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
162
|
+
"span",
|
|
163
|
+
{
|
|
164
|
+
className: "pdf-badge rounded-full border px-2.5 py-1 text-xs font-bold transition-colors",
|
|
165
|
+
style: {
|
|
166
|
+
backgroundColor: theme?.startsWith("#") ? `${theme}15` : void 0,
|
|
167
|
+
color: theme,
|
|
168
|
+
borderColor: theme?.startsWith("#") ? `${theme}30` : theme
|
|
169
|
+
},
|
|
170
|
+
children: "Verificado"
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
] })
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
cert.id
|
|
177
|
+
)) })
|
|
120
178
|
] })
|
|
121
179
|
] });
|
|
122
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/experience-education.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { GraduationCap, Briefcase, Trophy, Award } from \"lucide-react\";\n\ninterface ExperienceEducationProps {\n data: CandidateProfile;\n theme?: string;\n hideFields?: string[];\n hideSections?: string[];\n}\n\nexport function ExperienceEducation({ data, theme, hideFields = [], hideSections = [] }: ExperienceEducationProps) {\n const experiences = data.work_experience || [];\n const education = data.education || [];\n const activities = data.activities || [];\n const certifications = data.certifications || [];\n\n const themeStyle = theme ? { backgroundColor: theme } : undefined;\n\n return (\n <div className=\"space-y-12\">\n {/* Experience */}\n {experiences.length > 0 && !hideSections.includes(\"Experiencia laboral\") && (\n <div className=\"space-y-6\">\n <h3 className=\"text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2\">\n <Briefcase className=\"w-6 h-6 text-primary\" />\n Experiencia Laboral\n </h3>\n <div className=\"space-y-8\">\n {experiences.map((exp) => (\n <div key={exp.id} className=\"relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border\">\n <div className=\"absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v\" style={themeStyle} />\n {!hideFields.includes(\"experience.title\") && (\n <h4 className=\"font-bold text-foreground text-lg\">{exp.title}</h4>\n )}\n <div className=\"flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2\">\n {!hideFields.includes(\"experience.institution_name\") && (\n <span className=\"text-primary font-semibold text-base\">{exp.institution_name}</span>\n )}\n {(!hideFields.includes(\"experience.start_date\") || !hideFields.includes(\"experience.end_date\")) && (\n <span className=\"text-sm text-muted-foreground font-medium bg-muted/30 px-2 py-0.5 rounded-md mt-1 sm:mt-0 w-fit\">\n {!hideFields.includes(\"experience.start_date\") && exp.start_date}\n {!hideFields.includes(\"experience.end_date\") && (\n <> {exp.end_date ? `- ${exp.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {exp.description && !hideFields.includes(\"experience.description\") && (\n <p className=\"text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3\">\n {exp.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Education */}\n {education.length > 0 && !hideSections.includes(\"Educación\") && (\n <div className=\"space-y-6\">\n <h3 className=\"text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2\">\n <GraduationCap className=\"w-6 h-6 text-primary\" />\n Educación\n </h3>\n <div className=\"space-y-8\">\n {education.map((edu) => (\n <div key={edu.id} className=\"relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border\">\n <div className=\"absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v\" style={themeStyle} />\n {!hideFields.includes(\"education.title\") && (\n <h4 className=\"font-bold text-foreground text-lg\">{edu.title}</h4>\n )}\n <div className=\"flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2\">\n {!hideFields.includes(\"education.institution_name\") && (\n <span className=\"text-primary font-semibold text-base\">{edu.institution_name}</span>\n )}\n {(!hideFields.includes(\"education.start_date\") || !hideFields.includes(\"education.end_date\")) && (\n <span className=\"text-sm text-muted-foreground font-medium bg-muted/30 px-2 py-0.5 rounded-md mt-1 sm:mt-0 w-fit\">\n {!hideFields.includes(\"education.start_date\") && edu.start_date}\n {!hideFields.includes(\"education.end_date\") && (\n <> {edu.end_date ? `- ${edu.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {edu.description && !hideFields.includes(\"education.description\") && (\n <p className=\"text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3\">\n {edu.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Activities */}\n {activities.length > 0 && !hideSections.includes(\"Actividades y Logros\") && (\n <div className=\"space-y-6\">\n <h3 className=\"text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2\">\n <Trophy className=\"w-6 h-6 text-primary\" />\n Actividades y Logros\n </h3>\n <div className=\"space-y-8\">\n {activities.map((act) => (\n <div key={act.id} className=\"relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border\">\n <div className=\"absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v\" style={themeStyle} />\n {!hideFields.includes(\"activities.title\") && (\n <h4 className=\"font-bold text-foreground text-lg\">{act.title}</h4>\n )}\n <div className=\"flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2\">\n {!hideFields.includes(\"activities.institution_name\") && (\n <span className=\"text-primary font-semibold text-base\">{act.institution_name}</span>\n )}\n {(!hideFields.includes(\"activities.start_date\") || !hideFields.includes(\"activities.end_date\")) && (\n <span className=\"text-sm text-muted-foreground font-medium bg-muted/30 px-2 py-0.5 rounded-md mt-1 sm:mt-0 w-fit\">\n {!hideFields.includes(\"activities.start_date\") && act.start_date}\n {!hideFields.includes(\"activities.end_date\") && (\n <> {act.end_date ? `- ${act.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {act.description && !hideFields.includes(\"activities.description\") && (\n <p className=\"text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3\">\n {act.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Certifications */}\n {certifications.length > 0 && !hideSections.includes(\"Certificaciones\") && (\n <div className=\"space-y-6\">\n <h3 className=\"text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2\">\n <Award className=\"w-6 h-6 text-primary\" />\n Certificaciones\n </h3>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n {certifications.map((cert) => (\n <div key={cert.id} className=\"p-4 border border-border/60 hover:border-primary/30 transition-colors rounded-lg bg-card shadow-sm hover:shadow-md\">\n {!hideFields.includes(\"certifications.title\") && (\n <h4 className=\"font-bold text-base text-foreground line-clamp-1\" title={cert.title}>{cert.title}</h4>\n )}\n {!hideFields.includes(\"certifications.institution_name\") && (\n <p className=\"text-sm text-muted-foreground mt-1 line-clamp-1\">{cert.institution_name}</p>\n )}\n <div className=\"flex items-center justify-between mt-4\">\n {!hideFields.includes(\"certifications.date_awarded\") && (\n <span className=\"text-xs font-semibold uppercase text-muted-foreground tracking-wider bg-muted/50 px-2 py-1 rounded-md\">{cert.date_awarded}</span>\n )}\n {cert.verified && !hideFields.includes(\"certifications.verified\") && (\n <span\n className=\"text-xs font-bold px-2.5 py-1 rounded-full border transition-colors pdf-badge\"\n style={{\n backgroundColor: theme?.startsWith('#') ? `${theme}15` : undefined,\n color: theme,\n borderColor: theme?.startsWith('#') ? `${theme}30` : theme\n }}\n >\n Verificado\n </span>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/experience-education.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { GraduationCap, Briefcase, Trophy, Award } from \"lucide-react\";\n\ninterface ExperienceEducationProps {\n data: CandidateProfile;\n theme?: string;\n hideFields?: string[];\n hideSections?: string[];\n}\n\nexport function ExperienceEducation({\n data,\n theme,\n hideFields = [],\n hideSections = [],\n}: ExperienceEducationProps) {\n const experiences = data.work_experience || [];\n const education = data.education || [];\n const activities = data.activities || [];\n const certifications = data.certifications || [];\n\n const themeStyle = theme ? { backgroundColor: theme } : undefined;\n\n return (\n <div className=\"space-y-12\">\n {/* Experience */}\n {experiences.length > 0 && !hideSections.includes(\"Experiencia laboral\") && (\n <div className=\"space-y-6\">\n <h3 className=\"flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary\">\n <Briefcase className=\"h-6 w-6 text-primary\" />\n Experiencia Laboral\n </h3>\n <div className=\"space-y-8\">\n {experiences.map((exp) => (\n <div\n key={exp.id}\n className=\"relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden\"\n >\n <div\n className=\"pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary\"\n style={themeStyle}\n />\n {!hideFields.includes(\"experience.title\") && (\n <h4 className=\"text-lg font-bold text-foreground\">{exp.title}</h4>\n )}\n <div className=\"mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between\">\n {!hideFields.includes(\"experience.institution_name\") && (\n <span className=\"text-base font-semibold text-primary\">\n {exp.institution_name}\n </span>\n )}\n {(!hideFields.includes(\"experience.start_date\") ||\n !hideFields.includes(\"experience.end_date\")) && (\n <span className=\"mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0\">\n {!hideFields.includes(\"experience.start_date\") && exp.start_date}\n {!hideFields.includes(\"experience.end_date\") && (\n <> {exp.end_date ? `- ${exp.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {exp.description && !hideFields.includes(\"experience.description\") && (\n <p className=\"mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80\">\n {exp.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Education */}\n {education.length > 0 && !hideSections.includes(\"Educación\") && (\n <div className=\"space-y-6\">\n <h3 className=\"flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary\">\n <GraduationCap className=\"h-6 w-6 text-primary\" />\n Educación\n </h3>\n <div className=\"space-y-8\">\n {education.map((edu) => (\n <div\n key={edu.id}\n className=\"relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden\"\n >\n <div\n className=\"pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary\"\n style={themeStyle}\n />\n {!hideFields.includes(\"education.title\") && (\n <h4 className=\"text-lg font-bold text-foreground\">{edu.title}</h4>\n )}\n <div className=\"mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between\">\n {!hideFields.includes(\"education.institution_name\") && (\n <span className=\"text-base font-semibold text-primary\">\n {edu.institution_name}\n </span>\n )}\n {(!hideFields.includes(\"education.start_date\") ||\n !hideFields.includes(\"education.end_date\")) && (\n <span className=\"mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0\">\n {!hideFields.includes(\"education.start_date\") && edu.start_date}\n {!hideFields.includes(\"education.end_date\") && (\n <> {edu.end_date ? `- ${edu.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {edu.description && !hideFields.includes(\"education.description\") && (\n <p className=\"mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80\">\n {edu.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Activities */}\n {activities.length > 0 && !hideSections.includes(\"Actividades y Logros\") && (\n <div className=\"space-y-6\">\n <h3 className=\"flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary\">\n <Trophy className=\"h-6 w-6 text-primary\" />\n Actividades y Logros\n </h3>\n <div className=\"space-y-8\">\n {activities.map((act) => (\n <div\n key={act.id}\n className=\"relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden\"\n >\n <div\n className=\"pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary\"\n style={themeStyle}\n />\n {!hideFields.includes(\"activities.title\") && (\n <h4 className=\"text-lg font-bold text-foreground\">{act.title}</h4>\n )}\n <div className=\"mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between\">\n {!hideFields.includes(\"activities.institution_name\") && (\n <span className=\"text-base font-semibold text-primary\">\n {act.institution_name}\n </span>\n )}\n {(!hideFields.includes(\"activities.start_date\") ||\n !hideFields.includes(\"activities.end_date\")) && (\n <span className=\"mt-1 w-fit rounded-md bg-muted/30 px-2 py-0.5 text-sm font-medium text-muted-foreground sm:mt-0\">\n {!hideFields.includes(\"activities.start_date\") && act.start_date}\n {!hideFields.includes(\"activities.end_date\") && (\n <> {act.end_date ? `- ${act.end_date}` : \"- Presente\"}</>\n )}\n </span>\n )}\n </div>\n {act.description && !hideFields.includes(\"activities.description\") && (\n <p className=\"mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80\">\n {act.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Certifications */}\n {certifications.length > 0 && !hideSections.includes(\"Certificaciones\") && (\n <div className=\"space-y-6\">\n <h3 className=\"flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary\">\n <Award className=\"h-6 w-6 text-primary\" />\n Certificaciones\n </h3>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n {certifications.map((cert) => (\n <div\n key={cert.id}\n className=\"rounded-lg border border-border/60 bg-card p-4 shadow-sm transition-colors hover:border-primary/30 hover:shadow-md\"\n >\n {!hideFields.includes(\"certifications.title\") && (\n <h4\n className=\"line-clamp-1 text-base font-bold text-foreground\"\n title={cert.title}\n >\n {cert.title}\n </h4>\n )}\n {!hideFields.includes(\"certifications.institution_name\") && (\n <p className=\"mt-1 line-clamp-1 text-sm text-muted-foreground\">\n {cert.institution_name}\n </p>\n )}\n <div className=\"mt-4 flex items-center justify-between\">\n {!hideFields.includes(\"certifications.date_awarded\") && (\n <span className=\"rounded-md bg-muted/50 px-2 py-1 text-xs font-semibold uppercase tracking-wider text-muted-foreground\">\n {cert.date_awarded}\n </span>\n )}\n {cert.verified && !hideFields.includes(\"certifications.verified\") && (\n <span\n className=\"pdf-badge rounded-full border px-2.5 py-1 text-xs font-bold transition-colors\"\n style={{\n backgroundColor: theme?.startsWith(\"#\") ? `${theme}15` : undefined,\n color: theme,\n borderColor: theme?.startsWith(\"#\") ? `${theme}30` : theme,\n }}\n >\n Verificado\n </span>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BU;AA3BV,0BAAwD;AASjD,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,aAAa,CAAC;AAAA,EACd,eAAe,CAAC;AAClB,GAA6B;AAC3B,QAAM,cAAc,KAAK,mBAAmB,CAAC;AAC7C,QAAM,YAAY,KAAK,aAAa,CAAC;AACrC,QAAM,aAAa,KAAK,cAAc,CAAC;AACvC,QAAM,iBAAiB,KAAK,kBAAkB,CAAC;AAE/C,QAAM,aAAa,QAAQ,EAAE,iBAAiB,MAAM,IAAI;AAExD,SACE,6CAAC,SAAI,WAAU,cAEZ;AAAA,gBAAY,SAAS,KAAK,CAAC,aAAa,SAAS,qBAAqB,KACrE,6CAAC,SAAI,WAAU,aACb;AAAA,mDAAC,QAAG,WAAU,6FACZ;AAAA,oDAAC,iCAAU,WAAU,wBAAuB;AAAA,QAAE;AAAA,SAEhD;AAAA,MACA,4CAAC,SAAI,WAAU,aACZ,sBAAY,IAAI,CAAC,QAChB;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA;AAAA,YACT;AAAA,YACC,CAAC,WAAW,SAAS,kBAAkB,KACtC,4CAAC,QAAG,WAAU,qCAAqC,cAAI,OAAM;AAAA,YAE/D,6CAAC,SAAI,WAAU,qEACZ;AAAA,eAAC,WAAW,SAAS,6BAA6B,KACjD,4CAAC,UAAK,WAAU,wCACb,cAAI,kBACP;AAAA,eAEA,CAAC,WAAW,SAAS,uBAAuB,KAC5C,CAAC,WAAW,SAAS,qBAAqB,MAC1C,6CAAC,UAAK,WAAU,mGACb;AAAA,iBAAC,WAAW,SAAS,uBAAuB,KAAK,IAAI;AAAA,gBACrD,CAAC,WAAW,SAAS,qBAAqB,KACzC,4EAAE;AAAA;AAAA,kBAAE,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAAA,mBAAa;AAAA,iBAE1D;AAAA,eAEJ;AAAA,YACC,IAAI,eAAe,CAAC,WAAW,SAAS,wBAAwB,KAC/D,4CAAC,OAAE,WAAU,yEACV,cAAI,aACP;AAAA;AAAA;AAAA,QA7BG,IAAI;AAAA,MA+BX,CACD,GACH;AAAA,OACF;AAAA,IAID,UAAU,SAAS,KAAK,CAAC,aAAa,SAAS,cAAW,KACzD,6CAAC,SAAI,WAAU,aACb;AAAA,mDAAC,QAAG,WAAU,6FACZ;AAAA,oDAAC,qCAAc,WAAU,wBAAuB;AAAA,QAAE;AAAA,SAEpD;AAAA,MACA,4CAAC,SAAI,WAAU,aACZ,oBAAU,IAAI,CAAC,QACd;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA;AAAA,YACT;AAAA,YACC,CAAC,WAAW,SAAS,iBAAiB,KACrC,4CAAC,QAAG,WAAU,qCAAqC,cAAI,OAAM;AAAA,YAE/D,6CAAC,SAAI,WAAU,qEACZ;AAAA,eAAC,WAAW,SAAS,4BAA4B,KAChD,4CAAC,UAAK,WAAU,wCACb,cAAI,kBACP;AAAA,eAEA,CAAC,WAAW,SAAS,sBAAsB,KAC3C,CAAC,WAAW,SAAS,oBAAoB,MACzC,6CAAC,UAAK,WAAU,mGACb;AAAA,iBAAC,WAAW,SAAS,sBAAsB,KAAK,IAAI;AAAA,gBACpD,CAAC,WAAW,SAAS,oBAAoB,KACxC,4EAAE;AAAA;AAAA,kBAAE,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAAA,mBAAa;AAAA,iBAE1D;AAAA,eAEJ;AAAA,YACC,IAAI,eAAe,CAAC,WAAW,SAAS,uBAAuB,KAC9D,4CAAC,OAAE,WAAU,yEACV,cAAI,aACP;AAAA;AAAA;AAAA,QA7BG,IAAI;AAAA,MA+BX,CACD,GACH;AAAA,OACF;AAAA,IAID,WAAW,SAAS,KAAK,CAAC,aAAa,SAAS,sBAAsB,KACrE,6CAAC,SAAI,WAAU,aACb;AAAA,mDAAC,QAAG,WAAU,6FACZ;AAAA,oDAAC,8BAAO,WAAU,wBAAuB;AAAA,QAAE;AAAA,SAE7C;AAAA,MACA,4CAAC,SAAI,WAAU,aACZ,qBAAW,IAAI,CAAC,QACf;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO;AAAA;AAAA,YACT;AAAA,YACC,CAAC,WAAW,SAAS,kBAAkB,KACtC,4CAAC,QAAG,WAAU,qCAAqC,cAAI,OAAM;AAAA,YAE/D,6CAAC,SAAI,WAAU,qEACZ;AAAA,eAAC,WAAW,SAAS,6BAA6B,KACjD,4CAAC,UAAK,WAAU,wCACb,cAAI,kBACP;AAAA,eAEA,CAAC,WAAW,SAAS,uBAAuB,KAC5C,CAAC,WAAW,SAAS,qBAAqB,MAC1C,6CAAC,UAAK,WAAU,mGACb;AAAA,iBAAC,WAAW,SAAS,uBAAuB,KAAK,IAAI;AAAA,gBACrD,CAAC,WAAW,SAAS,qBAAqB,KACzC,4EAAE;AAAA;AAAA,kBAAE,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAAA,mBAAa;AAAA,iBAE1D;AAAA,eAEJ;AAAA,YACC,IAAI,eAAe,CAAC,WAAW,SAAS,wBAAwB,KAC/D,4CAAC,OAAE,WAAU,yEACV,cAAI,aACP;AAAA;AAAA;AAAA,QA7BG,IAAI;AAAA,MA+BX,CACD,GACH;AAAA,OACF;AAAA,IAID,eAAe,SAAS,KAAK,CAAC,aAAa,SAAS,iBAAiB,KACpE,6CAAC,SAAI,WAAU,aACb;AAAA,mDAAC,QAAG,WAAU,6FACZ;AAAA,oDAAC,6BAAM,WAAU,wBAAuB;AAAA,QAAE;AAAA,SAE5C;AAAA,MACA,4CAAC,SAAI,WAAU,yCACZ,yBAAe,IAAI,CAAC,SACnB;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAET;AAAA,aAAC,WAAW,SAAS,sBAAsB,KAC1C;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,KAAK;AAAA,gBAEX,eAAK;AAAA;AAAA,YACR;AAAA,YAED,CAAC,WAAW,SAAS,iCAAiC,KACrD,4CAAC,OAAE,WAAU,mDACV,eAAK,kBACR;AAAA,YAEF,6CAAC,SAAI,WAAU,0CACZ;AAAA,eAAC,WAAW,SAAS,6BAA6B,KACjD,4CAAC,UAAK,WAAU,yGACb,eAAK,cACR;AAAA,cAED,KAAK,YAAY,CAAC,WAAW,SAAS,yBAAyB,KAC9D;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO;AAAA,oBACL,iBAAiB,OAAO,WAAW,GAAG,IAAI,GAAG,KAAK,OAAO;AAAA,oBACzD,OAAO;AAAA,oBACP,aAAa,OAAO,WAAW,GAAG,IAAI,GAAG,KAAK,OAAO;AAAA,kBACvD;AAAA,kBACD;AAAA;AAAA,cAED;AAAA,eAEJ;AAAA;AAAA;AAAA,QAlCK,KAAK;AAAA,MAmCZ,CACD,GACH;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -8,6 +8,6 @@ interface ExperienceEducationProps {
|
|
|
8
8
|
hideFields?: string[];
|
|
9
9
|
hideSections?: string[];
|
|
10
10
|
}
|
|
11
|
-
declare function ExperienceEducation({ data, theme, hideFields, hideSections }: ExperienceEducationProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function ExperienceEducation({ data, theme, hideFields, hideSections, }: ExperienceEducationProps): react_jsx_runtime.JSX.Element;
|
|
12
12
|
|
|
13
13
|
export { ExperienceEducation };
|
|
@@ -8,6 +8,6 @@ interface ExperienceEducationProps {
|
|
|
8
8
|
hideFields?: string[];
|
|
9
9
|
hideSections?: string[];
|
|
10
10
|
}
|
|
11
|
-
declare function ExperienceEducation({ data, theme, hideFields, hideSections }: ExperienceEducationProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function ExperienceEducation({ data, theme, hideFields, hideSections, }: ExperienceEducationProps): react_jsx_runtime.JSX.Element;
|
|
12
12
|
|
|
13
13
|
export { ExperienceEducation };
|