@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 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useEditor, EditorContent } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport TextAlign from \"@tiptap/extension-text-align\";\nimport Color from \"@tiptap/extension-color\";\nimport { TextStyle } from \"@tiptap/extension-text-style\";\nimport ImageExtension from \"@tiptap/extension-image\";\nimport LinkExtension from \"@tiptap/extension-link\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport {\n Bold,\n Italic,\n Strikethrough,\n List,\n ListOrdered,\n Link,\n AlignLeft,\n AlignCenter,\n AlignRight,\n Image as ImageIcon,\n Heading1,\n Heading2,\n Heading3,\n} from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextEditorProps {\n value: string;\n onChange: (content: string) => void;\n placeholder?: string;\n height?: number;\n className?: string;\n readOnly?: boolean;\n}\n\nfunction ToolbarButton({\n onClick,\n children,\n title,\n isActive = false,\n}: {\n onClick: () => void;\n children: React.ReactNode;\n title: string;\n isActive?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n title={title}\n className={cn(\n \"p-2 rounded transition-colors\",\n isActive\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted text-muted-foreground\"\n )}\n >\n {children}\n </button>\n );\n}\n\nfunction RichTextEditor({\n value,\n onChange,\n placeholder = \"Escribe aquí...\",\n height = 200,\n className = \"\",\n readOnly = false,\n}: RichTextEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n TextAlign.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Color.configure({ types: [TextStyle.name] }),\n TextStyle,\n ImageExtension.configure({\n HTMLAttributes: {\n class: \"max-w-full h-auto rounded-lg\",\n },\n }),\n LinkExtension.configure({\n openOnClick: false,\n }),\n Placeholder.configure({\n placeholder: placeholder,\n }),\n ],\n content: value,\n editable: !readOnly,\n immediatelyRender: false,\n onUpdate: ({ editor: e }) => {\n onChange(e.getHTML());\n },\n editorProps: {\n attributes: {\n class:\n \"prose prose-sm sm:prose lg:prose-lg xl:prose-2xl mx-auto focus:outline-none max-w-none\",\n style: `min-height: ${height}px;`,\n },\n },\n });\n\n React.useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value);\n }\n }, [value, editor]);\n\n if (!editor) {\n return (\n <div\n className={cn(\n \"border border-border rounded-lg overflow-hidden\",\n className\n )}\n >\n <div className=\"h-32 bg-muted rounded animate-pulse flex items-center justify-center text-muted-foreground\">\n Cargando editor...\n </div>\n </div>\n );\n }\n\n return (\n <div\n data-slot=\"rich-text-editor\"\n className={cn(\n \"border border-border rounded-lg overflow-hidden\",\n className\n )}\n >\n {!readOnly && (\n <div className=\"border-b border-border bg-muted/50 p-2 flex flex-wrap gap-1\">\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 1 }).run()\n }\n title=\"Título 1\"\n isActive={editor.isActive(\"heading\", { level: 1 })}\n >\n <Heading1 className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 2 }).run()\n }\n title=\"Título 2\"\n isActive={editor.isActive(\"heading\", { level: 2 })}\n >\n <Heading2 className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 3 }).run()\n }\n title=\"Título 3\"\n isActive={editor.isActive(\"heading\", { level: 3 })}\n >\n <Heading3 className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBold().run()}\n title=\"Negrita\"\n isActive={editor.isActive(\"bold\")}\n >\n <Bold className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleItalic().run()}\n title=\"Cursiva\"\n isActive={editor.isActive(\"italic\")}\n >\n <Italic className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleStrike().run()}\n title=\"Tachado\"\n isActive={editor.isActive(\"strike\")}\n >\n <Strikethrough className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <div className=\"relative\">\n <input\n type=\"color\"\n className=\"w-8 h-8 border border-border rounded cursor-pointer\"\n onChange={(e) => {\n editor.chain().focus().setColor(e.target.value).run();\n }}\n title=\"Color del texto\"\n />\n </div>\n\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n title=\"Lista con viñetas\"\n isActive={editor.isActive(\"bulletList\")}\n >\n <List className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n title=\"Lista numerada\"\n isActive={editor.isActive(\"orderedList\")}\n >\n <ListOrdered className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"left\").run()\n }\n title=\"Alinear izquierda\"\n isActive={editor.isActive({ textAlign: \"left\" })}\n >\n <AlignLeft className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"center\").run()\n }\n title=\"Centrar\"\n isActive={editor.isActive({ textAlign: \"center\" })}\n >\n <AlignCenter className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"right\").run()\n }\n title=\"Alinear derecha\"\n isActive={editor.isActive({ textAlign: \"right\" })}\n >\n <AlignRight className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL:\");\n if (url) {\n editor.chain().focus().setLink({ href: url }).run();\n }\n }}\n title=\"Insertar enlace\"\n isActive={editor.isActive(\"link\")}\n >\n <Link className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL de la imagen:\");\n if (url) {\n editor.chain().focus().setImage({ src: url }).run();\n }\n }}\n title=\"Insertar imagen\"\n >\n <ImageIcon className=\"w-4 h-4\" />\n </ToolbarButton>\n </div>\n )}\n <EditorContent\n editor={editor}\n className=\"prose prose-sm max-w-none p-3 bg-card\"\n style={{ minHeight: `${height}px` }}\n />\n </div>\n );\n}\n\nexport { RichTextEditor };\nexport type { RichTextEditorProps };\n"],"mappings":"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","names":["import_react","StarterKit","TextAlign","Color","ImageExtension","LinkExtension","Placeholder","React","ImageIcon"]}
1
+ {"version":3,"sources":["../../../../src/components/ui/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useEditor, EditorContent } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport TextAlign from \"@tiptap/extension-text-align\";\nimport Color from \"@tiptap/extension-color\";\nimport { TextStyle } from \"@tiptap/extension-text-style\";\nimport ImageExtension from \"@tiptap/extension-image\";\nimport LinkExtension from \"@tiptap/extension-link\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport {\n Bold,\n Italic,\n Strikethrough,\n List,\n ListOrdered,\n Link,\n AlignLeft,\n AlignCenter,\n AlignRight,\n Image as ImageIcon,\n Heading1,\n Heading2,\n Heading3,\n} from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextEditorProps {\n value: string;\n onChange: (content: string) => void;\n placeholder?: string;\n height?: number;\n className?: string;\n readOnly?: boolean;\n}\n\nfunction ToolbarButton({\n onClick,\n children,\n title,\n isActive = false,\n}: {\n onClick: () => void;\n children: React.ReactNode;\n title: string;\n isActive?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n title={title}\n className={cn(\n \"rounded p-2 transition-colors\",\n isActive ? \"bg-primary text-primary-foreground\" : \"text-muted-foreground hover:bg-muted\",\n )}\n >\n {children}\n </button>\n );\n}\n\nfunction RichTextEditor({\n value,\n onChange,\n placeholder = \"Escribe aquí...\",\n height = 200,\n className = \"\",\n readOnly = false,\n}: RichTextEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n TextAlign.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Color.configure({ types: [TextStyle.name] }),\n TextStyle,\n ImageExtension.configure({\n HTMLAttributes: {\n class: \"max-w-full h-auto rounded-lg\",\n },\n }),\n LinkExtension.configure({\n openOnClick: false,\n }),\n Placeholder.configure({\n placeholder: placeholder,\n }),\n ],\n content: value,\n editable: !readOnly,\n immediatelyRender: false,\n onUpdate: ({ editor: e }) => {\n onChange(e.getHTML());\n },\n editorProps: {\n attributes: {\n class:\n \"prose prose-sm sm:prose lg:prose-lg xl:prose-2xl mx-auto focus:outline-none max-w-none\",\n style: `min-height: ${height}px;`,\n },\n },\n });\n\n React.useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value);\n }\n }, [value, editor]);\n\n if (!editor) {\n return (\n <div className={cn(\"overflow-hidden rounded-lg border border-border\", className)}>\n <div className=\"flex h-32 animate-pulse items-center justify-center rounded bg-muted text-muted-foreground\">\n Cargando editor...\n </div>\n </div>\n );\n }\n\n return (\n <div\n data-slot=\"rich-text-editor\"\n className={cn(\"overflow-hidden rounded-lg border border-border\", className)}\n >\n {!readOnly && (\n <div className=\"flex flex-wrap gap-1 border-b border-border bg-muted/50 p-2\">\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 1 }).run()}\n title=\"Título 1\"\n isActive={editor.isActive(\"heading\", { level: 1 })}\n >\n <Heading1 className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 2 }).run()}\n title=\"Título 2\"\n isActive={editor.isActive(\"heading\", { level: 2 })}\n >\n <Heading2 className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 3 }).run()}\n title=\"Título 3\"\n isActive={editor.isActive(\"heading\", { level: 3 })}\n >\n <Heading3 className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBold().run()}\n title=\"Negrita\"\n isActive={editor.isActive(\"bold\")}\n >\n <Bold className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleItalic().run()}\n title=\"Cursiva\"\n isActive={editor.isActive(\"italic\")}\n >\n <Italic className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleStrike().run()}\n title=\"Tachado\"\n isActive={editor.isActive(\"strike\")}\n >\n <Strikethrough className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <div className=\"relative\">\n <input\n type=\"color\"\n className=\"h-8 w-8 cursor-pointer rounded border border-border\"\n onChange={(e) => {\n editor.chain().focus().setColor(e.target.value).run();\n }}\n title=\"Color del texto\"\n />\n </div>\n\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n title=\"Lista con viñetas\"\n isActive={editor.isActive(\"bulletList\")}\n >\n <List className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n title=\"Lista numerada\"\n isActive={editor.isActive(\"orderedList\")}\n >\n <ListOrdered className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"left\").run()}\n title=\"Alinear izquierda\"\n isActive={editor.isActive({ textAlign: \"left\" })}\n >\n <AlignLeft className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"center\").run()}\n title=\"Centrar\"\n isActive={editor.isActive({ textAlign: \"center\" })}\n >\n <AlignCenter className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"right\").run()}\n title=\"Alinear derecha\"\n isActive={editor.isActive({ textAlign: \"right\" })}\n >\n <AlignRight className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL:\");\n if (url) {\n editor.chain().focus().setLink({ href: url }).run();\n }\n }}\n title=\"Insertar enlace\"\n isActive={editor.isActive(\"link\")}\n >\n <Link className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL de la imagen:\");\n if (url) {\n editor.chain().focus().setImage({ src: url }).run();\n }\n }}\n title=\"Insertar imagen\"\n >\n <ImageIcon className=\"h-4 w-4\" />\n </ToolbarButton>\n </div>\n )}\n <EditorContent\n editor={editor}\n className=\"prose prose-sm max-w-none bg-card p-3\"\n style={{ minHeight: `${height}px` }}\n />\n </div>\n );\n}\n\nexport { RichTextEditor };\nexport type { RichTextEditorProps };\n"],"mappings":"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","names":["import_react","StarterKit","TextAlign","Color","ImageExtension","LinkExtension","Placeholder","React","ImageIcon"]}
@@ -38,8 +38,8 @@ function ToolbarButton({
38
38
  onClick,
39
39
  title,
40
40
  className: cn(
41
- "p-2 rounded transition-colors",
42
- isActive ? "bg-primary text-primary-foreground" : "hover:bg-muted text-muted-foreground"
41
+ "rounded p-2 transition-colors",
42
+ isActive ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted"
43
43
  ),
44
44
  children
45
45
  }
@@ -92,34 +92,22 @@ function RichTextEditor({
92
92
  }
93
93
  }, [value, editor]);
94
94
  if (!editor) {
95
- return /* @__PURE__ */ jsx(
96
- "div",
97
- {
98
- className: cn(
99
- "border border-border rounded-lg overflow-hidden",
100
- className
101
- ),
102
- children: /* @__PURE__ */ jsx("div", { className: "h-32 bg-muted rounded animate-pulse flex items-center justify-center text-muted-foreground", children: "Cargando editor..." })
103
- }
104
- );
95
+ return /* @__PURE__ */ jsx("div", { className: cn("overflow-hidden rounded-lg border border-border", className), children: /* @__PURE__ */ jsx("div", { className: "flex h-32 animate-pulse items-center justify-center rounded bg-muted text-muted-foreground", children: "Cargando editor..." }) });
105
96
  }
106
97
  return /* @__PURE__ */ jsxs(
107
98
  "div",
108
99
  {
109
100
  "data-slot": "rich-text-editor",
110
- className: cn(
111
- "border border-border rounded-lg overflow-hidden",
112
- className
113
- ),
101
+ className: cn("overflow-hidden rounded-lg border border-border", className),
114
102
  children: [
115
- !readOnly && /* @__PURE__ */ jsxs("div", { className: "border-b border-border bg-muted/50 p-2 flex flex-wrap gap-1", children: [
103
+ !readOnly && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1 border-b border-border bg-muted/50 p-2", children: [
116
104
  /* @__PURE__ */ jsx(
117
105
  ToolbarButton,
118
106
  {
119
107
  onClick: () => editor.chain().focus().toggleHeading({ level: 1 }).run(),
120
108
  title: "T\xEDtulo 1",
121
109
  isActive: editor.isActive("heading", { level: 1 }),
122
- children: /* @__PURE__ */ jsx(Heading1, { className: "w-4 h-4" })
110
+ children: /* @__PURE__ */ jsx(Heading1, { className: "h-4 w-4" })
123
111
  }
124
112
  ),
125
113
  /* @__PURE__ */ jsx(
@@ -128,7 +116,7 @@ function RichTextEditor({
128
116
  onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(),
129
117
  title: "T\xEDtulo 2",
130
118
  isActive: editor.isActive("heading", { level: 2 }),
131
- children: /* @__PURE__ */ jsx(Heading2, { className: "w-4 h-4" })
119
+ children: /* @__PURE__ */ jsx(Heading2, { className: "h-4 w-4" })
132
120
  }
133
121
  ),
134
122
  /* @__PURE__ */ jsx(
@@ -137,17 +125,17 @@ function RichTextEditor({
137
125
  onClick: () => editor.chain().focus().toggleHeading({ level: 3 }).run(),
138
126
  title: "T\xEDtulo 3",
139
127
  isActive: editor.isActive("heading", { level: 3 }),
140
- children: /* @__PURE__ */ jsx(Heading3, { className: "w-4 h-4" })
128
+ children: /* @__PURE__ */ jsx(Heading3, { className: "h-4 w-4" })
141
129
  }
142
130
  ),
143
- /* @__PURE__ */ jsx("div", { className: "w-px h-6 bg-border mx-1" }),
131
+ /* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
144
132
  /* @__PURE__ */ jsx(
145
133
  ToolbarButton,
146
134
  {
147
135
  onClick: () => editor.chain().focus().toggleBold().run(),
148
136
  title: "Negrita",
149
137
  isActive: editor.isActive("bold"),
150
- children: /* @__PURE__ */ jsx(Bold, { className: "w-4 h-4" })
138
+ children: /* @__PURE__ */ jsx(Bold, { className: "h-4 w-4" })
151
139
  }
152
140
  ),
153
141
  /* @__PURE__ */ jsx(
@@ -156,7 +144,7 @@ function RichTextEditor({
156
144
  onClick: () => editor.chain().focus().toggleItalic().run(),
157
145
  title: "Cursiva",
158
146
  isActive: editor.isActive("italic"),
159
- children: /* @__PURE__ */ jsx(Italic, { className: "w-4 h-4" })
147
+ children: /* @__PURE__ */ jsx(Italic, { className: "h-4 w-4" })
160
148
  }
161
149
  ),
162
150
  /* @__PURE__ */ jsx(
@@ -165,29 +153,29 @@ function RichTextEditor({
165
153
  onClick: () => editor.chain().focus().toggleStrike().run(),
166
154
  title: "Tachado",
167
155
  isActive: editor.isActive("strike"),
168
- children: /* @__PURE__ */ jsx(Strikethrough, { className: "w-4 h-4" })
156
+ children: /* @__PURE__ */ jsx(Strikethrough, { className: "h-4 w-4" })
169
157
  }
170
158
  ),
171
- /* @__PURE__ */ jsx("div", { className: "w-px h-6 bg-border mx-1" }),
159
+ /* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
172
160
  /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsx(
173
161
  "input",
174
162
  {
175
163
  type: "color",
176
- className: "w-8 h-8 border border-border rounded cursor-pointer",
164
+ className: "h-8 w-8 cursor-pointer rounded border border-border",
177
165
  onChange: (e) => {
178
166
  editor.chain().focus().setColor(e.target.value).run();
179
167
  },
180
168
  title: "Color del texto"
181
169
  }
182
170
  ) }),
183
- /* @__PURE__ */ jsx("div", { className: "w-px h-6 bg-border mx-1" }),
171
+ /* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
184
172
  /* @__PURE__ */ jsx(
185
173
  ToolbarButton,
186
174
  {
187
175
  onClick: () => editor.chain().focus().toggleBulletList().run(),
188
176
  title: "Lista con vi\xF1etas",
189
177
  isActive: editor.isActive("bulletList"),
190
- children: /* @__PURE__ */ jsx(List, { className: "w-4 h-4" })
178
+ children: /* @__PURE__ */ jsx(List, { className: "h-4 w-4" })
191
179
  }
192
180
  ),
193
181
  /* @__PURE__ */ jsx(
@@ -196,17 +184,17 @@ function RichTextEditor({
196
184
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
197
185
  title: "Lista numerada",
198
186
  isActive: editor.isActive("orderedList"),
199
- children: /* @__PURE__ */ jsx(ListOrdered, { className: "w-4 h-4" })
187
+ children: /* @__PURE__ */ jsx(ListOrdered, { className: "h-4 w-4" })
200
188
  }
201
189
  ),
202
- /* @__PURE__ */ jsx("div", { className: "w-px h-6 bg-border mx-1" }),
190
+ /* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
203
191
  /* @__PURE__ */ jsx(
204
192
  ToolbarButton,
205
193
  {
206
194
  onClick: () => editor.chain().focus().setTextAlign("left").run(),
207
195
  title: "Alinear izquierda",
208
196
  isActive: editor.isActive({ textAlign: "left" }),
209
- children: /* @__PURE__ */ jsx(AlignLeft, { className: "w-4 h-4" })
197
+ children: /* @__PURE__ */ jsx(AlignLeft, { className: "h-4 w-4" })
210
198
  }
211
199
  ),
212
200
  /* @__PURE__ */ jsx(
@@ -215,7 +203,7 @@ function RichTextEditor({
215
203
  onClick: () => editor.chain().focus().setTextAlign("center").run(),
216
204
  title: "Centrar",
217
205
  isActive: editor.isActive({ textAlign: "center" }),
218
- children: /* @__PURE__ */ jsx(AlignCenter, { className: "w-4 h-4" })
206
+ children: /* @__PURE__ */ jsx(AlignCenter, { className: "h-4 w-4" })
219
207
  }
220
208
  ),
221
209
  /* @__PURE__ */ jsx(
@@ -224,10 +212,10 @@ function RichTextEditor({
224
212
  onClick: () => editor.chain().focus().setTextAlign("right").run(),
225
213
  title: "Alinear derecha",
226
214
  isActive: editor.isActive({ textAlign: "right" }),
227
- children: /* @__PURE__ */ jsx(AlignRight, { className: "w-4 h-4" })
215
+ children: /* @__PURE__ */ jsx(AlignRight, { className: "h-4 w-4" })
228
216
  }
229
217
  ),
230
- /* @__PURE__ */ jsx("div", { className: "w-px h-6 bg-border mx-1" }),
218
+ /* @__PURE__ */ jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
231
219
  /* @__PURE__ */ jsx(
232
220
  ToolbarButton,
233
221
  {
@@ -239,7 +227,7 @@ function RichTextEditor({
239
227
  },
240
228
  title: "Insertar enlace",
241
229
  isActive: editor.isActive("link"),
242
- children: /* @__PURE__ */ jsx(Link, { className: "w-4 h-4" })
230
+ children: /* @__PURE__ */ jsx(Link, { className: "h-4 w-4" })
243
231
  }
244
232
  ),
245
233
  /* @__PURE__ */ jsx(
@@ -252,7 +240,7 @@ function RichTextEditor({
252
240
  }
253
241
  },
254
242
  title: "Insertar imagen",
255
- children: /* @__PURE__ */ jsx(ImageIcon, { className: "w-4 h-4" })
243
+ children: /* @__PURE__ */ jsx(ImageIcon, { className: "h-4 w-4" })
256
244
  }
257
245
  )
258
246
  ] }),
@@ -260,7 +248,7 @@ function RichTextEditor({
260
248
  EditorContent,
261
249
  {
262
250
  editor,
263
- className: "prose prose-sm max-w-none p-3 bg-card",
251
+ className: "prose prose-sm max-w-none bg-card p-3",
264
252
  style: { minHeight: `${height}px` }
265
253
  }
266
254
  )
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useEditor, EditorContent } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport TextAlign from \"@tiptap/extension-text-align\";\nimport Color from \"@tiptap/extension-color\";\nimport { TextStyle } from \"@tiptap/extension-text-style\";\nimport ImageExtension from \"@tiptap/extension-image\";\nimport LinkExtension from \"@tiptap/extension-link\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport {\n Bold,\n Italic,\n Strikethrough,\n List,\n ListOrdered,\n Link,\n AlignLeft,\n AlignCenter,\n AlignRight,\n Image as ImageIcon,\n Heading1,\n Heading2,\n Heading3,\n} from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextEditorProps {\n value: string;\n onChange: (content: string) => void;\n placeholder?: string;\n height?: number;\n className?: string;\n readOnly?: boolean;\n}\n\nfunction ToolbarButton({\n onClick,\n children,\n title,\n isActive = false,\n}: {\n onClick: () => void;\n children: React.ReactNode;\n title: string;\n isActive?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n title={title}\n className={cn(\n \"p-2 rounded transition-colors\",\n isActive\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted text-muted-foreground\"\n )}\n >\n {children}\n </button>\n );\n}\n\nfunction RichTextEditor({\n value,\n onChange,\n placeholder = \"Escribe aquí...\",\n height = 200,\n className = \"\",\n readOnly = false,\n}: RichTextEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n TextAlign.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Color.configure({ types: [TextStyle.name] }),\n TextStyle,\n ImageExtension.configure({\n HTMLAttributes: {\n class: \"max-w-full h-auto rounded-lg\",\n },\n }),\n LinkExtension.configure({\n openOnClick: false,\n }),\n Placeholder.configure({\n placeholder: placeholder,\n }),\n ],\n content: value,\n editable: !readOnly,\n immediatelyRender: false,\n onUpdate: ({ editor: e }) => {\n onChange(e.getHTML());\n },\n editorProps: {\n attributes: {\n class:\n \"prose prose-sm sm:prose lg:prose-lg xl:prose-2xl mx-auto focus:outline-none max-w-none\",\n style: `min-height: ${height}px;`,\n },\n },\n });\n\n React.useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value);\n }\n }, [value, editor]);\n\n if (!editor) {\n return (\n <div\n className={cn(\n \"border border-border rounded-lg overflow-hidden\",\n className\n )}\n >\n <div className=\"h-32 bg-muted rounded animate-pulse flex items-center justify-center text-muted-foreground\">\n Cargando editor...\n </div>\n </div>\n );\n }\n\n return (\n <div\n data-slot=\"rich-text-editor\"\n className={cn(\n \"border border-border rounded-lg overflow-hidden\",\n className\n )}\n >\n {!readOnly && (\n <div className=\"border-b border-border bg-muted/50 p-2 flex flex-wrap gap-1\">\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 1 }).run()\n }\n title=\"Título 1\"\n isActive={editor.isActive(\"heading\", { level: 1 })}\n >\n <Heading1 className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 2 }).run()\n }\n title=\"Título 2\"\n isActive={editor.isActive(\"heading\", { level: 2 })}\n >\n <Heading2 className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 3 }).run()\n }\n title=\"Título 3\"\n isActive={editor.isActive(\"heading\", { level: 3 })}\n >\n <Heading3 className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBold().run()}\n title=\"Negrita\"\n isActive={editor.isActive(\"bold\")}\n >\n <Bold className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleItalic().run()}\n title=\"Cursiva\"\n isActive={editor.isActive(\"italic\")}\n >\n <Italic className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleStrike().run()}\n title=\"Tachado\"\n isActive={editor.isActive(\"strike\")}\n >\n <Strikethrough className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <div className=\"relative\">\n <input\n type=\"color\"\n className=\"w-8 h-8 border border-border rounded cursor-pointer\"\n onChange={(e) => {\n editor.chain().focus().setColor(e.target.value).run();\n }}\n title=\"Color del texto\"\n />\n </div>\n\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n title=\"Lista con viñetas\"\n isActive={editor.isActive(\"bulletList\")}\n >\n <List className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n title=\"Lista numerada\"\n isActive={editor.isActive(\"orderedList\")}\n >\n <ListOrdered className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"left\").run()\n }\n title=\"Alinear izquierda\"\n isActive={editor.isActive({ textAlign: \"left\" })}\n >\n <AlignLeft className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"center\").run()\n }\n title=\"Centrar\"\n isActive={editor.isActive({ textAlign: \"center\" })}\n >\n <AlignCenter className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() =>\n editor.chain().focus().setTextAlign(\"right\").run()\n }\n title=\"Alinear derecha\"\n isActive={editor.isActive({ textAlign: \"right\" })}\n >\n <AlignRight className=\"w-4 h-4\" />\n </ToolbarButton>\n <div className=\"w-px h-6 bg-border mx-1\" />\n\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL:\");\n if (url) {\n editor.chain().focus().setLink({ href: url }).run();\n }\n }}\n title=\"Insertar enlace\"\n isActive={editor.isActive(\"link\")}\n >\n <Link className=\"w-4 h-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL de la imagen:\");\n if (url) {\n editor.chain().focus().setImage({ src: url }).run();\n }\n }}\n title=\"Insertar imagen\"\n >\n <ImageIcon className=\"w-4 h-4\" />\n </ToolbarButton>\n </div>\n )}\n <EditorContent\n editor={editor}\n className=\"prose prose-sm max-w-none p-3 bg-card\"\n style={{ minHeight: `${height}px` }}\n />\n </div>\n );\n}\n\nexport { RichTextEditor };\nexport type { RichTextEditorProps };\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { useEditor, EditorContent } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport TextAlign from \"@tiptap/extension-text-align\";\nimport Color from \"@tiptap/extension-color\";\nimport { TextStyle } from \"@tiptap/extension-text-style\";\nimport ImageExtension from \"@tiptap/extension-image\";\nimport LinkExtension from \"@tiptap/extension-link\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport {\n Bold,\n Italic,\n Strikethrough,\n List,\n ListOrdered,\n Link,\n AlignLeft,\n AlignCenter,\n AlignRight,\n Image as ImageIcon,\n Heading1,\n Heading2,\n Heading3,\n} from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextEditorProps {\n value: string;\n onChange: (content: string) => void;\n placeholder?: string;\n height?: number;\n className?: string;\n readOnly?: boolean;\n}\n\nfunction ToolbarButton({\n onClick,\n children,\n title,\n isActive = false,\n}: {\n onClick: () => void;\n children: React.ReactNode;\n title: string;\n isActive?: boolean;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n title={title}\n className={cn(\n \"rounded p-2 transition-colors\",\n isActive ? \"bg-primary text-primary-foreground\" : \"text-muted-foreground hover:bg-muted\",\n )}\n >\n {children}\n </button>\n );\n}\n\nfunction RichTextEditor({\n value,\n onChange,\n placeholder = \"Escribe aquí...\",\n height = 200,\n className = \"\",\n readOnly = false,\n}: RichTextEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n TextAlign.configure({\n types: [\"heading\", \"paragraph\"],\n }),\n Color.configure({ types: [TextStyle.name] }),\n TextStyle,\n ImageExtension.configure({\n HTMLAttributes: {\n class: \"max-w-full h-auto rounded-lg\",\n },\n }),\n LinkExtension.configure({\n openOnClick: false,\n }),\n Placeholder.configure({\n placeholder: placeholder,\n }),\n ],\n content: value,\n editable: !readOnly,\n immediatelyRender: false,\n onUpdate: ({ editor: e }) => {\n onChange(e.getHTML());\n },\n editorProps: {\n attributes: {\n class:\n \"prose prose-sm sm:prose lg:prose-lg xl:prose-2xl mx-auto focus:outline-none max-w-none\",\n style: `min-height: ${height}px;`,\n },\n },\n });\n\n React.useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value);\n }\n }, [value, editor]);\n\n if (!editor) {\n return (\n <div className={cn(\"overflow-hidden rounded-lg border border-border\", className)}>\n <div className=\"flex h-32 animate-pulse items-center justify-center rounded bg-muted text-muted-foreground\">\n Cargando editor...\n </div>\n </div>\n );\n }\n\n return (\n <div\n data-slot=\"rich-text-editor\"\n className={cn(\"overflow-hidden rounded-lg border border-border\", className)}\n >\n {!readOnly && (\n <div className=\"flex flex-wrap gap-1 border-b border-border bg-muted/50 p-2\">\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 1 }).run()}\n title=\"Título 1\"\n isActive={editor.isActive(\"heading\", { level: 1 })}\n >\n <Heading1 className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 2 }).run()}\n title=\"Título 2\"\n isActive={editor.isActive(\"heading\", { level: 2 })}\n >\n <Heading2 className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleHeading({ level: 3 }).run()}\n title=\"Título 3\"\n isActive={editor.isActive(\"heading\", { level: 3 })}\n >\n <Heading3 className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBold().run()}\n title=\"Negrita\"\n isActive={editor.isActive(\"bold\")}\n >\n <Bold className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleItalic().run()}\n title=\"Cursiva\"\n isActive={editor.isActive(\"italic\")}\n >\n <Italic className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleStrike().run()}\n title=\"Tachado\"\n isActive={editor.isActive(\"strike\")}\n >\n <Strikethrough className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <div className=\"relative\">\n <input\n type=\"color\"\n className=\"h-8 w-8 cursor-pointer rounded border border-border\"\n onChange={(e) => {\n editor.chain().focus().setColor(e.target.value).run();\n }}\n title=\"Color del texto\"\n />\n </div>\n\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n title=\"Lista con viñetas\"\n isActive={editor.isActive(\"bulletList\")}\n >\n <List className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n title=\"Lista numerada\"\n isActive={editor.isActive(\"orderedList\")}\n >\n <ListOrdered className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"left\").run()}\n title=\"Alinear izquierda\"\n isActive={editor.isActive({ textAlign: \"left\" })}\n >\n <AlignLeft className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"center\").run()}\n title=\"Centrar\"\n isActive={editor.isActive({ textAlign: \"center\" })}\n >\n <AlignCenter className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => editor.chain().focus().setTextAlign(\"right\").run()}\n title=\"Alinear derecha\"\n isActive={editor.isActive({ textAlign: \"right\" })}\n >\n <AlignRight className=\"h-4 w-4\" />\n </ToolbarButton>\n <div className=\"mx-1 h-6 w-px bg-border\" />\n\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL:\");\n if (url) {\n editor.chain().focus().setLink({ href: url }).run();\n }\n }}\n title=\"Insertar enlace\"\n isActive={editor.isActive(\"link\")}\n >\n <Link className=\"h-4 w-4\" />\n </ToolbarButton>\n <ToolbarButton\n onClick={() => {\n const url = prompt(\"Ingresa la URL de la imagen:\");\n if (url) {\n editor.chain().focus().setImage({ src: url }).run();\n }\n }}\n title=\"Insertar imagen\"\n >\n <ImageIcon className=\"h-4 w-4\" />\n </ToolbarButton>\n </div>\n )}\n <EditorContent\n editor={editor}\n className=\"prose prose-sm max-w-none bg-card p-3\"\n style={{ minHeight: `${height}px` }}\n />\n </div>\n );\n}\n\nexport { RichTextEditor };\nexport type { RichTextEditorProps };\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWI;AATJ,YAAuB;AACvB,0BAAqC;AAErC,mBAAmB;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QAClC;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACG;AAAA,IACA,eAAW,iBAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA,IAEJ;AAAA,kDAAC,oBAAoB,UAApB,EAA6B,WAAU,mCACnC,UACL;AAAA,MACA,4CAAC,aAAU;AAAA,MACX,4CAAC,oBAAoB,QAApB,EAA2B;AAAA;AAAA;AAChC,CACH;AACD,WAAW,cAAc,oBAAoB,KAAK;AAElD,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,cAAc,YAAY,GAAG,MAAM,GAAG,QAClD;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACG;AAAA,IACA;AAAA,IACA,eAAW;AAAA,MACP;AAAA,MACA,gBAAgB,cAChB;AAAA,MACA,gBAAgB,gBAChB;AAAA,MACA;AAAA,IACJ;AAAA,IACC,GAAG;AAAA,IAEJ,sDAAC,oBAAoB,iBAApB,EAAoC,WAAU,0CAAyC;AAAA;AAC5F,CACH;AACD,UAAU,cAAc,oBAAoB,oBAAoB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWE;AATF,YAAuB;AACvB,0BAAqC;AAErC,mBAAmB;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACC;AAAA,IACA,eAAW,iBAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA,IAEJ;AAAA,kDAAC,oBAAoB,UAApB,EAA6B,WAAU,mCACrC,UACH;AAAA,MACA,4CAAC,aAAU;AAAA,MACX,4CAAC,oBAAoB,QAApB,EAA2B;AAAA;AAAA;AAC9B,CACD;AACD,WAAW,cAAc,oBAAoB,KAAK;AAElD,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,cAAc,YAAY,GAAG,MAAM,GAAG,QACpD;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACC;AAAA,IACA;AAAA,IACA,eAAW;AAAA,MACT;AAAA,MACA,gBAAgB,cAAc;AAAA,MAC9B,gBAAgB,gBAAgB;AAAA,MAChC;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ,sDAAC,oBAAoB,iBAApB,EAAoC,WAAU,0CAAyC;AAAA;AAC1F,CACD;AACD,UAAU,cAAc,oBAAoB,oBAAoB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";AAWI,SAKI,KALJ;AATJ,YAAY,WAAW;AACvB,YAAY,yBAAyB;AAErC,SAAS,UAAU;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QAClC;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACG;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA,IAEJ;AAAA,0BAAC,oBAAoB,UAApB,EAA6B,WAAU,mCACnC,UACL;AAAA,MACA,oBAAC,aAAU;AAAA,MACX,oBAAC,oBAAoB,QAApB,EAA2B;AAAA;AAAA;AAChC,CACH;AACD,WAAW,cAAc,oBAAoB,KAAK;AAElD,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,cAAc,YAAY,GAAG,MAAM,GAAG,QAClD;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACG;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACP;AAAA,MACA,gBAAgB,cAChB;AAAA,MACA,gBAAgB,gBAChB;AAAA,MACA;AAAA,IACJ;AAAA,IACC,GAAG;AAAA,IAEJ,8BAAC,oBAAoB,iBAApB,EAAoC,WAAU,0CAAyC;AAAA;AAC5F,CACH;AACD,UAAU,cAAc,oBAAoB,oBAAoB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";AAWE,SAKE,KALF;AATF,YAAY,WAAW;AACvB,YAAY,yBAAyB;AAErC,SAAS,UAAU;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA,IAEJ;AAAA,0BAAC,oBAAoB,UAApB,EAA6B,WAAU,mCACrC,UACH;AAAA,MACA,oBAAC,aAAU;AAAA,MACX,oBAAC,oBAAoB,QAApB,EAA2B;AAAA;AAAA;AAC9B,CACD;AACD,WAAW,cAAc,oBAAoB,KAAK;AAElD,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,cAAc,YAAY,GAAG,MAAM,GAAG,QACpD;AAAA,EAAC,oBAAoB;AAAA,EAApB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,gBAAgB,cAAc;AAAA,MAC9B,gBAAgB,gBAAgB;AAAA,MAChC;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ,8BAAC,oBAAoB,iBAApB,EAAoC,WAAU,0CAAyC;AAAA;AAC1F,CACD;AACD,UAAU,cAAc,oBAAoB,oBAAoB;","names":[]}
@@ -37,27 +37,16 @@ function SectionLoader({
37
37
  "div",
38
38
  {
39
39
  "data-slot": "section-loader",
40
- className: (0, import_utils.cn)(
41
- "flex flex-col items-center justify-center py-12 space-y-4",
42
- className
43
- ),
40
+ className: (0, import_utils.cn)("flex flex-col items-center justify-center space-y-4 py-12", className),
44
41
  children: [
45
42
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center space-x-3", children: [
46
43
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Loader2, { className: "h-6 w-6 animate-spin text-primary" }),
47
44
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-lg font-semibold text-foreground/70", children: title })
48
45
  ] }),
49
- description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-muted-foreground text-center max-w-md", children: description }),
46
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "max-w-md text-center text-sm text-muted-foreground", children: description }),
50
47
  showProgress && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "w-full max-w-xs", children: [
51
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
52
- import_progress.Progress,
53
- {
54
- value: progressValue,
55
- size: "md",
56
- variant: "default",
57
- className: "mb-2"
58
- }
59
- ),
60
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-xs text-muted-foreground text-center", children: [
48
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_progress.Progress, { value: progressValue, size: "md", variant: "default", className: "mb-2" }),
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-center text-xs text-muted-foreground", children: [
61
50
  progressValue,
62
51
  "% completado"
63
52
  ] })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/section-loader/section-loader.tsx"],"sourcesContent":["import { Loader2 } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { Progress } from \"../progress\";\n\ninterface SectionLoaderProps {\n title?: string;\n description?: string;\n showProgress?: boolean;\n progressValue?: number;\n className?: string;\n}\n\nfunction SectionLoader({\n title = \"Cargando...\",\n description,\n showProgress = false,\n progressValue = 0,\n className = \"\",\n}: SectionLoaderProps) {\n return (\n <div\n data-slot=\"section-loader\"\n className={cn(\n \"flex flex-col items-center justify-center py-12 space-y-4\",\n className\n )}\n >\n <div className=\"flex items-center space-x-3\">\n <Loader2 className=\"h-6 w-6 animate-spin text-primary\" />\n <h3 className=\"text-lg font-semibold text-foreground/70\">{title}</h3>\n </div>\n\n {description && (\n <p className=\"text-sm text-muted-foreground text-center max-w-md\">\n {description}\n </p>\n )}\n\n {showProgress && (\n <div className=\"w-full max-w-xs\">\n <Progress\n value={progressValue}\n size=\"md\"\n variant=\"default\"\n className=\"mb-2\"\n />\n <p className=\"text-xs text-muted-foreground text-center\">\n {progressValue}% completado\n </p>\n </div>\n )}\n </div>\n );\n}\n\n/** @deprecated Use `SectionLoader` instead */\nconst TabLoadingState = SectionLoader;\n/** @deprecated Use `SectionLoaderProps` instead */\ntype TabLoadingStateProps = SectionLoaderProps;\n\nexport { SectionLoader, TabLoadingState };\nexport type { SectionLoaderProps, TabLoadingStateProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BM;AA5BN,0BAAwB;AAExB,mBAAmB;AACnB,sBAAyB;AAUzB,SAAS,cAAc;AAAA,EACrB,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,YAAY;AACd,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA;AAAA,qDAAC,SAAI,WAAU,+BACb;AAAA,sDAAC,+BAAQ,WAAU,qCAAoC;AAAA,UACvD,4CAAC,QAAG,WAAU,4CAA4C,iBAAM;AAAA,WAClE;AAAA,QAEC,eACC,4CAAC,OAAE,WAAU,sDACV,uBACH;AAAA,QAGD,gBACC,6CAAC,SAAI,WAAU,mBACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,cACP,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,WAAU;AAAA;AAAA,UACZ;AAAA,UACA,6CAAC,OAAE,WAAU,6CACV;AAAA;AAAA,YAAc;AAAA,aACjB;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAGA,MAAM,kBAAkB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/section-loader/section-loader.tsx"],"sourcesContent":["import { Loader2 } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { Progress } from \"../progress\";\n\ninterface SectionLoaderProps {\n title?: string;\n description?: string;\n showProgress?: boolean;\n progressValue?: number;\n className?: string;\n}\n\nfunction SectionLoader({\n title = \"Cargando...\",\n description,\n showProgress = false,\n progressValue = 0,\n className = \"\",\n}: SectionLoaderProps) {\n return (\n <div\n data-slot=\"section-loader\"\n className={cn(\"flex flex-col items-center justify-center space-y-4 py-12\", className)}\n >\n <div className=\"flex items-center space-x-3\">\n <Loader2 className=\"h-6 w-6 animate-spin text-primary\" />\n <h3 className=\"text-lg font-semibold text-foreground/70\">{title}</h3>\n </div>\n\n {description && (\n <p className=\"max-w-md text-center text-sm text-muted-foreground\">{description}</p>\n )}\n\n {showProgress && (\n <div className=\"w-full max-w-xs\">\n <Progress value={progressValue} size=\"md\" variant=\"default\" className=\"mb-2\" />\n <p className=\"text-center text-xs text-muted-foreground\">{progressValue}% completado</p>\n </div>\n )}\n </div>\n );\n}\n\n/** @deprecated Use `SectionLoader` instead */\nconst TabLoadingState = SectionLoader;\n/** @deprecated Use `SectionLoaderProps` instead */\ntype TabLoadingStateProps = SectionLoaderProps;\n\nexport { SectionLoader, TabLoadingState };\nexport type { SectionLoaderProps, TabLoadingStateProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBM;AAzBN,0BAAwB;AAExB,mBAAmB;AACnB,sBAAyB;AAUzB,SAAS,cAAc;AAAA,EACrB,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,YAAY;AACd,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,6DAA6D,SAAS;AAAA,MAEpF;AAAA,qDAAC,SAAI,WAAU,+BACb;AAAA,sDAAC,+BAAQ,WAAU,qCAAoC;AAAA,UACvD,4CAAC,QAAG,WAAU,4CAA4C,iBAAM;AAAA,WAClE;AAAA,QAEC,eACC,4CAAC,OAAE,WAAU,sDAAsD,uBAAY;AAAA,QAGhF,gBACC,6CAAC,SAAI,WAAU,mBACb;AAAA,sDAAC,4BAAS,OAAO,eAAe,MAAK,MAAK,SAAQ,WAAU,WAAU,QAAO;AAAA,UAC7E,6CAAC,OAAE,WAAU,6CAA6C;AAAA;AAAA,YAAc;AAAA,aAAY;AAAA,WACtF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAGA,MAAM,kBAAkB;","names":[]}
@@ -13,27 +13,16 @@ function SectionLoader({
13
13
  "div",
14
14
  {
15
15
  "data-slot": "section-loader",
16
- className: cn(
17
- "flex flex-col items-center justify-center py-12 space-y-4",
18
- className
19
- ),
16
+ className: cn("flex flex-col items-center justify-center space-y-4 py-12", className),
20
17
  children: [
21
18
  /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-3", children: [
22
19
  /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin text-primary" }),
23
20
  /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-foreground/70", children: title })
24
21
  ] }),
25
- description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground text-center max-w-md", children: description }),
22
+ description && /* @__PURE__ */ jsx("p", { className: "max-w-md text-center text-sm text-muted-foreground", children: description }),
26
23
  showProgress && /* @__PURE__ */ jsxs("div", { className: "w-full max-w-xs", children: [
27
- /* @__PURE__ */ jsx(
28
- Progress,
29
- {
30
- value: progressValue,
31
- size: "md",
32
- variant: "default",
33
- className: "mb-2"
34
- }
35
- ),
36
- /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground text-center", children: [
24
+ /* @__PURE__ */ jsx(Progress, { value: progressValue, size: "md", variant: "default", className: "mb-2" }),
25
+ /* @__PURE__ */ jsxs("p", { className: "text-center text-xs text-muted-foreground", children: [
37
26
  progressValue,
38
27
  "% completado"
39
28
  ] })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ui/section-loader/section-loader.tsx"],"sourcesContent":["import { Loader2 } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { Progress } from \"../progress\";\n\ninterface SectionLoaderProps {\n title?: string;\n description?: string;\n showProgress?: boolean;\n progressValue?: number;\n className?: string;\n}\n\nfunction SectionLoader({\n title = \"Cargando...\",\n description,\n showProgress = false,\n progressValue = 0,\n className = \"\",\n}: SectionLoaderProps) {\n return (\n <div\n data-slot=\"section-loader\"\n className={cn(\n \"flex flex-col items-center justify-center py-12 space-y-4\",\n className\n )}\n >\n <div className=\"flex items-center space-x-3\">\n <Loader2 className=\"h-6 w-6 animate-spin text-primary\" />\n <h3 className=\"text-lg font-semibold text-foreground/70\">{title}</h3>\n </div>\n\n {description && (\n <p className=\"text-sm text-muted-foreground text-center max-w-md\">\n {description}\n </p>\n )}\n\n {showProgress && (\n <div className=\"w-full max-w-xs\">\n <Progress\n value={progressValue}\n size=\"md\"\n variant=\"default\"\n className=\"mb-2\"\n />\n <p className=\"text-xs text-muted-foreground text-center\">\n {progressValue}% completado\n </p>\n </div>\n )}\n </div>\n );\n}\n\n/** @deprecated Use `SectionLoader` instead */\nconst TabLoadingState = SectionLoader;\n/** @deprecated Use `SectionLoaderProps` instead */\ntype TabLoadingStateProps = SectionLoaderProps;\n\nexport { SectionLoader, TabLoadingState };\nexport type { SectionLoaderProps, TabLoadingStateProps };\n"],"mappings":"AA4BM,SACE,KADF;AA5BN,SAAS,eAAe;AAExB,SAAS,UAAU;AACnB,SAAS,gBAAgB;AAUzB,SAAS,cAAc;AAAA,EACrB,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,YAAY;AACd,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA;AAAA,6BAAC,SAAI,WAAU,+BACb;AAAA,8BAAC,WAAQ,WAAU,qCAAoC;AAAA,UACvD,oBAAC,QAAG,WAAU,4CAA4C,iBAAM;AAAA,WAClE;AAAA,QAEC,eACC,oBAAC,OAAE,WAAU,sDACV,uBACH;AAAA,QAGD,gBACC,qBAAC,SAAI,WAAU,mBACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,cACP,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,WAAU;AAAA;AAAA,UACZ;AAAA,UACA,qBAAC,OAAE,WAAU,6CACV;AAAA;AAAA,YAAc;AAAA,aACjB;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAGA,MAAM,kBAAkB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ui/section-loader/section-loader.tsx"],"sourcesContent":["import { Loader2 } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { Progress } from \"../progress\";\n\ninterface SectionLoaderProps {\n title?: string;\n description?: string;\n showProgress?: boolean;\n progressValue?: number;\n className?: string;\n}\n\nfunction SectionLoader({\n title = \"Cargando...\",\n description,\n showProgress = false,\n progressValue = 0,\n className = \"\",\n}: SectionLoaderProps) {\n return (\n <div\n data-slot=\"section-loader\"\n className={cn(\"flex flex-col items-center justify-center space-y-4 py-12\", className)}\n >\n <div className=\"flex items-center space-x-3\">\n <Loader2 className=\"h-6 w-6 animate-spin text-primary\" />\n <h3 className=\"text-lg font-semibold text-foreground/70\">{title}</h3>\n </div>\n\n {description && (\n <p className=\"max-w-md text-center text-sm text-muted-foreground\">{description}</p>\n )}\n\n {showProgress && (\n <div className=\"w-full max-w-xs\">\n <Progress value={progressValue} size=\"md\" variant=\"default\" className=\"mb-2\" />\n <p className=\"text-center text-xs text-muted-foreground\">{progressValue}% completado</p>\n </div>\n )}\n </div>\n );\n}\n\n/** @deprecated Use `SectionLoader` instead */\nconst TabLoadingState = SectionLoader;\n/** @deprecated Use `SectionLoaderProps` instead */\ntype TabLoadingStateProps = SectionLoaderProps;\n\nexport { SectionLoader, TabLoadingState };\nexport type { SectionLoaderProps, TabLoadingStateProps };\n"],"mappings":"AAyBM,SACE,KADF;AAzBN,SAAS,eAAe;AAExB,SAAS,UAAU;AACnB,SAAS,gBAAgB;AAUzB,SAAS,cAAc;AAAA,EACrB,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,YAAY;AACd,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6DAA6D,SAAS;AAAA,MAEpF;AAAA,6BAAC,SAAI,WAAU,+BACb;AAAA,8BAAC,WAAQ,WAAU,qCAAoC;AAAA,UACvD,oBAAC,QAAG,WAAU,4CAA4C,iBAAM;AAAA,WAClE;AAAA,QAEC,eACC,oBAAC,OAAE,WAAU,sDAAsD,uBAAY;AAAA,QAGhF,gBACC,qBAAC,SAAI,WAAU,mBACb;AAAA,8BAAC,YAAS,OAAO,eAAe,MAAK,MAAK,SAAQ,WAAU,WAAU,QAAO;AAAA,UAC7E,qBAAC,OAAE,WAAU,6CAA6C;AAAA;AAAA,YAAc;AAAA,aAAY;AAAA,WACtF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAGA,MAAM,kBAAkB;","names":[]}
@@ -45,19 +45,13 @@ var import_jsx_runtime = require("react/jsx-runtime");
45
45
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
46
46
  var import_lucide_react = require("lucide-react");
47
47
  var import_utils = require("../../../lib/utils");
48
- function Select({
49
- ...props
50
- }) {
48
+ function Select({ ...props }) {
51
49
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
52
50
  }
53
- function SelectGroup({
54
- ...props
55
- }) {
51
+ function SelectGroup({ ...props }) {
56
52
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
57
53
  }
58
- function SelectValue({
59
- ...props
60
- }) {
54
+ function SelectValue({ ...props }) {
61
55
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
62
56
  }
63
57
  function SelectTrigger({
@@ -72,7 +66,7 @@ function SelectTrigger({
72
66
  "data-slot": "select-trigger",
73
67
  "data-size": size,
74
68
  className: (0, import_utils.cn)(
75
- "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive flex w-fit items-center justify-between gap-2 rounded-md border bg-card px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
69
+ "aria-invalid:ring-destructive/20 aria-invalid:border-destructive shadow-xs flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-card px-3 py-2 text-sm outline-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
76
70
  className
77
71
  ),
78
72
  ...props,
@@ -94,7 +88,7 @@ function SelectContent({
94
88
  {
95
89
  "data-slot": "select-content",
96
90
  className: (0, import_utils.cn)(
97
- "bg-popover max-h-[var(--radix-select-content-available-height)] text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
91
+ "origin-(--radix-select-content-transform-origin) relative z-50 max-h-[var(--radix-select-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
98
92
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
99
93
  className
100
94
  ),
@@ -117,15 +111,12 @@ function SelectContent({
117
111
  }
118
112
  ) });
119
113
  }
120
- function SelectLabel({
121
- className,
122
- ...props
123
- }) {
114
+ function SelectLabel({ className, ...props }) {
124
115
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
116
  SelectPrimitive.Label,
126
117
  {
127
118
  "data-slot": "select-label",
128
- className: (0, import_utils.cn)("text-muted-foreground px-2 py-1.5 text-xs", className),
119
+ className: (0, import_utils.cn)("px-2 py-1.5 text-xs text-muted-foreground", className),
129
120
  ...props
130
121
  }
131
122
  );
@@ -140,7 +131,7 @@ function SelectItem({
140
131
  {
141
132
  "data-slot": "select-item",
142
133
  className: (0, import_utils.cn)(
143
- "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
134
+ "outline-hidden *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pl-2 pr-8 text-sm focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
144
135
  className
145
136
  ),
146
137
  ...props,
@@ -159,10 +150,7 @@ function SelectSeparator({
159
150
  SelectPrimitive.Separator,
160
151
  {
161
152
  "data-slot": "select-separator",
162
- className: (0, import_utils.cn)(
163
- "bg-border pointer-events-none -mx-1 my-1 h-px",
164
- className
165
- ),
153
+ className: (0, import_utils.cn)("pointer-events-none -mx-1 my-1 h-px bg-border", className),
166
154
  ...props
167
155
  }
168
156
  );
@@ -175,10 +163,7 @@ function SelectScrollUpButton({
175
163
  SelectPrimitive.ScrollUpButton,
176
164
  {
177
165
  "data-slot": "select-scroll-up-button",
178
- className: (0, import_utils.cn)(
179
- "flex cursor-default items-center justify-center py-1",
180
- className
181
- ),
166
+ className: (0, import_utils.cn)("flex cursor-default items-center justify-center py-1", className),
182
167
  ...props,
183
168
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUpIcon, { className: "size-4" })
184
169
  }
@@ -192,10 +177,7 @@ function SelectScrollDownButton({
192
177
  SelectPrimitive.ScrollDownButton,
193
178
  {
194
179
  "data-slot": "select-scroll-down-button",
195
- className: (0, import_utils.cn)(
196
- "flex cursor-default items-center justify-center py-1",
197
- className
198
- ),
180
+ className: (0, import_utils.cn)("flex cursor-default items-center justify-center py-1", className),
199
181
  ...props,
200
182
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDownIcon, { className: "size-4" })
201
183
  }