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 +1 @@
1
- {"version":3,"file":"FlowAIContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowAIContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from 'react';\nimport type { FlowAIConfig } from '../types';\n\nexport interface FlowAIContextValue {\n aiConfig: FlowAIConfig;\n setAIConfig: (config: FlowAIConfig) => void;\n /** Whether the model-config form is shown inside the AI panel. */\n showAIConfig: boolean;\n}\n\nconst DEFAULT_AI_CONFIG: FlowAIConfig = {\n gateway: '',\n protocol: 'openai',\n model: '',\n};\n\nconst FlowAIContext = createContext<FlowAIContextValue | null>(null);\n\nexport function useFlowAI(): FlowAIContextValue {\n const ctx = useContext(FlowAIContext);\n if (!ctx) throw new Error('useFlowAI must be used within FlowAIProvider');\n return ctx;\n}\n\nexport interface FlowAIProviderProps {\n initialConfig?: FlowAIConfig;\n showAIConfig?: boolean;\n children: React.ReactNode;\n}\n\nexport function FlowAIProvider({ initialConfig, showAIConfig = true, children }: FlowAIProviderProps) {\n const [aiConfig, setAIConfig] = useState<FlowAIConfig>({ ...DEFAULT_AI_CONFIG, ...initialConfig });\n const value = useMemo<FlowAIContextValue>(\n () => ({ aiConfig, setAIConfig, showAIConfig }),\n [aiConfig, showAIConfig],\n );\n return <FlowAIContext.Provider value={value}>{children}</FlowAIContext.Provider>;\n}\n"],"mappings":";;AAUA,IAAM,IAAkC;AAAA,EACtC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,OAAO;AACT,GAEM,IAAgB,EAAyC,IAAI;AAEnE,SAAgB,IAAgC;AAC9C,QAAM,IAAM,EAAW,CAAa;AACpC,MAAI,CAAC,EAAK,OAAM,IAAI,MAAM,8CAA8C;AACxE,SAAO;AACT;AAQA,SAAgB,EAAe,EAAE,eAAA,GAAe,cAAA,IAAe,IAAM,UAAA,EAAA,GAAiC;AACpG,QAAM,CAAC,GAAU,CAAA,IAAe,EAAuB;AAAA,IAAE,GAAG;AAAA,IAAmB,GAAG;AAAA,EAAc,CAAC,GAC3F,IAAQ,EAAA,OACL;AAAA,IAAE,UAAA;AAAA,IAAU,aAAA;AAAA,IAAa,cAAA;AAAA,EAAa,IAC7C,CAAC,GAAU,CAAY,CACzB;AACA,SAAO,gBAAA,EAAC,EAAc,UAAf;AAAA,IAA+B,OAAA;AAAA,IAAQ,UAAA;AAAA,EAAiC,CAAA;AACjF"}
1
+ {"version":3,"file":"FlowAIContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowAIContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from 'react';\nimport type { FlowAIConfig } from '../types';\n\nexport interface FlowAIContextValue {\n aiConfig: FlowAIConfig;\n setAIConfig: (config: FlowAIConfig) => void;\n /** Whether the model-config form is shown inside the AI panel. */\n showAIConfig: boolean;\n}\n\nconst DEFAULT_AI_CONFIG: FlowAIConfig = {\n gateway: '',\n protocol: 'openai',\n model: '',\n};\n\nconst FlowAIContext = createContext<FlowAIContextValue | null>(null);\n\nexport function useFlowAI(): FlowAIContextValue {\n const ctx = useContext(FlowAIContext);\n if (!ctx) throw new Error('useFlowAI must be used within FlowAIProvider');\n return ctx;\n}\n\nexport interface FlowAIProviderProps {\n initialConfig?: FlowAIConfig;\n showAIConfig?: boolean;\n children: React.ReactNode;\n}\n\nexport function FlowAIProvider({ initialConfig, showAIConfig = true, children }: FlowAIProviderProps) {\n const [aiConfig, setAIConfig] = useState<FlowAIConfig>({ ...DEFAULT_AI_CONFIG, ...initialConfig });\n const value = useMemo<FlowAIContextValue>(\n () => ({ aiConfig, setAIConfig, showAIConfig }),\n [aiConfig, showAIConfig],\n );\n return <FlowAIContext.Provider value={value}>{children}</FlowAIContext.Provider>;\n}\n"],"mappings":";;;AAUA,IAAM,IAAkC;CACtC,SAAS;CACT,UAAU;CACV,OAAO;AACT,GAEM,IAAgB,EAAyC,IAAI;AAEnE,SAAgB,IAAgC;CAC9C,IAAM,IAAM,EAAW,CAAa;CACpC,IAAI,CAAC,GAAK,MAAU,MAAM,8CAA8C;CACxE,OAAO;AACT;AAQA,SAAgB,EAAe,EAAE,kBAAe,kBAAe,IAAM,eAAiC;CACpG,IAAM,CAAC,GAAU,KAAe,EAAuB;EAAE,GAAG;EAAmB,GAAG;CAAc,CAAC,GAC3F,IAAQ,SACL;EAAE;EAAU;EAAa;CAAa,IAC7C,CAAC,GAAU,CAAY,CACzB;CACA,OAAO,kBAAC,EAAc,UAAf;EAA+B;EAAQ;CAAiC,CAAA;AACjF"}
@@ -1,67 +1,66 @@
1
1
  import "../constants.js";
2
- import { createContext as l, useContext as x, useMemo as o } from "react";
3
- import { jsx as v } from "react/jsx-runtime";
4
- var m = l(null);
5
- function A() {
6
- const t = x(m);
7
- if (!t) throw new Error("useFlowContext must be used within FlowProvider");
8
- return t;
2
+ import { createContext as e, useContext as t, useMemo as n } from "react";
3
+ import { jsx as r } from "react/jsx-runtime";
4
+ //#region src/components/pro/Flow/context/FlowContext.tsx
5
+ var i = e(null);
6
+ function a() {
7
+ let e = t(i);
8
+ if (!e) throw Error("useFlowContext must be used within FlowProvider");
9
+ return e;
9
10
  }
10
- var f = {
11
- nodes: [],
12
- edges: [],
13
- lines: []
11
+ var o = {
12
+ nodes: [],
13
+ edges: [],
14
+ lines: []
14
15
  };
15
- function P({ doc: t, setDoc: n, selection: u, setSelection: r, children: d }) {
16
- const e = t.stack[t.stack.length - 1] ?? "root", w = t.canvases[e] ?? f, a = o(() => ({
17
- nodeIds: /* @__PURE__ */ new Set(),
18
- edgeIds: /* @__PURE__ */ new Set(),
19
- lineIds: /* @__PURE__ */ new Set()
20
- }), []), C = o(() => (s) => {
21
- n((i) => ({
22
- ...i,
23
- stack: [...i.stack, s]
24
- })), r(a);
25
- }, [
26
- n,
27
- r,
28
- a
29
- ]), c = o(() => () => {
30
- n((s) => ({
31
- ...s,
32
- stack: s.stack.length > 1 ? s.stack.slice(0, -1) : s.stack
33
- })), r(a);
34
- }, [
35
- n,
36
- r,
37
- a
38
- ]), k = o(() => ({
39
- doc: t,
40
- setDoc: n,
41
- currentCanvasId: e,
42
- currentCanvas: w,
43
- selection: u,
44
- setSelection: r,
45
- pushCanvas: C,
46
- popCanvas: c
47
- }), [
48
- t,
49
- n,
50
- e,
51
- w,
52
- u,
53
- r,
54
- C,
55
- c
56
- ]);
57
- return /* @__PURE__ */ v(m.Provider, {
58
- value: k,
59
- children: d
60
- });
16
+ function s({ doc: e, setDoc: t, selection: a, setSelection: s, children: c }) {
17
+ let l = e.stack[e.stack.length - 1] ?? "root", u = e.canvases[l] ?? o, d = n(() => ({
18
+ nodeIds: /* @__PURE__ */ new Set(),
19
+ edgeIds: /* @__PURE__ */ new Set(),
20
+ lineIds: /* @__PURE__ */ new Set()
21
+ }), []), f = n(() => (e) => {
22
+ t((t) => ({
23
+ ...t,
24
+ stack: [...t.stack, e]
25
+ })), s(d);
26
+ }, [
27
+ t,
28
+ s,
29
+ d
30
+ ]), p = n(() => () => {
31
+ t((e) => ({
32
+ ...e,
33
+ stack: e.stack.length > 1 ? e.stack.slice(0, -1) : e.stack
34
+ })), s(d);
35
+ }, [
36
+ t,
37
+ s,
38
+ d
39
+ ]), m = n(() => ({
40
+ doc: e,
41
+ setDoc: t,
42
+ currentCanvasId: l,
43
+ currentCanvas: u,
44
+ selection: a,
45
+ setSelection: s,
46
+ pushCanvas: f,
47
+ popCanvas: p
48
+ }), [
49
+ e,
50
+ t,
51
+ l,
52
+ u,
53
+ a,
54
+ s,
55
+ f,
56
+ p
57
+ ]);
58
+ return /* @__PURE__ */ r(i.Provider, {
59
+ value: m,
60
+ children: c
61
+ });
61
62
  }
62
- export {
63
- P as FlowProvider,
64
- A as useFlowContext
65
- };
63
+ //#endregion
64
+ export { s as FlowProvider, a as useFlowContext };
66
65
 
67
66
  //# sourceMappingURL=FlowContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport type {\n FlowDocument,\n FlowNode,\n FlowEdge,\n FlowLine,\n SelectionState,\n FlowCanvasData,\n} from '../types';\nimport { ROOT_CANVAS_ID } from '../constants';\n\nexport interface FlowContextValue {\n doc: FlowDocument;\n setDoc: React.Dispatch<React.SetStateAction<FlowDocument>>;\n currentCanvasId: string;\n currentCanvas: FlowCanvasData;\n selection: SelectionState;\n setSelection: React.Dispatch<React.SetStateAction<SelectionState>>;\n /** Push into child canvas */\n pushCanvas: (canvasId: string) => void;\n /** Pop back to parent canvas */\n popCanvas: () => void;\n}\n\nconst FlowContext = createContext<FlowContextValue | null>(null);\n\nexport function useFlowContext(): FlowContextValue {\n const ctx = useContext(FlowContext);\n if (!ctx) throw new Error('useFlowContext must be used within FlowProvider');\n return ctx;\n}\n\nexport interface FlowProviderProps {\n doc: FlowDocument;\n setDoc: React.Dispatch<React.SetStateAction<FlowDocument>>;\n selection: SelectionState;\n setSelection: React.Dispatch<React.SetStateAction<SelectionState>>;\n children: React.ReactNode;\n}\n\nconst EMPTY_CANVAS: FlowCanvasData = { nodes: [], edges: [], lines: [] };\n\nexport function FlowProvider({ doc, setDoc, selection, setSelection, children }: FlowProviderProps) {\n const currentCanvasId = doc.stack[doc.stack.length - 1] ?? ROOT_CANVAS_ID;\n const currentCanvas = doc.canvases[currentCanvasId] ?? EMPTY_CANVAS;\n\n const emptySelection: SelectionState = useMemo(() => ({\n nodeIds: new Set(), edgeIds: new Set(), lineIds: new Set(),\n }), []);\n\n const pushCanvas = useMemo(() => (canvasId: string) => {\n setDoc(prev => ({ ...prev, stack: [...prev.stack, canvasId] }));\n setSelection(emptySelection);\n }, [setDoc, setSelection, emptySelection]);\n\n const popCanvas = useMemo(() => () => {\n setDoc(prev => ({\n ...prev,\n stack: prev.stack.length > 1 ? prev.stack.slice(0, -1) : prev.stack,\n }));\n setSelection(emptySelection);\n }, [setDoc, setSelection, emptySelection]);\n\n const value = useMemo<FlowContextValue>(() => ({\n doc,\n setDoc,\n currentCanvasId,\n currentCanvas,\n selection,\n setSelection,\n pushCanvas,\n popCanvas,\n }), [doc, setDoc, currentCanvasId, currentCanvas, selection, setSelection, pushCanvas, popCanvas]);\n\n return <FlowContext.Provider value={value}>{children}</FlowContext.Provider>;\n}\n"],"mappings":";;;AAwBA,IAAM,IAAc,EAAuC,IAAI;AAE/D,SAAgB,IAAmC;AACjD,QAAM,IAAM,EAAW,CAAW;AAClC,MAAI,CAAC,EAAK,OAAM,IAAI,MAAM,iDAAiD;AAC3E,SAAO;AACT;AAUA,IAAM,IAA+B;AAAA,EAAE,OAAO,CAAC;AAAA,EAAG,OAAO,CAAC;AAAA,EAAG,OAAO,CAAC;AAAE;AAEvE,SAAgB,EAAa,EAAE,KAAA,GAAK,QAAA,GAAQ,WAAA,GAAW,cAAA,GAAc,UAAA,EAAA,GAA+B;AAClG,QAAM,IAAkB,EAAI,MAAM,EAAI,MAAM,SAAS,CAAA,KAAA,QAC/C,IAAgB,EAAI,SAAS,CAAA,KAAoB,GAEjD,IAAiC,EAAA,OAAe;AAAA,IACpD,SAAS,oBAAI,IAAI;AAAA,IAAG,SAAS,oBAAI,IAAI;AAAA,IAAG,SAAS,oBAAI,IAAI;AAAA,EAC3D,IAAI,CAAC,CAAC,GAEA,IAAa,EAAA,MAAA,CAAe,MAAqB;AACrD,IAAA,EAAA,CAAO,OAAS;AAAA,MAAE,GAAG;AAAA,MAAM,OAAO,CAAC,GAAG,EAAK,OAAO,CAAQ;AAAA,IAAE,EAAE,GAC9D,EAAa,CAAc;AAAA,EAC7B,GAAG;AAAA,IAAC;AAAA,IAAQ;AAAA,IAAc;AAAA,EAAc,CAAC,GAEnC,IAAY,EAAA,MAAA,MAAoB;AACpC,IAAA,EAAA,CAAO,OAAS;AAAA,MACd,GAAG;AAAA,MACH,OAAO,EAAK,MAAM,SAAS,IAAI,EAAK,MAAM,MAAM,GAAG,EAAE,IAAI,EAAK;AAAA,IAChE,EAAE,GACF,EAAa,CAAc;AAAA,EAC7B,GAAG;AAAA,IAAC;AAAA,IAAQ;AAAA,IAAc;AAAA,EAAc,CAAC,GAEnC,IAAQ,EAAA,OAAiC;AAAA,IAC7C,KAAA;AAAA,IACA,QAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,EACF,IAAI;AAAA,IAAC;AAAA,IAAK;AAAA,IAAQ;AAAA,IAAiB;AAAA,IAAe;AAAA,IAAW;AAAA,IAAc;AAAA,IAAY;AAAA,EAAS,CAAC;AAEjG,SAAO,gBAAA,EAAC,EAAY,UAAb;AAAA,IAA6B,OAAA;AAAA,IAAQ,UAAA;AAAA,EAA+B,CAAA;AAC7E"}
1
+ {"version":3,"file":"FlowContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport type {\n FlowDocument,\n FlowNode,\n FlowEdge,\n FlowLine,\n SelectionState,\n FlowCanvasData,\n} from '../types';\nimport { ROOT_CANVAS_ID } from '../constants';\n\nexport interface FlowContextValue {\n doc: FlowDocument;\n setDoc: React.Dispatch<React.SetStateAction<FlowDocument>>;\n currentCanvasId: string;\n currentCanvas: FlowCanvasData;\n selection: SelectionState;\n setSelection: React.Dispatch<React.SetStateAction<SelectionState>>;\n /** Push into child canvas */\n pushCanvas: (canvasId: string) => void;\n /** Pop back to parent canvas */\n popCanvas: () => void;\n}\n\nconst FlowContext = createContext<FlowContextValue | null>(null);\n\nexport function useFlowContext(): FlowContextValue {\n const ctx = useContext(FlowContext);\n if (!ctx) throw new Error('useFlowContext must be used within FlowProvider');\n return ctx;\n}\n\nexport interface FlowProviderProps {\n doc: FlowDocument;\n setDoc: React.Dispatch<React.SetStateAction<FlowDocument>>;\n selection: SelectionState;\n setSelection: React.Dispatch<React.SetStateAction<SelectionState>>;\n children: React.ReactNode;\n}\n\nconst EMPTY_CANVAS: FlowCanvasData = { nodes: [], edges: [], lines: [] };\n\nexport function FlowProvider({ doc, setDoc, selection, setSelection, children }: FlowProviderProps) {\n const currentCanvasId = doc.stack[doc.stack.length - 1] ?? ROOT_CANVAS_ID;\n const currentCanvas = doc.canvases[currentCanvasId] ?? EMPTY_CANVAS;\n\n const emptySelection: SelectionState = useMemo(() => ({\n nodeIds: new Set(), edgeIds: new Set(), lineIds: new Set(),\n }), []);\n\n const pushCanvas = useMemo(() => (canvasId: string) => {\n setDoc(prev => ({ ...prev, stack: [...prev.stack, canvasId] }));\n setSelection(emptySelection);\n }, [setDoc, setSelection, emptySelection]);\n\n const popCanvas = useMemo(() => () => {\n setDoc(prev => ({\n ...prev,\n stack: prev.stack.length > 1 ? prev.stack.slice(0, -1) : prev.stack,\n }));\n setSelection(emptySelection);\n }, [setDoc, setSelection, emptySelection]);\n\n const value = useMemo<FlowContextValue>(() => ({\n doc,\n setDoc,\n currentCanvasId,\n currentCanvas,\n selection,\n setSelection,\n pushCanvas,\n popCanvas,\n }), [doc, setDoc, currentCanvasId, currentCanvas, selection, setSelection, pushCanvas, popCanvas]);\n\n return <FlowContext.Provider value={value}>{children}</FlowContext.Provider>;\n}\n"],"mappings":";;;;AAwBA,IAAM,IAAc,EAAuC,IAAI;AAE/D,SAAgB,IAAmC;CACjD,IAAM,IAAM,EAAW,CAAW;CAClC,IAAI,CAAC,GAAK,MAAU,MAAM,iDAAiD;CAC3E,OAAO;AACT;AAUA,IAAM,IAA+B;CAAE,OAAO,CAAC;CAAG,OAAO,CAAC;CAAG,OAAO,CAAC;AAAE;AAEvE,SAAgB,EAAa,EAAE,QAAK,WAAQ,cAAW,iBAAc,eAA+B;CAClG,IAAM,IAAkB,EAAI,MAAM,EAAI,MAAM,SAAS,MAAA,QAC/C,IAAgB,EAAI,SAAS,MAAoB,GAEjD,IAAiC,SAAe;EACpD,yBAAS,IAAI,IAAI;EAAG,yBAAS,IAAI,IAAI;EAAG,yBAAS,IAAI,IAAI;CAC3D,IAAI,CAAC,CAAC,GAEA,IAAa,SAAe,MAAqB;EAErD,AADA,GAAO,OAAS;GAAE,GAAG;GAAM,OAAO,CAAC,GAAG,EAAK,OAAO,CAAQ;EAAE,EAAE,GAC9D,EAAa,CAAc;CAC7B,GAAG;EAAC;EAAQ;EAAc;CAAc,CAAC,GAEnC,IAAY,cAAoB;EAKpC,AAJA,GAAO,OAAS;GACd,GAAG;GACH,OAAO,EAAK,MAAM,SAAS,IAAI,EAAK,MAAM,MAAM,GAAG,EAAE,IAAI,EAAK;EAChE,EAAE,GACF,EAAa,CAAc;CAC7B,GAAG;EAAC;EAAQ;EAAc;CAAc,CAAC,GAEnC,IAAQ,SAAiC;EAC7C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IAAI;EAAC;EAAK;EAAQ;EAAiB;EAAe;EAAW;EAAc;EAAY;CAAS,CAAC;CAEjG,OAAO,kBAAC,EAAY,UAAb;EAA6B;EAAQ;CAA+B,CAAA;AAC7E"}
@@ -1,121 +1,119 @@
1
- import { createContext as gt, useCallback as o, useContext as pt, useMemo as St, useRef as w, useState as t } from "react";
2
- import { jsx as mt } from "react/jsx-runtime";
3
- var V = gt(null);
4
- function Rt() {
5
- const c = pt(V);
6
- if (!c) throw new Error("useFlowUI must be used within FlowUIProvider");
7
- return c;
1
+ import { createContext as e, useCallback as t, useContext as n, useMemo as r, useRef as i, useState as a } from "react";
2
+ import { jsx as o } from "react/jsx-runtime";
3
+ //#region src/components/pro/Flow/context/FlowUIContext.tsx
4
+ var s = e(null);
5
+ function c() {
6
+ let e = n(s);
7
+ if (!e) throw Error("useFlowUI must be used within FlowUIProvider");
8
+ return e;
8
9
  }
9
- function xt({ showMiniMap: c = !0, showGrid: b = !0, gridSize: J = 20, showAI: j = !0, readOnly: s = !1, children: q }) {
10
- const [a, B] = t("select"), [l, H] = t("smoothstep"), [h, d] = t({
11
- x: 0,
12
- y: 0,
13
- zoom: 1
14
- }), f = w(0), K = o((e) => {
15
- f.current += 1, d(e);
16
- }, []), L = o((e) => {
17
- d(e);
18
- }, []), [g, Q] = t(!1), [p, W] = t(null), X = o((e) => {
19
- s || W(e);
20
- }, [s]), r = w(0), [i, S] = t(!1), m = o(() => {
21
- r.current += 1, i || S(!0);
22
- }, [i]), I = o(() => {
23
- r.current = Math.max(0, r.current - 1), r.current === 0 && S(!1);
24
- }, []), [P, Y] = t(!0), [M, Z] = t(!0), [R, _] = t(!0), [x, $] = t(!0), [F, O] = t(j), [C, y] = t(c), [D, tt] = t(b), [N, et] = t(!0), [A, ot] = t(J), [v, st] = t(!0), [U, nt] = t(null), [z, ct] = t(null), rt = o((e) => {
25
- s || nt(e);
26
- }, [s]), it = o((e) => {
27
- s || ct(e);
28
- }, [s]), [E, ut] = t(null), [G, wt] = t({}), k = o((e, u) => {
29
- wt((n) => n[e] === u ? n : {
30
- ...n,
31
- [e]: u
32
- });
33
- }, []), T = w(() => {
34
- }), at = o((e, u, n, dt, ft) => {
35
- T.current(e, u, n, dt, ft);
36
- }, []), lt = o((e) => {
37
- T.current = e;
38
- }, []), ht = St(() => ({
39
- toolMode: a,
40
- setToolMode: B,
41
- edgeType: l,
42
- setEdgeType: H,
43
- viewport: h,
44
- setViewport: K,
45
- setViewportInternal: L,
46
- viewportReqRef: f,
47
- focusOnRect: at,
48
- setFocusOnRect: lt,
49
- autoFocus: g,
50
- setAutoFocus: Q,
51
- editingNodeId: p,
52
- setEditingNodeId: X,
53
- isNodeDragging: i,
54
- beginNodeDrag: m,
55
- endNodeDrag: I,
56
- showPalette: P,
57
- setShowPalette: Y,
58
- showInspector: M,
59
- setShowInspector: Z,
60
- showOutline: R,
61
- setShowOutline: _,
62
- showJson: x,
63
- setShowJson: $,
64
- showAI: F,
65
- setShowAI: O,
66
- showMiniMap: C,
67
- setShowMiniMap: y,
68
- showGrid: D,
69
- setShowGrid: tt,
70
- showAnchors: N,
71
- setShowAnchors: et,
72
- gridSize: A,
73
- setGridSize: ot,
74
- placementSnap: v,
75
- setPlacementSnap: st,
76
- pendingPlacement: U,
77
- setPendingPlacement: rt,
78
- contextMenu: z,
79
- setContextMenu: it,
80
- presentation: E,
81
- setPresentation: ut,
82
- panelDocks: G,
83
- setPanelDock: k,
84
- readOnly: s
85
- }), [
86
- a,
87
- l,
88
- h,
89
- g,
90
- p,
91
- i,
92
- m,
93
- I,
94
- P,
95
- M,
96
- R,
97
- x,
98
- F,
99
- C,
100
- D,
101
- N,
102
- A,
103
- v,
104
- U,
105
- z,
106
- E,
107
- G,
108
- k,
109
- s
110
- ]);
111
- return /* @__PURE__ */ mt(V.Provider, {
112
- value: ht,
113
- children: q
114
- });
10
+ function l({ showMiniMap: e = !0, showGrid: n = !0, gridSize: c = 20, showAI: l = !0, readOnly: u = !1, children: d }) {
11
+ let [f, p] = a("select"), [m, h] = a("smoothstep"), [g, _] = a({
12
+ x: 0,
13
+ y: 0,
14
+ zoom: 1
15
+ }), v = i(0), y = t((e) => {
16
+ v.current += 1, _(e);
17
+ }, []), b = t((e) => {
18
+ _(e);
19
+ }, []), [x, S] = a(!1), [C, ee] = a(null), te = t((e) => {
20
+ u || ee(e);
21
+ }, [u]), w = i(0), [T, E] = a(!1), D = t(() => {
22
+ w.current += 1, T || E(!0);
23
+ }, [T]), O = t(() => {
24
+ w.current = Math.max(0, w.current - 1), w.current === 0 && E(!1);
25
+ }, []), [k, A] = a(!0), [j, ne] = a(!0), [M, re] = a(!0), [N, ie] = a(!0), [P, F] = a(l), [I, L] = a(e), [R, z] = a(n), [B, V] = a(!0), [H, U] = a(c), [W, G] = a(!0), [K, q] = a(null), [J, ae] = a(null), oe = t((e) => {
26
+ u || q(e);
27
+ }, [u]), se = t((e) => {
28
+ u || ae(e);
29
+ }, [u]), [Y, ce] = a(null), [X, Z] = a({}), Q = t((e, t) => {
30
+ Z((n) => n[e] === t ? n : {
31
+ ...n,
32
+ [e]: t
33
+ });
34
+ }, []), $ = i(() => {}), le = t((e, t, n, r, i) => {
35
+ $.current(e, t, n, r, i);
36
+ }, []), ue = t((e) => {
37
+ $.current = e;
38
+ }, []), de = r(() => ({
39
+ toolMode: f,
40
+ setToolMode: p,
41
+ edgeType: m,
42
+ setEdgeType: h,
43
+ viewport: g,
44
+ setViewport: y,
45
+ setViewportInternal: b,
46
+ viewportReqRef: v,
47
+ focusOnRect: le,
48
+ setFocusOnRect: ue,
49
+ autoFocus: x,
50
+ setAutoFocus: S,
51
+ editingNodeId: C,
52
+ setEditingNodeId: te,
53
+ isNodeDragging: T,
54
+ beginNodeDrag: D,
55
+ endNodeDrag: O,
56
+ showPalette: k,
57
+ setShowPalette: A,
58
+ showInspector: j,
59
+ setShowInspector: ne,
60
+ showOutline: M,
61
+ setShowOutline: re,
62
+ showJson: N,
63
+ setShowJson: ie,
64
+ showAI: P,
65
+ setShowAI: F,
66
+ showMiniMap: I,
67
+ setShowMiniMap: L,
68
+ showGrid: R,
69
+ setShowGrid: z,
70
+ showAnchors: B,
71
+ setShowAnchors: V,
72
+ gridSize: H,
73
+ setGridSize: U,
74
+ placementSnap: W,
75
+ setPlacementSnap: G,
76
+ pendingPlacement: K,
77
+ setPendingPlacement: oe,
78
+ contextMenu: J,
79
+ setContextMenu: se,
80
+ presentation: Y,
81
+ setPresentation: ce,
82
+ panelDocks: X,
83
+ setPanelDock: Q,
84
+ readOnly: u
85
+ }), [
86
+ f,
87
+ m,
88
+ g,
89
+ x,
90
+ C,
91
+ T,
92
+ D,
93
+ O,
94
+ k,
95
+ j,
96
+ M,
97
+ N,
98
+ P,
99
+ I,
100
+ R,
101
+ B,
102
+ H,
103
+ W,
104
+ K,
105
+ J,
106
+ Y,
107
+ X,
108
+ Q,
109
+ u
110
+ ]);
111
+ return /* @__PURE__ */ o(s.Provider, {
112
+ value: de,
113
+ children: d
114
+ });
115
115
  }
116
- export {
117
- xt as FlowUIProvider,
118
- Rt as useFlowUI
119
- };
116
+ //#endregion
117
+ export { l as FlowUIProvider, c as useFlowUI };
120
118
 
121
119
  //# sourceMappingURL=FlowUIContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowUIContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowUIContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState, useRef, useCallback } from 'react';\nimport type { FlowToolMode, FlowEdgeTypeName, FlowShapeType, FlowNodeData, ViewportState } from '../types';\n\nexport interface ContextMenuState {\n x: number;\n y: number;\n nodeId: string | null;\n}\n\n/** Where an editing panel lives: left dock, right dock or a floating overlay. */\nexport type FlowPanelDock = 'left' | 'right' | 'float';\n\nexport interface FocusOnRectOptions {\n /** Screen-space padding around the focused rectangle, in pixels. */\n padding?: number;\n /** Maximum zoom allowed for this focus operation. */\n maxZoom?: number;\n /** Viewport transition duration in milliseconds. */\n duration?: number;\n /** Keep the current zoom and only animate the focused rectangle to center. */\n preserveZoom?: boolean;\n}\n\nexport interface FlowUIContextValue {\n toolMode: FlowToolMode;\n setToolMode: (mode: FlowToolMode) => void;\n edgeType: FlowEdgeTypeName;\n setEdgeType: (type: FlowEdgeTypeName) => void;\n viewport: ViewportState;\n setViewport: (v: ViewportState) => void;\n /** Internal VM→React bridge setter (does not request a VM apply). */\n setViewportInternal: (v: ViewportState) => void;\n /** Monotonic counter of external viewport commands. */\n viewportReqRef: React.MutableRefObject<number>;\n focusOnRect: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void;\n setFocusOnRect: (fn: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void) => void;\n autoFocus: boolean;\n setAutoFocus: (v: boolean) => void;\n editingNodeId: string | null;\n setEditingNodeId: (id: string | null) => void;\n /** True while any node/line is being dragged. Used to suppress interactive\n * DOM overlays (e.g. HTML iframes) that would otherwise swallow pointerup. */\n isNodeDragging: boolean;\n beginNodeDrag: () => void;\n endNodeDrag: () => void;\n showPalette: boolean;\n setShowPalette: (v: boolean) => void;\n showInspector: boolean;\n setShowInspector: (v: boolean) => void;\n showOutline: boolean;\n setShowOutline: (v: boolean) => void;\n showJson: boolean;\n setShowJson: (v: boolean) => void;\n showAI: boolean;\n setShowAI: (v: boolean) => void;\n showMiniMap: boolean;\n setShowMiniMap: (v: boolean) => void;\n showGrid: boolean;\n setShowGrid: (v: boolean) => void;\n /** Global editor-only visibility for animation anchor objects. */\n showAnchors: boolean;\n setShowAnchors: (v: boolean) => void;\n gridSize: number;\n setGridSize: (s: number) => void;\n /** Placement magnet: when true, stamping a shape snaps it to the canvas grid. */\n placementSnap: boolean;\n setPlacementSnap: (v: boolean) => void;\n pendingPlacement: PendingPlacement | null;\n setPendingPlacement: (p: PendingPlacement | null) => void;\n contextMenu: ContextMenuState | null;\n setContextMenu: (m: ContextMenuState | null) => void;\n /** Dock assignment per panel id. Panels not listed default to the left\n * dock; users can move them to the right dock or let them float. */\n panelDocks: Record<string, FlowPanelDock>;\n setPanelDock: (tabId: string, dock: FlowPanelDock) => void;\n /** PPT-style presentation mode. When set, the overlay animates the viewport\n * between animation anchors, navigable via arrow keys. */\n presentation: PresentationState | null;\n setPresentation: (p: PresentationState | null) => void;\n /** When true, all editing affordances are suppressed (read-only preview). */\n readOnly: boolean;\n}\n\nexport interface PresentationState {\n /** Index into the anchor sequence (0-based). */\n current: number;\n /** Whether to show the active anchor frame and sequence badge in preview. */\n showAnchor?: boolean;\n}\n\nexport interface PendingPlacement {\n type: FlowShapeType;\n width: number;\n height: number;\n data: FlowNodeData;\n}\n\nconst FlowUIContext = createContext<FlowUIContextValue | null>(null);\n\nexport function useFlowUI(): FlowUIContextValue {\n const ctx = useContext(FlowUIContext);\n if (!ctx) throw new Error('useFlowUI must be used within FlowUIProvider');\n return ctx;\n}\n\nexport interface FlowUIProviderProps {\n showMiniMap?: boolean;\n showGrid?: boolean;\n gridSize?: number;\n showAI?: boolean;\n /** Suppresses context menu, inline text editing and palette placement.\n * Document mutations are additionally blocked in `Flow` (single choke point). */\n readOnly?: boolean;\n children: React.ReactNode;\n}\n\nexport function FlowUIProvider({ showMiniMap: initMiniMap = true, showGrid: initGrid = true, gridSize: initGridSize = 20, showAI: initShowAI = true, readOnly = false, children }: FlowUIProviderProps) {\n const [toolMode, setToolMode] = useState<FlowToolMode>('select');\n const [edgeType, setEdgeType] = useState<FlowEdgeTypeName>('smoothstep');\n const [viewport, setViewportState] = useState<ViewportState>({ x: 0, y: 0, zoom: 1 });\n // Distinguishes EXTERNAL viewport commands (toolbar, minimap, outline) from\n // internal echoes emitted by the ViewportManager. Only external commands\n // should be pushed back into the VM; echoing VM changes causes jitter.\n const viewportReqRef = useRef(0);\n const setViewport = useCallback((v: ViewportState) => {\n viewportReqRef.current += 1;\n setViewportState(v);\n }, []);\n // Internal setter used by the VM→React bridge; does NOT bump the request\n // counter, so the sync effect will not echo it back to the VM.\n const setViewportInternal = useCallback((v: ViewportState) => {\n setViewportState(v);\n }, []);\n const [autoFocus, setAutoFocus] = useState(false);\n const [editingNodeId, setEditingNodeIdRaw] = useState<string | null>(null);\n // In read-only mode the inline node/edge text editor must never open.\n const setEditingNodeId = useCallback((id: string | null) => {\n if (readOnly) return;\n setEditingNodeIdRaw(id);\n }, [readOnly]);\n // Counter so concurrent drags (multi-node) don't flip the flag early.\n const dragCountRef = useRef(0);\n const [isNodeDragging, setIsNodeDragging] = useState(false);\n const beginNodeDrag = useCallback(() => {\n dragCountRef.current += 1;\n if (!isNodeDragging) setIsNodeDragging(true);\n }, [isNodeDragging]);\n const endNodeDrag = useCallback(() => {\n dragCountRef.current = Math.max(0, dragCountRef.current - 1);\n if (dragCountRef.current === 0) setIsNodeDragging(false);\n }, []);\n const [showPalette, setShowPalette] = useState(true);\n const [showInspector, setShowInspector] = useState(true);\n const [showOutline, setShowOutline] = useState(true);\n const [showJson, setShowJson] = useState(true);\n const [showAI, setShowAI] = useState(initShowAI);\n const [showMiniMap, setShowMiniMap] = useState(initMiniMap);\n const [showGrid, setShowGrid] = useState(initGrid);\n const [showAnchors, setShowAnchors] = useState(true);\n const [gridSize, setGridSize] = useState(initGridSize);\n const [placementSnap, setPlacementSnap] = useState(true);\n const [pendingPlacement, setPendingPlacementRaw] = useState<PendingPlacement | null>(null);\n const [contextMenu, setContextMenuRaw] = useState<ContextMenuState | null>(null);\n // Read-only: palette drops and the right-click menu are editing affordances.\n const setPendingPlacement = useCallback((p: PendingPlacement | null) => {\n if (readOnly) return;\n setPendingPlacementRaw(p);\n }, [readOnly]);\n const setContextMenu = useCallback((m: ContextMenuState | null) => {\n if (readOnly) return;\n setContextMenuRaw(m);\n }, [readOnly]);\n const [presentation, setPresentation] = useState<PresentationState | null>(null);\n const [panelDocks, setPanelDocks] = useState<Record<string, FlowPanelDock>>({});\n const setPanelDock = useCallback((tabId: string, dock: FlowPanelDock) => {\n setPanelDocks(prev => (prev[tabId] === dock ? prev : { ...prev, [tabId]: dock }));\n }, []);\n\n const focusOnRectRef = useRef<(wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void>(() => {});\n const focusOnRect = useCallback((wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => {\n focusOnRectRef.current(wx, wy, ww, wh, options);\n }, []);\n const setFocusOnRect = useCallback((fn: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void) => {\n focusOnRectRef.current = fn;\n }, []);\n\n const value = useMemo<FlowUIContextValue>(() => ({\n toolMode, setToolMode,\n edgeType, setEdgeType,\n viewport, setViewport,\n setViewportInternal,\n viewportReqRef,\n focusOnRect, setFocusOnRect,\n autoFocus, setAutoFocus,\n editingNodeId, setEditingNodeId,\n isNodeDragging, beginNodeDrag, endNodeDrag,\n showPalette, setShowPalette,\n showInspector, setShowInspector,\n showOutline, setShowOutline,\n showJson, setShowJson,\n showAI, setShowAI,\n showMiniMap, setShowMiniMap,\n showGrid, setShowGrid,\n showAnchors, setShowAnchors,\n gridSize, setGridSize,\n placementSnap, setPlacementSnap,\n pendingPlacement, setPendingPlacement,\n contextMenu, setContextMenu,\n presentation, setPresentation,\n panelDocks, setPanelDock,\n readOnly,\n }), [toolMode, edgeType, viewport, autoFocus, editingNodeId, isNodeDragging, beginNodeDrag, endNodeDrag, showPalette, showInspector, showOutline, showJson, showAI, showMiniMap, showGrid, showAnchors, gridSize, placementSnap, pendingPlacement, contextMenu, presentation, panelDocks, setPanelDock, readOnly]);\n\n return <FlowUIContext.Provider value={value}>{children}</FlowUIContext.Provider>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FlowUIContext.js","names":[],"sources":["../../../../../src/components/pro/Flow/context/FlowUIContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState, useRef, useCallback } from 'react';\nimport type { FlowToolMode, FlowEdgeTypeName, FlowShapeType, FlowNodeData, ViewportState } from '../types';\n\nexport interface ContextMenuState {\n x: number;\n y: number;\n nodeId: string | null;\n}\n\n/** Where an editing panel lives: left dock, right dock or a floating overlay. */\nexport type FlowPanelDock = 'left' | 'right' | 'float';\n\nexport interface FocusOnRectOptions {\n /** Screen-space padding around the focused rectangle, in pixels. */\n padding?: number;\n /** Maximum zoom allowed for this focus operation. */\n maxZoom?: number;\n /** Viewport transition duration in milliseconds. */\n duration?: number;\n /** Keep the current zoom and only animate the focused rectangle to center. */\n preserveZoom?: boolean;\n}\n\nexport interface FlowUIContextValue {\n toolMode: FlowToolMode;\n setToolMode: (mode: FlowToolMode) => void;\n edgeType: FlowEdgeTypeName;\n setEdgeType: (type: FlowEdgeTypeName) => void;\n viewport: ViewportState;\n setViewport: (v: ViewportState) => void;\n /** Internal VM→React bridge setter (does not request a VM apply). */\n setViewportInternal: (v: ViewportState) => void;\n /** Monotonic counter of external viewport commands. */\n viewportReqRef: React.MutableRefObject<number>;\n focusOnRect: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void;\n setFocusOnRect: (fn: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void) => void;\n autoFocus: boolean;\n setAutoFocus: (v: boolean) => void;\n editingNodeId: string | null;\n setEditingNodeId: (id: string | null) => void;\n /** True while any node/line is being dragged. Used to suppress interactive\n * DOM overlays (e.g. HTML iframes) that would otherwise swallow pointerup. */\n isNodeDragging: boolean;\n beginNodeDrag: () => void;\n endNodeDrag: () => void;\n showPalette: boolean;\n setShowPalette: (v: boolean) => void;\n showInspector: boolean;\n setShowInspector: (v: boolean) => void;\n showOutline: boolean;\n setShowOutline: (v: boolean) => void;\n showJson: boolean;\n setShowJson: (v: boolean) => void;\n showAI: boolean;\n setShowAI: (v: boolean) => void;\n showMiniMap: boolean;\n setShowMiniMap: (v: boolean) => void;\n showGrid: boolean;\n setShowGrid: (v: boolean) => void;\n /** Global editor-only visibility for animation anchor objects. */\n showAnchors: boolean;\n setShowAnchors: (v: boolean) => void;\n gridSize: number;\n setGridSize: (s: number) => void;\n /** Placement magnet: when true, stamping a shape snaps it to the canvas grid. */\n placementSnap: boolean;\n setPlacementSnap: (v: boolean) => void;\n pendingPlacement: PendingPlacement | null;\n setPendingPlacement: (p: PendingPlacement | null) => void;\n contextMenu: ContextMenuState | null;\n setContextMenu: (m: ContextMenuState | null) => void;\n /** Dock assignment per panel id. Panels not listed default to the left\n * dock; users can move them to the right dock or let them float. */\n panelDocks: Record<string, FlowPanelDock>;\n setPanelDock: (tabId: string, dock: FlowPanelDock) => void;\n /** PPT-style presentation mode. When set, the overlay animates the viewport\n * between animation anchors, navigable via arrow keys. */\n presentation: PresentationState | null;\n setPresentation: (p: PresentationState | null) => void;\n /** When true, all editing affordances are suppressed (read-only preview). */\n readOnly: boolean;\n}\n\nexport interface PresentationState {\n /** Index into the anchor sequence (0-based). */\n current: number;\n /** Whether to show the active anchor frame and sequence badge in preview. */\n showAnchor?: boolean;\n}\n\nexport interface PendingPlacement {\n type: FlowShapeType;\n width: number;\n height: number;\n data: FlowNodeData;\n}\n\nconst FlowUIContext = createContext<FlowUIContextValue | null>(null);\n\nexport function useFlowUI(): FlowUIContextValue {\n const ctx = useContext(FlowUIContext);\n if (!ctx) throw new Error('useFlowUI must be used within FlowUIProvider');\n return ctx;\n}\n\nexport interface FlowUIProviderProps {\n showMiniMap?: boolean;\n showGrid?: boolean;\n gridSize?: number;\n showAI?: boolean;\n /** Suppresses context menu, inline text editing and palette placement.\n * Document mutations are additionally blocked in `Flow` (single choke point). */\n readOnly?: boolean;\n children: React.ReactNode;\n}\n\nexport function FlowUIProvider({ showMiniMap: initMiniMap = true, showGrid: initGrid = true, gridSize: initGridSize = 20, showAI: initShowAI = true, readOnly = false, children }: FlowUIProviderProps) {\n const [toolMode, setToolMode] = useState<FlowToolMode>('select');\n const [edgeType, setEdgeType] = useState<FlowEdgeTypeName>('smoothstep');\n const [viewport, setViewportState] = useState<ViewportState>({ x: 0, y: 0, zoom: 1 });\n // Distinguishes EXTERNAL viewport commands (toolbar, minimap, outline) from\n // internal echoes emitted by the ViewportManager. Only external commands\n // should be pushed back into the VM; echoing VM changes causes jitter.\n const viewportReqRef = useRef(0);\n const setViewport = useCallback((v: ViewportState) => {\n viewportReqRef.current += 1;\n setViewportState(v);\n }, []);\n // Internal setter used by the VM→React bridge; does NOT bump the request\n // counter, so the sync effect will not echo it back to the VM.\n const setViewportInternal = useCallback((v: ViewportState) => {\n setViewportState(v);\n }, []);\n const [autoFocus, setAutoFocus] = useState(false);\n const [editingNodeId, setEditingNodeIdRaw] = useState<string | null>(null);\n // In read-only mode the inline node/edge text editor must never open.\n const setEditingNodeId = useCallback((id: string | null) => {\n if (readOnly) return;\n setEditingNodeIdRaw(id);\n }, [readOnly]);\n // Counter so concurrent drags (multi-node) don't flip the flag early.\n const dragCountRef = useRef(0);\n const [isNodeDragging, setIsNodeDragging] = useState(false);\n const beginNodeDrag = useCallback(() => {\n dragCountRef.current += 1;\n if (!isNodeDragging) setIsNodeDragging(true);\n }, [isNodeDragging]);\n const endNodeDrag = useCallback(() => {\n dragCountRef.current = Math.max(0, dragCountRef.current - 1);\n if (dragCountRef.current === 0) setIsNodeDragging(false);\n }, []);\n const [showPalette, setShowPalette] = useState(true);\n const [showInspector, setShowInspector] = useState(true);\n const [showOutline, setShowOutline] = useState(true);\n const [showJson, setShowJson] = useState(true);\n const [showAI, setShowAI] = useState(initShowAI);\n const [showMiniMap, setShowMiniMap] = useState(initMiniMap);\n const [showGrid, setShowGrid] = useState(initGrid);\n const [showAnchors, setShowAnchors] = useState(true);\n const [gridSize, setGridSize] = useState(initGridSize);\n const [placementSnap, setPlacementSnap] = useState(true);\n const [pendingPlacement, setPendingPlacementRaw] = useState<PendingPlacement | null>(null);\n const [contextMenu, setContextMenuRaw] = useState<ContextMenuState | null>(null);\n // Read-only: palette drops and the right-click menu are editing affordances.\n const setPendingPlacement = useCallback((p: PendingPlacement | null) => {\n if (readOnly) return;\n setPendingPlacementRaw(p);\n }, [readOnly]);\n const setContextMenu = useCallback((m: ContextMenuState | null) => {\n if (readOnly) return;\n setContextMenuRaw(m);\n }, [readOnly]);\n const [presentation, setPresentation] = useState<PresentationState | null>(null);\n const [panelDocks, setPanelDocks] = useState<Record<string, FlowPanelDock>>({});\n const setPanelDock = useCallback((tabId: string, dock: FlowPanelDock) => {\n setPanelDocks(prev => (prev[tabId] === dock ? prev : { ...prev, [tabId]: dock }));\n }, []);\n\n const focusOnRectRef = useRef<(wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void>(() => {});\n const focusOnRect = useCallback((wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => {\n focusOnRectRef.current(wx, wy, ww, wh, options);\n }, []);\n const setFocusOnRect = useCallback((fn: (wx: number, wy: number, ww: number, wh: number, options?: FocusOnRectOptions) => void) => {\n focusOnRectRef.current = fn;\n }, []);\n\n const value = useMemo<FlowUIContextValue>(() => ({\n toolMode, setToolMode,\n edgeType, setEdgeType,\n viewport, setViewport,\n setViewportInternal,\n viewportReqRef,\n focusOnRect, setFocusOnRect,\n autoFocus, setAutoFocus,\n editingNodeId, setEditingNodeId,\n isNodeDragging, beginNodeDrag, endNodeDrag,\n showPalette, setShowPalette,\n showInspector, setShowInspector,\n showOutline, setShowOutline,\n showJson, setShowJson,\n showAI, setShowAI,\n showMiniMap, setShowMiniMap,\n showGrid, setShowGrid,\n showAnchors, setShowAnchors,\n gridSize, setGridSize,\n placementSnap, setPlacementSnap,\n pendingPlacement, setPendingPlacement,\n contextMenu, setContextMenu,\n presentation, setPresentation,\n panelDocks, setPanelDock,\n readOnly,\n }), [toolMode, edgeType, viewport, autoFocus, editingNodeId, isNodeDragging, beginNodeDrag, endNodeDrag, showPalette, showInspector, showOutline, showJson, showAI, showMiniMap, showGrid, showAnchors, gridSize, placementSnap, pendingPlacement, contextMenu, presentation, panelDocks, setPanelDock, readOnly]);\n\n return <FlowUIContext.Provider value={value}>{children}</FlowUIContext.Provider>;\n}\n"],"mappings":"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"}