@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
@@ -80,7 +80,15 @@ function ResumeEditor({
80
80
  {
81
81
  id: "certifications",
82
82
  title: "Certificaciones",
83
- content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_certifications.CertificationsSection, { data, onChange: handleSectionChange, hideFields, theme })
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 flex-col 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)(
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 transition-all",
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]:text-primary data-[state=open]:font-semibold transition-all", children: section.title }),
127
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_accordion.AccordionContent, { className: "pt-2 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "bg-card px-2", children: section.content }) })
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 { Accordion, AccordionItem, AccordionTrigger, AccordionContent } 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: <EducationSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"experience\",\n title: \"Experiencia laboral\",\n content: <ExperienceSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"activities\",\n title: \"Actividades y Logros\",\n content: <ActivitiesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\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: <CertificationsSection data={data} onChange={handleSectionChange} hideFields={hideFields} theme={theme} />\n },\n {\n id: \"requirements\",\n title: \"Requisitos laborales\",\n content: <RequirementsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"preferences\",\n title: \"Preferencias\",\n content: <PreferencesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\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) => handleSectionChange({ advanced: { ...data.advanced, notes: e.target.value } })}\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=\"w-full flex items-start flex-col 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 data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3 transition-all\"\n >\n <AccordionTrigger className=\"text-md font-medium data-[state=open]:text-primary data-[state=open]:font-semibold transition-all\">\n {section.title}\n </AccordionTrigger>\n <AccordionContent className=\"pt-2 pb-3\">\n <div className=\"bg-card px-2\">\n {section.content}\n </div>\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
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 { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "../../../ui/accordion";
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(CertificationsSection, { data, onChange: handleSectionChange, hideFields, theme })
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 flex-col gap-4", children: /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: "w-full", children: allSections.map((section) => /* @__PURE__ */ jsxs(
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 transition-all",
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]:text-primary data-[state=open]:font-semibold transition-all", children: section.title }),
104
- /* @__PURE__ */ jsx(AccordionContent, { className: "pt-2 pb-3", children: /* @__PURE__ */ jsx("div", { className: "bg-card px-2", children: section.content }) })
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 { Accordion, AccordionItem, AccordionTrigger, AccordionContent } 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: <EducationSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"experience\",\n title: \"Experiencia laboral\",\n content: <ExperienceSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"activities\",\n title: \"Actividades y Logros\",\n content: <ActivitiesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\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: <CertificationsSection data={data} onChange={handleSectionChange} hideFields={hideFields} theme={theme} />\n },\n {\n id: \"requirements\",\n title: \"Requisitos laborales\",\n content: <RequirementsSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\n },\n {\n id: \"preferences\",\n title: \"Preferencias\",\n content: <PreferencesSection data={data} onChange={handleSectionChange} hideFields={hideFields} />\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) => handleSectionChange({ advanced: { ...data.advanced, notes: e.target.value } })}\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=\"w-full flex items-start flex-col 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 data-[state=open]:border-l-2 data-[state=open]:border-l-secondary data-[state=open]:pl-3 transition-all\"\n >\n <AccordionTrigger className=\"text-md font-medium data-[state=open]:text-primary data-[state=open]:font-semibold transition-all\">\n {section.title}\n </AccordionTrigger>\n <AccordionContent className=\"pt-2 pb-3\">\n <div className=\"bg-card px-2\">\n {section.content}\n </div>\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
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 pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
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 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 pt-2 pb-4\">\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\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;AAcoB;AAbpB,gBAA6B;AAQtB,SAAS,aAAa,EAAE,MAAM,UAAU,aAAa,CAAC,EAAE,GAAsB;AACjF,SACI,4CAAC,SAAI,WAAU,uBACX,uDAAC,SAAI,WAAU,yCACV;AAAA,KAAC,WAAW,SAAS,0BAA0B,KAC5C,6CAAC,SAAI,WAAU,2BACX;AAAA,kDAAC,mBAAM,SAAQ,4BAA2B,sDAAqC;AAAA,MAC/E;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,aAAY;AAAA,UACZ,OAAO,KAAK,4BAA4B;AAAA,UACxC,UAAU,CAAC,MAAM,SAAS,EAAE,0BAA0B,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC1E;AAAA,OACJ;AAAA,IAEH,CAAC,WAAW,SAAS,kCAAkC,KACpD,6CAAC,SAAI,WAAU,2BACX;AAAA,kDAAC,mBAAM,SAAQ,oCAAmC,0BAAS;AAAA,MAC3D;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAO,KAAK,oCAAoC;AAAA,UAChD,UAAU,CAAC,MAAM,SAAS,EAAE,kCAAkC,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAClF;AAAA,OACJ;AAAA,IAEH,CAAC,WAAW,SAAS,cAAc,KAChC,6CAAC,SAAI,WAAU,aACX;AAAA,kDAAC,mBAAM,SAAQ,gBAAe,iCAAmB;AAAA,MACjD;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAO,KAAK,gBAAgB;AAAA,UAC5B,UAAU,CAAC,MAAM,SAAS,EAAE,cAAc,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC9D;AAAA,OACJ;AAAA,KAER,GACJ;AAER;","names":[]}
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 pb-4", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
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 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 pt-2 pb-4\">\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\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":"AAcoB,SACI,KADJ;AAbpB,SAAS,OAAO,aAAa;AAQtB,SAAS,aAAa,EAAE,MAAM,UAAU,aAAa,CAAC,EAAE,GAAsB;AACjF,SACI,oBAAC,SAAI,WAAU,uBACX,+BAAC,SAAI,WAAU,yCACV;AAAA,KAAC,WAAW,SAAS,0BAA0B,KAC5C,qBAAC,SAAI,WAAU,2BACX;AAAA,0BAAC,SAAM,SAAQ,4BAA2B,sDAAqC;AAAA,MAC/E;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,aAAY;AAAA,UACZ,OAAO,KAAK,4BAA4B;AAAA,UACxC,UAAU,CAAC,MAAM,SAAS,EAAE,0BAA0B,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC1E;AAAA,OACJ;AAAA,IAEH,CAAC,WAAW,SAAS,kCAAkC,KACpD,qBAAC,SAAI,WAAU,2BACX;AAAA,0BAAC,SAAM,SAAQ,oCAAmC,0BAAS;AAAA,MAC3D;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAO,KAAK,oCAAoC;AAAA,UAChD,UAAU,CAAC,MAAM,SAAS,EAAE,kCAAkC,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAClF;AAAA,OACJ;AAAA,IAEH,CAAC,WAAW,SAAS,cAAc,KAChC,qBAAC,SAAI,WAAU,aACX;AAAA,0BAAC,SAAM,SAAQ,gBAAe,iCAAmB;AAAA,MACjD;AAAA,QAAC;AAAA;AAAA,UACG,IAAG;AAAA,UACH,OAAO,KAAK,gBAAgB;AAAA,UAC5B,UAAU,CAAC,MAAM,SAAS,EAAE,cAAc,EAAE,OAAO,MAAM,CAAC;AAAA;AAAA,MAC9D;AAAA,OACJ;AAAA,KAER,GACJ;AAER;","names":[]}
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
- { id: `temp-act-${Date.now()}`, title: "", type: "activity", institution_name: "", start_date: "" }
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 pb-4", children: [
48
- items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "p-4 border border-border rounded-lg space-y-4 shadow-md", children: [
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: "w-5 h-5 text-secondary" }),
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:text-destructive hover:bg-destructive/10",
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: "w-3.5 h-3.5" })
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 gap-4", children: [
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)(import_ui.Button, { variant: "outline", className: "w-full flex items-center justify-center gap-2", onClick: handleAdd, children: [
118
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Plus, { className: "w-4 h-4" }),
119
- "A\xF1adir actividad"
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 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 { id: `temp-act-${Date.now()}`, title: \"\", type: \"activity\", institution_name: \"\", start_date: \"\" }\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 pt-2 pb-4\">\n {items.map((item, index) => (\n <div key={item.id} className=\"p-4 border border-border rounded-lg space-y-4 shadow-md\">\n <div className=\"flex items-center justify-between\">\n <Trophy className=\"w-5 h-5 text-secondary\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-7 px-2 text-muted-foreground hover:text-destructive hover:bg-destructive/10\"\n onClick={() => handleRemove(index)}\n >\n <Trash2 className=\"w-3.5 h-3.5\" />\n </Button>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\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 variant=\"outline\" className=\"w-full flex items-center justify-center gap-2\" onClick={handleAdd}>\n <Plus className=\"w-4 h-4\" />\n Añadir actividad\n </Button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
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
- { id: `temp-act-${Date.now()}`, title: "", type: "activity", institution_name: "", start_date: "" }
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 pb-4", children: [
25
- items.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "p-4 border border-border rounded-lg space-y-4 shadow-md", children: [
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: "w-5 h-5 text-secondary" }),
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:text-destructive hover:bg-destructive/10",
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: "w-3.5 h-3.5" })
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 gap-4", children: [
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(Button, { variant: "outline", className: "w-full flex items-center justify-center gap-2", onClick: handleAdd, children: [
95
- /* @__PURE__ */ jsx(Plus, { className: "w-4 h-4" }),
96
- "A\xF1adir actividad"
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 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 { id: `temp-act-${Date.now()}`, title: \"\", type: \"activity\", institution_name: \"\", start_date: \"\" }\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 pt-2 pb-4\">\n {items.map((item, index) => (\n <div key={item.id} className=\"p-4 border border-border rounded-lg space-y-4 shadow-md\">\n <div className=\"flex items-center justify-between\">\n <Trophy className=\"w-5 h-5 text-secondary\" />\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-7 px-2 text-muted-foreground hover:text-destructive hover:bg-destructive/10\"\n onClick={() => handleRemove(index)}\n >\n <Trash2 className=\"w-3.5 h-3.5\" />\n </Button>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\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 variant=\"outline\" className=\"w-full flex items-center justify-center gap-2\" onClick={handleAdd}>\n <Plus className=\"w-4 h-4\" />\n Añadir actividad\n </Button>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
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 pb-4", children: [
48
- items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "p-4 border border-border rounded-lg space-y-4 shadow-md", children: [
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: "w-5 h-5 text-secondary" }),
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:text-destructive hover:bg-destructive/10",
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: "w-3.5 h-3.5" })
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 gap-4", children: [
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: "md:col-span-2 flex items-center gap-2", children: [
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)("label", { htmlFor: `verif-${item.id}`, className: "text-sm text-muted-foreground flex items-center gap-1", children: "Verificado" })
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)(import_ui.Button, { variant: "outline", className: "w-full flex items-center justify-center gap-2", onClick: handleAdd, children: [
119
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Plus, { className: "w-4 h-4" }),
120
- "A\xF1adir certificaci\xF3n"
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: