dishui 0.0.64 → 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.
- package/dist/_virtual/_rolldown/runtime.js +10 -11
- package/dist/chart.js +12 -46
- package/dist/code-editor.js +16 -43
- package/dist/components/Badge/index.js +11 -13
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/Button/index.js +62 -86
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Card/index.d.ts +87 -0
- package/dist/components/Card/index.js +178 -44
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Chart/Chart.js +25 -25
- package/dist/components/Chart/Chart.js.map +1 -1
- package/dist/components/Checkbox/index.js +57 -63
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/ChoicePicker/index.d.ts +44 -0
- package/dist/components/ChoicePicker/index.js +81 -0
- package/dist/components/ChoicePicker/index.js.map +1 -0
- package/dist/components/Column/index.d.ts +28 -0
- package/dist/components/Column/index.js +30 -0
- package/dist/components/Column/index.js.map +1 -0
- package/dist/components/DateTimeInput/index.d.ts +44 -0
- package/dist/components/DateTimeInput/index.js +48 -0
- package/dist/components/DateTimeInput/index.js.map +1 -0
- package/dist/components/Demo/index.js +107 -107
- package/dist/components/Demo/index.js.map +1 -1
- package/dist/components/Divider/index.d.ts +20 -0
- package/dist/components/Divider/index.js +30 -0
- package/dist/components/Divider/index.js.map +1 -0
- package/dist/components/EmptyState/index.d.ts +4 -1
- package/dist/components/EmptyState/index.js +24 -24
- package/dist/components/EmptyState/index.js.map +1 -1
- package/dist/components/FileUploader/DropZone.js +134 -136
- package/dist/components/FileUploader/DropZone.js.map +1 -1
- package/dist/components/FileUploader/FileItem.js +159 -163
- package/dist/components/FileUploader/FileItem.js.map +1 -1
- package/dist/components/FileUploader/FileUploader.js +126 -127
- package/dist/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/components/FileUploader/UploadQueue.js +62 -62
- package/dist/components/FileUploader/UploadQueue.js.map +1 -1
- package/dist/components/FloatWindow/index.d.ts +28 -0
- package/dist/components/GridLayout/index.d.ts +42 -0
- package/dist/components/Icon/index.d.ts +24 -0
- package/dist/components/Icon/index.js +26 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/Image/index.d.ts +33 -0
- package/dist/components/Image/index.js +44 -0
- package/dist/components/Image/index.js.map +1 -0
- package/dist/components/Input/index.js +196 -197
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Label/index.js +62 -73
- package/dist/components/Label/index.js.map +1 -1
- package/dist/components/Layout/index.js +134 -139
- package/dist/components/Layout/index.js.map +1 -1
- package/dist/components/List/index.js +45 -43
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Markdown/Markdown.js +106 -103
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Markdown/codeThemes.js +24 -33
- package/dist/components/Markdown/codeThemes.js.map +1 -1
- package/dist/components/Markdown/markdownComponents.js +203 -208
- package/dist/components/Markdown/markdownComponents.js.map +1 -1
- package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
- package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
- package/dist/components/Markdown/useMarkdownSource.js +46 -46
- package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
- package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
- package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
- package/dist/components/Markdown/useMermaidRenderer.js +41 -42
- package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
- package/dist/components/Modal/index.d.ts +7 -3
- package/dist/components/Modal/index.js +82 -70
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MultipleChoice/index.d.ts +44 -0
- package/dist/components/MultipleChoice/index.js +52 -0
- package/dist/components/MultipleChoice/index.js.map +1 -0
- package/dist/components/Notification/index.d.ts +17 -0
- package/dist/components/Page/index.d.ts +58 -0
- package/dist/components/Page/index.js +43 -0
- package/dist/components/Page/index.js.map +1 -0
- package/dist/components/PageHeader/index.js +28 -28
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/ProtectedRoute/index.js +8 -9
- package/dist/components/ProtectedRoute/index.js.map +1 -1
- package/dist/components/Row/index.d.ts +28 -0
- package/dist/components/Row/index.js +30 -0
- package/dist/components/Row/index.js.map +1 -0
- package/dist/components/Select/index.js +251 -257
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/SidebarToggleButton/index.js +56 -59
- package/dist/components/SidebarToggleButton/index.js.map +1 -1
- package/dist/components/Slider/index.d.ts +39 -0
- package/dist/components/Slider/index.js +52 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/StatCard/index.d.ts +31 -1
- package/dist/components/StatCard/index.js +189 -58
- package/dist/components/StatCard/index.js.map +1 -1
- package/dist/components/Switch/index.d.ts +34 -0
- package/dist/components/Switch/index.js +55 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Tab/index.d.ts +40 -0
- package/dist/components/Table/index.js +109 -103
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Tabs/index.d.ts +19 -5
- package/dist/components/Tabs/index.js +30 -21
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Text/index.d.ts +43 -0
- package/dist/components/Text/index.js +55 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/Tooltip/index.d.ts +23 -0
- package/dist/components/Tooltip/index.js +34 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/Tree/Tree.js +205 -205
- package/dist/components/Tree/Tree.js.map +1 -1
- package/dist/components/pro/ArticleContextMenu/index.js +86 -87
- package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
- package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
- package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
- package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
- package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
- package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
- package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
- package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
- package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
- package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
- package/dist/components/pro/Calendar/index.d.ts +7 -0
- package/dist/components/pro/Calendar/types.d.ts +151 -0
- package/dist/components/pro/Calendar/utils.d.ts +94 -0
- package/dist/components/pro/Chat/Chat.d.ts +6 -0
- package/dist/components/pro/Chat/index.d.ts +2 -0
- package/dist/components/pro/Chat/types.d.ts +84 -0
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -320
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -221
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
- package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
- package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
- package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/index.js +7 -15
- package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
- package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/python.js +4 -40
- package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
- package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
- package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
- package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
- package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
- package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/themes.js +513 -483
- package/dist/components/pro/CodeEditor/themes.js.map +1 -1
- package/dist/components/pro/CodeEditor/types.d.ts +1 -1
- package/dist/components/pro/CodeEditor/utils.js +171 -175
- package/dist/components/pro/CodeEditor/utils.js.map +1 -1
- package/dist/components/pro/DataTable/DataTable.js +305 -305
- package/dist/components/pro/DataTable/DataTable.js.map +1 -1
- package/dist/components/pro/DataTable/Filters.js +299 -314
- package/dist/components/pro/DataTable/Filters.js.map +1 -1
- package/dist/components/pro/DataTable/PivotPanel.js +203 -204
- package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
- package/dist/components/pro/DataTable/PivotView.js +142 -141
- package/dist/components/pro/DataTable/PivotView.js.map +1 -1
- package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
- package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
- package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
- package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
- package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
- package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableBody.js +93 -94
- package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
- package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
- package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
- package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
- package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
- package/dist/components/pro/DataTable/extension.js +5 -5
- package/dist/components/pro/DataTable/extension.js.map +1 -1
- package/dist/components/pro/DataTable/pivotEngine.js +84 -92
- package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
- package/dist/components/pro/DataTable/pivotExtension.js +93 -93
- package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
- package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
- package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
- package/dist/components/pro/DataTable/tanstack-table.js +45 -62
- package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
- package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
- package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
- package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
- package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
- package/dist/components/pro/DataTable/utils.js +156 -168
- package/dist/components/pro/DataTable/utils.js.map +1 -1
- package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
- package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
- package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
- package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
- package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileIcon.js +190 -190
- package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
- package/dist/components/pro/FileExplorer/GridView.js +100 -100
- package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
- package/dist/components/pro/FileExplorer/ListView.js +209 -209
- package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
- package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
- package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
- package/dist/components/pro/Flow/Flow.js +920 -946
- package/dist/components/pro/Flow/Flow.js.map +1 -1
- package/dist/components/pro/Flow/FlowCanvas.js +1626 -1663
- package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
- package/dist/components/pro/Flow/archify/build.js +85 -94
- package/dist/components/pro/Flow/archify/build.js.map +1 -1
- package/dist/components/pro/Flow/archify/convert.js +512 -519
- package/dist/components/pro/Flow/archify/convert.js.map +1 -1
- package/dist/components/pro/Flow/archify/palette.js +87 -104
- package/dist/components/pro/Flow/archify/palette.js.map +1 -1
- package/dist/components/pro/Flow/archify/presets.js +34 -37
- package/dist/components/pro/Flow/archify/presets.js.map +1 -1
- package/dist/components/pro/Flow/archify/spec.js +7 -7
- package/dist/components/pro/Flow/archify/spec.js.map +1 -1
- package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
- package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
- package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
- package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
- package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
- package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
- package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
- package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
- package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
- package/dist/components/pro/Flow/constants.js +266 -278
- package/dist/components/pro/Flow/constants.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
- package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowContext.js +60 -61
- package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
- package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
- package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
- package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
- package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
- package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
- package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
- package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
- package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
- package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
- package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
- package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
- package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -182
- package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
- package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
- package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
- package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
- package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
- package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
- package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
- package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
- package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
- package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
- package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
- package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
- package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
- package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
- package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
- package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
- package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -222
- package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
- package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
- package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
- package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
- package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
- package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
- package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
- package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
- package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
- package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
- package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
- package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
- package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
- package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
- package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/shapes.js +556 -591
- package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
- package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
- package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
- package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
- package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
- package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
- package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
- package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
- package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
- package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
- package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
- package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
- package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
- package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
- package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
- package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -244
- package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/PresentationMode.js +137 -138
- package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
- package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
- package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
- package/dist/components/pro/Flow/panels/ShapePalette.js +557 -567
- package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
- package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
- package/dist/components/pro/Flow/types.js +26 -26
- package/dist/components/pro/Flow/types.js.map +1 -1
- package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
- package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
- package/dist/components/pro/Flow/utils/gradient.js +55 -55
- package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
- package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
- package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
- package/dist/components/pro/Flow/utils/themeColor.js +185 -195
- package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
- package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
- package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
- package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
- package/dist/components/pro/Gantt/index.d.ts +6 -0
- package/dist/components/pro/Gantt/types.d.ts +478 -0
- package/dist/components/pro/Gantt/utils.d.ts +124 -0
- package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
- package/dist/components/pro/Resizable/index.d.ts +2 -0
- package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
- package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
- package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
- package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
- package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
- package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
- package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
- package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
- package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
- package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
- package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
- package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
- package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
- package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
- package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
- package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
- package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
- package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
- package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
- package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
- package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
- package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
- package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
- package/dist/components/pro/RichTextEditor/types.js +75 -75
- package/dist/components/pro/RichTextEditor/types.js.map +1 -1
- package/dist/contexts/AppContext.d.ts +1 -1
- package/dist/contexts/AppContext.js +216 -221
- package/dist/contexts/AppContext.js.map +1 -1
- package/dist/data-table.js +15 -41
- package/dist/data-table.js.map +1 -1
- package/dist/dishui.css +1 -1
- package/dist/flow.js +27 -83
- package/dist/hooks/useClickOutside.js +18 -18
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useContainerElement.js +9 -9
- package/dist/hooks/useContainerElement.js.map +1 -1
- package/dist/hooks/useControllableState.js +33 -35
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useCopyToClipboard.js +16 -16
- package/dist/hooks/useCopyToClipboard.js.map +1 -1
- package/dist/hooks/useDebounce.js +14 -14
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDraggable.js +50 -50
- package/dist/hooks/useDraggable.js.map +1 -1
- package/dist/hooks/useTableColumns.js +39 -42
- package/dist/hooks/useTableColumns.js.map +1 -1
- package/dist/hooks/useTableData.js +67 -68
- package/dist/hooks/useTableData.js.map +1 -1
- package/dist/index-nostyled.d.ts +8 -0
- package/dist/index.d.ts +29 -1
- package/dist/index.js +106 -236
- package/dist/layouts/MainLayout.js +56 -56
- package/dist/layouts/MainLayout.js.map +1 -1
- package/dist/layouts/Navbar.js +214 -214
- package/dist/layouts/Navbar.js.map +1 -1
- package/dist/layouts/Sidebar.js +184 -165
- package/dist/layouts/Sidebar.js.map +1 -1
- package/dist/layouts/headbar/Headbar.js +25 -25
- package/dist/layouts/headbar/Headbar.js.map +1 -1
- package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
- package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarSearch.js +120 -120
- package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
- package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
- package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarTitle.js +26 -26
- package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
- package/dist/lite.js +9 -24
- package/dist/markdown.js +4 -9
- package/dist/pages/components/Calendar/index.d.ts +3 -0
- package/dist/pages/components/Calendar/index.en.d.ts +3 -0
- package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
- package/dist/pages/components/Chat/index.d.ts +3 -0
- package/dist/pages/components/Chat/index.en.d.ts +3 -0
- package/dist/pages/components/Chat/index.zh.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
- package/dist/pages/components/Gantt/index.d.ts +3 -0
- package/dist/pages/components/Gantt/index.en.d.ts +3 -0
- package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
- package/dist/pages/components/Notification/index.d.ts +3 -0
- package/dist/pages/components/Notification/index.en.d.ts +3 -0
- package/dist/pages/components/Notification/index.zh.d.ts +3 -0
- package/dist/pages/components/Resizable/index.d.ts +3 -0
- package/dist/pages/components/Resizable/index.en.d.ts +3 -0
- package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
- package/dist/pages/components/Tab/index.d.ts +3 -0
- package/dist/pages/components/Tab/index.en.d.ts +3 -0
- package/dist/pages/components/Tab/index.zh.d.ts +3 -0
- package/dist/styles/themeStyles.js +87 -86
- package/dist/styles/themeStyles.js.map +1 -1
- package/dist/utils/cn.d.ts +13 -0
- package/dist/utils/cn.js +16 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/i18n.js +690 -602
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/menu.js +94 -94
- package/dist/utils/menu.js.map +1 -1
- package/dist/utils/rehype-code-meta.js +14 -14
- package/dist/utils/rehype-code-meta.js.map +1 -1
- package/dist/utils/remark-code-meta.js +9 -9
- package/dist/utils/remark-code-meta.js.map +1 -1
- package/dist/utils/routerBuilder.js +59 -58
- package/dist/utils/routerBuilder.js.map +1 -1
- package/dist/utils/selection.js +28 -29
- package/dist/utils/selection.js.map +1 -1
- package/dist/utils/themes.js +275 -255
- package/dist/utils/themes.js.map +1 -1
- package/package.json +23 -10
|
@@ -1,255 +1,254 @@
|
|
|
1
|
-
import { defaultLabels as
|
|
2
|
-
import { getNextFloatZIndex as
|
|
3
|
-
import { useCallback as
|
|
4
|
-
import { jsx as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
};
|
|
251
|
-
export {
|
|
252
|
-
$ as default
|
|
1
|
+
import { defaultLabels as e } from "./types.js";
|
|
2
|
+
import { getNextFloatZIndex as t } from "./extensions/FloatingDialog.js";
|
|
3
|
+
import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/pro/RichTextEditor/ContextMenu.tsx
|
|
6
|
+
var c = ({ editor: c, labels: l, onAIClick: u }) => {
|
|
7
|
+
let d = {
|
|
8
|
+
...e,
|
|
9
|
+
...l
|
|
10
|
+
}, [f, p] = a(!1), [m, h] = a({
|
|
11
|
+
x: 0,
|
|
12
|
+
y: 0
|
|
13
|
+
}), g = i(null), _ = n(() => p(!1), []);
|
|
14
|
+
if (r(() => {
|
|
15
|
+
let e = c.view.dom, t = (t) => {
|
|
16
|
+
let n = t;
|
|
17
|
+
n.preventDefault();
|
|
18
|
+
let r = e.closest(".rte-editor-wrapper");
|
|
19
|
+
if (!r) return;
|
|
20
|
+
let i = r.getBoundingClientRect();
|
|
21
|
+
h({
|
|
22
|
+
x: n.clientX - i.left,
|
|
23
|
+
y: n.clientY - i.top
|
|
24
|
+
}), p(!0);
|
|
25
|
+
};
|
|
26
|
+
return e.addEventListener("contextmenu", t), document.addEventListener("mousedown", (e) => {
|
|
27
|
+
g.current && !g.current.contains(e.target) && _();
|
|
28
|
+
}), document.addEventListener("keydown", (e) => {
|
|
29
|
+
e.key === "Escape" && _();
|
|
30
|
+
}), () => {
|
|
31
|
+
e.removeEventListener("contextmenu", t);
|
|
32
|
+
};
|
|
33
|
+
}, [c, _]), r(() => {
|
|
34
|
+
if (!f || !g.current) return;
|
|
35
|
+
let e = g.current, t = e.parentElement;
|
|
36
|
+
if (!t) return;
|
|
37
|
+
let n = t.getBoundingClientRect(), r = e.getBoundingClientRect(), { x: i, y: a } = m;
|
|
38
|
+
i + r.width > n.width && (i = Math.max(0, n.width - r.width - 4)), a + r.height > n.height && (a = Math.max(0, a - r.height)), (i !== m.x || a !== m.y) && h({
|
|
39
|
+
x: i,
|
|
40
|
+
y: a
|
|
41
|
+
});
|
|
42
|
+
}, [f]), !f) return null;
|
|
43
|
+
let v = c.state.selection.from !== c.state.selection.to, y = c.isActive("table"), b = [
|
|
44
|
+
{
|
|
45
|
+
label: "Cut",
|
|
46
|
+
shortcut: "⌘X",
|
|
47
|
+
action: () => {
|
|
48
|
+
document.execCommand("cut"), _();
|
|
49
|
+
},
|
|
50
|
+
disabled: !v
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: "Copy",
|
|
54
|
+
shortcut: "⌘C",
|
|
55
|
+
action: () => {
|
|
56
|
+
document.execCommand("copy"), _();
|
|
57
|
+
},
|
|
58
|
+
disabled: !v
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: "Paste",
|
|
62
|
+
shortcut: "⌘V",
|
|
63
|
+
action: () => {
|
|
64
|
+
document.execCommand("paste"), _();
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: "Select All",
|
|
69
|
+
shortcut: "⌘A",
|
|
70
|
+
action: () => {
|
|
71
|
+
c.chain().focus().selectAll().run(), _();
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"divider",
|
|
75
|
+
{
|
|
76
|
+
label: d.bold || "Bold",
|
|
77
|
+
shortcut: "⌘B",
|
|
78
|
+
action: () => {
|
|
79
|
+
c.chain().focus().toggleBold().run(), _();
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
label: d.italic || "Italic",
|
|
84
|
+
shortcut: "⌘I",
|
|
85
|
+
action: () => {
|
|
86
|
+
c.chain().focus().toggleItalic().run(), _();
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
label: d.underline || "Underline",
|
|
91
|
+
shortcut: "⌘U",
|
|
92
|
+
action: () => {
|
|
93
|
+
c.chain().focus().toggleUnderline().run(), _();
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
label: d.strikethrough || "Strikethrough",
|
|
98
|
+
action: () => {
|
|
99
|
+
c.chain().focus().toggleStrike().run(), _();
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"divider",
|
|
103
|
+
{
|
|
104
|
+
label: d.link || "Insert Link",
|
|
105
|
+
action: () => {
|
|
106
|
+
let e = window.prompt(d.insertLinkUrl || "Enter URL");
|
|
107
|
+
e && c.chain().focus().setLink({ href: e }).run(), _();
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
label: d.image || "Insert Image",
|
|
112
|
+
action: () => {
|
|
113
|
+
let e = window.prompt(d.insertImageUrl || "Enter image URL");
|
|
114
|
+
e && c.chain().focus().setImage({ src: e }).run(), _();
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
label: d.codeBlock || "Code Block",
|
|
119
|
+
action: () => {
|
|
120
|
+
c.chain().focus().toggleNode("codeBlock", "paragraph").run(), _();
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: d.blockquote || "Blockquote",
|
|
125
|
+
action: () => {
|
|
126
|
+
c.chain().focus().toggleBlockquote().run(), _();
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
label: d.horizontalRule || "Horizontal Rule",
|
|
131
|
+
action: () => {
|
|
132
|
+
c.chain().focus().setHorizontalRule().run(), _();
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: `${d.floatingDialog || "Floating Dialog"} — ${d.layoutBlock || "Block"}`,
|
|
137
|
+
action: () => {
|
|
138
|
+
c.chain().focus().insertContent({
|
|
139
|
+
type: "floatingDialog",
|
|
140
|
+
attrs: {
|
|
141
|
+
title: "Note",
|
|
142
|
+
layout: "block"
|
|
143
|
+
},
|
|
144
|
+
content: [{ type: "paragraph" }]
|
|
145
|
+
}).run(), _();
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
label: `${d.floatingDialog || "Floating Dialog"} — ${d.layoutWrapLeft || "Wrap Left"}`,
|
|
150
|
+
action: () => {
|
|
151
|
+
c.chain().focus().insertContent({
|
|
152
|
+
type: "floatingDialog",
|
|
153
|
+
attrs: {
|
|
154
|
+
title: "Note",
|
|
155
|
+
layout: "wrap-left",
|
|
156
|
+
width: 240
|
|
157
|
+
},
|
|
158
|
+
content: [{ type: "paragraph" }]
|
|
159
|
+
}).run(), _();
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
label: `${d.floatingDialog || "Floating Dialog"} — ${d.layoutWrapRight || "Wrap Right"}`,
|
|
164
|
+
action: () => {
|
|
165
|
+
c.chain().focus().insertContent({
|
|
166
|
+
type: "floatingDialog",
|
|
167
|
+
attrs: {
|
|
168
|
+
title: "Note",
|
|
169
|
+
layout: "wrap-right",
|
|
170
|
+
width: 240
|
|
171
|
+
},
|
|
172
|
+
content: [{ type: "paragraph" }]
|
|
173
|
+
}).run(), _();
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
label: `${d.floatingDialog || "Floating Dialog"} — ${d.layoutFloat || "Float"}`,
|
|
178
|
+
action: () => {
|
|
179
|
+
c.chain().focus().insertContent({
|
|
180
|
+
type: "floatingDialog",
|
|
181
|
+
attrs: {
|
|
182
|
+
title: "Note",
|
|
183
|
+
layout: "float",
|
|
184
|
+
x: 40,
|
|
185
|
+
y: 40,
|
|
186
|
+
zIndex: t(c)
|
|
187
|
+
},
|
|
188
|
+
content: [{ type: "paragraph" }]
|
|
189
|
+
}).run(), _();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
];
|
|
193
|
+
return y && (b.push("divider"), b.push({
|
|
194
|
+
label: d.tableAddRowAfter || "Add Row After",
|
|
195
|
+
action: () => {
|
|
196
|
+
c.chain().focus().addRowAfter().run(), _();
|
|
197
|
+
}
|
|
198
|
+
}), b.push({
|
|
199
|
+
label: d.tableAddColumnAfter || "Add Column After",
|
|
200
|
+
action: () => {
|
|
201
|
+
c.chain().focus().addColumnAfter().run(), _();
|
|
202
|
+
}
|
|
203
|
+
}), b.push({
|
|
204
|
+
label: d.tableDeleteRow || "Delete Row",
|
|
205
|
+
action: () => {
|
|
206
|
+
c.chain().focus().deleteRow().run(), _();
|
|
207
|
+
}
|
|
208
|
+
}), b.push({
|
|
209
|
+
label: d.tableDeleteColumn || "Delete Column",
|
|
210
|
+
action: () => {
|
|
211
|
+
c.chain().focus().deleteColumn().run(), _();
|
|
212
|
+
}
|
|
213
|
+
}), b.push({
|
|
214
|
+
label: d.tableMergeCells || "Merge Cells",
|
|
215
|
+
action: () => {
|
|
216
|
+
c.chain().focus().mergeCells().run(), _();
|
|
217
|
+
}
|
|
218
|
+
}), b.push({
|
|
219
|
+
label: d.tableSplitCell || "Split Cell",
|
|
220
|
+
action: () => {
|
|
221
|
+
c.chain().focus().splitCell().run(), _();
|
|
222
|
+
}
|
|
223
|
+
})), u && (b.push("divider"), b.push({
|
|
224
|
+
label: `✨ ${d.ai || "AI Assistant"}`,
|
|
225
|
+
action: () => {
|
|
226
|
+
u(), _();
|
|
227
|
+
},
|
|
228
|
+
disabled: !v
|
|
229
|
+
})), /* @__PURE__ */ o("div", {
|
|
230
|
+
ref: g,
|
|
231
|
+
className: "rte-context-menu",
|
|
232
|
+
style: {
|
|
233
|
+
left: m.x,
|
|
234
|
+
top: m.y
|
|
235
|
+
},
|
|
236
|
+
children: b.map((e, t) => e === "divider" ? /* @__PURE__ */ o("div", { className: "rte-context-menu__divider" }, `d-${t}`) : /* @__PURE__ */ s("button", {
|
|
237
|
+
type: "button",
|
|
238
|
+
className: "rte-context-menu__item",
|
|
239
|
+
onClick: e.action,
|
|
240
|
+
disabled: e.disabled,
|
|
241
|
+
children: [/* @__PURE__ */ o("span", {
|
|
242
|
+
className: "rte-context-menu__label",
|
|
243
|
+
children: e.label
|
|
244
|
+
}), e.shortcut && /* @__PURE__ */ o("span", {
|
|
245
|
+
className: "rte-context-menu__shortcut",
|
|
246
|
+
children: e.shortcut
|
|
247
|
+
})]
|
|
248
|
+
}, t))
|
|
249
|
+
});
|
|
253
250
|
};
|
|
251
|
+
//#endregion
|
|
252
|
+
export { c as default };
|
|
254
253
|
|
|
255
254
|
//# sourceMappingURL=ContextMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","names":[],"sources":["../../../../src/components/pro/RichTextEditor/ContextMenu.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport type { Editor } from '@tiptap/react';\nimport type { RichTextEditorLabels } from './types';\nimport { defaultLabels } from './types';\nimport { getNextFloatZIndex } from './extensions/FloatingDialog';\n\ninterface ContextMenuProps {\n editor: Editor;\n labels?: RichTextEditorLabels;\n onAIClick?: () => void;\n}\n\ninterface MenuItem {\n label: string;\n icon?: string;\n action: () => void;\n disabled?: boolean;\n divider?: boolean;\n shortcut?: string;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = ({ editor, labels: propsLabels, onAIClick }) => {\n const labels = { ...defaultLabels, ...propsLabels };\n const [visible, setVisible] = useState(false);\n const [pos, setPos] = useState({ x: 0, y: 0 });\n const menuRef = useRef<HTMLDivElement>(null);\n\n const close = useCallback(() => setVisible(false), []);\n\n useEffect(() => {\n const editorEl = editor.view.dom;\n\n const handleContextMenu = (e: Event) => {\n const me = e as MouseEvent;\n me.preventDefault();\n\n const wrapperEl = editorEl.closest('.rte-editor-wrapper');\n if (!wrapperEl) return;\n const rect = wrapperEl.getBoundingClientRect();\n\n setPos({\n x: me.clientX - rect.left,\n y: me.clientY - rect.top,\n });\n setVisible(true);\n };\n\n editorEl.addEventListener('contextmenu', handleContextMenu);\n document.addEventListener('mousedown', (e) => {\n if (menuRef.current && !menuRef.current.contains(e.target as Node)) {\n close();\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') close();\n });\n\n return () => {\n editorEl.removeEventListener('contextmenu', handleContextMenu);\n };\n }, [editor, close]);\n\n useEffect(() => {\n if (!visible || !menuRef.current) return;\n const menu = menuRef.current;\n const wrapper = menu.parentElement;\n if (!wrapper) return;\n\n const wRect = wrapper.getBoundingClientRect();\n const mRect = menu.getBoundingClientRect();\n\n let { x, y } = pos;\n if (x + mRect.width > wRect.width) x = Math.max(0, wRect.width - mRect.width - 4);\n if (y + mRect.height > wRect.height) y = Math.max(0, y - mRect.height);\n if (x !== pos.x || y !== pos.y) setPos({ x, y });\n }, [visible]);\n\n if (!visible) return null;\n\n const hasSelection = editor.state.selection.from !== editor.state.selection.to;\n const isInTable = editor.isActive('table');\n\n const items: (MenuItem | 'divider')[] = [\n { label: 'Cut', shortcut: '⌘X', action: () => { document.execCommand('cut'); close(); }, disabled: !hasSelection },\n { label: 'Copy', shortcut: '⌘C', action: () => { document.execCommand('copy'); close(); }, disabled: !hasSelection },\n { label: 'Paste', shortcut: '⌘V', action: () => { document.execCommand('paste'); close(); } },\n { label: 'Select All', shortcut: '⌘A', action: () => { editor.chain().focus().selectAll().run(); close(); } },\n 'divider',\n { label: labels.bold || 'Bold', shortcut: '⌘B', action: () => { editor.chain().focus().toggleBold().run(); close(); } },\n { label: labels.italic || 'Italic', shortcut: '⌘I', action: () => { editor.chain().focus().toggleItalic().run(); close(); } },\n { label: labels.underline || 'Underline', shortcut: '⌘U', action: () => { editor.chain().focus().toggleUnderline().run(); close(); } },\n { label: labels.strikethrough || 'Strikethrough', action: () => { editor.chain().focus().toggleStrike().run(); close(); } },\n 'divider',\n { label: labels.link || 'Insert Link', action: () => {\n const url = window.prompt(labels.insertLinkUrl || 'Enter URL');\n if (url) editor.chain().focus().setLink({ href: url }).run();\n close();\n }},\n { label: labels.image || 'Insert Image', action: () => {\n const url = window.prompt(labels.insertImageUrl || 'Enter image URL');\n if (url) editor.chain().focus().setImage({ src: url }).run();\n close();\n }},\n { label: labels.codeBlock || 'Code Block', action: () => { editor.chain().focus().toggleNode('codeBlock', 'paragraph').run(); close(); } },\n { label: labels.blockquote || 'Blockquote', action: () => { editor.chain().focus().toggleBlockquote().run(); close(); } },\n { label: labels.horizontalRule || 'Horizontal Rule', action: () => { editor.chain().focus().setHorizontalRule().run(); close(); } },\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutBlock || 'Block'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'block' }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutWrapLeft || 'Wrap Left'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'wrap-left', width: 240 }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutWrapRight || 'Wrap Right'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'wrap-right', width: 240 }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutFloat || 'Float'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'float', x: 40, y: 40, zIndex: getNextFloatZIndex(editor) }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n ];\n\n if (isInTable) {\n items.push('divider');\n items.push({ label: labels.tableAddRowAfter || 'Add Row After', action: () => { editor.chain().focus().addRowAfter().run(); close(); } });\n items.push({ label: labels.tableAddColumnAfter || 'Add Column After', action: () => { editor.chain().focus().addColumnAfter().run(); close(); } });\n items.push({ label: labels.tableDeleteRow || 'Delete Row', action: () => { editor.chain().focus().deleteRow().run(); close(); } });\n items.push({ label: labels.tableDeleteColumn || 'Delete Column', action: () => { editor.chain().focus().deleteColumn().run(); close(); } });\n items.push({ label: labels.tableMergeCells || 'Merge Cells', action: () => { editor.chain().focus().mergeCells().run(); close(); } });\n items.push({ label: labels.tableSplitCell || 'Split Cell', action: () => { editor.chain().focus().splitCell().run(); close(); } });\n }\n\n if (onAIClick) {\n items.push('divider');\n items.push({ label: `✨ ${labels.ai || 'AI Assistant'}`, action: () => { onAIClick(); close(); }, disabled: !hasSelection });\n }\n\n return (\n <div\n ref={menuRef}\n className=\"rte-context-menu\"\n style={{ left: pos.x, top: pos.y }}\n >\n {items.map((item, i) =>\n item === 'divider' ? (\n <div key={`d-${i}`} className=\"rte-context-menu__divider\" />\n ) : (\n <button\n key={i}\n type=\"button\"\n className=\"rte-context-menu__item\"\n onClick={item.action}\n disabled={item.disabled}\n >\n <span className=\"rte-context-menu__label\">{item.label}</span>\n {item.shortcut && <span className=\"rte-context-menu__shortcut\">{item.shortcut}</span>}\n </button>\n )\n )}\n </div>\n );\n};\n\nexport default ContextMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","names":[],"sources":["../../../../src/components/pro/RichTextEditor/ContextMenu.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport type { Editor } from '@tiptap/react';\nimport type { RichTextEditorLabels } from './types';\nimport { defaultLabels } from './types';\nimport { getNextFloatZIndex } from './extensions/FloatingDialog';\n\ninterface ContextMenuProps {\n editor: Editor;\n labels?: RichTextEditorLabels;\n onAIClick?: () => void;\n}\n\ninterface MenuItem {\n label: string;\n icon?: string;\n action: () => void;\n disabled?: boolean;\n divider?: boolean;\n shortcut?: string;\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = ({ editor, labels: propsLabels, onAIClick }) => {\n const labels = { ...defaultLabels, ...propsLabels };\n const [visible, setVisible] = useState(false);\n const [pos, setPos] = useState({ x: 0, y: 0 });\n const menuRef = useRef<HTMLDivElement>(null);\n\n const close = useCallback(() => setVisible(false), []);\n\n useEffect(() => {\n const editorEl = editor.view.dom;\n\n const handleContextMenu = (e: Event) => {\n const me = e as MouseEvent;\n me.preventDefault();\n\n const wrapperEl = editorEl.closest('.rte-editor-wrapper');\n if (!wrapperEl) return;\n const rect = wrapperEl.getBoundingClientRect();\n\n setPos({\n x: me.clientX - rect.left,\n y: me.clientY - rect.top,\n });\n setVisible(true);\n };\n\n editorEl.addEventListener('contextmenu', handleContextMenu);\n document.addEventListener('mousedown', (e) => {\n if (menuRef.current && !menuRef.current.contains(e.target as Node)) {\n close();\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') close();\n });\n\n return () => {\n editorEl.removeEventListener('contextmenu', handleContextMenu);\n };\n }, [editor, close]);\n\n useEffect(() => {\n if (!visible || !menuRef.current) return;\n const menu = menuRef.current;\n const wrapper = menu.parentElement;\n if (!wrapper) return;\n\n const wRect = wrapper.getBoundingClientRect();\n const mRect = menu.getBoundingClientRect();\n\n let { x, y } = pos;\n if (x + mRect.width > wRect.width) x = Math.max(0, wRect.width - mRect.width - 4);\n if (y + mRect.height > wRect.height) y = Math.max(0, y - mRect.height);\n if (x !== pos.x || y !== pos.y) setPos({ x, y });\n }, [visible]);\n\n if (!visible) return null;\n\n const hasSelection = editor.state.selection.from !== editor.state.selection.to;\n const isInTable = editor.isActive('table');\n\n const items: (MenuItem | 'divider')[] = [\n { label: 'Cut', shortcut: '⌘X', action: () => { document.execCommand('cut'); close(); }, disabled: !hasSelection },\n { label: 'Copy', shortcut: '⌘C', action: () => { document.execCommand('copy'); close(); }, disabled: !hasSelection },\n { label: 'Paste', shortcut: '⌘V', action: () => { document.execCommand('paste'); close(); } },\n { label: 'Select All', shortcut: '⌘A', action: () => { editor.chain().focus().selectAll().run(); close(); } },\n 'divider',\n { label: labels.bold || 'Bold', shortcut: '⌘B', action: () => { editor.chain().focus().toggleBold().run(); close(); } },\n { label: labels.italic || 'Italic', shortcut: '⌘I', action: () => { editor.chain().focus().toggleItalic().run(); close(); } },\n { label: labels.underline || 'Underline', shortcut: '⌘U', action: () => { editor.chain().focus().toggleUnderline().run(); close(); } },\n { label: labels.strikethrough || 'Strikethrough', action: () => { editor.chain().focus().toggleStrike().run(); close(); } },\n 'divider',\n { label: labels.link || 'Insert Link', action: () => {\n const url = window.prompt(labels.insertLinkUrl || 'Enter URL');\n if (url) editor.chain().focus().setLink({ href: url }).run();\n close();\n }},\n { label: labels.image || 'Insert Image', action: () => {\n const url = window.prompt(labels.insertImageUrl || 'Enter image URL');\n if (url) editor.chain().focus().setImage({ src: url }).run();\n close();\n }},\n { label: labels.codeBlock || 'Code Block', action: () => { editor.chain().focus().toggleNode('codeBlock', 'paragraph').run(); close(); } },\n { label: labels.blockquote || 'Blockquote', action: () => { editor.chain().focus().toggleBlockquote().run(); close(); } },\n { label: labels.horizontalRule || 'Horizontal Rule', action: () => { editor.chain().focus().setHorizontalRule().run(); close(); } },\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutBlock || 'Block'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'block' }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutWrapLeft || 'Wrap Left'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'wrap-left', width: 240 }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutWrapRight || 'Wrap Right'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'wrap-right', width: 240 }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n { label: `${labels.floatingDialog || 'Floating Dialog'} — ${labels.layoutFloat || 'Float'}`, action: () => {\n editor.chain().focus().insertContent({ type: 'floatingDialog', attrs: { title: 'Note', layout: 'float', x: 40, y: 40, zIndex: getNextFloatZIndex(editor) }, content: [{ type: 'paragraph' }] }).run();\n close();\n }},\n ];\n\n if (isInTable) {\n items.push('divider');\n items.push({ label: labels.tableAddRowAfter || 'Add Row After', action: () => { editor.chain().focus().addRowAfter().run(); close(); } });\n items.push({ label: labels.tableAddColumnAfter || 'Add Column After', action: () => { editor.chain().focus().addColumnAfter().run(); close(); } });\n items.push({ label: labels.tableDeleteRow || 'Delete Row', action: () => { editor.chain().focus().deleteRow().run(); close(); } });\n items.push({ label: labels.tableDeleteColumn || 'Delete Column', action: () => { editor.chain().focus().deleteColumn().run(); close(); } });\n items.push({ label: labels.tableMergeCells || 'Merge Cells', action: () => { editor.chain().focus().mergeCells().run(); close(); } });\n items.push({ label: labels.tableSplitCell || 'Split Cell', action: () => { editor.chain().focus().splitCell().run(); close(); } });\n }\n\n if (onAIClick) {\n items.push('divider');\n items.push({ label: `✨ ${labels.ai || 'AI Assistant'}`, action: () => { onAIClick(); close(); }, disabled: !hasSelection });\n }\n\n return (\n <div\n ref={menuRef}\n className=\"rte-context-menu\"\n style={{ left: pos.x, top: pos.y }}\n >\n {items.map((item, i) =>\n item === 'divider' ? (\n <div key={`d-${i}`} className=\"rte-context-menu__divider\" />\n ) : (\n <button\n key={i}\n type=\"button\"\n className=\"rte-context-menu__item\"\n onClick={item.action}\n disabled={item.disabled}\n >\n <span className=\"rte-context-menu__label\">{item.label}</span>\n {item.shortcut && <span className=\"rte-context-menu__shortcut\">{item.shortcut}</span>}\n </button>\n )\n )}\n </div>\n );\n};\n\nexport default ContextMenu;\n"],"mappings":"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"}
|