dishui 0.0.65 → 0.0.67

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 (507) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +10 -11
  2. package/dist/chart.js +12 -46
  3. package/dist/code-editor.js +16 -43
  4. package/dist/components/Accordion/index.d.ts +39 -0
  5. package/dist/components/Accordion/index.js +70 -0
  6. package/dist/components/Accordion/index.js.map +1 -0
  7. package/dist/components/Avatar/index.d.ts +48 -0
  8. package/dist/components/Avatar/index.js +71 -0
  9. package/dist/components/Avatar/index.js.map +1 -0
  10. package/dist/components/Badge/index.js +10 -15
  11. package/dist/components/Badge/index.js.map +1 -1
  12. package/dist/components/Button/index.js +62 -89
  13. package/dist/components/Button/index.js.map +1 -1
  14. package/dist/components/Card/index.d.ts +142 -0
  15. package/dist/components/Card/index.js +368 -69
  16. package/dist/components/Card/index.js.map +1 -1
  17. package/dist/components/Chart/Chart.js +25 -25
  18. package/dist/components/Chart/Chart.js.map +1 -1
  19. package/dist/components/Checkbox/index.js +57 -65
  20. package/dist/components/Checkbox/index.js.map +1 -1
  21. package/dist/components/ChoicePicker/index.d.ts +44 -0
  22. package/dist/components/ChoicePicker/index.js +81 -0
  23. package/dist/components/ChoicePicker/index.js.map +1 -0
  24. package/dist/components/Column/index.d.ts +28 -0
  25. package/dist/components/Column/index.js +30 -0
  26. package/dist/components/Column/index.js.map +1 -0
  27. package/dist/components/DateTimeInput/index.d.ts +44 -0
  28. package/dist/components/DateTimeInput/index.js +48 -0
  29. package/dist/components/DateTimeInput/index.js.map +1 -0
  30. package/dist/components/Demo/index.js +107 -107
  31. package/dist/components/Demo/index.js.map +1 -1
  32. package/dist/components/Divider/index.d.ts +20 -0
  33. package/dist/components/Divider/index.js +30 -0
  34. package/dist/components/Divider/index.js.map +1 -0
  35. package/dist/components/EmptyState/index.js +24 -24
  36. package/dist/components/EmptyState/index.js.map +1 -1
  37. package/dist/components/FileUploader/DropZone.js +134 -136
  38. package/dist/components/FileUploader/DropZone.js.map +1 -1
  39. package/dist/components/FileUploader/FileItem.js +159 -163
  40. package/dist/components/FileUploader/FileItem.js.map +1 -1
  41. package/dist/components/FileUploader/FileUploader.js +126 -127
  42. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  43. package/dist/components/FileUploader/UploadQueue.js +62 -62
  44. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  45. package/dist/components/FloatWindow/index.d.ts +28 -0
  46. package/dist/components/GridLayout/index.d.ts +42 -0
  47. package/dist/components/Icon/index.d.ts +26 -0
  48. package/dist/components/Icon/index.js +27 -0
  49. package/dist/components/Icon/index.js.map +1 -0
  50. package/dist/components/Image/index.d.ts +33 -0
  51. package/dist/components/Image/index.js +44 -0
  52. package/dist/components/Image/index.js.map +1 -0
  53. package/dist/components/Input/index.js +196 -197
  54. package/dist/components/Input/index.js.map +1 -1
  55. package/dist/components/Label/index.js +62 -74
  56. package/dist/components/Label/index.js.map +1 -1
  57. package/dist/components/Layout/index.js +134 -139
  58. package/dist/components/Layout/index.js.map +1 -1
  59. package/dist/components/List/index.js +45 -58
  60. package/dist/components/List/index.js.map +1 -1
  61. package/dist/components/Markdown/Markdown.js +106 -107
  62. package/dist/components/Markdown/Markdown.js.map +1 -1
  63. package/dist/components/Markdown/codeThemes.js +24 -33
  64. package/dist/components/Markdown/codeThemes.js.map +1 -1
  65. package/dist/components/Markdown/markdownComponents.js +203 -208
  66. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  67. package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
  68. package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
  69. package/dist/components/Markdown/useMarkdownSource.js +46 -46
  70. package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
  71. package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
  72. package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
  73. package/dist/components/Markdown/useMermaidRenderer.js +41 -42
  74. package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
  75. package/dist/components/Modal/index.js +82 -82
  76. package/dist/components/Modal/index.js.map +1 -1
  77. package/dist/components/MultipleChoice/index.d.ts +44 -0
  78. package/dist/components/MultipleChoice/index.js +52 -0
  79. package/dist/components/MultipleChoice/index.js.map +1 -0
  80. package/dist/components/Notification/index.d.ts +17 -0
  81. package/dist/components/Page/index.d.ts +1 -1
  82. package/dist/components/Page/index.js +40 -71
  83. package/dist/components/Page/index.js.map +1 -1
  84. package/dist/components/PageHeader/index.js +28 -28
  85. package/dist/components/PageHeader/index.js.map +1 -1
  86. package/dist/components/ProtectedRoute/index.js +8 -9
  87. package/dist/components/ProtectedRoute/index.js.map +1 -1
  88. package/dist/components/Row/index.d.ts +28 -0
  89. package/dist/components/Row/index.js +30 -0
  90. package/dist/components/Row/index.js.map +1 -0
  91. package/dist/components/Select/index.js +251 -254
  92. package/dist/components/Select/index.js.map +1 -1
  93. package/dist/components/SidebarToggleButton/index.js +56 -59
  94. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  95. package/dist/components/Slider/index.d.ts +39 -0
  96. package/dist/components/Slider/index.js +52 -0
  97. package/dist/components/Slider/index.js.map +1 -0
  98. package/dist/components/Switch/index.d.ts +34 -0
  99. package/dist/components/Switch/index.js +55 -0
  100. package/dist/components/Switch/index.js.map +1 -0
  101. package/dist/components/Tab/index.d.ts +40 -0
  102. package/dist/components/Table/index.js +109 -121
  103. package/dist/components/Table/index.js.map +1 -1
  104. package/dist/components/Tabs/index.js +28 -38
  105. package/dist/components/Tabs/index.js.map +1 -1
  106. package/dist/components/Text/index.d.ts +43 -0
  107. package/dist/components/Text/index.js +55 -0
  108. package/dist/components/Text/index.js.map +1 -0
  109. package/dist/components/Tooltip/index.d.ts +23 -0
  110. package/dist/components/Tooltip/index.js +34 -0
  111. package/dist/components/Tooltip/index.js.map +1 -0
  112. package/dist/components/Tree/Tree.js +205 -205
  113. package/dist/components/Tree/Tree.js.map +1 -1
  114. package/dist/components/pro/ArticleContextMenu/index.js +86 -87
  115. package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
  116. package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
  117. package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
  118. package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
  119. package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
  120. package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
  121. package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
  122. package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
  123. package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
  124. package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
  125. package/dist/components/pro/Calendar/index.d.ts +7 -0
  126. package/dist/components/pro/Calendar/types.d.ts +151 -0
  127. package/dist/components/pro/Calendar/utils.d.ts +94 -0
  128. package/dist/components/pro/Chat/Chat.d.ts +6 -0
  129. package/dist/components/pro/Chat/index.d.ts +2 -0
  130. package/dist/components/pro/Chat/types.d.ts +84 -0
  131. package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -327
  132. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  133. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
  134. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
  135. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
  136. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
  137. package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
  138. package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
  139. package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
  140. package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
  141. package/dist/components/pro/CodeEditor/langs/index.js +7 -15
  142. package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
  143. package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
  144. package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
  145. package/dist/components/pro/CodeEditor/langs/python.js +4 -40
  146. package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
  147. package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
  148. package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
  149. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
  150. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
  151. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
  152. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
  153. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
  154. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
  155. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
  156. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
  157. package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
  158. package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
  159. package/dist/components/pro/CodeEditor/themes.js +513 -483
  160. package/dist/components/pro/CodeEditor/themes.js.map +1 -1
  161. package/dist/components/pro/CodeEditor/types.d.ts +1 -1
  162. package/dist/components/pro/CodeEditor/utils.js +171 -175
  163. package/dist/components/pro/CodeEditor/utils.js.map +1 -1
  164. package/dist/components/pro/DataTable/DataTable.js +305 -306
  165. package/dist/components/pro/DataTable/DataTable.js.map +1 -1
  166. package/dist/components/pro/DataTable/Filters.js +299 -314
  167. package/dist/components/pro/DataTable/Filters.js.map +1 -1
  168. package/dist/components/pro/DataTable/PivotPanel.js +203 -204
  169. package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
  170. package/dist/components/pro/DataTable/PivotView.js +142 -144
  171. package/dist/components/pro/DataTable/PivotView.js.map +1 -1
  172. package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
  173. package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
  174. package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
  175. package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
  176. package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
  177. package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
  178. package/dist/components/pro/DataTable/components/TableBody.js +93 -94
  179. package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
  180. package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
  181. package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
  182. package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
  183. package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
  184. package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
  185. package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
  186. package/dist/components/pro/DataTable/extension.js +5 -5
  187. package/dist/components/pro/DataTable/extension.js.map +1 -1
  188. package/dist/components/pro/DataTable/pivotEngine.js +84 -92
  189. package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
  190. package/dist/components/pro/DataTable/pivotExtension.js +93 -93
  191. package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
  192. package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
  193. package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
  194. package/dist/components/pro/DataTable/tanstack-table.js +45 -62
  195. package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
  196. package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
  197. package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
  198. package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
  199. package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
  200. package/dist/components/pro/DataTable/utils.js +156 -168
  201. package/dist/components/pro/DataTable/utils.js.map +1 -1
  202. package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
  203. package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
  204. package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
  205. package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
  206. package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
  207. package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
  208. package/dist/components/pro/FileExplorer/FileIcon.js +189 -189
  209. package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
  210. package/dist/components/pro/FileExplorer/GridView.js +100 -100
  211. package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
  212. package/dist/components/pro/FileExplorer/ListView.js +209 -209
  213. package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
  214. package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
  215. package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
  216. package/dist/components/pro/Flow/Flow.js +920 -948
  217. package/dist/components/pro/Flow/Flow.js.map +1 -1
  218. package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
  219. package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
  220. package/dist/components/pro/Flow/archify/build.js +85 -94
  221. package/dist/components/pro/Flow/archify/build.js.map +1 -1
  222. package/dist/components/pro/Flow/archify/convert.js +512 -519
  223. package/dist/components/pro/Flow/archify/convert.js.map +1 -1
  224. package/dist/components/pro/Flow/archify/palette.js +87 -104
  225. package/dist/components/pro/Flow/archify/palette.js.map +1 -1
  226. package/dist/components/pro/Flow/archify/presets.js +34 -37
  227. package/dist/components/pro/Flow/archify/presets.js.map +1 -1
  228. package/dist/components/pro/Flow/archify/spec.js +7 -7
  229. package/dist/components/pro/Flow/archify/spec.js.map +1 -1
  230. package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
  231. package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
  232. package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
  233. package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
  234. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
  235. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
  236. package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
  237. package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
  238. package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
  239. package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
  240. package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
  241. package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
  242. package/dist/components/pro/Flow/constants.js +266 -278
  243. package/dist/components/pro/Flow/constants.js.map +1 -1
  244. package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
  245. package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
  246. package/dist/components/pro/Flow/context/FlowContext.js +60 -61
  247. package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
  248. package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
  249. package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
  250. package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
  251. package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
  252. package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
  253. package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
  254. package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
  255. package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
  256. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
  257. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
  258. package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
  259. package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
  260. package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
  261. package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
  262. package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
  263. package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
  264. package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
  265. package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
  266. package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
  267. package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
  268. package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
  269. package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
  270. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
  271. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
  272. package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -180
  273. package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
  274. package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
  275. package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
  276. package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
  277. package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
  278. package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
  279. package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
  280. package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
  281. package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
  282. package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
  283. package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
  284. package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
  285. package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
  286. package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
  287. package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
  288. package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
  289. package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
  290. package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
  291. package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
  292. package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
  293. package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
  294. package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
  295. package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
  296. package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
  297. package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
  298. package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
  299. package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
  300. package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -242
  301. package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
  302. package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
  303. package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
  304. package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
  305. package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
  306. package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
  307. package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
  308. package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
  309. package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
  310. package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
  311. package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
  312. package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
  313. package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
  314. package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
  315. package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
  316. package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
  317. package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
  318. package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
  319. package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
  320. package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
  321. package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
  322. package/dist/components/pro/Flow/nodes/shapes.js +556 -589
  323. package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
  324. package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
  325. package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
  326. package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
  327. package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
  328. package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
  329. package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
  330. package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
  331. package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
  332. package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
  333. package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
  334. package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
  335. package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
  336. package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
  337. package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
  338. package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
  339. package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
  340. package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
  341. package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
  342. package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
  343. package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
  344. package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -248
  345. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  346. package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
  347. package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
  348. package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
  349. package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
  350. package/dist/components/pro/Flow/panels/ShapePalette.js +557 -572
  351. package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
  352. package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
  353. package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
  354. package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
  355. package/dist/components/pro/Flow/types.js +26 -26
  356. package/dist/components/pro/Flow/types.js.map +1 -1
  357. package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
  358. package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
  359. package/dist/components/pro/Flow/utils/gradient.js +55 -55
  360. package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
  361. package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
  362. package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
  363. package/dist/components/pro/Flow/utils/themeColor.js +185 -195
  364. package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
  365. package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
  366. package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
  367. package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
  368. package/dist/components/pro/Gantt/index.d.ts +6 -0
  369. package/dist/components/pro/Gantt/types.d.ts +478 -0
  370. package/dist/components/pro/Gantt/utils.d.ts +124 -0
  371. package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
  372. package/dist/components/pro/Resizable/index.d.ts +2 -0
  373. package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
  374. package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
  375. package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
  376. package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
  377. package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
  378. package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
  379. package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
  380. package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
  381. package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
  382. package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
  383. package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
  384. package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
  385. package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
  386. package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
  387. package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
  388. package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
  389. package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
  390. package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
  391. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
  392. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
  393. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
  394. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
  395. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
  396. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
  397. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
  398. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
  399. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
  400. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
  401. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
  402. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
  403. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
  404. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
  405. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
  406. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
  407. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
  408. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
  409. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
  410. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
  411. package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
  412. package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
  413. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
  414. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
  415. package/dist/components/pro/RichTextEditor/types.js +75 -75
  416. package/dist/components/pro/RichTextEditor/types.js.map +1 -1
  417. package/dist/contexts/AppContext.d.ts +1 -1
  418. package/dist/contexts/AppContext.js +216 -221
  419. package/dist/contexts/AppContext.js.map +1 -1
  420. package/dist/data-table.js +15 -41
  421. package/dist/data-table.js.map +1 -1
  422. package/dist/dishui.css +1 -1
  423. package/dist/flow.js +27 -83
  424. package/dist/hooks/useClickOutside.js +18 -18
  425. package/dist/hooks/useClickOutside.js.map +1 -1
  426. package/dist/hooks/useContainerElement.js +9 -9
  427. package/dist/hooks/useContainerElement.js.map +1 -1
  428. package/dist/hooks/useControllableState.js +33 -35
  429. package/dist/hooks/useControllableState.js.map +1 -1
  430. package/dist/hooks/useCopyToClipboard.js +16 -16
  431. package/dist/hooks/useCopyToClipboard.js.map +1 -1
  432. package/dist/hooks/useDebounce.js +14 -14
  433. package/dist/hooks/useDebounce.js.map +1 -1
  434. package/dist/hooks/useDraggable.js +50 -50
  435. package/dist/hooks/useDraggable.js.map +1 -1
  436. package/dist/hooks/useTableColumns.js +39 -41
  437. package/dist/hooks/useTableColumns.js.map +1 -1
  438. package/dist/hooks/useTableData.js +67 -68
  439. package/dist/hooks/useTableData.js.map +1 -1
  440. package/dist/index-nostyled.d.ts +8 -0
  441. package/dist/index.d.ts +31 -3
  442. package/dist/index.js +106 -241
  443. package/dist/layouts/MainLayout.js +56 -56
  444. package/dist/layouts/MainLayout.js.map +1 -1
  445. package/dist/layouts/Navbar.js +214 -214
  446. package/dist/layouts/Navbar.js.map +1 -1
  447. package/dist/layouts/Sidebar.js +184 -186
  448. package/dist/layouts/Sidebar.js.map +1 -1
  449. package/dist/layouts/headbar/Headbar.js +25 -25
  450. package/dist/layouts/headbar/Headbar.js.map +1 -1
  451. package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
  452. package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
  453. package/dist/layouts/headbar/HeadbarSearch.js +120 -120
  454. package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
  455. package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
  456. package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
  457. package/dist/layouts/headbar/HeadbarTitle.js +26 -26
  458. package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
  459. package/dist/lite.js +9 -24
  460. package/dist/markdown.js +4 -9
  461. package/dist/pages/components/Calendar/index.d.ts +3 -0
  462. package/dist/pages/components/Calendar/index.en.d.ts +3 -0
  463. package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
  464. package/dist/pages/components/Chat/index.d.ts +3 -0
  465. package/dist/pages/components/Chat/index.en.d.ts +3 -0
  466. package/dist/pages/components/Chat/index.zh.d.ts +3 -0
  467. package/dist/pages/components/FloatWindow/index.d.ts +3 -0
  468. package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
  469. package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
  470. package/dist/pages/components/Gantt/index.d.ts +3 -0
  471. package/dist/pages/components/Gantt/index.en.d.ts +3 -0
  472. package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
  473. package/dist/pages/components/GridLayout/index.d.ts +3 -0
  474. package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
  475. package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
  476. package/dist/pages/components/Notification/index.d.ts +3 -0
  477. package/dist/pages/components/Notification/index.en.d.ts +3 -0
  478. package/dist/pages/components/Notification/index.zh.d.ts +3 -0
  479. package/dist/pages/components/Resizable/index.d.ts +3 -0
  480. package/dist/pages/components/Resizable/index.en.d.ts +3 -0
  481. package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
  482. package/dist/pages/components/Tab/index.d.ts +3 -0
  483. package/dist/pages/components/Tab/index.en.d.ts +3 -0
  484. package/dist/pages/components/Tab/index.zh.d.ts +3 -0
  485. package/dist/styles/themeStyles.js +87 -86
  486. package/dist/styles/themeStyles.js.map +1 -1
  487. package/dist/utils/cn.d.ts +13 -0
  488. package/dist/utils/cn.js +16 -0
  489. package/dist/utils/cn.js.map +1 -0
  490. package/dist/utils/i18n.js +700 -602
  491. package/dist/utils/i18n.js.map +1 -1
  492. package/dist/utils/menu.js +94 -94
  493. package/dist/utils/menu.js.map +1 -1
  494. package/dist/utils/rehype-code-meta.js +14 -14
  495. package/dist/utils/rehype-code-meta.js.map +1 -1
  496. package/dist/utils/remark-code-meta.js +9 -9
  497. package/dist/utils/remark-code-meta.js.map +1 -1
  498. package/dist/utils/routerBuilder.js +59 -60
  499. package/dist/utils/routerBuilder.js.map +1 -1
  500. package/dist/utils/selection.js +28 -29
  501. package/dist/utils/selection.js.map +1 -1
  502. package/dist/utils/themes.js +275 -255
  503. package/dist/utils/themes.js.map +1 -1
  504. package/package.json +19 -6
  505. package/dist/components/StatCard/index.d.ts +0 -24
  506. package/dist/components/StatCard/index.js +0 -90
  507. package/dist/components/StatCard/index.js.map +0 -1
@@ -1,213 +1,208 @@
1
- import { resolveMetaTheme as M } from "./codeThemes.js";
2
- import { parseCodeBlockMeta as F } from "./parseCodeBlockMeta.js";
1
+ import { resolveMetaTheme as e } from "./codeThemes.js";
2
+ import { parseCodeBlockMeta as t } from "./parseCodeBlockMeta.js";
3
3
  import "react";
4
- import { jsx as e, jsxs as S } from "react/jsx-runtime";
5
- import { Prism as C } from "react-syntax-highlighter";
6
- function T(f) {
7
- return f.split(`
8
- `).map((a, c) => {
9
- if (/^#{1,6}\s/.test(a)) {
10
- const r = a.match(/^(#{1,6})(\s+.*)$/);
11
- if (r) return /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ e("span", {
12
- style: { color: "#569cd6" },
13
- children: r[1]
14
- }), /* @__PURE__ */ e("span", {
15
- style: { color: "#dcdcaa" },
16
- children: r[2]
17
- })] }, c);
18
- }
19
- if (/^(\s*)([-*+]|\d+\.)\s/.test(a)) {
20
- const r = a.match(/^(\s*)([-*+]|\d+\.)(\s+.*)$/);
21
- if (r) return /* @__PURE__ */ S("div", { children: [
22
- /* @__PURE__ */ e("span", { children: r[1] }),
23
- /* @__PURE__ */ e("span", {
24
- style: { color: "#c586c0" },
25
- children: r[2]
26
- }),
27
- /* @__PURE__ */ e("span", { children: r[3] })
28
- ] }, c);
29
- }
30
- return /^```/.test(a) ? /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("span", {
31
- style: { color: "#4ec9b0" },
32
- children: a
33
- }) }, c) : /^>\s/.test(a) ? /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("span", {
34
- style: { color: "#608b4e" },
35
- children: a
36
- }) }, c) : /* @__PURE__ */ e("div", { children: ((r) => {
37
- const o = [];
38
- let t = 0;
39
- const n = /(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`|\[([^\]]+)\]\(([^)]+)\))/g;
40
- let s;
41
- for (; (s = n.exec(r)) !== null; ) {
42
- s.index > t && o.push(r.substring(t, s.index));
43
- const l = s[1];
44
- l.startsWith("**") ? o.push(/* @__PURE__ */ e("span", {
45
- style: {
46
- color: "#ce9178",
47
- fontWeight: "bold"
48
- },
49
- children: l
50
- }, s.index)) : l.startsWith("*") ? o.push(/* @__PURE__ */ e("span", {
51
- style: {
52
- color: "#ce9178",
53
- fontStyle: "italic"
54
- },
55
- children: l
56
- }, s.index)) : l.startsWith("`") ? o.push(/* @__PURE__ */ e("span", {
57
- style: { color: "#d16969" },
58
- children: l
59
- }, s.index)) : l.startsWith("[") && o.push(/* @__PURE__ */ e("span", {
60
- style: { color: "#4ec9b0" },
61
- children: l
62
- }, s.index)), t = n.lastIndex;
63
- }
64
- return t < r.length && o.push(r.substring(t)), o.length > 0 ? o : r;
65
- })(a) }, c);
66
- }).filter(Boolean);
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ import { Prism as i } from "react-syntax-highlighter";
6
+ //#region src/components/Markdown/markdownComponents.tsx
7
+ function a(e) {
8
+ return e.split("\n").map((e, t) => {
9
+ if (/^#{1,6}\s/.test(e)) {
10
+ let i = e.match(/^(#{1,6})(\s+.*)$/);
11
+ if (i) return /* @__PURE__ */ r("div", { children: [/* @__PURE__ */ n("span", {
12
+ style: { color: "#569cd6" },
13
+ children: i[1]
14
+ }), /* @__PURE__ */ n("span", {
15
+ style: { color: "#dcdcaa" },
16
+ children: i[2]
17
+ })] }, t);
18
+ }
19
+ if (/^(\s*)([-*+]|\d+\.)\s/.test(e)) {
20
+ let i = e.match(/^(\s*)([-*+]|\d+\.)(\s+.*)$/);
21
+ if (i) return /* @__PURE__ */ r("div", { children: [
22
+ /* @__PURE__ */ n("span", { children: i[1] }),
23
+ /* @__PURE__ */ n("span", {
24
+ style: { color: "#c586c0" },
25
+ children: i[2]
26
+ }),
27
+ /* @__PURE__ */ n("span", { children: i[3] })
28
+ ] }, t);
29
+ }
30
+ return e.startsWith("```") ? /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n("span", {
31
+ style: { color: "#4ec9b0" },
32
+ children: e
33
+ }) }, t) : /^>\s/.test(e) ? /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n("span", {
34
+ style: { color: "#608b4e" },
35
+ children: e
36
+ }) }, t) : /* @__PURE__ */ n("div", { children: ((e) => {
37
+ let t = [], r = 0, i = /(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`|\[([^\]]+)\]\(([^)]+)\))/g, a;
38
+ for (; (a = i.exec(e)) !== null;) {
39
+ a.index > r && t.push(e.substring(r, a.index));
40
+ let o = a[1];
41
+ o.startsWith("**") ? t.push(/* @__PURE__ */ n("span", {
42
+ style: {
43
+ color: "#ce9178",
44
+ fontWeight: "bold"
45
+ },
46
+ children: o
47
+ }, a.index)) : o.startsWith("*") ? t.push(/* @__PURE__ */ n("span", {
48
+ style: {
49
+ color: "#ce9178",
50
+ fontStyle: "italic"
51
+ },
52
+ children: o
53
+ }, a.index)) : o.startsWith("`") ? t.push(/* @__PURE__ */ n("span", {
54
+ style: { color: "#d16969" },
55
+ children: o
56
+ }, a.index)) : o.startsWith("[") && t.push(/* @__PURE__ */ n("span", {
57
+ style: { color: "#4ec9b0" },
58
+ children: o
59
+ }, a.index)), r = i.lastIndex;
60
+ }
61
+ return r < e.length && t.push(e.substring(r)), t.length > 0 ? t : e;
62
+ })(e) }, t);
63
+ }).filter(Boolean);
67
64
  }
68
- var h = 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace';
69
- function O(f) {
70
- const { enableMermaid: a, enableMarkmap: c, showLineNumbers: w, codeStyle: r } = f;
71
- return {
72
- code({ node: o, className: t, children: n, ...s }) {
73
- const l = t || "", b = /language-(\w+)/.exec(l), u = s.inline, g = b ? b[1] : "", x = s.dataMeta || s["data-meta"] || "", i = F(x, l);
74
- if (!u && g === "mermaid" && a) return /* @__PURE__ */ e("div", {
75
- className: "mermaid-diagram my-4",
76
- children: String(n).replace(/\n$/, "")
77
- });
78
- if (!u && g === "markmap" && c) return /* @__PURE__ */ e("div", {
79
- className: "markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden",
80
- "data-markmap-content": String(n).replace(/\n$/, "")
81
- });
82
- if (!u && b && g === "markdown") {
83
- const y = String(n).replace(/\n$/, "");
84
- return /* @__PURE__ */ e("pre", {
85
- style: {
86
- fontFamily: h,
87
- fontSize: "0.875em",
88
- borderRadius: "0.5rem",
89
- padding: "1em",
90
- margin: 0,
91
- backgroundColor: "rgb(30, 30, 30)",
92
- color: "rgb(212, 212, 212)",
93
- overflow: "auto",
94
- lineHeight: "1.5"
95
- },
96
- children: /* @__PURE__ */ e("code", {
97
- style: { fontFamily: h },
98
- children: T(y)
99
- })
100
- });
101
- }
102
- if (!u && b) {
103
- const y = M(i.theme, r);
104
- let p, m;
105
- Array.isArray(i.showLineNumbers) ? (p = !0, m = i.showLineNumbers) : i.showLineNumbers !== void 0 ? p = i.showLineNumbers : p = w;
106
- const L = i.startLineNumber || 1, k = i.highlightLines && i.highlightLines.length > 0 || m && m.length > 0, v = /* @__PURE__ */ e(C, {
107
- style: y,
108
- language: g,
109
- PreTag: "div",
110
- showLineNumbers: p,
111
- startingLineNumber: L,
112
- customStyle: {
113
- fontFamily: h,
114
- fontSize: "0.875em",
115
- borderRadius: i.title ? "0 0 0.5rem 0.5rem" : "0.5rem",
116
- borderTop: i.title ? "none" : void 0,
117
- padding: "1em",
118
- margin: 0,
119
- border: "none",
120
- boxShadow: "none",
121
- lineHeight: "1.5"
122
- },
123
- codeTagProps: { style: { fontFamily: h } },
124
- lineNumberStyle: (N) => {
125
- const d = {
126
- minWidth: "3em",
127
- paddingRight: "1em",
128
- userSelect: "none",
129
- border: "none"
130
- };
131
- return m ? m.includes(N) ? d.opacity = 0.5 : (d.opacity = 0, d.visibility = "hidden") : d.opacity = 0.5, d;
132
- },
133
- wrapLines: k,
134
- lineProps: (N) => {
135
- const d = {
136
- display: "block",
137
- border: "none",
138
- boxShadow: "none",
139
- outline: "none",
140
- margin: 0,
141
- padding: 0
142
- };
143
- return i.highlightLines && i.highlightLines.includes(N) && (d.backgroundColor = "rgba(255, 255, 0, 0.1)", d.display = "block", d.width = "100%"), { style: d };
144
- },
145
- ...s,
146
- children: String(n).replace(/\n$/, "")
147
- });
148
- return i.title ? /* @__PURE__ */ S("div", {
149
- className: "my-4",
150
- children: [/* @__PURE__ */ e("div", {
151
- className: "px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300",
152
- style: { fontFamily: h },
153
- children: i.title
154
- }), v]
155
- }) : v;
156
- }
157
- return /* @__PURE__ */ e("code", {
158
- className: t,
159
- ...s,
160
- children: n
161
- });
162
- },
163
- table({ node: o, children: t, ...n }) {
164
- return /* @__PURE__ */ e("div", {
165
- className: "overflow-x-auto my-6",
166
- children: /* @__PURE__ */ e("table", {
167
- className: "table-auto border-collapse w-full",
168
- ...n,
169
- children: t
170
- })
171
- });
172
- },
173
- thead({ node: o, children: t, ...n }) {
174
- return /* @__PURE__ */ e("thead", {
175
- className: "bg-base-200",
176
- ...n,
177
- children: t
178
- });
179
- },
180
- tbody({ node: o, children: t, ...n }) {
181
- return /* @__PURE__ */ e("tbody", {
182
- ...n,
183
- children: t
184
- });
185
- },
186
- tr({ node: o, children: t, ...n }) {
187
- return /* @__PURE__ */ e("tr", {
188
- className: "border-b border-base-300 hover:bg-base-100 transition-colors",
189
- ...n,
190
- children: t
191
- });
192
- },
193
- th({ node: o, children: t, ...n }) {
194
- return /* @__PURE__ */ e("th", {
195
- className: "px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300",
196
- ...n,
197
- children: t
198
- });
199
- },
200
- td({ node: o, children: t, ...n }) {
201
- return /* @__PURE__ */ e("td", {
202
- className: "px-4 py-3 text-base-content",
203
- ...n,
204
- children: t
205
- });
206
- }
207
- };
65
+ var o = "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace";
66
+ function s(s) {
67
+ let { enableMermaid: c, enableMarkmap: l, showLineNumbers: u, codeStyle: d } = s;
68
+ return {
69
+ code({ node: s, className: f, children: p, ...m }) {
70
+ let h = f || "", g = /language-(\w+)/.exec(h), _ = m.inline, v = g ? g[1] : "", y = m.dataMeta || m["data-meta"] || "", b = t(y, h);
71
+ if (!_ && v === "mermaid" && c) return /* @__PURE__ */ n("div", {
72
+ className: "mermaid-diagram my-4",
73
+ children: String(p).replace(/\n$/, "")
74
+ });
75
+ if (!_ && v === "markmap" && l) return /* @__PURE__ */ n("div", {
76
+ className: "markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden",
77
+ "data-markmap-content": String(p).replace(/\n$/, "")
78
+ });
79
+ if (!_ && g && v === "markdown") {
80
+ let e = String(p).replace(/\n$/, "");
81
+ return /* @__PURE__ */ n("pre", {
82
+ style: {
83
+ fontFamily: o,
84
+ fontSize: "0.875em",
85
+ borderRadius: "0.5rem",
86
+ padding: "1em",
87
+ margin: 0,
88
+ backgroundColor: "rgb(30, 30, 30)",
89
+ color: "rgb(212, 212, 212)",
90
+ overflow: "auto",
91
+ lineHeight: "1.5"
92
+ },
93
+ children: /* @__PURE__ */ n("code", {
94
+ style: { fontFamily: o },
95
+ children: a(e)
96
+ })
97
+ });
98
+ }
99
+ if (!_ && g) {
100
+ let t = e(b.theme, d), a, s;
101
+ Array.isArray(b.showLineNumbers) ? (a = !0, s = b.showLineNumbers) : a = b.showLineNumbers === void 0 ? u : b.showLineNumbers;
102
+ let c = b.startLineNumber || 1, l = b.highlightLines && b.highlightLines.length > 0 || s && s.length > 0, f = /* @__PURE__ */ n(i, {
103
+ style: t,
104
+ language: v,
105
+ PreTag: "div",
106
+ showLineNumbers: a,
107
+ startingLineNumber: c,
108
+ customStyle: {
109
+ fontFamily: o,
110
+ fontSize: "0.875em",
111
+ borderRadius: b.title ? "0 0 0.5rem 0.5rem" : "0.5rem",
112
+ borderTop: b.title ? "none" : void 0,
113
+ padding: "1em",
114
+ margin: 0,
115
+ border: "none",
116
+ boxShadow: "none",
117
+ lineHeight: "1.5"
118
+ },
119
+ codeTagProps: { style: { fontFamily: o } },
120
+ lineNumberStyle: (e) => {
121
+ let t = {
122
+ minWidth: "3em",
123
+ paddingRight: "1em",
124
+ userSelect: "none",
125
+ border: "none"
126
+ };
127
+ return s ? s.includes(e) ? t.opacity = .5 : (t.opacity = 0, t.visibility = "hidden") : t.opacity = .5, t;
128
+ },
129
+ wrapLines: l,
130
+ lineProps: (e) => {
131
+ let t = {
132
+ display: "block",
133
+ border: "none",
134
+ boxShadow: "none",
135
+ outline: "none",
136
+ margin: 0,
137
+ padding: 0
138
+ };
139
+ return b.highlightLines && b.highlightLines.includes(e) && (t.backgroundColor = "rgba(255, 255, 0, 0.1)", t.display = "block", t.width = "100%"), { style: t };
140
+ },
141
+ ...m,
142
+ children: String(p).replace(/\n$/, "")
143
+ });
144
+ return b.title ? /* @__PURE__ */ r("div", {
145
+ className: "my-4",
146
+ children: [/* @__PURE__ */ n("div", {
147
+ className: "px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300",
148
+ style: { fontFamily: o },
149
+ children: b.title
150
+ }), f]
151
+ }) : f;
152
+ }
153
+ return /* @__PURE__ */ n("code", {
154
+ className: f,
155
+ ...m,
156
+ children: p
157
+ });
158
+ },
159
+ table({ node: e, children: t, ...r }) {
160
+ return /* @__PURE__ */ n("div", {
161
+ className: "overflow-x-auto my-6",
162
+ children: /* @__PURE__ */ n("table", {
163
+ className: "table-auto border-collapse w-full",
164
+ ...r,
165
+ children: t
166
+ })
167
+ });
168
+ },
169
+ thead({ node: e, children: t, ...r }) {
170
+ return /* @__PURE__ */ n("thead", {
171
+ className: "bg-base-200",
172
+ ...r,
173
+ children: t
174
+ });
175
+ },
176
+ tbody({ node: e, children: t, ...r }) {
177
+ return /* @__PURE__ */ n("tbody", {
178
+ ...r,
179
+ children: t
180
+ });
181
+ },
182
+ tr({ node: e, children: t, ...r }) {
183
+ return /* @__PURE__ */ n("tr", {
184
+ className: "border-b border-base-300 hover:bg-base-100 transition-colors",
185
+ ...r,
186
+ children: t
187
+ });
188
+ },
189
+ th({ node: e, children: t, ...r }) {
190
+ return /* @__PURE__ */ n("th", {
191
+ className: "px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300",
192
+ ...r,
193
+ children: t
194
+ });
195
+ },
196
+ td({ node: e, children: t, ...r }) {
197
+ return /* @__PURE__ */ n("td", {
198
+ className: "px-4 py-3 text-base-content",
199
+ ...r,
200
+ children: t
201
+ });
202
+ }
203
+ };
208
204
  }
209
- export {
210
- O as createMarkdownComponents
211
- };
205
+ //#endregion
206
+ export { s as createMarkdownComponents };
212
207
 
213
208
  //# sourceMappingURL=markdownComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdownComponents.js","names":[],"sources":["../../../src/components/Markdown/markdownComponents.tsx"],"sourcesContent":["import React from 'react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { parseCodeBlockMeta } from './parseCodeBlockMeta';\nimport { resolveMetaTheme } from './codeThemes';\n\nfunction highlightMarkdown(text: string) {\n const lines = text.split('\\n');\n return lines.map((line, index) => {\n if (/^#{1,6}\\s/.test(line)) {\n const match = line.match(/^(#{1,6})(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span style={{ color: '#569cd6' }}>{match[1]}</span>\n <span style={{ color: '#dcdcaa' }}>{match[2]}</span>\n </div>\n );\n }\n }\n\n if (/^(\\s*)([-*+]|\\d+\\.)\\s/.test(line)) {\n const match = line.match(/^(\\s*)([-*+]|\\d+\\.)(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span>{match[1]}</span>\n <span style={{ color: '#c586c0' }}>{match[2]}</span>\n <span>{match[3]}</span>\n </div>\n );\n }\n }\n\n if (/^```/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#4ec9b0' }}>{line}</span>\n </div>\n );\n }\n\n if (/^>\\s/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#608b4e' }}>{line}</span>\n </div>\n );\n }\n\n const processInlineStyles = (text: string) => {\n const parts: React.ReactNode[] = [];\n let lastIndex = 0;\n const regex = /(\\*\\*[^*]+\\*\\*|\\*[^*]+\\*|`[^`]+`|\\[([^\\]]+)\\]\\(([^)]+)\\))/g;\n let match;\n\n while ((match = regex.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n const matched = match[1];\n if (matched.startsWith('**')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontWeight: 'bold' }}>{matched}</span>);\n } else if (matched.startsWith('*')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontStyle: 'italic' }}>{matched}</span>);\n } else if (matched.startsWith('`')) {\n parts.push(<span key={match.index} style={{ color: '#d16969' }}>{matched}</span>);\n } else if (matched.startsWith('[')) {\n parts.push(<span key={match.index} style={{ color: '#4ec9b0' }}>{matched}</span>);\n }\n lastIndex = regex.lastIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts.length > 0 ? parts : text;\n };\n\n return (\n <div key={index}>\n {processInlineStyles(line)}\n </div>\n );\n }).filter(Boolean);\n}\n\nconst MONO_FONT = 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace';\n\ninterface CreateMarkdownComponentsOpts {\n enableMermaid: boolean;\n enableMarkmap: boolean;\n showLineNumbers: boolean;\n codeStyle: any;\n}\n\nexport function createMarkdownComponents(opts: CreateMarkdownComponentsOpts) {\n const { enableMermaid, enableMarkmap, showLineNumbers, codeStyle } = opts;\n\n return {\n code({ node, className, children, ...props }: any) {\n const fullClassName = className || '';\n const match = /language-(\\w+)/.exec(fullClassName);\n const inline = props.inline;\n const language = match ? match[1] : '';\n\n const metaString = (props as any).dataMeta ||\n (props as any)['data-meta'] || '';\n\n const codeMeta = parseCodeBlockMeta(metaString, fullClassName);\n\n if (!inline && language === 'mermaid' && enableMermaid) {\n return (\n <div className=\"mermaid-diagram my-4\">\n {String(children).replace(/\\n$/, '')}\n </div>\n );\n }\n\n if (!inline && language === 'markmap' && enableMarkmap) {\n return (\n <div\n className=\"markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden\"\n data-markmap-content={String(children).replace(/\\n$/, '')}\n />\n );\n }\n\n if (!inline && match && language === 'markdown') {\n const code = String(children).replace(/\\n$/, '');\n return (\n <pre\n style={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: '0.5rem',\n padding: '1em',\n margin: 0,\n backgroundColor: 'rgb(30, 30, 30)',\n color: 'rgb(212, 212, 212)',\n overflow: 'auto',\n lineHeight: '1.5',\n }}\n >\n <code style={{ fontFamily: MONO_FONT }}>\n {highlightMarkdown(code)}\n </code>\n </pre>\n );\n }\n\n if (!inline && match) {\n const selectedStyle = resolveMetaTheme(codeMeta.theme, codeStyle);\n\n let shouldShowLineNumbers: boolean | undefined;\n let lineNumbersToShow: number[] | undefined;\n\n if (Array.isArray(codeMeta.showLineNumbers)) {\n shouldShowLineNumbers = true;\n lineNumbersToShow = codeMeta.showLineNumbers;\n } else if (codeMeta.showLineNumbers !== undefined) {\n shouldShowLineNumbers = codeMeta.showLineNumbers as boolean;\n } else {\n shouldShowLineNumbers = showLineNumbers;\n }\n\n const startingLineNumber = codeMeta.startLineNumber || 1;\n const wrapLines = (codeMeta.highlightLines && codeMeta.highlightLines.length > 0) ||\n (lineNumbersToShow && lineNumbersToShow.length > 0);\n\n const codeBlock = (\n <SyntaxHighlighter\n style={selectedStyle as any}\n language={language}\n PreTag=\"div\"\n showLineNumbers={shouldShowLineNumbers}\n startingLineNumber={startingLineNumber}\n customStyle={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: codeMeta.title ? '0 0 0.5rem 0.5rem' : '0.5rem',\n borderTop: codeMeta.title ? 'none' : undefined,\n padding: '1em',\n margin: 0,\n border: 'none',\n boxShadow: 'none',\n lineHeight: '1.5',\n }}\n codeTagProps={{\n style: { fontFamily: MONO_FONT }\n }}\n lineNumberStyle={(lineNumber: number) => {\n const baseStyle: React.CSSProperties = {\n minWidth: '3em',\n paddingRight: '1em',\n userSelect: 'none',\n border: 'none',\n };\n if (lineNumbersToShow) {\n if (lineNumbersToShow.includes(lineNumber)) {\n baseStyle.opacity = 0.5;\n } else {\n baseStyle.opacity = 0;\n baseStyle.visibility = 'hidden';\n }\n } else {\n baseStyle.opacity = 0.5;\n }\n return baseStyle;\n }}\n wrapLines={wrapLines}\n lineProps={(lineNumber: number) => {\n const style: React.CSSProperties = {\n display: 'block',\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n margin: 0,\n padding: 0,\n };\n if (codeMeta.highlightLines && codeMeta.highlightLines.includes(lineNumber)) {\n style.backgroundColor = 'rgba(255, 255, 0, 0.1)';\n style.display = 'block';\n style.width = '100%';\n }\n return { style };\n }}\n {...props}\n >\n {String(children).replace(/\\n$/, '')}\n </SyntaxHighlighter>\n );\n\n if (codeMeta.title) {\n return (\n <div className=\"my-4\">\n <div\n className=\"px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300\"\n style={{ fontFamily: MONO_FONT }}\n >\n {codeMeta.title}\n </div>\n {codeBlock}\n </div>\n );\n }\n\n return codeBlock;\n }\n\n return (\n <code className={className} {...props}>\n {children}\n </code>\n );\n },\n\n table({ node, children, ...props }: any) {\n return (\n <div className=\"overflow-x-auto my-6\">\n <table className=\"table-auto border-collapse w-full\" {...props}>\n {children}\n </table>\n </div>\n );\n },\n thead({ node, children, ...props }: any) {\n return <thead className=\"bg-base-200\" {...props}>{children}</thead>;\n },\n tbody({ node, children, ...props }: any) {\n return <tbody {...props}>{children}</tbody>;\n },\n tr({ node, children, ...props }: any) {\n return <tr className=\"border-b border-base-300 hover:bg-base-100 transition-colors\" {...props}>{children}</tr>;\n },\n th({ node, children, ...props }: any) {\n return <th className=\"px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300\" {...props}>{children}</th>;\n },\n td({ node, children, ...props }: any) {\n return <td className=\"px-4 py-3 text-base-content\" {...props}>{children}</td>;\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"markdownComponents.js","names":[],"sources":["../../../src/components/Markdown/markdownComponents.tsx"],"sourcesContent":["import React from 'react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { parseCodeBlockMeta } from './parseCodeBlockMeta';\nimport { resolveMetaTheme } from './codeThemes';\n\nfunction highlightMarkdown(text: string) {\n const lines = text.split('\\n');\n return lines.map((line, index) => {\n if (/^#{1,6}\\s/.test(line)) {\n const match = line.match(/^(#{1,6})(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span style={{ color: '#569cd6' }}>{match[1]}</span>\n <span style={{ color: '#dcdcaa' }}>{match[2]}</span>\n </div>\n );\n }\n }\n\n if (/^(\\s*)([-*+]|\\d+\\.)\\s/.test(line)) {\n const match = line.match(/^(\\s*)([-*+]|\\d+\\.)(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span>{match[1]}</span>\n <span style={{ color: '#c586c0' }}>{match[2]}</span>\n <span>{match[3]}</span>\n </div>\n );\n }\n }\n\n if (line.startsWith('```')) {\n return (\n <div key={index}>\n <span style={{ color: '#4ec9b0' }}>{line}</span>\n </div>\n );\n }\n\n if (/^>\\s/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#608b4e' }}>{line}</span>\n </div>\n );\n }\n\n const processInlineStyles = (text: string) => {\n const parts: React.ReactNode[] = [];\n let lastIndex = 0;\n const regex = /(\\*\\*[^*]+\\*\\*|\\*[^*]+\\*|`[^`]+`|\\[([^\\]]+)\\]\\(([^)]+)\\))/g;\n let match;\n\n while ((match = regex.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n const matched = match[1];\n if (matched.startsWith('**')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontWeight: 'bold' }}>{matched}</span>);\n } else if (matched.startsWith('*')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontStyle: 'italic' }}>{matched}</span>);\n } else if (matched.startsWith('`')) {\n parts.push(<span key={match.index} style={{ color: '#d16969' }}>{matched}</span>);\n } else if (matched.startsWith('[')) {\n parts.push(<span key={match.index} style={{ color: '#4ec9b0' }}>{matched}</span>);\n }\n lastIndex = regex.lastIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts.length > 0 ? parts : text;\n };\n\n return (\n <div key={index}>\n {processInlineStyles(line)}\n </div>\n );\n }).filter(Boolean);\n}\n\nconst MONO_FONT = 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace';\n\ninterface CreateMarkdownComponentsOpts {\n enableMermaid: boolean;\n enableMarkmap: boolean;\n showLineNumbers: boolean;\n codeStyle: any;\n}\n\nexport function createMarkdownComponents(opts: CreateMarkdownComponentsOpts) {\n const { enableMermaid, enableMarkmap, showLineNumbers, codeStyle } = opts;\n\n return {\n code({ node, className, children, ...props }: any) {\n const fullClassName = className || '';\n const match = /language-(\\w+)/.exec(fullClassName);\n const inline = props.inline;\n const language = match ? match[1] : '';\n\n const metaString = (props as any).dataMeta ||\n (props as any)['data-meta'] || '';\n\n const codeMeta = parseCodeBlockMeta(metaString, fullClassName);\n\n if (!inline && language === 'mermaid' && enableMermaid) {\n return (\n <div className=\"mermaid-diagram my-4\">\n {String(children).replace(/\\n$/, '')}\n </div>\n );\n }\n\n if (!inline && language === 'markmap' && enableMarkmap) {\n return (\n <div\n className=\"markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden\"\n data-markmap-content={String(children).replace(/\\n$/, '')}\n />\n );\n }\n\n if (!inline && match && language === 'markdown') {\n const code = String(children).replace(/\\n$/, '');\n return (\n <pre\n style={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: '0.5rem',\n padding: '1em',\n margin: 0,\n backgroundColor: 'rgb(30, 30, 30)',\n color: 'rgb(212, 212, 212)',\n overflow: 'auto',\n lineHeight: '1.5',\n }}\n >\n <code style={{ fontFamily: MONO_FONT }}>\n {highlightMarkdown(code)}\n </code>\n </pre>\n );\n }\n\n if (!inline && match) {\n const selectedStyle = resolveMetaTheme(codeMeta.theme, codeStyle);\n\n let shouldShowLineNumbers: boolean | undefined;\n let lineNumbersToShow: number[] | undefined;\n\n if (Array.isArray(codeMeta.showLineNumbers)) {\n shouldShowLineNumbers = true;\n lineNumbersToShow = codeMeta.showLineNumbers;\n } else if (codeMeta.showLineNumbers !== undefined) {\n shouldShowLineNumbers = codeMeta.showLineNumbers as boolean;\n } else {\n shouldShowLineNumbers = showLineNumbers;\n }\n\n const startingLineNumber = codeMeta.startLineNumber || 1;\n const wrapLines = (codeMeta.highlightLines && codeMeta.highlightLines.length > 0) ||\n (lineNumbersToShow && lineNumbersToShow.length > 0);\n\n const codeBlock = (\n <SyntaxHighlighter\n style={selectedStyle as any}\n language={language}\n PreTag=\"div\"\n showLineNumbers={shouldShowLineNumbers}\n startingLineNumber={startingLineNumber}\n customStyle={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: codeMeta.title ? '0 0 0.5rem 0.5rem' : '0.5rem',\n borderTop: codeMeta.title ? 'none' : undefined,\n padding: '1em',\n margin: 0,\n border: 'none',\n boxShadow: 'none',\n lineHeight: '1.5',\n }}\n codeTagProps={{\n style: { fontFamily: MONO_FONT }\n }}\n lineNumberStyle={(lineNumber: number) => {\n const baseStyle: React.CSSProperties = {\n minWidth: '3em',\n paddingRight: '1em',\n userSelect: 'none',\n border: 'none',\n };\n if (lineNumbersToShow) {\n if (lineNumbersToShow.includes(lineNumber)) {\n baseStyle.opacity = 0.5;\n } else {\n baseStyle.opacity = 0;\n baseStyle.visibility = 'hidden';\n }\n } else {\n baseStyle.opacity = 0.5;\n }\n return baseStyle;\n }}\n wrapLines={wrapLines}\n lineProps={(lineNumber: number) => {\n const style: React.CSSProperties = {\n display: 'block',\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n margin: 0,\n padding: 0,\n };\n if (codeMeta.highlightLines && codeMeta.highlightLines.includes(lineNumber)) {\n style.backgroundColor = 'rgba(255, 255, 0, 0.1)';\n style.display = 'block';\n style.width = '100%';\n }\n return { style };\n }}\n {...props}\n >\n {String(children).replace(/\\n$/, '')}\n </SyntaxHighlighter>\n );\n\n if (codeMeta.title) {\n return (\n <div className=\"my-4\">\n <div\n className=\"px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300\"\n style={{ fontFamily: MONO_FONT }}\n >\n {codeMeta.title}\n </div>\n {codeBlock}\n </div>\n );\n }\n\n return codeBlock;\n }\n\n return (\n <code className={className} {...props}>\n {children}\n </code>\n );\n },\n\n table({ node, children, ...props }: any) {\n return (\n <div className=\"overflow-x-auto my-6\">\n <table className=\"table-auto border-collapse w-full\" {...props}>\n {children}\n </table>\n </div>\n );\n },\n thead({ node, children, ...props }: any) {\n return <thead className=\"bg-base-200\" {...props}>{children}</thead>;\n },\n tbody({ node, children, ...props }: any) {\n return <tbody {...props}>{children}</tbody>;\n },\n tr({ node, children, ...props }: any) {\n return <tr className=\"border-b border-base-300 hover:bg-base-100 transition-colors\" {...props}>{children}</tr>;\n },\n th({ node, children, ...props }: any) {\n return <th className=\"px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300\" {...props}>{children}</th>;\n },\n td({ node, children, ...props }: any) {\n return <td className=\"px-4 py-3 text-base-content\" {...props}>{children}</td>;\n },\n };\n}\n"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- function o(h) {
2
- const a = h.split(",").map((t) => t.trim()), e = [];
3
- return a.forEach((t) => {
4
- if (t.includes("-")) {
5
- const [i, n] = t.split("-").map((s) => parseInt(s.trim(), 10));
6
- for (let s = i; s <= n; s++) e.push(s);
7
- } else e.push(parseInt(t, 10));
8
- }), e;
1
+ //#region src/components/Markdown/parseCodeBlockMeta.ts
2
+ function e(e) {
3
+ let t = e.split(",").map((e) => e.trim()), n = [];
4
+ return t.forEach((e) => {
5
+ if (e.includes("-")) {
6
+ let [t, r] = e.split("-").map((e) => parseInt(e.trim(), 10));
7
+ for (let e = t; e <= r; e++) n.push(e);
8
+ } else n.push(parseInt(e, 10));
9
+ }), n;
9
10
  }
10
- function m(h, a) {
11
- const e = {}, t = `${h} ${a}`, i = t.match(/title[=:]["']([^"']+)["']/);
12
- i && (e.title = i[1]);
13
- const n = t.match(/theme[=:]["']?([^"'\s]+)["']?/);
14
- n && (e.theme = n[1]);
15
- const s = t.match(/startLineNumber[=:](\d+)/);
16
- s && (e.startLineNumber = parseInt(s[1], 10));
17
- const c = t.match(/\{([\d,\-\s]+)\}/);
18
- c && (e.highlightLines = o(c[1]));
19
- const r = t.match(/showLineNumbers\s*\{([\d,\-\s]+)\}/);
20
- return r ? e.showLineNumbers = o(r[1]) : /showLineNumbers/.test(t) && (e.showLineNumbers = !0), e;
11
+ function t(t, n) {
12
+ let r = {}, i = `${t} ${n}`, a = i.match(/title[=:]["']([^"']+)["']/);
13
+ a && (r.title = a[1]);
14
+ let o = i.match(/theme[=:]["']?([^"'\s]+)["']?/);
15
+ o && (r.theme = o[1]);
16
+ let s = i.match(/startLineNumber[=:](\d+)/);
17
+ s && (r.startLineNumber = parseInt(s[1], 10));
18
+ let c = i.match(/\{([\d,\-\s]+)\}/);
19
+ c && (r.highlightLines = e(c[1]));
20
+ let l = i.match(/showLineNumbers\s*\{([\d,\-\s]+)\}/);
21
+ return l ? r.showLineNumbers = e(l[1]) : /showLineNumbers/.test(i) && (r.showLineNumbers = !0), r;
21
22
  }
22
- export {
23
- m as parseCodeBlockMeta
24
- };
23
+ //#endregion
24
+ export { t as parseCodeBlockMeta };
25
25
 
26
26
  //# sourceMappingURL=parseCodeBlockMeta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseCodeBlockMeta.js","names":[],"sources":["../../../src/components/Markdown/parseCodeBlockMeta.ts"],"sourcesContent":["export interface CodeBlockMeta {\n showLineNumbers?: boolean | number[];\n startLineNumber?: number;\n highlightLines?: number[];\n theme?: string;\n title?: string;\n}\n\nfunction parseLineRanges(rangeStr: string): number[] {\n const ranges = rangeStr.split(',').map(s => s.trim());\n const lines: number[] = [];\n ranges.forEach(range => {\n if (range.includes('-')) {\n const [start, end] = range.split('-').map(n => parseInt(n.trim(), 10));\n for (let i = start; i <= end; i++) {\n lines.push(i);\n }\n } else {\n lines.push(parseInt(range, 10));\n }\n });\n return lines;\n}\n\nexport function parseCodeBlockMeta(metaStr: string, classStr: string): CodeBlockMeta {\n const meta: CodeBlockMeta = {};\n const fullMeta = `${metaStr} ${classStr}`;\n\n const titleMatch = fullMeta.match(/title[=:][\"']([^\"']+)[\"']/);\n if (titleMatch) {\n meta.title = titleMatch[1];\n }\n\n const themeMatch = fullMeta.match(/theme[=:][\"']?([^\"'\\s]+)[\"']?/);\n if (themeMatch) {\n meta.theme = themeMatch[1];\n }\n\n const startLineMatch = fullMeta.match(/startLineNumber[=:](\\d+)/);\n if (startLineMatch) {\n meta.startLineNumber = parseInt(startLineMatch[1], 10);\n }\n\n const highlightMatch = fullMeta.match(/\\{([\\d,\\-\\s]+)\\}/);\n if (highlightMatch) {\n meta.highlightLines = parseLineRanges(highlightMatch[1]);\n }\n\n const showLineNumbersMatch = fullMeta.match(/showLineNumbers\\s*\\{([\\d,\\-\\s]+)\\}/);\n if (showLineNumbersMatch) {\n meta.showLineNumbers = parseLineRanges(showLineNumbersMatch[1]);\n } else if (/showLineNumbers/.test(fullMeta)) {\n meta.showLineNumbers = true;\n }\n\n return meta;\n}\n"],"mappings":"AAQA,SAAS,EAAgB,GAA4B;AACnD,QAAM,IAAS,EAAS,MAAM,GAAG,EAAE,IAAA,CAAI,MAAK,EAAE,KAAK,CAAC,GAC9C,IAAkB,CAAC;AACzB,SAAA,EAAO,QAAA,CAAQ,MAAS;AACtB,QAAI,EAAM,SAAS,GAAG,GAAG;AACvB,YAAM,CAAC,GAAO,CAAA,IAAO,EAAM,MAAM,GAAG,EAAE,IAAA,CAAI,MAAK,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC;AACrE,eAAS,IAAI,GAAO,KAAK,GAAK,IAC5B,CAAA,EAAM,KAAK,CAAC;AAAA,IAEhB,MACE,CAAA,EAAM,KAAK,SAAS,GAAO,EAAE,CAAC;AAAA,EAElC,CAAC,GACM;AACT;AAEA,SAAgB,EAAmB,GAAiB,GAAiC;AACnF,QAAM,IAAsB,CAAC,GACvB,IAAW,GAAG,CAAA,IAAW,CAAA,IAEzB,IAAa,EAAS,MAAM,2BAA2B;AAC7D,EAAI,MACF,EAAK,QAAQ,EAAW,CAAA;AAG1B,QAAM,IAAa,EAAS,MAAM,+BAA+B;AACjE,EAAI,MACF,EAAK,QAAQ,EAAW,CAAA;AAG1B,QAAM,IAAiB,EAAS,MAAM,0BAA0B;AAChE,EAAI,MACF,EAAK,kBAAkB,SAAS,EAAe,CAAA,GAAI,EAAE;AAGvD,QAAM,IAAiB,EAAS,MAAM,kBAAkB;AACxD,EAAI,MACF,EAAK,iBAAiB,EAAgB,EAAe,CAAA,CAAE;AAGzD,QAAM,IAAuB,EAAS,MAAM,oCAAoC;AAChF,SAAI,IACF,EAAK,kBAAkB,EAAgB,EAAqB,CAAA,CAAE,IACrD,kBAAkB,KAAK,CAAQ,MACxC,EAAK,kBAAkB,KAGlB;AACT"}
1
+ {"version":3,"file":"parseCodeBlockMeta.js","names":[],"sources":["../../../src/components/Markdown/parseCodeBlockMeta.ts"],"sourcesContent":["export interface CodeBlockMeta {\n showLineNumbers?: boolean | number[];\n startLineNumber?: number;\n highlightLines?: number[];\n theme?: string;\n title?: string;\n}\n\nfunction parseLineRanges(rangeStr: string): number[] {\n const ranges = rangeStr.split(',').map(s => s.trim());\n const lines: number[] = [];\n ranges.forEach(range => {\n if (range.includes('-')) {\n const [start, end] = range.split('-').map(n => parseInt(n.trim(), 10));\n for (let i = start; i <= end; i++) {\n lines.push(i);\n }\n } else {\n lines.push(parseInt(range, 10));\n }\n });\n return lines;\n}\n\nexport function parseCodeBlockMeta(metaStr: string, classStr: string): CodeBlockMeta {\n const meta: CodeBlockMeta = {};\n const fullMeta = `${metaStr} ${classStr}`;\n\n const titleMatch = fullMeta.match(/title[=:][\"']([^\"']+)[\"']/);\n if (titleMatch) {\n meta.title = titleMatch[1];\n }\n\n const themeMatch = fullMeta.match(/theme[=:][\"']?([^\"'\\s]+)[\"']?/);\n if (themeMatch) {\n meta.theme = themeMatch[1];\n }\n\n const startLineMatch = fullMeta.match(/startLineNumber[=:](\\d+)/);\n if (startLineMatch) {\n meta.startLineNumber = parseInt(startLineMatch[1], 10);\n }\n\n const highlightMatch = fullMeta.match(/\\{([\\d,\\-\\s]+)\\}/);\n if (highlightMatch) {\n meta.highlightLines = parseLineRanges(highlightMatch[1]);\n }\n\n const showLineNumbersMatch = fullMeta.match(/showLineNumbers\\s*\\{([\\d,\\-\\s]+)\\}/);\n if (showLineNumbersMatch) {\n meta.showLineNumbers = parseLineRanges(showLineNumbersMatch[1]);\n } else if (/showLineNumbers/.test(fullMeta)) {\n meta.showLineNumbers = true;\n }\n\n return meta;\n}\n"],"mappings":";AAQA,SAAS,EAAgB,GAA4B;CACnD,IAAM,IAAS,EAAS,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,EAAE,KAAK,CAAC,GAC9C,IAAkB,CAAC;CAWzB,OAVA,EAAO,SAAQ,MAAS;EACtB,IAAI,EAAM,SAAS,GAAG,GAAG;GACvB,IAAM,CAAC,GAAO,KAAO,EAAM,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC;GACrE,KAAK,IAAI,IAAI,GAAO,KAAK,GAAK,KAC5B,EAAM,KAAK,CAAC;EAEhB,OACE,EAAM,KAAK,SAAS,GAAO,EAAE,CAAC;CAElC,CAAC,GACM;AACT;AAEA,SAAgB,EAAmB,GAAiB,GAAiC;CACnF,IAAM,IAAsB,CAAC,GACvB,IAAW,GAAG,EAAQ,GAAG,KAEzB,IAAa,EAAS,MAAM,2BAA2B;CAC7D,AAAI,MACF,EAAK,QAAQ,EAAW;CAG1B,IAAM,IAAa,EAAS,MAAM,+BAA+B;CACjE,AAAI,MACF,EAAK,QAAQ,EAAW;CAG1B,IAAM,IAAiB,EAAS,MAAM,0BAA0B;CAChE,AAAI,MACF,EAAK,kBAAkB,SAAS,EAAe,IAAI,EAAE;CAGvD,IAAM,IAAiB,EAAS,MAAM,kBAAkB;CACxD,AAAI,MACF,EAAK,iBAAiB,EAAgB,EAAe,EAAE;CAGzD,IAAM,IAAuB,EAAS,MAAM,oCAAoC;CAOhF,OANI,IACF,EAAK,kBAAkB,EAAgB,EAAqB,EAAE,IACrD,kBAAkB,KAAK,CAAQ,MACxC,EAAK,kBAAkB,KAGlB;AACT"}