@ginia/ui 0.1.1 → 0.1.3
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/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/sonner.cjs.map +1 -1
- 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/package.json +1 -1
|
@@ -80,7 +80,15 @@ function ResumeEditor({
|
|
|
80
80
|
{
|
|
81
81
|
id: "certifications",
|
|
82
82
|
title: "Certificaciones",
|
|
83
|
-
content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
84
|
+
import_certifications.CertificationsSection,
|
|
85
|
+
{
|
|
86
|
+
data,
|
|
87
|
+
onChange: handleSectionChange,
|
|
88
|
+
hideFields,
|
|
89
|
+
theme
|
|
90
|
+
}
|
|
91
|
+
)
|
|
84
92
|
},
|
|
85
93
|
{
|
|
86
94
|
id: "requirements",
|
|
@@ -117,14 +125,14 @@ function ResumeEditor({
|
|
|
117
125
|
content: slot.node
|
|
118
126
|
}))
|
|
119
127
|
];
|
|
120
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full flex items-start
|
|
128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex w-full flex-col items-start gap-4", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.Accordion, { type: "single", collapsible: true, className: "w-full", children: allSections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
121
129
|
import_accordion.AccordionItem,
|
|
122
130
|
{
|
|
123
131
|
value: section.id,
|
|
124
|
-
className: "border-b border-border/40 px-2 data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3
|
|
132
|
+
className: "border-b border-border/40 px-2 transition-all data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3",
|
|
125
133
|
children: [
|
|
126
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.AccordionTrigger, { className: "text-md font-medium data-[state=open]:
|
|
127
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.AccordionContent, { className: "pt-2
|
|
134
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.AccordionTrigger, { className: "text-md font-medium transition-all data-[state=open]:font-semibold data-[state=open]:text-primary", children: section.title }),
|
|
135
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.AccordionContent, { className: "pb-3 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "bg-card px-2", children: section.content }) })
|
|
128
136
|
]
|
|
129
137
|
},
|
|
130
138
|
section.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/domain/resume/resume-editor/resume-editor.tsx"],"sourcesContent":["import { CandidateProfile, ResumeMenuSlot } from \"../types\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/domain/resume/resume-editor/resume-editor.tsx"],"sourcesContent":["import { CandidateProfile, ResumeMenuSlot } from \"../types\";\nimport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"../../../ui/accordion\";\nimport { PersonalInfo } from \"./sections/personal-info\";\nimport { AcademicInfo } from \"./sections/academic-info\";\nimport { EducationSection } from \"./sections/education\";\nimport { ExperienceSection } from \"./sections/experience\";\nimport { ActivitiesSection } from \"./sections/activities\";\nimport { SkillsSection } from \"./sections/skills\";\nimport { CertificationsSection } from \"./sections/certifications\";\nimport { RequirementsSection } from \"./sections/requirements\";\nimport { PreferencesSection } from \"./sections/preferences\";\nimport { Label, Textarea } from \"../../../ui\";\n\nexport interface ResumeEditorProps {\n data: CandidateProfile;\n onChange?: (data: CandidateProfile) => void;\n hideFields?: string[];\n hideSections?: string[];\n menuSlot?: ResumeMenuSlot[];\n theme?: string;\n}\n\nexport function ResumeEditor({\n data,\n onChange,\n hideFields = [],\n hideSections = [],\n menuSlot = [],\n theme,\n}: ResumeEditorProps) {\n const handleSectionChange = (partial: Partial<CandidateProfile>) => {\n if (onChange) {\n onChange({ ...data, ...partial });\n }\n };\n\n const coreSections = [\n {\n id: \"personal-info\",\n title: \"Información personal\",\n content: <PersonalInfo data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"academic-info\",\n title: \"Información Académica\",\n content: <AcademicInfo data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"education\",\n title: \"Educación\",\n content: (\n <EducationSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"experience\",\n title: \"Experiencia laboral\",\n content: (\n <ExperienceSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"activities\",\n title: \"Actividades y Logros\",\n content: (\n <ActivitiesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"skills\",\n title: \"Habilidades\",\n content: <SkillsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"certifications\",\n title: \"Certificaciones\",\n content: (\n <CertificationsSection\n data={data}\n onChange={handleSectionChange}\n hideFields={hideFields}\n theme={theme}\n />\n ),\n },\n {\n id: \"requirements\",\n title: \"Requisitos laborales\",\n content: (\n <RequirementsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"preferences\",\n title: \"Preferencias\",\n content: (\n <PreferencesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"notes\",\n title: \"Notas\",\n content: (\n <div className=\"space-y-2\">\n <Label>Notas internas</Label>\n <Textarea\n rows={5}\n placeholder=\"Notas visibles solo para administradores...\"\n value={data.advanced?.notes || \"\"}\n onChange={(e) =>\n handleSectionChange({ advanced: { ...data.advanced, notes: e.target.value } })\n }\n />\n </div>\n ),\n },\n ];\n\n const allSections = [\n ...coreSections.filter((section) => !hideSections.includes(section.title)),\n ...menuSlot.map((slot, idx) => ({\n id: `slot-${idx}`,\n title: slot.title,\n content: slot.node,\n })),\n ];\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <Accordion type=\"single\" collapsible className=\"w-full\">\n {allSections.map((section) => (\n <AccordionItem\n key={section.id}\n value={section.id}\n className=\"border-b border-border/40 px-2 transition-all data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3\"\n >\n <AccordionTrigger className=\"text-md font-medium transition-all data-[state=open]:font-semibold data-[state=open]:text-primary\">\n {section.title}\n </AccordionTrigger>\n <AccordionContent className=\"pb-3 pt-2\">\n <div className=\"bg-card px-2\">{section.content}</div>\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -10,6 +10,6 @@ interface ResumeEditorProps {
|
|
|
10
10
|
menuSlot?: ResumeMenuSlot[];
|
|
11
11
|
theme?: string;
|
|
12
12
|
}
|
|
13
|
-
declare function ResumeEditor({ data, onChange, hideFields, hideSections, menuSlot, theme }: ResumeEditorProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function ResumeEditor({ data, onChange, hideFields, hideSections, menuSlot, theme, }: ResumeEditorProps): react_jsx_runtime.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { ResumeEditor, type ResumeEditorProps };
|
|
@@ -10,6 +10,6 @@ interface ResumeEditorProps {
|
|
|
10
10
|
menuSlot?: ResumeMenuSlot[];
|
|
11
11
|
theme?: string;
|
|
12
12
|
}
|
|
13
|
-
declare function ResumeEditor({ data, onChange, hideFields, hideSections, menuSlot, theme }: ResumeEditorProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function ResumeEditor({ data, onChange, hideFields, hideSections, menuSlot, theme, }: ResumeEditorProps): react_jsx_runtime.JSX.Element;
|
|
14
14
|
|
|
15
15
|
export { ResumeEditor, type ResumeEditorProps };
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Accordion,
|
|
4
|
+
AccordionItem,
|
|
5
|
+
AccordionTrigger,
|
|
6
|
+
AccordionContent
|
|
7
|
+
} from "../../../ui/accordion";
|
|
3
8
|
import { PersonalInfo } from "./sections/personal-info";
|
|
4
9
|
import { AcademicInfo } from "./sections/academic-info";
|
|
5
10
|
import { EducationSection } from "./sections/education";
|
|
@@ -57,7 +62,15 @@ function ResumeEditor({
|
|
|
57
62
|
{
|
|
58
63
|
id: "certifications",
|
|
59
64
|
title: "Certificaciones",
|
|
60
|
-
content: /* @__PURE__ */ jsx(
|
|
65
|
+
content: /* @__PURE__ */ jsx(
|
|
66
|
+
CertificationsSection,
|
|
67
|
+
{
|
|
68
|
+
data,
|
|
69
|
+
onChange: handleSectionChange,
|
|
70
|
+
hideFields,
|
|
71
|
+
theme
|
|
72
|
+
}
|
|
73
|
+
)
|
|
61
74
|
},
|
|
62
75
|
{
|
|
63
76
|
id: "requirements",
|
|
@@ -94,14 +107,14 @@ function ResumeEditor({
|
|
|
94
107
|
content: slot.node
|
|
95
108
|
}))
|
|
96
109
|
];
|
|
97
|
-
return /* @__PURE__ */ jsx("div", { className: "w-full flex items-start
|
|
110
|
+
return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col items-start gap-4", children: /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: allSections.map((section) => /* @__PURE__ */ jsxs(
|
|
98
111
|
AccordionItem,
|
|
99
112
|
{
|
|
100
113
|
value: section.id,
|
|
101
|
-
className: "border-b border-border/40 px-2 data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3
|
|
114
|
+
className: "border-b border-border/40 px-2 transition-all data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3",
|
|
102
115
|
children: [
|
|
103
|
-
/* @__PURE__ */ jsx(AccordionTrigger, { className: "text-md font-medium data-[state=open]:
|
|
104
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "pt-2
|
|
116
|
+
/* @__PURE__ */ jsx(AccordionTrigger, { className: "text-md font-medium transition-all data-[state=open]:font-semibold data-[state=open]:text-primary", children: section.title }),
|
|
117
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "pb-3 pt-2", children: /* @__PURE__ */ jsx("div", { className: "bg-card px-2", children: section.content }) })
|
|
105
118
|
]
|
|
106
119
|
},
|
|
107
120
|
section.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/domain/resume/resume-editor/resume-editor.tsx"],"sourcesContent":["import { CandidateProfile, ResumeMenuSlot } from \"../types\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/domain/resume/resume-editor/resume-editor.tsx"],"sourcesContent":["import { CandidateProfile, ResumeMenuSlot } from \"../types\";\nimport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"../../../ui/accordion\";\nimport { PersonalInfo } from \"./sections/personal-info\";\nimport { AcademicInfo } from \"./sections/academic-info\";\nimport { EducationSection } from \"./sections/education\";\nimport { ExperienceSection } from \"./sections/experience\";\nimport { ActivitiesSection } from \"./sections/activities\";\nimport { SkillsSection } from \"./sections/skills\";\nimport { CertificationsSection } from \"./sections/certifications\";\nimport { RequirementsSection } from \"./sections/requirements\";\nimport { PreferencesSection } from \"./sections/preferences\";\nimport { Label, Textarea } from \"../../../ui\";\n\nexport interface ResumeEditorProps {\n data: CandidateProfile;\n onChange?: (data: CandidateProfile) => void;\n hideFields?: string[];\n hideSections?: string[];\n menuSlot?: ResumeMenuSlot[];\n theme?: string;\n}\n\nexport function ResumeEditor({\n data,\n onChange,\n hideFields = [],\n hideSections = [],\n menuSlot = [],\n theme,\n}: ResumeEditorProps) {\n const handleSectionChange = (partial: Partial<CandidateProfile>) => {\n if (onChange) {\n onChange({ ...data, ...partial });\n }\n };\n\n const coreSections = [\n {\n id: \"personal-info\",\n title: \"Información personal\",\n content: <PersonalInfo data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"academic-info\",\n title: \"Información Académica\",\n content: <AcademicInfo data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"education\",\n title: \"Educación\",\n content: (\n <EducationSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"experience\",\n title: \"Experiencia laboral\",\n content: (\n <ExperienceSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"activities\",\n title: \"Actividades y Logros\",\n content: (\n <ActivitiesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"skills\",\n title: \"Habilidades\",\n content: <SkillsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />,\n },\n {\n id: \"certifications\",\n title: \"Certificaciones\",\n content: (\n <CertificationsSection\n data={data}\n onChange={handleSectionChange}\n hideFields={hideFields}\n theme={theme}\n />\n ),\n },\n {\n id: \"requirements\",\n title: \"Requisitos laborales\",\n content: (\n <RequirementsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"preferences\",\n title: \"Preferencias\",\n content: (\n <PreferencesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n ),\n },\n {\n id: \"notes\",\n title: \"Notas\",\n content: (\n <div className=\"space-y-2\">\n <Label>Notas internas</Label>\n <Textarea\n rows={5}\n placeholder=\"Notas visibles solo para administradores...\"\n value={data.advanced?.notes || \"\"}\n onChange={(e) =>\n handleSectionChange({ advanced: { ...data.advanced, notes: e.target.value } })\n }\n />\n </div>\n ),\n },\n ];\n\n const allSections = [\n ...coreSections.filter((section) => !hideSections.includes(section.title)),\n ...menuSlot.map((slot, idx) => ({\n id: `slot-${idx}`,\n title: slot.title,\n content: slot.node,\n })),\n ];\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <Accordion type=\"single\" collapsible className=\"w-full\">\n {allSections.map((section) => (\n <AccordionItem\n key={section.id}\n value={section.id}\n className=\"border-b border-border/40 px-2 transition-all data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3\"\n >\n <AccordionTrigger className=\"text-md font-medium transition-all data-[state=open]:font-semibold data-[state=open]:text-primary\">\n {section.title}\n </AccordionTrigger>\n <AccordionContent className=\"pb-3 pt-2\">\n <div className=\"bg-card px-2\">{section.content}</div>\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -24,7 +24,7 @@ module.exports = __toCommonJS(academic_info_exports);
|
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
25
|
var import_ui = require("../../../../ui");
|
|
26
26
|
function AcademicInfo({ data, onChange, hideFields = [] }) {
|
|
27
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-4 pt-2
|
|
27
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-4 pb-4 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
|
|
28
28
|
!hideFields.includes("education_institution_id") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-2 md:col-span-2", children: [
|
|
29
29
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Label, { htmlFor: "education_institution_id", children: "ID Instituci\xF3n Educativa (UUID de BD)" }),
|
|
30
30
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/academic-info.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label } from \"../../../../ui\";\n\ninterface AcademicInfoProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/academic-info.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label } from \"../../../../ui\";\n\ninterface AcademicInfoProps {\n data: CandidateProfile;\n onChange: (partial: Partial<CandidateProfile>) => void;\n hideFields?: string[];\n}\n\nexport function AcademicInfo({ data, onChange, hideFields = [] }: AcademicInfoProps) {\n return (\n <div className=\"space-y-4 pb-4 pt-2\">\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n {!hideFields.includes(\"education_institution_id\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label htmlFor=\"education_institution_id\">ID Institución Educativa (UUID de BD)</Label>\n <Input\n id=\"education_institution_id\"\n placeholder=\"Ej. ID de la base de datos\"\n value={data.education_institution_id || \"\"}\n onChange={(e) => onChange({ education_institution_id: e.target.value })}\n />\n </div>\n )}\n {!hideFields.includes(\"student_education_institution_id\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label htmlFor=\"student_education_institution_id\">Matrícula</Label>\n <Input\n id=\"student_education_institution_id\"\n value={data.student_education_institution_id || \"\"}\n onChange={(e) => onChange({ student_education_institution_id: e.target.value })}\n />\n </div>\n )}\n {!hideFields.includes(\"program_name\") && (\n <div className=\"space-y-2\">\n <Label htmlFor=\"program_name\">Programa de estudio</Label>\n <Input\n id=\"program_name\"\n value={data.program_name || \"\"}\n onChange={(e) => onChange({ program_name: e.target.value })}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcU;AAbV,gBAA6B;AAQtB,SAAS,aAAa,EAAE,MAAM,UAAU,aAAa,CAAC,EAAE,GAAsB;AACnF,SACE,4CAAC,SAAI,WAAU,uBACb,uDAAC,SAAI,WAAU,yCACZ;AAAA,KAAC,WAAW,SAAS,0BAA0B,KAC9C,6CAAC,SAAI,WAAU,2BACb;AAAA,kDAAC,mBAAM,SAAQ,4BAA2B,sDAAqC;AAAA,MAC/E;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,aAAY;AAAA,UACZ,OAAO,KAAK,4BAA4B;AAAA,UACxC,UAAU,CAAC,MAAM,SAAS,EAAE,0BAA0B,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MACxE;AAAA,OACF;AAAA,IAED,CAAC,WAAW,SAAS,kCAAkC,KACtD,6CAAC,SAAI,WAAU,2BACb;AAAA,kDAAC,mBAAM,SAAQ,oCAAmC,0BAAS;AAAA,MAC3D;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,OAAO,KAAK,oCAAoC;AAAA,UAChD,UAAU,CAAC,MAAM,SAAS,EAAE,kCAAkC,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAChF;AAAA,OACF;AAAA,IAED,CAAC,WAAW,SAAS,cAAc,KAClC,6CAAC,SAAI,WAAU,aACb;AAAA,kDAAC,mBAAM,SAAQ,gBAAe,iCAAmB;AAAA,MACjD;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,OAAO,KAAK,gBAAgB;AAAA,UAC5B,UAAU,CAAC,MAAM,SAAS,EAAE,cAAc,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC5D;AAAA,OACF;AAAA,KAEJ,GACF;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Input, Label } from "../../../../ui";
|
|
3
3
|
function AcademicInfo({ data, onChange, hideFields = [] }) {
|
|
4
|
-
return /* @__PURE__ */ jsx("div", { className: "space-y-4 pt-2
|
|
4
|
+
return /* @__PURE__ */ jsx("div", { className: "space-y-4 pb-4 pt-2", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
|
|
5
5
|
!hideFields.includes("education_institution_id") && /* @__PURE__ */ jsxs("div", { className: "space-y-2 md:col-span-2", children: [
|
|
6
6
|
/* @__PURE__ */ jsx(Label, { htmlFor: "education_institution_id", children: "ID Instituci\xF3n Educativa (UUID de BD)" }),
|
|
7
7
|
/* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/academic-info.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label } from \"../../../../ui\";\n\ninterface AcademicInfoProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/academic-info.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label } from \"../../../../ui\";\n\ninterface AcademicInfoProps {\n data: CandidateProfile;\n onChange: (partial: Partial<CandidateProfile>) => void;\n hideFields?: string[];\n}\n\nexport function AcademicInfo({ data, onChange, hideFields = [] }: AcademicInfoProps) {\n return (\n <div className=\"space-y-4 pb-4 pt-2\">\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n {!hideFields.includes(\"education_institution_id\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label htmlFor=\"education_institution_id\">ID Institución Educativa (UUID de BD)</Label>\n <Input\n id=\"education_institution_id\"\n placeholder=\"Ej. ID de la base de datos\"\n value={data.education_institution_id || \"\"}\n onChange={(e) => onChange({ education_institution_id: e.target.value })}\n />\n </div>\n )}\n {!hideFields.includes(\"student_education_institution_id\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label htmlFor=\"student_education_institution_id\">Matrícula</Label>\n <Input\n id=\"student_education_institution_id\"\n value={data.student_education_institution_id || \"\"}\n onChange={(e) => onChange({ student_education_institution_id: e.target.value })}\n />\n </div>\n )}\n {!hideFields.includes(\"program_name\") && (\n <div className=\"space-y-2\">\n <Label htmlFor=\"program_name\">Programa de estudio</Label>\n <Input\n id=\"program_name\"\n value={data.program_name || \"\"}\n onChange={(e) => onChange({ program_name: e.target.value })}\n />\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"AAcU,SACE,KADF;AAbV,SAAS,OAAO,aAAa;AAQtB,SAAS,aAAa,EAAE,MAAM,UAAU,aAAa,CAAC,EAAE,GAAsB;AACnF,SACE,oBAAC,SAAI,WAAU,uBACb,+BAAC,SAAI,WAAU,yCACZ;AAAA,KAAC,WAAW,SAAS,0BAA0B,KAC9C,qBAAC,SAAI,WAAU,2BACb;AAAA,0BAAC,SAAM,SAAQ,4BAA2B,sDAAqC;AAAA,MAC/E;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,aAAY;AAAA,UACZ,OAAO,KAAK,4BAA4B;AAAA,UACxC,UAAU,CAAC,MAAM,SAAS,EAAE,0BAA0B,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MACxE;AAAA,OACF;AAAA,IAED,CAAC,WAAW,SAAS,kCAAkC,KACtD,qBAAC,SAAI,WAAU,2BACb;AAAA,0BAAC,SAAM,SAAQ,oCAAmC,0BAAS;AAAA,MAC3D;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,OAAO,KAAK,oCAAoC;AAAA,UAChD,UAAU,CAAC,MAAM,SAAS,EAAE,kCAAkC,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAChF;AAAA,OACF;AAAA,IAED,CAAC,WAAW,SAAS,cAAc,KAClC,qBAAC,SAAI,WAAU,aACb;AAAA,0BAAC,SAAM,SAAQ,gBAAe,iCAAmB;AAAA,MACjD;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,OAAO,KAAK,gBAAgB;AAAA,UAC5B,UAAU,CAAC,MAAM,SAAS,EAAE,cAAc,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC5D;AAAA,OACF;AAAA,KAEJ,GACF;AAEJ;","names":[]}
|
|
@@ -35,7 +35,13 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
35
35
|
onChange({
|
|
36
36
|
activities: [
|
|
37
37
|
...items,
|
|
38
|
-
{
|
|
38
|
+
{
|
|
39
|
+
id: `temp-act-${Date.now()}`,
|
|
40
|
+
title: "",
|
|
41
|
+
type: "activity",
|
|
42
|
+
institution_name: "",
|
|
43
|
+
start_date: ""
|
|
44
|
+
}
|
|
39
45
|
]
|
|
40
46
|
});
|
|
41
47
|
};
|
|
@@ -44,22 +50,22 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
44
50
|
activities: items.filter((_, i) => i !== index)
|
|
45
51
|
});
|
|
46
52
|
};
|
|
47
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6 pt-2
|
|
48
|
-
items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6 pb-4 pt-2", children: [
|
|
54
|
+
items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4 rounded-lg border border-border p-4 shadow-md", children: [
|
|
49
55
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
50
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trophy, { className: "
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trophy, { className: "h-5 w-5 text-secondary" }),
|
|
51
57
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
58
|
import_ui.Button,
|
|
53
59
|
{
|
|
54
60
|
variant: "ghost",
|
|
55
61
|
size: "sm",
|
|
56
|
-
className: "h-7 px-2 text-muted-foreground hover:
|
|
62
|
+
className: "h-7 px-2 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",
|
|
57
63
|
onClick: () => handleRemove(index),
|
|
58
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trash2, { className: "
|
|
64
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trash2, { className: "h-3.5 w-3.5" })
|
|
59
65
|
}
|
|
60
66
|
)
|
|
61
67
|
] }),
|
|
62
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
|
|
63
69
|
!hideFields.includes("activities.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-2 md:col-span-2", children: [
|
|
64
70
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Label, { children: "T\xEDtulo" }),
|
|
65
71
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -114,10 +120,18 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
114
120
|
] })
|
|
115
121
|
] })
|
|
116
122
|
] }, item.id)),
|
|
117
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
124
|
+
import_ui.Button,
|
|
125
|
+
{
|
|
126
|
+
variant: "outline",
|
|
127
|
+
className: "flex w-full items-center justify-center gap-2",
|
|
128
|
+
onClick: handleAdd,
|
|
129
|
+
children: [
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Plus, { className: "h-4 w-4" }),
|
|
131
|
+
"A\xF1adir actividad"
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
)
|
|
121
135
|
] });
|
|
122
136
|
}
|
|
123
137
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/activities.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label, Textarea, Button } from \"../../../../ui\";\nimport { Plus, Trash2, Trophy } from \"lucide-react\";\n\ninterface ActivitiesProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/activities.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label, Textarea, Button } from \"../../../../ui\";\nimport { Plus, Trash2, Trophy } from \"lucide-react\";\n\ninterface ActivitiesProps {\n data: CandidateProfile;\n onChange: (partial: Partial<CandidateProfile>) => void;\n hideFields?: string[];\n}\n\nexport function ActivitiesSection({ data, onChange, hideFields = [] }: ActivitiesProps) {\n const items = data.activities || [];\n\n const handleUpdate = (index: number, field: string, value: string) => {\n const updated = [...items];\n updated[index] = { ...updated[index], [field]: value };\n onChange({ activities: updated });\n };\n\n const handleAdd = () => {\n onChange({\n activities: [\n ...items,\n {\n id: `temp-act-${Date.now()}`,\n title: \"\",\n type: \"activity\",\n institution_name: \"\",\n start_date: \"\",\n },\n ],\n });\n };\n\n const handleRemove = (index: number) => {\n onChange({\n activities: items.filter((_, i) => i !== index),\n });\n };\n\n return (\n <div className=\"space-y-6 pb-4 pt-2\">\n {items.map((item, index) => (\n <div key={item.id} className=\"space-y-4 rounded-lg border border-border p-4 shadow-md\">\n <div className=\"flex items-center justify-between\">\n <Trophy className=\"h-5 w-5 text-secondary\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-7 px-2 text-muted-foreground hover:bg-destructive/10 hover:text-destructive\"\n onClick={() => handleRemove(index)}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n </Button>\n </div>\n\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n {!hideFields.includes(\"activities.title\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Título</Label>\n <Input\n value={item.title || \"\"}\n onChange={(e) => handleUpdate(index, \"title\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.organization\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Organización</Label>\n <Input\n value={item.institution_name || \"\"}\n onChange={(e) => handleUpdate(index, \"institution_name\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.start_date\") && (\n <div className=\"space-y-2\">\n <Label>Fecha de inicio</Label>\n <Input\n type=\"date\"\n value={item.start_date || \"\"}\n onChange={(e) => handleUpdate(index, \"start_date\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.end_date\") && (\n <div className=\"space-y-2\">\n <Label>Fecha de finalización</Label>\n <Input\n type=\"date\"\n value={item.end_date || \"\"}\n onChange={(e) => handleUpdate(index, \"end_date\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.description\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Descripción</Label>\n <Textarea\n value={item.description || \"\"}\n onChange={(e) => handleUpdate(index, \"description\", e.target.value)}\n />\n </div>\n )}\n </div>\n </div>\n ))}\n\n <Button\n variant=\"outline\"\n className=\"flex w-full items-center justify-center gap-2\"\n onClick={handleAdd}\n >\n <Plus className=\"h-4 w-4\" />\n Añadir actividad\n </Button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -12,7 +12,13 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
12
12
|
onChange({
|
|
13
13
|
activities: [
|
|
14
14
|
...items,
|
|
15
|
-
{
|
|
15
|
+
{
|
|
16
|
+
id: `temp-act-${Date.now()}`,
|
|
17
|
+
title: "",
|
|
18
|
+
type: "activity",
|
|
19
|
+
institution_name: "",
|
|
20
|
+
start_date: ""
|
|
21
|
+
}
|
|
16
22
|
]
|
|
17
23
|
});
|
|
18
24
|
};
|
|
@@ -21,22 +27,22 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
21
27
|
activities: items.filter((_, i) => i !== index)
|
|
22
28
|
});
|
|
23
29
|
};
|
|
24
|
-
return /* @__PURE__ */ jsxs("div", { className: "space-y-6 pt-2
|
|
25
|
-
items.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "
|
|
30
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-6 pb-4 pt-2", children: [
|
|
31
|
+
items.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "space-y-4 rounded-lg border border-border p-4 shadow-md", children: [
|
|
26
32
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
27
|
-
/* @__PURE__ */ jsx(Trophy, { className: "
|
|
33
|
+
/* @__PURE__ */ jsx(Trophy, { className: "h-5 w-5 text-secondary" }),
|
|
28
34
|
/* @__PURE__ */ jsx(
|
|
29
35
|
Button,
|
|
30
36
|
{
|
|
31
37
|
variant: "ghost",
|
|
32
38
|
size: "sm",
|
|
33
|
-
className: "h-7 px-2 text-muted-foreground hover:
|
|
39
|
+
className: "h-7 px-2 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",
|
|
34
40
|
onClick: () => handleRemove(index),
|
|
35
|
-
children: /* @__PURE__ */ jsx(Trash2, { className: "
|
|
41
|
+
children: /* @__PURE__ */ jsx(Trash2, { className: "h-3.5 w-3.5" })
|
|
36
42
|
}
|
|
37
43
|
)
|
|
38
44
|
] }),
|
|
39
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2
|
|
45
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
|
|
40
46
|
!hideFields.includes("activities.title") && /* @__PURE__ */ jsxs("div", { className: "space-y-2 md:col-span-2", children: [
|
|
41
47
|
/* @__PURE__ */ jsx(Label, { children: "T\xEDtulo" }),
|
|
42
48
|
/* @__PURE__ */ jsx(
|
|
@@ -91,10 +97,18 @@ function ActivitiesSection({ data, onChange, hideFields = [] }) {
|
|
|
91
97
|
] })
|
|
92
98
|
] })
|
|
93
99
|
] }, item.id)),
|
|
94
|
-
/* @__PURE__ */ jsxs(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
100
|
+
/* @__PURE__ */ jsxs(
|
|
101
|
+
Button,
|
|
102
|
+
{
|
|
103
|
+
variant: "outline",
|
|
104
|
+
className: "flex w-full items-center justify-center gap-2",
|
|
105
|
+
onClick: handleAdd,
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4" }),
|
|
108
|
+
"A\xF1adir actividad"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
)
|
|
98
112
|
] });
|
|
99
113
|
}
|
|
100
114
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/activities.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label, Textarea, Button } from \"../../../../ui\";\nimport { Plus, Trash2, Trophy } from \"lucide-react\";\n\ninterface ActivitiesProps {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/domain/resume/resume-editor/sections/activities.tsx"],"sourcesContent":["import { CandidateProfile } from \"../../types\";\nimport { Input, Label, Textarea, Button } from \"../../../../ui\";\nimport { Plus, Trash2, Trophy } from \"lucide-react\";\n\ninterface ActivitiesProps {\n data: CandidateProfile;\n onChange: (partial: Partial<CandidateProfile>) => void;\n hideFields?: string[];\n}\n\nexport function ActivitiesSection({ data, onChange, hideFields = [] }: ActivitiesProps) {\n const items = data.activities || [];\n\n const handleUpdate = (index: number, field: string, value: string) => {\n const updated = [...items];\n updated[index] = { ...updated[index], [field]: value };\n onChange({ activities: updated });\n };\n\n const handleAdd = () => {\n onChange({\n activities: [\n ...items,\n {\n id: `temp-act-${Date.now()}`,\n title: \"\",\n type: \"activity\",\n institution_name: \"\",\n start_date: \"\",\n },\n ],\n });\n };\n\n const handleRemove = (index: number) => {\n onChange({\n activities: items.filter((_, i) => i !== index),\n });\n };\n\n return (\n <div className=\"space-y-6 pb-4 pt-2\">\n {items.map((item, index) => (\n <div key={item.id} className=\"space-y-4 rounded-lg border border-border p-4 shadow-md\">\n <div className=\"flex items-center justify-between\">\n <Trophy className=\"h-5 w-5 text-secondary\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-7 px-2 text-muted-foreground hover:bg-destructive/10 hover:text-destructive\"\n onClick={() => handleRemove(index)}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n </Button>\n </div>\n\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2\">\n {!hideFields.includes(\"activities.title\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Título</Label>\n <Input\n value={item.title || \"\"}\n onChange={(e) => handleUpdate(index, \"title\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.organization\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Organización</Label>\n <Input\n value={item.institution_name || \"\"}\n onChange={(e) => handleUpdate(index, \"institution_name\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.start_date\") && (\n <div className=\"space-y-2\">\n <Label>Fecha de inicio</Label>\n <Input\n type=\"date\"\n value={item.start_date || \"\"}\n onChange={(e) => handleUpdate(index, \"start_date\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.end_date\") && (\n <div className=\"space-y-2\">\n <Label>Fecha de finalización</Label>\n <Input\n type=\"date\"\n value={item.end_date || \"\"}\n onChange={(e) => handleUpdate(index, \"end_date\", e.target.value)}\n />\n </div>\n )}\n {!hideFields.includes(\"activities.description\") && (\n <div className=\"space-y-2 md:col-span-2\">\n <Label>Descripción</Label>\n <Textarea\n value={item.description || \"\"}\n onChange={(e) => handleUpdate(index, \"description\", e.target.value)}\n />\n </div>\n )}\n </div>\n </div>\n ))}\n\n <Button\n variant=\"outline\"\n className=\"flex w-full items-center justify-center gap-2\"\n onClick={handleAdd}\n >\n <Plus className=\"h-4 w-4\" />\n Añadir actividad\n </Button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -44,22 +44,22 @@ function CertificationsSection({ data, onChange, hideFields = [] }) {
|
|
|
44
44
|
certifications: items.filter((_, i) => i !== index)
|
|
45
45
|
});
|
|
46
46
|
};
|
|
47
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6 pt-2
|
|
48
|
-
items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-6 pb-4 pt-2", children: [
|
|
48
|
+
items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-4 rounded-lg border border-border p-4 shadow-md", children: [
|
|
49
49
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
50
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Award, { className: "
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Award, { className: "h-5 w-5 text-secondary" }),
|
|
51
51
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
52
|
import_ui.Button,
|
|
53
53
|
{
|
|
54
54
|
variant: "ghost",
|
|
55
55
|
size: "sm",
|
|
56
|
-
className: "h-7 px-2 text-muted-foreground hover:
|
|
56
|
+
className: "h-7 px-2 text-muted-foreground hover:bg-destructive/10 hover:text-destructive",
|
|
57
57
|
onClick: () => handleRemove(index),
|
|
58
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trash2, { className: "
|
|
58
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Trash2, { className: "h-3.5 w-3.5" })
|
|
59
59
|
}
|
|
60
60
|
)
|
|
61
61
|
] }),
|
|
62
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2
|
|
62
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [
|
|
63
63
|
!hideFields.includes("certifications.title") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-2 md:col-span-2", children: [
|
|
64
64
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.Label, { children: "T\xEDtulo" }),
|
|
65
65
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -102,7 +102,7 @@ function CertificationsSection({ data, onChange, hideFields = [] }) {
|
|
|
102
102
|
}
|
|
103
103
|
)
|
|
104
104
|
] }),
|
|
105
|
-
!hideFields.includes("certifications.verified") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "
|
|
105
|
+
!hideFields.includes("certifications.verified") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2 md:col-span-2", children: [
|
|
106
106
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
107
107
|
import_ui.Checkbox,
|
|
108
108
|
{
|
|
@@ -111,14 +111,29 @@ function CertificationsSection({ data, onChange, hideFields = [] }) {
|
|
|
111
111
|
onCheckedChange: (c) => handleUpdate(index, "verified", !!c)
|
|
112
112
|
}
|
|
113
113
|
),
|
|
114
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
114
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
115
|
+
"label",
|
|
116
|
+
{
|
|
117
|
+
htmlFor: `verif-${item.id}`,
|
|
118
|
+
className: "flex items-center gap-1 text-sm text-muted-foreground",
|
|
119
|
+
children: "Verificado"
|
|
120
|
+
}
|
|
121
|
+
)
|
|
115
122
|
] })
|
|
116
123
|
] })
|
|
117
124
|
] }, item.id)),
|
|
118
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
126
|
+
import_ui.Button,
|
|
127
|
+
{
|
|
128
|
+
variant: "outline",
|
|
129
|
+
className: "flex w-full items-center justify-center gap-2",
|
|
130
|
+
onClick: handleAdd,
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Plus, { className: "h-4 w-4" }),
|
|
133
|
+
"A\xF1adir certificaci\xF3n"
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
)
|
|
122
137
|
] });
|
|
123
138
|
}
|
|
124
139
|
// Annotate the CommonJS export names for ESM import in node:
|