dishui 0.0.65 → 0.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +10 -11
- package/dist/chart.js +12 -46
- package/dist/code-editor.js +16 -43
- package/dist/components/Accordion/index.d.ts +39 -0
- package/dist/components/Accordion/index.js +70 -0
- package/dist/components/Accordion/index.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +48 -0
- package/dist/components/Avatar/index.js +71 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Badge/index.js +10 -15
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/Button/index.js +62 -89
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Card/index.d.ts +142 -0
- package/dist/components/Card/index.js +368 -69
- 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 -65
- 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.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 +26 -0
- package/dist/components/Icon/index.js +27 -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 -74
- 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 -58
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Markdown/Markdown.js +106 -107
- 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.js +82 -82
- 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 +1 -1
- package/dist/components/Page/index.js +40 -71
- package/dist/components/Page/index.js.map +1 -1
- 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 -254
- 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/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 -121
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Tabs/index.js +28 -38
- 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 -327
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
- 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 -306
- 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 -144
- 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 +189 -189
- 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 -948
- package/dist/components/pro/Flow/Flow.js.map +1 -1
- package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
- 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 -180
- 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 -242
- 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 -589
- 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 -248
- package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
- 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 -572
- 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 -41
- 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 +31 -3
- package/dist/index.js +106 -241
- 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 -186
- 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 +700 -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 -60
- 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 +19 -6
- package/dist/components/StatCard/index.d.ts +0 -24
- package/dist/components/StatCard/index.js +0 -90
- package/dist/components/StatCard/index.js.map +0 -1
|
@@ -1,213 +1,208 @@
|
|
|
1
|
-
import { resolveMetaTheme as
|
|
2
|
-
import { parseCodeBlockMeta as
|
|
1
|
+
import { resolveMetaTheme as e } from "./codeThemes.js";
|
|
2
|
+
import { parseCodeBlockMeta as t } from "./parseCodeBlockMeta.js";
|
|
3
3
|
import "react";
|
|
4
|
-
import { jsx as
|
|
5
|
-
import { Prism as
|
|
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
|
-
return t < r.length && o.push(r.substring(t)), o.length > 0 ? o : r;
|
|
65
|
-
})(a) }, c);
|
|
66
|
-
}).filter(Boolean);
|
|
4
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
5
|
+
import { Prism as i } from "react-syntax-highlighter";
|
|
6
|
+
//#region src/components/Markdown/markdownComponents.tsx
|
|
7
|
+
function a(e) {
|
|
8
|
+
return e.split("\n").map((e, t) => {
|
|
9
|
+
if (/^#{1,6}\s/.test(e)) {
|
|
10
|
+
let i = e.match(/^(#{1,6})(\s+.*)$/);
|
|
11
|
+
if (i) return /* @__PURE__ */ r("div", { children: [/* @__PURE__ */ n("span", {
|
|
12
|
+
style: { color: "#569cd6" },
|
|
13
|
+
children: i[1]
|
|
14
|
+
}), /* @__PURE__ */ n("span", {
|
|
15
|
+
style: { color: "#dcdcaa" },
|
|
16
|
+
children: i[2]
|
|
17
|
+
})] }, t);
|
|
18
|
+
}
|
|
19
|
+
if (/^(\s*)([-*+]|\d+\.)\s/.test(e)) {
|
|
20
|
+
let i = e.match(/^(\s*)([-*+]|\d+\.)(\s+.*)$/);
|
|
21
|
+
if (i) return /* @__PURE__ */ r("div", { children: [
|
|
22
|
+
/* @__PURE__ */ n("span", { children: i[1] }),
|
|
23
|
+
/* @__PURE__ */ n("span", {
|
|
24
|
+
style: { color: "#c586c0" },
|
|
25
|
+
children: i[2]
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ n("span", { children: i[3] })
|
|
28
|
+
] }, t);
|
|
29
|
+
}
|
|
30
|
+
return e.startsWith("```") ? /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n("span", {
|
|
31
|
+
style: { color: "#4ec9b0" },
|
|
32
|
+
children: e
|
|
33
|
+
}) }, t) : /^>\s/.test(e) ? /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n("span", {
|
|
34
|
+
style: { color: "#608b4e" },
|
|
35
|
+
children: e
|
|
36
|
+
}) }, t) : /* @__PURE__ */ n("div", { children: ((e) => {
|
|
37
|
+
let t = [], r = 0, i = /(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`|\[([^\]]+)\]\(([^)]+)\))/g, a;
|
|
38
|
+
for (; (a = i.exec(e)) !== null;) {
|
|
39
|
+
a.index > r && t.push(e.substring(r, a.index));
|
|
40
|
+
let o = a[1];
|
|
41
|
+
o.startsWith("**") ? t.push(/* @__PURE__ */ n("span", {
|
|
42
|
+
style: {
|
|
43
|
+
color: "#ce9178",
|
|
44
|
+
fontWeight: "bold"
|
|
45
|
+
},
|
|
46
|
+
children: o
|
|
47
|
+
}, a.index)) : o.startsWith("*") ? t.push(/* @__PURE__ */ n("span", {
|
|
48
|
+
style: {
|
|
49
|
+
color: "#ce9178",
|
|
50
|
+
fontStyle: "italic"
|
|
51
|
+
},
|
|
52
|
+
children: o
|
|
53
|
+
}, a.index)) : o.startsWith("`") ? t.push(/* @__PURE__ */ n("span", {
|
|
54
|
+
style: { color: "#d16969" },
|
|
55
|
+
children: o
|
|
56
|
+
}, a.index)) : o.startsWith("[") && t.push(/* @__PURE__ */ n("span", {
|
|
57
|
+
style: { color: "#4ec9b0" },
|
|
58
|
+
children: o
|
|
59
|
+
}, a.index)), r = i.lastIndex;
|
|
60
|
+
}
|
|
61
|
+
return r < e.length && t.push(e.substring(r)), t.length > 0 ? t : e;
|
|
62
|
+
})(e) }, t);
|
|
63
|
+
}).filter(Boolean);
|
|
67
64
|
}
|
|
68
|
-
var
|
|
69
|
-
function
|
|
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
|
-
};
|
|
65
|
+
var o = "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace";
|
|
66
|
+
function s(s) {
|
|
67
|
+
let { enableMermaid: c, enableMarkmap: l, showLineNumbers: u, codeStyle: d } = s;
|
|
68
|
+
return {
|
|
69
|
+
code({ node: s, className: f, children: p, ...m }) {
|
|
70
|
+
let h = f || "", g = /language-(\w+)/.exec(h), _ = m.inline, v = g ? g[1] : "", y = m.dataMeta || m["data-meta"] || "", b = t(y, h);
|
|
71
|
+
if (!_ && v === "mermaid" && c) return /* @__PURE__ */ n("div", {
|
|
72
|
+
className: "mermaid-diagram my-4",
|
|
73
|
+
children: String(p).replace(/\n$/, "")
|
|
74
|
+
});
|
|
75
|
+
if (!_ && v === "markmap" && l) return /* @__PURE__ */ n("div", {
|
|
76
|
+
className: "markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden",
|
|
77
|
+
"data-markmap-content": String(p).replace(/\n$/, "")
|
|
78
|
+
});
|
|
79
|
+
if (!_ && g && v === "markdown") {
|
|
80
|
+
let e = String(p).replace(/\n$/, "");
|
|
81
|
+
return /* @__PURE__ */ n("pre", {
|
|
82
|
+
style: {
|
|
83
|
+
fontFamily: o,
|
|
84
|
+
fontSize: "0.875em",
|
|
85
|
+
borderRadius: "0.5rem",
|
|
86
|
+
padding: "1em",
|
|
87
|
+
margin: 0,
|
|
88
|
+
backgroundColor: "rgb(30, 30, 30)",
|
|
89
|
+
color: "rgb(212, 212, 212)",
|
|
90
|
+
overflow: "auto",
|
|
91
|
+
lineHeight: "1.5"
|
|
92
|
+
},
|
|
93
|
+
children: /* @__PURE__ */ n("code", {
|
|
94
|
+
style: { fontFamily: o },
|
|
95
|
+
children: a(e)
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (!_ && g) {
|
|
100
|
+
let t = e(b.theme, d), a, s;
|
|
101
|
+
Array.isArray(b.showLineNumbers) ? (a = !0, s = b.showLineNumbers) : a = b.showLineNumbers === void 0 ? u : b.showLineNumbers;
|
|
102
|
+
let c = b.startLineNumber || 1, l = b.highlightLines && b.highlightLines.length > 0 || s && s.length > 0, f = /* @__PURE__ */ n(i, {
|
|
103
|
+
style: t,
|
|
104
|
+
language: v,
|
|
105
|
+
PreTag: "div",
|
|
106
|
+
showLineNumbers: a,
|
|
107
|
+
startingLineNumber: c,
|
|
108
|
+
customStyle: {
|
|
109
|
+
fontFamily: o,
|
|
110
|
+
fontSize: "0.875em",
|
|
111
|
+
borderRadius: b.title ? "0 0 0.5rem 0.5rem" : "0.5rem",
|
|
112
|
+
borderTop: b.title ? "none" : void 0,
|
|
113
|
+
padding: "1em",
|
|
114
|
+
margin: 0,
|
|
115
|
+
border: "none",
|
|
116
|
+
boxShadow: "none",
|
|
117
|
+
lineHeight: "1.5"
|
|
118
|
+
},
|
|
119
|
+
codeTagProps: { style: { fontFamily: o } },
|
|
120
|
+
lineNumberStyle: (e) => {
|
|
121
|
+
let t = {
|
|
122
|
+
minWidth: "3em",
|
|
123
|
+
paddingRight: "1em",
|
|
124
|
+
userSelect: "none",
|
|
125
|
+
border: "none"
|
|
126
|
+
};
|
|
127
|
+
return s ? s.includes(e) ? t.opacity = .5 : (t.opacity = 0, t.visibility = "hidden") : t.opacity = .5, t;
|
|
128
|
+
},
|
|
129
|
+
wrapLines: l,
|
|
130
|
+
lineProps: (e) => {
|
|
131
|
+
let t = {
|
|
132
|
+
display: "block",
|
|
133
|
+
border: "none",
|
|
134
|
+
boxShadow: "none",
|
|
135
|
+
outline: "none",
|
|
136
|
+
margin: 0,
|
|
137
|
+
padding: 0
|
|
138
|
+
};
|
|
139
|
+
return b.highlightLines && b.highlightLines.includes(e) && (t.backgroundColor = "rgba(255, 255, 0, 0.1)", t.display = "block", t.width = "100%"), { style: t };
|
|
140
|
+
},
|
|
141
|
+
...m,
|
|
142
|
+
children: String(p).replace(/\n$/, "")
|
|
143
|
+
});
|
|
144
|
+
return b.title ? /* @__PURE__ */ r("div", {
|
|
145
|
+
className: "my-4",
|
|
146
|
+
children: [/* @__PURE__ */ n("div", {
|
|
147
|
+
className: "px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300",
|
|
148
|
+
style: { fontFamily: o },
|
|
149
|
+
children: b.title
|
|
150
|
+
}), f]
|
|
151
|
+
}) : f;
|
|
152
|
+
}
|
|
153
|
+
return /* @__PURE__ */ n("code", {
|
|
154
|
+
className: f,
|
|
155
|
+
...m,
|
|
156
|
+
children: p
|
|
157
|
+
});
|
|
158
|
+
},
|
|
159
|
+
table({ node: e, children: t, ...r }) {
|
|
160
|
+
return /* @__PURE__ */ n("div", {
|
|
161
|
+
className: "overflow-x-auto my-6",
|
|
162
|
+
children: /* @__PURE__ */ n("table", {
|
|
163
|
+
className: "table-auto border-collapse w-full",
|
|
164
|
+
...r,
|
|
165
|
+
children: t
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
thead({ node: e, children: t, ...r }) {
|
|
170
|
+
return /* @__PURE__ */ n("thead", {
|
|
171
|
+
className: "bg-base-200",
|
|
172
|
+
...r,
|
|
173
|
+
children: t
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
tbody({ node: e, children: t, ...r }) {
|
|
177
|
+
return /* @__PURE__ */ n("tbody", {
|
|
178
|
+
...r,
|
|
179
|
+
children: t
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
tr({ node: e, children: t, ...r }) {
|
|
183
|
+
return /* @__PURE__ */ n("tr", {
|
|
184
|
+
className: "border-b border-base-300 hover:bg-base-100 transition-colors",
|
|
185
|
+
...r,
|
|
186
|
+
children: t
|
|
187
|
+
});
|
|
188
|
+
},
|
|
189
|
+
th({ node: e, children: t, ...r }) {
|
|
190
|
+
return /* @__PURE__ */ n("th", {
|
|
191
|
+
className: "px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300",
|
|
192
|
+
...r,
|
|
193
|
+
children: t
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
td({ node: e, children: t, ...r }) {
|
|
197
|
+
return /* @__PURE__ */ n("td", {
|
|
198
|
+
className: "px-4 py-3 text-base-content",
|
|
199
|
+
...r,
|
|
200
|
+
children: t
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
};
|
|
208
204
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
};
|
|
205
|
+
//#endregion
|
|
206
|
+
export { s as createMarkdownComponents };
|
|
212
207
|
|
|
213
208
|
//# sourceMappingURL=markdownComponents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownComponents.js","names":[],"sources":["../../../src/components/Markdown/markdownComponents.tsx"],"sourcesContent":["import React from 'react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { parseCodeBlockMeta } from './parseCodeBlockMeta';\nimport { resolveMetaTheme } from './codeThemes';\n\nfunction highlightMarkdown(text: string) {\n const lines = text.split('\\n');\n return lines.map((line, index) => {\n if (/^#{1,6}\\s/.test(line)) {\n const match = line.match(/^(#{1,6})(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span style={{ color: '#569cd6' }}>{match[1]}</span>\n <span style={{ color: '#dcdcaa' }}>{match[2]}</span>\n </div>\n );\n }\n }\n\n if (/^(\\s*)([-*+]|\\d+\\.)\\s/.test(line)) {\n const match = line.match(/^(\\s*)([-*+]|\\d+\\.)(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span>{match[1]}</span>\n <span style={{ color: '#c586c0' }}>{match[2]}</span>\n <span>{match[3]}</span>\n </div>\n );\n }\n }\n\n if (/^```/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#4ec9b0' }}>{line}</span>\n </div>\n );\n }\n\n if (/^>\\s/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#608b4e' }}>{line}</span>\n </div>\n );\n }\n\n const processInlineStyles = (text: string) => {\n const parts: React.ReactNode[] = [];\n let lastIndex = 0;\n const regex = /(\\*\\*[^*]+\\*\\*|\\*[^*]+\\*|`[^`]+`|\\[([^\\]]+)\\]\\(([^)]+)\\))/g;\n let match;\n\n while ((match = regex.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n const matched = match[1];\n if (matched.startsWith('**')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontWeight: 'bold' }}>{matched}</span>);\n } else if (matched.startsWith('*')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontStyle: 'italic' }}>{matched}</span>);\n } else if (matched.startsWith('`')) {\n parts.push(<span key={match.index} style={{ color: '#d16969' }}>{matched}</span>);\n } else if (matched.startsWith('[')) {\n parts.push(<span key={match.index} style={{ color: '#4ec9b0' }}>{matched}</span>);\n }\n lastIndex = regex.lastIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts.length > 0 ? parts : text;\n };\n\n return (\n <div key={index}>\n {processInlineStyles(line)}\n </div>\n );\n }).filter(Boolean);\n}\n\nconst MONO_FONT = 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace';\n\ninterface CreateMarkdownComponentsOpts {\n enableMermaid: boolean;\n enableMarkmap: boolean;\n showLineNumbers: boolean;\n codeStyle: any;\n}\n\nexport function createMarkdownComponents(opts: CreateMarkdownComponentsOpts) {\n const { enableMermaid, enableMarkmap, showLineNumbers, codeStyle } = opts;\n\n return {\n code({ node, className, children, ...props }: any) {\n const fullClassName = className || '';\n const match = /language-(\\w+)/.exec(fullClassName);\n const inline = props.inline;\n const language = match ? match[1] : '';\n\n const metaString = (props as any).dataMeta ||\n (props as any)['data-meta'] || '';\n\n const codeMeta = parseCodeBlockMeta(metaString, fullClassName);\n\n if (!inline && language === 'mermaid' && enableMermaid) {\n return (\n <div className=\"mermaid-diagram my-4\">\n {String(children).replace(/\\n$/, '')}\n </div>\n );\n }\n\n if (!inline && language === 'markmap' && enableMarkmap) {\n return (\n <div\n className=\"markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden\"\n data-markmap-content={String(children).replace(/\\n$/, '')}\n />\n );\n }\n\n if (!inline && match && language === 'markdown') {\n const code = String(children).replace(/\\n$/, '');\n return (\n <pre\n style={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: '0.5rem',\n padding: '1em',\n margin: 0,\n backgroundColor: 'rgb(30, 30, 30)',\n color: 'rgb(212, 212, 212)',\n overflow: 'auto',\n lineHeight: '1.5',\n }}\n >\n <code style={{ fontFamily: MONO_FONT }}>\n {highlightMarkdown(code)}\n </code>\n </pre>\n );\n }\n\n if (!inline && match) {\n const selectedStyle = resolveMetaTheme(codeMeta.theme, codeStyle);\n\n let shouldShowLineNumbers: boolean | undefined;\n let lineNumbersToShow: number[] | undefined;\n\n if (Array.isArray(codeMeta.showLineNumbers)) {\n shouldShowLineNumbers = true;\n lineNumbersToShow = codeMeta.showLineNumbers;\n } else if (codeMeta.showLineNumbers !== undefined) {\n shouldShowLineNumbers = codeMeta.showLineNumbers as boolean;\n } else {\n shouldShowLineNumbers = showLineNumbers;\n }\n\n const startingLineNumber = codeMeta.startLineNumber || 1;\n const wrapLines = (codeMeta.highlightLines && codeMeta.highlightLines.length > 0) ||\n (lineNumbersToShow && lineNumbersToShow.length > 0);\n\n const codeBlock = (\n <SyntaxHighlighter\n style={selectedStyle as any}\n language={language}\n PreTag=\"div\"\n showLineNumbers={shouldShowLineNumbers}\n startingLineNumber={startingLineNumber}\n customStyle={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: codeMeta.title ? '0 0 0.5rem 0.5rem' : '0.5rem',\n borderTop: codeMeta.title ? 'none' : undefined,\n padding: '1em',\n margin: 0,\n border: 'none',\n boxShadow: 'none',\n lineHeight: '1.5',\n }}\n codeTagProps={{\n style: { fontFamily: MONO_FONT }\n }}\n lineNumberStyle={(lineNumber: number) => {\n const baseStyle: React.CSSProperties = {\n minWidth: '3em',\n paddingRight: '1em',\n userSelect: 'none',\n border: 'none',\n };\n if (lineNumbersToShow) {\n if (lineNumbersToShow.includes(lineNumber)) {\n baseStyle.opacity = 0.5;\n } else {\n baseStyle.opacity = 0;\n baseStyle.visibility = 'hidden';\n }\n } else {\n baseStyle.opacity = 0.5;\n }\n return baseStyle;\n }}\n wrapLines={wrapLines}\n lineProps={(lineNumber: number) => {\n const style: React.CSSProperties = {\n display: 'block',\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n margin: 0,\n padding: 0,\n };\n if (codeMeta.highlightLines && codeMeta.highlightLines.includes(lineNumber)) {\n style.backgroundColor = 'rgba(255, 255, 0, 0.1)';\n style.display = 'block';\n style.width = '100%';\n }\n return { style };\n }}\n {...props}\n >\n {String(children).replace(/\\n$/, '')}\n </SyntaxHighlighter>\n );\n\n if (codeMeta.title) {\n return (\n <div className=\"my-4\">\n <div\n className=\"px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300\"\n style={{ fontFamily: MONO_FONT }}\n >\n {codeMeta.title}\n </div>\n {codeBlock}\n </div>\n );\n }\n\n return codeBlock;\n }\n\n return (\n <code className={className} {...props}>\n {children}\n </code>\n );\n },\n\n table({ node, children, ...props }: any) {\n return (\n <div className=\"overflow-x-auto my-6\">\n <table className=\"table-auto border-collapse w-full\" {...props}>\n {children}\n </table>\n </div>\n );\n },\n thead({ node, children, ...props }: any) {\n return <thead className=\"bg-base-200\" {...props}>{children}</thead>;\n },\n tbody({ node, children, ...props }: any) {\n return <tbody {...props}>{children}</tbody>;\n },\n tr({ node, children, ...props }: any) {\n return <tr className=\"border-b border-base-300 hover:bg-base-100 transition-colors\" {...props}>{children}</tr>;\n },\n th({ node, children, ...props }: any) {\n return <th className=\"px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300\" {...props}>{children}</th>;\n },\n td({ node, children, ...props }: any) {\n return <td className=\"px-4 py-3 text-base-content\" {...props}>{children}</td>;\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdownComponents.js","names":[],"sources":["../../../src/components/Markdown/markdownComponents.tsx"],"sourcesContent":["import React from 'react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { parseCodeBlockMeta } from './parseCodeBlockMeta';\nimport { resolveMetaTheme } from './codeThemes';\n\nfunction highlightMarkdown(text: string) {\n const lines = text.split('\\n');\n return lines.map((line, index) => {\n if (/^#{1,6}\\s/.test(line)) {\n const match = line.match(/^(#{1,6})(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span style={{ color: '#569cd6' }}>{match[1]}</span>\n <span style={{ color: '#dcdcaa' }}>{match[2]}</span>\n </div>\n );\n }\n }\n\n if (/^(\\s*)([-*+]|\\d+\\.)\\s/.test(line)) {\n const match = line.match(/^(\\s*)([-*+]|\\d+\\.)(\\s+.*)$/);\n if (match) {\n return (\n <div key={index}>\n <span>{match[1]}</span>\n <span style={{ color: '#c586c0' }}>{match[2]}</span>\n <span>{match[3]}</span>\n </div>\n );\n }\n }\n\n if (line.startsWith('```')) {\n return (\n <div key={index}>\n <span style={{ color: '#4ec9b0' }}>{line}</span>\n </div>\n );\n }\n\n if (/^>\\s/.test(line)) {\n return (\n <div key={index}>\n <span style={{ color: '#608b4e' }}>{line}</span>\n </div>\n );\n }\n\n const processInlineStyles = (text: string) => {\n const parts: React.ReactNode[] = [];\n let lastIndex = 0;\n const regex = /(\\*\\*[^*]+\\*\\*|\\*[^*]+\\*|`[^`]+`|\\[([^\\]]+)\\]\\(([^)]+)\\))/g;\n let match;\n\n while ((match = regex.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n const matched = match[1];\n if (matched.startsWith('**')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontWeight: 'bold' }}>{matched}</span>);\n } else if (matched.startsWith('*')) {\n parts.push(<span key={match.index} style={{ color: '#ce9178', fontStyle: 'italic' }}>{matched}</span>);\n } else if (matched.startsWith('`')) {\n parts.push(<span key={match.index} style={{ color: '#d16969' }}>{matched}</span>);\n } else if (matched.startsWith('[')) {\n parts.push(<span key={match.index} style={{ color: '#4ec9b0' }}>{matched}</span>);\n }\n lastIndex = regex.lastIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts.length > 0 ? parts : text;\n };\n\n return (\n <div key={index}>\n {processInlineStyles(line)}\n </div>\n );\n }).filter(Boolean);\n}\n\nconst MONO_FONT = 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace';\n\ninterface CreateMarkdownComponentsOpts {\n enableMermaid: boolean;\n enableMarkmap: boolean;\n showLineNumbers: boolean;\n codeStyle: any;\n}\n\nexport function createMarkdownComponents(opts: CreateMarkdownComponentsOpts) {\n const { enableMermaid, enableMarkmap, showLineNumbers, codeStyle } = opts;\n\n return {\n code({ node, className, children, ...props }: any) {\n const fullClassName = className || '';\n const match = /language-(\\w+)/.exec(fullClassName);\n const inline = props.inline;\n const language = match ? match[1] : '';\n\n const metaString = (props as any).dataMeta ||\n (props as any)['data-meta'] || '';\n\n const codeMeta = parseCodeBlockMeta(metaString, fullClassName);\n\n if (!inline && language === 'mermaid' && enableMermaid) {\n return (\n <div className=\"mermaid-diagram my-4\">\n {String(children).replace(/\\n$/, '')}\n </div>\n );\n }\n\n if (!inline && language === 'markmap' && enableMarkmap) {\n return (\n <div\n className=\"markmap-diagram my-4 border border-base-300 rounded-lg overflow-hidden\"\n data-markmap-content={String(children).replace(/\\n$/, '')}\n />\n );\n }\n\n if (!inline && match && language === 'markdown') {\n const code = String(children).replace(/\\n$/, '');\n return (\n <pre\n style={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: '0.5rem',\n padding: '1em',\n margin: 0,\n backgroundColor: 'rgb(30, 30, 30)',\n color: 'rgb(212, 212, 212)',\n overflow: 'auto',\n lineHeight: '1.5',\n }}\n >\n <code style={{ fontFamily: MONO_FONT }}>\n {highlightMarkdown(code)}\n </code>\n </pre>\n );\n }\n\n if (!inline && match) {\n const selectedStyle = resolveMetaTheme(codeMeta.theme, codeStyle);\n\n let shouldShowLineNumbers: boolean | undefined;\n let lineNumbersToShow: number[] | undefined;\n\n if (Array.isArray(codeMeta.showLineNumbers)) {\n shouldShowLineNumbers = true;\n lineNumbersToShow = codeMeta.showLineNumbers;\n } else if (codeMeta.showLineNumbers !== undefined) {\n shouldShowLineNumbers = codeMeta.showLineNumbers as boolean;\n } else {\n shouldShowLineNumbers = showLineNumbers;\n }\n\n const startingLineNumber = codeMeta.startLineNumber || 1;\n const wrapLines = (codeMeta.highlightLines && codeMeta.highlightLines.length > 0) ||\n (lineNumbersToShow && lineNumbersToShow.length > 0);\n\n const codeBlock = (\n <SyntaxHighlighter\n style={selectedStyle as any}\n language={language}\n PreTag=\"div\"\n showLineNumbers={shouldShowLineNumbers}\n startingLineNumber={startingLineNumber}\n customStyle={{\n fontFamily: MONO_FONT,\n fontSize: '0.875em',\n borderRadius: codeMeta.title ? '0 0 0.5rem 0.5rem' : '0.5rem',\n borderTop: codeMeta.title ? 'none' : undefined,\n padding: '1em',\n margin: 0,\n border: 'none',\n boxShadow: 'none',\n lineHeight: '1.5',\n }}\n codeTagProps={{\n style: { fontFamily: MONO_FONT }\n }}\n lineNumberStyle={(lineNumber: number) => {\n const baseStyle: React.CSSProperties = {\n minWidth: '3em',\n paddingRight: '1em',\n userSelect: 'none',\n border: 'none',\n };\n if (lineNumbersToShow) {\n if (lineNumbersToShow.includes(lineNumber)) {\n baseStyle.opacity = 0.5;\n } else {\n baseStyle.opacity = 0;\n baseStyle.visibility = 'hidden';\n }\n } else {\n baseStyle.opacity = 0.5;\n }\n return baseStyle;\n }}\n wrapLines={wrapLines}\n lineProps={(lineNumber: number) => {\n const style: React.CSSProperties = {\n display: 'block',\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n margin: 0,\n padding: 0,\n };\n if (codeMeta.highlightLines && codeMeta.highlightLines.includes(lineNumber)) {\n style.backgroundColor = 'rgba(255, 255, 0, 0.1)';\n style.display = 'block';\n style.width = '100%';\n }\n return { style };\n }}\n {...props}\n >\n {String(children).replace(/\\n$/, '')}\n </SyntaxHighlighter>\n );\n\n if (codeMeta.title) {\n return (\n <div className=\"my-4\">\n <div\n className=\"px-4 py-2 text-sm font-mono text-base-content bg-base-200 rounded-t-lg border-b border-base-300\"\n style={{ fontFamily: MONO_FONT }}\n >\n {codeMeta.title}\n </div>\n {codeBlock}\n </div>\n );\n }\n\n return codeBlock;\n }\n\n return (\n <code className={className} {...props}>\n {children}\n </code>\n );\n },\n\n table({ node, children, ...props }: any) {\n return (\n <div className=\"overflow-x-auto my-6\">\n <table className=\"table-auto border-collapse w-full\" {...props}>\n {children}\n </table>\n </div>\n );\n },\n thead({ node, children, ...props }: any) {\n return <thead className=\"bg-base-200\" {...props}>{children}</thead>;\n },\n tbody({ node, children, ...props }: any) {\n return <tbody {...props}>{children}</tbody>;\n },\n tr({ node, children, ...props }: any) {\n return <tr className=\"border-b border-base-300 hover:bg-base-100 transition-colors\" {...props}>{children}</tr>;\n },\n th({ node, children, ...props }: any) {\n return <th className=\"px-4 py-3 text-left font-semibold text-base-content border-b-2 border-base-300\" {...props}>{children}</th>;\n },\n td({ node, children, ...props }: any) {\n return <td className=\"px-4 py-3 text-base-content\" {...props}>{children}</td>;\n },\n };\n}\n"],"mappings":";;;;;;AAKA,SAAS,EAAkB,GAAc;CAEvC,OADc,EAAK,MAAM,IAClB,CAAA,CAAM,KAAK,GAAM,MAAU;EAChC,IAAI,YAAY,KAAK,CAAI,GAAG;GAC1B,IAAM,IAAQ,EAAK,MAAM,mBAAmB;GAC5C,IAAI,GACF,OACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,QAAD;IAAM,OAAO,EAAE,OAAO,UAAU;IAAI,UAAA,EAAM;GAAS,CAAA,GACnD,kBAAC,QAAD;IAAM,OAAO,EAAE,OAAO,UAAU;IAAI,UAAA,EAAM;GAAS,CAAA,CAChD,EAAA,GAHK,CAGL;EAGX;EAEA,IAAI,wBAAwB,KAAK,CAAI,GAAG;GACtC,IAAM,IAAQ,EAAK,MAAM,6BAA6B;GACtD,IAAI,GACF,OACE,kBAAC,OAAD,EAAA,UAAA;IACE,kBAAC,QAAD,EAAA,UAAO,EAAM,GAAS,CAAA;IACtB,kBAAC,QAAD;KAAM,OAAO,EAAE,OAAO,UAAU;KAAI,UAAA,EAAM;IAAS,CAAA;IACnD,kBAAC,QAAD,EAAA,UAAO,EAAM,GAAS,CAAA;GACnB,EAAA,GAJK,CAIL;EAGX;EAgDA,OA9CI,EAAK,WAAW,KAAK,IAErB,kBAAC,OAAD,EAAA,UACE,kBAAC,QAAD;GAAM,OAAO,EAAE,OAAO,UAAU;GAAI,UAAA;EAAW,CAAA,EAC5C,GAFK,CAEL,IAIL,OAAO,KAAK,CAAI,IAEhB,kBAAC,OAAD,EAAA,UACE,kBAAC,QAAD;GAAM,OAAO,EAAE,OAAO,UAAU;GAAI,UAAA;EAAW,CAAA,EAC5C,GAFK,CAEL,IAmCP,kBAAC,OAAD,EAAA,YA/B2B,MAAiB;GAC5C,IAAM,IAA2B,CAAC,GAC9B,IAAY,GACV,IAAQ,8DACV;GAEJ,QAAQ,IAAQ,EAAM,KAAK,CAAI,OAAO,OAAM;IAC1C,AAAI,EAAM,QAAQ,KAChB,EAAM,KAAK,EAAK,UAAU,GAAW,EAAM,KAAK,CAAC;IAEnD,IAAM,IAAU,EAAM;IAUtB,AATI,EAAQ,WAAW,IAAI,IACzB,EAAM,KAAK,kBAAC,QAAD;KAAwB,OAAO;MAAE,OAAO;MAAW,YAAY;KAAO;KAAI,UAAA;IAAc,GAA7E,EAAM,KAAuE,CAAC,IAC3F,EAAQ,WAAW,GAAG,IAC/B,EAAM,KAAK,kBAAC,QAAD;KAAwB,OAAO;MAAE,OAAO;MAAW,WAAW;KAAS;KAAI,UAAA;IAAc,GAA9E,EAAM,KAAwE,CAAC,IAC5F,EAAQ,WAAW,GAAG,IAC/B,EAAM,KAAK,kBAAC,QAAD;KAAwB,OAAO,EAAE,OAAO,UAAU;KAAI,UAAA;IAAc,GAAzD,EAAM,KAAmD,CAAC,IACvE,EAAQ,WAAW,GAAG,KAC/B,EAAM,KAAK,kBAAC,QAAD;KAAwB,OAAO,EAAE,OAAO,UAAU;KAAI,UAAA;IAAc,GAAzD,EAAM,KAAmD,CAAC,GAElF,IAAY,EAAM;GACpB;GAMA,OAJI,IAAY,EAAK,UACnB,EAAM,KAAK,EAAK,UAAU,CAAS,CAAC,GAG/B,EAAM,SAAS,IAAI,IAAQ;EACpC,EAIK,CAAoB,CAAI,EACtB,GAFK,CAEL;CAET,CAAC,CAAC,CAAC,OAAO,OAAO;AACnB;AAEA,IAAM,IAAY;AASlB,SAAgB,EAAyB,GAAoC;CAC3E,IAAM,EAAE,kBAAe,kBAAe,oBAAiB,iBAAc;CAErE,OAAO;EACL,KAAK,EAAE,SAAM,cAAW,aAAU,GAAG,KAAc;GACjD,IAAM,IAAgB,KAAa,IAC7B,IAAQ,iBAAiB,KAAK,CAAa,GAC3C,IAAS,EAAM,QACf,IAAW,IAAQ,EAAM,KAAK,IAE9B,IAAc,EAAc,YAC/B,EAAc,gBAAgB,IAE3B,IAAW,EAAmB,GAAY,CAAa;GAE7D,IAAI,CAAC,KAAU,MAAa,aAAa,GACvC,OACE,kBAAC,OAAD;IAAK,WAAU;IACZ,UAAA,OAAO,CAAQ,CAAC,CAAC,QAAQ,OAAO,EAAE;GAChC,CAAA;GAIT,IAAI,CAAC,KAAU,MAAa,aAAa,GACvC,OACE,kBAAC,OAAD;IACE,WAAU;IACV,wBAAsB,OAAO,CAAQ,CAAC,CAAC,QAAQ,OAAO,EAAE;GACzD,CAAA;GAIL,IAAI,CAAC,KAAU,KAAS,MAAa,YAAY;IAC/C,IAAM,IAAO,OAAO,CAAQ,CAAC,CAAC,QAAQ,OAAO,EAAE;IAC/C,OACE,kBAAC,OAAD;KACE,OAAO;MACL,YAAY;MACZ,UAAU;MACV,cAAc;MACd,SAAS;MACT,QAAQ;MACR,iBAAiB;MACjB,OAAO;MACP,UAAU;MACV,YAAY;KACd;KAEA,UAAA,kBAAC,QAAD;MAAM,OAAO,EAAE,YAAY,EAAU;MAClC,UAAA,EAAkB,CAAI;KACnB,CAAA;IACH,CAAA;GAET;GAEA,IAAI,CAAC,KAAU,GAAO;IACpB,IAAM,IAAgB,EAAiB,EAAS,OAAO,CAAS,GAE5D,GACA;IAEJ,AAAI,MAAM,QAAQ,EAAS,eAAe,KACxC,IAAwB,IACxB,IAAoB,EAAS,mBACxB,AACL,IADS,EAAS,oBAAoB,KAAA,IAGd,IAFA,EAAS;IAKnC,IAAM,IAAqB,EAAS,mBAAmB,GACjD,IAAa,EAAS,kBAAkB,EAAS,eAAe,SAAS,KAC5E,KAAqB,EAAkB,SAAS,GAE7C,IACJ,kBAAC,GAAD;KACE,OAAO;KACG;KACV,QAAO;KACP,iBAAiB;KACG;KACpB,aAAa;MACX,YAAY;MACZ,UAAU;MACV,cAAc,EAAS,QAAQ,sBAAsB;MACrD,WAAW,EAAS,QAAQ,SAAS,KAAA;MACrC,SAAS;MACT,QAAQ;MACR,QAAQ;MACR,WAAW;MACX,YAAY;KACd;KACA,cAAc,EACZ,OAAO,EAAE,YAAY,EAAU,EACjC;KACA,kBAAkB,MAAuB;MACvC,IAAM,IAAiC;OACrC,UAAU;OACV,cAAc;OACd,YAAY;OACZ,QAAQ;MACV;MAWA,OAVI,IACE,EAAkB,SAAS,CAAU,IACvC,EAAU,UAAU,MAEpB,EAAU,UAAU,GACpB,EAAU,aAAa,YAGzB,EAAU,UAAU,IAEf;KACT;KACW;KACX,YAAY,MAAuB;MACjC,IAAM,IAA6B;OACjC,SAAS;OACT,QAAQ;OACR,WAAW;OACX,SAAS;OACT,QAAQ;OACR,SAAS;MACX;MAMA,OALI,EAAS,kBAAkB,EAAS,eAAe,SAAS,CAAU,MACxE,EAAM,kBAAkB,0BACxB,EAAM,UAAU,SAChB,EAAM,QAAQ,SAET,EAAE,SAAM;KACjB;KACA,GAAI;KAEH,UAAA,OAAO,CAAQ,CAAC,CAAC,QAAQ,OAAO,EAAE;IAClB,CAAA;IAiBrB,OAdI,EAAS,QAET,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,kBAAC,OAAD;MACE,WAAU;MACV,OAAO,EAAE,YAAY,EAAU;MAE9B,UAAA,EAAS;KACP,CAAA,GACJ,CACE;SAIF;GACT;GAEA,OACE,kBAAC,QAAD;IAAiB;IAAW,GAAI;IAC7B;GACG,CAAA;EAEV;EAEA,MAAM,EAAE,SAAM,aAAU,GAAG,KAAc;GACvC,OACE,kBAAC,OAAD;IAAK,WAAU;IACb,UAAA,kBAAC,SAAD;KAAO,WAAU;KAAoC,GAAI;KACtD;IACI,CAAA;GACJ,CAAA;EAET;EACA,MAAM,EAAE,SAAM,aAAU,GAAG,KAAc;GACvC,OAAO,kBAAC,SAAD;IAAO,WAAU;IAAc,GAAI;IAAQ;GAAgB,CAAA;EACpE;EACA,MAAM,EAAE,SAAM,aAAU,GAAG,KAAc;GACvC,OAAO,kBAAC,SAAD;IAAO,GAAI;IAAQ;GAAgB,CAAA;EAC5C;EACA,GAAG,EAAE,SAAM,aAAU,GAAG,KAAc;GACpC,OAAO,kBAAC,MAAD;IAAI,WAAU;IAA+D,GAAI;IAAQ;GAAa,CAAA;EAC/G;EACA,GAAG,EAAE,SAAM,aAAU,GAAG,KAAc;GACpC,OAAO,kBAAC,MAAD;IAAI,WAAU;IAAiF,GAAI;IAAQ;GAAa,CAAA;EACjI;EACA,GAAG,EAAE,SAAM,aAAU,GAAG,KAAc;GACpC,OAAO,kBAAC,MAAD;IAAI,WAAU;IAA8B,GAAI;IAAQ;GAAa,CAAA;EAC9E;CACF;AACF"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
//#region src/components/Markdown/parseCodeBlockMeta.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = e.split(",").map((e) => e.trim()), n = [];
|
|
4
|
+
return t.forEach((e) => {
|
|
5
|
+
if (e.includes("-")) {
|
|
6
|
+
let [t, r] = e.split("-").map((e) => parseInt(e.trim(), 10));
|
|
7
|
+
for (let e = t; e <= r; e++) n.push(e);
|
|
8
|
+
} else n.push(parseInt(e, 10));
|
|
9
|
+
}), n;
|
|
9
10
|
}
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
function t(t, n) {
|
|
12
|
+
let r = {}, i = `${t} ${n}`, a = i.match(/title[=:]["']([^"']+)["']/);
|
|
13
|
+
a && (r.title = a[1]);
|
|
14
|
+
let o = i.match(/theme[=:]["']?([^"'\s]+)["']?/);
|
|
15
|
+
o && (r.theme = o[1]);
|
|
16
|
+
let s = i.match(/startLineNumber[=:](\d+)/);
|
|
17
|
+
s && (r.startLineNumber = parseInt(s[1], 10));
|
|
18
|
+
let c = i.match(/\{([\d,\-\s]+)\}/);
|
|
19
|
+
c && (r.highlightLines = e(c[1]));
|
|
20
|
+
let l = i.match(/showLineNumbers\s*\{([\d,\-\s]+)\}/);
|
|
21
|
+
return l ? r.showLineNumbers = e(l[1]) : /showLineNumbers/.test(i) && (r.showLineNumbers = !0), r;
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { t as parseCodeBlockMeta };
|
|
25
25
|
|
|
26
26
|
//# sourceMappingURL=parseCodeBlockMeta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCodeBlockMeta.js","names":[],"sources":["../../../src/components/Markdown/parseCodeBlockMeta.ts"],"sourcesContent":["export interface CodeBlockMeta {\n showLineNumbers?: boolean | number[];\n startLineNumber?: number;\n highlightLines?: number[];\n theme?: string;\n title?: string;\n}\n\nfunction parseLineRanges(rangeStr: string): number[] {\n const ranges = rangeStr.split(',').map(s => s.trim());\n const lines: number[] = [];\n ranges.forEach(range => {\n if (range.includes('-')) {\n const [start, end] = range.split('-').map(n => parseInt(n.trim(), 10));\n for (let i = start; i <= end; i++) {\n lines.push(i);\n }\n } else {\n lines.push(parseInt(range, 10));\n }\n });\n return lines;\n}\n\nexport function parseCodeBlockMeta(metaStr: string, classStr: string): CodeBlockMeta {\n const meta: CodeBlockMeta = {};\n const fullMeta = `${metaStr} ${classStr}`;\n\n const titleMatch = fullMeta.match(/title[=:][\"']([^\"']+)[\"']/);\n if (titleMatch) {\n meta.title = titleMatch[1];\n }\n\n const themeMatch = fullMeta.match(/theme[=:][\"']?([^\"'\\s]+)[\"']?/);\n if (themeMatch) {\n meta.theme = themeMatch[1];\n }\n\n const startLineMatch = fullMeta.match(/startLineNumber[=:](\\d+)/);\n if (startLineMatch) {\n meta.startLineNumber = parseInt(startLineMatch[1], 10);\n }\n\n const highlightMatch = fullMeta.match(/\\{([\\d,\\-\\s]+)\\}/);\n if (highlightMatch) {\n meta.highlightLines = parseLineRanges(highlightMatch[1]);\n }\n\n const showLineNumbersMatch = fullMeta.match(/showLineNumbers\\s*\\{([\\d,\\-\\s]+)\\}/);\n if (showLineNumbersMatch) {\n meta.showLineNumbers = parseLineRanges(showLineNumbersMatch[1]);\n } else if (/showLineNumbers/.test(fullMeta)) {\n meta.showLineNumbers = true;\n }\n\n return meta;\n}\n"],"mappings":"AAQA,SAAS,EAAgB,GAA4B;
|
|
1
|
+
{"version":3,"file":"parseCodeBlockMeta.js","names":[],"sources":["../../../src/components/Markdown/parseCodeBlockMeta.ts"],"sourcesContent":["export interface CodeBlockMeta {\n showLineNumbers?: boolean | number[];\n startLineNumber?: number;\n highlightLines?: number[];\n theme?: string;\n title?: string;\n}\n\nfunction parseLineRanges(rangeStr: string): number[] {\n const ranges = rangeStr.split(',').map(s => s.trim());\n const lines: number[] = [];\n ranges.forEach(range => {\n if (range.includes('-')) {\n const [start, end] = range.split('-').map(n => parseInt(n.trim(), 10));\n for (let i = start; i <= end; i++) {\n lines.push(i);\n }\n } else {\n lines.push(parseInt(range, 10));\n }\n });\n return lines;\n}\n\nexport function parseCodeBlockMeta(metaStr: string, classStr: string): CodeBlockMeta {\n const meta: CodeBlockMeta = {};\n const fullMeta = `${metaStr} ${classStr}`;\n\n const titleMatch = fullMeta.match(/title[=:][\"']([^\"']+)[\"']/);\n if (titleMatch) {\n meta.title = titleMatch[1];\n }\n\n const themeMatch = fullMeta.match(/theme[=:][\"']?([^\"'\\s]+)[\"']?/);\n if (themeMatch) {\n meta.theme = themeMatch[1];\n }\n\n const startLineMatch = fullMeta.match(/startLineNumber[=:](\\d+)/);\n if (startLineMatch) {\n meta.startLineNumber = parseInt(startLineMatch[1], 10);\n }\n\n const highlightMatch = fullMeta.match(/\\{([\\d,\\-\\s]+)\\}/);\n if (highlightMatch) {\n meta.highlightLines = parseLineRanges(highlightMatch[1]);\n }\n\n const showLineNumbersMatch = fullMeta.match(/showLineNumbers\\s*\\{([\\d,\\-\\s]+)\\}/);\n if (showLineNumbersMatch) {\n meta.showLineNumbers = parseLineRanges(showLineNumbersMatch[1]);\n } else if (/showLineNumbers/.test(fullMeta)) {\n meta.showLineNumbers = true;\n }\n\n return meta;\n}\n"],"mappings":";AAQA,SAAS,EAAgB,GAA4B;CACnD,IAAM,IAAS,EAAS,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,EAAE,KAAK,CAAC,GAC9C,IAAkB,CAAC;CAWzB,OAVA,EAAO,SAAQ,MAAS;EACtB,IAAI,EAAM,SAAS,GAAG,GAAG;GACvB,IAAM,CAAC,GAAO,KAAO,EAAM,MAAM,GAAG,CAAC,CAAC,KAAI,MAAK,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC;GACrE,KAAK,IAAI,IAAI,GAAO,KAAK,GAAK,KAC5B,EAAM,KAAK,CAAC;EAEhB,OACE,EAAM,KAAK,SAAS,GAAO,EAAE,CAAC;CAElC,CAAC,GACM;AACT;AAEA,SAAgB,EAAmB,GAAiB,GAAiC;CACnF,IAAM,IAAsB,CAAC,GACvB,IAAW,GAAG,EAAQ,GAAG,KAEzB,IAAa,EAAS,MAAM,2BAA2B;CAC7D,AAAI,MACF,EAAK,QAAQ,EAAW;CAG1B,IAAM,IAAa,EAAS,MAAM,+BAA+B;CACjE,AAAI,MACF,EAAK,QAAQ,EAAW;CAG1B,IAAM,IAAiB,EAAS,MAAM,0BAA0B;CAChE,AAAI,MACF,EAAK,kBAAkB,SAAS,EAAe,IAAI,EAAE;CAGvD,IAAM,IAAiB,EAAS,MAAM,kBAAkB;CACxD,AAAI,MACF,EAAK,iBAAiB,EAAgB,EAAe,EAAE;CAGzD,IAAM,IAAuB,EAAS,MAAM,oCAAoC;CAOhF,OANI,IACF,EAAK,kBAAkB,EAAgB,EAAqB,EAAE,IACrD,kBAAkB,KAAK,CAAQ,MACxC,EAAK,kBAAkB,KAGlB;AACT"}
|