dishui 0.0.65 → 0.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +10 -11
- package/dist/chart.js +12 -46
- package/dist/code-editor.js +16 -43
- package/dist/components/Accordion/index.d.ts +39 -0
- package/dist/components/Accordion/index.js +70 -0
- package/dist/components/Accordion/index.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +48 -0
- package/dist/components/Avatar/index.js +71 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Badge/index.js +10 -15
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/Button/index.js +62 -89
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Card/index.d.ts +142 -0
- package/dist/components/Card/index.js +368 -69
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Chart/Chart.js +25 -25
- package/dist/components/Chart/Chart.js.map +1 -1
- package/dist/components/Checkbox/index.js +57 -65
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/ChoicePicker/index.d.ts +44 -0
- package/dist/components/ChoicePicker/index.js +81 -0
- package/dist/components/ChoicePicker/index.js.map +1 -0
- package/dist/components/Column/index.d.ts +28 -0
- package/dist/components/Column/index.js +30 -0
- package/dist/components/Column/index.js.map +1 -0
- package/dist/components/DateTimeInput/index.d.ts +44 -0
- package/dist/components/DateTimeInput/index.js +48 -0
- package/dist/components/DateTimeInput/index.js.map +1 -0
- package/dist/components/Demo/index.js +107 -107
- package/dist/components/Demo/index.js.map +1 -1
- package/dist/components/Divider/index.d.ts +20 -0
- package/dist/components/Divider/index.js +30 -0
- package/dist/components/Divider/index.js.map +1 -0
- package/dist/components/EmptyState/index.js +24 -24
- package/dist/components/EmptyState/index.js.map +1 -1
- package/dist/components/FileUploader/DropZone.js +134 -136
- package/dist/components/FileUploader/DropZone.js.map +1 -1
- package/dist/components/FileUploader/FileItem.js +159 -163
- package/dist/components/FileUploader/FileItem.js.map +1 -1
- package/dist/components/FileUploader/FileUploader.js +126 -127
- package/dist/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/components/FileUploader/UploadQueue.js +62 -62
- package/dist/components/FileUploader/UploadQueue.js.map +1 -1
- package/dist/components/FloatWindow/index.d.ts +28 -0
- package/dist/components/GridLayout/index.d.ts +42 -0
- package/dist/components/Icon/index.d.ts +26 -0
- package/dist/components/Icon/index.js +27 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/Image/index.d.ts +33 -0
- package/dist/components/Image/index.js +44 -0
- package/dist/components/Image/index.js.map +1 -0
- package/dist/components/Input/index.js +196 -197
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Label/index.js +62 -74
- package/dist/components/Label/index.js.map +1 -1
- package/dist/components/Layout/index.js +134 -139
- package/dist/components/Layout/index.js.map +1 -1
- package/dist/components/List/index.js +45 -58
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/Markdown/Markdown.js +106 -107
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Markdown/codeThemes.js +24 -33
- package/dist/components/Markdown/codeThemes.js.map +1 -1
- package/dist/components/Markdown/markdownComponents.js +203 -208
- package/dist/components/Markdown/markdownComponents.js.map +1 -1
- package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
- package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
- package/dist/components/Markdown/useMarkdownSource.js +46 -46
- package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
- package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
- package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
- package/dist/components/Markdown/useMermaidRenderer.js +41 -42
- package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
- package/dist/components/Modal/index.js +82 -82
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MultipleChoice/index.d.ts +44 -0
- package/dist/components/MultipleChoice/index.js +52 -0
- package/dist/components/MultipleChoice/index.js.map +1 -0
- package/dist/components/Notification/index.d.ts +17 -0
- package/dist/components/Page/index.d.ts +1 -1
- package/dist/components/Page/index.js +40 -71
- package/dist/components/Page/index.js.map +1 -1
- package/dist/components/PageHeader/index.js +28 -28
- package/dist/components/PageHeader/index.js.map +1 -1
- package/dist/components/ProtectedRoute/index.js +8 -9
- package/dist/components/ProtectedRoute/index.js.map +1 -1
- package/dist/components/Row/index.d.ts +28 -0
- package/dist/components/Row/index.js +30 -0
- package/dist/components/Row/index.js.map +1 -0
- package/dist/components/Select/index.js +251 -254
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/SidebarToggleButton/index.js +56 -59
- package/dist/components/SidebarToggleButton/index.js.map +1 -1
- package/dist/components/Slider/index.d.ts +39 -0
- package/dist/components/Slider/index.js +52 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Switch/index.d.ts +34 -0
- package/dist/components/Switch/index.js +55 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Tab/index.d.ts +40 -0
- package/dist/components/Table/index.js +109 -121
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Tabs/index.js +28 -38
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Text/index.d.ts +43 -0
- package/dist/components/Text/index.js +55 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/Tooltip/index.d.ts +23 -0
- package/dist/components/Tooltip/index.js +34 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/Tree/Tree.js +205 -205
- package/dist/components/Tree/Tree.js.map +1 -1
- package/dist/components/pro/ArticleContextMenu/index.js +86 -87
- package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
- package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
- package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
- package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
- package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
- package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
- package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
- package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
- package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
- package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
- package/dist/components/pro/Calendar/index.d.ts +7 -0
- package/dist/components/pro/Calendar/types.d.ts +151 -0
- package/dist/components/pro/Calendar/utils.d.ts +94 -0
- package/dist/components/pro/Chat/Chat.d.ts +6 -0
- package/dist/components/pro/Chat/index.d.ts +2 -0
- package/dist/components/pro/Chat/types.d.ts +84 -0
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -327
- package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
- package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
- package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
- package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
- package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
- package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
- package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/index.js +7 -15
- package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
- package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/python.js +4 -40
- package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
- package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
- package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
- package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
- package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
- package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
- package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
- package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
- package/dist/components/pro/CodeEditor/themes.js +513 -483
- package/dist/components/pro/CodeEditor/themes.js.map +1 -1
- package/dist/components/pro/CodeEditor/types.d.ts +1 -1
- package/dist/components/pro/CodeEditor/utils.js +171 -175
- package/dist/components/pro/CodeEditor/utils.js.map +1 -1
- package/dist/components/pro/DataTable/DataTable.js +305 -306
- package/dist/components/pro/DataTable/DataTable.js.map +1 -1
- package/dist/components/pro/DataTable/Filters.js +299 -314
- package/dist/components/pro/DataTable/Filters.js.map +1 -1
- package/dist/components/pro/DataTable/PivotPanel.js +203 -204
- package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
- package/dist/components/pro/DataTable/PivotView.js +142 -144
- package/dist/components/pro/DataTable/PivotView.js.map +1 -1
- package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
- package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
- package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
- package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
- package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
- package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableBody.js +93 -94
- package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
- package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
- package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
- package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
- package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
- package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
- package/dist/components/pro/DataTable/extension.js +5 -5
- package/dist/components/pro/DataTable/extension.js.map +1 -1
- package/dist/components/pro/DataTable/pivotEngine.js +84 -92
- package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
- package/dist/components/pro/DataTable/pivotExtension.js +93 -93
- package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
- package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
- package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
- package/dist/components/pro/DataTable/tanstack-table.js +45 -62
- package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
- package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
- package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
- package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
- package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
- package/dist/components/pro/DataTable/utils.js +156 -168
- package/dist/components/pro/DataTable/utils.js.map +1 -1
- package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
- package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
- package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
- package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
- package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/components/pro/FileExplorer/FileIcon.js +189 -189
- package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
- package/dist/components/pro/FileExplorer/GridView.js +100 -100
- package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
- package/dist/components/pro/FileExplorer/ListView.js +209 -209
- package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
- package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
- package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
- package/dist/components/pro/Flow/Flow.js +920 -948
- package/dist/components/pro/Flow/Flow.js.map +1 -1
- package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
- package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
- package/dist/components/pro/Flow/archify/build.js +85 -94
- package/dist/components/pro/Flow/archify/build.js.map +1 -1
- package/dist/components/pro/Flow/archify/convert.js +512 -519
- package/dist/components/pro/Flow/archify/convert.js.map +1 -1
- package/dist/components/pro/Flow/archify/palette.js +87 -104
- package/dist/components/pro/Flow/archify/palette.js.map +1 -1
- package/dist/components/pro/Flow/archify/presets.js +34 -37
- package/dist/components/pro/Flow/archify/presets.js.map +1 -1
- package/dist/components/pro/Flow/archify/spec.js +7 -7
- package/dist/components/pro/Flow/archify/spec.js.map +1 -1
- package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
- package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
- package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
- package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
- package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
- package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
- package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
- package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
- package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
- package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
- package/dist/components/pro/Flow/constants.js +266 -278
- package/dist/components/pro/Flow/constants.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
- package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowContext.js +60 -61
- package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
- package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
- package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
- package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
- package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
- package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
- package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
- package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
- package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
- package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
- package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
- package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
- package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
- package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
- package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
- package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -180
- package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
- package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
- package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
- package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
- package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
- package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
- package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
- package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
- package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
- package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
- package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
- package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
- package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
- package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
- package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
- package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
- package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
- package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
- package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
- package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -242
- package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
- package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
- package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
- package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
- package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
- package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
- package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
- package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
- package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
- package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
- package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
- package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
- package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
- package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
- package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
- package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
- package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
- package/dist/components/pro/Flow/nodes/shapes.js +556 -589
- package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
- package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
- package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
- package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
- package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
- package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
- package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
- package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
- package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
- package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
- package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
- package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
- package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
- package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
- package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
- package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
- package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
- package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -248
- package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
- package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
- package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
- package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
- package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
- package/dist/components/pro/Flow/panels/ShapePalette.js +557 -572
- package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
- package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
- package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
- package/dist/components/pro/Flow/types.js +26 -26
- package/dist/components/pro/Flow/types.js.map +1 -1
- package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
- package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
- package/dist/components/pro/Flow/utils/gradient.js +55 -55
- package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
- package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
- package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
- package/dist/components/pro/Flow/utils/themeColor.js +185 -195
- package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
- package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
- package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
- package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
- package/dist/components/pro/Gantt/index.d.ts +6 -0
- package/dist/components/pro/Gantt/types.d.ts +478 -0
- package/dist/components/pro/Gantt/utils.d.ts +124 -0
- package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
- package/dist/components/pro/Resizable/index.d.ts +2 -0
- package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
- package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
- package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
- package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
- package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
- package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
- package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
- package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
- package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
- package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
- package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
- package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
- package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
- package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
- package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
- package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
- package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
- package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
- package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
- package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
- package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
- package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
- package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
- package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
- package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
- package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
- package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
- package/dist/components/pro/RichTextEditor/types.js +75 -75
- package/dist/components/pro/RichTextEditor/types.js.map +1 -1
- package/dist/contexts/AppContext.d.ts +1 -1
- package/dist/contexts/AppContext.js +216 -221
- package/dist/contexts/AppContext.js.map +1 -1
- package/dist/data-table.js +15 -41
- package/dist/data-table.js.map +1 -1
- package/dist/dishui.css +1 -1
- package/dist/flow.js +27 -83
- package/dist/hooks/useClickOutside.js +18 -18
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useContainerElement.js +9 -9
- package/dist/hooks/useContainerElement.js.map +1 -1
- package/dist/hooks/useControllableState.js +33 -35
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useCopyToClipboard.js +16 -16
- package/dist/hooks/useCopyToClipboard.js.map +1 -1
- package/dist/hooks/useDebounce.js +14 -14
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDraggable.js +50 -50
- package/dist/hooks/useDraggable.js.map +1 -1
- package/dist/hooks/useTableColumns.js +39 -41
- package/dist/hooks/useTableColumns.js.map +1 -1
- package/dist/hooks/useTableData.js +67 -68
- package/dist/hooks/useTableData.js.map +1 -1
- package/dist/index-nostyled.d.ts +8 -0
- package/dist/index.d.ts +31 -3
- package/dist/index.js +106 -241
- package/dist/layouts/MainLayout.js +56 -56
- package/dist/layouts/MainLayout.js.map +1 -1
- package/dist/layouts/Navbar.js +214 -214
- package/dist/layouts/Navbar.js.map +1 -1
- package/dist/layouts/Sidebar.js +184 -186
- package/dist/layouts/Sidebar.js.map +1 -1
- package/dist/layouts/headbar/Headbar.js +25 -25
- package/dist/layouts/headbar/Headbar.js.map +1 -1
- package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
- package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarSearch.js +120 -120
- package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
- package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
- package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
- package/dist/layouts/headbar/HeadbarTitle.js +26 -26
- package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
- package/dist/lite.js +9 -24
- package/dist/markdown.js +4 -9
- package/dist/pages/components/Calendar/index.d.ts +3 -0
- package/dist/pages/components/Calendar/index.en.d.ts +3 -0
- package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
- package/dist/pages/components/Chat/index.d.ts +3 -0
- package/dist/pages/components/Chat/index.en.d.ts +3 -0
- package/dist/pages/components/Chat/index.zh.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
- package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
- package/dist/pages/components/Gantt/index.d.ts +3 -0
- package/dist/pages/components/Gantt/index.en.d.ts +3 -0
- package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
- package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
- package/dist/pages/components/Notification/index.d.ts +3 -0
- package/dist/pages/components/Notification/index.en.d.ts +3 -0
- package/dist/pages/components/Notification/index.zh.d.ts +3 -0
- package/dist/pages/components/Resizable/index.d.ts +3 -0
- package/dist/pages/components/Resizable/index.en.d.ts +3 -0
- package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
- package/dist/pages/components/Tab/index.d.ts +3 -0
- package/dist/pages/components/Tab/index.en.d.ts +3 -0
- package/dist/pages/components/Tab/index.zh.d.ts +3 -0
- package/dist/styles/themeStyles.js +87 -86
- package/dist/styles/themeStyles.js.map +1 -1
- package/dist/utils/cn.d.ts +13 -0
- package/dist/utils/cn.js +16 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/i18n.js +700 -602
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/menu.js +94 -94
- package/dist/utils/menu.js.map +1 -1
- package/dist/utils/rehype-code-meta.js +14 -14
- package/dist/utils/rehype-code-meta.js.map +1 -1
- package/dist/utils/remark-code-meta.js +9 -9
- package/dist/utils/remark-code-meta.js.map +1 -1
- package/dist/utils/routerBuilder.js +59 -60
- package/dist/utils/routerBuilder.js.map +1 -1
- package/dist/utils/selection.js +28 -29
- package/dist/utils/selection.js.map +1 -1
- package/dist/utils/themes.js +275 -255
- package/dist/utils/themes.js.map +1 -1
- package/package.json +19 -6
- package/dist/components/StatCard/index.d.ts +0 -24
- package/dist/components/StatCard/index.js +0 -90
- package/dist/components/StatCard/index.js.map +0 -1
|
@@ -1,147 +1,145 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useCallback as
|
|
3
|
-
import { jsx as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
import e from "../Button/index.js";
|
|
2
|
+
import { useCallback as t, useRef as n, useState as r } from "react";
|
|
3
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/FileUploader/DropZone.tsx
|
|
5
|
+
var o = {
|
|
6
|
+
dropzoneTitle: "Drop files here",
|
|
7
|
+
dropzoneHint: "or click to browse",
|
|
8
|
+
browseButton: "Browse Files",
|
|
9
|
+
fileTooLarge: "File too large",
|
|
10
|
+
fileTypeNotAllowed: "File type not allowed",
|
|
11
|
+
maxFilesReached: "Maximum number of files reached"
|
|
12
|
+
}, s = () => /* @__PURE__ */ i("svg", {
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
+
className: "h-10 w-10 opacity-40",
|
|
15
|
+
fill: "none",
|
|
16
|
+
viewBox: "0 0 24 24",
|
|
17
|
+
stroke: "currentColor",
|
|
18
|
+
strokeWidth: 1.5,
|
|
19
|
+
children: /* @__PURE__ */ i("path", {
|
|
20
|
+
strokeLinecap: "round",
|
|
21
|
+
strokeLinejoin: "round",
|
|
22
|
+
d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"
|
|
23
|
+
})
|
|
23
24
|
});
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
function c(e, t, n) {
|
|
26
|
+
return t && t.length > 0 && !t.some((t) => {
|
|
27
|
+
if (t.startsWith(".")) return e.name.toLowerCase().endsWith(t.toLowerCase());
|
|
28
|
+
if (t.endsWith("/*")) {
|
|
29
|
+
let n = t.replace("/*", "/");
|
|
30
|
+
return e.type.startsWith(n);
|
|
31
|
+
}
|
|
32
|
+
return e.type === t;
|
|
33
|
+
}) ? "fileTypeNotAllowed" : n && e.size > n ? "fileTooLarge" : null;
|
|
33
34
|
}
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
35
|
+
var l = ({ accept: l, maxFileSize: d, maxFiles: f, multiple: p = !0, currentFileCount: m = 0, labels: h, className: g = "", disabled: _ = !1, onFilesAdded: v, onValidationError: y }) => {
|
|
36
|
+
let b = {
|
|
37
|
+
...o,
|
|
38
|
+
...h
|
|
39
|
+
}, x = n(null), [S, C] = r(!1), w = t((e) => {
|
|
40
|
+
let t = [];
|
|
41
|
+
for (let n of e) {
|
|
42
|
+
if (f && m + t.length >= f) {
|
|
43
|
+
y?.(n, b.maxFilesReached);
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
let e = c(n, l, d);
|
|
47
|
+
e ? y?.(n, b[e] || e) : t.push(n);
|
|
48
|
+
}
|
|
49
|
+
t.length > 0 && v(p ? t : [t[0]]);
|
|
50
|
+
}, [
|
|
51
|
+
l,
|
|
52
|
+
d,
|
|
53
|
+
f,
|
|
54
|
+
p,
|
|
55
|
+
m,
|
|
56
|
+
b,
|
|
57
|
+
v,
|
|
58
|
+
y
|
|
59
|
+
]), T = t((e) => {
|
|
60
|
+
e.preventDefault(), e.stopPropagation(), _ || C(!0);
|
|
61
|
+
}, [_]), E = t((e) => {
|
|
62
|
+
e.preventDefault(), e.stopPropagation(), C(!1);
|
|
63
|
+
}, []), D = t((e) => {
|
|
64
|
+
if (e.preventDefault(), e.stopPropagation(), C(!1), _) return;
|
|
65
|
+
let t = Array.from(e.dataTransfer.files);
|
|
66
|
+
w(t);
|
|
67
|
+
}, [_, w]), O = t(() => {
|
|
68
|
+
_ || x.current?.click();
|
|
69
|
+
}, [_]), k = t((e) => {
|
|
70
|
+
let t = Array.from(e.target.files || []);
|
|
71
|
+
w(t), x.current && (x.current.value = "");
|
|
72
|
+
}, [w]), A = l?.join(",");
|
|
73
|
+
return /* @__PURE__ */ a("div", {
|
|
74
|
+
className: `
|
|
74
75
|
relative flex flex-col items-center justify-center
|
|
75
76
|
min-h-[200px] p-6 sm:p-8
|
|
76
77
|
border-2 border-dashed rounded-xl
|
|
77
78
|
transition-colors duration-200 cursor-pointer
|
|
78
|
-
${
|
|
79
|
-
${
|
|
80
|
-
${
|
|
79
|
+
${S ? "border-primary bg-primary/5" : "border-base-300 hover:border-primary/50 bg-base-100"}
|
|
80
|
+
${_ ? "opacity-50 cursor-not-allowed" : ""}
|
|
81
|
+
${g}
|
|
81
82
|
`,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
});
|
|
83
|
+
onDragOver: T,
|
|
84
|
+
onDragLeave: E,
|
|
85
|
+
onDrop: D,
|
|
86
|
+
onClick: O,
|
|
87
|
+
role: "button",
|
|
88
|
+
tabIndex: 0,
|
|
89
|
+
onKeyDown: (e) => {
|
|
90
|
+
(e.key === "Enter" || e.key === " ") && O();
|
|
91
|
+
},
|
|
92
|
+
children: [
|
|
93
|
+
/* @__PURE__ */ i("input", {
|
|
94
|
+
ref: x,
|
|
95
|
+
type: "file",
|
|
96
|
+
className: "hidden",
|
|
97
|
+
accept: A,
|
|
98
|
+
multiple: p,
|
|
99
|
+
onChange: k,
|
|
100
|
+
disabled: _
|
|
101
|
+
}),
|
|
102
|
+
/* @__PURE__ */ i(s, {}),
|
|
103
|
+
/* @__PURE__ */ i("p", {
|
|
104
|
+
className: "mt-3 text-base font-semibold text-base-content",
|
|
105
|
+
children: b.dropzoneTitle
|
|
106
|
+
}),
|
|
107
|
+
/* @__PURE__ */ i("p", {
|
|
108
|
+
className: "mt-1 text-sm opacity-60",
|
|
109
|
+
children: b.dropzoneHint
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ i(e, {
|
|
112
|
+
variant: "primary",
|
|
113
|
+
size: "sm",
|
|
114
|
+
outline: !0,
|
|
115
|
+
className: "mt-4",
|
|
116
|
+
disabled: _,
|
|
117
|
+
onClick: () => {},
|
|
118
|
+
children: b.browseButton
|
|
119
|
+
}),
|
|
120
|
+
l && l.length > 0 && /* @__PURE__ */ i("p", {
|
|
121
|
+
className: "mt-3 text-xs opacity-50",
|
|
122
|
+
children: l.join(", ")
|
|
123
|
+
}),
|
|
124
|
+
d && /* @__PURE__ */ a("p", {
|
|
125
|
+
className: "text-xs opacity-50",
|
|
126
|
+
children: ["Max: ", u(d)]
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
});
|
|
130
130
|
};
|
|
131
|
-
function
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
function u(e) {
|
|
132
|
+
if (e === 0) return "0 B";
|
|
133
|
+
let t = 1024, n = [
|
|
134
|
+
"B",
|
|
135
|
+
"KB",
|
|
136
|
+
"MB",
|
|
137
|
+
"GB",
|
|
138
|
+
"TB"
|
|
139
|
+
], r = Math.floor(Math.log(e) / Math.log(t));
|
|
140
|
+
return parseFloat((e / t ** r).toFixed(1)) + " " + n[r];
|
|
141
141
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
A as formatFileSize
|
|
145
|
-
};
|
|
142
|
+
//#endregion
|
|
143
|
+
export { l as DropZone, u as formatFileSize };
|
|
146
144
|
|
|
147
145
|
//# sourceMappingURL=DropZone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZone.js","names":[],"sources":["../../../src/components/FileUploader/DropZone.tsx"],"sourcesContent":["import React, { useRef, useState, useCallback } from 'react';\nimport { DropZoneProps } from './types';\nimport Button from '../Button';\n\nconst defaultLabels = {\n dropzoneTitle: 'Drop files here',\n dropzoneHint: 'or click to browse',\n browseButton: 'Browse Files',\n fileTooLarge: 'File too large',\n fileTypeNotAllowed: 'File type not allowed',\n maxFilesReached: 'Maximum number of files reached',\n};\n\nconst UploadIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-10 w-10 opacity-40\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\" />\n </svg>\n);\n\n/** Validate a single file against accept list and max size */\nfunction validateFile(\n file: File,\n accept?: string[],\n maxFileSize?: number,\n): string | null {\n // Check file type\n if (accept && accept.length > 0) {\n const allowed = accept.some(pattern => {\n if (pattern.startsWith('.')) {\n // Extension match\n return file.name.toLowerCase().endsWith(pattern.toLowerCase());\n }\n if (pattern.endsWith('/*')) {\n // MIME prefix match (e.g. image/*)\n const prefix = pattern.replace('/*', '/');\n return file.type.startsWith(prefix);\n }\n // Exact MIME match\n return file.type === pattern;\n });\n if (!allowed) return 'fileTypeNotAllowed';\n }\n\n // Check file size\n if (maxFileSize && file.size > maxFileSize) {\n return 'fileTooLarge';\n }\n\n return null;\n}\n\nexport const DropZone: React.FC<DropZoneProps> = ({\n accept,\n maxFileSize,\n maxFiles,\n multiple = true,\n currentFileCount = 0,\n labels: userLabels,\n className = '',\n disabled = false,\n onFilesAdded,\n onValidationError,\n}) => {\n const labels = { ...defaultLabels, ...userLabels };\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n\n const processFiles = useCallback((rawFiles: File[]) => {\n const valid: File[] = [];\n for (const file of rawFiles) {\n // Check max files limit\n if (maxFiles && (currentFileCount + valid.length) >= maxFiles) {\n onValidationError?.(file, labels.maxFilesReached!);\n break;\n }\n const error = validateFile(file, accept, maxFileSize);\n if (error) {\n onValidationError?.(file, labels[error as keyof typeof labels] || error);\n } else {\n valid.push(file);\n }\n }\n if (valid.length > 0) {\n onFilesAdded(multiple ? valid : [valid[0]]);\n }\n }, [accept, maxFileSize, maxFiles, multiple, currentFileCount, labels, onFilesAdded, onValidationError]);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (!disabled) setIsDragOver(true);\n }, [disabled]);\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n if (disabled) return;\n const files = Array.from(e.dataTransfer.files);\n processFiles(files);\n }, [disabled, processFiles]);\n\n const handleClick = useCallback(() => {\n if (!disabled) inputRef.current?.click();\n }, [disabled]);\n\n const handleInputChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(e.target.files || []);\n processFiles(files);\n // Reset input so same file can be re-selected\n if (inputRef.current) inputRef.current.value = '';\n }, [processFiles]);\n\n const acceptStr = accept?.join(',');\n\n return (\n <div\n className={`\n relative flex flex-col items-center justify-center\n min-h-[200px] p-6 sm:p-8\n border-2 border-dashed rounded-xl\n transition-colors duration-200 cursor-pointer\n ${isDragOver\n ? 'border-primary bg-primary/5'\n : 'border-base-300 hover:border-primary/50 bg-base-100'\n }\n ${disabled ? 'opacity-50 cursor-not-allowed' : ''}\n ${className}\n `}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={handleClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') handleClick(); }}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"hidden\"\n accept={acceptStr}\n multiple={multiple}\n onChange={handleInputChange}\n disabled={disabled}\n />\n\n <UploadIcon />\n\n <p className=\"mt-3 text-base font-semibold text-base-content\">\n {labels.dropzoneTitle}\n </p>\n <p className=\"mt-1 text-sm opacity-60\">\n {labels.dropzoneHint}\n </p>\n\n <Button\n variant=\"primary\"\n size=\"sm\"\n outline\n className=\"mt-4\"\n disabled={disabled}\n onClick={() => { /* click propagation handled by parent div */ }}\n >\n {labels.browseButton}\n </Button>\n\n {accept && accept.length > 0 && (\n <p className=\"mt-3 text-xs opacity-50\">\n {accept.join(', ')}\n </p>\n )}\n {maxFileSize && (\n <p className=\"text-xs opacity-50\">\n Max: {formatFileSize(maxFileSize)}\n </p>\n )}\n </div>\n );\n};\n\n/** Format bytes to human-readable string */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n}\n"],"mappings":";;;AAIA,IAAM,IAAgB;AAAA,EAClB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,iBAAiB;AACrB,GAEM,IAAA,MACF,gBAAA,EAAC,OAAD;AAAA,EAAK,OAAM;AAAA,EAA6B,WAAU;AAAA,EAAuB,MAAK;AAAA,EAAO,SAAQ;AAAA,EAAY,QAAO;AAAA,EAAe,aAAa;AAAA,EACxI,UAAA,gBAAA,EAAC,QAAD;AAAA,IAAM,eAAc;AAAA,IAAQ,gBAAe;AAAA,IAAQ,GAAE;AAAA,EAAyF,CAAA;AAC7I,CAAA;AAIT,SAAS,EACL,GACA,GACA,GACa;AAEb,SAAI,KAAU,EAAO,SAAS,KActB,CAbY,EAAO,KAAA,CAAK,MAAW;AACnC,QAAI,EAAQ,WAAW,GAAG,EAEtB,QAAO,EAAK,KAAK,YAAY,EAAE,SAAS,EAAQ,YAAY,CAAC;AAEjE,QAAI,EAAQ,SAAS,IAAI,GAAG;AAExB,YAAM,IAAS,EAAQ,QAAQ,MAAM,GAAG;AACxC,aAAO,EAAK,KAAK,WAAW,CAAM;AAAA,IACtC;AAEA,WAAO,EAAK,SAAS;AAAA,EACzB,CACK,IAAgB,uBAIrB,KAAe,EAAK,OAAO,IACpB,iBAGJ;AACX;AAEA,IAAa,IAAA,CAAqC,EAC9C,QAAA,GACA,aAAA,GACA,UAAA,GACA,UAAA,IAAW,IACX,kBAAA,IAAmB,GACnB,QAAQ,GACR,WAAA,IAAY,IACZ,UAAA,IAAW,IACX,cAAA,GACA,mBAAA,EAAA,MACE;AACF,QAAM,IAAS;AAAA,IAAE,GAAG;AAAA,IAAe,GAAG;AAAA,EAAW,GAC3C,IAAW,EAAyB,IAAI,GACxC,CAAC,GAAY,CAAA,IAAiB,EAAS,EAAK,GAE5C,IAAe,EAAA,CAAa,MAAqB;AACnD,UAAM,IAAgB,CAAC;AACvB,eAAW,KAAQ,GAAU;AAEzB,UAAI,KAAa,IAAmB,EAAM,UAAW,GAAU;AAC3D,QAAA,IAAoB,GAAM,EAAO,eAAgB;AACjD;AAAA,MACJ;AACA,YAAM,IAAQ,EAAa,GAAM,GAAQ,CAAW;AACpD,MAAI,IACA,IAAoB,GAAM,EAAO,CAAA,KAAiC,CAAK,IAEvE,EAAM,KAAK,CAAI;AAAA,IAEvB;AACA,IAAI,EAAM,SAAS,KACf,EAAa,IAAW,IAAQ,CAAC,EAAM,CAAA,CAAE,CAAC;AAAA,EAElD,GAAG;AAAA,IAAC;AAAA,IAAQ;AAAA,IAAa;AAAA,IAAU;AAAA,IAAU;AAAA,IAAkB;AAAA,IAAQ;AAAA,IAAc;AAAA,EAAiB,CAAC,GAEjG,IAAiB,EAAA,CAAa,MAAuB;AACvD,MAAE,eAAe,GACjB,EAAE,gBAAgB,GACb,KAAU,EAAc,EAAI;AAAA,EACrC,GAAG,CAAC,CAAQ,CAAC,GAEP,IAAkB,EAAA,CAAa,MAAuB;AACxD,MAAE,eAAe,GACjB,EAAE,gBAAgB,GAClB,EAAc,EAAK;AAAA,EACvB,GAAG,CAAC,CAAC,GAEC,IAAa,EAAA,CAAa,MAAuB;AAInD,QAHA,EAAE,eAAe,GACjB,EAAE,gBAAgB,GAClB,EAAc,EAAK,GACf,EAAU;AACd,UAAM,IAAQ,MAAM,KAAK,EAAE,aAAa,KAAK;AAC7C,IAAA,EAAa,CAAK;AAAA,EACtB,GAAG,CAAC,GAAU,CAAY,CAAC,GAErB,IAAc,EAAA,MAAkB;AAClC,IAAK,KAAU,EAAS,SAAS,MAAM;AAAA,EAC3C,GAAG,CAAC,CAAQ,CAAC,GAEP,IAAoB,EAAA,CAAa,MAA2C;AAC9E,UAAM,IAAQ,MAAM,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;AAC7C,IAAA,EAAa,CAAK,GAEd,EAAS,YAAS,EAAS,QAAQ,QAAQ;AAAA,EACnD,GAAG,CAAC,CAAY,CAAC,GAEX,IAAY,GAAQ,KAAK,GAAG;AAElC,SACI,gBAAA,EAAC,OAAD;AAAA,IACI,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKL,IACI,gCACA,qDAAA;AAAA,kBAEJ,IAAW,kCAAkC,EAAA;AAAA,kBAC7C,CAAA;AAAA;AAAA,IAEN,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAK;AAAA,IACL,UAAU;AAAA,IACV,WAAA,CAAY,MAAM;AAAE,OAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,QAAK,EAAY;AAAA,IAAG;AAAA,IAnB/E,UAAA;AAAA,MAqBI,gBAAA,EAAC,SAAD;AAAA,QACI,KAAK;AAAA,QACL,MAAK;AAAA,QACL,WAAU;AAAA,QACV,QAAQ;AAAA,QACE,UAAA;AAAA,QACV,UAAU;AAAA,QACA,UAAA;AAAA,MACb,CAAA;AAAA,MAED,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,MAEb,gBAAA,EAAC,KAAD;AAAA,QAAG,WAAU;AAAA,QACR,UAAA,EAAO;AAAA,MACT,CAAA;AAAA,MACH,gBAAA,EAAC,KAAD;AAAA,QAAG,WAAU;AAAA,QACR,UAAA,EAAO;AAAA,MACT,CAAA;AAAA,MAEH,gBAAA,EAAC,GAAD;AAAA,QACI,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAA;AAAA,QACA,WAAU;AAAA,QACA,UAAA;AAAA,QACV,SAAA,MAAe;AAAA,QAAgD;AAAA,QAE9D,UAAA,EAAO;AAAA,MACJ,CAAA;AAAA,MAEP,KAAU,EAAO,SAAS,KACvB,gBAAA,EAAC,KAAD;AAAA,QAAG,WAAU;AAAA,QACR,UAAA,EAAO,KAAK,IAAI;AAAA,MAClB,CAAA;AAAA,MAEN,KACG,gBAAA,EAAC,KAAD;AAAA,QAAG,WAAU;AAAA,QAAb,UAAA,CAAkC,SACxB,EAAe,CAAW,CACjC;AAAA;IAEN;AAAA;AAEb;AAGA,SAAgB,EAAe,GAAuB;AAClD,MAAI,MAAU,EAAG,QAAO;AACxB,QAAM,IAAI,MACJ,IAAQ;AAAA,IAAC;AAAA,IAAK;AAAA,IAAM;AAAA,IAAM;AAAA,IAAM;AAAA,EAAI,GACpC,IAAI,KAAK,MAAM,KAAK,IAAI,CAAK,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,SAAO,YAAY,IAAQ,KAAK,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,MAAM,EAAM,CAAA;AACzE"}
|
|
1
|
+
{"version":3,"file":"DropZone.js","names":[],"sources":["../../../src/components/FileUploader/DropZone.tsx"],"sourcesContent":["import React, { useRef, useState, useCallback } from 'react';\nimport { DropZoneProps } from './types';\nimport Button from '../Button';\n\nconst defaultLabels = {\n dropzoneTitle: 'Drop files here',\n dropzoneHint: 'or click to browse',\n browseButton: 'Browse Files',\n fileTooLarge: 'File too large',\n fileTypeNotAllowed: 'File type not allowed',\n maxFilesReached: 'Maximum number of files reached',\n};\n\nconst UploadIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-10 w-10 opacity-40\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\" />\n </svg>\n);\n\n/** Validate a single file against accept list and max size */\nfunction validateFile(\n file: File,\n accept?: string[],\n maxFileSize?: number,\n): string | null {\n // Check file type\n if (accept && accept.length > 0) {\n const allowed = accept.some(pattern => {\n if (pattern.startsWith('.')) {\n // Extension match\n return file.name.toLowerCase().endsWith(pattern.toLowerCase());\n }\n if (pattern.endsWith('/*')) {\n // MIME prefix match (e.g. image/*)\n const prefix = pattern.replace('/*', '/');\n return file.type.startsWith(prefix);\n }\n // Exact MIME match\n return file.type === pattern;\n });\n if (!allowed) return 'fileTypeNotAllowed';\n }\n\n // Check file size\n if (maxFileSize && file.size > maxFileSize) {\n return 'fileTooLarge';\n }\n\n return null;\n}\n\nexport const DropZone: React.FC<DropZoneProps> = ({\n accept,\n maxFileSize,\n maxFiles,\n multiple = true,\n currentFileCount = 0,\n labels: userLabels,\n className = '',\n disabled = false,\n onFilesAdded,\n onValidationError,\n}) => {\n const labels = { ...defaultLabels, ...userLabels };\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n\n const processFiles = useCallback((rawFiles: File[]) => {\n const valid: File[] = [];\n for (const file of rawFiles) {\n // Check max files limit\n if (maxFiles && (currentFileCount + valid.length) >= maxFiles) {\n onValidationError?.(file, labels.maxFilesReached!);\n break;\n }\n const error = validateFile(file, accept, maxFileSize);\n if (error) {\n onValidationError?.(file, labels[error as keyof typeof labels] || error);\n } else {\n valid.push(file);\n }\n }\n if (valid.length > 0) {\n onFilesAdded(multiple ? valid : [valid[0]]);\n }\n }, [accept, maxFileSize, maxFiles, multiple, currentFileCount, labels, onFilesAdded, onValidationError]);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (!disabled) setIsDragOver(true);\n }, [disabled]);\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n if (disabled) return;\n const files = Array.from(e.dataTransfer.files);\n processFiles(files);\n }, [disabled, processFiles]);\n\n const handleClick = useCallback(() => {\n if (!disabled) inputRef.current?.click();\n }, [disabled]);\n\n const handleInputChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(e.target.files || []);\n processFiles(files);\n // Reset input so same file can be re-selected\n if (inputRef.current) inputRef.current.value = '';\n }, [processFiles]);\n\n const acceptStr = accept?.join(',');\n\n return (\n <div\n className={`\n relative flex flex-col items-center justify-center\n min-h-[200px] p-6 sm:p-8\n border-2 border-dashed rounded-xl\n transition-colors duration-200 cursor-pointer\n ${isDragOver\n ? 'border-primary bg-primary/5'\n : 'border-base-300 hover:border-primary/50 bg-base-100'\n }\n ${disabled ? 'opacity-50 cursor-not-allowed' : ''}\n ${className}\n `}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={handleClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') handleClick(); }}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"hidden\"\n accept={acceptStr}\n multiple={multiple}\n onChange={handleInputChange}\n disabled={disabled}\n />\n\n <UploadIcon />\n\n <p className=\"mt-3 text-base font-semibold text-base-content\">\n {labels.dropzoneTitle}\n </p>\n <p className=\"mt-1 text-sm opacity-60\">\n {labels.dropzoneHint}\n </p>\n\n <Button\n variant=\"primary\"\n size=\"sm\"\n outline\n className=\"mt-4\"\n disabled={disabled}\n onClick={() => { /* click propagation handled by parent div */ }}\n >\n {labels.browseButton}\n </Button>\n\n {accept && accept.length > 0 && (\n <p className=\"mt-3 text-xs opacity-50\">\n {accept.join(', ')}\n </p>\n )}\n {maxFileSize && (\n <p className=\"text-xs opacity-50\">\n Max: {formatFileSize(maxFileSize)}\n </p>\n )}\n </div>\n );\n};\n\n/** Format bytes to human-readable string */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n}\n"],"mappings":";;;;AAIA,IAAM,IAAgB;CAClB,eAAe;CACf,cAAc;CACd,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,iBAAiB;AACrB,GAEM,UACF,kBAAC,OAAD;CAAK,OAAM;CAA6B,WAAU;CAAuB,MAAK;CAAO,SAAQ;CAAY,QAAO;CAAe,aAAa;CACxI,UAAA,kBAAC,QAAD;EAAM,eAAc;EAAQ,gBAAe;EAAQ,GAAE;CAAyF,CAAA;AAC7I,CAAA;AAIT,SAAS,EACL,GACA,GACA,GACa;CAwBb,OAtBI,KAAU,EAAO,SAAS,KActB,CAbY,EAAO,MAAK,MAAW;EACnC,IAAI,EAAQ,WAAW,GAAG,GAEtB,OAAO,EAAK,KAAK,YAAY,CAAC,CAAC,SAAS,EAAQ,YAAY,CAAC;EAEjE,IAAI,EAAQ,SAAS,IAAI,GAAG;GAExB,IAAM,IAAS,EAAQ,QAAQ,MAAM,GAAG;GACxC,OAAO,EAAK,KAAK,WAAW,CAAM;EACtC;EAEA,OAAO,EAAK,SAAS;CACzB,CACK,IAAgB,uBAIrB,KAAe,EAAK,OAAO,IACpB,iBAGJ;AACX;AAEA,IAAa,KAAqC,EAC9C,WACA,gBACA,aACA,cAAW,IACX,sBAAmB,GACnB,QAAQ,GACR,eAAY,IACZ,cAAW,IACX,iBACA,2BACE;CACF,IAAM,IAAS;EAAE,GAAG;EAAe,GAAG;CAAW,GAC3C,IAAW,EAAyB,IAAI,GACxC,CAAC,GAAY,KAAiB,EAAS,EAAK,GAE5C,IAAe,GAAa,MAAqB;EACnD,IAAM,IAAgB,CAAC;EACvB,KAAK,IAAM,KAAQ,GAAU;GAEzB,IAAI,KAAa,IAAmB,EAAM,UAAW,GAAU;IAC3D,IAAoB,GAAM,EAAO,eAAgB;IACjD;GACJ;GACA,IAAM,IAAQ,EAAa,GAAM,GAAQ,CAAW;GACpD,AAAI,IACA,IAAoB,GAAM,EAAO,MAAiC,CAAK,IAEvE,EAAM,KAAK,CAAI;EAEvB;EACA,AAAI,EAAM,SAAS,KACf,EAAa,IAAW,IAAQ,CAAC,EAAM,EAAE,CAAC;CAElD,GAAG;EAAC;EAAQ;EAAa;EAAU;EAAU;EAAkB;EAAQ;EAAc;CAAiB,CAAC,GAEjG,IAAiB,GAAa,MAAuB;EAGvD,AAFA,EAAE,eAAe,GACjB,EAAE,gBAAgB,GACb,KAAU,EAAc,EAAI;CACrC,GAAG,CAAC,CAAQ,CAAC,GAEP,IAAkB,GAAa,MAAuB;EAGxD,AAFA,EAAE,eAAe,GACjB,EAAE,gBAAgB,GAClB,EAAc,EAAK;CACvB,GAAG,CAAC,CAAC,GAEC,IAAa,GAAa,MAAuB;EAInD,IAHA,EAAE,eAAe,GACjB,EAAE,gBAAgB,GAClB,EAAc,EAAK,GACf,GAAU;EACd,IAAM,IAAQ,MAAM,KAAK,EAAE,aAAa,KAAK;EAC7C,EAAa,CAAK;CACtB,GAAG,CAAC,GAAU,CAAY,CAAC,GAErB,IAAc,QAAkB;EAClC,AAAK,KAAU,EAAS,SAAS,MAAM;CAC3C,GAAG,CAAC,CAAQ,CAAC,GAEP,IAAoB,GAAa,MAA2C;EAC9E,IAAM,IAAQ,MAAM,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;EAG7C,AAFA,EAAa,CAAK,GAEd,EAAS,YAAS,EAAS,QAAQ,QAAQ;CACnD,GAAG,CAAC,CAAY,CAAC,GAEX,IAAY,GAAQ,KAAK,GAAG;CAElC,OACI,kBAAC,OAAD;EACI,WAAW;;;;;kBAKL,IACI,gCACA,sDACL;kBACC,IAAW,kCAAkC,GAAG;kBAChD,EAAU;;EAEhB,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,SAAS;EACT,MAAK;EACL,UAAU;EACV,YAAY,MAAM;GAAE,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,QAAK,EAAY;EAAG;EAnB/E,UAAA;GAqBI,kBAAC,SAAD;IACI,KAAK;IACL,MAAK;IACL,WAAU;IACV,QAAQ;IACE;IACV,UAAU;IACA;GACb,CAAA;GAED,kBAAC,GAAD,CAAa,CAAA;GAEb,kBAAC,KAAD;IAAG,WAAU;IACR,UAAA,EAAO;GACT,CAAA;GACH,kBAAC,KAAD;IAAG,WAAU;IACR,UAAA,EAAO;GACT,CAAA;GAEH,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,SAAA;IACA,WAAU;IACA;IACV,eAAe,CAAgD;IAE9D,UAAA,EAAO;GACJ,CAAA;GAEP,KAAU,EAAO,SAAS,KACvB,kBAAC,KAAD;IAAG,WAAU;IACR,UAAA,EAAO,KAAK,IAAI;GAClB,CAAA;GAEN,KACG,kBAAC,KAAD;IAAG,WAAU;IAAb,UAAA,CAAkC,SACxB,EAAe,CAAW,CACjC;;EAEN;;AAEb;AAGA,SAAgB,EAAe,GAAuB;CAClD,IAAI,MAAU,GAAG,OAAO;CACxB,IAAM,IAAI,MACJ,IAAQ;EAAC;EAAK;EAAM;EAAM;EAAM;CAAI,GACpC,IAAI,KAAK,MAAM,KAAK,IAAI,CAAK,IAAI,KAAK,IAAI,CAAC,CAAC;CAClD,OAAO,YAAY,IAAiB,KAAG,EAAC,CAAG,QAAQ,CAAC,CAAC,IAAI,MAAM,EAAM;AACzE"}
|