@etus/ui 0.4.0-beta.7 → 0.4.0-beta.8

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 (221) hide show
  1. package/dist/{chunk-2Y7PQ6ZL.js → chunk-237TQKWH.js} +4 -4
  2. package/dist/{chunk-2Y7PQ6ZL.js.map → chunk-237TQKWH.js.map} +1 -1
  3. package/dist/{chunk-KR3IVNQH.js → chunk-2FJJOHHH.js} +16 -10
  4. package/dist/chunk-2FJJOHHH.js.map +1 -0
  5. package/dist/{chunk-W4NC5CU5.js → chunk-2Q4I4VDB.js} +4 -4
  6. package/dist/{chunk-W4NC5CU5.js.map → chunk-2Q4I4VDB.js.map} +1 -1
  7. package/dist/chunk-2Z722V5K.js +231 -0
  8. package/dist/chunk-2Z722V5K.js.map +1 -0
  9. package/dist/chunk-37IIHQP4.js +233 -0
  10. package/dist/chunk-37IIHQP4.js.map +1 -0
  11. package/dist/{chunk-UFRMZ3M6.js → chunk-3JCV72FO.js} +6 -2
  12. package/dist/chunk-3JCV72FO.js.map +1 -0
  13. package/dist/{chunk-FCT6FEEZ.js → chunk-43BS3PPX.js} +5 -5
  14. package/dist/{chunk-FCT6FEEZ.js.map → chunk-43BS3PPX.js.map} +1 -1
  15. package/dist/{chunk-2UGDLAYC.js → chunk-45D4O7RK.js} +10 -3
  16. package/dist/chunk-45D4O7RK.js.map +1 -0
  17. package/dist/{chunk-OTSK2KAI.js → chunk-4EYYCHLD.js} +5 -5
  18. package/dist/{chunk-OTSK2KAI.js.map → chunk-4EYYCHLD.js.map} +1 -1
  19. package/dist/{chunk-J62TFQHR.js → chunk-5I7AXWJU.js} +13 -13
  20. package/dist/chunk-5I7AXWJU.js.map +1 -0
  21. package/dist/{chunk-65YSTUD2.js → chunk-5SUD32RK.js} +44 -14
  22. package/dist/chunk-5SUD32RK.js.map +1 -0
  23. package/dist/{chunk-23BHD62H.js → chunk-5TZDEGZN.js} +4 -4
  24. package/dist/chunk-5TZDEGZN.js.map +1 -0
  25. package/dist/{chunk-VPNFYQBL.js → chunk-6DN2UAIR.js} +3 -3
  26. package/dist/chunk-6DN2UAIR.js.map +1 -0
  27. package/dist/{chunk-EGYWK2XX.js → chunk-7CTFBOD4.js} +3 -3
  28. package/dist/{chunk-EGYWK2XX.js.map → chunk-7CTFBOD4.js.map} +1 -1
  29. package/dist/{chunk-36XTKR3B.js → chunk-BMNCNBPA.js} +3 -3
  30. package/dist/{chunk-36XTKR3B.js.map → chunk-BMNCNBPA.js.map} +1 -1
  31. package/dist/{chunk-AWYOWR5N.js → chunk-C5HSYDJC.js} +3 -3
  32. package/dist/{chunk-AWYOWR5N.js.map → chunk-C5HSYDJC.js.map} +1 -1
  33. package/dist/{chunk-VFALJSXB.js → chunk-DCUFQJYP.js} +3 -3
  34. package/dist/chunk-DCUFQJYP.js.map +1 -0
  35. package/dist/{chunk-LATTRPLQ.js → chunk-E2TI5V67.js} +3 -3
  36. package/dist/{chunk-LATTRPLQ.js.map → chunk-E2TI5V67.js.map} +1 -1
  37. package/dist/{chunk-IRKDMISK.js → chunk-G2MAGZHQ.js} +4 -3
  38. package/dist/chunk-G2MAGZHQ.js.map +1 -0
  39. package/dist/{chunk-ONQCNOLU.js → chunk-HDOR3SN3.js} +3 -3
  40. package/dist/{chunk-ONQCNOLU.js.map → chunk-HDOR3SN3.js.map} +1 -1
  41. package/dist/{chunk-PLLJNHWU.js → chunk-HI3T55XK.js} +3 -33
  42. package/dist/chunk-HI3T55XK.js.map +1 -0
  43. package/dist/chunk-HJ4E6YPW.js +236 -0
  44. package/dist/chunk-HJ4E6YPW.js.map +1 -0
  45. package/dist/{chunk-LS3WD6IZ.js → chunk-I55QJ4CU.js} +4 -4
  46. package/dist/{chunk-LS3WD6IZ.js.map → chunk-I55QJ4CU.js.map} +1 -1
  47. package/dist/{chunk-HKXQLWGR.js → chunk-IOWHM7ZY.js} +13 -11
  48. package/dist/chunk-IOWHM7ZY.js.map +1 -0
  49. package/dist/{chunk-ILAV2AZ4.js → chunk-IZC5YFGO.js} +3 -3
  50. package/dist/{chunk-ILAV2AZ4.js.map → chunk-IZC5YFGO.js.map} +1 -1
  51. package/dist/{chunk-Y7UFBSAD.js → chunk-KHOCAVQO.js} +3 -3
  52. package/dist/{chunk-Y7UFBSAD.js.map → chunk-KHOCAVQO.js.map} +1 -1
  53. package/dist/{chunk-IBVCSZCH.js → chunk-KVJOKWP4.js} +5 -4
  54. package/dist/chunk-KVJOKWP4.js.map +1 -0
  55. package/dist/{chunk-KC6CHPT3.js → chunk-KZRTQF64.js} +3 -3
  56. package/dist/{chunk-KC6CHPT3.js.map → chunk-KZRTQF64.js.map} +1 -1
  57. package/dist/{chunk-QIETN4UU.js → chunk-LEAK22ZP.js} +3 -3
  58. package/dist/{chunk-QIETN4UU.js.map → chunk-LEAK22ZP.js.map} +1 -1
  59. package/dist/{chunk-OWOVCGUZ.js → chunk-M2C7HBR5.js} +3 -3
  60. package/dist/{chunk-OWOVCGUZ.js.map → chunk-M2C7HBR5.js.map} +1 -1
  61. package/dist/{chunk-33JGPMUW.js → chunk-M7TPROVH.js} +20 -7
  62. package/dist/chunk-M7TPROVH.js.map +1 -0
  63. package/dist/{chunk-AVR3LVOQ.js → chunk-MQMRVBUL.js} +4 -4
  64. package/dist/{chunk-AVR3LVOQ.js.map → chunk-MQMRVBUL.js.map} +1 -1
  65. package/dist/{chunk-KPNNSUXM.js → chunk-O7AUE5GP.js} +5 -3
  66. package/dist/chunk-O7AUE5GP.js.map +1 -0
  67. package/dist/{chunk-6HEURMY3.js → chunk-OCXGG7UP.js} +5 -5
  68. package/dist/{chunk-6HEURMY3.js.map → chunk-OCXGG7UP.js.map} +1 -1
  69. package/dist/{chunk-V7XHE25E.js → chunk-ON7WFRYH.js} +3 -3
  70. package/dist/{chunk-V7XHE25E.js.map → chunk-ON7WFRYH.js.map} +1 -1
  71. package/dist/{chunk-FSMHI7DW.js → chunk-OXDWUKGP.js} +3 -3
  72. package/dist/chunk-OXDWUKGP.js.map +1 -0
  73. package/dist/{chunk-SJSYKUCL.js → chunk-Q335YODG.js} +3 -3
  74. package/dist/{chunk-SJSYKUCL.js.map → chunk-Q335YODG.js.map} +1 -1
  75. package/dist/{chunk-6ELVWWIA.js → chunk-QZWKXUZP.js} +3 -3
  76. package/dist/{chunk-6ELVWWIA.js.map → chunk-QZWKXUZP.js.map} +1 -1
  77. package/dist/{chunk-DDM2I5C6.js → chunk-R5OIL4I4.js} +3 -3
  78. package/dist/{chunk-DDM2I5C6.js.map → chunk-R5OIL4I4.js.map} +1 -1
  79. package/dist/{chunk-FYJHWYPM.js → chunk-S524YVMO.js} +3 -3
  80. package/dist/{chunk-FYJHWYPM.js.map → chunk-S524YVMO.js.map} +1 -1
  81. package/dist/{chunk-OWIFNJXZ.js → chunk-S7TVRVRU.js} +3 -3
  82. package/dist/chunk-S7TVRVRU.js.map +1 -0
  83. package/dist/{chunk-TNROOKX3.js → chunk-UDY3IDCY.js} +10 -2
  84. package/dist/chunk-UDY3IDCY.js.map +1 -0
  85. package/dist/{chunk-3WOGOTOV.js → chunk-UPYT2XM5.js} +7 -7
  86. package/dist/chunk-UPYT2XM5.js.map +1 -0
  87. package/dist/{chunk-YWA63YN3.js → chunk-VAVE4ZJF.js} +2 -2
  88. package/dist/chunk-VAVE4ZJF.js.map +1 -0
  89. package/dist/chunk-WKWLKGNI.js +643 -0
  90. package/dist/chunk-WKWLKGNI.js.map +1 -0
  91. package/dist/{chunk-Z3FL7LEK.js → chunk-X253YD45.js} +71 -6
  92. package/dist/chunk-X253YD45.js.map +1 -0
  93. package/dist/{chunk-6XY7QYVR.js → chunk-X3AXEE3S.js} +3 -3
  94. package/dist/{chunk-6XY7QYVR.js.map → chunk-X3AXEE3S.js.map} +1 -1
  95. package/dist/{chunk-R4UOT76L.js → chunk-XAIUZJOJ.js} +8 -8
  96. package/dist/chunk-XAIUZJOJ.js.map +1 -0
  97. package/dist/{chunk-ZO2EKJZM.js → chunk-XCZMJA2D.js} +7 -7
  98. package/dist/{chunk-ZO2EKJZM.js.map → chunk-XCZMJA2D.js.map} +1 -1
  99. package/dist/{chunk-XRMKL43Y.js → chunk-XOLV7G4S.js} +3 -3
  100. package/dist/{chunk-XRMKL43Y.js.map → chunk-XOLV7G4S.js.map} +1 -1
  101. package/dist/chunk-XYYOV5GW.js +186 -0
  102. package/dist/chunk-XYYOV5GW.js.map +1 -0
  103. package/dist/{chunk-4MQNDQ4O.js → chunk-YACIRNVP.js} +12 -4
  104. package/dist/chunk-YACIRNVP.js.map +1 -0
  105. package/dist/{chunk-JKYB5QAP.js → chunk-YDZBLZVZ.js} +3 -3
  106. package/dist/{chunk-JKYB5QAP.js.map → chunk-YDZBLZVZ.js.map} +1 -1
  107. package/dist/{chunk-5XQIH6WM.js → chunk-YM5YBDRM.js} +4 -4
  108. package/dist/{chunk-5XQIH6WM.js.map → chunk-YM5YBDRM.js.map} +1 -1
  109. package/dist/{chunk-AUCDXPWH.js → chunk-YQX7XZES.js} +4 -4
  110. package/dist/{chunk-AUCDXPWH.js.map → chunk-YQX7XZES.js.map} +1 -1
  111. package/dist/{chunk-Y3BOERVB.js → chunk-ZEFK3AXP.js} +3 -3
  112. package/dist/{chunk-Y3BOERVB.js.map → chunk-ZEFK3AXP.js.map} +1 -1
  113. package/dist/{chunk-L3Z5FAJE.js → chunk-ZEYLSDSG.js} +3 -3
  114. package/dist/{chunk-L3Z5FAJE.js.map → chunk-ZEYLSDSG.js.map} +1 -1
  115. package/dist/components/advanced/Calendar/index.js +4 -4
  116. package/dist/components/advanced/Command/index.js +1 -1
  117. package/dist/components/advanced/EventCalendar/index.js +4 -4
  118. package/dist/components/advanced/FileDropzone/index.js +1 -1
  119. package/dist/components/advanced/FilterBuilder/index.js +4 -4
  120. package/dist/components/advanced/MarkdownEditor/index.js +2 -2
  121. package/dist/components/advanced/RichTextEditor/index.js +2 -2
  122. package/dist/components/advanced/index.js +16 -16
  123. package/dist/components/data-display/AreaChart/index.js +1 -1
  124. package/dist/components/data-display/BarChart/index.js +1 -1
  125. package/dist/components/data-display/Carousel/index.js +4 -4
  126. package/dist/components/data-display/ChartCard/index.js +2 -2
  127. package/dist/components/data-display/DashboardFilterbar/index.js +5 -5
  128. package/dist/components/data-display/DataTable/FilterBuilder/index.js +4 -4
  129. package/dist/components/data-display/DataTable/index.js +7 -7
  130. package/dist/components/data-display/ImageGallery/index.js +7 -7
  131. package/dist/components/data-display/KPICard/index.js +4 -4
  132. package/dist/components/data-display/Lightbox/index.js +1 -1
  133. package/dist/components/data-display/LineChart/index.js +1 -1
  134. package/dist/components/data-display/List/index.js +2 -2
  135. package/dist/components/data-display/Table/index.js +1 -1
  136. package/dist/components/data-display/VirtualTable/index.js +2 -2
  137. package/dist/components/data-display/index.js +35 -35
  138. package/dist/components/feedback/Alert/index.js +1 -1
  139. package/dist/components/feedback/AlertDialog/index.js +4 -4
  140. package/dist/components/feedback/ConfirmModal/index.js +5 -5
  141. package/dist/components/feedback/Modal/index.js +1 -1
  142. package/dist/components/feedback/index.js +9 -9
  143. package/dist/components/forms/ColorPicker/index.js +1 -1
  144. package/dist/components/forms/DatePicker/index.js +5 -5
  145. package/dist/components/forms/DateRangePicker/index.js +5 -5
  146. package/dist/components/forms/IftaLabel/index.js +1 -1
  147. package/dist/components/forms/InputGroup/index.js +4 -4
  148. package/dist/components/forms/InputOTPField/index.js +2 -2
  149. package/dist/components/forms/MultiSelect/index.js +2 -1
  150. package/dist/components/forms/RadioButton/index.js +1 -1
  151. package/dist/components/forms/Rating/index.js +1 -1
  152. package/dist/components/forms/TagsInput/index.js +2 -2
  153. package/dist/components/forms/ToggleGroup/index.js +1 -1
  154. package/dist/components/forms/index.js +28 -28
  155. package/dist/components/index.js +138 -138
  156. package/dist/components/layout/index.js +3 -3
  157. package/dist/components/navigation/AccountSwitch/index.js +3 -3
  158. package/dist/components/navigation/Drawer/index.js +1 -1
  159. package/dist/components/navigation/DropdownMenu/index.js +1 -1
  160. package/dist/components/navigation/Header/index.js +1 -1
  161. package/dist/components/navigation/MobileSidebar/index.js +4 -4
  162. package/dist/components/navigation/Pagination/index.js +4 -4
  163. package/dist/components/navigation/Sidebar/index.js +5 -5
  164. package/dist/components/navigation/UserProfileDropdown/index.js +1 -1
  165. package/dist/components/navigation/WorkspaceDropdown/index.js +1 -1
  166. package/dist/components/navigation/index.js +15 -15
  167. package/dist/components/primitives/AspectRatio/index.js +1 -1
  168. package/dist/components/primitives/Badge/index.js +1 -1
  169. package/dist/components/primitives/Button/index.js +3 -3
  170. package/dist/components/primitives/ConfirmButton/index.js +5 -5
  171. package/dist/components/primitives/ProgressBar/index.js +1 -1
  172. package/dist/components/primitives/SplitButton/index.js +2 -2
  173. package/dist/components/primitives/StatusIndicator/index.js +1 -1
  174. package/dist/components/primitives/Tag/index.js +1 -1
  175. package/dist/components/primitives/Toggle/index.js +1 -1
  176. package/dist/components/primitives/index.js +18 -18
  177. package/dist/components/workflow/ApprovalFlow/index.js +4 -4
  178. package/dist/components/workflow/CommentSystem/index.js +4 -4
  179. package/dist/components/workflow/Dashboard/index.js +4 -4
  180. package/dist/components/workflow/DashboardBuilder/index.js +4 -4
  181. package/dist/components/workflow/KanbanBoard/index.js +4 -4
  182. package/dist/components/workflow/ReportGenerator/index.js +4 -4
  183. package/dist/components/workflow/TaskStatus/index.js +2 -2
  184. package/dist/components/workflow/Wizard/index.js +4 -4
  185. package/dist/components/workflow/index.js +15 -15
  186. package/dist/index.d.ts +156 -50
  187. package/dist/index.js +140 -140
  188. package/dist/styles.css +23 -0
  189. package/package.json +2 -2
  190. package/dist/chunk-23BHD62H.js.map +0 -1
  191. package/dist/chunk-2UGDLAYC.js.map +0 -1
  192. package/dist/chunk-33JGPMUW.js.map +0 -1
  193. package/dist/chunk-3WOGOTOV.js.map +0 -1
  194. package/dist/chunk-4MQNDQ4O.js.map +0 -1
  195. package/dist/chunk-65YSTUD2.js.map +0 -1
  196. package/dist/chunk-FSMHI7DW.js.map +0 -1
  197. package/dist/chunk-GAP3OZR7.js +0 -223
  198. package/dist/chunk-GAP3OZR7.js.map +0 -1
  199. package/dist/chunk-HKXQLWGR.js.map +0 -1
  200. package/dist/chunk-IBVCSZCH.js.map +0 -1
  201. package/dist/chunk-ICAQYWCX.js +0 -153
  202. package/dist/chunk-ICAQYWCX.js.map +0 -1
  203. package/dist/chunk-IRKDMISK.js.map +0 -1
  204. package/dist/chunk-J62TFQHR.js.map +0 -1
  205. package/dist/chunk-KPNNSUXM.js.map +0 -1
  206. package/dist/chunk-KR3IVNQH.js.map +0 -1
  207. package/dist/chunk-OWIFNJXZ.js.map +0 -1
  208. package/dist/chunk-PLLJNHWU.js.map +0 -1
  209. package/dist/chunk-R4UOT76L.js.map +0 -1
  210. package/dist/chunk-SHS6EGWS.js +0 -226
  211. package/dist/chunk-SHS6EGWS.js.map +0 -1
  212. package/dist/chunk-TNROOKX3.js.map +0 -1
  213. package/dist/chunk-UFRMZ3M6.js.map +0 -1
  214. package/dist/chunk-VFALJSXB.js.map +0 -1
  215. package/dist/chunk-VPNFYQBL.js.map +0 -1
  216. package/dist/chunk-XD5LE64P.js +0 -311
  217. package/dist/chunk-XD5LE64P.js.map +0 -1
  218. package/dist/chunk-XV6NXXXP.js +0 -206
  219. package/dist/chunk-XV6NXXXP.js.map +0 -1
  220. package/dist/chunk-YWA63YN3.js.map +0 -1
  221. package/dist/chunk-Z3FL7LEK.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/advanced/MarkdownEditor/MarkdownEditor.variants.ts","../src/components/advanced/MarkdownEditor/MarkdownEditor.tsx"],"names":[],"mappings":"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","file":"chunk-FYJHWYPM.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const markdownEditorVariants = cva(\n \"bg-background text-foreground border rounded-md overflow-hidden\",\n {\n variants: {\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport const markdownToolbarVariants = cva(\n \"bg-muted flex flex-wrap items-center gap-1 border-b p-1\",\n {\n variants: {\n position: {\n top: \"rounded-t-md\",\n bottom: \"rounded-b-md border-t border-b-0\",\n },\n },\n defaultVariants: {\n position: \"top\",\n },\n }\n)\n\nexport const markdownEditorAreaVariants = cva(\n \"font-mono text-sm resize-none bg-background p-4 focus:outline-none w-full\",\n {\n variants: {\n disabled: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport const markdownPreviewVariants = cva(\n \"prose prose-sm dark:prose-invert max-w-none p-4 bg-muted/50 overflow-auto\",\n {\n variants: {\n mode: {\n split: \"flex-1\",\n tabs: \"\",\n preview: \"\",\n },\n },\n defaultVariants: {\n mode: \"tabs\",\n },\n }\n)\n","\"use client\"\n\nimport type {\n MarkdownEditorProps,\n MarkdownEditorRef,\n MarkdownHelpProps,\n MarkdownPreviewProps,\n MarkdownToolbarProps,\n} from \"./MarkdownEditor.types\"\n\nimport {\n BoldIcon,\n CodeIcon,\n Heading1Icon,\n Heading2Icon,\n Heading3Icon,\n HelpCircleIcon,\n ImageIcon,\n ItalicIcon,\n LinkIcon,\n ListIcon,\n ListOrderedIcon,\n ListTodoIcon,\n QuoteIcon,\n StrikethroughIcon,\n} from \"lucide-react\"\nimport { marked } from \"marked\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../../feedback/Dialog\"\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../navigation/Tabs\"\nimport { Divider } from \"../../primitives/Divider\"\nimport { Toggle } from \"../../primitives/Toggle\"\nimport {\n markdownEditorAreaVariants,\n markdownEditorVariants,\n markdownPreviewVariants,\n markdownToolbarVariants,\n} from \"./MarkdownEditor.variants\"\n\n// Configure marked for security\nmarked.setOptions({\n breaks: true,\n gfm: true,\n})\n\n/**\n * MarkdownHelp - Modal with markdown syntax reference\n */\nfunction MarkdownHelp({ open, onOpenChange }: MarkdownHelpProps) {\n const syntaxExamples = [\n { syntax: \"**bold**\", description: \"Bold text\" },\n { syntax: \"*italic*\", description: \"Italic text\" },\n { syntax: \"~~strikethrough~~\", description: \"Strikethrough\" },\n { syntax: \"# Heading 1\", description: \"Large heading\" },\n { syntax: \"## Heading 2\", description: \"Medium heading\" },\n { syntax: \"### Heading 3\", description: \"Small heading\" },\n { syntax: \"[link](url)\", description: \"Hyperlink\" },\n { syntax: \"![alt](url)\", description: \"Image\" },\n { syntax: \"> quote\", description: \"Blockquote\" },\n { syntax: \"`code`\", description: \"Inline code\" },\n { syntax: \"```code block```\", description: \"Code block\" },\n { syntax: \"- item\", description: \"Unordered list\" },\n { syntax: \"1. item\", description: \"Ordered list\" },\n { syntax: \"- [ ] task\", description: \"Task list\" },\n ]\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Markdown Syntax</DialogTitle>\n <DialogDescription>\n Quick reference for markdown formatting\n </DialogDescription>\n </DialogHeader>\n <div className=\"grid grid-cols-2 gap-2 text-sm\">\n {syntaxExamples.map(({ syntax, description }) => (\n <div key={syntax} className=\"flex items-center gap-2\">\n <code className=\"bg-muted rounded px-1.5 py-0.5 font-mono text-xs\">\n {syntax}\n </code>\n <span className=\"text-muted-foreground\">{description}</span>\n </div>\n ))}\n </div>\n </DialogContent>\n </Dialog>\n )\n}\n\n/**\n * MarkdownPreview - Renders markdown content as HTML\n */\nfunction MarkdownPreview({ content, className }: MarkdownPreviewProps) {\n const html = React.useMemo(() => {\n if (!content) return \"\"\n return marked.parse(content) as string\n }, [content])\n\n return (\n <div\n className={cn(markdownPreviewVariants(), className)}\n // eslint-disable-next-line @eslint-react/dom/no-dangerously-set-innerhtml -- required for markdown rendering\n dangerouslySetInnerHTML={{ __html: html }}\n data-slot=\"markdown-preview\"\n />\n )\n}\n\n/**\n * MarkdownToolbar - Formatting toolbar for the editor\n */\nfunction MarkdownToolbar({\n className,\n disabled = false,\n editorRef,\n showHelp = true,\n onHelpClick,\n}: MarkdownToolbarProps) {\n const handleAction = React.useCallback(\n (before: string, after: string) => {\n if (disabled || !editorRef.current) return\n editorRef.current.wrapSelection(before, after)\n },\n [disabled, editorRef]\n )\n\n const handleInsert = React.useCallback(\n (text: string) => {\n if (disabled || !editorRef.current) return\n editorRef.current.insertText(text)\n },\n [disabled, editorRef]\n )\n\n return (\n <div\n aria-label=\"Markdown formatting\"\n className={cn(markdownToolbarVariants(), className)}\n data-slot=\"markdown-toolbar\"\n role=\"toolbar\"\n >\n {/* Text formatting */}\n <Toggle\n aria-label=\"Bold (Ctrl+B)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"**\", \"**\"); }}\n >\n <BoldIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Italic (Ctrl+I)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"*\", \"*\"); }}\n >\n <ItalicIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Strikethrough\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"~~\", \"~~\"); }}\n >\n <StrikethroughIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Inline code (Ctrl+E)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"`\", \"`\"); }}\n >\n <CodeIcon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Headings */}\n <Toggle\n aria-label=\"Heading 1\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"# \"); }}\n >\n <Heading1Icon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Heading 2\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"## \"); }}\n >\n <Heading2Icon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Heading 3\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"### \"); }}\n >\n <Heading3Icon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Lists */}\n <Toggle\n aria-label=\"Bullet list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"- \"); }}\n >\n <ListIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Numbered list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"1. \"); }}\n >\n <ListOrderedIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Task list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"- [ ] \"); }}\n >\n <ListTodoIcon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Blocks */}\n <Toggle\n aria-label=\"Quote\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"> \"); }}\n >\n <QuoteIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Link (Ctrl+K)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"[\", \"](url)\"); }}\n >\n <LinkIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Image\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"![\", \"](url)\"); }}\n >\n <ImageIcon className=\"size-4\" />\n </Toggle>\n\n {showHelp && (\n <>\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n <Toggle\n aria-label=\"Markdown help\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={onHelpClick}\n >\n <HelpCircleIcon className=\"size-4\" />\n </Toggle>\n </>\n )}\n </div>\n )\n}\n\n/**\n * MarkdownEditor - A markdown editor with toolbar and preview.\n *\n * Supports tabs mode (switch between editor/preview), split mode (side by side),\n * or standalone editor/preview modes.\n *\n * @example\n * ```tsx\n * const [content, setContent] = useState(\"\")\n *\n * <MarkdownEditor\n * value={content}\n * onChange={setContent}\n * placeholder=\"Write something...\"\n * />\n * ```\n */\nfunction MarkdownEditor({\n \"aria-describedby\": ariaDescribedBy,\n \"aria-label\": ariaLabel = \"Markdown editor\",\n allowImages: _allowImages = true,\n className,\n defaultValue = \"\",\n disabled = false,\n maxHeight,\n minHeight = \"200px\",\n mode = \"tabs\",\n onBlur,\n onChange,\n onFocus,\n onImageUpload: _onImageUpload,\n placeholder = \"Write markdown...\",\n readOnly = false,\n ref,\n showHelp = true,\n showToolbar = true,\n toolbar: _toolbar,\n value,\n}: MarkdownEditorProps & { ref?: React.Ref<MarkdownEditorRef> }) {\n const textareaRef = React.useRef<HTMLTextAreaElement>(null)\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const [showHelpModal, setShowHelpModal] = React.useState(false)\n\n // Controlled vs uncontrolled value\n const currentValue = value ?? internalValue\n\n // Create stable ref for internal use (toolbar, etc.)\n const editorRef = React.useRef<MarkdownEditorRef | null>(null)\n\n // Expose ref methods - using useImperativeHandle directly for immediate availability\n React.useImperativeHandle(\n ref,\n () => {\n const methods: MarkdownEditorRef = {\n blur: () => textareaRef.current?.blur(),\n focus: () => textareaRef.current?.focus(),\n getSelection: () => {\n const textarea = textareaRef.current\n if (!textarea) return { start: 0, end: 0, text: \"\" }\n return {\n end: textarea.selectionEnd,\n start: textarea.selectionStart,\n text: textarea.value.substring(\n textarea.selectionStart,\n textarea.selectionEnd\n ),\n }\n },\n getValue: () => textareaRef.current?.value ?? \"\",\n insertText: (text: string) => {\n const textarea = textareaRef.current\n if (!textarea) return\n\n const start = textarea.selectionStart\n const end = textarea.selectionEnd\n const newValue =\n currentValue.slice(0, start) + text + currentValue.slice(end)\n\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Restore cursor position\n requestAnimationFrame(() => {\n textarea.selectionStart = start + text.length\n textarea.selectionEnd = start + text.length\n textarea.focus()\n })\n },\n setValue: (newValue: string) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n wrapSelection: (before: string, after: string) => {\n const textarea = textareaRef.current\n if (!textarea) return\n\n const start = textarea.selectionStart\n const end = textarea.selectionEnd\n const selectedText = currentValue.substring(start, end)\n const newText = before + selectedText + after\n const newValue =\n currentValue.slice(0, start) + newText + currentValue.slice(end)\n\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Select the wrapped text\n requestAnimationFrame(() => {\n textarea.selectionStart = start + before.length\n textarea.selectionEnd = start + before.length + selectedText.length\n textarea.focus()\n })\n },\n }\n // Also update internal ref for toolbar use\n editorRef.current = methods\n return methods\n },\n [currentValue, onChange, value]\n )\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = e.target.value\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [onChange, value]\n )\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (disabled || readOnly) return\n\n const isMod = e.metaKey || e.ctrlKey\n\n if (isMod && e.key === \"b\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"**\", \"**\")\n } else if (isMod && e.key === \"i\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"*\", \"*\")\n } else if (isMod && e.key === \"k\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"[\", \"](url)\")\n } else if (isMod && e.key === \"e\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"`\", \"`\")\n }\n },\n [disabled, readOnly]\n )\n\n const isDisabled = disabled || readOnly\n\n const editorStyle: React.CSSProperties = {\n maxHeight,\n minHeight,\n }\n\n const renderEditor = () => (\n <textarea\n ref={textareaRef}\n aria-describedby={ariaDescribedBy}\n aria-label={ariaLabel}\n aria-multiline=\"true\"\n className={cn(markdownEditorAreaVariants({ disabled: isDisabled }))}\n disabled={disabled}\n placeholder={placeholder}\n readOnly={readOnly}\n role=\"textbox\"\n style={editorStyle}\n value={currentValue}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n />\n )\n\n const renderPreview = () => (\n <MarkdownPreview\n className={mode === \"split\" ? \"flex-1\" : undefined}\n content={currentValue}\n />\n )\n\n const renderContent = () => {\n switch (mode) {\n case \"editor\":\n return renderEditor()\n\n case \"preview\":\n return renderPreview()\n\n case \"split\":\n return (\n <div className=\"flex flex-1\">\n <div className=\"flex-1 overflow-auto border-r\" style={editorStyle}>\n {renderEditor()}\n </div>\n <div className=\"flex-1 overflow-auto\" style={editorStyle}>\n {renderPreview()}\n </div>\n </div>\n )\n\n case \"tabs\":\n default:\n return (\n <Tabs className=\"flex-1\" defaultValue=\"editor\">\n <TabsList className=\"mx-2 mt-2\">\n <TabsTrigger value=\"editor\">Editor</TabsTrigger>\n <TabsTrigger value=\"preview\">Preview</TabsTrigger>\n </TabsList>\n <TabsContent className=\"mt-0\" value=\"editor\">\n {renderEditor()}\n </TabsContent>\n <TabsContent className=\"mt-0\" value=\"preview\">\n {renderPreview()}\n </TabsContent>\n </Tabs>\n )\n }\n }\n\n return (\n <>\n <div\n className={cn(markdownEditorVariants({ disabled }), className)}\n data-slot=\"markdown-editor\"\n >\n {showToolbar && mode !== \"preview\" && (\n <MarkdownToolbar\n disabled={isDisabled}\n editorRef={editorRef as React.RefObject<MarkdownEditorRef>}\n showHelp={showHelp}\n onHelpClick={() => { setShowHelpModal(true); }}\n />\n )}\n {renderContent()}\n </div>\n\n <MarkdownHelp open={showHelpModal} onOpenChange={setShowHelpModal} />\n </>\n )\n}\n\nexport { MarkdownEditor, MarkdownHelp, MarkdownPreview, MarkdownToolbar }\n"]}
1
+ {"version":3,"sources":["../src/components/advanced/MarkdownEditor/MarkdownEditor.variants.ts","../src/components/advanced/MarkdownEditor/MarkdownEditor.tsx"],"names":[],"mappings":"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","file":"chunk-S524YVMO.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\nexport const markdownEditorVariants = cva(\n \"bg-background text-foreground border rounded-md overflow-hidden\",\n {\n variants: {\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport const markdownToolbarVariants = cva(\n \"bg-muted flex flex-wrap items-center gap-1 border-b p-1\",\n {\n variants: {\n position: {\n top: \"rounded-t-md\",\n bottom: \"rounded-b-md border-t border-b-0\",\n },\n },\n defaultVariants: {\n position: \"top\",\n },\n }\n)\n\nexport const markdownEditorAreaVariants = cva(\n \"font-mono text-sm resize-none bg-background p-4 focus:outline-none w-full\",\n {\n variants: {\n disabled: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport const markdownPreviewVariants = cva(\n \"prose prose-sm dark:prose-invert max-w-none p-4 bg-muted/50 overflow-auto\",\n {\n variants: {\n mode: {\n split: \"flex-1\",\n tabs: \"\",\n preview: \"\",\n },\n },\n defaultVariants: {\n mode: \"tabs\",\n },\n }\n)\n","\"use client\"\n\nimport type {\n MarkdownEditorProps,\n MarkdownEditorRef,\n MarkdownHelpProps,\n MarkdownPreviewProps,\n MarkdownToolbarProps,\n} from \"./MarkdownEditor.types\"\n\nimport {\n BoldIcon,\n CodeIcon,\n Heading1Icon,\n Heading2Icon,\n Heading3Icon,\n HelpCircleIcon,\n ImageIcon,\n ItalicIcon,\n LinkIcon,\n ListIcon,\n ListOrderedIcon,\n ListTodoIcon,\n QuoteIcon,\n StrikethroughIcon,\n} from \"lucide-react\"\nimport { marked } from \"marked\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../../feedback/Dialog\"\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../navigation/Tabs\"\nimport { Divider } from \"../../primitives/Divider\"\nimport { Toggle } from \"../../primitives/Toggle\"\nimport {\n markdownEditorAreaVariants,\n markdownEditorVariants,\n markdownPreviewVariants,\n markdownToolbarVariants,\n} from \"./MarkdownEditor.variants\"\n\n// Configure marked for security\nmarked.setOptions({\n breaks: true,\n gfm: true,\n})\n\n/**\n * MarkdownHelp - Modal with markdown syntax reference\n */\nfunction MarkdownHelp({ open, onOpenChange }: MarkdownHelpProps) {\n const syntaxExamples = [\n { syntax: \"**bold**\", description: \"Bold text\" },\n { syntax: \"*italic*\", description: \"Italic text\" },\n { syntax: \"~~strikethrough~~\", description: \"Strikethrough\" },\n { syntax: \"# Heading 1\", description: \"Large heading\" },\n { syntax: \"## Heading 2\", description: \"Medium heading\" },\n { syntax: \"### Heading 3\", description: \"Small heading\" },\n { syntax: \"[link](url)\", description: \"Hyperlink\" },\n { syntax: \"![alt](url)\", description: \"Image\" },\n { syntax: \"> quote\", description: \"Blockquote\" },\n { syntax: \"`code`\", description: \"Inline code\" },\n { syntax: \"```code block```\", description: \"Code block\" },\n { syntax: \"- item\", description: \"Unordered list\" },\n { syntax: \"1. item\", description: \"Ordered list\" },\n { syntax: \"- [ ] task\", description: \"Task list\" },\n ]\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Markdown Syntax</DialogTitle>\n <DialogDescription>\n Quick reference for markdown formatting\n </DialogDescription>\n </DialogHeader>\n <div className=\"grid grid-cols-2 gap-2 text-sm\">\n {syntaxExamples.map(({ syntax, description }) => (\n <div key={syntax} className=\"flex items-center gap-2\">\n <code className=\"bg-muted rounded px-1.5 py-0.5 font-mono text-xs\">\n {syntax}\n </code>\n <span className=\"text-muted-foreground\">{description}</span>\n </div>\n ))}\n </div>\n </DialogContent>\n </Dialog>\n )\n}\n\n/**\n * MarkdownPreview - Renders markdown content as HTML\n */\nfunction MarkdownPreview({ content, className }: MarkdownPreviewProps) {\n const html = React.useMemo(() => {\n if (!content) return \"\"\n return marked.parse(content) as string\n }, [content])\n\n return (\n <div\n className={cn(markdownPreviewVariants(), className)}\n // eslint-disable-next-line @eslint-react/dom/no-dangerously-set-innerhtml -- required for markdown rendering\n dangerouslySetInnerHTML={{ __html: html }}\n data-slot=\"markdown-preview\"\n />\n )\n}\n\n/**\n * MarkdownToolbar - Formatting toolbar for the editor\n */\nfunction MarkdownToolbar({\n className,\n disabled = false,\n editorRef,\n showHelp = true,\n onHelpClick,\n}: MarkdownToolbarProps) {\n const handleAction = React.useCallback(\n (before: string, after: string) => {\n if (disabled || !editorRef.current) return\n editorRef.current.wrapSelection(before, after)\n },\n [disabled, editorRef]\n )\n\n const handleInsert = React.useCallback(\n (text: string) => {\n if (disabled || !editorRef.current) return\n editorRef.current.insertText(text)\n },\n [disabled, editorRef]\n )\n\n return (\n <div\n aria-label=\"Markdown formatting\"\n className={cn(markdownToolbarVariants(), className)}\n data-slot=\"markdown-toolbar\"\n role=\"toolbar\"\n >\n {/* Text formatting */}\n <Toggle\n aria-label=\"Bold (Ctrl+B)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"**\", \"**\"); }}\n >\n <BoldIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Italic (Ctrl+I)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"*\", \"*\"); }}\n >\n <ItalicIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Strikethrough\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"~~\", \"~~\"); }}\n >\n <StrikethroughIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Inline code (Ctrl+E)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"`\", \"`\"); }}\n >\n <CodeIcon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Headings */}\n <Toggle\n aria-label=\"Heading 1\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"# \"); }}\n >\n <Heading1Icon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Heading 2\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"## \"); }}\n >\n <Heading2Icon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Heading 3\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"### \"); }}\n >\n <Heading3Icon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Lists */}\n <Toggle\n aria-label=\"Bullet list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"- \"); }}\n >\n <ListIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Numbered list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"1. \"); }}\n >\n <ListOrderedIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Task list\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"- [ ] \"); }}\n >\n <ListTodoIcon className=\"size-4\" />\n </Toggle>\n\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n\n {/* Blocks */}\n <Toggle\n aria-label=\"Quote\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleInsert(\"> \"); }}\n >\n <QuoteIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Link (Ctrl+K)\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"[\", \"](url)\"); }}\n >\n <LinkIcon className=\"size-4\" />\n </Toggle>\n <Toggle\n aria-label=\"Image\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={() => { handleAction(\"![\", \"](url)\"); }}\n >\n <ImageIcon className=\"size-4\" />\n </Toggle>\n\n {showHelp && (\n <>\n <Divider className=\"mx-1 h-6\" orientation=\"vertical\" />\n <Toggle\n aria-label=\"Markdown help\"\n disabled={disabled}\n pressed={false}\n size=\"sm\"\n onPressedChange={onHelpClick}\n >\n <HelpCircleIcon className=\"size-4\" />\n </Toggle>\n </>\n )}\n </div>\n )\n}\n\n/**\n * MarkdownEditor - A markdown editor with toolbar and preview.\n *\n * Supports tabs mode (switch between editor/preview), split mode (side by side),\n * or standalone editor/preview modes.\n *\n * @example\n * ```tsx\n * const [content, setContent] = useState(\"\")\n *\n * <MarkdownEditor\n * value={content}\n * onChange={setContent}\n * placeholder=\"Write something...\"\n * />\n * ```\n */\nfunction MarkdownEditor({\n \"aria-describedby\": ariaDescribedBy,\n \"aria-label\": ariaLabel = \"Markdown editor\",\n allowImages: _allowImages = true,\n className,\n defaultValue = \"\",\n disabled = false,\n maxHeight,\n minHeight = \"200px\",\n mode = \"tabs\",\n onBlur,\n onChange,\n onFocus,\n onImageUpload: _onImageUpload,\n placeholder = \"Write markdown...\",\n readOnly = false,\n ref,\n showHelp = true,\n showToolbar = true,\n toolbar: _toolbar,\n value,\n}: MarkdownEditorProps & { ref?: React.Ref<MarkdownEditorRef> }) {\n const textareaRef = React.useRef<HTMLTextAreaElement>(null)\n const [internalValue, setInternalValue] = React.useState(defaultValue)\n const [showHelpModal, setShowHelpModal] = React.useState(false)\n\n // Controlled vs uncontrolled value\n const currentValue = value ?? internalValue\n\n // Create stable ref for internal use (toolbar, etc.)\n const editorRef = React.useRef<MarkdownEditorRef | null>(null)\n\n // Expose ref methods - using useImperativeHandle directly for immediate availability\n React.useImperativeHandle(\n ref,\n () => {\n const methods: MarkdownEditorRef = {\n blur: () => textareaRef.current?.blur(),\n focus: () => textareaRef.current?.focus(),\n getSelection: () => {\n const textarea = textareaRef.current\n if (!textarea) return { start: 0, end: 0, text: \"\" }\n return {\n end: textarea.selectionEnd,\n start: textarea.selectionStart,\n text: textarea.value.substring(\n textarea.selectionStart,\n textarea.selectionEnd\n ),\n }\n },\n getValue: () => textareaRef.current?.value ?? \"\",\n insertText: (text: string) => {\n const textarea = textareaRef.current\n if (!textarea) return\n\n const start = textarea.selectionStart\n const end = textarea.selectionEnd\n const newValue =\n currentValue.slice(0, start) + text + currentValue.slice(end)\n\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Restore cursor position\n requestAnimationFrame(() => {\n textarea.selectionStart = start + text.length\n textarea.selectionEnd = start + text.length\n textarea.focus()\n })\n },\n setValue: (newValue: string) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n wrapSelection: (before: string, after: string) => {\n const textarea = textareaRef.current\n if (!textarea) return\n\n const start = textarea.selectionStart\n const end = textarea.selectionEnd\n const selectedText = currentValue.substring(start, end)\n const newText = before + selectedText + after\n const newValue =\n currentValue.slice(0, start) + newText + currentValue.slice(end)\n\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n\n // Select the wrapped text\n requestAnimationFrame(() => {\n textarea.selectionStart = start + before.length\n textarea.selectionEnd = start + before.length + selectedText.length\n textarea.focus()\n })\n },\n }\n // Also update internal ref for toolbar use\n editorRef.current = methods\n return methods\n },\n [currentValue, onChange, value]\n )\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = e.target.value\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [onChange, value]\n )\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (disabled || readOnly) return\n\n const isMod = e.metaKey || e.ctrlKey\n\n if (isMod && e.key === \"b\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"**\", \"**\")\n } else if (isMod && e.key === \"i\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"*\", \"*\")\n } else if (isMod && e.key === \"k\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"[\", \"](url)\")\n } else if (isMod && e.key === \"e\") {\n e.preventDefault()\n editorRef.current?.wrapSelection(\"`\", \"`\")\n }\n },\n [disabled, readOnly]\n )\n\n const isDisabled = disabled || readOnly\n\n const editorStyle: React.CSSProperties = {\n maxHeight,\n minHeight,\n }\n\n const renderEditor = () => (\n <textarea\n ref={textareaRef}\n aria-describedby={ariaDescribedBy}\n aria-label={ariaLabel}\n aria-multiline=\"true\"\n className={cn(markdownEditorAreaVariants({ disabled: isDisabled }))}\n disabled={disabled}\n placeholder={placeholder}\n readOnly={readOnly}\n role=\"textbox\"\n style={editorStyle}\n value={currentValue}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n />\n )\n\n const renderPreview = () => (\n <MarkdownPreview\n className={mode === \"split\" ? \"flex-1\" : undefined}\n content={currentValue}\n />\n )\n\n const renderContent = () => {\n switch (mode) {\n case \"editor\":\n return renderEditor()\n\n case \"preview\":\n return renderPreview()\n\n case \"split\":\n return (\n <div className=\"flex flex-1\">\n <div className=\"flex-1 overflow-auto border-r\" style={editorStyle}>\n {renderEditor()}\n </div>\n <div className=\"flex-1 overflow-auto\" style={editorStyle}>\n {renderPreview()}\n </div>\n </div>\n )\n\n case \"tabs\":\n default:\n return (\n <Tabs className=\"flex-1\" defaultValue=\"editor\">\n <TabsList className=\"mx-2 mt-2\">\n <TabsTrigger value=\"editor\">Editor</TabsTrigger>\n <TabsTrigger value=\"preview\">Preview</TabsTrigger>\n </TabsList>\n <TabsContent className=\"mt-0\" value=\"editor\">\n {renderEditor()}\n </TabsContent>\n <TabsContent className=\"mt-0\" value=\"preview\">\n {renderPreview()}\n </TabsContent>\n </Tabs>\n )\n }\n }\n\n return (\n <>\n <div\n className={cn(markdownEditorVariants({ disabled }), className)}\n data-slot=\"markdown-editor\"\n >\n {showToolbar && mode !== \"preview\" && (\n <MarkdownToolbar\n disabled={isDisabled}\n editorRef={editorRef as React.RefObject<MarkdownEditorRef>}\n showHelp={showHelp}\n onHelpClick={() => { setShowHelpModal(true); }}\n />\n )}\n {renderContent()}\n </div>\n\n <MarkdownHelp open={showHelpModal} onOpenChange={setShowHelpModal} />\n </>\n )\n}\n\nexport { MarkdownEditor, MarkdownHelp, MarkdownPreview, MarkdownToolbar }\n"]}
@@ -73,7 +73,7 @@ function StatusIndicator({
73
73
  const defaultAriaLabel = `Status: ${variant ?? "neutral"}`;
74
74
  const accessibleLabel = ariaLabel ?? (label ? void 0 : defaultAriaLabel);
75
75
  const isBar = shape === "bar-vertical" || shape === "bar-horizontal";
76
- const isProd = typeof process !== "undefined" && process.env["NODE_ENV"] === "production";
76
+ const isProd = typeof process !== "undefined" && process.env.NODE_ENV === "production";
77
77
  if (isBar && label && !isProd) {
78
78
  console.warn(
79
79
  `<StatusIndicator shape="${shape}"> ignores the \`label\` prop. Use shape="dot" to combine with label, or move the label to surrounding context.`
@@ -163,5 +163,5 @@ function StatusIndicator({
163
163
  }
164
164
 
165
165
  export { StatusIndicator, statusIndicatorVariants };
166
- //# sourceMappingURL=chunk-OWIFNJXZ.js.map
167
- //# sourceMappingURL=chunk-OWIFNJXZ.js.map
166
+ //# sourceMappingURL=chunk-S7TVRVRU.js.map
167
+ //# sourceMappingURL=chunk-S7TVRVRU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/StatusIndicator/StatusIndicator.variants.ts","../src/components/primitives/StatusIndicator/StatusIndicator.tsx"],"names":[],"mappings":"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","file":"chunk-S7TVRVRU.js","sourcesContent":["// StatusIndicator/StatusIndicator.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n// Extracted to satisfy sonarjs/no-duplicate-string — each appears multiple times in compoundVariants.\nconst FULL_H = \"h-full\"\nconst FULL_W = \"w-full\"\nconst SHAPE_BAR_V = \"bar-vertical\" as const\nconst SHAPE_BAR_H = \"bar-horizontal\" as const\n\n/**\n * StatusIndicator style variants using CVA\n *\n * @see https://cva.style/docs\n */\nexport const statusIndicatorVariants = cva(\"shrink-0\", {\n variants: {\n variant: {\n success: \"bg-[color:var(--status-indicator-dot-color-success)]\",\n warning: \"bg-[color:var(--status-indicator-dot-color-warning)]\",\n error: \"bg-[color:var(--status-indicator-dot-color-error)]\",\n destructive: \"bg-[color:var(--status-indicator-dot-color-destructive)]\",\n info: \"bg-[color:var(--status-indicator-dot-color-info)]\",\n neutral: \"bg-[color:var(--status-indicator-dot-color-neutral)]\",\n },\n shape: {\n dot: \"rounded-[var(--status-indicator-root-border-radius)]\",\n \"bar-vertical\": \"rounded-xs\",\n \"bar-horizontal\": \"rounded-xs\",\n },\n size: {\n xs: \"\",\n sm: \"\",\n default: \"\",\n lg: \"\",\n xl: \"\",\n \"2xl\": \"\",\n },\n },\n compoundVariants: [\n // Dot — uses size for both dimensions\n { shape: \"dot\", size: \"xs\", className: \"size-[var(--status-indicator-dot-size-xs)]\" },\n { shape: \"dot\", size: \"sm\", className: \"size-[var(--status-indicator-dot-size-sm)]\" },\n { shape: \"dot\", size: \"default\", className: \"size-[var(--status-indicator-dot-size-default)]\" },\n { shape: \"dot\", size: \"lg\", className: \"size-[var(--status-indicator-dot-size-lg)]\" },\n { shape: \"dot\", size: \"xl\", className: \"size-[var(--status-indicator-dot-size-xl)]\" },\n { shape: \"dot\", size: \"2xl\", className: \"size-[var(--status-indicator-dot-size-2xl)]\" },\n // Bar-vertical — width is secondary dim (size controls it); height 100% (FULL_H constant below)\n { shape: SHAPE_BAR_V, size: \"xs\", className: `${FULL_H} w-px` },\n { shape: SHAPE_BAR_V, size: \"sm\", className: `${FULL_H} w-[2px]` },\n { shape: SHAPE_BAR_V, size: \"default\", className: `${FULL_H} w-[2px]` },\n { shape: SHAPE_BAR_V, size: \"lg\", className: `${FULL_H} w-[3px]` },\n { shape: SHAPE_BAR_V, size: \"xl\", className: `${FULL_H} w-[4px]` },\n { shape: SHAPE_BAR_V, size: \"2xl\", className: `${FULL_H} w-[6px]` },\n // Bar-horizontal — height is secondary dim; width 100% (FULL_W constant below)\n { shape: SHAPE_BAR_H, size: \"xs\", className: `${FULL_W} h-px` },\n { shape: SHAPE_BAR_H, size: \"sm\", className: `${FULL_W} h-[2px]` },\n { shape: SHAPE_BAR_H, size: \"default\", className: `${FULL_W} h-[2px]` },\n { shape: SHAPE_BAR_H, size: \"lg\", className: `${FULL_W} h-[3px]` },\n { shape: SHAPE_BAR_H, size: \"xl\", className: `${FULL_W} h-[4px]` },\n { shape: SHAPE_BAR_H, size: \"2xl\", className: `${FULL_W} h-[6px]` },\n ],\n defaultVariants: {\n variant: \"neutral\",\n shape: \"dot\",\n size: \"default\",\n },\n})\n\n// Export variant prop types\nexport type StatusIndicatorVariantProps = VariantProps<typeof statusIndicatorVariants>\n","\"use client\"\n\nimport type { StatusIndicatorProps } from \"./StatusIndicator.types\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { statusIndicatorVariants } from \"./StatusIndicator.variants\"\n\nfunction StatusIndicator({\n className,\n variant,\n shape = \"dot\",\n size,\n pulse = false,\n label,\n labelPosition = \"right\",\n \"aria-label\": ariaLabel,\n ...props\n}: StatusIndicatorProps) {\n // Generate accessible label based on variant if not provided\n const defaultAriaLabel = `Status: ${variant ?? \"neutral\"}`\n const accessibleLabel = ariaLabel ?? (label ? undefined : defaultAriaLabel)\n\n // Bar shapes ignore `label` — they're purely visual (warning in dev when misused).\n const isBar = shape === \"bar-vertical\" || shape === \"bar-horizontal\"\n \n // `typeof process` guard is required so the library runs in browser bundlers (Vite, etc.) where `process` is not defined globally — without it, the dev-only warning branch throws `ReferenceError: process is not defined`.\n const isProd =\n typeof process !== \"undefined\" && process.env.NODE_ENV === \"production\"\n if (isBar && label && !isProd) {\n \n console.warn(\n `<StatusIndicator shape=\"${shape}\"> ignores the \\`label\\` prop. Use shape=\"dot\" to combine with label, or move the label to surrounding context.`,\n )\n }\n\n // Bar shape — render the bar alone (no label, no inline-flex wrapper).\n if (isBar) {\n return (\n <span\n className={cn(\n statusIndicatorVariants({ variant, shape, size }),\n pulse && \"animate-pulse\",\n className,\n )}\n aria-label={accessibleLabel}\n data-shape={shape}\n data-slot=\"status-indicator\"\n data-variant={variant ?? \"neutral\"}\n role=\"status\"\n {...props}\n />\n )\n }\n\n // If no label, render just the dot\n if (!label) {\n return (\n <span\n className={cn(\n statusIndicatorVariants({ variant, shape: \"dot\", size }),\n pulse && \"animate-pulse\",\n className\n )}\n aria-label={accessibleLabel}\n data-shape=\"dot\"\n data-slot=\"status-indicator\"\n data-variant={variant ?? \"neutral\"}\n role=\"status\"\n {...props}\n >\n <span\n className=\"sr-only\"\n data-slot=\"status-indicator-dot\"\n >\n {variant ?? \"neutral\"}\n </span>\n </span>\n )\n }\n\n // With label, render inline-flex container\n return (\n <span\n className={cn(\n \"inline-flex shrink-0 items-center gap-[var(--status-indicator-label-gap)]\",\n labelPosition === \"left\" && \"flex-row-reverse\",\n className\n )}\n aria-label={accessibleLabel}\n data-shape=\"dot\"\n data-slot=\"status-indicator\"\n data-variant={variant ?? \"neutral\"}\n role=\"status\"\n {...props}\n >\n <span\n className={cn(\n statusIndicatorVariants({ variant, shape: \"dot\", size }),\n pulse && \"animate-pulse\"\n )}\n aria-hidden=\"true\"\n data-slot=\"status-indicator-dot\"\n />\n <span\n className=\"text-[length:var(--status-indicator-label-font-size)] leading-normal text-[color:var(--status-indicator-label-color)]\"\n data-slot=\"status-indicator-label\"\n >\n {label}\n </span>\n </span>\n )\n}\n\nexport { StatusIndicator }\nexport { statusIndicatorVariants } from \"./StatusIndicator.variants\"\n"]}
@@ -14,6 +14,7 @@ var legacyVariantMap = {
14
14
  };
15
15
  var dotColorMap = {
16
16
  primary: "bg-primary-foreground",
17
+ secondary: "bg-secondary-foreground",
17
18
  destructive: "bg-white",
18
19
  warning: "bg-warning-foreground",
19
20
  success: "bg-success-foreground",
@@ -30,6 +31,7 @@ var dotColorMap = {
30
31
  };
31
32
  var dismissColorMap = {
32
33
  primary: "text-primary-foreground hover:bg-primary-foreground/20",
34
+ secondary: "text-secondary-foreground hover:bg-secondary-foreground/20",
33
35
  destructive: "text-white hover:bg-white/20",
34
36
  warning: "text-warning-foreground hover:bg-warning-foreground/20",
35
37
  success: "text-success-foreground hover:bg-success-foreground/20",
@@ -57,6 +59,7 @@ var badgeVariants = cva(
57
59
  },
58
60
  color: {
59
61
  primary: "",
62
+ secondary: "",
60
63
  destructive: "",
61
64
  warning: "",
62
65
  success: "",
@@ -82,6 +85,7 @@ var badgeVariants = cva(
82
85
  // PILL-COLOR VARIANTS
83
86
  // ========================================
84
87
  { type: "pill-color", color: "primary", className: "bg-[color:var(--badge-color-primary-bg)] text-[color:var(--badge-color-primary-fg)]" },
88
+ { type: "pill-color", color: "secondary", className: "bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]" },
85
89
  { type: "pill-color", color: "destructive", className: "bg-[color:var(--badge-color-destructive-bg)] text-[color:var(--badge-color-destructive-fg)]" },
86
90
  { type: "pill-color", color: "warning", className: "bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]" },
87
91
  { type: "pill-color", color: "success", className: "bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]" },
@@ -99,6 +103,7 @@ var badgeVariants = cva(
99
103
  // PILL-OUTLINE VARIANTS
100
104
  // ========================================
101
105
  { type: "pill-outline", color: "primary", className: "border-primary text-primary" },
106
+ { type: "pill-outline", color: "secondary", className: "border-secondary text-secondary" },
102
107
  { type: "pill-outline", color: "destructive", className: "border-destructive text-destructive" },
103
108
  { type: "pill-outline", color: "warning", className: "border-warning text-warning" },
104
109
  { type: "pill-outline", color: "success", className: "border-success text-success" },
@@ -116,6 +121,7 @@ var badgeVariants = cva(
116
121
  // BADGE-COLOR VARIANTS
117
122
  // ========================================
118
123
  { type: "badge-color", color: "primary", className: "bg-primary text-primary-foreground" },
124
+ { type: "badge-color", color: "secondary", className: "bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]" },
119
125
  { type: "badge-color", color: "destructive", className: "bg-destructive text-white" },
120
126
  { type: "badge-color", color: "warning", className: "bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]" },
121
127
  { type: "badge-color", color: "success", className: "bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]" },
@@ -133,6 +139,7 @@ var badgeVariants = cva(
133
139
  // BADGE-OUTLINE VARIANTS
134
140
  // ========================================
135
141
  { type: "badge-outline", color: "primary", className: "border-primary text-primary" },
142
+ { type: "badge-outline", color: "secondary", className: "border-secondary text-secondary" },
136
143
  { type: "badge-outline", color: "destructive", className: "border-destructive text-destructive" },
137
144
  { type: "badge-outline", color: "warning", className: "border-warning text-warning" },
138
145
  { type: "badge-outline", color: "success", className: "border-success text-success" },
@@ -150,6 +157,7 @@ var badgeVariants = cva(
150
157
  // BADGE-MODERN VARIANTS (with left accent)
151
158
  // ========================================
152
159
  { type: "badge-modern", color: "primary", className: "bg-primary/10 text-primary border-l-primary" },
160
+ { type: "badge-modern", color: "secondary", className: "bg-secondary/10 text-secondary border-l-secondary" },
153
161
  { type: "badge-modern", color: "destructive", className: "bg-destructive/10 text-destructive border-l-destructive" },
154
162
  { type: "badge-modern", color: "warning", className: "bg-warning/10 text-warning border-l-warning" },
155
163
  { type: "badge-modern", color: "success", className: "bg-success/10 text-success border-l-success" },
@@ -348,5 +356,5 @@ function Badge({
348
356
  }
349
357
 
350
358
  export { Badge, badgeVariants };
351
- //# sourceMappingURL=chunk-TNROOKX3.js.map
352
- //# sourceMappingURL=chunk-TNROOKX3.js.map
359
+ //# sourceMappingURL=chunk-UDY3IDCY.js.map
360
+ //# sourceMappingURL=chunk-UDY3IDCY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Badge/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-UDY3IDCY.js","sourcesContent":["import type { BadgeAvatarProps, BadgeColor, BadgeProps } from \"./Badge.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\n\n/* eslint-disable sonarjs/no-duplicate-string -- Badge variants require repeated color class patterns */\n\n// Legacy variant mapping for backwards compatibility\nconst legacyVariantMap: Record<string, { color: string; type: string; }> = {\n default: { type: \"pill-color\", color: \"primary\" },\n secondary: { type: \"pill-color\", color: \"muted\" },\n destructive: { type: \"pill-color\", color: \"destructive\" },\n outline: { type: \"pill-outline\", color: \"muted\" },\n}\n\n// Dot color mapping\nconst dotColorMap: Record<string, string> = {\n primary: \"bg-primary-foreground\",\n secondary: \"bg-secondary-foreground\",\n destructive: \"bg-white\",\n warning: \"bg-warning-foreground\",\n success: \"bg-success-foreground\",\n info: \"bg-white\",\n tip: \"bg-white\",\n muted: \"bg-muted-foreground\",\n \"blue-gray\": \"bg-white\",\n \"blue-light\": \"bg-white\",\n blue: \"bg-white\",\n indigo: \"bg-white\",\n purple: \"bg-white\",\n pink: \"bg-white\",\n orange: \"bg-white\",\n}\n\n// Dismiss button color mapping\nconst dismissColorMap: Record<string, string> = {\n primary: \"text-primary-foreground hover:bg-primary-foreground/20\",\n secondary: \"text-secondary-foreground hover:bg-secondary-foreground/20\",\n destructive: \"text-white hover:bg-white/20\",\n warning: \"text-warning-foreground hover:bg-warning-foreground/20\",\n success: \"text-success-foreground hover:bg-success-foreground/20\",\n info: \"text-white hover:bg-white/20\",\n tip: \"text-white hover:bg-white/20\",\n muted: \"text-muted-foreground hover:bg-muted-foreground/20\",\n \"blue-gray\": \"text-white hover:bg-white/20\",\n \"blue-light\": \"text-white hover:bg-white/20\",\n blue: \"text-white hover:bg-white/20\",\n indigo: \"text-white hover:bg-white/20\",\n purple: \"text-white hover:bg-white/20\",\n pink: \"text-white hover:bg-white/20\",\n orange: \"text-white hover:bg-white/20\",\n}\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center font-medium w-fit whitespace-nowrap shrink-0 gap-1.5 transition-[color,background-color,box-shadow,filter] overflow-hidden border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[disabled=true]:opacity-50 data-[disabled=true]:pointer-events-none\",\n {\n variants: {\n type: {\n \"pill-color\": \"rounded-[var(--badge-radius-pill)] border-transparent\",\n \"pill-outline\": \"rounded-[var(--badge-radius-pill)] bg-transparent\",\n \"badge-color\": \"rounded-[var(--badge-radius-default)] border-transparent\",\n \"badge-outline\": \"rounded-[var(--badge-radius-default)] bg-transparent\",\n \"badge-modern\": \"rounded-[var(--badge-radius-default)] border-transparent border-l-[3px] pr-2.5 pl-2 shadow-xs\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n destructive: \"\",\n warning: \"\",\n success: \"\",\n info: \"\",\n tip: \"\",\n muted: \"\",\n \"blue-gray\": \"\",\n \"blue-light\": \"\",\n blue: \"\",\n indigo: \"\",\n purple: \"\",\n pink: \"\",\n orange: \"\",\n },\n size: {\n sm: \"h-[var(--badge-size-sm-h)] px-[var(--badge-size-sm-px)] text-[length:var(--badge-size-sm-text)] [&_svg]:size-3\",\n default: \"h-[var(--badge-size-md-h)] px-[var(--badge-size-md-px)] text-[length:var(--badge-size-md-text)] [&_svg]:size-3.5\",\n lg: \"h-[var(--badge-size-lg-h)] px-[var(--badge-size-lg-px)] text-[length:var(--badge-size-lg-text)] [&_svg]:size-4\",\n },\n },\n compoundVariants: [\n // ========================================\n // PILL-COLOR VARIANTS\n // ========================================\n { type: \"pill-color\", color: \"primary\", className: \"bg-[color:var(--badge-color-primary-bg)] text-[color:var(--badge-color-primary-fg)]\" },\n { type: \"pill-color\", color: \"secondary\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n { type: \"pill-color\", color: \"destructive\", className: \"bg-[color:var(--badge-color-destructive-bg)] text-[color:var(--badge-color-destructive-fg)]\" },\n { type: \"pill-color\", color: \"warning\", className: \"bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]\" },\n { type: \"pill-color\", color: \"success\", className: \"bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]\" },\n { type: \"pill-color\", color: \"info\", className: \"bg-info text-info-foreground\" },\n { type: \"pill-color\", color: \"tip\", className: \"bg-tip text-white\" },\n { type: \"pill-color\", color: \"muted\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n { type: \"pill-color\", color: \"blue-gray\", className: \"bg-slate-500 text-white\" },\n { type: \"pill-color\", color: \"blue-light\", className: \"bg-sky-400 text-sky-950\" },\n { type: \"pill-color\", color: \"blue\", className: \"bg-blue-400 text-blue-950\" },\n { type: \"pill-color\", color: \"indigo\", className: \"bg-indigo-400 text-indigo-950\" },\n { type: \"pill-color\", color: \"purple\", className: \"bg-violet-400 text-violet-950\" },\n { type: \"pill-color\", color: \"pink\", className: \"bg-pink-400 text-pink-950\" },\n { type: \"pill-color\", color: \"orange\", className: \"bg-orange-500 text-orange-950\" },\n\n // ========================================\n // PILL-OUTLINE VARIANTS\n // ========================================\n { type: \"pill-outline\", color: \"primary\", className: \"border-primary text-primary\" },\n { type: \"pill-outline\", color: \"secondary\", className: \"border-secondary text-secondary\" },\n { type: \"pill-outline\", color: \"destructive\", className: \"border-destructive text-destructive\" },\n { type: \"pill-outline\", color: \"warning\", className: \"border-warning text-warning\" },\n { type: \"pill-outline\", color: \"success\", className: \"border-success text-success\" },\n { type: \"pill-outline\", color: \"info\", className: \"border-info text-info\" },\n { type: \"pill-outline\", color: \"tip\", className: \"border-tip text-tip\" },\n { type: \"pill-outline\", color: \"muted\", className: \"border-border text-muted-foreground\" },\n { type: \"pill-outline\", color: \"blue-gray\", className: \"border-slate-500 text-slate-500\" },\n { type: \"pill-outline\", color: \"blue-light\", className: \"border-sky-400 text-sky-400\" },\n { type: \"pill-outline\", color: \"blue\", className: \"border-blue-400 text-blue-400\" },\n { type: \"pill-outline\", color: \"indigo\", className: \"border-indigo-400 text-indigo-400\" },\n { type: \"pill-outline\", color: \"purple\", className: \"border-violet-400 text-violet-400\" },\n { type: \"pill-outline\", color: \"pink\", className: \"border-pink-400 text-pink-400\" },\n { type: \"pill-outline\", color: \"orange\", className: \"border-orange-500 text-orange-500\" },\n\n // ========================================\n // BADGE-COLOR VARIANTS\n // ========================================\n { type: \"badge-color\", color: \"primary\", className: \"bg-primary text-primary-foreground\" },\n { type: \"badge-color\", color: \"secondary\", className: \"bg-[color:var(--badge-color-secondary-bg)] text-[color:var(--badge-color-secondary-fg)]\" },\n { type: \"badge-color\", color: \"destructive\", className: \"bg-destructive text-white\" },\n { type: \"badge-color\", color: \"warning\", className: \"bg-[color:var(--badge-color-warning-bg)] text-[color:var(--badge-color-warning-fg)]\" },\n { type: \"badge-color\", color: \"success\", className: \"bg-[color:var(--badge-color-success-bg)] text-[color:var(--badge-color-success-fg)]\" },\n { type: \"badge-color\", color: \"info\", className: \"bg-info text-info-foreground\" },\n { type: \"badge-color\", color: \"tip\", className: \"bg-tip text-white\" },\n { type: \"badge-color\", color: \"muted\", className: \"bg-muted text-muted-foreground\" },\n { type: \"badge-color\", color: \"blue-gray\", className: \"bg-slate-500 text-white\" },\n { type: \"badge-color\", color: \"blue-light\", className: \"bg-sky-400 text-sky-950\" },\n { type: \"badge-color\", color: \"blue\", className: \"bg-blue-400 text-blue-950\" },\n { type: \"badge-color\", color: \"indigo\", className: \"bg-indigo-400 text-indigo-950\" },\n { type: \"badge-color\", color: \"purple\", className: \"bg-violet-400 text-violet-950\" },\n { type: \"badge-color\", color: \"pink\", className: \"bg-pink-400 text-pink-950\" },\n { type: \"badge-color\", color: \"orange\", className: \"bg-orange-500 text-orange-950\" },\n\n // ========================================\n // BADGE-OUTLINE VARIANTS\n // ========================================\n { type: \"badge-outline\", color: \"primary\", className: \"border-primary text-primary\" },\n { type: \"badge-outline\", color: \"secondary\", className: \"border-secondary text-secondary\" },\n { type: \"badge-outline\", color: \"destructive\", className: \"border-destructive text-destructive\" },\n { type: \"badge-outline\", color: \"warning\", className: \"border-warning text-warning\" },\n { type: \"badge-outline\", color: \"success\", className: \"border-success text-success\" },\n { type: \"badge-outline\", color: \"info\", className: \"border-info text-info\" },\n { type: \"badge-outline\", color: \"tip\", className: \"border-tip text-tip\" },\n { type: \"badge-outline\", color: \"muted\", className: \"border-border text-muted-foreground\" },\n { type: \"badge-outline\", color: \"blue-gray\", className: \"border-slate-500 text-slate-500\" },\n { type: \"badge-outline\", color: \"blue-light\", className: \"border-sky-400 text-sky-400\" },\n { type: \"badge-outline\", color: \"blue\", className: \"border-blue-400 text-blue-400\" },\n { type: \"badge-outline\", color: \"indigo\", className: \"border-indigo-400 text-indigo-400\" },\n { type: \"badge-outline\", color: \"purple\", className: \"border-violet-400 text-violet-400\" },\n { type: \"badge-outline\", color: \"pink\", className: \"border-pink-400 text-pink-400\" },\n { type: \"badge-outline\", color: \"orange\", className: \"border-orange-500 text-orange-500\" },\n\n // ========================================\n // BADGE-MODERN VARIANTS (with left accent)\n // ========================================\n { type: \"badge-modern\", color: \"primary\", className: \"bg-primary/10 text-primary border-l-primary\" },\n { type: \"badge-modern\", color: \"secondary\", className: \"bg-secondary/10 text-secondary border-l-secondary\" },\n { type: \"badge-modern\", color: \"destructive\", className: \"bg-destructive/10 text-destructive border-l-destructive\" },\n { type: \"badge-modern\", color: \"warning\", className: \"bg-warning/10 text-warning border-l-warning\" },\n { type: \"badge-modern\", color: \"success\", className: \"bg-success/10 text-success border-l-success\" },\n { type: \"badge-modern\", color: \"info\", className: \"bg-info/10 text-info border-l-info\" },\n { type: \"badge-modern\", color: \"tip\", className: \"bg-tip/10 text-tip border-l-tip\" },\n { type: \"badge-modern\", color: \"muted\", className: \"bg-muted text-muted-foreground border-l-muted-foreground\" },\n { type: \"badge-modern\", color: \"blue-gray\", className: \"bg-slate-500/10 text-slate-500 border-l-slate-500\" },\n { type: \"badge-modern\", color: \"blue-light\", className: \"bg-sky-400/10 text-sky-400 border-l-sky-400\" },\n { type: \"badge-modern\", color: \"blue\", className: \"bg-blue-400/10 text-blue-400 border-l-blue-400\" },\n { type: \"badge-modern\", color: \"indigo\", className: \"bg-indigo-400/10 text-indigo-400 border-l-indigo-400\" },\n { type: \"badge-modern\", color: \"purple\", className: \"bg-violet-400/10 text-violet-400 border-l-violet-400\" },\n { type: \"badge-modern\", color: \"pink\", className: \"bg-pink-400/10 text-pink-400 border-l-pink-400\" },\n { type: \"badge-modern\", color: \"orange\", className: \"bg-orange-500/10 text-orange-500 border-l-orange-500\" },\n ],\n defaultVariants: {\n type: \"pill-color\",\n color: \"primary\",\n size: \"default\",\n },\n }\n)\n\n// Internal dot component\nfunction BadgeDot({ color }: { color: BadgeColor }) {\n return (\n <span\n className={cn(\"size-1.5 rounded-full shrink-0\", dotColorMap[color] ?? dotColorMap[\"primary\"])}\n data-slot=\"badge-dot\"\n />\n )\n}\n\n// Internal dismiss button component\nfunction BadgeDismiss({ onClick, color, type, dismissLabel = \"Dismiss\" }: { color: BadgeColor; dismissLabel?: string; onClick: () => void; type: string; }) {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n e.stopPropagation()\n onClick()\n }\n }\n\n // Adapt shape based on badge type: rounded for pills, square for badges\n const isPill = type === \"pill-color\" || type === \"pill-outline\"\n const shapeClass = isPill ? \"rounded-full\" : \"rounded-sm\"\n\n return (\n <button\n className={cn(\n \"size-4 -mr-1 inline-flex items-center justify-center shrink-0 transition-colors cursor-pointer\",\n shapeClass,\n \"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\",\n dismissColorMap[color] ?? dismissColorMap[\"primary\"]\n )}\n aria-label={dismissLabel}\n data-slot=\"badge-dismiss\"\n type=\"button\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n <X className=\"size-3\" />\n </button>\n )\n}\n\n// Internal avatar component for badge\nfunction BadgeAvatar({ src, fallback, alt }: BadgeAvatarProps) {\n const [imageError, setImageError] = React.useState(false)\n\n // Get initials from fallback text\n const initials = fallback\n .split(\" \")\n .map((word) => word[0])\n .join(\"\")\n .toUpperCase()\n .slice(0, 2)\n\n return (\n <span\n className=\"size-4 -ml-1 rounded-full shrink-0 inline-flex items-center justify-center overflow-hidden bg-muted text-xs font-medium\"\n data-slot=\"badge-avatar\"\n >\n {src && !imageError ? (\n <img\n alt={alt ?? fallback}\n className=\"size-full object-cover\"\n src={src}\n onError={() => { setImageError(true); }}\n />\n ) : (\n <span aria-label={alt ?? fallback}>{initials}</span>\n )}\n </span>\n )\n}\n\n// Internal country flag component\nfunction BadgeCountry({ code }: { code: string }) {\n // Convert country code to flag emoji using regional indicator symbols\n const countryToFlag = (countryCode: string) => {\n // eslint-disable-next-line unicorn/prefer-spread -- Array.from handles Unicode correctly for country codes\n const codePoints = Array.from(countryCode.toUpperCase()).map(\n (char) => 127397 + char.charCodeAt(0)\n )\n return String.fromCodePoint(...codePoints)\n }\n\n return (\n <span\n aria-label={`Flag of ${code}`}\n className=\"text-base -ml-0.5 shrink-0 leading-none\"\n data-slot=\"badge-country\"\n role=\"img\"\n >\n {countryToFlag(code)}\n </span>\n )\n}\n\nfunction Badge({\n className,\n type,\n color,\n size,\n disabled,\n dot,\n icon,\n leadingIcon,\n trailingIcon,\n country,\n avatar,\n iconOnly,\n onDismiss,\n dismissLabel,\n interactive,\n tooltip,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- Intentionally supporting legacy variant for backwards compatibility\n variant,\n asChild = false,\n children,\n onClick,\n ...props\n}: BadgeProps) {\n // Resolve legacy variant to new props (new props take precedence)\n const legacyMapping = variant ? legacyVariantMap[variant] : null\n const resolvedType = (type ?? legacyMapping?.type ?? \"pill-color\") as VariantProps<typeof badgeVariants>[\"type\"]\n const resolvedColor = (color ?? legacyMapping?.color ?? \"primary\") as BadgeColor\n\n // Icon-only badges are square with no horizontal padding\n const iconOnlyClass = iconOnly\n ? \"px-0 aspect-square\"\n : \"\"\n\n const badgeClassName = cn(\n badgeVariants({ type: resolvedType, color: resolvedColor, size }),\n iconOnlyClass,\n Boolean(interactive ?? onClick) && \"cursor-pointer hover:brightness-90\",\n className\n )\n\n // Disabled is a real state (not just a Figma style): toggle data-disabled + aria-disabled\n const stateAttrs = {\n \"aria-disabled\": disabled ? true : undefined,\n \"data-disabled\": disabled ? true : undefined,\n }\n\n // When asChild is true, use Slot which requires exactly one child\n // dot and onDismiss features are not supported with asChild\n if (asChild) {\n return (\n <Slot className={badgeClassName} data-slot=\"badge\" {...stateAttrs} {...props}>\n {children}\n </Slot>\n )\n }\n\n // Resolve leading content\n const resolvedLeadingIcon = leadingIcon ?? icon\n\n // Render leading content (avatar, country, dot, or leading icon)\n const renderLeading = () => {\n if (avatar) return <BadgeAvatar {...avatar} />\n if (country) return <BadgeCountry code={country} />\n if (dot) return <BadgeDot color={resolvedColor} />\n if (resolvedLeadingIcon) return <span className=\"shrink-0\" data-slot=\"badge-leading-icon\">{resolvedLeadingIcon}</span>\n return null\n }\n\n // Render trailing content (trailing icon or dismiss)\n const renderTrailing = () => {\n if (onDismiss) return <BadgeDismiss color={resolvedColor} dismissLabel={dismissLabel} type={resolvedType ?? \"pill-color\"} onClick={onDismiss} />\n if (trailingIcon) return <span className=\"shrink-0\" data-slot=\"badge-trailing-icon\">{trailingIcon}</span>\n return null\n }\n\n // Helper to wrap element with tooltip if tooltip prop is provided\n const wrapWithTooltip = (element: React.ReactElement) => {\n if (!tooltip) return element\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {element}\n </TooltipTrigger>\n <TooltipContent>\n {tooltip}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n // Icon-only variant: render only the icon, no children or other elements\n if (iconOnly) {\n return wrapWithTooltip(\n <span\n className={badgeClassName}\n data-slot=\"badge\"\n onClick={onClick}\n {...stateAttrs}\n {...props}\n >\n <span className=\"shrink-0\" data-slot=\"badge-icon-only\">{iconOnly}</span>\n </span>\n )\n }\n\n return wrapWithTooltip(\n <span\n className={badgeClassName}\n data-slot=\"badge\"\n onClick={onClick}\n {...stateAttrs}\n {...props}\n >\n {renderLeading()}\n {children}\n {renderTrailing()}\n </span>\n )\n}\n\n/* eslint-enable sonarjs/no-duplicate-string */\n\nexport { Badge, badgeVariants }\n"]}
@@ -6,7 +6,7 @@ import * as React from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
8
8
  var toggleVariants = cva(
9
- "inline-flex items-center justify-center gap-[var(--toggle-root-gap)] font-[var(--toggle-root-font-weight)] border-[length:var(--toggle-root-border-width)] transition-all duration-150 hover:bg-[color:var(--toggle-variant-default-bg-hover)] hover:text-[color:var(--toggle-variant-default-color-hover)] hover:shadow-sm active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-[color:var(--toggle-variant-default-bg-on)] data-[state=on]:text-[color:var(--toggle-variant-default-color-on)] data-[state=on]:shadow-sm [&_svg]:pointer-events-none [&_svg]:size-[var(--toggle-icon-size)] [&_svg]:shrink-0 focus-visible:z-10 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
9
+ "inline-flex items-center justify-center gap-[var(--toggle-root-gap)] font-[var(--toggle-root-font-weight)] border-[length:var(--toggle-root-border-width)] transition-all duration-150 hover:bg-[color:var(--toggle-variant-default-bg-hover)] hover:text-[color:var(--toggle-variant-default-color-hover)] hover:shadow-sm active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-[color:var(--toggle-variant-default-bg-on)] data-[state=on]:text-[color:var(--toggle-variant-default-color-on)] data-[state=on]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 focus-visible:z-10 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
10
10
  {
11
11
  variants: {
12
12
  variant: {
@@ -14,10 +14,10 @@ var toggleVariants = cva(
14
14
  outline: "border-[color:var(--toggle-variant-outline-border)] bg-[color:var(--toggle-variant-outline-bg-default)] text-[color:var(--toggle-variant-outline-color-default)] hover:bg-[color:var(--toggle-variant-outline-bg-hover)] hover:text-[color:var(--toggle-variant-outline-color-hover)] data-[state=on]:bg-[color:var(--toggle-variant-outline-bg-on)] data-[state=on]:text-[color:var(--toggle-variant-outline-color-on)]"
15
15
  },
16
16
  size: {
17
- default: "h-[var(--toggle-size-default-height)] px-[var(--toggle-size-default-padding-x)] min-w-[var(--toggle-size-default-min-width)]",
18
- sm: "h-[var(--toggle-size-sm-height)] px-[var(--toggle-size-sm-padding-x)] min-w-[var(--toggle-size-sm-min-width)]",
19
- md: "h-[var(--toggle-size-md-height)] px-[var(--toggle-size-md-padding-x)] min-w-[var(--toggle-size-md-min-width)]",
20
- lg: "h-[var(--toggle-size-lg-height)] px-[var(--toggle-size-lg-padding-x)] min-w-[var(--toggle-size-lg-min-width)]"
17
+ default: "h-[var(--toggle-size-default-height)] px-[var(--toggle-size-default-padding-x)] min-w-[var(--toggle-size-default-min-width)] [&_svg]:size-[var(--toggle-icon-size-default)]",
18
+ sm: "h-[var(--toggle-size-sm-height)] px-[var(--toggle-size-sm-padding-x)] min-w-[var(--toggle-size-sm-min-width)] [&_svg]:size-[var(--toggle-icon-size-sm)]",
19
+ md: "h-[var(--toggle-size-md-height)] px-[var(--toggle-size-md-padding-x)] min-w-[var(--toggle-size-md-min-width)] [&_svg]:size-[var(--toggle-icon-size-md)]",
20
+ lg: "h-[var(--toggle-size-lg-height)] px-[var(--toggle-size-lg-padding-x)] min-w-[var(--toggle-size-lg-min-width)] [&_svg]:size-[var(--toggle-icon-size-lg)]"
21
21
  },
22
22
  /**
23
23
  * The shape of the toggle button
@@ -148,5 +148,5 @@ Toggle.Group = ToggleGroup;
148
148
  Toggle.Item = ToggleItem;
149
149
 
150
150
  export { Toggle, ToggleGroup, ToggleItem, toggleVariants };
151
- //# sourceMappingURL=chunk-3WOGOTOV.js.map
152
- //# sourceMappingURL=chunk-3WOGOTOV.js.map
151
+ //# sourceMappingURL=chunk-UPYT2XM5.js.map
152
+ //# sourceMappingURL=chunk-UPYT2XM5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Toggle/Toggle.tsx"],"names":[],"mappings":"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","file":"chunk-UPYT2XM5.js","sourcesContent":["\"use client\"\n\nimport type { ToggleGroupProps, ToggleItemProps, ToggleProps } from \"./Toggle.types\"\n\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport { cva } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-[var(--toggle-root-gap)] font-[var(--toggle-root-font-weight)] border-[length:var(--toggle-root-border-width)] transition-all duration-150 hover:bg-[color:var(--toggle-variant-default-bg-hover)] hover:text-[color:var(--toggle-variant-default-color-hover)] hover:shadow-sm active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-[color:var(--toggle-variant-default-bg-on)] data-[state=on]:text-[color:var(--toggle-variant-default-color-on)] data-[state=on]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 focus-visible:z-10 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: \"bg-[color:var(--toggle-variant-default-bg-default)] text-[color:var(--toggle-variant-default-color-default)] border-[color:var(--toggle-variant-default-border)]\",\n outline:\n \"border-[color:var(--toggle-variant-outline-border)] bg-[color:var(--toggle-variant-outline-bg-default)] text-[color:var(--toggle-variant-outline-color-default)] hover:bg-[color:var(--toggle-variant-outline-bg-hover)] hover:text-[color:var(--toggle-variant-outline-color-hover)] data-[state=on]:bg-[color:var(--toggle-variant-outline-bg-on)] data-[state=on]:text-[color:var(--toggle-variant-outline-color-on)]\",\n },\n size: {\n default: \"h-[var(--toggle-size-default-height)] px-[var(--toggle-size-default-padding-x)] min-w-[var(--toggle-size-default-min-width)] [&_svg]:size-[var(--toggle-icon-size-default)]\",\n sm: \"h-[var(--toggle-size-sm-height)] px-[var(--toggle-size-sm-padding-x)] min-w-[var(--toggle-size-sm-min-width)] [&_svg]:size-[var(--toggle-icon-size-sm)]\",\n md: \"h-[var(--toggle-size-md-height)] px-[var(--toggle-size-md-padding-x)] min-w-[var(--toggle-size-md-min-width)] [&_svg]:size-[var(--toggle-icon-size-md)]\",\n lg: \"h-[var(--toggle-size-lg-height)] px-[var(--toggle-size-lg-padding-x)] min-w-[var(--toggle-size-lg-min-width)] [&_svg]:size-[var(--toggle-icon-size-lg)]\",\n },\n /**\n * The shape of the toggle button\n */\n shape: {\n pill: \"rounded-[var(--toggle-root-border-radius-pill)]\",\n rounded: \"rounded-[var(--toggle-root-border-radius-rounded)]\",\n },\n /**\n * Whether the item is connected to adjacent items (spacing=0)\n */\n connected: {\n true: \"rounded-none first:rounded-l-[var(--toggle-root-border-radius-pill)] last:rounded-r-[var(--toggle-root-border-radius-pill)]\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n variant: \"outline\",\n connected: true,\n className: \"border-l-0 first:border-l\",\n },\n {\n shape: \"rounded\",\n connected: true,\n className: \"first:rounded-l-[var(--toggle-root-border-radius-rounded)] last:rounded-r-[var(--toggle-root-border-radius-rounded)]\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n shape: \"rounded\",\n connected: false,\n },\n }\n)\n\n// Context for sharing group props with items\nconst ToggleGroupContext = React.createContext<{\n shape?: ToggleProps[\"shape\"]\n size?: ToggleProps[\"size\"]\n spacing?: ToggleGroupProps[\"spacing\"]\n variant?: ToggleProps[\"variant\"]\n}>({})\n\nfunction Toggle({\n className,\n variant,\n size,\n shape,\n icon,\n children,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive.Root\n className={cn(toggleVariants({ variant, size, shape, className }))}\n data-slot=\"toggle\"\n {...props}\n >\n {icon && (\n <span className=\"shrink-0\" data-slot=\"toggle-icon\">\n {icon}\n </span>\n )}\n {children}\n </TogglePrimitive.Root>\n )\n}\n\nconst spacingVariants = {\n 0: \"gap-0\",\n 1: \"gap-1\",\n 2: \"gap-2\",\n 3: \"gap-3\",\n 4: \"gap-4\",\n}\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n shape,\n spacing = 1,\n children,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupContext value={{ variant, size, shape, spacing }}>\n <ToggleGroupPrimitive.Root\n className={cn(\n \"group/toggle-group inline-flex items-center\",\n spacingVariants[spacing],\n className\n )}\n data-slot=\"toggle-group\"\n data-spacing={spacing}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Root>\n </ToggleGroupContext>\n )\n}\n\nfunction ToggleItem({\n className,\n variant,\n size,\n shape,\n icon,\n children,\n ...props\n}: ToggleItemProps) {\n const context = React.use(ToggleGroupContext)\n const resolvedVariant = variant ?? context.variant\n const resolvedSize = size ?? context.size\n const resolvedShape = shape ?? context.shape\n const resolvedSpacing = context.spacing ?? 1\n const isConnected = resolvedSpacing === 0\n\n return (\n <ToggleGroupPrimitive.Item\n className={cn(\n toggleVariants({\n variant: resolvedVariant,\n size: resolvedSize,\n shape: resolvedShape,\n connected: isConnected,\n className,\n })\n )}\n data-slot=\"toggle-item\"\n {...props}\n >\n {icon && (\n <span className=\"shrink-0\" data-slot=\"toggle-icon\">\n {icon}\n </span>\n )}\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nToggle.Group = ToggleGroup\nToggle.Item = ToggleItem\n\nexport { Toggle, ToggleGroup, ToggleItem, toggleVariants }"]}
@@ -161,5 +161,5 @@ function Modal({
161
161
  }
162
162
 
163
163
  export { Modal };
164
- //# sourceMappingURL=chunk-YWA63YN3.js.map
165
- //# sourceMappingURL=chunk-YWA63YN3.js.map
164
+ //# sourceMappingURL=chunk-VAVE4ZJF.js.map
165
+ //# sourceMappingURL=chunk-VAVE4ZJF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/Modal/Modal.tsx"],"names":[],"mappings":";;;;;AAYA,IAAM,WAAA,GAAyC;AAAA,EAC7C,KAAA,EAAO,cAAA;AAAA,EACP,IAAA,EAAM,6BAAA;AAAA,EACN,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAMA,IAAM,eAAA,GAA+C;AAAA,EACnD,OAAA,EACE,yGAAA;AAAA,EACF,WAAA,EACE,iHAAA;AAAA,EACF,OAAA,EACE;AACJ,CAAA;AAGA,IAAM,sBAAA,GAAyB,cAAA;AAC/B,IAAM,4BAAA,GAA+B,iDAAA;AACrC,IAAM,mBAAA,GAAsB,OAAA;AAgC5B,SAAS,KAAA,CAAM;AAAA,EACb,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,mBAAA;AAAA,EACb,aAAA,GAAgB,IAAA;AAAA,EAChB,mBAAA,GAAsB,IAAA;AAAA,EACtB,WAAA,GAAc,KAAA;AAAA,EACd,WAAA;AAAA,EACA,mBAAA,GAAsB,4BAAA;AAAA,EACtB,aAAA,GAAgB,sBAAA;AAAA,EAChB,MAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA,GAAS,SAAA;AAAA,EACT,YAAA;AAAA,EACA,IAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA;AACF,CAAA,EAAe;AACb,EAAA,MAAM,kBAAkB,KAAA,IAAS,aAAA;AACjC,EAAA,MAAM,wBAAwB,WAAA,IAAe,mBAAA;AAE7C,EAAA,MAAM,gBAAA,GAAmB,CAAC,OAAA,KAA2B;AACnD,IAAA,YAAA,GAAe,OAAO,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAA+B;AAC1D,IAAA,IAAI,CAAC,aAAA,EAAe;AAClB,MAAA,KAAA,CAAM,cAAA,EAAe;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,qBAAA,GAAwB,CAC5B,KAAA,KACS;AACT,IAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,MAAA,KAAA,CAAM,cAAA,EAAe;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA;AAAA,MACA,IAAA;AAAA,MACA,YAAA,EAAc,gBAAA;AAAA,MAEb,QAAA,EAAA;AAAA,QAAA,OAAA,wBACkB,eAAA,CAAA,OAAA,EAAhB,EAAwB,SAAO,IAAA,EAAC,WAAA,EAAU,iBACxC,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,wBAGF,IAAA,CAAiB,wBAAhB,EACC,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAiB,eAAA,CAAA,OAAA;AAAA,YAAhB;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,+KAAA;AAAA,gBACA;AAAA,eACF;AAAA,cACA,WAAA,EAAU;AAAA;AAAA,WACZ;AAAA,0BACA,IAAA;AAAA,YAAiB,eAAA,CAAA,OAAA;AAAA,YAAhB;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,oTAAA;AAAA,gBACA,0NAAA;AAAA,gBACA,YAAY,IAAI,CAAA;AAAA,gBAChB;AAAA,eACF;AAAA,cACA,WAAA,EAAU,OAAA;AAAA,cACV,eAAA,EAAiB,mBAAA;AAAA,cACjB,iBAAA,EAAmB,qBAAA;AAAA,cAGnB,QAAA,EAAA;AAAA,gCAAA,IAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,sEAAA;AAAA,oBACV,WAAA,EAAU,cAAA;AAAA,oBAET,QAAA,EAAA;AAAA,sBAAA,IAAA,oBACC,GAAA;AAAA,wBAAC,MAAA;AAAA,wBAAA;AAAA,0BACC,SAAA,EAAW,EAAA;AAAA,4BACT,qNAAA;AAAA,4BACA,gBAAgB,MAAM;AAAA,2BACxB;AAAA,0BACA,aAAA,EAAY,MAAA;AAAA,0BACZ,aAAA,EAAa,MAAA;AAAA,0BACb,WAAA,EAAU,iBAAA;AAAA,0BAET,QAAA,EAAA;AAAA;AAAA,uBACH;AAAA,sCAEF,GAAA;AAAA,wBAAiB,eAAA,CAAA,KAAA;AAAA,wBAAhB;AAAA,0BACC,SAAA,EAAW,EAAA;AAAA,4BACT,qCAAA;AAAA,4BACA,CAAC,KAAA,IAAS;AAAA,2BACZ;AAAA,0BACA,WAAA,EAAU,aAAA;AAAA,0BAET,QAAA,EAAA;AAAA;AAAA,uBACH;AAAA,sCACA,GAAA;AAAA,wBAAiB,eAAA,CAAA,WAAA;AAAA,wBAAhB;AAAA,0BACC,SAAA,EAAW,EAAA;AAAA,4BACT,+BAAA;AAAA,4BACA,CAAC,WAAA,IAAe;AAAA,2BAClB;AAAA,0BACA,WAAA,EAAU,mBAAA;AAAA,0BAET,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,iBACF;AAAA,gBAGC,QAAA,oBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,iBAAiB,QAAA,EAAS,CAAA;AAAA,gBAGrD,MAAA,oBACC,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAA,EAAU,gFAAA;AAAA,oBACV,WAAA,EAAU,cAAA;AAAA,oBAET,QAAA,EAAA;AAAA;AAAA,iBACH;AAAA,gBAID,eAAA,oBACC,IAAA;AAAA,kBAAiB,eAAA,CAAA,KAAA;AAAA,kBAAhB;AAAA,oBACC,SAAA,EAAU,mWAAA;AAAA,oBACV,WAAA,EAAU,aAAA;AAAA,oBAEV,QAAA,EAAA;AAAA,sCAAA,GAAA,CAAC,CAAA,EAAA,EAAE,CAAA;AAAA,sCACH,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,UAAA,EAAW;AAAA;AAAA;AAAA;AACxC;AAAA;AAAA;AAEJ,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-VAVE4ZJF.js","sourcesContent":["\"use client\"\n\nimport type { ModalIntent, ModalProps, ModalSize } from \"./Modal.types\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\n\n/**\n * Size classes for modal widths\n */\nconst sizeClasses: Record<ModalSize, string> = {\n \"2xl\": \"sm:max-w-2xl\",\n full: \"sm:max-w-[calc(100vw-4rem)]\",\n lg: \"sm:max-w-lg\",\n md: \"sm:max-w-md\",\n sm: \"sm:max-w-sm\",\n xl: \"sm:max-w-xl\",\n}\n\n/**\n * Background/foreground classes for the header icon-pill per intent.\n * Reuses the semantic STATUS tokens exposed as `--modal-icon-pill-color-*`.\n */\nconst iconPillClasses: Record<ModalIntent, string> = {\n default:\n \"bg-[color:var(--modal-icon-pill-color-default-bg)] text-[color:var(--modal-icon-pill-color-default-fg)]\",\n destructive:\n \"bg-[color:var(--modal-icon-pill-color-destructive-bg)] text-[color:var(--modal-icon-pill-color-destructive-fg)]\",\n warning:\n \"bg-[color:var(--modal-icon-pill-color-warning-bg)] text-[color:var(--modal-icon-pill-color-warning-fg)]\",\n}\n\n// Default English fallbacks — override via props for i18n (DES-1286 item 7)\nconst DEFAULT_FALLBACK_TITLE = \"Modal dialog\"\nconst DEFAULT_FALLBACK_DESCRIPTION = \"Use this dialog to complete the current action.\"\nconst DEFAULT_CLOSE_LABEL = \"Close\"\n\n/**\n * Modal - Simplified wrapper over @radix-ui/react-dialog\n *\n * A declarative API for common modal use cases. Modal is NOT a wrapper over\n * Seven's Dialog component — both are sibling wrappers over the same Radix\n * primitive. Modal provides a simpler props-based interface than Dialog's\n * compound subcomponents while maintaining full accessibility.\n *\n * @example\n * ```tsx\n * // With trigger (uncontrolled)\n * <Modal\n * trigger={<Button>Open Modal</Button>}\n * title=\"Modal Title\"\n * description=\"Optional description\"\n * footer={<Button>Save</Button>}\n * >\n * <p>Modal content here</p>\n * </Modal>\n *\n * // Controlled\n * <Modal\n * open={isOpen}\n * onOpenChange={setIsOpen}\n * title=\"Controlled Modal\"\n * >\n * <p>Content</p>\n * </Modal>\n * ```\n */\nfunction Modal({\n children,\n className,\n closeLabel = DEFAULT_CLOSE_LABEL,\n closeOnEscape = true,\n closeOnOverlayClick = true,\n defaultOpen = false,\n description,\n fallbackDescription = DEFAULT_FALLBACK_DESCRIPTION,\n fallbackTitle = DEFAULT_FALLBACK_TITLE,\n footer,\n icon,\n intent = \"default\",\n onOpenChange,\n open,\n overlayClassName,\n showCloseButton = true,\n size = \"md\",\n title,\n trigger,\n}: ModalProps) {\n const accessibleTitle = title ?? fallbackTitle\n const accessibleDescription = description ?? fallbackDescription\n\n const handleOpenChange = (newOpen: boolean): void => {\n onOpenChange?.(newOpen)\n }\n\n const handleEscapeKeyDown = (event: KeyboardEvent): void => {\n if (!closeOnEscape) {\n event.preventDefault()\n }\n }\n\n const handleInteractOutside = (\n event: CustomEvent<{ originalEvent: Event }>\n ): void => {\n if (!closeOnOverlayClick) {\n event.preventDefault()\n }\n }\n\n return (\n <DialogPrimitive.Root\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={handleOpenChange}\n >\n {trigger && (\n <DialogPrimitive.Trigger asChild data-slot=\"modal-trigger\">\n {trigger}\n </DialogPrimitive.Trigger>\n )}\n\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[color:var(--modal-overlay-bg)]\",\n overlayClassName\n )}\n data-slot=\"modal-overlay\"\n />\n <DialogPrimitive.Content\n className={cn(\n \"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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] border duration-200\",\n \"bg-[color:var(--modal-content-bg)] border-[color:var(--modal-content-border)] gap-[var(--modal-content-gap)] rounded-[var(--modal-content-radius)] p-[var(--modal-content-padding)] shadow-[var(--modal-content-shadow)]\",\n sizeClasses[size],\n className\n )}\n data-slot=\"modal\"\n onEscapeKeyDown={handleEscapeKeyDown}\n onInteractOutside={handleInteractOutside}\n >\n {/* Header */}\n <div\n className=\"flex flex-col gap-[var(--modal-header-gap)] text-center sm:text-left\"\n data-slot=\"modal-header\"\n >\n {icon && (\n <span\n className={cn(\n \"inline-flex w-fit items-center justify-center self-center rounded-[var(--modal-icon-pill-radius)] p-[var(--modal-icon-pill-padding)] sm:self-start [&_svg]:size-[var(--modal-icon-pill-icon-size)] [&_svg]:shrink-0\",\n iconPillClasses[intent]\n )}\n aria-hidden=\"true\"\n data-intent={intent}\n data-slot=\"modal-icon-pill\"\n >\n {icon}\n </span>\n )}\n <DialogPrimitive.Title\n className={cn(\n \"text-lg leading-tight font-semibold\",\n !title && \"sr-only\"\n )}\n data-slot=\"modal-title\"\n >\n {accessibleTitle}\n </DialogPrimitive.Title>\n <DialogPrimitive.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n !description && \"sr-only\"\n )}\n data-slot=\"modal-description\"\n >\n {accessibleDescription}\n </DialogPrimitive.Description>\n </div>\n\n {/* Content */}\n {children && <div data-slot=\"modal-content\">{children}</div>}\n\n {/* Footer */}\n {footer && (\n <div\n className=\"flex flex-col-reverse gap-[var(--modal-footer-gap)] sm:flex-row sm:justify-end\"\n data-slot=\"modal-footer\"\n >\n {footer}\n </div>\n )}\n\n {/* Close Button */}\n {showCloseButton && (\n <DialogPrimitive.Close\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n data-slot=\"modal-close\"\n >\n <X />\n <span className=\"sr-only\">{closeLabel}</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nexport { Modal }\n"]}