@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.
Files changed (273) hide show
  1. package/dist/components/domain/resume/resume-editor/resume-editor.cjs +13 -5
  2. package/dist/components/domain/resume/resume-editor/resume-editor.cjs.map +1 -1
  3. package/dist/components/domain/resume/resume-editor/resume-editor.d.cts +1 -1
  4. package/dist/components/domain/resume/resume-editor/resume-editor.d.ts +1 -1
  5. package/dist/components/domain/resume/resume-editor/resume-editor.js +19 -6
  6. package/dist/components/domain/resume/resume-editor/resume-editor.js.map +1 -1
  7. package/dist/components/domain/resume/resume-editor/sections/academic-info.cjs +1 -1
  8. package/dist/components/domain/resume/resume-editor/sections/academic-info.cjs.map +1 -1
  9. package/dist/components/domain/resume/resume-editor/sections/academic-info.js +1 -1
  10. package/dist/components/domain/resume/resume-editor/sections/academic-info.js.map +1 -1
  11. package/dist/components/domain/resume/resume-editor/sections/activities.cjs +25 -11
  12. package/dist/components/domain/resume/resume-editor/sections/activities.cjs.map +1 -1
  13. package/dist/components/domain/resume/resume-editor/sections/activities.js +25 -11
  14. package/dist/components/domain/resume/resume-editor/sections/activities.js.map +1 -1
  15. package/dist/components/domain/resume/resume-editor/sections/certifications.cjs +27 -12
  16. package/dist/components/domain/resume/resume-editor/sections/certifications.cjs.map +1 -1
  17. package/dist/components/domain/resume/resume-editor/sections/certifications.js +27 -12
  18. package/dist/components/domain/resume/resume-editor/sections/certifications.js.map +1 -1
  19. package/dist/components/domain/resume/resume-editor/sections/education.cjs +25 -11
  20. package/dist/components/domain/resume/resume-editor/sections/education.cjs.map +1 -1
  21. package/dist/components/domain/resume/resume-editor/sections/education.js +25 -11
  22. package/dist/components/domain/resume/resume-editor/sections/education.js.map +1 -1
  23. package/dist/components/domain/resume/resume-editor/sections/experience.cjs +25 -11
  24. package/dist/components/domain/resume/resume-editor/sections/experience.cjs.map +1 -1
  25. package/dist/components/domain/resume/resume-editor/sections/experience.js +25 -11
  26. package/dist/components/domain/resume/resume-editor/sections/experience.js.map +1 -1
  27. package/dist/components/domain/resume/resume-editor/sections/personal-info.cjs +1 -1
  28. package/dist/components/domain/resume/resume-editor/sections/personal-info.cjs.map +1 -1
  29. package/dist/components/domain/resume/resume-editor/sections/personal-info.js +1 -1
  30. package/dist/components/domain/resume/resume-editor/sections/personal-info.js.map +1 -1
  31. package/dist/components/domain/resume/resume-editor/sections/preferences.cjs +2 -2
  32. package/dist/components/domain/resume/resume-editor/sections/preferences.cjs.map +1 -1
  33. package/dist/components/domain/resume/resume-editor/sections/preferences.js +2 -2
  34. package/dist/components/domain/resume/resume-editor/sections/preferences.js.map +1 -1
  35. package/dist/components/domain/resume/resume-editor/sections/requirements.cjs +19 -11
  36. package/dist/components/domain/resume/resume-editor/sections/requirements.cjs.map +1 -1
  37. package/dist/components/domain/resume/resume-editor/sections/requirements.js +29 -12
  38. package/dist/components/domain/resume/resume-editor/sections/requirements.js.map +1 -1
  39. package/dist/components/domain/resume/resume-editor/sections/skills.cjs +30 -10
  40. package/dist/components/domain/resume/resume-editor/sections/skills.cjs.map +1 -1
  41. package/dist/components/domain/resume/resume-editor/sections/skills.js +30 -10
  42. package/dist/components/domain/resume/resume-editor/sections/skills.js.map +1 -1
  43. package/dist/components/domain/resume/resume-preview/resume-preview.cjs +27 -11
  44. package/dist/components/domain/resume/resume-preview/resume-preview.cjs.map +1 -1
  45. package/dist/components/domain/resume/resume-preview/resume-preview.js +27 -11
  46. package/dist/components/domain/resume/resume-preview/resume-preview.js.map +1 -1
  47. package/dist/components/domain/resume/resume-preview/sections/contact-skills.cjs +31 -15
  48. package/dist/components/domain/resume/resume-preview/sections/contact-skills.cjs.map +1 -1
  49. package/dist/components/domain/resume/resume-preview/sections/contact-skills.js +31 -15
  50. package/dist/components/domain/resume/resume-preview/sections/contact-skills.js.map +1 -1
  51. package/dist/components/domain/resume/resume-preview/sections/experience-education.cjs +131 -73
  52. package/dist/components/domain/resume/resume-preview/sections/experience-education.cjs.map +1 -1
  53. package/dist/components/domain/resume/resume-preview/sections/experience-education.d.cts +1 -1
  54. package/dist/components/domain/resume/resume-preview/sections/experience-education.d.ts +1 -1
  55. package/dist/components/domain/resume/resume-preview/sections/experience-education.js +131 -73
  56. package/dist/components/domain/resume/resume-preview/sections/experience-education.js.map +1 -1
  57. package/dist/components/domain/resume/resume-preview/sections/footer-preview.cjs +2 -2
  58. package/dist/components/domain/resume/resume-preview/sections/footer-preview.cjs.map +1 -1
  59. package/dist/components/domain/resume/resume-preview/sections/footer-preview.js +2 -2
  60. package/dist/components/domain/resume/resume-preview/sections/footer-preview.js.map +1 -1
  61. package/dist/components/domain/resume/resume-preview/sections/header-preview.cjs +7 -7
  62. package/dist/components/domain/resume/resume-preview/sections/header-preview.cjs.map +1 -1
  63. package/dist/components/domain/resume/resume-preview/sections/header-preview.js +7 -7
  64. package/dist/components/domain/resume/resume-preview/sections/header-preview.js.map +1 -1
  65. package/dist/components/domain/resume/resume.cjs +46 -29
  66. package/dist/components/domain/resume/resume.cjs.map +1 -1
  67. package/dist/components/domain/resume/resume.js +46 -29
  68. package/dist/components/domain/resume/resume.js.map +1 -1
  69. package/dist/components/ui/accordion/accordion.cjs +1 -3
  70. package/dist/components/ui/accordion/accordion.cjs.map +1 -1
  71. package/dist/components/ui/accordion/accordion.js +1 -3
  72. package/dist/components/ui/accordion/accordion.js.map +1 -1
  73. package/dist/components/ui/alert/alert.cjs +12 -25
  74. package/dist/components/ui/alert/alert.cjs.map +1 -1
  75. package/dist/components/ui/alert/alert.js +12 -25
  76. package/dist/components/ui/alert/alert.js.map +1 -1
  77. package/dist/components/ui/alert-dialog/alert-dialog.cjs +12 -46
  78. package/dist/components/ui/alert-dialog/alert-dialog.cjs.map +1 -1
  79. package/dist/components/ui/alert-dialog/alert-dialog.js +12 -46
  80. package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -1
  81. package/dist/components/ui/autocomplete/autocomplete.cjs +12 -12
  82. package/dist/components/ui/autocomplete/autocomplete.cjs.map +1 -1
  83. package/dist/components/ui/autocomplete/autocomplete.js +12 -12
  84. package/dist/components/ui/autocomplete/autocomplete.js.map +1 -1
  85. package/dist/components/ui/avatar/avatar.cjs +1 -4
  86. package/dist/components/ui/avatar/avatar.cjs.map +1 -1
  87. package/dist/components/ui/avatar/avatar.js +1 -4
  88. package/dist/components/ui/avatar/avatar.js.map +1 -1
  89. package/dist/components/ui/badge/badge.cjs +1 -8
  90. package/dist/components/ui/badge/badge.cjs.map +1 -1
  91. package/dist/components/ui/badge/badge.js +1 -8
  92. package/dist/components/ui/badge/badge.js.map +1 -1
  93. package/dist/components/ui/breadcrumb/breadcrumb.cjs +6 -19
  94. package/dist/components/ui/breadcrumb/breadcrumb.cjs.map +1 -1
  95. package/dist/components/ui/breadcrumb/breadcrumb.js +6 -19
  96. package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -1
  97. package/dist/components/ui/button/button.cjs.map +1 -1
  98. package/dist/components/ui/button/button.js.map +1 -1
  99. package/dist/components/ui/calendar/calendar.cjs +1 -6
  100. package/dist/components/ui/calendar/calendar.cjs.map +1 -1
  101. package/dist/components/ui/calendar/calendar.js +1 -6
  102. package/dist/components/ui/calendar/calendar.js.map +1 -1
  103. package/dist/components/ui/card/card.cjs +7 -17
  104. package/dist/components/ui/card/card.cjs.map +1 -1
  105. package/dist/components/ui/card/card.js +7 -17
  106. package/dist/components/ui/card/card.js.map +1 -1
  107. package/dist/components/ui/carousel/carousel.cjs +4 -11
  108. package/dist/components/ui/carousel/carousel.cjs.map +1 -1
  109. package/dist/components/ui/carousel/carousel.js +4 -11
  110. package/dist/components/ui/carousel/carousel.js.map +1 -1
  111. package/dist/components/ui/checkbox/checkbox.cjs +1 -7
  112. package/dist/components/ui/checkbox/checkbox.cjs.map +1 -1
  113. package/dist/components/ui/checkbox/checkbox.js +1 -7
  114. package/dist/components/ui/checkbox/checkbox.js.map +1 -1
  115. package/dist/components/ui/collapsible/collapsible.cjs.map +1 -1
  116. package/dist/components/ui/collapsible/collapsible.js.map +1 -1
  117. package/dist/components/ui/combobox/combobox.cjs +1 -3
  118. package/dist/components/ui/combobox/combobox.cjs.map +1 -1
  119. package/dist/components/ui/combobox/combobox.js +1 -3
  120. package/dist/components/ui/combobox/combobox.js.map +1 -1
  121. package/dist/components/ui/command/command.cjs +7 -24
  122. package/dist/components/ui/command/command.cjs.map +1 -1
  123. package/dist/components/ui/command/command.js +7 -24
  124. package/dist/components/ui/command/command.js.map +1 -1
  125. package/dist/components/ui/context-menu/context-menu.cjs +4 -18
  126. package/dist/components/ui/context-menu/context-menu.cjs.map +1 -1
  127. package/dist/components/ui/context-menu/context-menu.js +4 -18
  128. package/dist/components/ui/context-menu/context-menu.js.map +1 -1
  129. package/dist/components/ui/date-picker/date-picker.cjs +21 -57
  130. package/dist/components/ui/date-picker/date-picker.cjs.map +1 -1
  131. package/dist/components/ui/date-picker/date-picker.js +22 -62
  132. package/dist/components/ui/date-picker/date-picker.js.map +1 -1
  133. package/dist/components/ui/dialog/dialog.cjs +12 -29
  134. package/dist/components/ui/dialog/dialog.cjs.map +1 -1
  135. package/dist/components/ui/dialog/dialog.js +12 -29
  136. package/dist/components/ui/dialog/dialog.js.map +1 -1
  137. package/dist/components/ui/drawer/drawer.cjs +9 -23
  138. package/dist/components/ui/drawer/drawer.cjs.map +1 -1
  139. package/dist/components/ui/drawer/drawer.js +9 -23
  140. package/dist/components/ui/drawer/drawer.js.map +1 -1
  141. package/dist/components/ui/dropdown-menu/dropdown-menu.cjs +3 -16
  142. package/dist/components/ui/dropdown-menu/dropdown-menu.cjs.map +1 -1
  143. package/dist/components/ui/dropdown-menu/dropdown-menu.js +3 -16
  144. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  145. package/dist/components/ui/form/form.cjs +7 -24
  146. package/dist/components/ui/form/form.cjs.map +1 -1
  147. package/dist/components/ui/form/form.js +7 -24
  148. package/dist/components/ui/form/form.js.map +1 -1
  149. package/dist/components/ui/hover-card/hover-card.cjs +2 -6
  150. package/dist/components/ui/hover-card/hover-card.cjs.map +1 -1
  151. package/dist/components/ui/hover-card/hover-card.js +2 -6
  152. package/dist/components/ui/hover-card/hover-card.js.map +1 -1
  153. package/dist/components/ui/icon/icon.cjs +1 -1
  154. package/dist/components/ui/icon/icon.cjs.map +1 -1
  155. package/dist/components/ui/icon/icon.js +1 -1
  156. package/dist/components/ui/icon/icon.js.map +1 -1
  157. package/dist/components/ui/input/input.cjs +1 -1
  158. package/dist/components/ui/input/input.cjs.map +1 -1
  159. package/dist/components/ui/input/input.js +1 -1
  160. package/dist/components/ui/input/input.js.map +1 -1
  161. package/dist/components/ui/input-field/input-field.cjs +1 -1
  162. package/dist/components/ui/input-field/input-field.cjs.map +1 -1
  163. package/dist/components/ui/input-field/input-field.js +1 -1
  164. package/dist/components/ui/input-field/input-field.js.map +1 -1
  165. package/dist/components/ui/input-otp/input-otp.cjs +5 -15
  166. package/dist/components/ui/input-otp/input-otp.cjs.map +1 -1
  167. package/dist/components/ui/input-otp/input-otp.js +5 -15
  168. package/dist/components/ui/input-otp/input-otp.js.map +1 -1
  169. package/dist/components/ui/label/label.cjs +2 -5
  170. package/dist/components/ui/label/label.cjs.map +1 -1
  171. package/dist/components/ui/label/label.js +2 -5
  172. package/dist/components/ui/label/label.js.map +1 -1
  173. package/dist/components/ui/loading-state/loading-state.cjs +3 -8
  174. package/dist/components/ui/loading-state/loading-state.cjs.map +1 -1
  175. package/dist/components/ui/loading-state/loading-state.d.cts +1 -1
  176. package/dist/components/ui/loading-state/loading-state.d.ts +1 -1
  177. package/dist/components/ui/loading-state/loading-state.js +3 -8
  178. package/dist/components/ui/loading-state/loading-state.js.map +1 -1
  179. package/dist/components/ui/menubar/menubar.cjs +5 -21
  180. package/dist/components/ui/menubar/menubar.cjs.map +1 -1
  181. package/dist/components/ui/menubar/menubar.js +5 -21
  182. package/dist/components/ui/menubar/menubar.js.map +1 -1
  183. package/dist/components/ui/month-year-picker/month-year-picker.cjs +5 -23
  184. package/dist/components/ui/month-year-picker/month-year-picker.cjs.map +1 -1
  185. package/dist/components/ui/month-year-picker/month-year-picker.js +6 -28
  186. package/dist/components/ui/month-year-picker/month-year-picker.js.map +1 -1
  187. package/dist/components/ui/multi-select/multi-select.cjs +12 -29
  188. package/dist/components/ui/multi-select/multi-select.cjs.map +1 -1
  189. package/dist/components/ui/multi-select/multi-select.js +12 -29
  190. package/dist/components/ui/multi-select/multi-select.js.map +1 -1
  191. package/dist/components/ui/navigation-menu/navigation-menu.cjs +7 -13
  192. package/dist/components/ui/navigation-menu/navigation-menu.cjs.map +1 -1
  193. package/dist/components/ui/navigation-menu/navigation-menu.js +7 -13
  194. package/dist/components/ui/navigation-menu/navigation-menu.js.map +1 -1
  195. package/dist/components/ui/pagination/pagination.cjs +4 -18
  196. package/dist/components/ui/pagination/pagination.cjs.map +1 -1
  197. package/dist/components/ui/pagination/pagination.js +4 -18
  198. package/dist/components/ui/pagination/pagination.js.map +1 -1
  199. package/dist/components/ui/popover/popover.cjs.map +1 -1
  200. package/dist/components/ui/popover/popover.js.map +1 -1
  201. package/dist/components/ui/progress/progress.cjs +2 -2
  202. package/dist/components/ui/progress/progress.cjs.map +1 -1
  203. package/dist/components/ui/progress/progress.js +2 -2
  204. package/dist/components/ui/progress/progress.js.map +1 -1
  205. package/dist/components/ui/radio-group/radio-group.cjs +1 -8
  206. package/dist/components/ui/radio-group/radio-group.cjs.map +1 -1
  207. package/dist/components/ui/radio-group/radio-group.js +1 -8
  208. package/dist/components/ui/radio-group/radio-group.js.map +1 -1
  209. package/dist/components/ui/resizable/resizable.cjs +3 -6
  210. package/dist/components/ui/resizable/resizable.cjs.map +1 -1
  211. package/dist/components/ui/resizable/resizable.js +4 -11
  212. package/dist/components/ui/resizable/resizable.js.map +1 -1
  213. package/dist/components/ui/rich-text-editor/rich-text-editor.cjs +25 -37
  214. package/dist/components/ui/rich-text-editor/rich-text-editor.cjs.map +1 -1
  215. package/dist/components/ui/rich-text-editor/rich-text-editor.js +25 -37
  216. package/dist/components/ui/rich-text-editor/rich-text-editor.js.map +1 -1
  217. package/dist/components/ui/scroll-area/scroll-area.cjs.map +1 -1
  218. package/dist/components/ui/scroll-area/scroll-area.js.map +1 -1
  219. package/dist/components/ui/section-loader/section-loader.cjs +4 -15
  220. package/dist/components/ui/section-loader/section-loader.cjs.map +1 -1
  221. package/dist/components/ui/section-loader/section-loader.js +4 -15
  222. package/dist/components/ui/section-loader/section-loader.js.map +1 -1
  223. package/dist/components/ui/select/select.cjs +11 -29
  224. package/dist/components/ui/select/select.cjs.map +1 -1
  225. package/dist/components/ui/select/select.js +11 -29
  226. package/dist/components/ui/select/select.js.map +1 -1
  227. package/dist/components/ui/separator/separator.cjs +14 -16
  228. package/dist/components/ui/separator/separator.cjs.map +1 -1
  229. package/dist/components/ui/separator/separator.js +14 -16
  230. package/dist/components/ui/separator/separator.js.map +1 -1
  231. package/dist/components/ui/sheet/sheet.cjs +10 -24
  232. package/dist/components/ui/sheet/sheet.cjs.map +1 -1
  233. package/dist/components/ui/sheet/sheet.js +10 -24
  234. package/dist/components/ui/sheet/sheet.js.map +1 -1
  235. package/dist/components/ui/skeleton/skeleton.cjs +2 -11
  236. package/dist/components/ui/skeleton/skeleton.cjs.map +1 -1
  237. package/dist/components/ui/skeleton/skeleton.js +2 -11
  238. package/dist/components/ui/skeleton/skeleton.js.map +1 -1
  239. package/dist/components/ui/slider/slider.cjs +1 -4
  240. package/dist/components/ui/slider/slider.cjs.map +1 -1
  241. package/dist/components/ui/slider/slider.js +1 -4
  242. package/dist/components/ui/slider/slider.js.map +1 -1
  243. package/dist/components/ui/sonner/sonner.cjs.map +1 -1
  244. package/dist/components/ui/sonner/sonner.js.map +1 -1
  245. package/dist/components/ui/spinner/spinner.cjs +1 -1
  246. package/dist/components/ui/spinner/spinner.cjs.map +1 -1
  247. package/dist/components/ui/spinner/spinner.js +1 -1
  248. package/dist/components/ui/spinner/spinner.js.map +1 -1
  249. package/dist/components/ui/switch/switch.cjs.map +1 -1
  250. package/dist/components/ui/switch/switch.js.map +1 -1
  251. package/dist/components/ui/table/table.cjs +6 -28
  252. package/dist/components/ui/table/table.cjs.map +1 -1
  253. package/dist/components/ui/table/table.js +6 -28
  254. package/dist/components/ui/table/table.js.map +1 -1
  255. package/dist/components/ui/tabs/tabs.cjs.map +1 -1
  256. package/dist/components/ui/tabs/tabs.js.map +1 -1
  257. package/dist/components/ui/textarea/textarea.cjs +1 -4
  258. package/dist/components/ui/textarea/textarea.cjs.map +1 -1
  259. package/dist/components/ui/textarea/textarea.js +1 -4
  260. package/dist/components/ui/textarea/textarea.js.map +1 -1
  261. package/dist/components/ui/toast/toast.cjs +3 -12
  262. package/dist/components/ui/toast/toast.cjs.map +1 -1
  263. package/dist/components/ui/toast/toast.js +3 -12
  264. package/dist/components/ui/toast/toast.js.map +1 -1
  265. package/dist/components/ui/toggle/toggle.cjs.map +1 -1
  266. package/dist/components/ui/toggle/toggle.js.map +1 -1
  267. package/dist/components/ui/toggle-group/toggle-group.cjs +1 -4
  268. package/dist/components/ui/toggle-group/toggle-group.cjs.map +1 -1
  269. package/dist/components/ui/toggle-group/toggle-group.js +1 -4
  270. package/dist/components/ui/toggle-group/toggle-group.js.map +1 -1
  271. package/dist/components/ui/tooltip/tooltip.cjs.map +1 -1
  272. package/dist/components/ui/tooltip/tooltip.js.map +1 -1
  273. 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({ data, theme, hideFields = [], hideSections = [] }) {
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: "text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2", children: [
12
- /* @__PURE__ */ jsx(Briefcase, { className: "w-6 h-6 text-primary" }),
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("div", { className: "relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border", children: [
16
- /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v", style: themeStyle }),
17
- !hideFields.includes("experience.title") && /* @__PURE__ */ jsx("h4", { className: "font-bold text-foreground text-lg", children: exp.title }),
18
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2", children: [
19
- !hideFields.includes("experience.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-primary font-semibold text-base", children: exp.institution_name }),
20
- (!hideFields.includes("experience.start_date") || !hideFields.includes("experience.end_date")) && /* @__PURE__ */ jsxs("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", children: [
21
- !hideFields.includes("experience.start_date") && exp.start_date,
22
- !hideFields.includes("experience.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
23
- " ",
24
- exp.end_date ? `- ${exp.end_date}` : "- Presente"
25
- ] })
26
- ] })
27
- ] }),
28
- exp.description && !hideFields.includes("experience.description") && /* @__PURE__ */ jsx("p", { className: "text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3", children: exp.description })
29
- ] }, exp.id)) })
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: "text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2", children: [
33
- /* @__PURE__ */ jsx(GraduationCap, { className: "w-6 h-6 text-primary" }),
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("div", { className: "relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border", children: [
37
- /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v", style: themeStyle }),
38
- !hideFields.includes("education.title") && /* @__PURE__ */ jsx("h4", { className: "font-bold text-foreground text-lg", children: edu.title }),
39
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2", children: [
40
- !hideFields.includes("education.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-primary font-semibold text-base", children: edu.institution_name }),
41
- (!hideFields.includes("education.start_date") || !hideFields.includes("education.end_date")) && /* @__PURE__ */ jsxs("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", children: [
42
- !hideFields.includes("education.start_date") && edu.start_date,
43
- !hideFields.includes("education.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
44
- " ",
45
- edu.end_date ? `- ${edu.end_date}` : "- Presente"
46
- ] })
47
- ] })
48
- ] }),
49
- edu.description && !hideFields.includes("education.description") && /* @__PURE__ */ jsx("p", { className: "text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3", children: edu.description })
50
- ] }, edu.id)) })
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: "text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2", children: [
54
- /* @__PURE__ */ jsx(Trophy, { className: "w-6 h-6 text-primary" }),
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("div", { className: "relative pl-6 after:absolute after:left-[3px] after:top-4 after:bottom-[-24px] last:after:hidden after:w-[2px] after:bg-border", children: [
58
- /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-2 w-2 h-2 rounded-full bg-primary pdf-line-v", style: themeStyle }),
59
- !hideFields.includes("activities.title") && /* @__PURE__ */ jsx("h4", { className: "font-bold text-foreground text-lg", children: act.title }),
60
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between mb-2", children: [
61
- !hideFields.includes("activities.institution_name") && /* @__PURE__ */ jsx("span", { className: "text-primary font-semibold text-base", children: act.institution_name }),
62
- (!hideFields.includes("activities.start_date") || !hideFields.includes("activities.end_date")) && /* @__PURE__ */ jsxs("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", children: [
63
- !hideFields.includes("activities.start_date") && act.start_date,
64
- !hideFields.includes("activities.end_date") && /* @__PURE__ */ jsxs(Fragment, { children: [
65
- " ",
66
- act.end_date ? `- ${act.end_date}` : "- Presente"
67
- ] })
68
- ] })
69
- ] }),
70
- act.description && !hideFields.includes("activities.description") && /* @__PURE__ */ jsx("p", { className: "text-base text-foreground/80 leading-relaxed whitespace-pre-wrap mt-3", children: act.description })
71
- ] }, act.id)) })
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: "text-2xl font-bold text-primary flex items-center gap-2 border-b-2 border-primary/20 pb-2", children: [
75
- /* @__PURE__ */ jsx(Award, { className: "w-6 h-6 text-primary" }),
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 gap-4", children: certifications.map((cert) => /* @__PURE__ */ jsxs("div", { className: "p-4 border border-border/60 hover:border-primary/30 transition-colors rounded-lg bg-card shadow-sm hover:shadow-md", children: [
79
- !hideFields.includes("certifications.title") && /* @__PURE__ */ jsx("h4", { className: "font-bold text-base text-foreground line-clamp-1", title: cert.title, children: cert.title }),
80
- !hideFields.includes("certifications.institution_name") && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1 line-clamp-1", children: cert.institution_name }),
81
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mt-4", children: [
82
- !hideFields.includes("certifications.date_awarded") && /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold uppercase text-muted-foreground tracking-wider bg-muted/50 px-2 py-1 rounded-md", children: cert.date_awarded }),
83
- cert.verified && !hideFields.includes("certifications.verified") && /* @__PURE__ */ jsx(
84
- "span",
85
- {
86
- className: "text-xs font-bold px-2.5 py-1 rounded-full border transition-colors pdf-badge",
87
- style: {
88
- backgroundColor: theme?.startsWith("#") ? `${theme}15` : void 0,
89
- color: theme,
90
- borderColor: theme?.startsWith("#") ? `${theme}30` : theme
91
- },
92
- children: "Verificado"
93
- }
94
- )
95
- ] })
96
- ] }, cert.id)) })
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("@/components/ui/logo");
25
+ var import_logo = require("../../../../ui/logo");
26
26
  function FooterPreview() {
27
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "hidden pdf-footer mt-auto pt-10 flex items-center justify-center gap-2 border-t border-border/40", children: [
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 \"@/components/ui/logo\";\n\nexport function FooterPreview() {\n return (\n <div className=\"hidden pdf-footer mt-auto pt-10 flex items-center justify-center gap-2 border-t border-border/40\">\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;AAIQ;AAJR,kBAAqB;AAEd,SAAS,gBAAgB;AAC5B,SACI,6CAAC,SAAI,WAAU,oGACX;AAAA,gDAAC,oBAAK,WAAU,UAAS;AAAA,IACzB,4CAAC,UAAK,WAAU,sCAAqC,8BAAgB;AAAA,KACzE;AAER;","names":[]}
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 "@/components/ui/logo";
2
+ import { Logo } from "../../../../ui/logo";
3
3
  function FooterPreview() {
4
- return /* @__PURE__ */ jsxs("div", { className: "hidden pdf-footer mt-auto pt-10 flex items-center justify-center gap-2 border-t border-border/40", children: [
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 \"@/components/ui/logo\";\n\nexport function FooterPreview() {\n return (\n <div className=\"hidden pdf-footer mt-auto pt-10 flex items-center justify-center gap-2 border-t border-border/40\">\n <Logo className=\"size-6\" />\n <span className=\"text-sm font-medium tracking-tight\">Creado con Ginia</span>\n </div>\n );\n}\n"],"mappings":"AAIQ,SACI,KADJ;AAJR,SAAS,YAAY;AAEd,SAAS,gBAAgB;AAC5B,SACI,qBAAC,SAAI,WAAU,oGACX;AAAA,wBAAC,QAAK,WAAU,UAAS;AAAA,IACzB,oBAAC,UAAK,WAAU,sCAAqC,8BAAgB;AAAA,KACzE;AAER;","names":[]}
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 items-center md:items-start gap-8 mt-4", children: [
40
- !hideFields.includes("photo_url") && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Avatar, { className: "w-32 h-32 border-4 border-background shadow-lg flex-shrink-0", children: [
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 pdf-header-initials",
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: "flex-1 w-full text-center md:text-left mt-2 md:mt-4 flex flex-col justify-between", children: [
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: "text-3xl md:text-4xl font-extrabold tracking-tight text-foreground mb-3", children: fullName }),
54
- data.summary && !hideFields.includes("summary") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-md text-muted-foreground leading-relaxed max-w-3xl mx-auto md:mx-0 font-medium pdf-summary", children: data.summary })
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: "flex justify-center md:justify-end mt-6 w-full items-center pdf-hidden", children: headerSlot })
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 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 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\n <div className=\"flex flex-col md:flex-row items-center md:items-start gap-8 mt-4\">\n {!hideFields.includes(\"photo_url\") && (\n <Avatar className=\"w-32 h-32 border-4 border-background shadow-lg flex-shrink-0\">\n <AvatarImage src={data.photo_url || undefined} alt={fullName} className=\"object-cover\" />\n <AvatarFallback\n className=\"text-3xl font-semibold text-primary-foreground pdf-header-initials\"\n style={themeStyle || { backgroundColor: 'hsl(var(--primary))' }}\n >\n {getInitials()}\n </AvatarFallback>\n </Avatar>\n )}\n\n <div className=\"flex-1 w-full text-center md:text-left mt-2 md:mt-4 flex flex-col justify-between\">\n <div>\n <h1 className=\"text-3xl md:text-4xl font-extrabold tracking-tight text-foreground mb-3\">{fullName}</h1>\n {data.summary && !hideFields.includes(\"summary\") && (\n <p className=\"text-md text-muted-foreground leading-relaxed max-w-3xl mx-auto md:mx-0 font-medium pdf-summary\">\n {data.summary}\n </p>\n )}\n </div>\n\n {headerSlot && (\n <div className=\"flex justify-center md:justify-end mt-6 w-full items-center pdf-hidden\">\n {headerSlot}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCgB;AA/BhB,gBAAoD;AAS7C,SAAS,cAAc,EAAE,MAAM,YAAY,OAAO,aAAa,CAAC,EAAE,GAAuB;AAC5F,QAAM,cAAc,MAAM;AACtB,UAAM,IAAI,WAAW,SAAS,YAAY,IAAI,KAAM,KAAK,aAAa,CAAC,KAAK;AAC5E,UAAM,IAAI,KAAK,YAAY,CAAC,KAAK;AACjC,WAAO,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK;AAAA,EACvC;AAEA,QAAM,WAAW;AAAA,IACb,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,EAC1D,EACK,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,QAAM,aAAa,QAAQ,EAAE,iBAAiB,MAAM,IAAI;AAExD,SAEI,6CAAC,SAAI,WAAU,oEACV;AAAA,KAAC,WAAW,SAAS,WAAW,KAC7B,6CAAC,oBAAO,WAAU,gEACd;AAAA,kDAAC,yBAAY,KAAK,KAAK,aAAa,QAAW,KAAK,UAAU,WAAU,gBAAe;AAAA,MACvF;AAAA,QAAC;AAAA;AAAA,UACG,WAAU;AAAA,UACV,OAAO,cAAc,EAAE,iBAAiB,sBAAsB;AAAA,UAE7D,sBAAY;AAAA;AAAA,MACjB;AAAA,OACJ;AAAA,IAGJ,6CAAC,SAAI,WAAU,qFACX;AAAA,mDAAC,SACG;AAAA,oDAAC,QAAG,WAAU,2EAA2E,oBAAS;AAAA,QACjG,KAAK,WAAW,CAAC,WAAW,SAAS,SAAS,KAC3C,4CAAC,OAAE,WAAU,mGACR,eAAK,SACV;AAAA,SAER;AAAA,MAEC,cACG,4CAAC,SAAI,WAAU,0EACV,sBACL;AAAA,OAER;AAAA,KACJ;AAER;","names":[]}
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 items-center md:items-start gap-8 mt-4", children: [
17
- !hideFields.includes("photo_url") && /* @__PURE__ */ jsxs(Avatar, { className: "w-32 h-32 border-4 border-background shadow-lg flex-shrink-0", children: [
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 pdf-header-initials",
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: "flex-1 w-full text-center md:text-left mt-2 md:mt-4 flex flex-col justify-between", children: [
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: "text-3xl md:text-4xl font-extrabold tracking-tight text-foreground mb-3", children: fullName }),
31
- data.summary && !hideFields.includes("summary") && /* @__PURE__ */ jsx("p", { className: "text-md text-muted-foreground leading-relaxed max-w-3xl mx-auto md:mx-0 font-medium pdf-summary", children: data.summary })
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: "flex justify-center md:justify-end mt-6 w-full items-center pdf-hidden", children: headerSlot })
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 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 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\n <div className=\"flex flex-col md:flex-row items-center md:items-start gap-8 mt-4\">\n {!hideFields.includes(\"photo_url\") && (\n <Avatar className=\"w-32 h-32 border-4 border-background shadow-lg flex-shrink-0\">\n <AvatarImage src={data.photo_url || undefined} alt={fullName} className=\"object-cover\" />\n <AvatarFallback\n className=\"text-3xl font-semibold text-primary-foreground pdf-header-initials\"\n style={themeStyle || { backgroundColor: 'hsl(var(--primary))' }}\n >\n {getInitials()}\n </AvatarFallback>\n </Avatar>\n )}\n\n <div className=\"flex-1 w-full text-center md:text-left mt-2 md:mt-4 flex flex-col justify-between\">\n <div>\n <h1 className=\"text-3xl md:text-4xl font-extrabold tracking-tight text-foreground mb-3\">{fullName}</h1>\n {data.summary && !hideFields.includes(\"summary\") && (\n <p className=\"text-md text-muted-foreground leading-relaxed max-w-3xl mx-auto md:mx-0 font-medium pdf-summary\">\n {data.summary}\n </p>\n )}\n </div>\n\n {headerSlot && (\n <div className=\"flex justify-center md:justify-end mt-6 w-full items-center pdf-hidden\">\n {headerSlot}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"AAiCgB,SACI,KADJ;AA/BhB,SAAS,QAAQ,gBAAgB,mBAAmB;AAS7C,SAAS,cAAc,EAAE,MAAM,YAAY,OAAO,aAAa,CAAC,EAAE,GAAuB;AAC5F,QAAM,cAAc,MAAM;AACtB,UAAM,IAAI,WAAW,SAAS,YAAY,IAAI,KAAM,KAAK,aAAa,CAAC,KAAK;AAC5E,UAAM,IAAI,KAAK,YAAY,CAAC,KAAK;AACjC,WAAO,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK;AAAA,EACvC;AAEA,QAAM,WAAW;AAAA,IACb,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,EAC1D,EACK,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAElB,QAAM,aAAa,QAAQ,EAAE,iBAAiB,MAAM,IAAI;AAExD,SAEI,qBAAC,SAAI,WAAU,oEACV;AAAA,KAAC,WAAW,SAAS,WAAW,KAC7B,qBAAC,UAAO,WAAU,gEACd;AAAA,0BAAC,eAAY,KAAK,KAAK,aAAa,QAAW,KAAK,UAAU,WAAU,gBAAe;AAAA,MACvF;AAAA,QAAC;AAAA;AAAA,UACG,WAAU;AAAA,UACV,OAAO,cAAc,EAAE,iBAAiB,sBAAsB;AAAA,UAE7D,sBAAY;AAAA;AAAA,MACjB;AAAA,OACJ;AAAA,IAGJ,qBAAC,SAAI,WAAU,qFACX;AAAA,2BAAC,SACG;AAAA,4BAAC,QAAG,WAAU,2EAA2E,oBAAS;AAAA,QACjG,KAAK,WAAW,CAAC,WAAW,SAAS,SAAS,KAC3C,oBAAC,OAAE,WAAU,mGACR,eAAK,SACV;AAAA,SAER;AAAA,MAEC,cACG,oBAAC,SAAI,WAAU,0EACV,sBACL;AAAA,OAER;AAAA,KACJ;AAER;","names":[]}
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":[]}