dishui 0.0.65 → 0.0.66

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 (500) 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/Badge/index.js +10 -15
  5. package/dist/components/Badge/index.js.map +1 -1
  6. package/dist/components/Button/index.js +62 -89
  7. package/dist/components/Button/index.js.map +1 -1
  8. package/dist/components/Card/index.d.ts +76 -0
  9. package/dist/components/Card/index.js +178 -69
  10. package/dist/components/Card/index.js.map +1 -1
  11. package/dist/components/Chart/Chart.js +25 -25
  12. package/dist/components/Chart/Chart.js.map +1 -1
  13. package/dist/components/Checkbox/index.js +57 -65
  14. package/dist/components/Checkbox/index.js.map +1 -1
  15. package/dist/components/ChoicePicker/index.d.ts +44 -0
  16. package/dist/components/ChoicePicker/index.js +81 -0
  17. package/dist/components/ChoicePicker/index.js.map +1 -0
  18. package/dist/components/Column/index.d.ts +28 -0
  19. package/dist/components/Column/index.js +30 -0
  20. package/dist/components/Column/index.js.map +1 -0
  21. package/dist/components/DateTimeInput/index.d.ts +44 -0
  22. package/dist/components/DateTimeInput/index.js +48 -0
  23. package/dist/components/DateTimeInput/index.js.map +1 -0
  24. package/dist/components/Demo/index.js +107 -107
  25. package/dist/components/Demo/index.js.map +1 -1
  26. package/dist/components/Divider/index.d.ts +20 -0
  27. package/dist/components/Divider/index.js +30 -0
  28. package/dist/components/Divider/index.js.map +1 -0
  29. package/dist/components/EmptyState/index.js +24 -24
  30. package/dist/components/EmptyState/index.js.map +1 -1
  31. package/dist/components/FileUploader/DropZone.js +134 -136
  32. package/dist/components/FileUploader/DropZone.js.map +1 -1
  33. package/dist/components/FileUploader/FileItem.js +159 -163
  34. package/dist/components/FileUploader/FileItem.js.map +1 -1
  35. package/dist/components/FileUploader/FileUploader.js +126 -127
  36. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  37. package/dist/components/FileUploader/UploadQueue.js +62 -62
  38. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  39. package/dist/components/FloatWindow/index.d.ts +28 -0
  40. package/dist/components/GridLayout/index.d.ts +42 -0
  41. package/dist/components/Icon/index.d.ts +24 -0
  42. package/dist/components/Icon/index.js +26 -0
  43. package/dist/components/Icon/index.js.map +1 -0
  44. package/dist/components/Image/index.d.ts +33 -0
  45. package/dist/components/Image/index.js +44 -0
  46. package/dist/components/Image/index.js.map +1 -0
  47. package/dist/components/Input/index.js +196 -197
  48. package/dist/components/Input/index.js.map +1 -1
  49. package/dist/components/Label/index.js +62 -74
  50. package/dist/components/Label/index.js.map +1 -1
  51. package/dist/components/Layout/index.js +134 -139
  52. package/dist/components/Layout/index.js.map +1 -1
  53. package/dist/components/List/index.js +45 -58
  54. package/dist/components/List/index.js.map +1 -1
  55. package/dist/components/Markdown/Markdown.js +106 -107
  56. package/dist/components/Markdown/Markdown.js.map +1 -1
  57. package/dist/components/Markdown/codeThemes.js +24 -33
  58. package/dist/components/Markdown/codeThemes.js.map +1 -1
  59. package/dist/components/Markdown/markdownComponents.js +203 -208
  60. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  61. package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
  62. package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
  63. package/dist/components/Markdown/useMarkdownSource.js +46 -46
  64. package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
  65. package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
  66. package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
  67. package/dist/components/Markdown/useMermaidRenderer.js +41 -42
  68. package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
  69. package/dist/components/Modal/index.js +82 -82
  70. package/dist/components/Modal/index.js.map +1 -1
  71. package/dist/components/MultipleChoice/index.d.ts +44 -0
  72. package/dist/components/MultipleChoice/index.js +52 -0
  73. package/dist/components/MultipleChoice/index.js.map +1 -0
  74. package/dist/components/Notification/index.d.ts +17 -0
  75. package/dist/components/Page/index.js +40 -71
  76. package/dist/components/Page/index.js.map +1 -1
  77. package/dist/components/PageHeader/index.js +28 -28
  78. package/dist/components/PageHeader/index.js.map +1 -1
  79. package/dist/components/ProtectedRoute/index.js +8 -9
  80. package/dist/components/ProtectedRoute/index.js.map +1 -1
  81. package/dist/components/Row/index.d.ts +28 -0
  82. package/dist/components/Row/index.js +30 -0
  83. package/dist/components/Row/index.js.map +1 -0
  84. package/dist/components/Select/index.js +251 -254
  85. package/dist/components/Select/index.js.map +1 -1
  86. package/dist/components/SidebarToggleButton/index.js +56 -59
  87. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  88. package/dist/components/Slider/index.d.ts +39 -0
  89. package/dist/components/Slider/index.js +52 -0
  90. package/dist/components/Slider/index.js.map +1 -0
  91. package/dist/components/StatCard/index.d.ts +29 -1
  92. package/dist/components/StatCard/index.js +189 -86
  93. package/dist/components/StatCard/index.js.map +1 -1
  94. package/dist/components/Switch/index.d.ts +34 -0
  95. package/dist/components/Switch/index.js +55 -0
  96. package/dist/components/Switch/index.js.map +1 -0
  97. package/dist/components/Tab/index.d.ts +40 -0
  98. package/dist/components/Table/index.js +109 -121
  99. package/dist/components/Table/index.js.map +1 -1
  100. package/dist/components/Tabs/index.js +28 -38
  101. package/dist/components/Tabs/index.js.map +1 -1
  102. package/dist/components/Text/index.d.ts +43 -0
  103. package/dist/components/Text/index.js +55 -0
  104. package/dist/components/Text/index.js.map +1 -0
  105. package/dist/components/Tooltip/index.d.ts +23 -0
  106. package/dist/components/Tooltip/index.js +34 -0
  107. package/dist/components/Tooltip/index.js.map +1 -0
  108. package/dist/components/Tree/Tree.js +205 -205
  109. package/dist/components/Tree/Tree.js.map +1 -1
  110. package/dist/components/pro/ArticleContextMenu/index.js +86 -87
  111. package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
  112. package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
  113. package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
  114. package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
  115. package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
  116. package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
  117. package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
  118. package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
  119. package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
  120. package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
  121. package/dist/components/pro/Calendar/index.d.ts +7 -0
  122. package/dist/components/pro/Calendar/types.d.ts +151 -0
  123. package/dist/components/pro/Calendar/utils.d.ts +94 -0
  124. package/dist/components/pro/Chat/Chat.d.ts +6 -0
  125. package/dist/components/pro/Chat/index.d.ts +2 -0
  126. package/dist/components/pro/Chat/types.d.ts +84 -0
  127. package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -327
  128. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  129. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
  130. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
  131. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
  132. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
  133. package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
  134. package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
  135. package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
  136. package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
  137. package/dist/components/pro/CodeEditor/langs/index.js +7 -15
  138. package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
  139. package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
  140. package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
  141. package/dist/components/pro/CodeEditor/langs/python.js +4 -40
  142. package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
  143. package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
  144. package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
  145. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
  146. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
  147. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
  148. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
  149. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
  150. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
  151. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
  152. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
  153. package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
  154. package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
  155. package/dist/components/pro/CodeEditor/themes.js +513 -483
  156. package/dist/components/pro/CodeEditor/themes.js.map +1 -1
  157. package/dist/components/pro/CodeEditor/types.d.ts +1 -1
  158. package/dist/components/pro/CodeEditor/utils.js +171 -175
  159. package/dist/components/pro/CodeEditor/utils.js.map +1 -1
  160. package/dist/components/pro/DataTable/DataTable.js +305 -306
  161. package/dist/components/pro/DataTable/DataTable.js.map +1 -1
  162. package/dist/components/pro/DataTable/Filters.js +299 -314
  163. package/dist/components/pro/DataTable/Filters.js.map +1 -1
  164. package/dist/components/pro/DataTable/PivotPanel.js +203 -204
  165. package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
  166. package/dist/components/pro/DataTable/PivotView.js +142 -144
  167. package/dist/components/pro/DataTable/PivotView.js.map +1 -1
  168. package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
  169. package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
  170. package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
  171. package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
  172. package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
  173. package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
  174. package/dist/components/pro/DataTable/components/TableBody.js +93 -94
  175. package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
  176. package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
  177. package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
  178. package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
  179. package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
  180. package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
  181. package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
  182. package/dist/components/pro/DataTable/extension.js +5 -5
  183. package/dist/components/pro/DataTable/extension.js.map +1 -1
  184. package/dist/components/pro/DataTable/pivotEngine.js +84 -92
  185. package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
  186. package/dist/components/pro/DataTable/pivotExtension.js +93 -93
  187. package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
  188. package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
  189. package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
  190. package/dist/components/pro/DataTable/tanstack-table.js +45 -62
  191. package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
  192. package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
  193. package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
  194. package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
  195. package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
  196. package/dist/components/pro/DataTable/utils.js +156 -168
  197. package/dist/components/pro/DataTable/utils.js.map +1 -1
  198. package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
  199. package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
  200. package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
  201. package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
  202. package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
  203. package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
  204. package/dist/components/pro/FileExplorer/FileIcon.js +189 -189
  205. package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
  206. package/dist/components/pro/FileExplorer/GridView.js +100 -100
  207. package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
  208. package/dist/components/pro/FileExplorer/ListView.js +209 -209
  209. package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
  210. package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
  211. package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
  212. package/dist/components/pro/Flow/Flow.js +920 -948
  213. package/dist/components/pro/Flow/Flow.js.map +1 -1
  214. package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
  215. package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
  216. package/dist/components/pro/Flow/archify/build.js +85 -94
  217. package/dist/components/pro/Flow/archify/build.js.map +1 -1
  218. package/dist/components/pro/Flow/archify/convert.js +512 -519
  219. package/dist/components/pro/Flow/archify/convert.js.map +1 -1
  220. package/dist/components/pro/Flow/archify/palette.js +87 -104
  221. package/dist/components/pro/Flow/archify/palette.js.map +1 -1
  222. package/dist/components/pro/Flow/archify/presets.js +34 -37
  223. package/dist/components/pro/Flow/archify/presets.js.map +1 -1
  224. package/dist/components/pro/Flow/archify/spec.js +7 -7
  225. package/dist/components/pro/Flow/archify/spec.js.map +1 -1
  226. package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
  227. package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
  228. package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
  229. package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
  230. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
  231. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
  232. package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
  233. package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
  234. package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
  235. package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
  236. package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
  237. package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
  238. package/dist/components/pro/Flow/constants.js +266 -278
  239. package/dist/components/pro/Flow/constants.js.map +1 -1
  240. package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
  241. package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
  242. package/dist/components/pro/Flow/context/FlowContext.js +60 -61
  243. package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
  244. package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
  245. package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
  246. package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
  247. package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
  248. package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
  249. package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
  250. package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
  251. package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
  252. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
  253. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
  254. package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
  255. package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
  256. package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
  257. package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
  258. package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
  259. package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
  260. package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
  261. package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
  262. package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
  263. package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
  264. package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
  265. package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
  266. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
  267. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
  268. package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -180
  269. package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
  270. package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
  271. package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
  272. package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
  273. package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
  274. package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
  275. package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
  276. package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
  277. package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
  278. package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
  279. package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
  280. package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
  281. package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
  282. package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
  283. package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
  284. package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
  285. package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
  286. package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
  287. package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
  288. package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
  289. package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
  290. package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
  291. package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
  292. package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
  293. package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
  294. package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
  295. package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
  296. package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -242
  297. package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
  298. package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
  299. package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
  300. package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
  301. package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
  302. package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
  303. package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
  304. package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
  305. package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
  306. package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
  307. package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
  308. package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
  309. package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
  310. package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
  311. package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
  312. package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
  313. package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
  314. package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
  315. package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
  316. package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
  317. package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
  318. package/dist/components/pro/Flow/nodes/shapes.js +556 -589
  319. package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
  320. package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
  321. package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
  322. package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
  323. package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
  324. package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
  325. package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
  326. package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
  327. package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
  328. package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
  329. package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
  330. package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
  331. package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
  332. package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
  333. package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
  334. package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
  335. package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
  336. package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
  337. package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
  338. package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
  339. package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
  340. package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -248
  341. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  342. package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
  343. package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
  344. package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
  345. package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
  346. package/dist/components/pro/Flow/panels/ShapePalette.js +557 -572
  347. package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
  348. package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
  349. package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
  350. package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
  351. package/dist/components/pro/Flow/types.js +26 -26
  352. package/dist/components/pro/Flow/types.js.map +1 -1
  353. package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
  354. package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
  355. package/dist/components/pro/Flow/utils/gradient.js +55 -55
  356. package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
  357. package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
  358. package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
  359. package/dist/components/pro/Flow/utils/themeColor.js +185 -195
  360. package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
  361. package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
  362. package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
  363. package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
  364. package/dist/components/pro/Gantt/index.d.ts +6 -0
  365. package/dist/components/pro/Gantt/types.d.ts +478 -0
  366. package/dist/components/pro/Gantt/utils.d.ts +124 -0
  367. package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
  368. package/dist/components/pro/Resizable/index.d.ts +2 -0
  369. package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
  370. package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
  371. package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
  372. package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
  373. package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
  374. package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
  375. package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
  376. package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
  377. package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
  378. package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
  379. package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
  380. package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
  381. package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
  382. package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
  383. package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
  384. package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
  385. package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
  386. package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
  387. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
  388. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
  389. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
  390. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
  391. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
  392. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
  393. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
  394. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
  395. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
  396. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
  397. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
  398. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
  399. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
  400. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
  401. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
  402. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
  403. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
  404. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
  405. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
  406. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
  407. package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
  408. package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
  409. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
  410. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
  411. package/dist/components/pro/RichTextEditor/types.js +75 -75
  412. package/dist/components/pro/RichTextEditor/types.js.map +1 -1
  413. package/dist/contexts/AppContext.d.ts +1 -1
  414. package/dist/contexts/AppContext.js +216 -221
  415. package/dist/contexts/AppContext.js.map +1 -1
  416. package/dist/data-table.js +15 -41
  417. package/dist/data-table.js.map +1 -1
  418. package/dist/dishui.css +1 -1
  419. package/dist/flow.js +27 -83
  420. package/dist/hooks/useClickOutside.js +18 -18
  421. package/dist/hooks/useClickOutside.js.map +1 -1
  422. package/dist/hooks/useContainerElement.js +9 -9
  423. package/dist/hooks/useContainerElement.js.map +1 -1
  424. package/dist/hooks/useControllableState.js +33 -35
  425. package/dist/hooks/useControllableState.js.map +1 -1
  426. package/dist/hooks/useCopyToClipboard.js +16 -16
  427. package/dist/hooks/useCopyToClipboard.js.map +1 -1
  428. package/dist/hooks/useDebounce.js +14 -14
  429. package/dist/hooks/useDebounce.js.map +1 -1
  430. package/dist/hooks/useDraggable.js +50 -50
  431. package/dist/hooks/useDraggable.js.map +1 -1
  432. package/dist/hooks/useTableColumns.js +39 -41
  433. package/dist/hooks/useTableColumns.js.map +1 -1
  434. package/dist/hooks/useTableData.js +67 -68
  435. package/dist/hooks/useTableData.js.map +1 -1
  436. package/dist/index-nostyled.d.ts +8 -0
  437. package/dist/index.d.ts +27 -1
  438. package/dist/index.js +105 -241
  439. package/dist/layouts/MainLayout.js +56 -56
  440. package/dist/layouts/MainLayout.js.map +1 -1
  441. package/dist/layouts/Navbar.js +214 -214
  442. package/dist/layouts/Navbar.js.map +1 -1
  443. package/dist/layouts/Sidebar.js +184 -186
  444. package/dist/layouts/Sidebar.js.map +1 -1
  445. package/dist/layouts/headbar/Headbar.js +25 -25
  446. package/dist/layouts/headbar/Headbar.js.map +1 -1
  447. package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
  448. package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
  449. package/dist/layouts/headbar/HeadbarSearch.js +120 -120
  450. package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
  451. package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
  452. package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
  453. package/dist/layouts/headbar/HeadbarTitle.js +26 -26
  454. package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
  455. package/dist/lite.js +9 -24
  456. package/dist/markdown.js +4 -9
  457. package/dist/pages/components/Calendar/index.d.ts +3 -0
  458. package/dist/pages/components/Calendar/index.en.d.ts +3 -0
  459. package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
  460. package/dist/pages/components/Chat/index.d.ts +3 -0
  461. package/dist/pages/components/Chat/index.en.d.ts +3 -0
  462. package/dist/pages/components/Chat/index.zh.d.ts +3 -0
  463. package/dist/pages/components/FloatWindow/index.d.ts +3 -0
  464. package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
  465. package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
  466. package/dist/pages/components/Gantt/index.d.ts +3 -0
  467. package/dist/pages/components/Gantt/index.en.d.ts +3 -0
  468. package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
  469. package/dist/pages/components/GridLayout/index.d.ts +3 -0
  470. package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
  471. package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
  472. package/dist/pages/components/Notification/index.d.ts +3 -0
  473. package/dist/pages/components/Notification/index.en.d.ts +3 -0
  474. package/dist/pages/components/Notification/index.zh.d.ts +3 -0
  475. package/dist/pages/components/Resizable/index.d.ts +3 -0
  476. package/dist/pages/components/Resizable/index.en.d.ts +3 -0
  477. package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
  478. package/dist/pages/components/Tab/index.d.ts +3 -0
  479. package/dist/pages/components/Tab/index.en.d.ts +3 -0
  480. package/dist/pages/components/Tab/index.zh.d.ts +3 -0
  481. package/dist/styles/themeStyles.js +87 -86
  482. package/dist/styles/themeStyles.js.map +1 -1
  483. package/dist/utils/cn.d.ts +13 -0
  484. package/dist/utils/cn.js +16 -0
  485. package/dist/utils/cn.js.map +1 -0
  486. package/dist/utils/i18n.js +690 -602
  487. package/dist/utils/i18n.js.map +1 -1
  488. package/dist/utils/menu.js +94 -94
  489. package/dist/utils/menu.js.map +1 -1
  490. package/dist/utils/rehype-code-meta.js +14 -14
  491. package/dist/utils/rehype-code-meta.js.map +1 -1
  492. package/dist/utils/remark-code-meta.js +9 -9
  493. package/dist/utils/remark-code-meta.js.map +1 -1
  494. package/dist/utils/routerBuilder.js +59 -60
  495. package/dist/utils/routerBuilder.js.map +1 -1
  496. package/dist/utils/selection.js +28 -29
  497. package/dist/utils/selection.js.map +1 -1
  498. package/dist/utils/themes.js +275 -255
  499. package/dist/utils/themes.js.map +1 -1
  500. package/package.json +19 -6
@@ -1,163 +1,155 @@
1
- import { getDefaultSnippets as h } from "../langs/snippets.js";
2
- import { getLanguageKeywords as b } from "../langs/index.js";
3
- import { Decoration as u, EditorView as f, ViewPlugin as y } from "@codemirror/view";
4
- import { autocompletion as E } from "@codemirror/autocomplete";
5
- var k = [
6
- {
7
- pattern: /(?:function|const|let|var)\s+IDENTIFIER\s*[=\(]/,
8
- language: ["javascript", "typescript"]
9
- },
10
- {
11
- pattern: /class\s+IDENTIFIER\b/,
12
- language: [
13
- "javascript",
14
- "typescript",
15
- "python"
16
- ]
17
- },
18
- {
19
- pattern: /interface\s+IDENTIFIER\b/,
20
- language: ["typescript"]
21
- },
22
- {
23
- pattern: /type\s+IDENTIFIER\b/,
24
- language: ["typescript"]
25
- },
26
- {
27
- pattern: /def\s+IDENTIFIER\s*\(/,
28
- language: ["python"]
29
- }
30
- ], g = (i, m, a) => {
31
- if (a) return a(i, m);
32
- const p = i.split(`
33
- `), l = m.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
34
- for (const t of k) {
35
- const e = t.pattern.source.replace("IDENTIFIER", l), o = new RegExp(e);
36
- for (let r = 0; r < p.length; r++) if (o.test(p[r])) return r + 1;
37
- }
38
- return 0;
39
- }, v = (i, m = {}) => {
40
- const { modifierKey: a = "ctrl", highlightColor: p = "rgba(59, 130, 246, 0.3)", customFinder: l } = m;
41
- return [f.domEventHandlers({ mousedown: (t, e) => {
42
- if ((a === "ctrl" ? t.ctrlKey || t.metaKey : t.altKey) && t.button === 0) {
43
- const o = e.posAtCoords({
44
- x: t.clientX,
45
- y: t.clientY
46
- });
47
- if (o !== null) {
48
- const r = e.state.wordAt(o);
49
- if (r) {
50
- const c = e.state.sliceDoc(r.from, r.to), s = g(e.state.doc.toString(), c, l);
51
- if (s > 0 && i)
52
- return i(s), t.preventDefault(), !0;
53
- }
54
- }
55
- }
56
- return !1;
57
- } }), y.fromClass(class {
58
- decorations;
59
- modifierPressed;
60
- currentMousePos;
61
- constructor(t) {
62
- this.decorations = u.none, this.modifierPressed = !1, this.currentMousePos = null, this.addEventListeners(t);
63
- }
64
- addEventListeners(t) {
65
- const e = (s) => {
66
- (a === "ctrl" ? s.ctrlKey || s.metaKey : s.altKey) && !this.modifierPressed && (this.modifierPressed = !0, this.currentMousePos !== null && (this.decorations = this.buildDecorations(t, this.currentMousePos), t.update([])));
67
- }, o = (s) => {
68
- (a === "ctrl" ? s.key === "Control" || s.key === "Meta" : s.key === "Alt") && (this.modifierPressed = !1, this.decorations = u.none, t.update([]));
69
- }, r = (s) => {
70
- const d = t.posAtCoords({
71
- x: s.clientX,
72
- y: s.clientY
73
- });
74
- d !== null && (this.currentMousePos = d, this.modifierPressed && (this.decorations = this.buildDecorations(t, d), t.update([])));
75
- }, c = () => {
76
- this.currentMousePos = null, this.decorations = u.none, this.modifierPressed && t.update([]);
77
- };
78
- window.addEventListener("keydown", e), window.addEventListener("keyup", o), t.dom.addEventListener("mousemove", r), t.dom.addEventListener("mouseleave", c), this.cleanup = () => {
79
- window.removeEventListener("keydown", e), window.removeEventListener("keyup", o), t.dom.removeEventListener("mousemove", r), t.dom.removeEventListener("mouseleave", c);
80
- };
81
- }
82
- update(t) {
83
- }
84
- buildDecorations(t, e) {
85
- const o = t.state.wordAt(e);
86
- if (!o) return u.none;
87
- const r = t.state.sliceDoc(o.from, o.to);
88
- if (g(t.state.doc.toString(), r, l) > 0) {
89
- const c = u.mark({ class: "cm-jump-target" });
90
- return u.set([c.range(o.from, o.to)]);
91
- }
92
- return u.none;
93
- }
94
- destroy() {
95
- this.cleanup && this.cleanup();
96
- }
97
- }, { decorations: (t) => t.decorations })];
98
- }, C = (i, m = {}) => {
99
- const { keywords: a = b(i), snippets: p = h(i), customSource: l } = m;
100
- return E({ override: [async (t) => {
101
- if (l) {
102
- const n = await Promise.resolve(l(t));
103
- if (n) return n;
104
- }
105
- const e = t.matchBefore(/\w*/);
106
- if (!e || e.from === e.to && !t.explicit) return null;
107
- const o = [];
108
- for (const n of a) n.startsWith(e.text) && o.push({
109
- label: n,
110
- type: "keyword",
111
- boost: 2
112
- });
113
- const r = t.state.doc.toString(), c = /* @__PURE__ */ new Set(), s = i.includes("python") ? /\b([a-zA-Z_][a-zA-Z0-9_]+)\b/g : /\b([a-zA-Z_$][a-zA-Z0-9_$]+)\b/g;
114
- let d;
115
- for (; (d = s.exec(r)) !== null; ) d[1].length > 2 && !a.includes(d[1]) && c.add(d[1]);
116
- for (const n of c) n.startsWith(e.text) && n !== e.text && o.push({
117
- label: n,
118
- type: "variable",
119
- boost: 1
120
- });
121
- for (const n of p) n.label.startsWith(e.text) && o.push(n);
122
- return {
123
- from: e.from,
124
- options: o
125
- };
126
- }] });
127
- }, w = f.baseTheme({
128
- "&light .cm-matchingBracket": { backgroundColor: "#d7d4f0" },
129
- "&dark .cm-matchingBracket": { backgroundColor: "#515a6b" }
130
- }), T = f.baseTheme({ ".cm-line": { padding: "0 4px" } }), L = f.baseTheme({
131
- ".cm-jump-target": {
132
- backgroundColor: "rgba(59, 130, 246, 0.15)",
133
- borderBottom: "1px solid rgba(59, 130, 246, 0.8)",
134
- cursor: "pointer",
135
- textDecoration: "underline",
136
- textDecorationColor: "rgba(59, 130, 246, 0.6)",
137
- textDecorationStyle: "dotted",
138
- transition: "all 0.15s ease"
139
- },
140
- ".cm-jump-target:hover": {
141
- backgroundColor: "rgba(59, 130, 246, 0.25)",
142
- borderBottomColor: "rgb(59, 130, 246)",
143
- textDecorationStyle: "solid"
144
- },
145
- "&dark .cm-jump-target": {
146
- backgroundColor: "rgba(96, 165, 250, 0.15)",
147
- borderBottomColor: "rgba(96, 165, 250, 0.8)",
148
- textDecorationColor: "rgba(96, 165, 250, 0.6)"
149
- },
150
- "&dark .cm-jump-target:hover": {
151
- backgroundColor: "rgba(96, 165, 250, 0.25)",
152
- borderBottomColor: "rgb(96, 165, 250)"
153
- }
1
+ import { getDefaultSnippets as e } from "../langs/snippets.js";
2
+ import { getLanguageKeywords as t } from "../langs/index.js";
3
+ import { Decoration as n, EditorView as r, ViewPlugin as i } from "@codemirror/view";
4
+ import { autocompletion as a } from "@codemirror/autocomplete";
5
+ //#region src/components/pro/CodeEditor/extensions/index.ts
6
+ var o = [
7
+ {
8
+ pattern: /(?:function|const|let|var)\s+IDENTIFIER\s*[=(]/,
9
+ language: ["javascript", "typescript"]
10
+ },
11
+ {
12
+ pattern: /class\s+IDENTIFIER\b/,
13
+ language: [
14
+ "javascript",
15
+ "typescript",
16
+ "python"
17
+ ]
18
+ },
19
+ {
20
+ pattern: /interface\s+IDENTIFIER\b/,
21
+ language: ["typescript"]
22
+ },
23
+ {
24
+ pattern: /type\s+IDENTIFIER\b/,
25
+ language: ["typescript"]
26
+ },
27
+ {
28
+ pattern: /def\s+IDENTIFIER\s*\(/,
29
+ language: ["python"]
30
+ }
31
+ ], s = (e, t, n) => {
32
+ if (n) return n(e, t);
33
+ let r = e.split("\n"), i = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
34
+ for (let e of o) {
35
+ let t = e.pattern.source.replace("IDENTIFIER", i), n = new RegExp(t);
36
+ for (let e = 0; e < r.length; e++) if (n.test(r[e])) return e + 1;
37
+ }
38
+ return 0;
39
+ }, c = (e, t = {}) => {
40
+ let { modifierKey: a = "ctrl", highlightColor: o = "rgba(59, 130, 246, 0.3)", customFinder: c } = t;
41
+ return [r.domEventHandlers({ mousedown: (t, n) => {
42
+ if ((a === "ctrl" ? t.ctrlKey || t.metaKey : t.altKey) && t.button === 0) {
43
+ let r = n.posAtCoords({
44
+ x: t.clientX,
45
+ y: t.clientY
46
+ });
47
+ if (r !== null) {
48
+ let i = n.state.wordAt(r);
49
+ if (i) {
50
+ let r = n.state.sliceDoc(i.from, i.to), a = s(n.state.doc.toString(), r, c);
51
+ if (a > 0 && e) return e(a), t.preventDefault(), !0;
52
+ }
53
+ }
54
+ }
55
+ return !1;
56
+ } }), i.fromClass(class {
57
+ decorations;
58
+ modifierPressed;
59
+ currentMousePos;
60
+ constructor(e) {
61
+ this.decorations = n.none, this.modifierPressed = !1, this.currentMousePos = null, this.addEventListeners(e);
62
+ }
63
+ addEventListeners(e) {
64
+ let t = (t) => {
65
+ (a === "ctrl" ? t.ctrlKey || t.metaKey : t.altKey) && !this.modifierPressed && (this.modifierPressed = !0, this.currentMousePos !== null && (this.decorations = this.buildDecorations(e, this.currentMousePos), e.update([])));
66
+ }, r = (t) => {
67
+ (a === "ctrl" ? t.key === "Control" || t.key === "Meta" : t.key === "Alt") && (this.modifierPressed = !1, this.decorations = n.none, e.update([]));
68
+ }, i = (t) => {
69
+ let n = e.posAtCoords({
70
+ x: t.clientX,
71
+ y: t.clientY
72
+ });
73
+ n !== null && (this.currentMousePos = n, this.modifierPressed && (this.decorations = this.buildDecorations(e, n), e.update([])));
74
+ }, o = () => {
75
+ this.currentMousePos = null, this.decorations = n.none, this.modifierPressed && e.update([]);
76
+ };
77
+ window.addEventListener("keydown", t), window.addEventListener("keyup", r), e.dom.addEventListener("mousemove", i), e.dom.addEventListener("mouseleave", o), this.cleanup = () => {
78
+ window.removeEventListener("keydown", t), window.removeEventListener("keyup", r), e.dom.removeEventListener("mousemove", i), e.dom.removeEventListener("mouseleave", o);
79
+ };
80
+ }
81
+ update(e) {}
82
+ buildDecorations(e, t) {
83
+ let r = e.state.wordAt(t);
84
+ if (!r) return n.none;
85
+ let i = e.state.sliceDoc(r.from, r.to);
86
+ if (s(e.state.doc.toString(), i, c) > 0) {
87
+ let e = n.mark({ class: "cm-jump-target" });
88
+ return n.set([e.range(r.from, r.to)]);
89
+ }
90
+ return n.none;
91
+ }
92
+ destroy() {
93
+ this.cleanup && this.cleanup();
94
+ }
95
+ }, { decorations: (e) => e.decorations })];
96
+ }, l = (n, r = {}) => {
97
+ let { keywords: i = t(n), snippets: o = e(n), customSource: s } = r;
98
+ return a({ override: [async (e) => {
99
+ if (s) {
100
+ let t = await Promise.resolve(s(e));
101
+ if (t) return t;
102
+ }
103
+ let t = e.matchBefore(/\w*/);
104
+ if (!t || t.from === t.to && !e.explicit) return null;
105
+ let r = [];
106
+ for (let e of i) e.startsWith(t.text) && r.push({
107
+ label: e,
108
+ type: "keyword",
109
+ boost: 2
110
+ });
111
+ let a = e.state.doc.toString(), c = /* @__PURE__ */ new Set(), l = n.includes("python") ? /\b([a-zA-Z_][a-zA-Z0-9_]+)\b/g : /\b([a-zA-Z_$][a-zA-Z0-9_$]+)\b/g, u;
112
+ for (; (u = l.exec(a)) !== null;) u[1].length > 2 && !i.includes(u[1]) && c.add(u[1]);
113
+ for (let e of c) e.startsWith(t.text) && e !== t.text && r.push({
114
+ label: e,
115
+ type: "variable",
116
+ boost: 1
117
+ });
118
+ for (let e of o) e.label.startsWith(t.text) && r.push(e);
119
+ return {
120
+ from: t.from,
121
+ options: r
122
+ };
123
+ }] });
124
+ }, u = r.baseTheme({
125
+ "&light .cm-matchingBracket": { backgroundColor: "#d7d4f0" },
126
+ "&dark .cm-matchingBracket": { backgroundColor: "#515a6b" }
127
+ }), d = r.baseTheme({ ".cm-line": { padding: "0 4px" } }), f = r.baseTheme({
128
+ ".cm-jump-target": {
129
+ backgroundColor: "rgba(59, 130, 246, 0.15)",
130
+ borderBottom: "1px solid rgba(59, 130, 246, 0.8)",
131
+ cursor: "pointer",
132
+ textDecoration: "underline",
133
+ textDecorationColor: "rgba(59, 130, 246, 0.6)",
134
+ textDecorationStyle: "dotted",
135
+ transition: "all 0.15s ease"
136
+ },
137
+ ".cm-jump-target:hover": {
138
+ backgroundColor: "rgba(59, 130, 246, 0.25)",
139
+ borderBottomColor: "rgb(59, 130, 246)",
140
+ textDecorationStyle: "solid"
141
+ },
142
+ "&dark .cm-jump-target": {
143
+ backgroundColor: "rgba(96, 165, 250, 0.15)",
144
+ borderBottomColor: "rgba(96, 165, 250, 0.8)",
145
+ textDecorationColor: "rgba(96, 165, 250, 0.6)"
146
+ },
147
+ "&dark .cm-jump-target:hover": {
148
+ backgroundColor: "rgba(96, 165, 250, 0.25)",
149
+ borderBottomColor: "rgb(96, 165, 250)"
150
+ }
154
151
  });
155
- export {
156
- w as bracketMatchingStyle,
157
- L as jumpTargetHighlight,
158
- v as jumpToDefinition,
159
- T as lineHighlightStyle,
160
- C as smartAutocompletion
161
- };
152
+ //#endregion
153
+ export { u as bracketMatchingStyle, f as jumpTargetHighlight, c as jumpToDefinition, d as lineHighlightStyle, l as smartAutocompletion };
162
154
 
163
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/extensions/index.ts"],"sourcesContent":["import { Extension } from '@codemirror/state';\nimport { EditorView, ViewPlugin, ViewUpdate, Decoration, DecorationSet } from '@codemirror/view';\nimport { CompletionContext, CompletionResult, autocompletion } from '@codemirror/autocomplete';\nimport { AutocompletionConfig, JumpToDefinitionConfig, CodeSnippet } from '../types';\nimport { getDefaultSnippets, getLanguageKeywords } from '../langs';\n\n// ============= 跳转到定义 =============\n\ninterface DefinitionPattern {\n pattern: RegExp;\n language?: string[];\n}\n\nconst defaultDefinitionPatterns: DefinitionPattern[] = [\n { pattern: /(?:function|const|let|var)\\s+IDENTIFIER\\s*[=\\(]/, language: ['javascript', 'typescript'] },\n { pattern: /class\\s+IDENTIFIER\\b/, language: ['javascript', 'typescript', 'python'] },\n { pattern: /interface\\s+IDENTIFIER\\b/, language: ['typescript'] },\n { pattern: /type\\s+IDENTIFIER\\b/, language: ['typescript'] },\n { pattern: /def\\s+IDENTIFIER\\s*\\(/, language: ['python'] },\n];\n\nconst findDefinition = (code: string, identifier: string, customFinder?: (code: string, id: string) => number): number => {\n if (customFinder) {\n return customFinder(code, identifier);\n }\n\n const lines = code.split('\\n');\n const escapedId = identifier.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\n for (const defPattern of defaultDefinitionPatterns) {\n const patternStr = defPattern.pattern.source.replace('IDENTIFIER', escapedId);\n const regex = new RegExp(patternStr);\n\n for (let i = 0; i < lines.length; i++) {\n if (regex.test(lines[i])) {\n return i + 1;\n }\n }\n }\n\n return 0;\n};\n\nexport const jumpToDefinition = (\n onJump?: (line: number) => void,\n config: JumpToDefinitionConfig = {}\n) => {\n const {\n modifierKey = 'ctrl',\n highlightColor = 'rgba(59, 130, 246, 0.3)',\n customFinder\n } = config;\n\n let currentHighlight: { from: number; to: number } | null = null;\n\n return [\n // 点击跳转处理\n EditorView.domEventHandlers({\n mousedown: (event, view) => {\n const shouldTrigger = modifierKey === 'ctrl' \n ? (event.ctrlKey || event.metaKey)\n : event.altKey;\n \n if (shouldTrigger && event.button === 0) {\n const pos = view.posAtCoords({ x: event.clientX, y: event.clientY });\n if (pos !== null) {\n const word = view.state.wordAt(pos);\n if (word) {\n const wordText = view.state.sliceDoc(word.from, word.to);\n const line = findDefinition(view.state.doc.toString(), wordText, customFinder);\n if (line > 0 && onJump) {\n onJump(line);\n event.preventDefault();\n return true;\n }\n }\n }\n }\n return false;\n },\n }),\n \n // 悬浮高亮插件\n ViewPlugin.fromClass(\n class {\n decorations: DecorationSet;\n modifierPressed: boolean;\n currentMousePos: number | null;\n\n constructor(view: EditorView) {\n this.decorations = Decoration.none;\n this.modifierPressed = false;\n this.currentMousePos = null;\n this.addEventListeners(view);\n }\n\n addEventListeners(view: EditorView) {\n // 监听键盘\n const handleKeyDown = (e: KeyboardEvent) => {\n const shouldHighlight = modifierKey === 'ctrl'\n ? (e.ctrlKey || e.metaKey)\n : e.altKey;\n \n if (shouldHighlight && !this.modifierPressed) {\n this.modifierPressed = true;\n if (this.currentMousePos !== null) {\n this.decorations = this.buildDecorations(view, this.currentMousePos);\n view.update([]);\n }\n }\n };\n\n const handleKeyUp = (e: KeyboardEvent) => {\n const wasModifier = modifierKey === 'ctrl'\n ? (e.key === 'Control' || e.key === 'Meta')\n : e.key === 'Alt';\n \n if (wasModifier) {\n this.modifierPressed = false;\n this.decorations = Decoration.none;\n view.update([]);\n }\n };\n\n // 监听鼠标移动\n const handleMouseMove = (e: MouseEvent) => {\n const pos = view.posAtCoords({ x: e.clientX, y: e.clientY });\n if (pos !== null) {\n this.currentMousePos = pos;\n if (this.modifierPressed) {\n this.decorations = this.buildDecorations(view, pos);\n view.update([]);\n }\n }\n };\n\n const handleMouseLeave = () => {\n this.currentMousePos = null;\n this.decorations = Decoration.none;\n if (this.modifierPressed) {\n view.update([]);\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n view.dom.addEventListener('mousemove', handleMouseMove);\n view.dom.addEventListener('mouseleave', handleMouseLeave);\n\n // 存储清理函数\n (this as any).cleanup = () => {\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n view.dom.removeEventListener('mousemove', handleMouseMove);\n view.dom.removeEventListener('mouseleave', handleMouseLeave);\n };\n }\n\n update(update: ViewUpdate) {\n // 装饰在事件处理中更新,这里不需要额外操作\n }\n\n buildDecorations(view: EditorView, pos: number): DecorationSet {\n const word = view.state.wordAt(pos);\n if (!word) return Decoration.none;\n\n const wordText = view.state.sliceDoc(word.from, word.to);\n const line = findDefinition(view.state.doc.toString(), wordText, customFinder);\n \n // 只有找到定义时才高亮\n if (line > 0) {\n const jumpTargetMark = Decoration.mark({ class: 'cm-jump-target' });\n return Decoration.set([jumpTargetMark.range(word.from, word.to)]);\n }\n \n return Decoration.none;\n }\n\n destroy() {\n if ((this as any).cleanup) {\n (this as any).cleanup();\n }\n }\n },\n {\n decorations: (v) => v.decorations,\n }\n ),\n ];\n};\n\n// ============= 智能自动补全 =============\n\nexport const smartAutocompletion = (\n language: string,\n config: AutocompletionConfig = {}\n) => {\n const {\n keywords = getLanguageKeywords(language),\n snippets = getDefaultSnippets(language),\n customSource\n } = config;\n\n return autocompletion({\n override: [\n async (context: CompletionContext): Promise<CompletionResult | null> => {\n // 如果有自定义补全源,先尝试使用\n if (customSource) {\n const customResult = await Promise.resolve(customSource(context));\n if (customResult) return customResult;\n }\n\n const word = context.matchBefore(/\\w*/);\n if (!word || (word.from === word.to && !context.explicit)) {\n return null;\n }\n\n const options = [];\n\n // 关键字补全\n for (const keyword of keywords) {\n if (keyword.startsWith(word.text)) {\n options.push({\n label: keyword,\n type: 'keyword',\n boost: 2,\n });\n }\n }\n\n // 从文档中提取标识符\n const text = context.state.doc.toString();\n const identifiers = new Set<string>();\n const regex = language.includes('python')\n ? /\\b([a-zA-Z_][a-zA-Z0-9_]+)\\b/g\n : /\\b([a-zA-Z_$][a-zA-Z0-9_$]+)\\b/g;\n\n let match;\n while ((match = regex.exec(text)) !== null) {\n if (match[1].length > 2 && !keywords.includes(match[1])) {\n identifiers.add(match[1]);\n }\n }\n\n // 添加标识符补全\n for (const identifier of identifiers) {\n if (identifier.startsWith(word.text) && identifier !== word.text) {\n options.push({\n label: identifier,\n type: 'variable',\n boost: 1,\n });\n }\n }\n\n // 代码片段补全\n for (const snippet of snippets) {\n if (snippet.label.startsWith(word.text)) {\n options.push(snippet);\n }\n }\n\n return {\n from: word.from,\n options,\n };\n },\n ],\n });\n};\n\n// ============= 样式主题 =============\n\nexport const bracketMatchingStyle = EditorView.baseTheme({\n '&light .cm-matchingBracket': { backgroundColor: '#d7d4f0' },\n '&dark .cm-matchingBracket': { backgroundColor: '#515a6b' },\n});\n\nexport const lineHighlightStyle = EditorView.baseTheme({\n '.cm-line': {\n padding: '0 4px',\n },\n});\n\n// ============= 高亮跳转目标样式 =============\n\nexport const jumpTargetHighlight = EditorView.baseTheme({\n '.cm-jump-target': {\n backgroundColor: 'rgba(59, 130, 246, 0.15)',\n borderBottom: '1px solid rgba(59, 130, 246, 0.8)',\n cursor: 'pointer',\n textDecoration: 'underline',\n textDecorationColor: 'rgba(59, 130, 246, 0.6)',\n textDecorationStyle: 'dotted',\n transition: 'all 0.15s ease',\n },\n '.cm-jump-target:hover': {\n backgroundColor: 'rgba(59, 130, 246, 0.25)',\n borderBottomColor: 'rgb(59, 130, 246)',\n textDecorationStyle: 'solid',\n },\n // 深色模式\n '&dark .cm-jump-target': {\n backgroundColor: 'rgba(96, 165, 250, 0.15)',\n borderBottomColor: 'rgba(96, 165, 250, 0.8)',\n textDecorationColor: 'rgba(96, 165, 250, 0.6)',\n },\n '&dark .cm-jump-target:hover': {\n backgroundColor: 'rgba(96, 165, 250, 0.25)',\n borderBottomColor: 'rgb(96, 165, 250)',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/extensions/index.ts"],"sourcesContent":["import { Extension } from '@codemirror/state';\nimport { EditorView, ViewPlugin, ViewUpdate, Decoration, DecorationSet } from '@codemirror/view';\nimport { CompletionContext, CompletionResult, autocompletion } from '@codemirror/autocomplete';\nimport { AutocompletionConfig, JumpToDefinitionConfig, CodeSnippet } from '../types';\nimport { getDefaultSnippets, getLanguageKeywords } from '../langs';\n\n// ============= 跳转到定义 =============\n\ninterface DefinitionPattern {\n pattern: RegExp;\n language?: string[];\n}\n\nconst defaultDefinitionPatterns: DefinitionPattern[] = [\n { pattern: /(?:function|const|let|var)\\s+IDENTIFIER\\s*[=(]/, language: ['javascript', 'typescript'] },\n { pattern: /class\\s+IDENTIFIER\\b/, language: ['javascript', 'typescript', 'python'] },\n { pattern: /interface\\s+IDENTIFIER\\b/, language: ['typescript'] },\n { pattern: /type\\s+IDENTIFIER\\b/, language: ['typescript'] },\n { pattern: /def\\s+IDENTIFIER\\s*\\(/, language: ['python'] },\n];\n\nconst findDefinition = (code: string, identifier: string, customFinder?: (code: string, id: string) => number): number => {\n if (customFinder) {\n return customFinder(code, identifier);\n }\n\n const lines = code.split('\\n');\n const escapedId = identifier.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\n for (const defPattern of defaultDefinitionPatterns) {\n const patternStr = defPattern.pattern.source.replace('IDENTIFIER', escapedId);\n const regex = new RegExp(patternStr);\n\n for (let i = 0; i < lines.length; i++) {\n if (regex.test(lines[i])) {\n return i + 1;\n }\n }\n }\n\n return 0;\n};\n\nexport const jumpToDefinition = (\n onJump?: (line: number) => void,\n config: JumpToDefinitionConfig = {}\n) => {\n const {\n modifierKey = 'ctrl',\n highlightColor = 'rgba(59, 130, 246, 0.3)',\n customFinder\n } = config;\n\n let currentHighlight: { from: number; to: number } | null = null;\n\n return [\n // 点击跳转处理\n EditorView.domEventHandlers({\n mousedown: (event, view) => {\n const shouldTrigger = modifierKey === 'ctrl' \n ? (event.ctrlKey || event.metaKey)\n : event.altKey;\n \n if (shouldTrigger && event.button === 0) {\n const pos = view.posAtCoords({ x: event.clientX, y: event.clientY });\n if (pos !== null) {\n const word = view.state.wordAt(pos);\n if (word) {\n const wordText = view.state.sliceDoc(word.from, word.to);\n const line = findDefinition(view.state.doc.toString(), wordText, customFinder);\n if (line > 0 && onJump) {\n onJump(line);\n event.preventDefault();\n return true;\n }\n }\n }\n }\n return false;\n },\n }),\n \n // 悬浮高亮插件\n ViewPlugin.fromClass(\n class {\n decorations: DecorationSet;\n modifierPressed: boolean;\n currentMousePos: number | null;\n\n constructor(view: EditorView) {\n this.decorations = Decoration.none;\n this.modifierPressed = false;\n this.currentMousePos = null;\n this.addEventListeners(view);\n }\n\n addEventListeners(view: EditorView) {\n // 监听键盘\n const handleKeyDown = (e: KeyboardEvent) => {\n const shouldHighlight = modifierKey === 'ctrl'\n ? (e.ctrlKey || e.metaKey)\n : e.altKey;\n \n if (shouldHighlight && !this.modifierPressed) {\n this.modifierPressed = true;\n if (this.currentMousePos !== null) {\n this.decorations = this.buildDecorations(view, this.currentMousePos);\n view.update([]);\n }\n }\n };\n\n const handleKeyUp = (e: KeyboardEvent) => {\n const wasModifier = modifierKey === 'ctrl'\n ? (e.key === 'Control' || e.key === 'Meta')\n : e.key === 'Alt';\n \n if (wasModifier) {\n this.modifierPressed = false;\n this.decorations = Decoration.none;\n view.update([]);\n }\n };\n\n // 监听鼠标移动\n const handleMouseMove = (e: MouseEvent) => {\n const pos = view.posAtCoords({ x: e.clientX, y: e.clientY });\n if (pos !== null) {\n this.currentMousePos = pos;\n if (this.modifierPressed) {\n this.decorations = this.buildDecorations(view, pos);\n view.update([]);\n }\n }\n };\n\n const handleMouseLeave = () => {\n this.currentMousePos = null;\n this.decorations = Decoration.none;\n if (this.modifierPressed) {\n view.update([]);\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n view.dom.addEventListener('mousemove', handleMouseMove);\n view.dom.addEventListener('mouseleave', handleMouseLeave);\n\n // 存储清理函数\n (this as any).cleanup = () => {\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n view.dom.removeEventListener('mousemove', handleMouseMove);\n view.dom.removeEventListener('mouseleave', handleMouseLeave);\n };\n }\n\n update(update: ViewUpdate) {\n // 装饰在事件处理中更新,这里不需要额外操作\n }\n\n buildDecorations(view: EditorView, pos: number): DecorationSet {\n const word = view.state.wordAt(pos);\n if (!word) return Decoration.none;\n\n const wordText = view.state.sliceDoc(word.from, word.to);\n const line = findDefinition(view.state.doc.toString(), wordText, customFinder);\n \n // 只有找到定义时才高亮\n if (line > 0) {\n const jumpTargetMark = Decoration.mark({ class: 'cm-jump-target' });\n return Decoration.set([jumpTargetMark.range(word.from, word.to)]);\n }\n \n return Decoration.none;\n }\n\n destroy() {\n if ((this as any).cleanup) {\n (this as any).cleanup();\n }\n }\n },\n {\n decorations: (v) => v.decorations,\n }\n ),\n ];\n};\n\n// ============= 智能自动补全 =============\n\nexport const smartAutocompletion = (\n language: string,\n config: AutocompletionConfig = {}\n) => {\n const {\n keywords = getLanguageKeywords(language),\n snippets = getDefaultSnippets(language),\n customSource\n } = config;\n\n return autocompletion({\n override: [\n async (context: CompletionContext): Promise<CompletionResult | null> => {\n // 如果有自定义补全源,先尝试使用\n if (customSource) {\n const customResult = await Promise.resolve(customSource(context));\n if (customResult) return customResult;\n }\n\n const word = context.matchBefore(/\\w*/);\n if (!word || (word.from === word.to && !context.explicit)) {\n return null;\n }\n\n const options = [];\n\n // 关键字补全\n for (const keyword of keywords) {\n if (keyword.startsWith(word.text)) {\n options.push({\n label: keyword,\n type: 'keyword',\n boost: 2,\n });\n }\n }\n\n // 从文档中提取标识符\n const text = context.state.doc.toString();\n const identifiers = new Set<string>();\n const regex = language.includes('python')\n ? /\\b([a-zA-Z_][a-zA-Z0-9_]+)\\b/g\n : /\\b([a-zA-Z_$][a-zA-Z0-9_$]+)\\b/g;\n\n let match;\n while ((match = regex.exec(text)) !== null) {\n if (match[1].length > 2 && !keywords.includes(match[1])) {\n identifiers.add(match[1]);\n }\n }\n\n // 添加标识符补全\n for (const identifier of identifiers) {\n if (identifier.startsWith(word.text) && identifier !== word.text) {\n options.push({\n label: identifier,\n type: 'variable',\n boost: 1,\n });\n }\n }\n\n // 代码片段补全\n for (const snippet of snippets) {\n if (snippet.label.startsWith(word.text)) {\n options.push(snippet);\n }\n }\n\n return {\n from: word.from,\n options,\n };\n },\n ],\n });\n};\n\n// ============= 样式主题 =============\n\nexport const bracketMatchingStyle = EditorView.baseTheme({\n '&light .cm-matchingBracket': { backgroundColor: '#d7d4f0' },\n '&dark .cm-matchingBracket': { backgroundColor: '#515a6b' },\n});\n\nexport const lineHighlightStyle = EditorView.baseTheme({\n '.cm-line': {\n padding: '0 4px',\n },\n});\n\n// ============= 高亮跳转目标样式 =============\n\nexport const jumpTargetHighlight = EditorView.baseTheme({\n '.cm-jump-target': {\n backgroundColor: 'rgba(59, 130, 246, 0.15)',\n borderBottom: '1px solid rgba(59, 130, 246, 0.8)',\n cursor: 'pointer',\n textDecoration: 'underline',\n textDecorationColor: 'rgba(59, 130, 246, 0.6)',\n textDecorationStyle: 'dotted',\n transition: 'all 0.15s ease',\n },\n '.cm-jump-target:hover': {\n backgroundColor: 'rgba(59, 130, 246, 0.25)',\n borderBottomColor: 'rgb(59, 130, 246)',\n textDecorationStyle: 'solid',\n },\n // 深色模式\n '&dark .cm-jump-target': {\n backgroundColor: 'rgba(96, 165, 250, 0.15)',\n borderBottomColor: 'rgba(96, 165, 250, 0.8)',\n textDecorationColor: 'rgba(96, 165, 250, 0.6)',\n },\n '&dark .cm-jump-target:hover': {\n backgroundColor: 'rgba(96, 165, 250, 0.25)',\n borderBottomColor: 'rgb(96, 165, 250)',\n },\n});\n"],"mappings":"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"}
@@ -1,17 +1,9 @@
1
- import { getDefaultSnippets as n, javascriptSnippets as i, pythonSnippets as u } from "./snippets.js";
2
- import { jsJumpableKeywords as r, jsKeywords as p } from "./javascript.js";
3
- import { pyJumpableKeywords as t, pyKeywords as o } from "./python.js";
4
- var m = (e) => e.includes("python") ? o : p, d = (e) => e.includes("python") ? t : r;
5
- export {
6
- n as getDefaultSnippets,
7
- d as getJumpableKeywords,
8
- m as getLanguageKeywords,
9
- i as javascriptSnippets,
10
- r as jsJumpableKeywords,
11
- p as jsKeywords,
12
- t as pyJumpableKeywords,
13
- o as pyKeywords,
14
- u as pythonSnippets
15
- };
1
+ import { getDefaultSnippets as e, javascriptSnippets as t, pythonSnippets as n } from "./snippets.js";
2
+ import { jsJumpableKeywords as r, jsKeywords as i } from "./javascript.js";
3
+ import { pyJumpableKeywords as a, pyKeywords as o } from "./python.js";
4
+ //#region src/components/pro/CodeEditor/langs/index.ts
5
+ var s = (e) => e.includes("python") ? o : i, c = (e) => e.includes("python") ? a : r;
6
+ //#endregion
7
+ export { e as getDefaultSnippets, c as getJumpableKeywords, s as getLanguageKeywords, t as javascriptSnippets, r as jsJumpableKeywords, i as jsKeywords, a as pyJumpableKeywords, o as pyKeywords, n as pythonSnippets };
16
8
 
17
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/index.ts"],"sourcesContent":["// 语言配置统一导出\nexport * from './snippets';\nexport * from './javascript';\nexport * from './python';\n\nimport { jsKeywords, jsJumpableKeywords } from './javascript';\nimport { pyKeywords, pyJumpableKeywords } from './python';\n\n// 获取语言关键字\nexport const getLanguageKeywords = (language: string): string[] => {\n if (language.includes('python')) {\n return pyKeywords;\n }\n return jsKeywords;\n};\n\n// 获取可跳转关键字\nexport const getJumpableKeywords = (language: string): string[] => {\n if (language.includes('python')) {\n return pyJumpableKeywords;\n }\n return jsJumpableKeywords;\n};\n\n"],"mappings":";;;AASA,IAAa,IAAA,CAAuB,MAC9B,EAAS,SAAS,QAAQ,IACrB,IAEF,GAII,IAAA,CAAuB,MAC9B,EAAS,SAAS,QAAQ,IACrB,IAEF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/index.ts"],"sourcesContent":["// 语言配置统一导出\nexport * from './snippets';\nexport * from './javascript';\nexport * from './python';\n\nimport { jsKeywords, jsJumpableKeywords } from './javascript';\nimport { pyKeywords, pyJumpableKeywords } from './python';\n\n// 获取语言关键字\nexport const getLanguageKeywords = (language: string): string[] => {\n if (language.includes('python')) {\n return pyKeywords;\n }\n return jsKeywords;\n};\n\n// 获取可跳转关键字\nexport const getJumpableKeywords = (language: string): string[] => {\n if (language.includes('python')) {\n return pyJumpableKeywords;\n }\n return jsJumpableKeywords;\n};\n\n"],"mappings":";;;;AASA,IAAa,KAAuB,MAC9B,EAAS,SAAS,QAAQ,IACrB,IAEF,GAII,KAAuB,MAC9B,EAAS,SAAS,QAAQ,IACrB,IAEF"}
@@ -1,51 +1,14 @@
1
- var t = [
2
- "function",
3
- "const",
4
- "let",
5
- "var",
6
- "if",
7
- "else",
8
- "for",
9
- "while",
10
- "do",
11
- "switch",
12
- "case",
13
- "break",
14
- "continue",
15
- "return",
16
- "try",
17
- "catch",
18
- "finally",
19
- "throw",
20
- "class",
21
- "extends",
22
- "import",
23
- "export",
24
- "default",
25
- "async",
26
- "await",
27
- "new",
28
- "this",
29
- "super",
30
- "static",
31
- "get",
32
- "set",
33
- "typeof",
34
- "instanceof",
35
- "in",
36
- "of"
37
- ], e = [
38
- "function",
39
- "class",
40
- "interface",
41
- "type",
42
- "const",
43
- "let",
44
- "var"
1
+ //#region src/components/pro/CodeEditor/langs/javascript.ts
2
+ var e = /* @__PURE__ */ "function.const.let.var.if.else.for.while.do.switch.case.break.continue.return.try.catch.finally.throw.class.extends.import.export.default.async.await.new.this.super.static.get.set.typeof.instanceof.in.of".split("."), t = [
3
+ "function",
4
+ "class",
5
+ "interface",
6
+ "type",
7
+ "const",
8
+ "let",
9
+ "var"
45
10
  ];
46
- export {
47
- e as jsJumpableKeywords,
48
- t as jsKeywords
49
- };
11
+ //#endregion
12
+ export { t as jsJumpableKeywords, e as jsKeywords };
50
13
 
51
14
  //# sourceMappingURL=javascript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/javascript.ts"],"sourcesContent":["// JavaScript/TypeScript 语言配置\nexport const jsKeywords = [\n 'function', 'const', 'let', 'var', 'if', 'else', 'for', 'while', 'do', 'switch',\n 'case', 'break', 'continue', 'return', 'try', 'catch', 'finally', 'throw',\n 'class', 'extends', 'import', 'export', 'default', 'async', 'await', 'new',\n 'this', 'super', 'static', 'get', 'set', 'typeof', 'instanceof', 'in', 'of',\n];\n\n// 可跳转的关键字(函数、类、接口等定义)\nexport const jsJumpableKeywords = [\n 'function',\n 'class',\n 'interface',\n 'type',\n 'const',\n 'let',\n 'var',\n];\n\n// 定义模式\nexport const jsDefinitionPatterns = [\n { pattern: /(?:function|const|let|var)\\s+IDENTIFIER\\s*[=\\(]/ },\n { pattern: /class\\s+IDENTIFIER\\b/ },\n { pattern: /interface\\s+IDENTIFIER\\b/ },\n { pattern: /type\\s+IDENTIFIER\\b/ },\n];\n\n\n"],"mappings":"AACA,IAAa,IAAa;AAAA,EACxB;AAAA,EAAY;AAAA,EAAS;AAAA,EAAO;AAAA,EAAO;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAS;AAAA,EAAM;AAAA,EACvE;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAY;AAAA,EAAU;AAAA,EAAO;AAAA,EAAS;AAAA,EAAW;AAAA,EAClE;AAAA,EAAS;AAAA,EAAW;AAAA,EAAU;AAAA,EAAU;AAAA,EAAW;AAAA,EAAS;AAAA,EAAS;AAAA,EACrE;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAU;AAAA,EAAO;AAAA,EAAO;AAAA,EAAU;AAAA,EAAc;AAAA,EAAM;AACzE,GAGa,IAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF"}
1
+ {"version":3,"file":"javascript.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/javascript.ts"],"sourcesContent":["// JavaScript/TypeScript 语言配置\nexport const jsKeywords = [\n 'function', 'const', 'let', 'var', 'if', 'else', 'for', 'while', 'do', 'switch',\n 'case', 'break', 'continue', 'return', 'try', 'catch', 'finally', 'throw',\n 'class', 'extends', 'import', 'export', 'default', 'async', 'await', 'new',\n 'this', 'super', 'static', 'get', 'set', 'typeof', 'instanceof', 'in', 'of',\n];\n\n// 可跳转的关键字(函数、类、接口等定义)\nexport const jsJumpableKeywords = [\n 'function',\n 'class',\n 'interface',\n 'type',\n 'const',\n 'let',\n 'var',\n];\n\n// 定义模式\nexport const jsDefinitionPatterns = [\n { pattern: /(?:function|const|let|var)\\s+IDENTIFIER\\s*[=(]/ },\n { pattern: /class\\s+IDENTIFIER\\b/ },\n { pattern: /interface\\s+IDENTIFIER\\b/ },\n { pattern: /type\\s+IDENTIFIER\\b/ },\n];\n\n\n"],"mappings":";AACA,IAAa,IAAa,uOAK1B,GAGa,IAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
@@ -1,42 +1,6 @@
1
- var e = [
2
- "def",
3
- "class",
4
- "if",
5
- "elif",
6
- "else",
7
- "for",
8
- "while",
9
- "break",
10
- "continue",
11
- "return",
12
- "try",
13
- "except",
14
- "finally",
15
- "raise",
16
- "import",
17
- "from",
18
- "as",
19
- "with",
20
- "pass",
21
- "lambda",
22
- "yield",
23
- "async",
24
- "await",
25
- "assert",
26
- "del",
27
- "global",
28
- "nonlocal",
29
- "True",
30
- "False",
31
- "None",
32
- "and",
33
- "or",
34
- "not",
35
- "is"
36
- ], a = ["def", "class"];
37
- export {
38
- a as pyJumpableKeywords,
39
- e as pyKeywords
40
- };
1
+ //#region src/components/pro/CodeEditor/langs/python.ts
2
+ var e = /* @__PURE__ */ "def.class.if.elif.else.for.while.break.continue.return.try.except.finally.raise.import.from.as.with.pass.lambda.yield.async.await.assert.del.global.nonlocal.True.False.None.and.or.not.is".split("."), t = ["def", "class"];
3
+ //#endregion
4
+ export { t as pyJumpableKeywords, e as pyKeywords };
41
5
 
42
6
  //# sourceMappingURL=python.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"python.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/python.ts"],"sourcesContent":["// Python 语言配置\nexport const pyKeywords = [\n 'def', 'class', 'if', 'elif', 'else', 'for', 'while', 'break', 'continue',\n 'return', 'try', 'except', 'finally', 'raise', 'import', 'from', 'as',\n 'with', 'pass', 'lambda', 'yield', 'async', 'await', 'assert', 'del',\n 'global', 'nonlocal', 'True', 'False', 'None', 'and', 'or', 'not', 'is',\n];\n\n// 可跳转的关键字\nexport const pyJumpableKeywords = [\n 'def',\n 'class',\n];\n\n// 定义模式\nexport const pyDefinitionPatterns = [\n { pattern: /def\\s+IDENTIFIER\\s*\\(/ },\n { pattern: /class\\s+IDENTIFIER\\b/ },\n];\n\n\n"],"mappings":"AACA,IAAa,IAAa;AAAA,EACxB;AAAA,EAAO;AAAA,EAAS;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAS;AAAA,EAAS;AAAA,EAC/D;AAAA,EAAU;AAAA,EAAO;AAAA,EAAU;AAAA,EAAW;AAAA,EAAS;AAAA,EAAU;AAAA,EAAQ;AAAA,EACjE;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAU;AAAA,EAAS;AAAA,EAAS;AAAA,EAAS;AAAA,EAAU;AAAA,EAC/D;AAAA,EAAU;AAAA,EAAY;AAAA,EAAQ;AAAA,EAAS;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAM;AAAA,EAAO;AACrE,GAGa,IAAqB,CAChC,OACA,OACF"}
1
+ {"version":3,"file":"python.js","names":[],"sources":["../../../../../src/components/pro/CodeEditor/langs/python.ts"],"sourcesContent":["// Python 语言配置\nexport const pyKeywords = [\n 'def', 'class', 'if', 'elif', 'else', 'for', 'while', 'break', 'continue',\n 'return', 'try', 'except', 'finally', 'raise', 'import', 'from', 'as',\n 'with', 'pass', 'lambda', 'yield', 'async', 'await', 'assert', 'del',\n 'global', 'nonlocal', 'True', 'False', 'None', 'and', 'or', 'not', 'is',\n];\n\n// 可跳转的关键字\nexport const pyJumpableKeywords = [\n 'def',\n 'class',\n];\n\n// 定义模式\nexport const pyDefinitionPatterns = [\n { pattern: /def\\s+IDENTIFIER\\s*\\(/ },\n { pattern: /class\\s+IDENTIFIER\\b/ },\n];\n\n\n"],"mappings":";AACA,IAAa,IAAa,sNAK1B,GAGa,IAAqB,CAChC,OACA,OACF"}