@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
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { GraduationCap, Briefcase, Trophy, Award } from "lucide-react";
|
|
3
|
-
function ExperienceEducation({
|
|
3
|
+
function ExperienceEducation({
|
|
4
|
+
data,
|
|
5
|
+
theme,
|
|
6
|
+
hideFields = [],
|
|
7
|
+
hideSections = []
|
|
8
|
+
}) {
|
|
4
9
|
const experiences = data.work_experience || [];
|
|
5
10
|
const education = data.education || [];
|
|
6
11
|
const activities = data.activities || [];
|
|
@@ -8,92 +13,145 @@ function ExperienceEducation({ data, theme, hideFields = [], hideSections = [] }
|
|
|
8
13
|
const themeStyle = theme ? { backgroundColor: theme } : void 0;
|
|
9
14
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-12", children: [
|
|
10
15
|
experiences.length > 0 && !hideSections.includes("Experiencia laboral") && /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
11
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
12
|
-
/* @__PURE__ */ jsx(Briefcase, { className: "
|
|
16
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Briefcase, { className: "h-6 w-6 text-primary" }),
|
|
13
18
|
"Experiencia Laboral"
|
|
14
19
|
] }),
|
|
15
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: experiences.map((exp) => /* @__PURE__ */ jsxs(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: experiences.map((exp) => /* @__PURE__ */ jsxs(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
29
|
+
style: themeStyle
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
!hideFields.includes("experience.title") && /* @__PURE__ */ jsx("h4", { className: "text-lg font-bold text-foreground", children: exp.title }),
|
|
33
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
34
|
+
!hideFields.includes("experience.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-base font-semibold text-primary", children: exp.institution_name }),
|
|
35
|
+
(!hideFields.includes("experience.start_date") || !hideFields.includes("experience.end_date")) && /* @__PURE__ */ 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: [
|
|
36
|
+
!hideFields.includes("experience.start_date") && exp.start_date,
|
|
37
|
+
!hideFields.includes("experience.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
38
|
+
" ",
|
|
39
|
+
exp.end_date ? `- ${exp.end_date}` : "- Presente"
|
|
40
|
+
] })
|
|
41
|
+
] })
|
|
42
|
+
] }),
|
|
43
|
+
exp.description && !hideFields.includes("experience.description") && /* @__PURE__ */ jsx("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: exp.description })
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
exp.id
|
|
47
|
+
)) })
|
|
30
48
|
] }),
|
|
31
49
|
education.length > 0 && !hideSections.includes("Educaci\xF3n") && /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
32
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
33
|
-
/* @__PURE__ */ jsx(GraduationCap, { className: "
|
|
50
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
51
|
+
/* @__PURE__ */ jsx(GraduationCap, { className: "h-6 w-6 text-primary" }),
|
|
34
52
|
"Educaci\xF3n"
|
|
35
53
|
] }),
|
|
36
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: education.map((edu) => /* @__PURE__ */ jsxs(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: education.map((edu) => /* @__PURE__ */ jsxs(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsx(
|
|
60
|
+
"div",
|
|
61
|
+
{
|
|
62
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
63
|
+
style: themeStyle
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
!hideFields.includes("education.title") && /* @__PURE__ */ jsx("h4", { className: "text-lg font-bold text-foreground", children: edu.title }),
|
|
67
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
68
|
+
!hideFields.includes("education.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-base font-semibold text-primary", children: edu.institution_name }),
|
|
69
|
+
(!hideFields.includes("education.start_date") || !hideFields.includes("education.end_date")) && /* @__PURE__ */ 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: [
|
|
70
|
+
!hideFields.includes("education.start_date") && edu.start_date,
|
|
71
|
+
!hideFields.includes("education.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
72
|
+
" ",
|
|
73
|
+
edu.end_date ? `- ${edu.end_date}` : "- Presente"
|
|
74
|
+
] })
|
|
75
|
+
] })
|
|
76
|
+
] }),
|
|
77
|
+
edu.description && !hideFields.includes("education.description") && /* @__PURE__ */ jsx("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: edu.description })
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
edu.id
|
|
81
|
+
)) })
|
|
51
82
|
] }),
|
|
52
83
|
activities.length > 0 && !hideSections.includes("Actividades y Logros") && /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
53
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
54
|
-
/* @__PURE__ */ jsx(Trophy, { className: "
|
|
84
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
85
|
+
/* @__PURE__ */ jsx(Trophy, { className: "h-6 w-6 text-primary" }),
|
|
55
86
|
"Actividades y Logros"
|
|
56
87
|
] }),
|
|
57
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: activities.map((act) => /* @__PURE__ */ jsxs(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
88
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-8", children: activities.map((act) => /* @__PURE__ */ jsxs(
|
|
89
|
+
"div",
|
|
90
|
+
{
|
|
91
|
+
className: "relative pl-6 after:absolute after:bottom-[-24px] after:left-[3px] after:top-4 after:w-[2px] after:bg-border last:after:hidden",
|
|
92
|
+
children: [
|
|
93
|
+
/* @__PURE__ */ jsx(
|
|
94
|
+
"div",
|
|
95
|
+
{
|
|
96
|
+
className: "pdf-line-v absolute left-0 top-2 h-2 w-2 rounded-full bg-primary",
|
|
97
|
+
style: themeStyle
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
!hideFields.includes("activities.title") && /* @__PURE__ */ jsx("h4", { className: "text-lg font-bold text-foreground", children: act.title }),
|
|
101
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex flex-col sm:flex-row sm:items-center sm:justify-between", children: [
|
|
102
|
+
!hideFields.includes("activities.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-base font-semibold text-primary", children: act.institution_name }),
|
|
103
|
+
(!hideFields.includes("activities.start_date") || !hideFields.includes("activities.end_date")) && /* @__PURE__ */ 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: [
|
|
104
|
+
!hideFields.includes("activities.start_date") && act.start_date,
|
|
105
|
+
!hideFields.includes("activities.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
106
|
+
" ",
|
|
107
|
+
act.end_date ? `- ${act.end_date}` : "- Presente"
|
|
108
|
+
] })
|
|
109
|
+
] })
|
|
110
|
+
] }),
|
|
111
|
+
act.description && !hideFields.includes("activities.description") && /* @__PURE__ */ jsx("p", { className: "mt-3 whitespace-pre-wrap text-base leading-relaxed text-foreground/80", children: act.description })
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
act.id
|
|
115
|
+
)) })
|
|
72
116
|
] }),
|
|
73
117
|
certifications.length > 0 && !hideSections.includes("Certificaciones") && /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
74
|
-
/* @__PURE__ */ jsxs("h3", { className: "
|
|
75
|
-
/* @__PURE__ */ jsx(Award, { className: "
|
|
118
|
+
/* @__PURE__ */ jsxs("h3", { className: "flex items-center gap-2 border-b-2 border-primary/20 pb-2 text-2xl font-bold text-primary", children: [
|
|
119
|
+
/* @__PURE__ */ jsx(Award, { className: "h-6 w-6 text-primary" }),
|
|
76
120
|
"Certificaciones"
|
|
77
121
|
] }),
|
|
78
|
-
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
122
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: certifications.map((cert) => /* @__PURE__ */ jsxs(
|
|
123
|
+
"div",
|
|
124
|
+
{
|
|
125
|
+
className: "rounded-lg border border-border/60 bg-card p-4 shadow-sm transition-colors hover:border-primary/30 hover:shadow-md",
|
|
126
|
+
children: [
|
|
127
|
+
!hideFields.includes("certifications.title") && /* @__PURE__ */ jsx(
|
|
128
|
+
"h4",
|
|
129
|
+
{
|
|
130
|
+
className: "line-clamp-1 text-base font-bold text-foreground",
|
|
131
|
+
title: cert.title,
|
|
132
|
+
children: cert.title
|
|
133
|
+
}
|
|
134
|
+
),
|
|
135
|
+
!hideFields.includes("certifications.institution_name") && /* @__PURE__ */ jsx("p", { className: "mt-1 line-clamp-1 text-sm text-muted-foreground", children: cert.institution_name }),
|
|
136
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
137
|
+
!hideFields.includes("certifications.date_awarded") && /* @__PURE__ */ 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 }),
|
|
138
|
+
cert.verified && !hideFields.includes("certifications.verified") && /* @__PURE__ */ jsx(
|
|
139
|
+
"span",
|
|
140
|
+
{
|
|
141
|
+
className: "pdf-badge rounded-full border px-2.5 py-1 text-xs font-bold transition-colors",
|
|
142
|
+
style: {
|
|
143
|
+
backgroundColor: theme?.startsWith("#") ? `${theme}15` : void 0,
|
|
144
|
+
color: theme,
|
|
145
|
+
borderColor: theme?.startsWith("#") ? `${theme}30` : theme
|
|
146
|
+
},
|
|
147
|
+
children: "Verificado"
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
] })
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
cert.id
|
|
154
|
+
)) })
|
|
97
155
|
] })
|
|
98
156
|
] });
|
|
99
157
|
}
|
|
@@ -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":"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","names":[]}
|
|
@@ -22,9 +22,9 @@ __export(footer_preview_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(footer_preview_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_logo = require("
|
|
25
|
+
var import_logo = require("../../../../ui/logo");
|
|
26
26
|
function FooterPreview() {
|
|
27
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "
|
|
27
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "pdf-footer mt-auto flex hidden items-center justify-center gap-2 border-t border-border/40 pt-10", children: [
|
|
28
28
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_logo.Logo, { className: "size-6" }),
|
|
29
29
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-sm font-medium tracking-tight", children: "Creado con Ginia" })
|
|
30
30
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/footer-preview.tsx"],"sourcesContent":["import { Logo } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/footer-preview.tsx"],"sourcesContent":["import { Logo } from \"../../../../ui/logo\";\n\nexport function FooterPreview() {\n return (\n <div className=\"pdf-footer mt-auto flex hidden items-center justify-center gap-2 border-t border-border/40 pt-10\">\n <Logo className=\"size-6\" />\n <span className=\"text-sm font-medium tracking-tight\">Creado con Ginia</span>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAII;AAJJ,kBAAqB;AAEd,SAAS,gBAAgB;AAC9B,SACE,6CAAC,SAAI,WAAU,oGACb;AAAA,gDAAC,oBAAK,WAAU,UAAS;AAAA,IACzB,4CAAC,UAAK,WAAU,sCAAqC,8BAAgB;AAAA,KACvE;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Logo } from "
|
|
2
|
+
import { Logo } from "../../../../ui/logo";
|
|
3
3
|
function FooterPreview() {
|
|
4
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
4
|
+
return /* @__PURE__ */ jsxs("div", { className: "pdf-footer mt-auto flex hidden items-center justify-center gap-2 border-t border-border/40 pt-10", children: [
|
|
5
5
|
/* @__PURE__ */ jsx(Logo, { className: "size-6" }),
|
|
6
6
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium tracking-tight", children: "Creado con Ginia" })
|
|
7
7
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/footer-preview.tsx"],"sourcesContent":["import { Logo } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/footer-preview.tsx"],"sourcesContent":["import { Logo } from \"../../../../ui/logo\";\n\nexport function FooterPreview() {\n return (\n <div className=\"pdf-footer mt-auto flex hidden items-center justify-center gap-2 border-t border-border/40 pt-10\">\n <Logo className=\"size-6\" />\n <span className=\"text-sm font-medium tracking-tight\">Creado con Ginia</span>\n </div>\n );\n}\n"],"mappings":"AAII,SACE,KADF;AAJJ,SAAS,YAAY;AAEd,SAAS,gBAAgB;AAC9B,SACE,qBAAC,SAAI,WAAU,oGACb;AAAA,wBAAC,QAAK,WAAU,UAAS;AAAA,IACzB,oBAAC,UAAK,WAAU,sCAAqC,8BAAgB;AAAA,KACvE;AAEJ;","names":[]}
|
|
@@ -36,24 +36,24 @@ function HeaderPreview({ data, headerSlot, theme, hideFields = [] }) {
|
|
|
36
36
|
hideFields.includes("second_last_name") ? null : data.second_last_name
|
|
37
37
|
].filter(Boolean).join(" ") || "Sin nombre";
|
|
38
38
|
const themeStyle = theme ? { backgroundColor: theme } : void 0;
|
|
39
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col md:flex-row
|
|
40
|
-
!hideFields.includes("photo_url") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Avatar, { className: "
|
|
39
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 flex flex-col items-center gap-8 md:flex-row md:items-start", children: [
|
|
40
|
+
!hideFields.includes("photo_url") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Avatar, { className: "h-32 w-32 flex-shrink-0 border-4 border-background shadow-lg", children: [
|
|
41
41
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.AvatarImage, { src: data.photo_url || void 0, alt: fullName, className: "object-cover" }),
|
|
42
42
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
43
43
|
import_ui.AvatarFallback,
|
|
44
44
|
{
|
|
45
|
-
className: "text-3xl font-semibold text-primary-foreground
|
|
45
|
+
className: "pdf-header-initials text-3xl font-semibold text-primary-foreground",
|
|
46
46
|
style: themeStyle || { backgroundColor: "hsl(var(--primary))" },
|
|
47
47
|
children: getInitials()
|
|
48
48
|
}
|
|
49
49
|
)
|
|
50
50
|
] }),
|
|
51
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "
|
|
51
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-2 flex w-full flex-1 flex-col justify-between text-center md:mt-4 md:text-left", children: [
|
|
52
52
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
53
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "
|
|
54
|
-
data.summary && !hideFields.includes("summary") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-md
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "mb-3 text-3xl font-extrabold tracking-tight text-foreground md:text-4xl", children: fullName }),
|
|
54
|
+
data.summary && !hideFields.includes("summary") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-md pdf-summary mx-auto max-w-3xl font-medium leading-relaxed text-muted-foreground md:mx-0", children: data.summary })
|
|
55
55
|
] }),
|
|
56
|
-
headerSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "
|
|
56
|
+
headerSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "pdf-hidden mt-6 flex w-full items-center justify-center md:justify-end", children: headerSlot })
|
|
57
57
|
] })
|
|
58
58
|
] });
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/header-preview.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CandidateProfile } from \"../../types\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../../../ui\";\n\ninterface HeaderPreviewProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/header-preview.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CandidateProfile } from \"../../types\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../../../ui\";\n\ninterface HeaderPreviewProps {\n data: CandidateProfile;\n headerSlot?: React.ReactNode;\n theme?: string;\n hideFields?: string[];\n}\n\nexport function HeaderPreview({ data, headerSlot, theme, hideFields = [] }: HeaderPreviewProps) {\n const getInitials = () => {\n const f = hideFields.includes(\"first_name\") ? \"\" : data.first_name?.[0] || \"\";\n const l = data.last_name?.[0] || \"\";\n return `${f}${l}`.toUpperCase() || \"CN\";\n };\n\n const fullName =\n [\n hideFields.includes(\"first_name\") ? null : data.first_name,\n hideFields.includes(\"middle_name\") ? null : data.middle_name,\n hideFields.includes(\"last_name\") ? null : data.last_name,\n hideFields.includes(\"second_last_name\") ? null : data.second_last_name,\n ]\n .filter(Boolean)\n .join(\" \") || \"Sin nombre\";\n\n const themeStyle = theme ? { backgroundColor: theme } : undefined;\n\n return (\n <div className=\"mt-4 flex flex-col items-center gap-8 md:flex-row md:items-start\">\n {!hideFields.includes(\"photo_url\") && (\n <Avatar className=\"h-32 w-32 flex-shrink-0 border-4 border-background shadow-lg\">\n <AvatarImage src={data.photo_url || undefined} alt={fullName} className=\"object-cover\" />\n <AvatarFallback\n className=\"pdf-header-initials text-3xl font-semibold text-primary-foreground\"\n style={themeStyle || { backgroundColor: \"hsl(var(--primary))\" }}\n >\n {getInitials()}\n </AvatarFallback>\n </Avatar>\n )}\n\n <div className=\"mt-2 flex w-full flex-1 flex-col justify-between text-center md:mt-4 md:text-left\">\n <div>\n <h1 className=\"mb-3 text-3xl font-extrabold tracking-tight text-foreground md:text-4xl\">\n {fullName}\n </h1>\n {data.summary && !hideFields.includes(\"summary\") && (\n <p className=\"text-md pdf-summary mx-auto max-w-3xl font-medium leading-relaxed text-muted-foreground md:mx-0\">\n {data.summary}\n </p>\n )}\n </div>\n\n {headerSlot && (\n <div className=\"pdf-hidden mt-6 flex w-full items-center justify-center md:justify-end\">\n {headerSlot}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCQ;AA/BR,gBAAoD;AAS7C,SAAS,cAAc,EAAE,MAAM,YAAY,OAAO,aAAa,CAAC,EAAE,GAAuB;AAC9F,QAAM,cAAc,MAAM;AACxB,UAAM,IAAI,WAAW,SAAS,YAAY,IAAI,KAAK,KAAK,aAAa,CAAC,KAAK;AAC3E,UAAM,IAAI,KAAK,YAAY,CAAC,KAAK;AACjC,WAAO,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK;AAAA,EACrC;AAEA,QAAM,WACJ;AAAA,IACE,WAAW,SAAS,YAAY,IAAI,OAAO,KAAK;AAAA,IAChD,WAAW,SAAS,aAAa,IAAI,OAAO,KAAK;AAAA,IACjD,WAAW,SAAS,WAAW,IAAI,OAAO,KAAK;AAAA,IAC/C,WAAW,SAAS,kBAAkB,IAAI,OAAO,KAAK;AAAA,EACxD,EACG,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,QAAM,aAAa,QAAQ,EAAE,iBAAiB,MAAM,IAAI;AAExD,SACE,6CAAC,SAAI,WAAU,oEACZ;AAAA,KAAC,WAAW,SAAS,WAAW,KAC/B,6CAAC,oBAAO,WAAU,gEAChB;AAAA,kDAAC,yBAAY,KAAK,KAAK,aAAa,QAAW,KAAK,UAAU,WAAU,gBAAe;AAAA,MACvF;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO,cAAc,EAAE,iBAAiB,sBAAsB;AAAA,UAE7D,sBAAY;AAAA;AAAA,MACf;AAAA,OACF;AAAA,IAGF,6CAAC,SAAI,WAAU,qFACb;AAAA,mDAAC,SACC;AAAA,oDAAC,QAAG,WAAU,2EACX,oBACH;AAAA,QACC,KAAK,WAAW,CAAC,WAAW,SAAS,SAAS,KAC7C,4CAAC,OAAE,WAAU,mGACV,eAAK,SACR;AAAA,SAEJ;AAAA,MAEC,cACC,4CAAC,SAAI,WAAU,0EACZ,sBACH;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -13,24 +13,24 @@ function HeaderPreview({ data, headerSlot, theme, hideFields = [] }) {
|
|
|
13
13
|
hideFields.includes("second_last_name") ? null : data.second_last_name
|
|
14
14
|
].filter(Boolean).join(" ") || "Sin nombre";
|
|
15
15
|
const themeStyle = theme ? { backgroundColor: theme } : void 0;
|
|
16
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row
|
|
17
|
-
!hideFields.includes("photo_url") && /* @__PURE__ */ jsxs(Avatar, { className: "
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", { className: "mt-4 flex flex-col items-center gap-8 md:flex-row md:items-start", children: [
|
|
17
|
+
!hideFields.includes("photo_url") && /* @__PURE__ */ jsxs(Avatar, { className: "h-32 w-32 flex-shrink-0 border-4 border-background shadow-lg", children: [
|
|
18
18
|
/* @__PURE__ */ jsx(AvatarImage, { src: data.photo_url || void 0, alt: fullName, className: "object-cover" }),
|
|
19
19
|
/* @__PURE__ */ jsx(
|
|
20
20
|
AvatarFallback,
|
|
21
21
|
{
|
|
22
|
-
className: "text-3xl font-semibold text-primary-foreground
|
|
22
|
+
className: "pdf-header-initials text-3xl font-semibold text-primary-foreground",
|
|
23
23
|
style: themeStyle || { backgroundColor: "hsl(var(--primary))" },
|
|
24
24
|
children: getInitials()
|
|
25
25
|
}
|
|
26
26
|
)
|
|
27
27
|
] }),
|
|
28
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-2 flex w-full flex-1 flex-col justify-between text-center md:mt-4 md:text-left", children: [
|
|
29
29
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
30
|
-
/* @__PURE__ */ jsx("h1", { className: "
|
|
31
|
-
data.summary && !hideFields.includes("summary") && /* @__PURE__ */ jsx("p", { className: "text-md
|
|
30
|
+
/* @__PURE__ */ jsx("h1", { className: "mb-3 text-3xl font-extrabold tracking-tight text-foreground md:text-4xl", children: fullName }),
|
|
31
|
+
data.summary && !hideFields.includes("summary") && /* @__PURE__ */ jsx("p", { className: "text-md pdf-summary mx-auto max-w-3xl font-medium leading-relaxed text-muted-foreground md:mx-0", children: data.summary })
|
|
32
32
|
] }),
|
|
33
|
-
headerSlot && /* @__PURE__ */ jsx("div", { className: "
|
|
33
|
+
headerSlot && /* @__PURE__ */ jsx("div", { className: "pdf-hidden mt-6 flex w-full items-center justify-center md:justify-end", children: headerSlot })
|
|
34
34
|
] })
|
|
35
35
|
] });
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/header-preview.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CandidateProfile } from \"../../types\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../../../ui\";\n\ninterface HeaderPreviewProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-preview/sections/header-preview.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CandidateProfile } from \"../../types\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../../../../ui\";\n\ninterface HeaderPreviewProps {\n data: CandidateProfile;\n headerSlot?: React.ReactNode;\n theme?: string;\n hideFields?: string[];\n}\n\nexport function HeaderPreview({ data, headerSlot, theme, hideFields = [] }: HeaderPreviewProps) {\n const getInitials = () => {\n const f = hideFields.includes(\"first_name\") ? \"\" : data.first_name?.[0] || \"\";\n const l = data.last_name?.[0] || \"\";\n return `${f}${l}`.toUpperCase() || \"CN\";\n };\n\n const fullName =\n [\n hideFields.includes(\"first_name\") ? null : data.first_name,\n hideFields.includes(\"middle_name\") ? null : data.middle_name,\n hideFields.includes(\"last_name\") ? null : data.last_name,\n hideFields.includes(\"second_last_name\") ? null : data.second_last_name,\n ]\n .filter(Boolean)\n .join(\" \") || \"Sin nombre\";\n\n const themeStyle = theme ? { backgroundColor: theme } : undefined;\n\n return (\n <div className=\"mt-4 flex flex-col items-center gap-8 md:flex-row md:items-start\">\n {!hideFields.includes(\"photo_url\") && (\n <Avatar className=\"h-32 w-32 flex-shrink-0 border-4 border-background shadow-lg\">\n <AvatarImage src={data.photo_url || undefined} alt={fullName} className=\"object-cover\" />\n <AvatarFallback\n className=\"pdf-header-initials text-3xl font-semibold text-primary-foreground\"\n style={themeStyle || { backgroundColor: \"hsl(var(--primary))\" }}\n >\n {getInitials()}\n </AvatarFallback>\n </Avatar>\n )}\n\n <div className=\"mt-2 flex w-full flex-1 flex-col justify-between text-center md:mt-4 md:text-left\">\n <div>\n <h1 className=\"mb-3 text-3xl font-extrabold tracking-tight text-foreground md:text-4xl\">\n {fullName}\n </h1>\n {data.summary && !hideFields.includes(\"summary\") && (\n <p className=\"text-md pdf-summary mx-auto max-w-3xl font-medium leading-relaxed text-muted-foreground md:mx-0\">\n {data.summary}\n </p>\n )}\n </div>\n\n {headerSlot && (\n <div className=\"pdf-hidden mt-6 flex w-full items-center justify-center md:justify-end\">\n {headerSlot}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"AAiCQ,SACE,KADF;AA/BR,SAAS,QAAQ,gBAAgB,mBAAmB;AAS7C,SAAS,cAAc,EAAE,MAAM,YAAY,OAAO,aAAa,CAAC,EAAE,GAAuB;AAC9F,QAAM,cAAc,MAAM;AACxB,UAAM,IAAI,WAAW,SAAS,YAAY,IAAI,KAAK,KAAK,aAAa,CAAC,KAAK;AAC3E,UAAM,IAAI,KAAK,YAAY,CAAC,KAAK;AACjC,WAAO,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK;AAAA,EACrC;AAEA,QAAM,WACJ;AAAA,IACE,WAAW,SAAS,YAAY,IAAI,OAAO,KAAK;AAAA,IAChD,WAAW,SAAS,aAAa,IAAI,OAAO,KAAK;AAAA,IACjD,WAAW,SAAS,WAAW,IAAI,OAAO,KAAK;AAAA,IAC/C,WAAW,SAAS,kBAAkB,IAAI,OAAO,KAAK;AAAA,EACxD,EACG,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,QAAM,aAAa,QAAQ,EAAE,iBAAiB,MAAM,IAAI;AAExD,SACE,qBAAC,SAAI,WAAU,oEACZ;AAAA,KAAC,WAAW,SAAS,WAAW,KAC/B,qBAAC,UAAO,WAAU,gEAChB;AAAA,0BAAC,eAAY,KAAK,KAAK,aAAa,QAAW,KAAK,UAAU,WAAU,gBAAe;AAAA,MACvF;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO,cAAc,EAAE,iBAAiB,sBAAsB;AAAA,UAE7D,sBAAY;AAAA;AAAA,MACf;AAAA,OACF;AAAA,IAGF,qBAAC,SAAI,WAAU,qFACb;AAAA,2BAAC,SACC;AAAA,4BAAC,QAAG,WAAU,2EACX,oBACH;AAAA,QACC,KAAK,WAAW,CAAC,WAAW,SAAS,SAAS,KAC7C,oBAAC,OAAE,WAAU,mGACV,eAAK,SACR;AAAA,SAEJ;AAAA,MAEC,cACC,oBAAC,SAAI,WAAU,0EACZ,sBACH;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
|