dishui 0.0.106 → 0.0.110
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/.release-verified.json +3 -2
- package/dist/components/Accordion/index.js.map +1 -1
- package/dist/components/Avatar/index.js.map +1 -1
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ButtonMenu/index.js.map +1 -1
- package/dist/components/Card/Metric2.js.map +1 -1
- package/dist/components/Card/Ticket2.js.map +1 -1
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Chart/Chart.js.map +1 -1
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/ChoicePicker/index.js.map +1 -1
- package/dist/components/Column/index.js.map +1 -1
- package/dist/components/ConfirmDialog/index.js.map +1 -1
- package/dist/components/DateTimeInput/index.js.map +1 -1
- package/dist/components/Demo/index.js.map +1 -1
- package/dist/components/Demo/source.js.map +1 -1
- package/dist/components/Divider/index.js.map +1 -1
- package/dist/components/EmptyState/index.js.map +1 -1
- package/dist/components/Field/index.js.map +1 -1
- package/dist/components/FileUploader/DropZone.js.map +1 -1
- package/dist/components/FileUploader/FileItem.js.map +1 -1
- package/dist/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/components/FileUploader/UploadQueue.js.map +1 -1
- package/dist/components/GroupButton/index.js.map +1 -1
- package/dist/components/GroupedTable/index.js.map +1 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/Image/index.js.map +1 -1
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Label/index.js.map +1 -1
- package/dist/components/Layout/index.js.map +1 -1
- package/dist/components/LayoutSuite/DashboardSuite.js.map +1 -1
- package/dist/components/LayoutSuite/index.js.map +1 -1
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Markdown/codeThemes.js.map +1 -1
- package/dist/components/Markdown/markdownComponents.js.map +1 -1
- package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
- package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
- package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
- package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
- package/dist/components/Modal/focusScope.js.map +1 -1
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MultipleChoice/index.js.map +1 -1
- package/dist/components/NavigationList/index.js.map +1 -1
- package/dist/components/Page/Float2.js.map +1 -1
- package/dist/components/Page/index.js.map +1 -1
- package/dist/components/Page/resize2.js.map +1 -1
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/PagePanel/index.js.map +1 -1
- package/dist/components/ProtectedRoute/index.js.map +1 -1
- package/dist/components/Resizable/ResizeGrip.js.map +1 -1
- package/dist/components/Resizable/index.js.map +1 -1
- package/dist/components/Resizable/useResize.js.map +1 -1
- package/dist/components/Row/index.js.map +1 -1
- package/dist/components/Section/index.js.map +1 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/SidebarToggleButton/index.js.map +1 -1
- package/dist/components/Skeleton/index.js.map +1 -1
- package/dist/components/Slider/index.js.map +1 -1
- package/dist/components/Switch/index.js.map +1 -1
- package/dist/components/Tab/index.js.map +1 -1
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Tabs/tabNavigation.js.map +1 -1
- package/dist/components/Text/index.js.map +1 -1
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/components/Tooltip/index.js.map +1 -1
- package/dist/components/Tree/Tree.js.map +1 -1
- package/dist/components/ai/AgentChat/index.js.map +1 -1
- package/dist/components/ai/AgentRunCard/index.js.map +1 -1
- package/dist/components/ai/AgentScreen/index.js.map +1 -1
- package/dist/components/ai/ApprovalCard/index.js.map +1 -1
- package/dist/components/ai/CodeView/index.js.map +1 -1
- package/dist/components/ai/CommandSearch/index.js.map +1 -1
- package/dist/components/ai/ContextCards/index.js.map +1 -1
- package/dist/components/ai/DiffTable/index.js.map +1 -1
- package/dist/components/ai/FilterTable/index.js.map +1 -1
- package/dist/components/ai/FineTuneCard/index.js.map +1 -1
- package/dist/components/ai/InsightCards/index.js.map +1 -1
- package/dist/components/ai/IssueCard/index.js.map +1 -1
- package/dist/components/ai/LoadingState/index.js.map +1 -1
- package/dist/components/ai/PromptBar/index.js.map +1 -1
- package/dist/components/ai/RecommendationCard/index.js.map +1 -1
- package/dist/components/ai/RecordsTable/index.js.map +1 -1
- package/dist/components/ai/SelectionActions/index.js.map +1 -1
- package/dist/components/ai/StateFlow/index.js.map +1 -1
- package/dist/components/ai/StreamingText/index.js.map +1 -1
- package/dist/components/ai/TaskRows/index.js.map +1 -1
- package/dist/components/ai/Thinking/index.js.map +1 -1
- package/dist/components/ai/ToolChips/index.js.map +1 -1
- package/dist/components/ai/shared.js.map +1 -1
- package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
- package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
- package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
- package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
- package/dist/components/pro/Calendar/Calendar.js +165 -160
- package/dist/components/pro/Calendar/Calendar.js.map +1 -1
- package/dist/components/pro/Calendar/hooks/useCalendarDrag.js.map +1 -1
- package/dist/components/pro/Calendar/hooks/useCalendarState.js +31 -31
- package/dist/components/pro/Calendar/hooks/useCalendarState.js.map +1 -1
- package/dist/components/pro/Calendar/utils.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +65 -59
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/themes.js.map +1 -1
- package/dist/components/pro/CodeEditor/utils.js.map +1 -1
- package/dist/components/pro/DataTable/DataTable.js.map +1 -1
- package/dist/components/pro/DataTable/Filters.js.map +1 -1
- package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
- package/dist/components/pro/DataTable/PivotView.js.map +1 -1
- package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
- package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
- package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
- package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
- package/dist/components/pro/DataTable/extension.js.map +1 -1
- package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
- package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
- package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
- package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
- package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
- package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
- package/dist/components/pro/DataTable/useDataTableModel.js +119 -104
- package/dist/components/pro/DataTable/useDataTableModel.js.map +1 -1
- package/dist/components/pro/DataTable/utils.js.map +1 -1
- package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
- package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
- package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
- package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
- package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
- package/dist/components/pro/Flow/Flow.js.map +1 -1
- package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
- package/dist/components/pro/Flow/archify/build.js.map +1 -1
- package/dist/components/pro/Flow/archify/convert.js.map +1 -1
- package/dist/components/pro/Flow/archify/palette.js.map +1 -1
- package/dist/components/pro/Flow/archify/presets.js.map +1 -1
- package/dist/components/pro/Flow/archify/spec.js.map +1 -1
- package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
- package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
- package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
- package/dist/components/pro/Flow/constants.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
- package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
- package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
- package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
- package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
- package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
- package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
- package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
- package/dist/components/pro/Flow/nodes/chartGeometryBudget.js.map +1 -1
- package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/demandRender.js.map +1 -1
- package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
- package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
- package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
- package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
- package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
- package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
- package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
- package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
- package/dist/components/pro/Flow/types.js.map +1 -1
- package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
- package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
- package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
- package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
- package/dist/components/pro/Gantt/Gantt.js.map +1 -1
- package/dist/components/pro/Gantt/hooks/useGanttDrag.js.map +1 -1
- package/dist/components/pro/Gantt/hooks/useGanttState.js +79 -71
- package/dist/components/pro/Gantt/hooks/useGanttState.js.map +1 -1
- package/dist/components/pro/Gantt/utils.js.map +1 -1
- package/dist/components/pro/Kanban/Kanban.js.map +1 -1
- package/dist/components/pro/Kanban/Swimlanes.js.map +1 -1
- package/dist/components/pro/Kanban/useKanbanDrag.js.map +1 -1
- package/dist/components/pro/Kanban/utils.js.map +1 -1
- package/dist/components/pro/RichTextEditor/AIRewrite.d.ts +1 -0
- package/dist/components/pro/RichTextEditor/AIRewrite.js +109 -88
- package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
- package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/RichTextEditor.js +133 -132
- package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/useAnchoredDropdown.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/ResizableImage.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/legacyMermaid.js.map +1 -1
- package/dist/components/pro/RichTextEditor/types.d.ts +2 -0
- package/dist/components/pro/RichTextEditor/types.js.map +1 -1
- package/dist/components/pro/Sprite/Molly/animations.d.ts +6 -0
- package/dist/components/pro/Sprite/Molly/animations.js +52 -0
- package/dist/components/pro/Sprite/Molly/animations.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/events.d.ts +2 -0
- package/dist/components/pro/Sprite/Molly/events.js +46 -0
- package/dist/components/pro/Sprite/Molly/events.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/index.d.ts +1 -0
- package/dist/components/pro/Sprite/Molly/index.js +12 -0
- package/dist/components/pro/Sprite/Molly/index.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/legFlexion.d.ts +3 -0
- package/dist/components/pro/Sprite/Molly/legFlexion.js +48 -0
- package/dist/components/pro/Sprite/Molly/legFlexion.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/locomotion.d.ts +4 -0
- package/dist/components/pro/Sprite/Molly/locomotion.js +51 -0
- package/dist/components/pro/Sprite/Molly/locomotion.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/model.d.ts +23 -0
- package/dist/components/pro/Sprite/Molly/model.js +614 -0
- package/dist/components/pro/Sprite/Molly/model.js.map +1 -0
- package/dist/components/pro/Sprite/Molly/rig.d.ts +25 -0
- package/dist/components/pro/Sprite/Molly/rig.js +102 -0
- package/dist/components/pro/Sprite/Molly/rig.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/animations.d.ts +6 -0
- package/dist/components/pro/Sprite/Ruby/animations.js +58 -0
- package/dist/components/pro/Sprite/Ruby/animations.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/events.d.ts +2 -0
- package/dist/components/pro/Sprite/Ruby/events.js +46 -0
- package/dist/components/pro/Sprite/Ruby/events.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/index.d.ts +1 -0
- package/dist/components/pro/Sprite/Ruby/index.js +12 -0
- package/dist/components/pro/Sprite/Ruby/index.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/locomotion.d.ts +4 -0
- package/dist/components/pro/Sprite/Ruby/locomotion.js +41 -0
- package/dist/components/pro/Sprite/Ruby/locomotion.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/model.d.ts +23 -0
- package/dist/components/pro/Sprite/Ruby/model.js +605 -0
- package/dist/components/pro/Sprite/Ruby/model.js.map +1 -0
- package/dist/components/pro/Sprite/Ruby/rig.d.ts +26 -0
- package/dist/components/pro/Sprite/Ruby/rig.js +112 -0
- package/dist/components/pro/Sprite/Ruby/rig.js.map +1 -0
- package/dist/components/pro/Sprite/Sprite.d.ts +23 -0
- package/dist/components/pro/Sprite/Sprite2.js +224 -0
- package/dist/components/pro/Sprite/Sprite2.js.map +1 -0
- package/dist/components/pro/Sprite/actions.d.ts +3 -0
- package/dist/components/pro/Sprite/actions.js +16 -0
- package/dist/components/pro/Sprite/actions.js.map +1 -0
- package/dist/components/pro/Sprite/createSpriteScene.d.ts +4 -0
- package/dist/components/pro/Sprite/createSpriteScene.js +14 -0
- package/dist/components/pro/Sprite/createSpriteScene.js.map +1 -0
- package/dist/components/pro/Sprite/index.d.ts +4 -0
- package/dist/components/pro/Sprite/shared/animation.d.ts +33 -0
- package/dist/components/pro/Sprite/shared/animation.js +39 -0
- package/dist/components/pro/Sprite/shared/animation.js.map +1 -0
- package/dist/components/pro/Sprite/shared/createSpriteStage.d.ts +14 -0
- package/dist/components/pro/Sprite/shared/createSpriteStage.js +127 -0
- package/dist/components/pro/Sprite/shared/createSpriteStage.js.map +1 -0
- package/dist/components/pro/Sprite/shared/events.d.ts +5 -0
- package/dist/components/pro/Sprite/shared/events.js +21 -0
- package/dist/components/pro/Sprite/shared/events.js.map +1 -0
- package/dist/components/pro/Sprite/shared/face.d.ts +15 -0
- package/dist/components/pro/Sprite/shared/face.js +33 -0
- package/dist/components/pro/Sprite/shared/face.js.map +1 -0
- package/dist/components/pro/Sprite/shared/faceSurface.d.ts +6 -0
- package/dist/components/pro/Sprite/shared/faceSurface.js +66 -0
- package/dist/components/pro/Sprite/shared/faceSurface.js.map +1 -0
- package/dist/components/pro/Sprite/shared/gait.d.ts +5 -0
- package/dist/components/pro/Sprite/shared/gait.js +19 -0
- package/dist/components/pro/Sprite/shared/gait.js.map +1 -0
- package/dist/components/pro/Sprite/shared/geometry.d.ts +8 -0
- package/dist/components/pro/Sprite/shared/geometry.js +59 -0
- package/dist/components/pro/Sprite/shared/geometry.js.map +1 -0
- package/dist/components/pro/Sprite/shared/magicEffect.d.ts +27 -0
- package/dist/components/pro/Sprite/shared/magicEffect.js +61 -0
- package/dist/components/pro/Sprite/shared/magicEffect.js.map +1 -0
- package/dist/components/pro/Sprite/shared/playback.d.ts +8 -0
- package/dist/components/pro/Sprite/shared/playback.js +74 -0
- package/dist/components/pro/Sprite/shared/playback.js.map +1 -0
- package/dist/components/pro/Sprite/shared/rig.d.ts +6 -0
- package/dist/components/pro/Sprite/shared/rig.js +48 -0
- package/dist/components/pro/Sprite/shared/rig.js.map +1 -0
- package/dist/components/pro/Sprite/shared/scene.d.ts +9 -0
- package/dist/components/pro/Sprite/shared/scene.js +21 -0
- package/dist/components/pro/Sprite/shared/scene.js.map +1 -0
- package/dist/components/pro/Sprite/shared/sculptor.d.ts +14 -0
- package/dist/components/pro/Sprite/shared/sculptor.js +78 -0
- package/dist/components/pro/Sprite/shared/sculptor.js.map +1 -0
- package/dist/components/pro/Sprite/shared/speechBubble.d.ts +15 -0
- package/dist/components/pro/Sprite/shared/speechBubble.js +129 -0
- package/dist/components/pro/Sprite/shared/speechBubble.js.map +1 -0
- package/dist/components/pro/Sprite/types.d.ts +40 -0
- package/dist/contexts/AppContext.js.map +1 -1
- package/dist/contexts/authentication.js.map +1 -1
- package/dist/data-table.js +3 -3
- package/dist/data-table.js.map +1 -1
- package/dist/dishui.css +1 -1
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useContainerElement.js.map +1 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useCopyToClipboard.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDraggable.js.map +1 -1
- package/dist/hooks/useTableColumns.js.map +1 -1
- package/dist/hooks/useTableData.js.map +1 -1
- package/dist/index-nostyled.d.ts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +116 -115
- package/dist/layouts/MainLayout.js.map +1 -1
- package/dist/layouts/Navbar.js.map +1 -1
- package/dist/layouts/Sidebar.js.map +1 -1
- package/dist/layouts/headbar/Headbar.js.map +1 -1
- package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
- package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
- package/dist/sprite.js +2 -0
- package/dist/styles/themeStyles.js.map +1 -1
- package/dist/utils/cn.js.map +1 -1
- package/dist/utils/flexLayout.js.map +1 -1
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/menu.js.map +1 -1
- package/dist/utils/rehype-code-meta.js.map +1 -1
- package/dist/utils/remark-code-meta.js.map +1 -1
- package/dist/utils/routerBuilder.js.map +1 -1
- package/dist/utils/safeStorage.js.map +1 -1
- package/dist/utils/selection.js +29 -20
- package/dist/utils/selection.js.map +1 -1
- package/dist/utils/themes.js.map +1 -1
- package/package.json +15 -11
package/dist/utils/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","names":[],"sources":["../../src/utils/i18n.tsx"],"sourcesContent":["// 导入类型\nimport { MenuItem } from '../types/menu';\n\n// 定义语言类型\nexport type Language = 'zh' | 'en';\n\n// 定义翻译类型\nexport type Translations = {\n navbar: {\n search: string;\n searchPlaceholder: string;\n searchShortcut: string;\n noResults: string;\n };\n sidebar: {\n menu: {\n home: MenuItem;\n components: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n layouts: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n advanced: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n charts: MenuItem;\n showcase: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n };\n };\n};\n\n// 中文翻译\nexport const zhTranslations: Translations = {\n navbar: {\n search: '搜索组件',\n searchPlaceholder: '搜索组件、文档、示例...',\n searchShortcut: 'Cmd+K',\n noResults: '没有找到匹配的结果',\n },\n sidebar: {\n menu: {\n home: {\n id: 'home',\n label: '主页',\n path: '/',\n },\n components: {\n id: 'components',\n label: '组件',\n children: {\n button: {\n id: 'button',\n label: '按钮',\n path: '/components/button',\n },\n badge: {\n id: 'badge',\n label: '徽章',\n path: '/components/badge',\n },\n groupbutton: {\n id: 'groupbutton',\n label: '选择按钮组',\n path: '/components/group-button',\n },\n cardinfo: {\n id: 'cardinfo',\n label: '信息卡',\n path: '/components/card/info',\n },\n cardstat: {\n id: 'cardstat',\n label: '统计卡',\n path: '/components/card/stat',\n },\n cardmetric: {\n id: 'cardmetric',\n label: '指标卡',\n path: '/components/card-metric',\n },\n groupedtable: {\n id: 'groupedtable',\n label: '分组表格',\n path: '/components/grouped-table',\n },\n navigationlist: {\n id: 'navigationlist',\n label: '导航列表',\n path: '/components/navigation-list',\n },\n skeleton: {\n id: 'skeleton',\n label: '骨架',\n path: '/components/skeleton',\n },\n input: {\n id: 'input',\n label: '输入框',\n path: '/components/input',\n },\n label: {\n id: 'label',\n label: '标签',\n path: '/components/label',\n },\n checkbox: {\n id: 'checkbox',\n label: '复选框',\n path: '/components/checkbox',\n },\n select: {\n id: 'select',\n label: '选择器',\n path: '/components/select',\n },\n card: {\n id: 'card',\n label: '卡片',\n path: '/components/card',\n },\n avatar: {\n id: 'avatar',\n label: '头像',\n path: '/components/avatar',\n },\n accordion: {\n id: 'accordion',\n label: '手风琴',\n path: '/components/accordion',\n },\n emptystate: {\n id: 'emptystate',\n label: '空状态',\n path: '/components/emptystate',\n },\n modal: {\n id: 'modal',\n label: '模态框',\n path: '/components/modal',\n },\n tabs: {\n id: 'tabs',\n label: '标签页',\n path: '/components/tabs',\n },\n list: {\n id: 'list',\n label: '列表',\n path: '/components/list',\n },\n table: {\n id: 'table',\n label: '表格',\n path: '/components/table',\n },\n markdown: {\n id: 'markdown',\n label: 'Markdown文档',\n path: '/components/markdown',\n },\n tree: {\n id: 'tree',\n label: '树形控件',\n path: '/components/tree',\n },\n fileuploader: {\n id: 'fileuploader',\n label: '文件上传',\n path: '/components/fileuploader',\n },\n text: {\n id: 'text',\n label: '文本',\n path: '/components/text',\n },\n image: {\n id: 'image',\n label: '图片',\n path: '/components/image',\n },\n icon: {\n id: 'icon',\n label: '图标',\n path: '/components/icon',\n },\n slider: {\n id: 'slider',\n label: '滑块',\n path: '/components/slider',\n },\n datetimeinput: {\n id: 'datetimeinput',\n label: '日期时间',\n path: '/components/datetime-input',\n },\n multiplechoice: {\n id: 'multiplechoice',\n label: '多选组',\n path: '/components/multiple-choice',\n },\n choicepicker: {\n id: 'choicepicker',\n label: '单选组',\n path: '/components/choice-picker',\n },\n },\n },\n layouts: {\n id: 'layouts',\n label: '布局',\n children: {\n layout: { id: 'layout', label: '布局总览', path: '/layouts/layout' },\n resizable: { id: 'resizable', label: '可调节布局', path: '/layouts/resizable' },\n container: { id: 'container', label: '容器', path: '/layouts/container' },\n grid: { id: 'grid', label: '栅格', path: '/layouts/grid' },\n flex: { id: 'flex', label: '弹性布局', path: '/layouts/flex' },\n group: { id: 'group', label: '布局组', path: '/layouts/group' },\n space: { id: 'space', label: '占位', path: '/layouts/space' },\n page: { id: 'page', label: '页面布局', path: '/layouts/page' },\n row: { id: 'row', label: '行布局', path: '/layouts/row' },\n column: { id: 'column', label: '列布局', path: '/layouts/column' },\n },\n },\n charts: {\n id: 'charts',\n label: '图表',\n path: '/components/chart',\n children: [\n { id: 'chart-line', label: '折线图', path: '/components/chart/line' },\n { id: 'chart-area', label: '面积图', path: '/components/chart/area' },\n { id: 'chart-bar', label: '柱状图', path: '/components/chart/bar' },\n { id: 'chart-pie', label: '饼图', path: '/components/chart/pie' },\n { id: 'chart-scatter', label: '散点图', path: '/components/chart/scatter' },\n { id: 'chart-combo', label: '组合图', path: '/components/chart/complex/combo' },\n { id: 'chart-stacked', label: '堆叠面积图', path: '/components/chart/complex/stacked' },\n { id: 'chart-heatmap', label: '热力图', path: '/components/chart/complex/heatmap' },\n { id: 'chart-regression', label: '回归分析', path: '/components/chart/complex/regression' },\n { id: 'chart-radar', label: '雷达图', path: '/components/chart/special/radar' },\n { id: 'chart-sankey', label: '桑基图', path: '/components/chart/special/sankey' },\n { id: 'chart-network', label: '网络图', path: '/components/chart/special/network' },\n { id: 'chart-calendar', label: '日历热力图', path: '/components/chart/special/calendar' },\n { id: 'chart-stacked-pie', label: '堆叠饼图', path: '/components/chart/special/stacked-pie' },\n { id: 'chart-funnel', label: '销售漏斗图', path: '/components/chart/special/funnel' },\n { id: 'chart-treemap', label: '矩形树图', path: '/components/chart/special/treemap' },\n { id: 'chart-globe', label: '地球', path: '/components/chart/special/globe' },\n { id: 'chart-world-map', label: '世界地图', path: '/components/chart/special/world-map' },\n ],\n },\n advanced: {\n id: 'advanced-components',\n label: '高级组件',\n children: {\n datatable: {\n id: 'datatable',\n label: '数据表格',\n path: '/components/datatable',\n },\n datatableAdvanced: {\n id: 'datatableadvanced',\n label: '高级表格',\n path: '/components/datatable/advanced',\n },\n datatableAdvancedTree: {\n id: 'datatableadvancedtree',\n label: '高级树形表格',\n path: '/components/datatable/advancedTreeTable',\n },\n datatableHooks: {\n id: 'datatablehooks',\n label: '钩子简化示例',\n path: '/components/datatable/hooks',\n },\n datatablePivot: {\n id: 'datatablepivot',\n label: '透视与扩展',\n path: '/components/datatable/pivot',\n },\n\n jukebox: {\n id: 'jukebox',\n label: '音乐播放器',\n path: '/components/jukebox',\n },\n articlecontrol: {\n id: 'articlecontrol',\n label: '文档悬浮控件',\n path: '/components/articlecontrol',\n },\n codeeditor: {\n id: 'codeeditor',\n label: '代码编辑器',\n path: '/components/codeeditor',\n },\n markdowneditor: {\n id: 'markdowneditor',\n label: '文档编辑器',\n path: '/components/markdowneditor',\n },\n sidebar: {\n id: 'sidebar-demo',\n label: '侧边栏',\n path: '/components/sidebar',\n },\n fileexplorer: {\n id: 'fileexplorer',\n label: '文件浏览器',\n path: '/components/fileexplorer',\n },\n richtexteditor: {\n id: 'richtexteditor',\n label: '富文本编辑器',\n path: '/components/richtexteditor',\n },\n richtexteditorMobile: {\n id: 'richtexteditor-mobile',\n label: '富文本编辑器移动端示例',\n path: '/components/richtexteditor/mobile',\n },\n flow: {\n id: 'flow',\n label: '流程图',\n path: '/components/flow',\n },\n flowUsage: {\n id: 'flow-usage',\n label: '流程图使用示例',\n path: '/components/flow/usage',\n },\n flowMobile: {\n id: 'flow-mobile',\n label: '流程图移动端示例',\n path: '/components/flow/mobile',\n },\n gantt: {\n id: 'gantt',\n label: '甘特图',\n path: '/components/gantt',\n },\n ganttScenarios: {\n id: 'gantt-scenarios',\n label: '甘特图场景示例',\n path: '/components/gantt/scenarios',\n },\n calendar: {\n id: 'calendar',\n label: '日历',\n path: '/components/calendar',\n },\n calendarScenarios: {\n id: 'calendar-scenarios',\n label: '日历场景示例',\n path: '/components/calendar/scenarios',\n },\n kanban: {\n id: 'kanban',\n label: '看板与泳道',\n path: '/components/kanban',\n },\n cardTicket: {\n id: 'card-ticket',\n label: '任务工单卡',\n path: '/components/card/ticket',\n },\n },\n },\n showcase: {\n id: 'showcase',\n label: '案例',\n children: {\n itbudget: {\n id: 'showcase-it-budget',\n label: '信息技术预算',\n path: '/showcase/it-budget',\n },\n },\n },\n },\n },\n};\n\n// 英文翻译\nexport const enTranslations: Translations = {\n navbar: {\n search: 'Search Components',\n searchPlaceholder: 'Search components, docs, examples...',\n searchShortcut: 'Cmd+K',\n noResults: 'No results found',\n },\n sidebar: {\n menu: {\n home: {\n id: 'home',\n label: 'Home',\n path: '/',\n },\n components: {\n id: 'components',\n label: 'Components',\n children: {\n button: {\n id: 'button',\n label: 'Button',\n path: '/components/button',\n },\n badge: {\n id: 'badge',\n label: 'Badge',\n path: '/components/badge',\n },\n groupbutton: {\n id: 'groupbutton',\n label: 'GroupButton',\n path: '/components/group-button',\n },\n cardinfo: {\n id: 'cardinfo',\n label: 'Card.Info',\n path: '/components/card/info',\n },\n cardstat: {\n id: 'cardstat',\n label: 'Card.Stat',\n path: '/components/card/stat',\n },\n cardmetric: {\n id: 'cardmetric',\n label: 'Card.Metric',\n path: '/components/card-metric',\n },\n groupedtable: {\n id: 'groupedtable',\n label: 'GroupedTable',\n path: '/components/grouped-table',\n },\n navigationlist: {\n id: 'navigationlist',\n label: 'NavigationList',\n path: '/components/navigation-list',\n },\n skeleton: {\n id: 'skeleton',\n label: 'Skeleton',\n path: '/components/skeleton',\n },\n input: {\n id: 'input',\n label: 'Input',\n path: '/components/input',\n },\n label: {\n id: 'label',\n label: 'Label',\n path: '/components/label',\n },\n checkbox: {\n id: 'checkbox',\n label: 'Checkbox',\n path: '/components/checkbox',\n },\n select: {\n id: 'select',\n label: 'Select',\n path: '/components/select',\n },\n card: {\n id: 'card',\n label: 'Card',\n path: '/components/card',\n },\n avatar: {\n id: 'avatar',\n label: 'Avatar',\n path: '/components/avatar',\n },\n accordion: {\n id: 'accordion',\n label: 'Accordion',\n path: '/components/accordion',\n },\n emptystate: {\n id: 'emptystate',\n label: 'EmptyState',\n path: '/components/emptystate',\n },\n modal: {\n id: 'modal',\n label: 'Modal',\n path: '/components/modal',\n },\n tabs: {\n id: 'tabs',\n label: 'Tabs',\n path: '/components/tabs',\n },\n list: {\n id: 'list',\n label: 'List',\n path: '/components/list',\n },\n table: {\n id: 'table',\n label: 'Table',\n path: '/components/table',\n },\n markdown: {\n id: 'markdown',\n label: 'Markdown',\n path: '/components/markdown',\n },\n tree: {\n id: 'tree',\n label: 'Tree',\n path: '/components/tree',\n },\n fileuploader: {\n id: 'fileuploader',\n label: 'FileUploader',\n path: '/components/fileuploader',\n },\n text: {\n id: 'text',\n label: 'Text',\n path: '/components/text',\n },\n image: {\n id: 'image',\n label: 'Image',\n path: '/components/image',\n },\n icon: {\n id: 'icon',\n label: 'Icon',\n path: '/components/icon',\n },\n slider: {\n id: 'slider',\n label: 'Slider',\n path: '/components/slider',\n },\n datetimeinput: {\n id: 'datetimeinput',\n label: 'DateTimeInput',\n path: '/components/datetime-input',\n },\n multiplechoice: {\n id: 'multiplechoice',\n label: 'MultipleChoice',\n path: '/components/multiple-choice',\n },\n choicepicker: {\n id: 'choicepicker',\n label: 'ChoicePicker',\n path: '/components/choice-picker',\n },\n },\n },\n layouts: {\n id: 'layouts',\n label: 'Layout',\n children: {\n layout: { id: 'layout', label: 'Layout Overview', path: '/layouts/layout' },\n resizable: { id: 'resizable', label: 'Resizable', path: '/layouts/resizable' },\n container: { id: 'container', label: 'Container', path: '/layouts/container' },\n grid: { id: 'grid', label: 'Grid', path: '/layouts/grid' },\n flex: { id: 'flex', label: 'Flex', path: '/layouts/flex' },\n group: { id: 'group', label: 'Group', path: '/layouts/group' },\n space: { id: 'space', label: 'Space', path: '/layouts/space' },\n page: { id: 'page', label: 'Page Layout', path: '/layouts/page' },\n row: { id: 'row', label: 'Row', path: '/layouts/row' },\n column: { id: 'column', label: 'Column', path: '/layouts/column' },\n },\n },\n charts: {\n id: 'charts',\n label: 'Charts',\n path: '/components/chart',\n children: [\n { id: 'chart-line', label: 'Line Chart', path: '/components/chart/line' },\n { id: 'chart-area', label: 'Area Chart', path: '/components/chart/area' },\n { id: 'chart-bar', label: 'Bar Chart', path: '/components/chart/bar' },\n { id: 'chart-pie', label: 'Pie Chart', path: '/components/chart/pie' },\n { id: 'chart-scatter', label: 'Scatter Chart', path: '/components/chart/scatter' },\n { id: 'chart-combo', label: 'Combo Chart', path: '/components/chart/complex/combo' },\n { id: 'chart-stacked', label: 'Stacked Area', path: '/components/chart/complex/stacked' },\n { id: 'chart-heatmap', label: 'Heatmap', path: '/components/chart/complex/heatmap' },\n { id: 'chart-regression', label: 'Regression Analysis', path: '/components/chart/complex/regression' },\n { id: 'chart-radar', label: 'Radar Chart', path: '/components/chart/special/radar' },\n { id: 'chart-sankey', label: 'Sankey Diagram', path: '/components/chart/special/sankey' },\n { id: 'chart-network', label: 'Network Graph', path: '/components/chart/special/network' },\n { id: 'chart-calendar', label: 'Calendar Heatmap', path: '/components/chart/special/calendar' },\n { id: 'chart-stacked-pie', label: 'Stacked Pie', path: '/components/chart/special/stacked-pie' },\n { id: 'chart-funnel', label: 'Sales Funnel', path: '/components/chart/special/funnel' },\n { id: 'chart-treemap', label: 'Treemap', path: '/components/chart/special/treemap' },\n { id: 'chart-globe', label: 'Globe', path: '/components/chart/special/globe' },\n { id: 'chart-world-map', label: 'World Map', path: '/components/chart/special/world-map' }\n ],\n },\n advanced: {\n id: 'advanced-components',\n label: 'Advanced Components',\n children: {\n datatable: {\n id: 'datatable',\n label: 'DataTable',\n path: '/components/datatable',\n },\n datatableAdvanced: {\n id: 'datatableadvanced',\n label: 'Advanced Table',\n path: '/components/datatable/advanced',\n },\n datatableAdvancedTree: {\n id: 'datatableadvancedtree',\n label: 'Advanced Tree Table',\n path: '/components/datatable/advancedTreeTable',\n },\n datatableHooks: {\n id: 'datatablehooks',\n label: 'Hooks Simplification',\n path: '/components/datatable/hooks',\n },\n datatablePivot: {\n id: 'datatablepivot',\n label: 'Pivot & Extensions',\n path: '/components/datatable/pivot',\n },\n\n jukebox: {\n id: 'jukebox',\n label: 'Jukebox',\n path: '/components/jukebox',\n },\n articlecontrol: {\n id: 'articlecontrol',\n label: 'ArticleControl',\n path: '/components/articlecontrol',\n },\n codeeditor: {\n id: 'codeeditor',\n label: 'CodeEditor',\n path: '/components/codeeditor',\n },\n markdowneditor: {\n id: 'markdowneditor',\n label: 'MarkdownEditor',\n path: '/components/markdowneditor',\n },\n sidebar: {\n id: 'sidebar-demo',\n label: 'Sidebar',\n path: '/components/sidebar',\n },\n fileexplorer: {\n id: 'fileexplorer',\n label: 'FileExplorer',\n path: '/components/fileexplorer',\n },\n richtexteditor: {\n id: 'richtexteditor',\n label: 'RichTextEditor',\n path: '/components/richtexteditor',\n },\n richtexteditorMobile: {\n id: 'richtexteditor-mobile',\n label: 'RichTextEditor Mobile Guide',\n path: '/components/richtexteditor/mobile',\n },\n flow: {\n id: 'flow',\n label: 'Flow Editor',\n path: '/components/flow',\n },\n flowUsage: {\n id: 'flow-usage',\n label: 'Flow Usage Guide',\n path: '/components/flow/usage',\n },\n flowMobile: {\n id: 'flow-mobile',\n label: 'Flow Mobile Guide',\n path: '/components/flow/mobile',\n },\n gantt: {\n id: 'gantt',\n label: 'Gantt Chart',\n path: '/components/gantt',\n },\n ganttScenarios: {\n id: 'gantt-scenarios',\n label: 'Gantt Scenarios',\n path: '/components/gantt/scenarios',\n },\n calendar: {\n id: 'calendar',\n label: 'Calendar',\n path: '/components/calendar',\n },\n calendarScenarios: {\n id: 'calendar-scenarios',\n label: 'Calendar Scenarios',\n path: '/components/calendar/scenarios',\n },\n kanban: {\n id: 'kanban',\n label: 'Kanban & Swimlanes',\n path: '/components/kanban',\n },\n cardTicket: {\n id: 'card-ticket',\n label: 'Card.Ticket',\n path: '/components/card/ticket',\n },\n },\n },\n showcase: {\n id: 'showcase',\n label: 'Showcase',\n children: {\n itbudget: {\n id: 'showcase-it-budget',\n label: 'IT Budget',\n path: '/showcase/it-budget',\n },\n },\n },\n },\n },\n};\n\n// 根据语言获取翻译\nexport const getTranslations = (language: Language): Translations => {\n return language === 'zh' ? zhTranslations : enTranslations;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i18n.js","names":["zhTranslations","enTranslations","getTranslations","language"],"sources":["../../src/utils/i18n.tsx"],"sourcesContent":["// 导入类型\nimport { MenuItem } from '../types/menu';\n\n// 定义语言类型\nexport type Language = 'zh' | 'en';\n\n// 定义翻译类型\nexport type Translations = {\n navbar: {\n search: string;\n searchPlaceholder: string;\n searchShortcut: string;\n noResults: string;\n };\n sidebar: {\n menu: {\n home: MenuItem;\n components: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n layouts: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n advanced: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n charts: MenuItem;\n showcase: Omit<MenuItem, 'children'> & {\n children: Record<string, MenuItem>;\n };\n };\n };\n};\n\n// 中文翻译\nexport const zhTranslations: Translations = {\n navbar: {\n search: '搜索组件',\n searchPlaceholder: '搜索组件、文档、示例...',\n searchShortcut: 'Cmd+K',\n noResults: '没有找到匹配的结果',\n },\n sidebar: {\n menu: {\n home: {\n id: 'home',\n label: '主页',\n path: '/',\n },\n components: {\n id: 'components',\n label: '组件',\n children: {\n button: {\n id: 'button',\n label: '按钮',\n path: '/components/button',\n },\n badge: {\n id: 'badge',\n label: '徽章',\n path: '/components/badge',\n },\n groupbutton: {\n id: 'groupbutton',\n label: '选择按钮组',\n path: '/components/group-button',\n },\n cardinfo: {\n id: 'cardinfo',\n label: '信息卡',\n path: '/components/card/info',\n },\n cardstat: {\n id: 'cardstat',\n label: '统计卡',\n path: '/components/card/stat',\n },\n cardmetric: {\n id: 'cardmetric',\n label: '指标卡',\n path: '/components/card-metric',\n },\n groupedtable: {\n id: 'groupedtable',\n label: '分组表格',\n path: '/components/grouped-table',\n },\n navigationlist: {\n id: 'navigationlist',\n label: '导航列表',\n path: '/components/navigation-list',\n },\n skeleton: {\n id: 'skeleton',\n label: '骨架',\n path: '/components/skeleton',\n },\n input: {\n id: 'input',\n label: '输入框',\n path: '/components/input',\n },\n label: {\n id: 'label',\n label: '标签',\n path: '/components/label',\n },\n checkbox: {\n id: 'checkbox',\n label: '复选框',\n path: '/components/checkbox',\n },\n select: {\n id: 'select',\n label: '选择器',\n path: '/components/select',\n },\n card: {\n id: 'card',\n label: '卡片',\n path: '/components/card',\n },\n avatar: {\n id: 'avatar',\n label: '头像',\n path: '/components/avatar',\n },\n accordion: {\n id: 'accordion',\n label: '手风琴',\n path: '/components/accordion',\n },\n emptystate: {\n id: 'emptystate',\n label: '空状态',\n path: '/components/emptystate',\n },\n modal: {\n id: 'modal',\n label: '模态框',\n path: '/components/modal',\n },\n tabs: {\n id: 'tabs',\n label: '标签页',\n path: '/components/tabs',\n },\n list: {\n id: 'list',\n label: '列表',\n path: '/components/list',\n },\n table: {\n id: 'table',\n label: '表格',\n path: '/components/table',\n },\n markdown: {\n id: 'markdown',\n label: 'Markdown文档',\n path: '/components/markdown',\n },\n tree: {\n id: 'tree',\n label: '树形控件',\n path: '/components/tree',\n },\n fileuploader: {\n id: 'fileuploader',\n label: '文件上传',\n path: '/components/fileuploader',\n },\n text: {\n id: 'text',\n label: '文本',\n path: '/components/text',\n },\n image: {\n id: 'image',\n label: '图片',\n path: '/components/image',\n },\n icon: {\n id: 'icon',\n label: '图标',\n path: '/components/icon',\n },\n slider: {\n id: 'slider',\n label: '滑块',\n path: '/components/slider',\n },\n datetimeinput: {\n id: 'datetimeinput',\n label: '日期时间',\n path: '/components/datetime-input',\n },\n multiplechoice: {\n id: 'multiplechoice',\n label: '多选组',\n path: '/components/multiple-choice',\n },\n choicepicker: {\n id: 'choicepicker',\n label: '单选组',\n path: '/components/choice-picker',\n },\n },\n },\n layouts: {\n id: 'layouts',\n label: '布局',\n children: {\n layout: { id: 'layout', label: '布局总览', path: '/layouts/layout' },\n resizable: { id: 'resizable', label: '可调节布局', path: '/layouts/resizable' },\n container: { id: 'container', label: '容器', path: '/layouts/container' },\n grid: { id: 'grid', label: '栅格', path: '/layouts/grid' },\n flex: { id: 'flex', label: '弹性布局', path: '/layouts/flex' },\n group: { id: 'group', label: '布局组', path: '/layouts/group' },\n space: { id: 'space', label: '占位', path: '/layouts/space' },\n page: { id: 'page', label: '页面布局', path: '/layouts/page' },\n row: { id: 'row', label: '行布局', path: '/layouts/row' },\n column: { id: 'column', label: '列布局', path: '/layouts/column' },\n },\n },\n charts: {\n id: 'charts',\n label: '图表',\n path: '/components/chart',\n children: [\n { id: 'chart-line', label: '折线图', path: '/components/chart/line' },\n { id: 'chart-area', label: '面积图', path: '/components/chart/area' },\n { id: 'chart-bar', label: '柱状图', path: '/components/chart/bar' },\n { id: 'chart-pie', label: '饼图', path: '/components/chart/pie' },\n { id: 'chart-scatter', label: '散点图', path: '/components/chart/scatter' },\n { id: 'chart-combo', label: '组合图', path: '/components/chart/complex/combo' },\n { id: 'chart-stacked', label: '堆叠面积图', path: '/components/chart/complex/stacked' },\n { id: 'chart-heatmap', label: '热力图', path: '/components/chart/complex/heatmap' },\n { id: 'chart-regression', label: '回归分析', path: '/components/chart/complex/regression' },\n { id: 'chart-radar', label: '雷达图', path: '/components/chart/special/radar' },\n { id: 'chart-sankey', label: '桑基图', path: '/components/chart/special/sankey' },\n { id: 'chart-network', label: '网络图', path: '/components/chart/special/network' },\n { id: 'chart-calendar', label: '日历热力图', path: '/components/chart/special/calendar' },\n { id: 'chart-stacked-pie', label: '堆叠饼图', path: '/components/chart/special/stacked-pie' },\n { id: 'chart-funnel', label: '销售漏斗图', path: '/components/chart/special/funnel' },\n { id: 'chart-treemap', label: '矩形树图', path: '/components/chart/special/treemap' },\n { id: 'chart-globe', label: '地球', path: '/components/chart/special/globe' },\n { id: 'chart-world-map', label: '世界地图', path: '/components/chart/special/world-map' },\n ],\n },\n advanced: {\n id: 'advanced-components',\n label: '高级组件',\n children: {\n datatable: {\n id: 'datatable',\n label: '数据表格',\n path: '/components/datatable',\n },\n datatableAdvanced: {\n id: 'datatableadvanced',\n label: '高级表格',\n path: '/components/datatable/advanced',\n },\n datatableAdvancedTree: {\n id: 'datatableadvancedtree',\n label: '高级树形表格',\n path: '/components/datatable/advancedTreeTable',\n },\n datatableHooks: {\n id: 'datatablehooks',\n label: '钩子简化示例',\n path: '/components/datatable/hooks',\n },\n datatablePivot: {\n id: 'datatablepivot',\n label: '透视与扩展',\n path: '/components/datatable/pivot',\n },\n\n jukebox: {\n id: 'jukebox',\n label: '音乐播放器',\n path: '/components/jukebox',\n },\n articlecontrol: {\n id: 'articlecontrol',\n label: '文档悬浮控件',\n path: '/components/articlecontrol',\n },\n codeeditor: {\n id: 'codeeditor',\n label: '代码编辑器',\n path: '/components/codeeditor',\n },\n markdowneditor: {\n id: 'markdowneditor',\n label: '文档编辑器',\n path: '/components/markdowneditor',\n },\n sidebar: {\n id: 'sidebar-demo',\n label: '侧边栏',\n path: '/components/sidebar',\n },\n fileexplorer: {\n id: 'fileexplorer',\n label: '文件浏览器',\n path: '/components/fileexplorer',\n },\n richtexteditor: {\n id: 'richtexteditor',\n label: '富文本编辑器',\n path: '/components/richtexteditor',\n },\n richtexteditorMobile: {\n id: 'richtexteditor-mobile',\n label: '富文本编辑器移动端示例',\n path: '/components/richtexteditor/mobile',\n },\n flow: {\n id: 'flow',\n label: '流程图',\n path: '/components/flow',\n },\n flowUsage: {\n id: 'flow-usage',\n label: '流程图使用示例',\n path: '/components/flow/usage',\n },\n flowMobile: {\n id: 'flow-mobile',\n label: '流程图移动端示例',\n path: '/components/flow/mobile',\n },\n gantt: {\n id: 'gantt',\n label: '甘特图',\n path: '/components/gantt',\n },\n ganttScenarios: {\n id: 'gantt-scenarios',\n label: '甘特图场景示例',\n path: '/components/gantt/scenarios',\n },\n calendar: {\n id: 'calendar',\n label: '日历',\n path: '/components/calendar',\n },\n calendarScenarios: {\n id: 'calendar-scenarios',\n label: '日历场景示例',\n path: '/components/calendar/scenarios',\n },\n kanban: {\n id: 'kanban',\n label: '看板与泳道',\n path: '/components/kanban',\n },\n cardTicket: {\n id: 'card-ticket',\n label: '任务工单卡',\n path: '/components/card/ticket',\n },\n },\n },\n showcase: {\n id: 'showcase',\n label: '案例',\n children: {\n itbudget: {\n id: 'showcase-it-budget',\n label: '信息技术预算',\n path: '/showcase/it-budget',\n },\n },\n },\n },\n },\n};\n\n// 英文翻译\nexport const enTranslations: Translations = {\n navbar: {\n search: 'Search Components',\n searchPlaceholder: 'Search components, docs, examples...',\n searchShortcut: 'Cmd+K',\n noResults: 'No results found',\n },\n sidebar: {\n menu: {\n home: {\n id: 'home',\n label: 'Home',\n path: '/',\n },\n components: {\n id: 'components',\n label: 'Components',\n children: {\n button: {\n id: 'button',\n label: 'Button',\n path: '/components/button',\n },\n badge: {\n id: 'badge',\n label: 'Badge',\n path: '/components/badge',\n },\n groupbutton: {\n id: 'groupbutton',\n label: 'GroupButton',\n path: '/components/group-button',\n },\n cardinfo: {\n id: 'cardinfo',\n label: 'Card.Info',\n path: '/components/card/info',\n },\n cardstat: {\n id: 'cardstat',\n label: 'Card.Stat',\n path: '/components/card/stat',\n },\n cardmetric: {\n id: 'cardmetric',\n label: 'Card.Metric',\n path: '/components/card-metric',\n },\n groupedtable: {\n id: 'groupedtable',\n label: 'GroupedTable',\n path: '/components/grouped-table',\n },\n navigationlist: {\n id: 'navigationlist',\n label: 'NavigationList',\n path: '/components/navigation-list',\n },\n skeleton: {\n id: 'skeleton',\n label: 'Skeleton',\n path: '/components/skeleton',\n },\n input: {\n id: 'input',\n label: 'Input',\n path: '/components/input',\n },\n label: {\n id: 'label',\n label: 'Label',\n path: '/components/label',\n },\n checkbox: {\n id: 'checkbox',\n label: 'Checkbox',\n path: '/components/checkbox',\n },\n select: {\n id: 'select',\n label: 'Select',\n path: '/components/select',\n },\n card: {\n id: 'card',\n label: 'Card',\n path: '/components/card',\n },\n avatar: {\n id: 'avatar',\n label: 'Avatar',\n path: '/components/avatar',\n },\n accordion: {\n id: 'accordion',\n label: 'Accordion',\n path: '/components/accordion',\n },\n emptystate: {\n id: 'emptystate',\n label: 'EmptyState',\n path: '/components/emptystate',\n },\n modal: {\n id: 'modal',\n label: 'Modal',\n path: '/components/modal',\n },\n tabs: {\n id: 'tabs',\n label: 'Tabs',\n path: '/components/tabs',\n },\n list: {\n id: 'list',\n label: 'List',\n path: '/components/list',\n },\n table: {\n id: 'table',\n label: 'Table',\n path: '/components/table',\n },\n markdown: {\n id: 'markdown',\n label: 'Markdown',\n path: '/components/markdown',\n },\n tree: {\n id: 'tree',\n label: 'Tree',\n path: '/components/tree',\n },\n fileuploader: {\n id: 'fileuploader',\n label: 'FileUploader',\n path: '/components/fileuploader',\n },\n text: {\n id: 'text',\n label: 'Text',\n path: '/components/text',\n },\n image: {\n id: 'image',\n label: 'Image',\n path: '/components/image',\n },\n icon: {\n id: 'icon',\n label: 'Icon',\n path: '/components/icon',\n },\n slider: {\n id: 'slider',\n label: 'Slider',\n path: '/components/slider',\n },\n datetimeinput: {\n id: 'datetimeinput',\n label: 'DateTimeInput',\n path: '/components/datetime-input',\n },\n multiplechoice: {\n id: 'multiplechoice',\n label: 'MultipleChoice',\n path: '/components/multiple-choice',\n },\n choicepicker: {\n id: 'choicepicker',\n label: 'ChoicePicker',\n path: '/components/choice-picker',\n },\n },\n },\n layouts: {\n id: 'layouts',\n label: 'Layout',\n children: {\n layout: { id: 'layout', label: 'Layout Overview', path: '/layouts/layout' },\n resizable: { id: 'resizable', label: 'Resizable', path: '/layouts/resizable' },\n container: { id: 'container', label: 'Container', path: '/layouts/container' },\n grid: { id: 'grid', label: 'Grid', path: '/layouts/grid' },\n flex: { id: 'flex', label: 'Flex', path: '/layouts/flex' },\n group: { id: 'group', label: 'Group', path: '/layouts/group' },\n space: { id: 'space', label: 'Space', path: '/layouts/space' },\n page: { id: 'page', label: 'Page Layout', path: '/layouts/page' },\n row: { id: 'row', label: 'Row', path: '/layouts/row' },\n column: { id: 'column', label: 'Column', path: '/layouts/column' },\n },\n },\n charts: {\n id: 'charts',\n label: 'Charts',\n path: '/components/chart',\n children: [\n { id: 'chart-line', label: 'Line Chart', path: '/components/chart/line' },\n { id: 'chart-area', label: 'Area Chart', path: '/components/chart/area' },\n { id: 'chart-bar', label: 'Bar Chart', path: '/components/chart/bar' },\n { id: 'chart-pie', label: 'Pie Chart', path: '/components/chart/pie' },\n { id: 'chart-scatter', label: 'Scatter Chart', path: '/components/chart/scatter' },\n { id: 'chart-combo', label: 'Combo Chart', path: '/components/chart/complex/combo' },\n { id: 'chart-stacked', label: 'Stacked Area', path: '/components/chart/complex/stacked' },\n { id: 'chart-heatmap', label: 'Heatmap', path: '/components/chart/complex/heatmap' },\n { id: 'chart-regression', label: 'Regression Analysis', path: '/components/chart/complex/regression' },\n { id: 'chart-radar', label: 'Radar Chart', path: '/components/chart/special/radar' },\n { id: 'chart-sankey', label: 'Sankey Diagram', path: '/components/chart/special/sankey' },\n { id: 'chart-network', label: 'Network Graph', path: '/components/chart/special/network' },\n { id: 'chart-calendar', label: 'Calendar Heatmap', path: '/components/chart/special/calendar' },\n { id: 'chart-stacked-pie', label: 'Stacked Pie', path: '/components/chart/special/stacked-pie' },\n { id: 'chart-funnel', label: 'Sales Funnel', path: '/components/chart/special/funnel' },\n { id: 'chart-treemap', label: 'Treemap', path: '/components/chart/special/treemap' },\n { id: 'chart-globe', label: 'Globe', path: '/components/chart/special/globe' },\n { id: 'chart-world-map', label: 'World Map', path: '/components/chart/special/world-map' }\n ],\n },\n advanced: {\n id: 'advanced-components',\n label: 'Advanced Components',\n children: {\n datatable: {\n id: 'datatable',\n label: 'DataTable',\n path: '/components/datatable',\n },\n datatableAdvanced: {\n id: 'datatableadvanced',\n label: 'Advanced Table',\n path: '/components/datatable/advanced',\n },\n datatableAdvancedTree: {\n id: 'datatableadvancedtree',\n label: 'Advanced Tree Table',\n path: '/components/datatable/advancedTreeTable',\n },\n datatableHooks: {\n id: 'datatablehooks',\n label: 'Hooks Simplification',\n path: '/components/datatable/hooks',\n },\n datatablePivot: {\n id: 'datatablepivot',\n label: 'Pivot & Extensions',\n path: '/components/datatable/pivot',\n },\n\n jukebox: {\n id: 'jukebox',\n label: 'Jukebox',\n path: '/components/jukebox',\n },\n articlecontrol: {\n id: 'articlecontrol',\n label: 'ArticleControl',\n path: '/components/articlecontrol',\n },\n codeeditor: {\n id: 'codeeditor',\n label: 'CodeEditor',\n path: '/components/codeeditor',\n },\n markdowneditor: {\n id: 'markdowneditor',\n label: 'MarkdownEditor',\n path: '/components/markdowneditor',\n },\n sidebar: {\n id: 'sidebar-demo',\n label: 'Sidebar',\n path: '/components/sidebar',\n },\n fileexplorer: {\n id: 'fileexplorer',\n label: 'FileExplorer',\n path: '/components/fileexplorer',\n },\n richtexteditor: {\n id: 'richtexteditor',\n label: 'RichTextEditor',\n path: '/components/richtexteditor',\n },\n richtexteditorMobile: {\n id: 'richtexteditor-mobile',\n label: 'RichTextEditor Mobile Guide',\n path: '/components/richtexteditor/mobile',\n },\n flow: {\n id: 'flow',\n label: 'Flow Editor',\n path: '/components/flow',\n },\n flowUsage: {\n id: 'flow-usage',\n label: 'Flow Usage Guide',\n path: '/components/flow/usage',\n },\n flowMobile: {\n id: 'flow-mobile',\n label: 'Flow Mobile Guide',\n path: '/components/flow/mobile',\n },\n gantt: {\n id: 'gantt',\n label: 'Gantt Chart',\n path: '/components/gantt',\n },\n ganttScenarios: {\n id: 'gantt-scenarios',\n label: 'Gantt Scenarios',\n path: '/components/gantt/scenarios',\n },\n calendar: {\n id: 'calendar',\n label: 'Calendar',\n path: '/components/calendar',\n },\n calendarScenarios: {\n id: 'calendar-scenarios',\n label: 'Calendar Scenarios',\n path: '/components/calendar/scenarios',\n },\n kanban: {\n id: 'kanban',\n label: 'Kanban & Swimlanes',\n path: '/components/kanban',\n },\n cardTicket: {\n id: 'card-ticket',\n label: 'Card.Ticket',\n path: '/components/card/ticket',\n },\n },\n },\n showcase: {\n id: 'showcase',\n label: 'Showcase',\n children: {\n itbudget: {\n id: 'showcase-it-budget',\n label: 'IT Budget',\n path: '/showcase/it-budget',\n },\n },\n },\n },\n },\n};\n\n// 根据语言获取翻译\nexport const getTranslations = (language: Language): Translations => {\n return language === 'zh' ? zhTranslations : enTranslations;\n};\n"],"mappings":"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"}
|
package/dist/utils/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","names":[],"sources":["../../src/utils/menu.tsx"],"sourcesContent":["// 菜单配置\nimport React from 'react';\nimport { MenuItem } from '../types/menu';\nimport { getTranslations, Language } from './i18n';\n\n// 转换扁平化的菜单项字典为菜单树\nexport const getMenuItems = (language: Language): MenuItem[] => {\n const translations = getTranslations(language);\n const { home, components, layouts, charts, advanced, showcase } = translations.sidebar.menu;\n\n // Keep legacy routes and exports available without duplicating retired documentation entries.\n const componentDocs = Object.values(components.children || {})\n .filter(doc => doc.id !== 'checkbox' && doc.id !== 'label');\n const advancedDocs = advanced ? Object.values(advanced.children || {}) : [];\n const allDocs = [...componentDocs, ...advancedDocs];\n const groupedIds = new Set<string>();\n const groups = new Map<string, MenuItem>();\n\n for (const doc of allDocs) {\n // 已被其他分组收纳的文档不再单独成组(如 datatable 已归入表格分组)。\n if (groupedIds.has(doc.id)) continue;\n const related = allDocs.filter(candidate => candidate.id !== doc.id && (\n (doc.path && candidate.path?.startsWith(`${doc.path}/`)) ||\n (doc.id === 'table' && ['groupedtable', 'datatable', 'datatableadvanced', 'datatableadvancedtree', 'datatablehooks', 'datatablepivot', 'list'].includes(candidate.id)) ||\n (doc.id === 'card' && ['cardmetric', 'card-ticket'].includes(candidate.id))\n ));\n if (!related.length) continue;\n\n groupedIds.add(doc.id);\n related.forEach(item => groupedIds.add(item.id));\n groups.set(doc.id, {\n id: `${doc.id}-docs`,\n label: doc.label,\n children: [\n { ...doc, label: language === 'zh' ? '基础用法' : 'Overview' },\n ...related,\n ],\n });\n }\n\n const categories = [\n { anchor: 'button', id: 'basic', zh: '基础', en: 'Basic', members: ['button', 'badge', 'text'] },\n { anchor: 'select', id: 'choice', zh: '选择', en: 'Choice', members: ['choicepicker', 'multiplechoice', 'select', 'tabs', 'groupbutton'] },\n { anchor: 'navigationlist', id: 'vertical-collection', zh: '垂直收纳', en: 'VerticalCollection', members: ['sidebar-demo', 'tree', 'navigationlist', 'accordion'] },\n ];\n for (const category of categories) {\n const children = category.members.flatMap(id => {\n const doc = allDocs.find(item => item.id === id);\n return doc ? [doc] : [];\n });\n children.forEach(doc => groupedIds.add(doc.id));\n groups.set(category.anchor, {\n id: `${category.id}-docs`,\n label: language === 'zh' ? category.zh : category.en,\n children,\n });\n }\n\n // 分组跟随主文档所属分类,跨分类收纳的叶子仍保留原有 ID 与路由。\n const componentsChildren = componentDocs.flatMap(doc => {\n const group = groups.get(doc.id);\n return group ? [group] : groupedIds.has(doc.id) ? [] : [doc];\n });\n const advancedChildren = advancedDocs.flatMap(doc => {\n const group = groups.get(doc.id);\n return group ? [group] : groupedIds.has(doc.id) ? [] : [doc];\n });\n\n const layoutsChildren = Object.values(layouts.children || {});\n const showcaseChildren = showcase ? Object.values(showcase.children || {}) : [];\n\n // 创建完整菜单树,确保结构正确\n const menuItems: MenuItem[] = [\n {\n ...home,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\" />\n </svg>\n },\n\n {\n id: components.id,\n label: components.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01\" />\n </svg>,\n children: componentsChildren\n },\n {\n id: layouts.id,\n label: layouts.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4 5a1 1 0 011-1h16v6H4V5zm0 9h7v6H4v-6zm11 0h6v6h-6v-6z\" />\n </svg>,\n children: layoutsChildren\n },\n {\n ...charts,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4 19V9m6 10V5m6 14v-7m4 7H2\" />\n </svg>,\n },\n ];\n\n if (advanced) {\n menuItems.push({\n id: advanced.id,\n label: advanced.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19.428 15.428a2 2 0 00-1.022-.547l-2.384-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\" />\n </svg>,\n children: advancedChildren\n });\n }\n\n if (showcase) {\n menuItems.push({\n id: showcase.id,\n label: showcase.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\" />\n </svg>,\n children: showcaseChildren\n });\n }\n\n return menuItems;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","names":["getMenuItems","getTranslations","language","componentDocs","components","doc","advancedDocs","advanced","allDocs","groupedIds","groups","related","candidate","item","category","children","id","componentsChildren","group","advancedChildren","layoutsChildren","layouts","showcaseChildren","showcase","menuItems","home","charts"],"sources":["../../src/utils/menu.tsx"],"sourcesContent":["// 菜单配置\nimport React from 'react';\nimport { MenuItem } from '../types/menu';\nimport { getTranslations, Language } from './i18n';\n\n// 转换扁平化的菜单项字典为菜单树\nexport const getMenuItems = (language: Language): MenuItem[] => {\n const translations = getTranslations(language);\n const { home, components, layouts, charts, advanced, showcase } = translations.sidebar.menu;\n\n // Keep legacy routes and exports available without duplicating retired documentation entries.\n const componentDocs = Object.values(components.children || {})\n .filter(doc => doc.id !== 'checkbox' && doc.id !== 'label');\n const advancedDocs = advanced ? Object.values(advanced.children || {}) : [];\n const allDocs = [...componentDocs, ...advancedDocs];\n const groupedIds = new Set<string>();\n const groups = new Map<string, MenuItem>();\n\n for (const doc of allDocs) {\n // 已被其他分组收纳的文档不再单独成组(如 datatable 已归入表格分组)。\n if (groupedIds.has(doc.id)) continue;\n const related = allDocs.filter(candidate => candidate.id !== doc.id && (\n (doc.path && candidate.path?.startsWith(`${doc.path}/`)) ||\n (doc.id === 'table' && ['groupedtable', 'datatable', 'datatableadvanced', 'datatableadvancedtree', 'datatablehooks', 'datatablepivot', 'list'].includes(candidate.id)) ||\n (doc.id === 'card' && ['cardmetric', 'card-ticket'].includes(candidate.id))\n ));\n if (!related.length) continue;\n\n groupedIds.add(doc.id);\n related.forEach(item => groupedIds.add(item.id));\n groups.set(doc.id, {\n id: `${doc.id}-docs`,\n label: doc.label,\n children: [\n { ...doc, label: language === 'zh' ? '基础用法' : 'Overview' },\n ...related,\n ],\n });\n }\n\n const categories = [\n { anchor: 'button', id: 'basic', zh: '基础', en: 'Basic', members: ['button', 'badge', 'text'] },\n { anchor: 'select', id: 'choice', zh: '选择', en: 'Choice', members: ['choicepicker', 'multiplechoice', 'select', 'tabs', 'groupbutton'] },\n { anchor: 'navigationlist', id: 'vertical-collection', zh: '垂直收纳', en: 'VerticalCollection', members: ['sidebar-demo', 'tree', 'navigationlist', 'accordion'] },\n ];\n for (const category of categories) {\n const children = category.members.flatMap(id => {\n const doc = allDocs.find(item => item.id === id);\n return doc ? [doc] : [];\n });\n children.forEach(doc => groupedIds.add(doc.id));\n groups.set(category.anchor, {\n id: `${category.id}-docs`,\n label: language === 'zh' ? category.zh : category.en,\n children,\n });\n }\n\n // 分组跟随主文档所属分类,跨分类收纳的叶子仍保留原有 ID 与路由。\n const componentsChildren = componentDocs.flatMap(doc => {\n const group = groups.get(doc.id);\n return group ? [group] : groupedIds.has(doc.id) ? [] : [doc];\n });\n const advancedChildren = advancedDocs.flatMap(doc => {\n const group = groups.get(doc.id);\n return group ? [group] : groupedIds.has(doc.id) ? [] : [doc];\n });\n\n const layoutsChildren = Object.values(layouts.children || {});\n const showcaseChildren = showcase ? Object.values(showcase.children || {}) : [];\n\n // 创建完整菜单树,确保结构正确\n const menuItems: MenuItem[] = [\n {\n ...home,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\" />\n </svg>\n },\n\n {\n id: components.id,\n label: components.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01\" />\n </svg>,\n children: componentsChildren\n },\n {\n id: layouts.id,\n label: layouts.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4 5a1 1 0 011-1h16v6H4V5zm0 9h7v6H4v-6zm11 0h6v6h-6v-6z\" />\n </svg>,\n children: layoutsChildren\n },\n {\n ...charts,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4 19V9m6 10V5m6 14v-7m4 7H2\" />\n </svg>,\n },\n ];\n\n if (advanced) {\n menuItems.push({\n id: advanced.id,\n label: advanced.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19.428 15.428a2 2 0 00-1.022-.547l-2.384-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\" />\n </svg>,\n children: advancedChildren\n });\n }\n\n if (showcase) {\n menuItems.push({\n id: showcase.id,\n label: showcase.label,\n icon: <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\" />\n </svg>,\n children: showcaseChildren\n });\n }\n\n return menuItems;\n};\n"],"mappings":";;;;AAMA,IAAaA,KAAgB,MAAmC;CAE5D,IAAM,EAAE,SAAM,eAAY,YAAS,WAAQ,aAAU,gBADhCC,EAAgBC,CAC6B,CAAA,CAAa,QAAQ,MAGjFC,IAAgB,OAAO,OAAOC,EAAW,YAAY,CAAC,CAAC,CAAC,CACzD,QAAO,MAAOC,EAAI,OAAO,cAAcA,EAAI,OAAO,OAAO,GACxDC,IAAeC,IAAW,OAAO,OAAOA,EAAS,YAAY,CAAC,CAAC,IAAI,CAAC,GACpEC,IAAU,CAAC,GAAGL,GAAe,GAAGG,CAAY,GAC5CG,oBAAa,IAAI,IAAY,GAC7BC,oBAAS,IAAI,IAAsB;CAEzC,KAAK,IAAML,KAAOG,GAAS;EAEvB,IAAIC,EAAW,IAAIJ,EAAI,EAAE,GAAG;EAC5B,IAAMM,IAAUH,EAAQ,QAAO,MAAaI,EAAU,OAAOP,EAAI,OAC5DA,EAAI,QAAQO,EAAU,MAAM,WAAW,GAAGP,EAAI,KAAK,EAAE,KACrDA,EAAI,OAAO,WAAW;GAAC;GAAgB;GAAa;GAAqB;GAAyB;GAAkB;GAAkB;EAAM,CAAC,CAAC,SAASO,EAAU,EAAE,KACnKP,EAAI,OAAO,UAAU,CAAC,cAAc,aAAa,CAAC,CAAC,SAASO,EAAU,EAAE,EAC5E;EACD,AAAKD,EAAQ,WAEbF,EAAW,IAAIJ,EAAI,EAAE,GACrBM,EAAQ,SAAQ,MAAQF,EAAW,IAAII,EAAK,EAAE,CAAC,GAC/CH,EAAO,IAAIL,EAAI,IAAI;GACf,IAAI,GAAGA,EAAI,GAAG;GACd,OAAOA,EAAI;GACX,UAAU,CACN;IAAE,GAAGA;IAAK,OAAOH,MAAa,OAAO,SAAS;GAAW,GACzD,GAAGS,CACP;EACJ,CAAC;CACL;CAOA,KAAK,IAAMG,KAAY;EAJnB;GAAE,QAAQ;GAAU,IAAI;GAAS,IAAI;GAAM,IAAI;GAAS,SAAS;IAAC;IAAU;IAAS;GAAM;EAAE;EAC7F;GAAE,QAAQ;GAAU,IAAI;GAAU,IAAI;GAAM,IAAI;GAAU,SAAS;IAAC;IAAgB;IAAkB;IAAU;IAAQ;GAAa;EAAE;EACvI;GAAE,QAAQ;GAAkB,IAAI;GAAuB,IAAI;GAAQ,IAAI;GAAsB,SAAS;IAAC;IAAgB;IAAQ;IAAkB;GAAW;EAAE;CAE3I,GAAY;EAC/B,IAAMC,IAAWD,EAAS,QAAQ,SAAQ,MAAM;GAC5C,IAAMT,IAAMG,EAAQ,MAAK,MAAQK,EAAK,OAAOG,CAAE;GAC/C,OAAOX,IAAM,CAACA,CAAG,IAAI,CAAC;EAC1B,CAAC;EAED,AADAU,EAAS,SAAQ,MAAON,EAAW,IAAIJ,EAAI,EAAE,CAAC,GAC9CK,EAAO,IAAII,EAAS,QAAQ;GACxB,IAAI,GAAGA,EAAS,GAAG;GACnB,OAAOZ,MAAa,OAAOY,EAAS,KAAKA,EAAS;GAClD;EACJ,CAAC;CACL;CAGA,IAAMG,IAAqBd,EAAc,SAAQ,MAAO;EACpD,IAAMe,IAAQR,EAAO,IAAIL,EAAI,EAAE;EAC/B,OAAOa,IAAQ,CAACA,CAAK,IAAIT,EAAW,IAAIJ,EAAI,EAAE,IAAI,CAAC,IAAI,CAACA,CAAG;CAC/D,CAAC,GACKc,IAAmBb,EAAa,SAAQ,MAAO;EACjD,IAAMY,IAAQR,EAAO,IAAIL,EAAI,EAAE;EAC/B,OAAOa,IAAQ,CAACA,CAAK,IAAIT,EAAW,IAAIJ,EAAI,EAAE,IAAI,CAAC,IAAI,CAACA,CAAG;CAC/D,CAAC,GAEKe,IAAkB,OAAO,OAAOC,EAAQ,YAAY,CAAC,CAAC,GACtDC,IAAmBC,IAAW,OAAO,OAAOA,EAAS,YAAY,CAAC,CAAC,IAAI,CAAC,GAGxEC,IAAwB;EAC1B;GACI,GAAGC;GACH,MAAM,kBAAC,OAAD;IAAK,OAAM;IAA6B,WAAU;IAAU,MAAK;IAAO,SAAQ;IAAY,QAAO;IACrG,UAAA,kBAAC,QAAD;KAAM,eAAc;KAAQ,gBAAe;KAAQ,aAAY;KAAI,GAAE;IAAoJ,CAAA;GACxN,CAAA;EACT;EAEA;GACI,IAAIrB,EAAW;GACf,OAAOA,EAAW;GAClB,MAAM,kBAAC,OAAD;IAAK,OAAM;IAA6B,WAAU;IAAU,MAAK;IAAO,SAAQ;IAAY,QAAO;IACrG,UAAA,kBAAC,QAAD;KAAM,eAAc;KAAQ,gBAAe;KAAQ,aAAY;KAAI,GAAE;IAAoM,CAAA;GACxQ,CAAA;GACL,UAAUa;EACd;EACA;GACI,IAAII,EAAQ;GACZ,OAAOA,EAAQ;GACf,MAAM,kBAAC,OAAD;IAAK,OAAM;IAA6B,WAAU;IAAU,MAAK;IAAO,SAAQ;IAAY,QAAO;IACrG,UAAA,kBAAC,QAAD;KAAM,eAAc;KAAQ,gBAAe;KAAQ,aAAY;KAAI,GAAE;IAA4D,CAAA;GAChI,CAAA;GACL,UAAUD;EACd;EACA;GACI,GAAGM;GACH,MAAM,kBAAC,OAAD;IAAK,OAAM;IAA6B,WAAU;IAAU,MAAK;IAAO,SAAQ;IAAY,QAAO;IACrG,UAAA,kBAAC,QAAD;KAAM,eAAc;KAAQ,gBAAe;KAAQ,aAAY;KAAI,GAAE;IAAgC,CAAA;GACpG,CAAA;EACT;CACJ;CAwBA,OAtBInB,KACAiB,EAAU,KAAK;EACX,IAAIjB,EAAS;EACb,OAAOA,EAAS;EAChB,MAAM,kBAAC,OAAD;GAAK,OAAM;GAA6B,WAAU;GAAU,MAAK;GAAO,SAAQ;GAAY,QAAO;GACrG,UAAA,kBAAC,QAAD;IAAM,eAAc;IAAQ,gBAAe;IAAQ,aAAY;IAAI,GAAE;GAAyQ,CAAA;EAC7U,CAAA;EACL,UAAUY;CACd,CAAC,GAGDI,KACAC,EAAU,KAAK;EACX,IAAID,EAAS;EACb,OAAOA,EAAS;EAChB,MAAM,kBAAC,OAAD;GAAK,OAAM;GAA6B,WAAU;GAAU,MAAK;GAAO,SAAQ;GAAY,QAAO;GACrG,UAAA,kBAAC,QAAD;IAAM,eAAc;IAAQ,gBAAe;IAAQ,aAAY;IAAI,GAAE;GAAiI,CAAA;EACrM,CAAA;EACL,UAAUD;CACd,CAAC,GAGEE;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-code-meta.js","names":[],"sources":["../../src/utils/rehype-code-meta.ts"],"sourcesContent":["import { visit } from 'unist-util-visit';\nimport type { Plugin } from 'unified';\nimport type { Element, Root } from 'hast';\n\n/**\n * Rehype plugin to pass code block metadata to the code element\n * \n * This plugin runs after remark-to-rehype conversion and adds the meta information\n * to the element's properties so it can be accessed in React components\n */\nexport const rehypeCodeMeta: Plugin<[], Root> = () => {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element) => {\n // Find code elements with language class\n if (node.tagName === 'code') {\n const className = node.properties?.className;\n const hasLanguage = Array.isArray(className) &&\n className.some((c: any) => typeof c === 'string' && c.startsWith('language-'));\n\n if (hasLanguage) {\n // Get meta from various sources\n const meta = (node.data as any)?.meta ||\n (node.properties as any)?.meta ||\n (node.properties as any)?.metastring ||\n '';\n\n if (meta) {\n // Add meta to code element's properties\n if (!node.properties) {\n node.properties = {};\n }\n (node.properties as any).dataMeta = meta;\n (node.properties as any)['data-meta'] = meta;\n }\n }\n }\n });\n };\n};\n\n"],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"rehype-code-meta.js","names":["rehypeCodeMeta","tree","node","className","c","meta"],"sources":["../../src/utils/rehype-code-meta.ts"],"sourcesContent":["import { visit } from 'unist-util-visit';\nimport type { Plugin } from 'unified';\nimport type { Element, Root } from 'hast';\n\n/**\n * Rehype plugin to pass code block metadata to the code element\n * \n * This plugin runs after remark-to-rehype conversion and adds the meta information\n * to the element's properties so it can be accessed in React components\n */\nexport const rehypeCodeMeta: Plugin<[], Root> = () => {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element) => {\n // Find code elements with language class\n if (node.tagName === 'code') {\n const className = node.properties?.className;\n const hasLanguage = Array.isArray(className) &&\n className.some((c: any) => typeof c === 'string' && c.startsWith('language-'));\n\n if (hasLanguage) {\n // Get meta from various sources\n const meta = (node.data as any)?.meta ||\n (node.properties as any)?.meta ||\n (node.properties as any)?.metastring ||\n '';\n\n if (meta) {\n // Add meta to code element's properties\n if (!node.properties) {\n node.properties = {};\n }\n (node.properties as any).dataMeta = meta;\n (node.properties as any)['data-meta'] = meta;\n }\n }\n }\n });\n };\n};\n\n"],"mappings":";;AAUA,IAAaA,WACD,MAAe;CACnB,EAAMC,GAAM,YAAY,MAAkB;EAEtC,IAAIC,EAAK,YAAY,QAAQ;GACzB,IAAMC,IAAYD,EAAK,YAAY;GAInC,IAHoB,MAAM,QAAQC,CAAS,KACvCA,EAAU,MAAM,MAAW,OAAOC,KAAM,YAAYA,EAAE,WAAW,WAAW,CAAC,GAEhE;IAEb,IAAMC,IAAQH,EAAK,MAAc,QAC5BA,EAAK,YAAoB,QACzBA,EAAK,YAAoB,cAC1B;IAEJ,AAAIG,MAEA,AACIH,EAAK,eAAa,CAAC,GAEvB,EAAM,WAAmB,WAAWG,GACpC,EAAM,WAAmB,eAAeA;GAEhD;EACJ;CACJ,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-code-meta.js","names":[],"sources":["../../src/utils/remark-code-meta.ts"],"sourcesContent":["import { visit } from 'unist-util-visit';\nimport type { Plugin } from 'unified';\nimport type { Code } from 'mdast';\nimport type { Root } from 'mdast';\n\n/**\n * Remark plugin to extract code block metadata from the info string\n * \n * Example:\n * ```python showLineNumbers startLineNumber=10 {1,3-5}\n * code here\n * ```\n * \n * This will add the metadata to node.data.meta\n */\nexport const remarkCodeMeta: Plugin<[], Root> = () => {\n return (tree: Root) => {\n visit(tree, 'code', (node: Code) => {\n const lang = node.lang || '';\n const meta = node.meta || '';\n\n // 确保 node.data 存在\n if (!node.data) {\n node.data = {};\n }\n\n // 将 meta 信息存储到 node.data\n (node.data as any).meta = meta;\n (node.data as any).lang = lang;\n\n // 关键:将 meta 存储到 hProperties 中,这样它会被传递到 rehype/HTML\n if (meta) {\n if (!(node.data as any).hProperties) {\n (node.data as any).hProperties = {};\n }\n (node.data as any).hProperties.dataMeta = meta;\n (node.data as any).hProperties['data-meta'] = meta;\n }\n });\n };\n};\n\n"],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"remark-code-meta.js","names":["remarkCodeMeta","tree","lang","node","meta"],"sources":["../../src/utils/remark-code-meta.ts"],"sourcesContent":["import { visit } from 'unist-util-visit';\nimport type { Plugin } from 'unified';\nimport type { Code } from 'mdast';\nimport type { Root } from 'mdast';\n\n/**\n * Remark plugin to extract code block metadata from the info string\n * \n * Example:\n * ```python showLineNumbers startLineNumber=10 {1,3-5}\n * code here\n * ```\n * \n * This will add the metadata to node.data.meta\n */\nexport const remarkCodeMeta: Plugin<[], Root> = () => {\n return (tree: Root) => {\n visit(tree, 'code', (node: Code) => {\n const lang = node.lang || '';\n const meta = node.meta || '';\n\n // 确保 node.data 存在\n if (!node.data) {\n node.data = {};\n }\n\n // 将 meta 信息存储到 node.data\n (node.data as any).meta = meta;\n (node.data as any).lang = lang;\n\n // 关键:将 meta 存储到 hProperties 中,这样它会被传递到 rehype/HTML\n if (meta) {\n if (!(node.data as any).hProperties) {\n (node.data as any).hProperties = {};\n }\n (node.data as any).hProperties.dataMeta = meta;\n (node.data as any).hProperties['data-meta'] = meta;\n }\n });\n };\n};\n\n"],"mappings":";;AAeA,IAAaA,WACD,MAAe;CACnB,EAAMC,GAAM,SAAS,MAAe;EAChC,IAAMC,IAAOC,EAAK,QAAQ,IACpBC,IAAOD,EAAK,QAAQ;EAY1B,AATA,AACIA,EAAK,SAAO,CAAC,GAIjB,EAAM,KAAa,OAAOC,GAC1B,EAAM,KAAa,OAAOF,GAGtBE,MACMD,EAAK,KAAa,gBACpB,EAAM,KAAa,cAAc,CAAC,IAEtC,EAAM,KAAa,YAAY,WAAWC,GAC1C,EAAM,KAAa,YAAY,eAAeA;CAEtD,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routerBuilder.js","names":[],"sources":["../../src/utils/routerBuilder.tsx"],"sourcesContent":["import React from 'react';\nimport {\n createRouter,\n createRootRoute,\n createRoute,\n RootRoute,\n AnyRoute,\n RouteComponent,\n} from '@tanstack/react-router';\n\n/**\n * 路由配置接口\n */\nexport interface RouteConfig {\n /** 路由路径(与 id 二选一,优先使用 path) */\n path?: string;\n /** 路由组件 */\n component?: RouteComponent;\n /** 子路由配置 */\n children?: RouteConfig[];\n /** 路由 ID(仅用于无路径的布局路由,不能与 path 同时使用) */\n id?: string;\n /** Native TanStack guard. Throw redirect(...) or an error to stop this route's loaders. */\n beforeLoad?: AnyRoute['options']['beforeLoad'];\n loader?: AnyRoute['options']['loader'];\n}\n\n/**\n * 路由构建器配置\n */\nexport interface RouterBuilderConfig {\n /** 路由配置数组 */\n routes: RouteConfig[];\n /** 根路由组件,默认使用 AppLayoutWrapper */\n rootComponent?: RouteComponent;\n /** 路由基础路径,部署在子路径时使用(如 '/dish-ui') */\n basepath?: string;\n /** 自定义 404 组件 */\n notFoundComponent?: RouteComponent;\n /** Runs before descendant loaders, including preloads. Must allow public/login routes explicitly. */\n beforeLoad?: AnyRoute['options']['beforeLoad'];\n}\n\n/**\n * 递归创建路由树\n * @param config 路由配置\n * @param parentRoute 父路由\n * @returns 带有子路由的当前路由\n */\nfunction createRoutesRecursive(\n config: RouteConfig,\n parentRoute: RootRoute | AnyRoute\n): AnyRoute {\n\n // 创建当前路由\n // 注意:TanStack Router 不允许同时设置 id 和 path\n // id 只用于无路径的布局路由\n const routeOptions: any = {\n getParentRoute: () => parentRoute,\n component: config.component,\n beforeLoad: config.beforeLoad,\n loader: config.loader,\n };\n\n // 如果有 path,使用 path;否则使用 id(用于布局路由)\n if (config.path) {\n routeOptions.path = config.path;\n } else if (config.id) {\n routeOptions.id = config.id;\n }\n\n const currentRoute = createRoute(routeOptions);\n\n // Keep the actual hierarchy so pathless/layout guards and context reach descendants.\n if (config.children && config.children.length > 0) {\n currentRoute.addChildren(config.children.map(childConfig => createRoutesRecursive(childConfig, currentRoute)));\n }\n\n return currentRoute;\n}\n\n/**\n * 构建路由器\n * @param config 路由构建器配置\n * @returns TanStack Router 实例\n */\nexport function buildRouter(config: RouterBuilderConfig) {\n const rootRoute = createRootRoute({\n component: config.rootComponent,\n beforeLoad: config.beforeLoad,\n notFoundComponent: config.notFoundComponent ?? DefaultNotFound,\n });\n\n const routeTree = rootRoute.addChildren(config.routes.map(routeConfig => createRoutesRecursive(routeConfig, rootRoute)));\n\n const router = createRouter({\n routeTree,\n basepath: config.basepath,\n defaultNotFoundComponent: config.notFoundComponent ?? DefaultNotFound,\n });\n\n return router;\n}\n\nfunction DefaultNotFound() {\n return (\n <div style={{ textAlign: 'center', padding: '4rem 1rem' }}>\n <h1 style={{ fontSize: '3rem', fontWeight: 700, margin: 0 }}>404</h1>\n <p style={{ color: '#666', marginTop: '0.5rem' }}>Page not found</p>\n </div>\n );\n}\n\n/**\n * 从扁平路由配置创建路由器(简化版)\n * @param routes 路由配置数组\n * @param rootComponent 根路由组件\n * @returns TanStack Router 实例\n */\nexport function createRouterFromConfig(\n routes: RouteConfig[],\n rootComponent?: RouteComponent,\n options?: Pick<RouterBuilderConfig, 'basepath' | 'notFoundComponent' | 'beforeLoad'>\n) {\n return buildRouter({\n routes,\n rootComponent,\n basepath: options?.basepath,\n beforeLoad: options?.beforeLoad,\n notFoundComponent: options?.notFoundComponent,\n });\n}\n\n"],"mappings":";;;;AAiDA,
|
|
1
|
+
{"version":3,"file":"routerBuilder.js","names":["createRoutesRecursive","routeOptions","parentRoute","config","currentRoute","createRoute","childConfig","buildRouter","rootRoute","createRootRoute","DefaultNotFound","routeTree","routeConfig","createRouter","createRouterFromConfig","options"],"sources":["../../src/utils/routerBuilder.tsx"],"sourcesContent":["import React from 'react';\nimport {\n createRouter,\n createRootRoute,\n createRoute,\n RootRoute,\n AnyRoute,\n RouteComponent,\n} from '@tanstack/react-router';\n\n/**\n * 路由配置接口\n */\nexport interface RouteConfig {\n /** 路由路径(与 id 二选一,优先使用 path) */\n path?: string;\n /** 路由组件 */\n component?: RouteComponent;\n /** 子路由配置 */\n children?: RouteConfig[];\n /** 路由 ID(仅用于无路径的布局路由,不能与 path 同时使用) */\n id?: string;\n /** Native TanStack guard. Throw redirect(...) or an error to stop this route's loaders. */\n beforeLoad?: AnyRoute['options']['beforeLoad'];\n loader?: AnyRoute['options']['loader'];\n}\n\n/**\n * 路由构建器配置\n */\nexport interface RouterBuilderConfig {\n /** 路由配置数组 */\n routes: RouteConfig[];\n /** 根路由组件,默认使用 AppLayoutWrapper */\n rootComponent?: RouteComponent;\n /** 路由基础路径,部署在子路径时使用(如 '/dish-ui') */\n basepath?: string;\n /** 自定义 404 组件 */\n notFoundComponent?: RouteComponent;\n /** Runs before descendant loaders, including preloads. Must allow public/login routes explicitly. */\n beforeLoad?: AnyRoute['options']['beforeLoad'];\n}\n\n/**\n * 递归创建路由树\n * @param config 路由配置\n * @param parentRoute 父路由\n * @returns 带有子路由的当前路由\n */\nfunction createRoutesRecursive(\n config: RouteConfig,\n parentRoute: RootRoute | AnyRoute\n): AnyRoute {\n\n // 创建当前路由\n // 注意:TanStack Router 不允许同时设置 id 和 path\n // id 只用于无路径的布局路由\n const routeOptions: any = {\n getParentRoute: () => parentRoute,\n component: config.component,\n beforeLoad: config.beforeLoad,\n loader: config.loader,\n };\n\n // 如果有 path,使用 path;否则使用 id(用于布局路由)\n if (config.path) {\n routeOptions.path = config.path;\n } else if (config.id) {\n routeOptions.id = config.id;\n }\n\n const currentRoute = createRoute(routeOptions);\n\n // Keep the actual hierarchy so pathless/layout guards and context reach descendants.\n if (config.children && config.children.length > 0) {\n currentRoute.addChildren(config.children.map(childConfig => createRoutesRecursive(childConfig, currentRoute)));\n }\n\n return currentRoute;\n}\n\n/**\n * 构建路由器\n * @param config 路由构建器配置\n * @returns TanStack Router 实例\n */\nexport function buildRouter(config: RouterBuilderConfig) {\n const rootRoute = createRootRoute({\n component: config.rootComponent,\n beforeLoad: config.beforeLoad,\n notFoundComponent: config.notFoundComponent ?? DefaultNotFound,\n });\n\n const routeTree = rootRoute.addChildren(config.routes.map(routeConfig => createRoutesRecursive(routeConfig, rootRoute)));\n\n const router = createRouter({\n routeTree,\n basepath: config.basepath,\n defaultNotFoundComponent: config.notFoundComponent ?? DefaultNotFound,\n });\n\n return router;\n}\n\nfunction DefaultNotFound() {\n return (\n <div style={{ textAlign: 'center', padding: '4rem 1rem' }}>\n <h1 style={{ fontSize: '3rem', fontWeight: 700, margin: 0 }}>404</h1>\n <p style={{ color: '#666', marginTop: '0.5rem' }}>Page not found</p>\n </div>\n );\n}\n\n/**\n * 从扁平路由配置创建路由器(简化版)\n * @param routes 路由配置数组\n * @param rootComponent 根路由组件\n * @returns TanStack Router 实例\n */\nexport function createRouterFromConfig(\n routes: RouteConfig[],\n rootComponent?: RouteComponent,\n options?: Pick<RouterBuilderConfig, 'basepath' | 'notFoundComponent' | 'beforeLoad'>\n) {\n return buildRouter({\n routes,\n rootComponent,\n basepath: options?.basepath,\n beforeLoad: options?.beforeLoad,\n notFoundComponent: options?.notFoundComponent,\n });\n}\n\n"],"mappings":";;;;AAiDA,SAASA,EACL,GACA,GACQ;CAKR,IAAMC,IAAoB;EACtB,sBAAsBC;EACtB,WAAWC,EAAO;EAClB,YAAYA,EAAO;EACnB,QAAQA,EAAO;CACnB;CAGA,AAAIA,EAAO,OACP,EAAa,OAAOA,EAAO,OACpBA,EAAO,OACd,EAAa,KAAKA,EAAO;CAG7B,IAAMC,IAAeC,EAAYJ,CAAY;CAO7C,OAJIE,EAAO,YAAYA,EAAO,SAAS,SAAS,KAC5CC,EAAa,YAAYD,EAAO,SAAS,KAAI,MAAeH,EAAsBM,GAAaF,CAAY,CAAC,CAAC,GAG1GA;AACX;AAOA,SAAgBG,EAAY,GAA6B;CACrD,IAAMC,IAAYC,EAAgB;EAC9B,WAAWN,EAAO;EAClB,YAAYA,EAAO;EACnB,mBAAmBA,EAAO,qBAAqBO;CACnD,CAAC,GAEKC,IAAYH,EAAU,YAAYL,EAAO,OAAO,KAAI,MAAeH,EAAsBY,GAAaJ,CAAS,CAAC,CAAC;CAQvH,OANeK,EAAa;EACxB;EACA,UAAUV,EAAO;EACjB,0BAA0BA,EAAO,qBAAqBO;CAC1D,CAEO;AACX;AAEA,SAASA,IAAkB;CACvB,OACI,kBAAC,OAAD;EAAK,OAAO;GAAE,WAAW;GAAU,SAAS;EAAY;EAAxD,UAAA,CACI,kBAAC,MAAD;GAAI,OAAO;IAAE,UAAU;IAAQ,YAAY;IAAK,QAAQ;GAAE;GAAG,UAAA;EAAO,CAAA,GACpE,kBAAC,KAAD;GAAG,OAAO;IAAE,OAAO;IAAQ,WAAW;GAAS;GAAG,UAAA;EAAiB,CAAA,CAClE;;AAEb;AAQA,SAAgBI,EACZ,GACA,GACA,GACF;CACE,OAAOP,EAAY;EACf;EACA;EACA,UAAUQ,GAAS;EACnB,YAAYA,GAAS;EACrB,mBAAmBA,GAAS;CAChC,CAAC;AACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeStorage.js","names":[],"sources":["../../src/utils/safeStorage.ts"],"sourcesContent":["/** Best-effort persistence: unavailable/blocked storage must not break in-memory UI state. */\nexport const safeStorage = {\n getItem(key: string): string | null {\n try {\n return typeof window === 'undefined' ? null : window.localStorage.getItem(key);\n } catch {\n return null;\n }\n },\n setItem(key: string, value: string): boolean {\n try {\n if (typeof window === 'undefined') return false;\n window.localStorage.setItem(key, value);\n return true;\n } catch {\n return false;\n }\n },\n removeItem(key: string): boolean {\n try {\n if (typeof window === 'undefined') return false;\n window.localStorage.removeItem(key);\n return true;\n } catch {\n return false;\n }\n },\n};\n\nexport function readStoredJSON<T>(key: string, isValid: (value: unknown) => value is T, fallback: T): T {\n const saved = safeStorage.getItem(key);\n if (saved === null) return fallback;\n try {\n const value: unknown = JSON.parse(saved);\n if (isValid(value)) return value;\n } catch {\n // Treat malformed data and validator failures just like a missing preference.\n }\n safeStorage.removeItem(key);\n return fallback;\n}\n\nexport function writeStoredJSON(key: string, value: unknown): boolean {\n try {\n const serialized = JSON.stringify(value);\n return serialized !== undefined && safeStorage.setItem(key, serialized);\n } catch {\n return false;\n }\n}\n"],"mappings":";AACA,
|
|
1
|
+
{"version":3,"file":"safeStorage.js","names":["safeStorage","key","value","readStoredJSON","saved","fallback","isValid","writeStoredJSON","serialized"],"sources":["../../src/utils/safeStorage.ts"],"sourcesContent":["/** Best-effort persistence: unavailable/blocked storage must not break in-memory UI state. */\nexport const safeStorage = {\n getItem(key: string): string | null {\n try {\n return typeof window === 'undefined' ? null : window.localStorage.getItem(key);\n } catch {\n return null;\n }\n },\n setItem(key: string, value: string): boolean {\n try {\n if (typeof window === 'undefined') return false;\n window.localStorage.setItem(key, value);\n return true;\n } catch {\n return false;\n }\n },\n removeItem(key: string): boolean {\n try {\n if (typeof window === 'undefined') return false;\n window.localStorage.removeItem(key);\n return true;\n } catch {\n return false;\n }\n },\n};\n\nexport function readStoredJSON<T>(key: string, isValid: (value: unknown) => value is T, fallback: T): T {\n const saved = safeStorage.getItem(key);\n if (saved === null) return fallback;\n try {\n const value: unknown = JSON.parse(saved);\n if (isValid(value)) return value;\n } catch {\n // Treat malformed data and validator failures just like a missing preference.\n }\n safeStorage.removeItem(key);\n return fallback;\n}\n\nexport function writeStoredJSON(key: string, value: unknown): boolean {\n try {\n const serialized = JSON.stringify(value);\n return serialized !== undefined && safeStorage.setItem(key, serialized);\n } catch {\n return false;\n }\n}\n"],"mappings":";AACA,IAAaA,IAAc;CACzB,QAAQ,GAA4B;EAClC,IAAI;GACF,OAAO,OAAO,SAAW,MAAc,OAAO,OAAO,aAAa,QAAQC,CAAG;EAC/E,QAAQ;GACN,OAAO;EACT;CACF;CACA,QAAQ,GAAa,GAAwB;EAC3C,IAAI;GAGF,OAFI,OAAO,SAAW,MAAoB,MAC1C,OAAO,aAAa,QAAQA,GAAKC,CAAK,GAC/B;EACT,QAAQ;GACN,OAAO;EACT;CACF;CACA,WAAW,GAAsB;EAC/B,IAAI;GAGF,OAFI,OAAO,SAAW,MAAoB,MAC1C,OAAO,aAAa,WAAWD,CAAG,GAC3B;EACT,QAAQ;GACN,OAAO;EACT;CACF;AACF;AAEA,SAAgBE,EAAkB,GAAa,GAAyC,GAAgB;CACtG,IAAMC,IAAQJ,EAAY,QAAQC,CAAG;CACrC,IAAIG,MAAU,MAAM,OAAOC;CAC3B,IAAI;EACF,IAAMH,IAAiB,KAAK,MAAME,CAAK;EACvC,IAAIE,EAAQJ,CAAK,GAAG,OAAOA;CAC7B,QAAQ,CAER;CAEA,OADAF,EAAY,WAAWC,CAAG,GACnBI;AACT;AAEA,SAAgBE,EAAgB,GAAa,GAAyB;CACpE,IAAI;EACF,IAAMC,IAAa,KAAK,UAAUN,CAAK;EACvC,OAAOM,MAAe,KAAA,KAAaR,EAAY,QAAQC,GAAKO,CAAU;CACxE,QAAQ;EACN,OAAO;CACT;AACF"}
|
package/dist/utils/selection.js
CHANGED
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
//#region src/utils/selection.ts
|
|
2
|
-
function e(e) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
if (!t) return !0;
|
|
4
|
+
let n = e.getRangeAt(0);
|
|
5
|
+
return t.contains(n.startContainer) && t.contains(n.endContainer);
|
|
6
|
+
}
|
|
7
|
+
function t(t) {
|
|
8
|
+
let n = window.getSelection();
|
|
9
|
+
if (!n || n.rangeCount === 0 || n.toString().trim() === "" || !e(n, t)) return;
|
|
10
|
+
let r = n.getRangeAt(0), i = n.toString();
|
|
11
|
+
if (!t) return {
|
|
12
|
+
text: i,
|
|
8
13
|
startLine: 0,
|
|
9
14
|
endLine: 0,
|
|
10
|
-
startOffset:
|
|
11
|
-
endOffset:
|
|
15
|
+
startOffset: r.startOffset,
|
|
16
|
+
endOffset: r.endOffset
|
|
12
17
|
};
|
|
13
|
-
let
|
|
18
|
+
let a = r.cloneRange();
|
|
19
|
+
a.selectNodeContents(t), a.setEnd(r.startContainer, r.startOffset);
|
|
20
|
+
let o = a.cloneContents().textContent || "", s = o.length;
|
|
21
|
+
a.setEnd(r.endContainer, r.endOffset);
|
|
22
|
+
let c = (a.cloneContents().textContent || "").length, l = t.textContent?.substring(s, c) || "", u = (o.match(/\n/g) || []).length + 1;
|
|
14
23
|
return {
|
|
15
|
-
text:
|
|
16
|
-
startLine:
|
|
17
|
-
endLine:
|
|
18
|
-
startOffset:
|
|
19
|
-
endOffset:
|
|
24
|
+
text: i,
|
|
25
|
+
startLine: u,
|
|
26
|
+
endLine: u + (l.match(/\n/g) || []).length,
|
|
27
|
+
startOffset: s,
|
|
28
|
+
endOffset: c
|
|
20
29
|
};
|
|
21
30
|
}
|
|
22
|
-
function t
|
|
23
|
-
if (
|
|
24
|
-
let
|
|
25
|
-
if (
|
|
31
|
+
function n(t, n = !1) {
|
|
32
|
+
if (n) {
|
|
33
|
+
let n = window.getSelection();
|
|
34
|
+
if (n && n.rangeCount > 0 && n.toString().trim() !== "" && e(n, t)) return n.toString();
|
|
26
35
|
}
|
|
27
|
-
return
|
|
36
|
+
return t?.textContent || "";
|
|
28
37
|
}
|
|
29
38
|
//#endregion
|
|
30
|
-
export {
|
|
39
|
+
export { n as getMarkdownContent, t as getSelectionInfo };
|
|
31
40
|
|
|
32
41
|
//# sourceMappingURL=selection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","names":[],"sources":["../../src/utils/selection.ts"],"sourcesContent":["/**\n * 选中内容信息\n *\n * 提取自 ArticleControl 和 ArticleContextMenu 中重复的类型定义\n */\nexport interface SelectionInfo {\n text: string;\n startLine: number;\n endLine: number;\n startOffset: number;\n endOffset: number;\n}\n\n/**\n * 获取当前浏览器选中内容的详细信息\n *\n * @param container - 用于计算行号的参考容器元素\n * @returns 选中内容信息,如果没有选中则返回 undefined\n */\nexport function getSelectionInfo(container: HTMLElement | null): SelectionInfo | undefined {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0 || selection.toString().trim() === '') {\n return undefined;\n }\n\n const range = selection.getRangeAt(0);\n const text = selection.toString();\n\n if (!container) {\n return {\n text,\n startLine: 0,\n endLine: 0,\n startOffset: range.startOffset,\n endOffset: range.endOffset,\n };\n }\n\n //
|
|
1
|
+
{"version":3,"file":"selection.js","names":["isSelectionInside","container","range","selection","getSelectionInfo","text","prefix","beforeText","startOffset","endOffset","selectedText","startLine","getMarkdownContent","preferSelection"],"sources":["../../src/utils/selection.ts"],"sourcesContent":["/**\n * 选中内容信息\n *\n * 提取自 ArticleControl 和 ArticleContextMenu 中重复的类型定义\n */\nexport interface SelectionInfo {\n text: string;\n startLine: number;\n endLine: number;\n startOffset: number;\n endOffset: number;\n}\n\nfunction isSelectionInside(selection: Selection, container: HTMLElement | null): boolean {\n if (!container) return true;\n const range = selection.getRangeAt(0);\n return container.contains(range.startContainer) && container.contains(range.endContainer);\n}\n\n/**\n * 获取当前浏览器选中内容的详细信息\n *\n * @param container - 用于计算行号的参考容器元素\n * @returns 选中内容信息,如果没有选中则返回 undefined\n */\nexport function getSelectionInfo(container: HTMLElement | null): SelectionInfo | undefined {\n const selection = window.getSelection();\n if (!selection || selection.rangeCount === 0 || selection.toString().trim() === '' || !isSelectionInside(selection, container)) {\n return undefined;\n }\n\n const range = selection.getRangeAt(0);\n const text = selection.toString();\n\n if (!container) {\n return {\n text,\n startLine: 0,\n endLine: 0,\n startOffset: range.startOffset,\n endOffset: range.endOffset,\n };\n }\n\n // Range offsets are relative to their boundary nodes; count text from the container instead.\n const prefix = range.cloneRange();\n prefix.selectNodeContents(container);\n prefix.setEnd(range.startContainer, range.startOffset);\n const beforeText = prefix.cloneContents().textContent || '';\n const startOffset = beforeText.length;\n prefix.setEnd(range.endContainer, range.endOffset);\n const endOffset = (prefix.cloneContents().textContent || '').length;\n const selectedText = container.textContent?.substring(startOffset, endOffset) || '';\n const startLine = (beforeText.match(/\\n/g) || []).length + 1;\n const endLine = startLine + (selectedText.match(/\\n/g) || []).length;\n\n return {\n text,\n startLine,\n endLine,\n startOffset,\n endOffset,\n };\n}\n\n/**\n * 获取容器的文本内容,优先返回用户选中的文本\n *\n * @param container - 内容容器元素\n * @param preferSelection - 是否优先返回选中文本(默认 false)\n * @returns 文本内容\n */\nexport function getMarkdownContent(\n container: HTMLElement | null,\n preferSelection: boolean = false\n): string {\n if (preferSelection) {\n const selection = window.getSelection();\n if (selection && selection.rangeCount > 0 && selection.toString().trim() !== '' && isSelectionInside(selection, container)) {\n return selection.toString();\n }\n }\n\n return container?.textContent || '';\n}\n"],"mappings":";AAaA,SAASA,EAAkB,GAAsB,GAAwC;CACrF,IAAI,CAACC,GAAW,OAAO;CACvB,IAAMC,IAAQC,EAAU,WAAW,CAAC;CACpC,OAAOF,EAAU,SAASC,EAAM,cAAc,KAAKD,EAAU,SAASC,EAAM,YAAY;AAC5F;AAQA,SAAgBE,EAAiB,GAA0D;CACvF,IAAMD,IAAY,OAAO,aAAa;CACtC,IAAI,CAACA,KAAaA,EAAU,eAAe,KAAKA,EAAU,SAAS,CAAC,CAAC,KAAK,MAAM,MAAM,CAACH,EAAkBG,GAAWF,CAAS,GACzH;CAGJ,IAAMC,IAAQC,EAAU,WAAW,CAAC,GAC9BE,IAAOF,EAAU,SAAS;CAEhC,IAAI,CAACF,GACD,OAAO;EACH;EACA,WAAW;EACX,SAAS;EACT,aAAaC,EAAM;EACnB,WAAWA,EAAM;CACrB;CAIJ,IAAMI,IAASJ,EAAM,WAAW;CAEhC,AADAI,EAAO,mBAAmBL,CAAS,GACnCK,EAAO,OAAOJ,EAAM,gBAAgBA,EAAM,WAAW;CACrD,IAAMK,IAAaD,EAAO,cAAc,CAAC,CAAC,eAAe,IACnDE,IAAcD,EAAW;CAC/B,EAAO,OAAOL,EAAM,cAAcA,EAAM,SAAS;CACjD,IAAMO,KAAaH,EAAO,cAAc,CAAC,CAAC,eAAe,GAAA,CAAI,QACvDI,IAAeT,EAAU,aAAa,UAAUO,GAAaC,CAAS,KAAK,IAC3EE,KAAaJ,EAAW,MAAM,KAAK,KAAK,CAAC,EAAA,CAAG,SAAS;CAG3D,OAAO;EACH;EACA;EACA,SALYI,KAAaD,EAAa,MAAM,KAAK,KAAK,CAAC,EAAA,CAAG;EAM1D;EACA;CACJ;AACJ;AASA,SAAgBE,EACZ,GACA,IAA2B,IACrB;CACN,IAAIC,GAAiB;EACjB,IAAMV,IAAY,OAAO,aAAa;EACtC,IAAIA,KAAaA,EAAU,aAAa,KAAKA,EAAU,SAAS,CAAC,CAAC,KAAK,MAAM,MAAMH,EAAkBG,GAAWF,CAAS,GACrH,OAAOE,EAAU,SAAS;CAElC;CAEA,OAAOF,GAAW,eAAe;AACrC"}
|
package/dist/utils/themes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","names":[],"sources":["../../src/utils/themes.tsx"],"sourcesContent":["// 主题配置\nimport React from 'react';\nimport { ThemeType } from '../contexts/AppContext';\n\n// 定义主题配置类型\nexport type ThemeConfig = {\n id: ThemeType;\n name: { zh: string; en: string };\n icon: React.ReactNode;\n};\n\n// 默认主题配置\nexport const getThemes = (): ThemeConfig[] => {\n return [\n {\n id: 'light',\n name: { zh: '明亮', en: 'Light' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\" />\n </svg>\n ),\n },\n {\n id: 'dark',\n name: { zh: '暗黑', en: 'Dark' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\" />\n </svg>\n ),\n },\n {\n id: 'cursor',\n name: { zh: '光标', en: 'Cursor' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'retro',\n name: { zh: '复古', en: 'Retro' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'cyberpunk',\n name: { zh: '赛博朋克', en: 'CyberPunk' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z\" />\n </svg>\n ),\n },\n {\n id: 'matrix',\n name: { zh: '黑客帝国', en: 'Matrix' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'oceanblue',\n name: { zh: '海洋蓝', en: 'OceanBlue' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5\" />\n </svg>\n ),\n },\n {\n id: 'eyecare',\n name: { zh: '护眼', en: 'EyeCare' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\" />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\" />\n </svg>\n ),\n },\n {\n id: 'ghibli',\n name: { zh: '吉卜力', en: 'Ghibli' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z\" />\n </svg>\n ),\n },\n {\n id: 'pinkgirl',\n name: { zh: '粉红少女心', en: 'Pink Girl' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\" />\n </svg>\n ),\n },\n {\n id: 'mintgirl',\n name: { zh: '薄荷少女心', en: 'Mint Girl' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\" />\n </svg>\n ),\n },\n {\n id: 'wuxing',\n name: { zh: '五行', en: 'WuXing' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" strokeWidth=\"1.5\" />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.5\" d=\"M12 3v18M3 12h18M6.34 6.34l11.32 11.32M17.66 6.34L6.34 17.66\" />\n </svg>\n ),\n },\n {\n id: 'jukebox',\n name: { zh: '音乐盒', en: 'Jukebox' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3\" />\n </svg>\n ),\n },\n ];\n};\n\n"],"mappings":";;;AAYA,
|
|
1
|
+
{"version":3,"file":"themes.js","names":["getThemes"],"sources":["../../src/utils/themes.tsx"],"sourcesContent":["// 主题配置\nimport React from 'react';\nimport { ThemeType } from '../contexts/AppContext';\n\n// 定义主题配置类型\nexport type ThemeConfig = {\n id: ThemeType;\n name: { zh: string; en: string };\n icon: React.ReactNode;\n};\n\n// 默认主题配置\nexport const getThemes = (): ThemeConfig[] => {\n return [\n {\n id: 'light',\n name: { zh: '明亮', en: 'Light' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\" />\n </svg>\n ),\n },\n {\n id: 'dark',\n name: { zh: '暗黑', en: 'Dark' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\" />\n </svg>\n ),\n },\n {\n id: 'cursor',\n name: { zh: '光标', en: 'Cursor' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'retro',\n name: { zh: '复古', en: 'Retro' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'cyberpunk',\n name: { zh: '赛博朋克', en: 'CyberPunk' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z\" />\n </svg>\n ),\n },\n {\n id: 'matrix',\n name: { zh: '黑客帝国', en: 'Matrix' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n </svg>\n ),\n },\n {\n id: 'oceanblue',\n name: { zh: '海洋蓝', en: 'OceanBlue' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5\" />\n </svg>\n ),\n },\n {\n id: 'eyecare',\n name: { zh: '护眼', en: 'EyeCare' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\" />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\" />\n </svg>\n ),\n },\n {\n id: 'ghibli',\n name: { zh: '吉卜力', en: 'Ghibli' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z\" />\n </svg>\n ),\n },\n {\n id: 'pinkgirl',\n name: { zh: '粉红少女心', en: 'Pink Girl' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\" />\n </svg>\n ),\n },\n {\n id: 'mintgirl',\n name: { zh: '薄荷少女心', en: 'Mint Girl' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\" />\n </svg>\n ),\n },\n {\n id: 'wuxing',\n name: { zh: '五行', en: 'WuXing' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" strokeWidth=\"1.5\" />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"1.5\" d=\"M12 3v18M3 12h18M6.34 6.34l11.32 11.32M17.66 6.34L6.34 17.66\" />\n </svg>\n ),\n },\n {\n id: 'jukebox',\n name: { zh: '音乐盒', en: 'Jukebox' },\n icon: (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-5 w-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3\" />\n </svg>\n ),\n },\n ];\n};\n\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dishui",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.110",
|
|
4
|
+
"description": "AI Native UI Components Framework inspired by Dishui Lake",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.12.0",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -48,6 +48,10 @@
|
|
|
48
48
|
"types": "./dist/components/pro/DataTable/index.d.ts",
|
|
49
49
|
"import": "./dist/data-table.js"
|
|
50
50
|
},
|
|
51
|
+
"./sprite": {
|
|
52
|
+
"types": "./dist/components/pro/Sprite/index.d.ts",
|
|
53
|
+
"import": "./dist/sprite.js"
|
|
54
|
+
},
|
|
51
55
|
"./chart": {
|
|
52
56
|
"types": "./dist/components/Chart/index.d.ts",
|
|
53
57
|
"import": "./dist/chart.js"
|
|
@@ -130,12 +134,12 @@
|
|
|
130
134
|
},
|
|
131
135
|
"devDependencies": {
|
|
132
136
|
"@tailwindcss/postcss": "^4.3.3",
|
|
133
|
-
"@tanstack/react-router": "^1.170.
|
|
137
|
+
"@tanstack/react-router": "^1.170.40",
|
|
134
138
|
"@types/d3-geo": "^3.1.1",
|
|
135
139
|
"@types/d3-scale": "^4.0.9",
|
|
136
140
|
"@types/d3-shape": "^3.2.0",
|
|
137
141
|
"@types/d3-time": "^3.0.4",
|
|
138
|
-
"@types/node": "^26.6.
|
|
142
|
+
"@types/node": "^26.6.3",
|
|
139
143
|
"@types/react": "^19.3.0",
|
|
140
144
|
"@types/react-dom": "^19.3.0",
|
|
141
145
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
@@ -146,9 +150,9 @@
|
|
|
146
150
|
"d3-scale": "4.0.2",
|
|
147
151
|
"d3-shape": "3.2.0",
|
|
148
152
|
"d3-time": "3.1.0",
|
|
149
|
-
"daisyui": "^5.7.
|
|
153
|
+
"daisyui": "^5.7.46",
|
|
150
154
|
"esbuild": "0.28.2",
|
|
151
|
-
"oxlint": "^1.
|
|
155
|
+
"oxlint": "^1.86.0",
|
|
152
156
|
"playwright-core": "1.63.0",
|
|
153
157
|
"postcss": "^8.5.28",
|
|
154
158
|
"react": "^19.3.0",
|
|
@@ -157,7 +161,7 @@
|
|
|
157
161
|
"tailwindcss": "^4.3.3",
|
|
158
162
|
"tslib": "^2.8.1",
|
|
159
163
|
"typescript": "^7.0.2",
|
|
160
|
-
"vite": "^8.3.
|
|
164
|
+
"vite": "^8.3.1"
|
|
161
165
|
},
|
|
162
166
|
"dependencies": {
|
|
163
167
|
"@codemirror/autocomplete": "^6.20.3",
|
|
@@ -175,13 +179,13 @@
|
|
|
175
179
|
"@codemirror/state": "^6.7.6",
|
|
176
180
|
"@codemirror/theme-one-dark": "^6.1.3",
|
|
177
181
|
"@codemirror/view": "^6.43.13",
|
|
178
|
-
"@lezer/highlight": "^1.2.
|
|
182
|
+
"@lezer/highlight": "^1.2.5",
|
|
179
183
|
"@tailwindcss/vite": "^4.3.3",
|
|
180
184
|
"@tanstack/charts": "0.18.0",
|
|
181
185
|
"@tanstack/history": "^1.162.4",
|
|
182
186
|
"@tanstack/react-charts": "^0.18.0",
|
|
183
187
|
"@tanstack/react-table": "^9.2.4",
|
|
184
|
-
"@tanstack/router-core": "^1.171.
|
|
188
|
+
"@tanstack/router-core": "^1.171.33",
|
|
185
189
|
"@tanstack/table-core": "^9.2.4",
|
|
186
190
|
"@tiptap/core": "^3.31.3",
|
|
187
191
|
"@tiptap/extension-color": "^3.31.3",
|
|
@@ -208,7 +212,7 @@
|
|
|
208
212
|
"@types/hast": "^3.0.5",
|
|
209
213
|
"@types/mdast": "^4.0.4",
|
|
210
214
|
"fflate": "^0.8.3",
|
|
211
|
-
"katex": "^0.18.
|
|
215
|
+
"katex": "^0.18.9",
|
|
212
216
|
"markmap-lib": "^0.18.12",
|
|
213
217
|
"markmap-view": "^0.18.12",
|
|
214
218
|
"mermaid": "^12.0.0",
|
|
@@ -221,7 +225,7 @@
|
|
|
221
225
|
"remark-emoji": "^5.0.2",
|
|
222
226
|
"remark-gfm": "^4.0.1",
|
|
223
227
|
"remark-math": "^6.0.0",
|
|
224
|
-
"three": "^0.186.
|
|
228
|
+
"three": "^0.186.1",
|
|
225
229
|
"topojson-client": "^3.1.0",
|
|
226
230
|
"unified": "^11.0.5",
|
|
227
231
|
"unist-util-visit": "^5.1.0",
|