From 64bbfeb450116ba696b8c7d09c4f12a2c4c5db15 Mon Sep 17 00:00:00 2001 From: liusuY <851209312@qq.com> Date: Fri, 12 Nov 2021 23:17:59 +0800 Subject: [PATCH 1/4] update --- devui/vue-devui.ts | 175 ++++++++++++++++++ docs/.vitepress/config/sidebar.ts | 283 ++++++++++++++++++++++++++++++ 2 files changed, 458 insertions(+) create mode 100644 devui/vue-devui.ts create mode 100644 docs/.vitepress/config/sidebar.ts diff --git a/devui/vue-devui.ts b/devui/vue-devui.ts new file mode 100644 index 00000000..cc1d0bbf --- /dev/null +++ b/devui/vue-devui.ts @@ -0,0 +1,175 @@ +import type { App } from 'vue' + +import AccordionInstall, { Accordion } from './accordion' +import AlertInstall, { Alert } from './alert' +import AnchorInstall, { Anchor } from './anchor' +import AvatarInstall, { Avatar } from './avatar' +import BadgeInstall, { Badge } from './badge' +import BreadcrumbInstall, { Breadcrumb } from './breadcrumb' +import ButtonInstall, { Button } from './button' +import CardInstall, { Card } from './card' +import CarouselInstall, { Carousel } from './carousel' +import CascaderInstall, { Cascader } from './cascader' +import CheckboxInstall, { Checkbox } from './checkbox' +import DatePickerInstall, { DatePicker, StickSlider } from './date-picker' +import DrawerInstall, { Drawer } from './drawer' +import EditableSelectInstall, { EditableSelect, EditableSelectOption } from './editable-select' +import FullscreenInstall, { Fullscreen } from './fullscreen' +import IconInstall, { Icon } from './icon' +import ImagePreviewInstall, { ImagePreviewDirective, ImagePreviewService } from './image-preview' +import InputInstall, { Input } from './input' +import InputNumberInstall, { InputNumber } from './input-number' +import LayoutInstall, { Layout, Content, Header, Footer, Aside } from './layout' +import LoadingInstall, { LoadingService, Loading } from './loading' +import ModalInstall, { Modal } from './modal' +import OverlayInstall, { FlexibleOverlay, FixedOverlay } from './overlay' +import PaginationInstall, { Pagination } from './pagination' +import PanelInstall, { Panel } from './panel' +import PopoverInstall, { Popover } from './popover' +import ProgressInstall, { Progress } from './progress' +import QuadrantDiagramInstall, { QuadrantDiagram } from './quadrant-diagram' +import RadioInstall, { Radio, RadioGroup } from './radio' +import RateInstall, { Rate } from './rate' +import RippleInstall, { RippleDirective } from './ripple' +import SearchInstall, { Search } from './search' +import SelectInstall, { Select } from './select' +import SkeletonInstall, { Skeleton } from './skeleton' +import SliderInstall, { Slider } from './slider' +import SplitterInstall, { Splitter } from './splitter' +import StatusInstall, { Status } from './status' +import StepsGuideInstall, { StepsGuide } from './steps-guide' +import StickyInstall, { Sticky } from './sticky' +import SwitchInstall, { Switch } from './switch' +import TableInstall, { Table, Column } from './table' +import TabsInstall, { Tabs } from './tabs' +import TagInputInstall, { TagInput } from './tag-input' +import TimePickerInstall, { TimePicker } from './time-picker' +import ToastInstall, { Toast, ToastService } from './toast' +import TooltipInstall, { Tooltip } from './tooltip' +import TransferInstall, { Transfer } from './transfer' +import TreeInstall, { Tree } from './tree' +import UploadInstall, { Upload, MultiUpload } from './upload' + +const installs = [ + AccordionInstall, + AlertInstall, + AnchorInstall, + AvatarInstall, + BadgeInstall, + BreadcrumbInstall, + ButtonInstall, + CardInstall, + CarouselInstall, + CascaderInstall, + CheckboxInstall, + DatePickerInstall, + DrawerInstall, + EditableSelectInstall, + FullscreenInstall, + IconInstall, + ImagePreviewInstall, + InputInstall, + InputNumberInstall, + LayoutInstall, + LoadingInstall, + ModalInstall, + OverlayInstall, + PaginationInstall, + PanelInstall, + PopoverInstall, + ProgressInstall, + QuadrantDiagramInstall, + RadioInstall, + RateInstall, + RippleInstall, + SearchInstall, + SelectInstall, + SkeletonInstall, + SliderInstall, + SplitterInstall, + StatusInstall, + StepsGuideInstall, + StickyInstall, + SwitchInstall, + TableInstall, + TabsInstall, + TagInputInstall, + TimePickerInstall, + ToastInstall, + TooltipInstall, + TransferInstall, + TreeInstall, + UploadInstall +] + +export { + Accordion, + Alert, + Anchor, + Avatar, + Badge, + Breadcrumb, + Button, + Card, + Carousel, + Cascader, + Checkbox, + DatePicker, + StickSlider, + Drawer, + EditableSelect, + EditableSelectOption, + Fullscreen, + Icon, + ImagePreviewDirective, + ImagePreviewService, + Input, + InputNumber, + Layout, + Content, + Header, + Footer, + Aside, + LoadingService, + Loading, + Modal, + FlexibleOverlay, + FixedOverlay, + Pagination, + Panel, + Popover, + Progress, + QuadrantDiagram, + Radio, + RadioGroup, + Rate, + RippleDirective, + Search, + Select, + Skeleton, + Slider, + Splitter, + Status, + StepsGuide, + Sticky, + Switch, + Table, + Column, + Tabs, + TagInput, + TimePicker, + Toast, + ToastService, + Tooltip, + Transfer, + Tree, + Upload, + MultiUpload +} + +export default { + version: '0.0.1', + install(app: App): void { + installs.forEach((p) => app.use(p as any)) + } +} diff --git a/docs/.vitepress/config/sidebar.ts b/docs/.vitepress/config/sidebar.ts new file mode 100644 index 00000000..c21ca8bd --- /dev/null +++ b/docs/.vitepress/config/sidebar.ts @@ -0,0 +1,283 @@ +export default { + '/': [ + { + "text": "快速开始", + "link": "/" + }, + { + "text": "通用", + "children": [ + { + "text": "Button 按钮", + "link": "/components/button/", + "status": "已完成" + }, + { + "text": "Fullscreen 全屏", + "link": "/components/fullscreen/", + "status": "已完成" + }, + { + "text": "Icon 图标", + "link": "/components/icon/", + "status": "已完成" + }, + { + "text": "Overlay 遮罩层", + "link": "/components/overlay/", + "status": "已完成" + }, + { + "text": "Panel 面板", + "link": "/components/panel/", + "status": "100%" + }, + { + "text": "Ripple 水波纹", + "link": "/components/ripple/", + "status": "已完成" + }, + { + "text": "Search 搜索框", + "link": "/components/search/", + "status": "已完成" + }, + { + "text": "Status 状态", + "link": "/components/status/", + "status": "已完成" + }, + { + "text": "Sticky 便贴", + "link": "/components/sticky/", + "status": "50%" + } + ] + }, + { + "text": "导航", + "children": [ + { + "text": "Accordion 手风琴", + "link": "/components/accordion/", + "status": "10%" + }, + { + "text": "Anchor 锚点", + "link": "/components/anchor/", + "status": "50%" + }, + { + "text": "Breadcrumb 面包屑", + "link": "/components/breadcrumb/", + "status": "50%" + }, + { + "text": "Pagination 分页", + "link": "/components/pagination/", + "status": "已完成" + }, + { + "text": "StepsGuide 操作指引", + "link": "/components/steps-guide/", + "status": "50%" + }, + { + "text": "Tabs 选项卡", + "link": "/components/tabs/", + "status": "60%" + } + ] + }, + { + "text": "反馈", + "children": [ + { + "text": "Alert 警告", + "link": "/components/alert/", + "status": "已完成" + }, + { + "text": "Drawer 抽屉板", + "link": "/components/drawer/", + "status": "10%" + }, + { + "text": "Loading 加载提示", + "link": "/components/loading/", + "status": "已完成" + }, + { + "text": "Modal 弹窗", + "link": "/components/modal/", + "status": "已完成" + }, + { + "text": "Popover 悬浮提示", + "link": "/components/popover/", + "status": "已完成" + }, + { + "text": "Toast 全局提示", + "link": "/components/toast/", + "status": "已完成" + }, + { + "text": "Tooltip提示", + "link": "/components/tooltip/", + "status": "50%" + } + ] + }, + { + "text": "数据录入", + "children": [ + { + "text": "Cascader 级联菜单", + "link": "/components/cascader/", + "status": "10%" + }, + { + "text": "Checkbox 复选框", + "link": "/components/checkbox/", + "status": "已完成" + }, + { + "text": "DatePicker 日期选择器", + "link": "/components/date-picker/", + "status": "50%" + }, + { + "text": "EditableSelect 可输入下拉选择框", + "link": "/components/editable-select/", + "status": "10%" + }, + { + "text": "Input 输入框", + "link": "/components/input/", + "status": "已完成" + }, + { + "text": "InputNumber 数字输入框", + "link": "/components/input-number/", + "status": "50%" + }, + { + "text": "Radio 单选框", + "link": "/components/radio/", + "status": "已完成" + }, + { + "text": "Select 下拉框", + "link": "/components/select/", + "status": "10%" + }, + { + "text": "Slider 滑块", + "link": "/components/slider/", + "status": "已完成" + }, + { + "text": "Switch 开关", + "link": "/components/switch/", + "status": "已完成" + }, + { + "text": "TagInput 标签输入框", + "link": "/components/tag-input/", + "status": "已完成" + }, + { + "text": "TimePicker 时间选择器", + "link": "/components/time-picker/", + "status": "80%" + }, + { + "text": "Transfer 穿梭框", + "link": "/components/transfer/", + "status": "10%" + }, + { + "text": "Upload 上传", + "link": "/components/upload/", + "status": "80%" + } + ] + }, + { + "text": "数据展示", + "children": [ + { + "text": "Avatar 头像", + "link": "/components/avatar/", + "status": "已完成" + }, + { + "text": "Badge 徽标", + "link": "/components/badge/", + "status": "已完成" + }, + { + "text": "Card 卡片", + "link": "/components/card/", + "status": "已完成" + }, + { + "text": "Carousel 走马灯", + "link": "/components/carousel/", + "status": "80%" + }, + { + "text": "ImagePreview 图片预览", + "link": "/components/image-preview/", + "status": "已完成" + }, + { + "text": "Progress 进度条", + "link": "/components/progress/", + "status": "已完成" + }, + { + "text": "QuadrantDiagram 象限图", + "link": "/components/quadrant-diagram/", + "status": "10%" + }, + { + "text": "Rate 评分", + "link": "/components/rate/", + "status": "已完成" + }, + { + "text": "Skeleton 骨架屏", + "link": "/components/skeleton/", + "status": "已完成" + }, + { + "text": "Table 表格", + "link": "/components/table/", + "status": "10%" + }, + { + "text": "Tree 树", + "link": "/components/tree/", + "status": "20%" + } + ] + }, + { + "text": "布局", + "children": [ + { + "text": "Layout 布局", + "link": "/components/layout/", + "status": "已完成" + }, + { + "text": "Splitter 分割器", + "link": "/components/splitter/", + "status": "已完成" + } + ] + } + ] +} -- Gitee From 4eb074861df9a1a982fdb80306c3ba5bbf0f21ed Mon Sep 17 00:00:00 2001 From: liusuY <851209312@qq.com> Date: Sat, 13 Nov 2021 00:36:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dissues/I4EXQ8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devui/image-preview/src/image-preview.tsx | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/devui-vue/devui/image-preview/src/image-preview.tsx b/packages/devui-vue/devui/image-preview/src/image-preview.tsx index e389d339..3076a4e2 100644 --- a/packages/devui-vue/devui/image-preview/src/image-preview.tsx +++ b/packages/devui-vue/devui/image-preview/src/image-preview.tsx @@ -1,5 +1,5 @@ import './image-preview.scss' -import { defineComponent, ref, computed, onMounted } from 'vue' +import { defineComponent, ref, computed, onMounted, onUnmounted } from 'vue' import { imagePreviewProps, ImagePreviewProps } from './image-preview-types' import ImagePreviewService from './image-preview-service' import Transform from './transform' @@ -47,10 +47,32 @@ export default defineComponent({ transform.setZoomOriginal() } + function onKeyDown(event:KeyboardEvent) { + if(event.defaultPrevented) return; + + if(event.code == 'Escape') { + onClose(); + }else if(event.code == 'ArrowLeft') { + onPrev(); + }else if(event.code == 'ArrowRight') { + onNext(); + } + } + function initKeyboard() { + document.addEventListener('keydown', onKeyDown, false) + } + function unKeyBoard() { + document.removeEventListener('keydown', onKeyDown, false) + } + onMounted(() => { initIndex() initTransform() + initKeyboard() }) + onUnmounted(()=>{ + unKeyBoard(); + }) return () => { return ( -- Gitee From 8532859e6b9a599d130e8a6cb5c2c95da11f98c6 Mon Sep 17 00:00:00 2001 From: LiuSuY <851209312@qq.com> Date: Fri, 12 Nov 2021 16:46:30 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20devu?= =?UTF-8?q?i/vue-devui.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/vue-devui.ts | 175 --------------------------------------------- 1 file changed, 175 deletions(-) delete mode 100644 devui/vue-devui.ts diff --git a/devui/vue-devui.ts b/devui/vue-devui.ts deleted file mode 100644 index cc1d0bbf..00000000 --- a/devui/vue-devui.ts +++ /dev/null @@ -1,175 +0,0 @@ -import type { App } from 'vue' - -import AccordionInstall, { Accordion } from './accordion' -import AlertInstall, { Alert } from './alert' -import AnchorInstall, { Anchor } from './anchor' -import AvatarInstall, { Avatar } from './avatar' -import BadgeInstall, { Badge } from './badge' -import BreadcrumbInstall, { Breadcrumb } from './breadcrumb' -import ButtonInstall, { Button } from './button' -import CardInstall, { Card } from './card' -import CarouselInstall, { Carousel } from './carousel' -import CascaderInstall, { Cascader } from './cascader' -import CheckboxInstall, { Checkbox } from './checkbox' -import DatePickerInstall, { DatePicker, StickSlider } from './date-picker' -import DrawerInstall, { Drawer } from './drawer' -import EditableSelectInstall, { EditableSelect, EditableSelectOption } from './editable-select' -import FullscreenInstall, { Fullscreen } from './fullscreen' -import IconInstall, { Icon } from './icon' -import ImagePreviewInstall, { ImagePreviewDirective, ImagePreviewService } from './image-preview' -import InputInstall, { Input } from './input' -import InputNumberInstall, { InputNumber } from './input-number' -import LayoutInstall, { Layout, Content, Header, Footer, Aside } from './layout' -import LoadingInstall, { LoadingService, Loading } from './loading' -import ModalInstall, { Modal } from './modal' -import OverlayInstall, { FlexibleOverlay, FixedOverlay } from './overlay' -import PaginationInstall, { Pagination } from './pagination' -import PanelInstall, { Panel } from './panel' -import PopoverInstall, { Popover } from './popover' -import ProgressInstall, { Progress } from './progress' -import QuadrantDiagramInstall, { QuadrantDiagram } from './quadrant-diagram' -import RadioInstall, { Radio, RadioGroup } from './radio' -import RateInstall, { Rate } from './rate' -import RippleInstall, { RippleDirective } from './ripple' -import SearchInstall, { Search } from './search' -import SelectInstall, { Select } from './select' -import SkeletonInstall, { Skeleton } from './skeleton' -import SliderInstall, { Slider } from './slider' -import SplitterInstall, { Splitter } from './splitter' -import StatusInstall, { Status } from './status' -import StepsGuideInstall, { StepsGuide } from './steps-guide' -import StickyInstall, { Sticky } from './sticky' -import SwitchInstall, { Switch } from './switch' -import TableInstall, { Table, Column } from './table' -import TabsInstall, { Tabs } from './tabs' -import TagInputInstall, { TagInput } from './tag-input' -import TimePickerInstall, { TimePicker } from './time-picker' -import ToastInstall, { Toast, ToastService } from './toast' -import TooltipInstall, { Tooltip } from './tooltip' -import TransferInstall, { Transfer } from './transfer' -import TreeInstall, { Tree } from './tree' -import UploadInstall, { Upload, MultiUpload } from './upload' - -const installs = [ - AccordionInstall, - AlertInstall, - AnchorInstall, - AvatarInstall, - BadgeInstall, - BreadcrumbInstall, - ButtonInstall, - CardInstall, - CarouselInstall, - CascaderInstall, - CheckboxInstall, - DatePickerInstall, - DrawerInstall, - EditableSelectInstall, - FullscreenInstall, - IconInstall, - ImagePreviewInstall, - InputInstall, - InputNumberInstall, - LayoutInstall, - LoadingInstall, - ModalInstall, - OverlayInstall, - PaginationInstall, - PanelInstall, - PopoverInstall, - ProgressInstall, - QuadrantDiagramInstall, - RadioInstall, - RateInstall, - RippleInstall, - SearchInstall, - SelectInstall, - SkeletonInstall, - SliderInstall, - SplitterInstall, - StatusInstall, - StepsGuideInstall, - StickyInstall, - SwitchInstall, - TableInstall, - TabsInstall, - TagInputInstall, - TimePickerInstall, - ToastInstall, - TooltipInstall, - TransferInstall, - TreeInstall, - UploadInstall -] - -export { - Accordion, - Alert, - Anchor, - Avatar, - Badge, - Breadcrumb, - Button, - Card, - Carousel, - Cascader, - Checkbox, - DatePicker, - StickSlider, - Drawer, - EditableSelect, - EditableSelectOption, - Fullscreen, - Icon, - ImagePreviewDirective, - ImagePreviewService, - Input, - InputNumber, - Layout, - Content, - Header, - Footer, - Aside, - LoadingService, - Loading, - Modal, - FlexibleOverlay, - FixedOverlay, - Pagination, - Panel, - Popover, - Progress, - QuadrantDiagram, - Radio, - RadioGroup, - Rate, - RippleDirective, - Search, - Select, - Skeleton, - Slider, - Splitter, - Status, - StepsGuide, - Sticky, - Switch, - Table, - Column, - Tabs, - TagInput, - TimePicker, - Toast, - ToastService, - Tooltip, - Transfer, - Tree, - Upload, - MultiUpload -} - -export default { - version: '0.0.1', - install(app: App): void { - installs.forEach((p) => app.use(p as any)) - } -} -- Gitee From 4a7d52001fda2a529beb644de01576d35c56c0da Mon Sep 17 00:00:00 2001 From: LiuSuY <851209312@qq.com> Date: Fri, 12 Nov 2021 16:46:47 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20docs?= =?UTF-8?q?/.vitepress/config/sidebar.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/config/sidebar.ts | 283 ------------------------------ 1 file changed, 283 deletions(-) delete mode 100644 docs/.vitepress/config/sidebar.ts diff --git a/docs/.vitepress/config/sidebar.ts b/docs/.vitepress/config/sidebar.ts deleted file mode 100644 index c21ca8bd..00000000 --- a/docs/.vitepress/config/sidebar.ts +++ /dev/null @@ -1,283 +0,0 @@ -export default { - '/': [ - { - "text": "快速开始", - "link": "/" - }, - { - "text": "通用", - "children": [ - { - "text": "Button 按钮", - "link": "/components/button/", - "status": "已完成" - }, - { - "text": "Fullscreen 全屏", - "link": "/components/fullscreen/", - "status": "已完成" - }, - { - "text": "Icon 图标", - "link": "/components/icon/", - "status": "已完成" - }, - { - "text": "Overlay 遮罩层", - "link": "/components/overlay/", - "status": "已完成" - }, - { - "text": "Panel 面板", - "link": "/components/panel/", - "status": "100%" - }, - { - "text": "Ripple 水波纹", - "link": "/components/ripple/", - "status": "已完成" - }, - { - "text": "Search 搜索框", - "link": "/components/search/", - "status": "已完成" - }, - { - "text": "Status 状态", - "link": "/components/status/", - "status": "已完成" - }, - { - "text": "Sticky 便贴", - "link": "/components/sticky/", - "status": "50%" - } - ] - }, - { - "text": "导航", - "children": [ - { - "text": "Accordion 手风琴", - "link": "/components/accordion/", - "status": "10%" - }, - { - "text": "Anchor 锚点", - "link": "/components/anchor/", - "status": "50%" - }, - { - "text": "Breadcrumb 面包屑", - "link": "/components/breadcrumb/", - "status": "50%" - }, - { - "text": "Pagination 分页", - "link": "/components/pagination/", - "status": "已完成" - }, - { - "text": "StepsGuide 操作指引", - "link": "/components/steps-guide/", - "status": "50%" - }, - { - "text": "Tabs 选项卡", - "link": "/components/tabs/", - "status": "60%" - } - ] - }, - { - "text": "反馈", - "children": [ - { - "text": "Alert 警告", - "link": "/components/alert/", - "status": "已完成" - }, - { - "text": "Drawer 抽屉板", - "link": "/components/drawer/", - "status": "10%" - }, - { - "text": "Loading 加载提示", - "link": "/components/loading/", - "status": "已完成" - }, - { - "text": "Modal 弹窗", - "link": "/components/modal/", - "status": "已完成" - }, - { - "text": "Popover 悬浮提示", - "link": "/components/popover/", - "status": "已完成" - }, - { - "text": "Toast 全局提示", - "link": "/components/toast/", - "status": "已完成" - }, - { - "text": "Tooltip提示", - "link": "/components/tooltip/", - "status": "50%" - } - ] - }, - { - "text": "数据录入", - "children": [ - { - "text": "Cascader 级联菜单", - "link": "/components/cascader/", - "status": "10%" - }, - { - "text": "Checkbox 复选框", - "link": "/components/checkbox/", - "status": "已完成" - }, - { - "text": "DatePicker 日期选择器", - "link": "/components/date-picker/", - "status": "50%" - }, - { - "text": "EditableSelect 可输入下拉选择框", - "link": "/components/editable-select/", - "status": "10%" - }, - { - "text": "Input 输入框", - "link": "/components/input/", - "status": "已完成" - }, - { - "text": "InputNumber 数字输入框", - "link": "/components/input-number/", - "status": "50%" - }, - { - "text": "Radio 单选框", - "link": "/components/radio/", - "status": "已完成" - }, - { - "text": "Select 下拉框", - "link": "/components/select/", - "status": "10%" - }, - { - "text": "Slider 滑块", - "link": "/components/slider/", - "status": "已完成" - }, - { - "text": "Switch 开关", - "link": "/components/switch/", - "status": "已完成" - }, - { - "text": "TagInput 标签输入框", - "link": "/components/tag-input/", - "status": "已完成" - }, - { - "text": "TimePicker 时间选择器", - "link": "/components/time-picker/", - "status": "80%" - }, - { - "text": "Transfer 穿梭框", - "link": "/components/transfer/", - "status": "10%" - }, - { - "text": "Upload 上传", - "link": "/components/upload/", - "status": "80%" - } - ] - }, - { - "text": "数据展示", - "children": [ - { - "text": "Avatar 头像", - "link": "/components/avatar/", - "status": "已完成" - }, - { - "text": "Badge 徽标", - "link": "/components/badge/", - "status": "已完成" - }, - { - "text": "Card 卡片", - "link": "/components/card/", - "status": "已完成" - }, - { - "text": "Carousel 走马灯", - "link": "/components/carousel/", - "status": "80%" - }, - { - "text": "ImagePreview 图片预览", - "link": "/components/image-preview/", - "status": "已完成" - }, - { - "text": "Progress 进度条", - "link": "/components/progress/", - "status": "已完成" - }, - { - "text": "QuadrantDiagram 象限图", - "link": "/components/quadrant-diagram/", - "status": "10%" - }, - { - "text": "Rate 评分", - "link": "/components/rate/", - "status": "已完成" - }, - { - "text": "Skeleton 骨架屏", - "link": "/components/skeleton/", - "status": "已完成" - }, - { - "text": "Table 表格", - "link": "/components/table/", - "status": "10%" - }, - { - "text": "Tree 树", - "link": "/components/tree/", - "status": "20%" - } - ] - }, - { - "text": "布局", - "children": [ - { - "text": "Layout 布局", - "link": "/components/layout/", - "status": "已完成" - }, - { - "text": "Splitter 分割器", - "link": "/components/splitter/", - "status": "已完成" - } - ] - } - ] -} -- Gitee