From a6c94f7941549ed44a0eb98445ddc3bb1f2cfdf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?w=C5=AB=20y=C4=81ng?= Date: Sun, 10 Mar 2024 23:41:09 +0800 Subject: [PATCH] chore: release 1.9.1-naruto (#3108) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs(form): 文档更新 (#3064) * docs(form): 文档更新 * docs(form): 文档更新 * fix(descriptions): title is already declared as a prop (#3065) * docs: update tree demo (#3066) * docs: update tree demo * chore: update snapshot --------- Co-authored-by: Uyarn * chore(deps-dev): bump @babel/eslint-parser from 7.19.1 to 7.23.10 (#3072) Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.19.1 to 7.23.10. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.10/eslint/babel-eslint-parser) --- updated-dependencies: - dependency-name: "@babel/eslint-parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: add composition api demo (#3081) * docs(upload): justify upload demo request-method.vue * docs(upload): composition api demo * chore: eslint ignore examples * docs(table): remove dulplicate varaibles * docs(table): add composition-api demo * docs(notification): fix offset demo code * docs: add composition api demo of components with first letter `a` * docs: add composition api demo of components with first letter `a` * docs: add composition api demo of components with first letter `c` * feat: support various demo display * docs: add composition api demo of components with first letter `d ~ g` * docs(form): add composition demo * docs: add composition api demo of components with first letter `i` * docs: add composition api demo of components with first letter `l ~ p` * docs: add composition api demo of components with first letter `r ~ s` * docs: add composition api demo of components with first letter `t` * docs(table and upload): update composition api demo * docs(table and upload): fix composition api demo * docs(table): fix table composition api demo * docs(tag-input): add draggable.vue composition-api demo * docs(all): fix demo never used * test: update snapshots * feat: complete whole demo display process * feat: complete whole demo display process * feat: set up codesandbox with vite * feat: stackblitz work for vue 2.7 --------- Co-authored-by: Uyarn Co-authored-by: HaixingOoO <974758671@qq.com> * chore: remove assign CI (#3088) * chore: fix demo tab name (#3090) * feat: support table filter input; fix fixed columns in dialog problem (#3098) * [Slider] support label=null or label = false to hide label tips (#3100) * docs(Table): update demo * feat(Slider): support label=null * fix(Slider): label * fix(Slider): hideEmptyPopup * test: update snapshots * feat(table): 支持全局配置 size (#3103) * fix(table): primary-table expose refreshTable function (#3104) * fix(Descriptions): fix descriptions item prompt (#3105) * fix: fix descriptions item prompt * chore: update common * fix(Datepicker): value display wrong with special format (#3106) * chore: release 1.9.1 (#3107) * chore: release 1.9.1 * chore: changelog's changes * chore: resolve warning --------- Co-authored-by: github-actions[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: liweijie0812 <674416404@qq.com> Co-authored-by: betavs <34408516+betavs@users.noreply.github.com> Co-authored-by: sheepluo Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HaixingOoO <974758671@qq.com> Co-authored-by: Lyan-u <46185702+Lyan-u@users.noreply.github.com> Co-authored-by: github-actions[bot] --- .eslintignore | 2 +- .eslintrc | 1 + .github/workflows/issue-assignees.temp.yml | 35 -- CHANGELOG.md | 21 + helper/attributes.json | 10 +- helper/tags.json | 4 +- helper/web-types.json | 16 +- package.json | 4 +- site/plugin-tdoc/demo.js | 7 +- site/plugin-tdoc/transforms.js | 13 +- site/src/components/codesandbox/content.js | 101 +++-- site/src/components/codesandbox/index.vue | 32 +- site/src/components/stackblitz/content.js | 40 ++ site/src/components/stackblitz/index.vue | 24 +- src/_common | 2 +- src/affix/_example-composition/base.vue | 13 + src/affix/_example-composition/container.vue | 50 +++ src/affix/_example/container.vue | 10 - src/alert/_example-composition/base.vue | 15 + src/alert/_example-composition/close.vue | 25 ++ src/alert/_example-composition/collapse.vue | 12 + src/alert/_example-composition/icon.vue | 19 + src/alert/_example-composition/operation.vue | 14 + src/alert/_example-composition/title.vue | 14 + src/alert/_example/collapse.vue | 17 - src/alert/_example/operation.vue | 5 - src/alert/_example/title.vue | 5 - src/anchor/_example-composition/base.vue | 12 + src/anchor/_example-composition/container.vue | 53 +++ src/anchor/_example-composition/cursor.vue | 34 ++ .../customize-highlight.vue | 28 ++ src/anchor/_example-composition/large.vue | 9 + src/anchor/_example-composition/multiple.vue | 14 + src/anchor/_example-composition/small.vue | 22 + src/anchor/_example-composition/target.vue | 17 + src/anchor/_example/base.vue | 3 - src/anchor/_example/cursor.vue | 4 +- src/anchor/_example/large.vue | 4 +- src/anchor/_example/multiple.vue | 3 - src/anchor/_example/small.vue | 4 +- .../_example-composition/base.vue | 59 +++ .../_example-composition/filter.vue | 37 ++ .../_example-composition/option.vue | 93 ++++ .../_example-composition/size.vue | 31 ++ .../_example-composition/status.vue | 80 ++++ .../_example-composition/trigger-element.vue | 26 ++ src/auto-complete/_example/filter.vue | 1 - src/auto-complete/_example/option.vue | 2 +- src/avatar/_example-composition/adjust.vue | 7 + src/avatar/_example-composition/base.vue | 17 + .../_example-composition/group-cascading.vue | 26 ++ src/avatar/_example-composition/group-max.vue | 33 ++ src/avatar/_example-composition/group.vue | 28 ++ src/avatar/_example-composition/shape.vue | 6 + src/avatar/_example-composition/size.vue | 16 + src/avatar/_example/adjust.vue | 7 - src/avatar/_example/shape.vue | 7 - src/avatar/_example/size.vue | 7 - .../_example-composition/baseList.vue | 13 + .../_example-composition/baseListSmall.vue | 14 + src/back-top/_example-composition/custom.vue | 21 + src/back-top/_example-composition/shape.vue | 50 +++ src/back-top/_example-composition/size.vue | 50 +++ src/back-top/_example-composition/theme.vue | 31 ++ src/badge/_example-composition/base.vue | 27 ++ src/badge/_example-composition/custom.vue | 32 ++ src/badge/_example-composition/number.vue | 24 + src/badge/_example-composition/offset.vue | 34 ++ src/badge/_example-composition/shape.vue | 21 + src/badge/_example-composition/size.vue | 43 ++ src/breadcrumb/_example-composition/base.vue | 7 + .../_example-composition/custom.vue | 13 + .../_example-composition/dropdown.vue | 10 + src/breadcrumb/_example-composition/href.vue | 22 + src/breadcrumb/_example-composition/icon.vue | 10 + .../_example-composition/options.vue | 20 + src/breadcrumb/_example-composition/to.vue | 6 + src/breadcrumb/_example/custom.vue | 6 +- src/breadcrumb/_example/dropdown.vue | 6 +- src/breadcrumb/_example/icon.vue | 10 +- src/button/_example-composition/base.vue | 8 + src/button/_example-composition/block.vue | 14 + .../_example-composition/custom-element.vue | 7 + src/button/_example-composition/ghost.vue | 29 ++ src/button/_example-composition/icon.vue | 27 ++ src/button/_example-composition/shape.vue | 31 ++ src/button/_example-composition/size.vue | 22 + src/button/_example-composition/status.vue | 6 + src/button/_example-composition/theme.vue | 34 ++ src/calendar/_example-composition/base.vue | 3 + src/calendar/_example-composition/card.vue | 47 ++ .../_example-composition/cell-append.vue | 22 + src/calendar/_example-composition/cell.vue | 97 +++++ .../controller-config.vue | 146 +++++++ src/calendar/_example-composition/events.vue | 47 ++ .../first-day-of-week.vue | 55 +++ src/calendar/_example-composition/head.vue | 5 + src/calendar/_example-composition/mode.vue | 32 ++ src/calendar/_example-composition/range.vue | 13 + .../_example-composition/slot-props-api.vue | 112 +++++ src/calendar/_example-composition/value.vue | 31 ++ src/calendar/_example-composition/week.vue | 33 ++ src/calendar/_example/base.vue | 1 - src/calendar/_example/card.vue | 1 - src/card/_example-composition/base.vue | 20 + .../_example-composition/bordered-none.vue | 28 ++ src/card/_example-composition/bordered.vue | 11 + .../custom-loading-props.vue | 16 + .../_example-composition/footer-actions.vue | 89 ++++ .../footer-content-actions.vue | 40 ++ .../_example-composition/footer-content.vue | 12 + src/card/_example-composition/footer.vue | 31 ++ .../_example-composition/header-all-props.vue | 26 ++ .../_example-composition/header-bordered.vue | 18 + .../header-description.vue | 24 + .../header-footer-actions.vue | 55 +++ .../header-subtitle-footer-actions.vue | 58 +++ .../_example-composition/header-subtitle.vue | 24 + src/card/_example-composition/header.vue | 18 + src/card/_example-composition/hover.vue | 19 + src/card/_example-composition/small.vue | 26 ++ src/card/_example/base.vue | 1 - src/card/_example/bordered-none.vue | 1 - src/card/_example/footer-actions.vue | 4 - src/card/_example/footer-content-actions.vue | 4 - src/card/_example/footer-content.vue | 7 - src/card/_example/footer.vue | 12 +- .../header-subtitle-footer-actions.vue | 6 +- src/cascader/_example-composition/base.vue | 50 +++ .../_example-composition/check-strictly.vue | 102 +++++ .../_example-composition/collapsed.vue | 77 ++++ .../_example-composition/custom-options.vue | 126 ++++++ .../_example-composition/disabled.vue | 46 ++ .../_example-composition/ellipsis.vue | 46 ++ .../_example-composition/filterable.vue | 52 +++ src/cascader/_example-composition/keys.vue | 57 +++ src/cascader/_example-composition/load.vue | 65 +++ src/cascader/_example-composition/max.vue | 42 ++ .../_example-composition/multiple.vue | 42 ++ src/cascader/_example-composition/panel.vue | 56 +++ .../_example-composition/show-all-levels.vue | 46 ++ src/cascader/_example-composition/size.vue | 52 +++ src/cascader/_example-composition/trigger.vue | 45 ++ .../_example-composition/value-display.vue | 80 ++++ .../_example-composition/value-mode.vue | 48 ++ .../_example-composition/value-type.vue | 51 +++ src/cascader/_example/collapsed.vue | 1 - src/cascader/_example/multiple.vue | 5 - src/checkbox/_example-composition/base.vue | 15 + .../_example-composition/controlled.vue | 53 +++ src/checkbox/_example-composition/group.vue | 124 ++++++ src/checkbox/_example-composition/link.vue | 16 + src/checkbox/_example/group.vue | 4 +- src/collapse/_example-composition/base.vue | 39 ++ src/collapse/_example-composition/icon.vue | 40 ++ src/collapse/_example-composition/mutex.vue | 31 ++ src/collapse/_example-composition/other.vue | 37 ++ .../_example-composition/rightSlot.vue | 40 ++ src/collapse/_example/icon.vue | 1 - .../_example-composition/color-mode.vue | 32 ++ .../_example-composition/enable-alpha.vue | 11 + .../_example-composition/panel.vue | 41 ++ .../_example-composition/recent-color.vue | 29 ++ .../_example-composition/status-disabled.vue | 8 + .../_example-composition/status-readonly.vue | 8 + .../_example-composition/swatch-color.vue | 18 + .../_example-composition/trigger.vue | 8 + src/comment/_example-composition/base.vue | 8 + src/comment/_example-composition/list.vue | 57 +++ .../_example-composition/operation.vue | 31 ++ src/comment/_example-composition/quote.vue | 35 ++ .../_example-composition/reply-form.vue | 37 ++ src/comment/_example-composition/reply.vue | 61 +++ src/comment/_example/operation.vue | 9 +- src/comment/_example/quote.vue | 9 +- src/comment/_example/reply-form.vue | 1 - src/comment/_example/reply.vue | 12 +- .../_example-composition/calendar.vue | 92 ++++ .../_example-composition/date-picker.vue | 62 +++ .../_example-composition/dialog.vue | 43 ++ .../_example-composition/global.vue | 26 ++ .../_example-composition/input.vue | 17 + .../_example-composition/others.vue | 257 +++++++++++ .../_example-composition/pagination.vue | 30 ++ .../_example-composition/popconfirm.vue | 63 +++ .../_example-composition/table.vue | 90 ++++ src/config-provider/_example/others.vue | 6 +- src/config-provider/_example/table.vue | 8 +- src/config-provider/config-provider.en-US.md | 9 +- src/config-provider/config-provider.md | 61 +-- src/config-provider/type.ts | 7 +- src/date-picker/DatePicker.tsx | 10 +- src/date-picker/_example-composition/base.vue | 27 ++ .../_example-composition/custom-icon.vue | 16 + .../_example-composition/date-presets-alt.vue | 18 + .../_example-composition/date-range.vue | 23 + .../_example-composition/date-time.vue | 6 + .../_example-composition/disable-date.vue | 54 +++ .../first-day-of-week.vue | 16 + .../_example-composition/month.vue | 6 + .../_example-composition/panel.vue | 52 +++ .../_example-composition/quarter.vue | 6 + src/date-picker/_example-composition/week.vue | 6 + src/date-picker/_example-composition/year.vue | 6 + src/date-picker/_example/base.vue | 1 - .../_example-composition/base.vue | 10 + .../_example-composition/bordered.vue | 8 + .../_example-composition/colon.vue | 17 + .../_example-composition/column.vue | 18 + .../_example-composition/custom-style.vue | 14 + .../_example-composition/items.vue | 20 + .../_example-composition/layout.vue | 29 ++ .../_example-composition/size.vue | 18 + src/descriptions/_example/items.vue | 4 +- src/descriptions/descriptions.tsx | 6 +- src/dialog/_example-composition/async.vue | 72 +++ src/dialog/_example-composition/attach.vue | 82 ++++ src/dialog/_example-composition/base.vue | 58 +++ src/dialog/_example-composition/custom.vue | 148 +++++++ .../_example-composition/custom/body.vue | 65 +++ .../_example-composition/custom/bottom.vue | 51 +++ src/dialog/_example-composition/drag.vue | 53 +++ src/dialog/_example-composition/icon.vue | 65 +++ src/dialog/_example-composition/modal.vue | 65 +++ src/dialog/_example-composition/plugin.vue | 112 +++++ src/dialog/_example-composition/position.vue | 98 +++++ src/dialog/_example-composition/warning.vue | 99 +++++ src/dialog/_example/attach.vue | 10 +- src/dialog/_example/custom/body.vue | 6 +- src/dialog/_example/drag.vue | 11 +- src/dialog/_example/plugin.vue | 5 +- src/dialog/_example/position.vue | 7 +- src/dialog/_example/warning.vue | 11 +- src/divider/_example-composition/base.vue | 9 + src/divider/_example-composition/text.vue | 11 + src/divider/_example-composition/vertical.vue | 11 + .../_example-composition/attach-parent.vue | 49 +++ src/drawer/_example-composition/base.vue | 31 ++ src/drawer/_example-composition/custom.vue | 56 +++ src/drawer/_example-composition/destroy.vue | 16 + src/drawer/_example-composition/no-mask.vue | 31 ++ src/drawer/_example-composition/operation.vue | 42 ++ src/drawer/_example-composition/placement.vue | 31 ++ src/drawer/_example-composition/popup.vue | 26 ++ .../_example-composition/size-draggable.vue | 32 ++ src/drawer/_example-composition/size.vue | 33 ++ src/drawer/_example/attach-parent.vue | 6 +- src/drawer/_example/base.vue | 5 +- src/drawer/_example/custom.vue | 6 +- src/drawer/_example/destroy.vue | 6 +- src/drawer/_example/no-mask.vue | 6 +- src/drawer/_example/operation.vue | 6 +- src/drawer/_example/placement.vue | 6 +- src/drawer/_example/popup.vue | 6 +- src/drawer/_example/size-draggable.vue | 6 +- src/drawer/_example/size.vue | 6 +- src/dropdown/_example-composition/base.vue | 51 +++ src/dropdown/_example-composition/button.vue | 40 ++ src/dropdown/_example-composition/custom.vue | 50 +++ .../_example-composition/disabled.vue | 37 ++ src/dropdown/_example-composition/event.vue | 34 ++ src/dropdown/_example-composition/icon.vue | 66 +++ src/dropdown/_example-composition/left.vue | 62 +++ src/dropdown/_example-composition/long.vue | 23 + .../_example-composition/multiple.vue | 125 ++++++ src/dropdown/_example-composition/slot.vue | 79 ++++ src/dropdown/_example-composition/split.vue | 35 ++ src/dropdown/_example-composition/theme.vue | 61 +++ src/dropdown/_example/disabled.vue | 5 +- src/dropdown/_example/left.vue | 4 +- src/dropdown/_example/long.vue | 4 +- src/dropdown/_example/theme.vue | 4 +- src/form/_example-composition/align.vue | 31 ++ src/form/_example-composition/base.vue | 333 ++++++++++++++ .../_example-composition/clear-validate.vue | 211 +++++++++ .../_example-composition/custom-validator.vue | 131 ++++++ src/form/_example-composition/disabled.vue | 176 ++++++++ .../_example-composition/error-message.vue | 235 ++++++++++ src/form/_example-composition/layout.vue | 49 +++ src/form/_example-composition/login.vue | 43 ++ src/form/_example-composition/reset.vue | 80 ++++ src/form/_example-composition/size.vue | 77 ++++ .../validate-complicated-data.vue | 214 +++++++++ .../_example-composition/validate-message.vue | 96 ++++ .../_example-composition/validator-status.vue | 177 ++++++++ src/form/_example-composition/validator.vue | 333 ++++++++++++++ src/form/_example/custom-validator.vue | 6 - src/form/_example/validate-message.vue | 1 - src/form/form-item-props.ts | 5 +- src/form/form.en-US.md | 24 +- src/form/form.md | 12 +- src/form/props.ts | 1 - src/form/type.ts | 18 +- src/grid/_example-composition/base.vue | 22 + src/grid/_example-composition/flex.vue | 39 ++ src/grid/_example-composition/gutter.vue | 66 +++ src/grid/_example-composition/halign.vue | 83 ++++ src/grid/_example-composition/offset.vue | 27 ++ src/grid/_example-composition/order.vue | 16 + src/grid/_example-composition/responsive.vue | 26 ++ src/grid/_example-composition/sort.vue | 10 + src/grid/_example-composition/valign.vue | 51 +++ src/guide/_example-composition/base.vue | 136 ++++++ .../_example-composition/custom-popup.vue | 139 ++++++ .../_example-composition/dialog-body.vue | 30 ++ src/guide/_example-composition/dialog.vue | 137 ++++++ .../_example-composition/highlightContent.vue | 16 + src/guide/_example-composition/my-popup.vue | 60 +++ src/guide/_example-composition/no-mask.vue | 136 ++++++ .../_example-composition/popup-dialog.vue | 137 ++++++ src/guide/_example/dialog-body.vue | 2 - src/icon/_example-composition/base.vue | 34 ++ src/icon/_example-composition/enhanced.vue | 25 ++ src/icon/_example-composition/icon-select.vue | 30 ++ .../iconfont-enhanced.vue | 26 ++ src/icon/_example-composition/iconfont.vue | 30 ++ src/icon/_example-composition/single.vue | 44 ++ src/icon/_example/base.vue | 2 +- .../_example-composition/album.vue | 107 +++++ .../_example-composition/albumIcons.vue | 139 ++++++ .../_example-composition/base.vue | 99 +++++ .../_example-composition/block.vue | 111 +++++ .../_example-composition/button.vue | 13 + .../_example-composition/error.vue | 161 +++++++ .../_example-composition/modeless.vue | 99 +++++ .../_example-composition/multiple.vue | 100 +++++ src/image-viewer/_example/album.vue | 10 +- src/image-viewer/_example/albumIcons.vue | 11 +- src/image-viewer/_example/base.vue | 8 - src/image-viewer/_example/block.vue | 14 +- src/image-viewer/_example/button.vue | 6 +- src/image-viewer/_example/error.vue | 8 +- src/image-viewer/_example/modeless.vue | 4 +- src/image-viewer/_example/multiple.vue | 3 +- src/image/_example-composition/avif.vue | 15 + .../_example-composition/extra-always.vue | 75 ++++ .../_example-composition/extra-hover.vue | 28 ++ src/image/_example-composition/fill-mode.vue | 18 + .../_example-composition/fill-position.vue | 102 +++++ .../_example-composition/gallery-cover.vue | 29 ++ src/image/_example-composition/lazy-list.vue | 29 ++ .../_example-composition/lazy-single.vue | 55 +++ .../_example-composition/placeholder.vue | 69 +++ src/image/_example-composition/shape.vue | 31 ++ src/image/_example/extra-always.vue | 5 +- src/image/_example/extra-hover.vue | 6 +- src/image/_example/fill-mode.vue | 14 +- src/image/_example/fill-position.vue | 10 - src/image/_example/gallery-cover.vue | 5 +- src/image/_example/lazy-list.vue | 5 +- src/image/_example/lazy-single.vue | 5 +- src/image/_example/placeholder.vue | 5 +- .../_example-composition/select.vue | 41 ++ .../_example-composition/text.vue | 15 + src/input-adornment/_example/select.vue | 16 +- .../_example-composition/align.vue | 14 + .../_example-composition/auto-width.vue | 11 + .../_example-composition/center.vue | 69 +++ .../_example-composition/default.vue | 5 + .../_example-composition/disabled.vue | 11 + .../_example-composition/empty.vue | 11 + .../_example-composition/format.vue | 31 ++ .../_example-composition/large-number.vue | 19 + .../_example-composition/left.vue | 22 + .../_example-composition/normal.vue | 18 + .../_example-composition/size.vue | 17 + .../_example-composition/status.vue | 103 +++++ .../_example-composition/step.vue | 21 + src/input-number/_example/center.vue | 13 +- src/input/_example-composition/addon.vue | 15 + src/input/_example-composition/align.vue | 7 + src/input/_example-composition/auto-width.vue | 3 + src/input/_example-composition/base.vue | 36 ++ src/input/_example-composition/clearable.vue | 12 + src/input/_example-composition/focus.vue | 8 + src/input/_example-composition/format.vue | 32 ++ src/input/_example-composition/group.vue | 26 ++ .../_example-composition/max-length-count.vue | 45 ++ src/input/_example-composition/password.vue | 14 + src/input/_example-composition/size.vue | 7 + src/input/_example-composition/status.vue | 26 ++ src/input/_example-composition/textarea.vue | 12 + src/layout/_example-composition/aside.vue | 35 ++ src/layout/_example-composition/base.vue | 44 ++ src/layout/_example-composition/combine.vue | 50 +++ src/layout/_example-composition/top.vue | 34 ++ src/link/_example-composition/base.vue | 5 + src/link/_example-composition/disabled.vue | 20 + src/link/_example-composition/download.vue | 6 + src/link/_example-composition/hover.vue | 25 ++ src/link/_example-composition/icon.vue | 25 ++ src/link/_example-composition/size.vue | 38 ++ src/link/_example-composition/theme.vue | 9 + src/link/_example-composition/underline.vue | 9 + src/list/_example-composition/base.vue | 20 + .../_example-composition/header-footer.vue | 34 ++ src/list/_example-composition/image-text.vue | 30 ++ src/list/_example-composition/loading.vue | 37 ++ src/list/_example-composition/multiline.vue | 13 + src/list/_example-composition/operation.vue | 50 +++ src/list/_example-composition/scroll.vue | 29 ++ src/list/_example-composition/size.vue | 21 + src/list/_example-composition/stripe.vue | 8 + src/loading/_example-composition/attach.vue | 25 ++ src/loading/_example-composition/base.vue | 5 + src/loading/_example-composition/delay.vue | 38 ++ .../_example-composition/directive.vue | 64 +++ .../_example-composition/fullscreen.vue | 22 + .../_example-composition/icon-text.vue | 5 + src/loading/_example-composition/service.vue | 112 +++++ src/loading/_example-composition/size.vue | 19 + src/loading/_example-composition/text.vue | 15 + src/loading/_example-composition/wrap.vue | 23 + .../_example-composition/closable-side.vue | 50 +++ .../_example-composition/custom-header.vue | 50 +++ src/menu/_example-composition/custom-side.vue | 11 + src/menu/_example-composition/double.vue | 111 +++++ src/menu/_example-composition/group-side.vue | 80 ++++ .../_example-composition/head-menu-dark.vue | 33 ++ .../_example-composition/head-menu-empty.vue | 8 + .../head-menu-mode-tile.vue | 41 ++ .../_example-composition/head-menu-tile.vue | 97 +++++ src/menu/_example-composition/multi-side.vue | 161 +++++++ src/menu/_example-composition/multiple.vue | 115 +++++ src/menu/_example-composition/popup-side.vue | 72 +++ .../_example-composition/side-menu-width.vue | 58 +++ src/menu/_example-composition/single-side.vue | 144 ++++++ src/menu/_example-composition/single.vue | 83 ++++ src/menu/_example/double.vue | 5 +- src/menu/_example/head-menu-tile.vue | 4 +- src/menu/_example/multi-side.vue | 1 - src/message/_example-composition/base.vue | 9 + .../_example-composition/close-all.vue | 19 + src/message/_example-composition/close.vue | 50 +++ src/message/_example-composition/loading.vue | 36 ++ .../_example-composition/placement.vue | 132 ++++++ src/message/_example-composition/plugin.vue | 92 ++++ src/message/_example-composition/toggle.vue | 30 ++ src/message/_example-composition/type.vue | 19 + src/message/_example/close-all.vue | 5 - src/message/_example/plugin.vue | 7 - .../_example-composition/base.vue | 19 + .../_example-composition/close-all.vue | 25 ++ .../_example-composition/close.vue | 38 ++ .../_example-composition/content.vue | 13 + .../_example-composition/footer.vue | 27 ++ .../_example-composition/icon.vue | 8 + .../_example-composition/offset.vue | 28 ++ .../_example-composition/operation.vue | 53 +++ .../_example-composition/placement.vue | 45 ++ .../_example-composition/plugin.vue | 84 ++++ .../_example-composition/size.vue | 15 + .../_example-composition/toggle.vue | 31 ++ .../_example-composition/type.vue | 14 + .../_example-composition/type4Fn.vue | 41 ++ src/notification/_example/close-all.vue | 5 - src/notification/_example/offset.vue | 10 +- src/notification/_example/operation.vue | 32 +- src/notification/_example/plugin.vue | 21 - src/pagination/_example-composition/base.vue | 40 ++ .../_example-composition/customizable.vue | 19 + .../_example-composition/disabled.vue | 11 + src/pagination/_example-composition/few.vue | 14 + src/pagination/_example-composition/jump.vue | 12 + src/pagination/_example-composition/mini.vue | 11 + src/pagination/_example-composition/more.vue | 17 + .../_example-composition/page-num.vue | 40 ++ .../_example-composition/pagination-mini.vue | 32 ++ .../_example-composition/simple-mini.vue | 9 + .../_example-composition/simple.vue | 11 + src/pagination/_example-composition/total.vue | 14 + src/popconfirm/_example-composition/base.vue | 38 ++ .../_example-composition/button.vue | 45 ++ .../_example-composition/describe.vue | 31 ++ src/popconfirm/_example-composition/icon.vue | 42 ++ .../_example-composition/inherit.vue | 12 + src/popup/_example-composition/base.vue | 35 ++ src/popup/_example-composition/container.vue | 20 + src/popup/_example-composition/destroy.vue | 7 + src/popup/_example-composition/disabled.vue | 7 + src/popup/_example-composition/placement.vue | 91 ++++ src/popup/_example-composition/plugin.vue | 63 +++ src/popup/_example-composition/style.vue | 35 ++ .../_example-composition/trigger-element.vue | 42 ++ src/popup/_example-composition/trigger.vue | 16 + src/popup/_example-composition/visible.vue | 19 + src/popup/_example/container.vue | 4 +- src/popup/_example/placement.vue | 2 +- src/progress/_example-composition/circle.vue | 60 +++ src/progress/_example-composition/custom.vue | 27 ++ src/progress/_example-composition/line.vue | 38 ++ src/progress/_example-composition/plump.vue | 29 ++ src/progress/_example-composition/size.vue | 39 ++ src/progress/_example-composition/status.vue | 28 ++ src/progress/_example/line.vue | 10 +- src/radio/_example-composition/base.vue | 8 + src/radio/_example-composition/group.vue | 48 ++ src/radio/_example-composition/size.vue | 24 + src/radio/_example-composition/type.vue | 61 +++ src/range-input/_example-composition/base.vue | 3 + .../_example-composition/popup.vue | 9 + src/range-input/_example-composition/size.vue | 7 + .../_example-composition/status.vue | 7 + src/rate/_example-composition/base.vue | 8 + src/rate/_example-composition/custom.vue | 8 + src/rate/_example-composition/icon.vue | 27 ++ src/rate/_example-composition/size.vue | 13 + src/rate/_example-composition/status.vue | 16 + src/rate/_example-composition/texts.vue | 8 + .../_example-composition/autocomplete.vue | 66 +++ .../autowidth-multiple.vue | 147 +++++++ .../_example-composition/autowidth.vue | 107 +++++ .../borderless-multiple.vue | 144 ++++++ .../_example-composition/borderless.vue | 96 ++++ .../_example-composition/collapsed-items.vue | 183 ++++++++ .../_example-composition/custom-tag.vue | 150 +++++++ .../excess-tags-display-type.vue | 152 +++++++ .../_example-composition/label-suffix.vue | 138 ++++++ .../_example-composition/multiple.vue | 206 +++++++++ .../_example-composition/single.vue | 106 +++++ .../_example-composition/status.vue | 70 +++ .../_example-composition/width.vue | 78 ++++ src/select-input/_example/autowidth.vue | 4 +- src/select-input/_example/borderless.vue | 4 +- src/select-input/_example/custom-tag.vue | 4 +- src/select-input/_example/label-suffix.vue | 4 +- src/select/_example-composition/base.vue | 77 ++++ src/select/_example-composition/collapsed.vue | 104 +++++ src/select/_example-composition/creatable.vue | 51 +++ .../_example-composition/custom-options.vue | 125 ++++++ .../_example-composition/custom-selected.vue | 92 ++++ src/select/_example-composition/disabled.vue | 41 ++ .../_example-composition/filterable.vue | 66 +++ src/select/_example-composition/group.vue | 78 ++++ .../_example-composition/label-in-value.vue | 55 +++ src/select/_example-composition/max.vue | 23 + src/select/_example-composition/multiple.vue | 108 +++++ src/select/_example-composition/noborder.vue | 42 ++ src/select/_example-composition/panel.vue | 102 +++++ .../_example-composition/popup-props.vue | 57 +++ src/select/_example-composition/prefix.vue | 26 ++ .../_example-composition/remote-search.vue | 94 ++++ .../_example-composition/scroll-bottom.vue | 46 ++ src/select/_example-composition/size.vue | 57 +++ src/select/_example-composition/status.vue | 42 ++ .../_example-composition/virtual-scroll.vue | 39 ++ src/select/_example/prefix.vue | 6 +- src/select/_example/remote-search.vue | 3 - src/select/_example/scroll-bottom.vue | 26 +- src/select/_example/virtual-scroll.vue | 6 +- src/skeleton/_example-composition/advance.vue | 95 ++++ .../_example-composition/animation.vue | 29 ++ src/skeleton/_example-composition/base.vue | 25 ++ src/skeleton/_example-composition/delay.vue | 32 ++ src/skeleton/_example-composition/theme.vue | 45 ++ src/skeleton/_example/delay.vue | 4 +- src/slider/_example-composition/base.vue | 20 + src/slider/_example-composition/disabled.vue | 17 + .../input-number-vertical.vue | 16 + .../_example-composition/input-number.vue | 16 + src/slider/_example-composition/marks.vue | 33 ++ .../_example-composition/min-and-max.vue | 19 + src/slider/_example-composition/step.vue | 18 + .../_example-composition/vertical-marks.vue | 32 ++ src/slider/_example-composition/vertical.vue | 20 + src/slider/_example/base.vue | 2 +- src/slider/_example/disabled.vue | 1 - src/slider/slider-button.tsx | 7 +- src/space/_example-composition/align.vue | 36 ++ src/space/_example-composition/base.vue | 7 + src/space/_example-composition/break-line.vue | 14 + src/space/_example-composition/separator.vue | 11 + src/space/_example-composition/size.vue | 18 + src/space/_example-composition/vertical.vue | 13 + src/space/_example/separator.vue | 8 +- .../_example-composition/animation.vue | 28 ++ src/statistic/_example-composition/base.vue | 6 + src/statistic/_example-composition/color.vue | 9 + .../_example-composition/combination.vue | 51 +++ .../_example-composition/loading.vue | 12 + src/statistic/_example-composition/slot.vue | 19 + src/statistic/_example-composition/trend.vue | 7 + src/steps/_example-composition/extra.vue | 41 ++ src/steps/_example-composition/icon.vue | 22 + .../_example-composition/no-sequence.vue | 14 + src/steps/_example-composition/options.vue | 27 ++ src/steps/_example-composition/sequence.vue | 41 ++ src/steps/_example-composition/status.vue | 16 + .../vertical-no-sequence.vue | 22 + .../vertical-sequence.vue | 22 + src/sticky-tool/_example-composition/base.vue | 38 ++ .../_example-composition/compact.vue | 37 ++ .../_example-composition/shape.vue | 54 +++ src/swiper/_example-composition/base.vue | 24 + src/swiper/_example-composition/card.vue | 24 + src/swiper/_example-composition/current.vue | 35 ++ src/swiper/_example-composition/fade.vue | 24 + src/swiper/_example-composition/fraction.vue | 24 + src/swiper/_example-composition/placement.vue | 24 + src/swiper/_example-composition/size.vue | 50 +++ src/swiper/_example-composition/vertical.vue | 24 + src/switch/_example-composition/base.vue | 15 + src/switch/_example-composition/describe.vue | 46 ++ src/switch/_example-composition/size.vue | 13 + src/switch/_example-composition/status.vue | 14 + src/switch/_example/describe.vue | 3 - src/switch/_example/size.vue | 5 - src/table/_example-composition/affix.vue | 213 +++++++++ .../_example-composition/async-loading.vue | 109 +++++ src/table/_example-composition/base.vue | 126 ++++++ .../_example-composition/custom-cell.vue | 96 ++++ .../custom-col-button.vue | 195 +++++++++ src/table/_example-composition/custom-col.vue | 178 ++++++++ .../_example-composition/custom-footer.vue | 138 ++++++ .../_example-composition/custom-header.vue | 87 ++++ src/table/_example-composition/data-sort.vue | 174 ++++++++ .../_example-composition/drag-col-sort.vue | 94 ++++ .../drag-sort-handler.vue | 112 +++++ src/table/_example-composition/drag-sort.vue | 113 +++++ .../_example-composition/editable-cell.vue | 232 ++++++++++ .../_example-composition/editable-row.vue | 333 ++++++++++++++ src/table/_example-composition/ellipsis.vue | 172 ++++++++ src/table/_example-composition/empty.vue | 49 +++ src/table/_example-composition/expandable.vue | 213 +++++++++ .../filter-controlled.vue | 272 ++++++++++++ .../_example-composition/fixed-column.vue | 148 +++++++ .../_example-composition/fixed-header-col.vue | 154 +++++++ .../_example-composition/fixed-header.vue | 123 ++++++ src/table/_example-composition/lazy.vue | 107 +++++ src/table/_example-composition/loading.vue | 85 ++++ .../_example-composition/merge-cells.vue | 120 +++++ .../_example-composition/multi-header.vue | 247 +++++++++++ .../_example-composition/multiple-sort.vue | 139 ++++++ .../_example-composition/pagination-ajax.vue | 141 ++++++ src/table/_example-composition/pagination.vue | 133 ++++++ .../_example-composition/select-multiple.vue | 146 +++++++ .../_example-composition/select-single.vue | 192 ++++++++ .../_example-composition/single-sort.vue | 148 +++++++ src/table/_example-composition/style.vue | 132 ++++++ .../_example-composition/tree-select.vue | 241 ++++++++++ src/table/_example-composition/tree.vue | 412 ++++++++++++++++++ .../_example-composition/virtual-scroll.vue | 130 ++++++ src/table/_example/affix.vue | 7 +- src/table/_example/async-loading.vue | 10 +- src/table/_example/base.vue | 6 +- src/table/_example/custom-cell.vue | 6 +- src/table/_example/custom-col.vue | 6 +- src/table/_example/custom-footer.vue | 6 +- src/table/_example/custom-header.vue | 10 +- src/table/_example/data-sort.vue | 20 +- src/table/_example/drag-sort-handler.vue | 4 +- src/table/_example/drag-sort.vue | 18 +- src/table/_example/editable-cell.vue | 12 +- src/table/_example/ellipsis.vue | 6 +- src/table/_example/expandable.vue | 14 +- src/table/_example/filter-controlled.vue | 32 +- src/table/_example/fixed-column.vue | 6 +- src/table/_example/fixed-header-col.vue | 6 +- src/table/_example/fixed-header.vue | 6 +- src/table/_example/lazy.vue | 4 +- src/table/_example/loading.vue | 12 +- src/table/_example/merge-cells.vue | 4 +- src/table/_example/multi-header.vue | 10 +- src/table/_example/multiple-sort.vue | 10 +- src/table/_example/pagination-ajax.vue | 4 +- src/table/_example/pagination.vue | 6 +- src/table/_example/select-multiple.vue | 4 +- src/table/_example/select-single.vue | 8 +- src/table/_example/single-sort.vue | 26 +- src/table/_example/style.vue | 6 +- src/table/_example/tree-select.vue | 14 +- src/table/_example/tree.vue | 16 +- src/table/_example/virtual-scroll.vue | 4 +- src/table/base-table-props.ts | 5 +- src/table/base-table.tsx | 4 +- src/table/enhanced-table-props.ts | 2 +- src/table/filter-controller.tsx | 40 +- src/table/hooks/useClassName.ts | 1 + src/table/hooks/useFixed.ts | 2 +- src/table/hooks/useStyle.ts | 5 +- src/table/hooks/useTreeDataExpand.ts | 4 +- src/table/primary-table-props.ts | 17 +- src/table/primary-table.tsx | 8 +- src/table/table.en-US.md | 15 +- src/table/table.md | 39 +- src/table/type.ts | 38 +- src/tabs/_example-composition/ban.vue | 28 ++ src/tabs/_example-composition/base.vue | 46 ++ src/tabs/_example-composition/combination.vue | 22 + src/tabs/_example-composition/custom.vue | 66 +++ src/tabs/_example-composition/icon.vue | 32 ++ src/tabs/_example-composition/operation.vue | 58 +++ src/tabs/_example-composition/position.vue | 30 ++ src/tabs/_example-composition/size.vue | 34 ++ src/tabs/_example-composition/theme.vue | 34 ++ src/tabs/_example/custom.vue | 10 +- src/tabs/_example/icon.vue | 12 +- src/tabs/_example/operation.vue | 10 +- .../_example-composition/auto-width.vue | 8 + src/tag-input/_example-composition/base.vue | 27 ++ .../_example-composition/collapsed.vue | 30 ++ .../_example-composition/custom-tag.vue | 37 ++ .../_example-composition/draggable.vue | 53 +++ src/tag-input/_example-composition/excess.vue | 14 + src/tag-input/_example-composition/max.vue | 14 + src/tag-input/_example-composition/size.vue | 16 + src/tag-input/_example-composition/status.vue | 46 ++ src/tag-input/_example-composition/theme.vue | 13 + src/tag-input/_example/collapsed.vue | 6 +- src/tag-input/_example/custom-tag.vue | 5 - src/tag/_example-composition/base.vue | 43 ++ .../_example-composition/check-tag-group.vue | 133 ++++++ src/tag/_example-composition/delete.vue | 109 +++++ src/tag/_example-composition/disabled.vue | 6 + src/tag/_example-composition/icon.vue | 18 + src/tag/_example-composition/long-text.vue | 7 + src/tag/_example-composition/plain.vue | 9 + src/tag/_example-composition/selectable.vue | 60 +++ src/tag/_example-composition/shape.vue | 27 ++ src/tag/_example-composition/size.vue | 7 + src/tag/_example-composition/theme.vue | 25 ++ src/tag/_example/delete.vue | 4 +- src/textarea/_example-composition/base.vue | 29 ++ src/textarea/_example-composition/events.vue | 31 ++ .../_example-composition/maxlength.vue | 22 + src/textarea/_example-composition/type.vue | 10 + src/time-picker/_example-composition/base.vue | 13 + .../_example-composition/clearable.vue | 16 + .../_example-composition/disabled.vue | 28 ++ .../_example-composition/format.vue | 9 + .../hide-clear-button.vue | 14 + src/time-picker/_example-composition/hm.vue | 8 + src/time-picker/_example-composition/hms.vue | 21 + .../_example-composition/keyboard.vue | 23 + .../_example-composition/panel.vue | 24 + .../_example-composition/range.vue | 14 + .../_example-composition/show-steps.vue | 3 + src/time-picker/_example-composition/step.vue | 9 + .../twelve-hour-meridian.vue | 9 + .../_example-composition/twelve-hour.vue | 9 + src/time-picker/_example/clearable.vue | 5 - src/time-picker/_example/hm.vue | 9 - src/timeline/_example-composition/base.vue | 26 ++ .../_example-composition/customContent.vue | 29 ++ .../_example-composition/customDot.vue | 41 ++ src/timeline/_example-composition/layout.vue | 50 +++ src/timeline/_example-composition/loading.vue | 30 ++ src/timeline/_example-composition/reverse.vue | 21 + src/timeline/_example-composition/theme.vue | 14 + src/timeline/_example/theme.vue | 12 - src/tooltip/_example-composition/arrow.vue | 13 + src/tooltip/_example-composition/base.vue | 151 +++++++ src/tooltip/_example-composition/duration.vue | 32 ++ src/tooltip/_example-composition/mouse.vue | 5 + src/tooltip/_example-composition/no-arrow.vue | 7 + src/tooltip/_example-composition/theme.vue | 22 + src/tooltip/_example-composition/trigger.vue | 16 + src/transfer/_example-composition/base.vue | 37 ++ src/transfer/_example-composition/checked.vue | 17 + src/transfer/_example-composition/custom.vue | 73 ++++ .../_example-composition/disabled.vue | 17 + src/transfer/_example-composition/empty.vue | 14 + .../_example-composition/pagination.vue | 37 ++ src/transfer/_example-composition/search.vue | 17 + .../_example-composition/target-draggable.vue | 41 ++ .../_example-composition/target-value.vue | 16 + src/transfer/_example-composition/tree.vue | 86 ++++ src/transfer/_example/base.vue | 6 +- src/transfer/_example/checked.vue | 8 +- src/transfer/_example/custom.vue | 14 +- src/transfer/_example/disabled.vue | 8 +- src/transfer/_example/empty.vue | 4 +- src/transfer/_example/pagination.vue | 6 +- src/transfer/_example/search.vue | 6 +- src/transfer/_example/target-draggable.vue | 6 +- src/transfer/_example/target-value.vue | 8 +- src/tree-select/_example-composition/base.vue | 111 +++++ .../_example-composition/collapsed.vue | 63 +++ .../_example-composition/dvalue.vue | 41 ++ .../_example-composition/filterable.vue | 171 ++++++++ src/tree-select/_example-composition/lazy.vue | 49 +++ .../_example-composition/multiple.vue | 50 +++ .../_example-composition/prefix.vue | 41 ++ .../_example-composition/props.vue | 59 +++ .../_example-composition/valuedisplay.vue | 58 +++ .../_example-composition/valuetype.vue | 69 +++ src/tree-select/_example/base.vue | 12 +- src/tree-select/_example/dvalue.vue | 11 +- src/tree-select/_example/filterable.vue | 6 +- src/tree/_example-composition/activable.vue | 80 ++++ src/tree/_example-composition/base.vue | 56 +++ src/tree/_example-composition/checkable.vue | 172 ++++++++ src/tree/_example-composition/controlled.vue | 221 ++++++++++ src/tree/_example-composition/debug-data.vue | 127 ++++++ .../_example-composition/debug-filter.vue | 145 ++++++ .../debug-performance.vue | 107 +++++ .../_example-composition/debug-vscroll.vue | 177 ++++++++ src/tree/_example-composition/disabled.vue | 137 ++++++ src/tree/_example-composition/draggable.vue | 93 ++++ src/tree/_example-composition/empty.vue | 30 ++ src/tree/_example-composition/expand-all.vue | 103 +++++ .../_example-composition/expand-level.vue | 50 +++ .../_example-composition/expand-mutex.vue | 93 ++++ src/tree/_example-composition/filter.vue | 153 +++++++ src/tree/_example-composition/icon.vue | 70 +++ src/tree/_example-composition/label.vue | 46 ++ src/tree/_example-composition/lazy.vue | 65 +++ src/tree/_example-composition/line.vue | 257 +++++++++++ src/tree/_example-composition/load.vue | 58 +++ src/tree/_example-composition/operations.vue | 283 ++++++++++++ src/tree/_example-composition/state.vue | 104 +++++ src/tree/_example-composition/sync.vue | 181 ++++++++ src/tree/_example-composition/transition.vue | 88 ++++ .../_example-composition/vscroll-lazy.vue | 63 +++ src/tree/_example-composition/vscroll.vue | 132 ++++++ src/tree/_example/activable.vue | 9 - src/tree/_example/controlled.vue | 6 +- src/tree/_example/debug-data.vue | 6 +- src/tree/_example/debug-performance.vue | 9 +- src/tree/_example/debug-vscroll.vue | 6 +- src/tree/_example/disabled.vue | 7 +- src/tree/_example/expand-all.vue | 6 +- src/tree/_example/expand-mutex.vue | 6 - src/tree/_example/icon.vue | 2 +- src/tree/_example/label.vue | 11 +- src/tree/_example/lazy.vue | 1 - src/tree/_example/line.vue | 16 +- src/tree/_example/load.vue | 2 +- src/tree/_example/operations.vue | 14 +- src/tree/_example/state.vue | 6 +- src/tree/_example/transition.vue | 7 +- src/tree/_example/vscroll-lazy.vue | 2 +- src/tree/_example/vscroll.vue | 3 +- src/upload/_example-composition/base.vue | 197 +++++++++ .../_example-composition/custom-drag.vue | 59 +++ src/upload/_example-composition/draggable.vue | 96 ++++ .../_example-composition/file-flow-list.vue | 66 +++ src/upload/_example-composition/image.vue | 147 +++++++ .../_example-composition/img-flow-list.vue | 136 ++++++ .../_example-composition/request-method.vue | 74 ++++ .../_example-composition/single-custom.vue | 47 ++ .../_example-composition/single-input.vue | 28 ++ src/upload/_example-composition/table.vue | 87 ++++ src/upload/_example/base.vue | 22 +- src/upload/_example/custom-drag.vue | 4 +- src/upload/_example/file-flow-list.vue | 4 +- src/upload/_example/request-method.vue | 5 +- src/utils/render-tnode.ts | 2 +- src/watermark/_example/image.vue | 1 - test/snap/__snapshots__/csr.test.js.snap | 211 ++++++--- test/snap/__snapshots__/ssr.test.js.snap | 20 +- 851 files changed, 34886 insertions(+), 1127 deletions(-) create mode 100644 src/affix/_example-composition/base.vue create mode 100644 src/affix/_example-composition/container.vue create mode 100644 src/alert/_example-composition/base.vue create mode 100644 src/alert/_example-composition/close.vue create mode 100644 src/alert/_example-composition/collapse.vue create mode 100644 src/alert/_example-composition/icon.vue create mode 100644 src/alert/_example-composition/operation.vue create mode 100644 src/alert/_example-composition/title.vue create mode 100644 src/anchor/_example-composition/base.vue create mode 100644 src/anchor/_example-composition/container.vue create mode 100644 src/anchor/_example-composition/cursor.vue create mode 100644 src/anchor/_example-composition/customize-highlight.vue create mode 100644 src/anchor/_example-composition/large.vue create mode 100644 src/anchor/_example-composition/multiple.vue create mode 100644 src/anchor/_example-composition/small.vue create mode 100644 src/anchor/_example-composition/target.vue create mode 100644 src/auto-complete/_example-composition/base.vue create mode 100644 src/auto-complete/_example-composition/filter.vue create mode 100644 src/auto-complete/_example-composition/option.vue create mode 100644 src/auto-complete/_example-composition/size.vue create mode 100644 src/auto-complete/_example-composition/status.vue create mode 100644 src/auto-complete/_example-composition/trigger-element.vue create mode 100644 src/avatar/_example-composition/adjust.vue create mode 100644 src/avatar/_example-composition/base.vue create mode 100644 src/avatar/_example-composition/group-cascading.vue create mode 100644 src/avatar/_example-composition/group-max.vue create mode 100644 src/avatar/_example-composition/group.vue create mode 100644 src/avatar/_example-composition/shape.vue create mode 100644 src/avatar/_example-composition/size.vue create mode 100644 src/back-top/_example-composition/baseList.vue create mode 100644 src/back-top/_example-composition/baseListSmall.vue create mode 100644 src/back-top/_example-composition/custom.vue create mode 100644 src/back-top/_example-composition/shape.vue create mode 100644 src/back-top/_example-composition/size.vue create mode 100644 src/back-top/_example-composition/theme.vue create mode 100644 src/badge/_example-composition/base.vue create mode 100644 src/badge/_example-composition/custom.vue create mode 100644 src/badge/_example-composition/number.vue create mode 100644 src/badge/_example-composition/offset.vue create mode 100644 src/badge/_example-composition/shape.vue create mode 100644 src/badge/_example-composition/size.vue create mode 100644 src/breadcrumb/_example-composition/base.vue create mode 100644 src/breadcrumb/_example-composition/custom.vue create mode 100644 src/breadcrumb/_example-composition/dropdown.vue create mode 100644 src/breadcrumb/_example-composition/href.vue create mode 100644 src/breadcrumb/_example-composition/icon.vue create mode 100644 src/breadcrumb/_example-composition/options.vue create mode 100644 src/breadcrumb/_example-composition/to.vue create mode 100644 src/button/_example-composition/base.vue create mode 100644 src/button/_example-composition/block.vue create mode 100644 src/button/_example-composition/custom-element.vue create mode 100644 src/button/_example-composition/ghost.vue create mode 100644 src/button/_example-composition/icon.vue create mode 100644 src/button/_example-composition/shape.vue create mode 100644 src/button/_example-composition/size.vue create mode 100644 src/button/_example-composition/status.vue create mode 100644 src/button/_example-composition/theme.vue create mode 100644 src/calendar/_example-composition/base.vue create mode 100644 src/calendar/_example-composition/card.vue create mode 100644 src/calendar/_example-composition/cell-append.vue create mode 100644 src/calendar/_example-composition/cell.vue create mode 100644 src/calendar/_example-composition/controller-config.vue create mode 100644 src/calendar/_example-composition/events.vue create mode 100644 src/calendar/_example-composition/first-day-of-week.vue create mode 100644 src/calendar/_example-composition/head.vue create mode 100644 src/calendar/_example-composition/mode.vue create mode 100644 src/calendar/_example-composition/range.vue create mode 100644 src/calendar/_example-composition/slot-props-api.vue create mode 100644 src/calendar/_example-composition/value.vue create mode 100644 src/calendar/_example-composition/week.vue create mode 100644 src/card/_example-composition/base.vue create mode 100644 src/card/_example-composition/bordered-none.vue create mode 100644 src/card/_example-composition/bordered.vue create mode 100644 src/card/_example-composition/custom-loading-props.vue create mode 100644 src/card/_example-composition/footer-actions.vue create mode 100644 src/card/_example-composition/footer-content-actions.vue create mode 100644 src/card/_example-composition/footer-content.vue create mode 100644 src/card/_example-composition/footer.vue create mode 100644 src/card/_example-composition/header-all-props.vue create mode 100644 src/card/_example-composition/header-bordered.vue create mode 100644 src/card/_example-composition/header-description.vue create mode 100644 src/card/_example-composition/header-footer-actions.vue create mode 100644 src/card/_example-composition/header-subtitle-footer-actions.vue create mode 100644 src/card/_example-composition/header-subtitle.vue create mode 100644 src/card/_example-composition/header.vue create mode 100644 src/card/_example-composition/hover.vue create mode 100644 src/card/_example-composition/small.vue create mode 100644 src/cascader/_example-composition/base.vue create mode 100644 src/cascader/_example-composition/check-strictly.vue create mode 100644 src/cascader/_example-composition/collapsed.vue create mode 100644 src/cascader/_example-composition/custom-options.vue create mode 100644 src/cascader/_example-composition/disabled.vue create mode 100644 src/cascader/_example-composition/ellipsis.vue create mode 100644 src/cascader/_example-composition/filterable.vue create mode 100644 src/cascader/_example-composition/keys.vue create mode 100644 src/cascader/_example-composition/load.vue create mode 100644 src/cascader/_example-composition/max.vue create mode 100644 src/cascader/_example-composition/multiple.vue create mode 100644 src/cascader/_example-composition/panel.vue create mode 100644 src/cascader/_example-composition/show-all-levels.vue create mode 100644 src/cascader/_example-composition/size.vue create mode 100644 src/cascader/_example-composition/trigger.vue create mode 100644 src/cascader/_example-composition/value-display.vue create mode 100644 src/cascader/_example-composition/value-mode.vue create mode 100644 src/cascader/_example-composition/value-type.vue create mode 100644 src/checkbox/_example-composition/base.vue create mode 100644 src/checkbox/_example-composition/controlled.vue create mode 100644 src/checkbox/_example-composition/group.vue create mode 100644 src/checkbox/_example-composition/link.vue create mode 100644 src/collapse/_example-composition/base.vue create mode 100644 src/collapse/_example-composition/icon.vue create mode 100644 src/collapse/_example-composition/mutex.vue create mode 100644 src/collapse/_example-composition/other.vue create mode 100644 src/collapse/_example-composition/rightSlot.vue create mode 100644 src/color-picker/_example-composition/color-mode.vue create mode 100644 src/color-picker/_example-composition/enable-alpha.vue create mode 100644 src/color-picker/_example-composition/panel.vue create mode 100644 src/color-picker/_example-composition/recent-color.vue create mode 100644 src/color-picker/_example-composition/status-disabled.vue create mode 100644 src/color-picker/_example-composition/status-readonly.vue create mode 100644 src/color-picker/_example-composition/swatch-color.vue create mode 100644 src/color-picker/_example-composition/trigger.vue create mode 100644 src/comment/_example-composition/base.vue create mode 100644 src/comment/_example-composition/list.vue create mode 100644 src/comment/_example-composition/operation.vue create mode 100644 src/comment/_example-composition/quote.vue create mode 100644 src/comment/_example-composition/reply-form.vue create mode 100644 src/comment/_example-composition/reply.vue create mode 100644 src/config-provider/_example-composition/calendar.vue create mode 100644 src/config-provider/_example-composition/date-picker.vue create mode 100644 src/config-provider/_example-composition/dialog.vue create mode 100644 src/config-provider/_example-composition/global.vue create mode 100644 src/config-provider/_example-composition/input.vue create mode 100644 src/config-provider/_example-composition/others.vue create mode 100644 src/config-provider/_example-composition/pagination.vue create mode 100644 src/config-provider/_example-composition/popconfirm.vue create mode 100644 src/config-provider/_example-composition/table.vue create mode 100644 src/date-picker/_example-composition/base.vue create mode 100644 src/date-picker/_example-composition/custom-icon.vue create mode 100644 src/date-picker/_example-composition/date-presets-alt.vue create mode 100644 src/date-picker/_example-composition/date-range.vue create mode 100644 src/date-picker/_example-composition/date-time.vue create mode 100644 src/date-picker/_example-composition/disable-date.vue create mode 100644 src/date-picker/_example-composition/first-day-of-week.vue create mode 100644 src/date-picker/_example-composition/month.vue create mode 100644 src/date-picker/_example-composition/panel.vue create mode 100644 src/date-picker/_example-composition/quarter.vue create mode 100644 src/date-picker/_example-composition/week.vue create mode 100644 src/date-picker/_example-composition/year.vue create mode 100644 src/descriptions/_example-composition/base.vue create mode 100644 src/descriptions/_example-composition/bordered.vue create mode 100644 src/descriptions/_example-composition/colon.vue create mode 100644 src/descriptions/_example-composition/column.vue create mode 100644 src/descriptions/_example-composition/custom-style.vue create mode 100644 src/descriptions/_example-composition/items.vue create mode 100644 src/descriptions/_example-composition/layout.vue create mode 100644 src/descriptions/_example-composition/size.vue create mode 100644 src/dialog/_example-composition/async.vue create mode 100644 src/dialog/_example-composition/attach.vue create mode 100644 src/dialog/_example-composition/base.vue create mode 100644 src/dialog/_example-composition/custom.vue create mode 100644 src/dialog/_example-composition/custom/body.vue create mode 100644 src/dialog/_example-composition/custom/bottom.vue create mode 100644 src/dialog/_example-composition/drag.vue create mode 100644 src/dialog/_example-composition/icon.vue create mode 100644 src/dialog/_example-composition/modal.vue create mode 100644 src/dialog/_example-composition/plugin.vue create mode 100644 src/dialog/_example-composition/position.vue create mode 100644 src/dialog/_example-composition/warning.vue create mode 100644 src/divider/_example-composition/base.vue create mode 100644 src/divider/_example-composition/text.vue create mode 100644 src/divider/_example-composition/vertical.vue create mode 100644 src/drawer/_example-composition/attach-parent.vue create mode 100644 src/drawer/_example-composition/base.vue create mode 100644 src/drawer/_example-composition/custom.vue create mode 100644 src/drawer/_example-composition/destroy.vue create mode 100644 src/drawer/_example-composition/no-mask.vue create mode 100644 src/drawer/_example-composition/operation.vue create mode 100644 src/drawer/_example-composition/placement.vue create mode 100644 src/drawer/_example-composition/popup.vue create mode 100644 src/drawer/_example-composition/size-draggable.vue create mode 100644 src/drawer/_example-composition/size.vue create mode 100644 src/dropdown/_example-composition/base.vue create mode 100644 src/dropdown/_example-composition/button.vue create mode 100644 src/dropdown/_example-composition/custom.vue create mode 100644 src/dropdown/_example-composition/disabled.vue create mode 100644 src/dropdown/_example-composition/event.vue create mode 100644 src/dropdown/_example-composition/icon.vue create mode 100644 src/dropdown/_example-composition/left.vue create mode 100644 src/dropdown/_example-composition/long.vue create mode 100644 src/dropdown/_example-composition/multiple.vue create mode 100644 src/dropdown/_example-composition/slot.vue create mode 100644 src/dropdown/_example-composition/split.vue create mode 100644 src/dropdown/_example-composition/theme.vue create mode 100644 src/form/_example-composition/align.vue create mode 100644 src/form/_example-composition/base.vue create mode 100644 src/form/_example-composition/clear-validate.vue create mode 100644 src/form/_example-composition/custom-validator.vue create mode 100644 src/form/_example-composition/disabled.vue create mode 100644 src/form/_example-composition/error-message.vue create mode 100644 src/form/_example-composition/layout.vue create mode 100644 src/form/_example-composition/login.vue create mode 100644 src/form/_example-composition/reset.vue create mode 100644 src/form/_example-composition/size.vue create mode 100644 src/form/_example-composition/validate-complicated-data.vue create mode 100644 src/form/_example-composition/validate-message.vue create mode 100644 src/form/_example-composition/validator-status.vue create mode 100644 src/form/_example-composition/validator.vue create mode 100644 src/grid/_example-composition/base.vue create mode 100644 src/grid/_example-composition/flex.vue create mode 100644 src/grid/_example-composition/gutter.vue create mode 100644 src/grid/_example-composition/halign.vue create mode 100644 src/grid/_example-composition/offset.vue create mode 100644 src/grid/_example-composition/order.vue create mode 100644 src/grid/_example-composition/responsive.vue create mode 100644 src/grid/_example-composition/sort.vue create mode 100644 src/grid/_example-composition/valign.vue create mode 100644 src/guide/_example-composition/base.vue create mode 100644 src/guide/_example-composition/custom-popup.vue create mode 100644 src/guide/_example-composition/dialog-body.vue create mode 100644 src/guide/_example-composition/dialog.vue create mode 100644 src/guide/_example-composition/highlightContent.vue create mode 100644 src/guide/_example-composition/my-popup.vue create mode 100644 src/guide/_example-composition/no-mask.vue create mode 100644 src/guide/_example-composition/popup-dialog.vue create mode 100644 src/icon/_example-composition/base.vue create mode 100644 src/icon/_example-composition/enhanced.vue create mode 100644 src/icon/_example-composition/icon-select.vue create mode 100644 src/icon/_example-composition/iconfont-enhanced.vue create mode 100644 src/icon/_example-composition/iconfont.vue create mode 100644 src/icon/_example-composition/single.vue create mode 100644 src/image-viewer/_example-composition/album.vue create mode 100644 src/image-viewer/_example-composition/albumIcons.vue create mode 100644 src/image-viewer/_example-composition/base.vue create mode 100644 src/image-viewer/_example-composition/block.vue create mode 100644 src/image-viewer/_example-composition/button.vue create mode 100644 src/image-viewer/_example-composition/error.vue create mode 100644 src/image-viewer/_example-composition/modeless.vue create mode 100644 src/image-viewer/_example-composition/multiple.vue create mode 100644 src/image/_example-composition/avif.vue create mode 100644 src/image/_example-composition/extra-always.vue create mode 100644 src/image/_example-composition/extra-hover.vue create mode 100644 src/image/_example-composition/fill-mode.vue create mode 100644 src/image/_example-composition/fill-position.vue create mode 100644 src/image/_example-composition/gallery-cover.vue create mode 100644 src/image/_example-composition/lazy-list.vue create mode 100644 src/image/_example-composition/lazy-single.vue create mode 100644 src/image/_example-composition/placeholder.vue create mode 100644 src/image/_example-composition/shape.vue create mode 100644 src/input-adornment/_example-composition/select.vue create mode 100644 src/input-adornment/_example-composition/text.vue create mode 100644 src/input-number/_example-composition/align.vue create mode 100644 src/input-number/_example-composition/auto-width.vue create mode 100644 src/input-number/_example-composition/center.vue create mode 100644 src/input-number/_example-composition/default.vue create mode 100644 src/input-number/_example-composition/disabled.vue create mode 100644 src/input-number/_example-composition/empty.vue create mode 100644 src/input-number/_example-composition/format.vue create mode 100644 src/input-number/_example-composition/large-number.vue create mode 100644 src/input-number/_example-composition/left.vue create mode 100644 src/input-number/_example-composition/normal.vue create mode 100644 src/input-number/_example-composition/size.vue create mode 100644 src/input-number/_example-composition/status.vue create mode 100644 src/input-number/_example-composition/step.vue create mode 100644 src/input/_example-composition/addon.vue create mode 100644 src/input/_example-composition/align.vue create mode 100644 src/input/_example-composition/auto-width.vue create mode 100644 src/input/_example-composition/base.vue create mode 100644 src/input/_example-composition/clearable.vue create mode 100644 src/input/_example-composition/focus.vue create mode 100644 src/input/_example-composition/format.vue create mode 100644 src/input/_example-composition/group.vue create mode 100644 src/input/_example-composition/max-length-count.vue create mode 100644 src/input/_example-composition/password.vue create mode 100644 src/input/_example-composition/size.vue create mode 100644 src/input/_example-composition/status.vue create mode 100644 src/input/_example-composition/textarea.vue create mode 100644 src/layout/_example-composition/aside.vue create mode 100644 src/layout/_example-composition/base.vue create mode 100644 src/layout/_example-composition/combine.vue create mode 100644 src/layout/_example-composition/top.vue create mode 100644 src/link/_example-composition/base.vue create mode 100644 src/link/_example-composition/disabled.vue create mode 100644 src/link/_example-composition/download.vue create mode 100644 src/link/_example-composition/hover.vue create mode 100644 src/link/_example-composition/icon.vue create mode 100644 src/link/_example-composition/size.vue create mode 100644 src/link/_example-composition/theme.vue create mode 100644 src/link/_example-composition/underline.vue create mode 100644 src/list/_example-composition/base.vue create mode 100644 src/list/_example-composition/header-footer.vue create mode 100644 src/list/_example-composition/image-text.vue create mode 100644 src/list/_example-composition/loading.vue create mode 100644 src/list/_example-composition/multiline.vue create mode 100644 src/list/_example-composition/operation.vue create mode 100644 src/list/_example-composition/scroll.vue create mode 100644 src/list/_example-composition/size.vue create mode 100644 src/list/_example-composition/stripe.vue create mode 100644 src/loading/_example-composition/attach.vue create mode 100644 src/loading/_example-composition/base.vue create mode 100644 src/loading/_example-composition/delay.vue create mode 100644 src/loading/_example-composition/directive.vue create mode 100644 src/loading/_example-composition/fullscreen.vue create mode 100644 src/loading/_example-composition/icon-text.vue create mode 100644 src/loading/_example-composition/service.vue create mode 100644 src/loading/_example-composition/size.vue create mode 100644 src/loading/_example-composition/text.vue create mode 100644 src/loading/_example-composition/wrap.vue create mode 100644 src/menu/_example-composition/closable-side.vue create mode 100644 src/menu/_example-composition/custom-header.vue create mode 100644 src/menu/_example-composition/custom-side.vue create mode 100644 src/menu/_example-composition/double.vue create mode 100644 src/menu/_example-composition/group-side.vue create mode 100644 src/menu/_example-composition/head-menu-dark.vue create mode 100644 src/menu/_example-composition/head-menu-empty.vue create mode 100644 src/menu/_example-composition/head-menu-mode-tile.vue create mode 100644 src/menu/_example-composition/head-menu-tile.vue create mode 100644 src/menu/_example-composition/multi-side.vue create mode 100644 src/menu/_example-composition/multiple.vue create mode 100644 src/menu/_example-composition/popup-side.vue create mode 100644 src/menu/_example-composition/side-menu-width.vue create mode 100644 src/menu/_example-composition/single-side.vue create mode 100644 src/menu/_example-composition/single.vue create mode 100644 src/message/_example-composition/base.vue create mode 100644 src/message/_example-composition/close-all.vue create mode 100644 src/message/_example-composition/close.vue create mode 100644 src/message/_example-composition/loading.vue create mode 100644 src/message/_example-composition/placement.vue create mode 100644 src/message/_example-composition/plugin.vue create mode 100644 src/message/_example-composition/toggle.vue create mode 100644 src/message/_example-composition/type.vue create mode 100644 src/notification/_example-composition/base.vue create mode 100644 src/notification/_example-composition/close-all.vue create mode 100644 src/notification/_example-composition/close.vue create mode 100644 src/notification/_example-composition/content.vue create mode 100644 src/notification/_example-composition/footer.vue create mode 100644 src/notification/_example-composition/icon.vue create mode 100644 src/notification/_example-composition/offset.vue create mode 100644 src/notification/_example-composition/operation.vue create mode 100644 src/notification/_example-composition/placement.vue create mode 100644 src/notification/_example-composition/plugin.vue create mode 100644 src/notification/_example-composition/size.vue create mode 100644 src/notification/_example-composition/toggle.vue create mode 100644 src/notification/_example-composition/type.vue create mode 100644 src/notification/_example-composition/type4Fn.vue create mode 100644 src/pagination/_example-composition/base.vue create mode 100644 src/pagination/_example-composition/customizable.vue create mode 100644 src/pagination/_example-composition/disabled.vue create mode 100644 src/pagination/_example-composition/few.vue create mode 100644 src/pagination/_example-composition/jump.vue create mode 100644 src/pagination/_example-composition/mini.vue create mode 100644 src/pagination/_example-composition/more.vue create mode 100644 src/pagination/_example-composition/page-num.vue create mode 100644 src/pagination/_example-composition/pagination-mini.vue create mode 100644 src/pagination/_example-composition/simple-mini.vue create mode 100644 src/pagination/_example-composition/simple.vue create mode 100644 src/pagination/_example-composition/total.vue create mode 100644 src/popconfirm/_example-composition/base.vue create mode 100644 src/popconfirm/_example-composition/button.vue create mode 100644 src/popconfirm/_example-composition/describe.vue create mode 100644 src/popconfirm/_example-composition/icon.vue create mode 100644 src/popconfirm/_example-composition/inherit.vue create mode 100644 src/popup/_example-composition/base.vue create mode 100644 src/popup/_example-composition/container.vue create mode 100644 src/popup/_example-composition/destroy.vue create mode 100644 src/popup/_example-composition/disabled.vue create mode 100644 src/popup/_example-composition/placement.vue create mode 100644 src/popup/_example-composition/plugin.vue create mode 100644 src/popup/_example-composition/style.vue create mode 100644 src/popup/_example-composition/trigger-element.vue create mode 100644 src/popup/_example-composition/trigger.vue create mode 100644 src/popup/_example-composition/visible.vue create mode 100644 src/progress/_example-composition/circle.vue create mode 100644 src/progress/_example-composition/custom.vue create mode 100644 src/progress/_example-composition/line.vue create mode 100644 src/progress/_example-composition/plump.vue create mode 100644 src/progress/_example-composition/size.vue create mode 100644 src/progress/_example-composition/status.vue create mode 100644 src/radio/_example-composition/base.vue create mode 100644 src/radio/_example-composition/group.vue create mode 100644 src/radio/_example-composition/size.vue create mode 100644 src/radio/_example-composition/type.vue create mode 100644 src/range-input/_example-composition/base.vue create mode 100644 src/range-input/_example-composition/popup.vue create mode 100644 src/range-input/_example-composition/size.vue create mode 100644 src/range-input/_example-composition/status.vue create mode 100644 src/rate/_example-composition/base.vue create mode 100644 src/rate/_example-composition/custom.vue create mode 100644 src/rate/_example-composition/icon.vue create mode 100644 src/rate/_example-composition/size.vue create mode 100644 src/rate/_example-composition/status.vue create mode 100644 src/rate/_example-composition/texts.vue create mode 100644 src/select-input/_example-composition/autocomplete.vue create mode 100644 src/select-input/_example-composition/autowidth-multiple.vue create mode 100644 src/select-input/_example-composition/autowidth.vue create mode 100644 src/select-input/_example-composition/borderless-multiple.vue create mode 100644 src/select-input/_example-composition/borderless.vue create mode 100644 src/select-input/_example-composition/collapsed-items.vue create mode 100644 src/select-input/_example-composition/custom-tag.vue create mode 100644 src/select-input/_example-composition/excess-tags-display-type.vue create mode 100644 src/select-input/_example-composition/label-suffix.vue create mode 100644 src/select-input/_example-composition/multiple.vue create mode 100644 src/select-input/_example-composition/single.vue create mode 100644 src/select-input/_example-composition/status.vue create mode 100644 src/select-input/_example-composition/width.vue create mode 100644 src/select/_example-composition/base.vue create mode 100644 src/select/_example-composition/collapsed.vue create mode 100644 src/select/_example-composition/creatable.vue create mode 100644 src/select/_example-composition/custom-options.vue create mode 100644 src/select/_example-composition/custom-selected.vue create mode 100644 src/select/_example-composition/disabled.vue create mode 100644 src/select/_example-composition/filterable.vue create mode 100644 src/select/_example-composition/group.vue create mode 100644 src/select/_example-composition/label-in-value.vue create mode 100644 src/select/_example-composition/max.vue create mode 100644 src/select/_example-composition/multiple.vue create mode 100644 src/select/_example-composition/noborder.vue create mode 100644 src/select/_example-composition/panel.vue create mode 100644 src/select/_example-composition/popup-props.vue create mode 100644 src/select/_example-composition/prefix.vue create mode 100644 src/select/_example-composition/remote-search.vue create mode 100644 src/select/_example-composition/scroll-bottom.vue create mode 100644 src/select/_example-composition/size.vue create mode 100644 src/select/_example-composition/status.vue create mode 100644 src/select/_example-composition/virtual-scroll.vue create mode 100644 src/skeleton/_example-composition/advance.vue create mode 100644 src/skeleton/_example-composition/animation.vue create mode 100644 src/skeleton/_example-composition/base.vue create mode 100644 src/skeleton/_example-composition/delay.vue create mode 100644 src/skeleton/_example-composition/theme.vue create mode 100644 src/slider/_example-composition/base.vue create mode 100644 src/slider/_example-composition/disabled.vue create mode 100644 src/slider/_example-composition/input-number-vertical.vue create mode 100644 src/slider/_example-composition/input-number.vue create mode 100644 src/slider/_example-composition/marks.vue create mode 100644 src/slider/_example-composition/min-and-max.vue create mode 100644 src/slider/_example-composition/step.vue create mode 100644 src/slider/_example-composition/vertical-marks.vue create mode 100644 src/slider/_example-composition/vertical.vue create mode 100644 src/space/_example-composition/align.vue create mode 100644 src/space/_example-composition/base.vue create mode 100644 src/space/_example-composition/break-line.vue create mode 100644 src/space/_example-composition/separator.vue create mode 100644 src/space/_example-composition/size.vue create mode 100644 src/space/_example-composition/vertical.vue create mode 100644 src/statistic/_example-composition/animation.vue create mode 100644 src/statistic/_example-composition/base.vue create mode 100644 src/statistic/_example-composition/color.vue create mode 100644 src/statistic/_example-composition/combination.vue create mode 100644 src/statistic/_example-composition/loading.vue create mode 100644 src/statistic/_example-composition/slot.vue create mode 100644 src/statistic/_example-composition/trend.vue create mode 100644 src/steps/_example-composition/extra.vue create mode 100644 src/steps/_example-composition/icon.vue create mode 100644 src/steps/_example-composition/no-sequence.vue create mode 100644 src/steps/_example-composition/options.vue create mode 100644 src/steps/_example-composition/sequence.vue create mode 100644 src/steps/_example-composition/status.vue create mode 100644 src/steps/_example-composition/vertical-no-sequence.vue create mode 100644 src/steps/_example-composition/vertical-sequence.vue create mode 100644 src/sticky-tool/_example-composition/base.vue create mode 100644 src/sticky-tool/_example-composition/compact.vue create mode 100644 src/sticky-tool/_example-composition/shape.vue create mode 100644 src/swiper/_example-composition/base.vue create mode 100644 src/swiper/_example-composition/card.vue create mode 100644 src/swiper/_example-composition/current.vue create mode 100644 src/swiper/_example-composition/fade.vue create mode 100644 src/swiper/_example-composition/fraction.vue create mode 100644 src/swiper/_example-composition/placement.vue create mode 100644 src/swiper/_example-composition/size.vue create mode 100644 src/swiper/_example-composition/vertical.vue create mode 100644 src/switch/_example-composition/base.vue create mode 100644 src/switch/_example-composition/describe.vue create mode 100644 src/switch/_example-composition/size.vue create mode 100644 src/switch/_example-composition/status.vue create mode 100644 src/table/_example-composition/affix.vue create mode 100644 src/table/_example-composition/async-loading.vue create mode 100644 src/table/_example-composition/base.vue create mode 100644 src/table/_example-composition/custom-cell.vue create mode 100644 src/table/_example-composition/custom-col-button.vue create mode 100644 src/table/_example-composition/custom-col.vue create mode 100644 src/table/_example-composition/custom-footer.vue create mode 100644 src/table/_example-composition/custom-header.vue create mode 100644 src/table/_example-composition/data-sort.vue create mode 100644 src/table/_example-composition/drag-col-sort.vue create mode 100644 src/table/_example-composition/drag-sort-handler.vue create mode 100644 src/table/_example-composition/drag-sort.vue create mode 100644 src/table/_example-composition/editable-cell.vue create mode 100644 src/table/_example-composition/editable-row.vue create mode 100644 src/table/_example-composition/ellipsis.vue create mode 100644 src/table/_example-composition/empty.vue create mode 100644 src/table/_example-composition/expandable.vue create mode 100644 src/table/_example-composition/filter-controlled.vue create mode 100644 src/table/_example-composition/fixed-column.vue create mode 100644 src/table/_example-composition/fixed-header-col.vue create mode 100644 src/table/_example-composition/fixed-header.vue create mode 100644 src/table/_example-composition/lazy.vue create mode 100644 src/table/_example-composition/loading.vue create mode 100644 src/table/_example-composition/merge-cells.vue create mode 100644 src/table/_example-composition/multi-header.vue create mode 100644 src/table/_example-composition/multiple-sort.vue create mode 100644 src/table/_example-composition/pagination-ajax.vue create mode 100644 src/table/_example-composition/pagination.vue create mode 100644 src/table/_example-composition/select-multiple.vue create mode 100644 src/table/_example-composition/select-single.vue create mode 100644 src/table/_example-composition/single-sort.vue create mode 100644 src/table/_example-composition/style.vue create mode 100644 src/table/_example-composition/tree-select.vue create mode 100644 src/table/_example-composition/tree.vue create mode 100644 src/table/_example-composition/virtual-scroll.vue create mode 100644 src/tabs/_example-composition/ban.vue create mode 100644 src/tabs/_example-composition/base.vue create mode 100644 src/tabs/_example-composition/combination.vue create mode 100644 src/tabs/_example-composition/custom.vue create mode 100644 src/tabs/_example-composition/icon.vue create mode 100644 src/tabs/_example-composition/operation.vue create mode 100644 src/tabs/_example-composition/position.vue create mode 100644 src/tabs/_example-composition/size.vue create mode 100644 src/tabs/_example-composition/theme.vue create mode 100644 src/tag-input/_example-composition/auto-width.vue create mode 100644 src/tag-input/_example-composition/base.vue create mode 100644 src/tag-input/_example-composition/collapsed.vue create mode 100644 src/tag-input/_example-composition/custom-tag.vue create mode 100644 src/tag-input/_example-composition/draggable.vue create mode 100644 src/tag-input/_example-composition/excess.vue create mode 100644 src/tag-input/_example-composition/max.vue create mode 100644 src/tag-input/_example-composition/size.vue create mode 100644 src/tag-input/_example-composition/status.vue create mode 100644 src/tag-input/_example-composition/theme.vue create mode 100644 src/tag/_example-composition/base.vue create mode 100644 src/tag/_example-composition/check-tag-group.vue create mode 100644 src/tag/_example-composition/delete.vue create mode 100644 src/tag/_example-composition/disabled.vue create mode 100644 src/tag/_example-composition/icon.vue create mode 100644 src/tag/_example-composition/long-text.vue create mode 100644 src/tag/_example-composition/plain.vue create mode 100644 src/tag/_example-composition/selectable.vue create mode 100644 src/tag/_example-composition/shape.vue create mode 100644 src/tag/_example-composition/size.vue create mode 100644 src/tag/_example-composition/theme.vue create mode 100644 src/textarea/_example-composition/base.vue create mode 100644 src/textarea/_example-composition/events.vue create mode 100644 src/textarea/_example-composition/maxlength.vue create mode 100644 src/textarea/_example-composition/type.vue create mode 100644 src/time-picker/_example-composition/base.vue create mode 100644 src/time-picker/_example-composition/clearable.vue create mode 100644 src/time-picker/_example-composition/disabled.vue create mode 100644 src/time-picker/_example-composition/format.vue create mode 100644 src/time-picker/_example-composition/hide-clear-button.vue create mode 100644 src/time-picker/_example-composition/hm.vue create mode 100644 src/time-picker/_example-composition/hms.vue create mode 100644 src/time-picker/_example-composition/keyboard.vue create mode 100644 src/time-picker/_example-composition/panel.vue create mode 100644 src/time-picker/_example-composition/range.vue create mode 100644 src/time-picker/_example-composition/show-steps.vue create mode 100644 src/time-picker/_example-composition/step.vue create mode 100644 src/time-picker/_example-composition/twelve-hour-meridian.vue create mode 100644 src/time-picker/_example-composition/twelve-hour.vue create mode 100644 src/timeline/_example-composition/base.vue create mode 100644 src/timeline/_example-composition/customContent.vue create mode 100644 src/timeline/_example-composition/customDot.vue create mode 100644 src/timeline/_example-composition/layout.vue create mode 100644 src/timeline/_example-composition/loading.vue create mode 100644 src/timeline/_example-composition/reverse.vue create mode 100644 src/timeline/_example-composition/theme.vue create mode 100644 src/tooltip/_example-composition/arrow.vue create mode 100644 src/tooltip/_example-composition/base.vue create mode 100644 src/tooltip/_example-composition/duration.vue create mode 100644 src/tooltip/_example-composition/mouse.vue create mode 100644 src/tooltip/_example-composition/no-arrow.vue create mode 100644 src/tooltip/_example-composition/theme.vue create mode 100644 src/tooltip/_example-composition/trigger.vue create mode 100644 src/transfer/_example-composition/base.vue create mode 100644 src/transfer/_example-composition/checked.vue create mode 100644 src/transfer/_example-composition/custom.vue create mode 100644 src/transfer/_example-composition/disabled.vue create mode 100644 src/transfer/_example-composition/empty.vue create mode 100644 src/transfer/_example-composition/pagination.vue create mode 100644 src/transfer/_example-composition/search.vue create mode 100644 src/transfer/_example-composition/target-draggable.vue create mode 100644 src/transfer/_example-composition/target-value.vue create mode 100644 src/transfer/_example-composition/tree.vue create mode 100644 src/tree-select/_example-composition/base.vue create mode 100644 src/tree-select/_example-composition/collapsed.vue create mode 100644 src/tree-select/_example-composition/dvalue.vue create mode 100644 src/tree-select/_example-composition/filterable.vue create mode 100644 src/tree-select/_example-composition/lazy.vue create mode 100644 src/tree-select/_example-composition/multiple.vue create mode 100644 src/tree-select/_example-composition/prefix.vue create mode 100644 src/tree-select/_example-composition/props.vue create mode 100644 src/tree-select/_example-composition/valuedisplay.vue create mode 100644 src/tree-select/_example-composition/valuetype.vue create mode 100644 src/tree/_example-composition/activable.vue create mode 100644 src/tree/_example-composition/base.vue create mode 100644 src/tree/_example-composition/checkable.vue create mode 100644 src/tree/_example-composition/controlled.vue create mode 100644 src/tree/_example-composition/debug-data.vue create mode 100644 src/tree/_example-composition/debug-filter.vue create mode 100644 src/tree/_example-composition/debug-performance.vue create mode 100644 src/tree/_example-composition/debug-vscroll.vue create mode 100644 src/tree/_example-composition/disabled.vue create mode 100644 src/tree/_example-composition/draggable.vue create mode 100644 src/tree/_example-composition/empty.vue create mode 100644 src/tree/_example-composition/expand-all.vue create mode 100644 src/tree/_example-composition/expand-level.vue create mode 100644 src/tree/_example-composition/expand-mutex.vue create mode 100644 src/tree/_example-composition/filter.vue create mode 100644 src/tree/_example-composition/icon.vue create mode 100644 src/tree/_example-composition/label.vue create mode 100644 src/tree/_example-composition/lazy.vue create mode 100644 src/tree/_example-composition/line.vue create mode 100644 src/tree/_example-composition/load.vue create mode 100644 src/tree/_example-composition/operations.vue create mode 100644 src/tree/_example-composition/state.vue create mode 100644 src/tree/_example-composition/sync.vue create mode 100644 src/tree/_example-composition/transition.vue create mode 100644 src/tree/_example-composition/vscroll-lazy.vue create mode 100644 src/tree/_example-composition/vscroll.vue create mode 100644 src/upload/_example-composition/base.vue create mode 100644 src/upload/_example-composition/custom-drag.vue create mode 100644 src/upload/_example-composition/draggable.vue create mode 100644 src/upload/_example-composition/file-flow-list.vue create mode 100644 src/upload/_example-composition/image.vue create mode 100644 src/upload/_example-composition/img-flow-list.vue create mode 100644 src/upload/_example-composition/request-method.vue create mode 100644 src/upload/_example-composition/single-custom.vue create mode 100644 src/upload/_example-composition/single-input.vue create mode 100644 src/upload/_example-composition/table.vue diff --git a/.eslintignore b/.eslintignore index 4cd599e8d..b6753827c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -12,4 +12,4 @@ script/test/cypress _site temp* static/ -site/ \ No newline at end of file +site/ diff --git a/.eslintrc b/.eslintrc index 7119deb7f..7e1bf202d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -133,6 +133,7 @@ { "files": [ "**/_example/*", + "**/_example-composition/*", "**/__tests__/*", "script/**/*", "script/*", diff --git a/.github/workflows/issue-assignees.temp.yml b/.github/workflows/issue-assignees.temp.yml index 83d5d6b87..29b803a06 100644 --- a/.github/workflows/issue-assignees.temp.yml +++ b/.github/workflows/issue-assignees.temp.yml @@ -15,38 +15,3 @@ jobs: issuesOpened: | 👋 @{{ author }},感谢给 TDesign 提出了 issue。 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。 - - # https://docs.github.com/cn/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issues - - uses: 94dreamer/issue-assignees@main - id: assignees - with: - project_name: ${{github.event.repository.name}} - issue_title: ${{github.event.issue.title}} - - - run: echo ${{ steps.assignees.outputs.contributors }} - - name: Add assigness - if: steps.assignees.outputs.contributors != '' - uses: actions-cool/issues-helper@v3 - with: - actions: 'add-assignees' - token: ${{ secrets.GITHUB_TOKEN }} - issue-number: ${{ github.event.issue.number }} - assignees: ${{ steps.assignees.outputs.contributors }} - - - run: | - contributors=${{ steps.assignees.outputs.contributors }} - contributorstring=${contributors//,/ @} - echo "::set-output name=string::@$contributorstring" - id: contributors - - - name: 通知贡献者 - if: steps.assignees.outputs.contributors != '' - uses: actions-cool/maintain-one-comment@v2.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - body: | - ♥️ 有劳 ${{ steps.contributors.outputs.string }} 尽快确认问题。 - 确认有效后将下一步计划和可能需要的时间回复给 @${{ github.event.issue.user.login }} 。 - - number: ${{ github.event.issue.number }} - body-include: "" diff --git a/CHANGELOG.md b/CHANGELOG.md index c14e5ab28..3f2d4ad3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,27 @@ toc: false docClass: timeline --- +## 🌈 1.9.1 `2024-03-10` + +### 🚀 Features +- `Slider`: 支持通过 `label=null` 或 `label=false` 隐藏滑块数字浮层 @chaishi ([#3100](https://github.com/Tencent/tdesign-vue/pull/3100)) +- `Table`: 支持全局配置 size @Lyan-u ([#3103](https://github.com/Tencent/tdesign-vue/pull/3103)) +- `Table`: 可筛选表格,单选/多选筛选条件,支持搜索选项 [issue#3988](https://github.com/Tencent/tdesign-vue-next/issues/3988) @chaishi ([#3098](https://github.com/Tencent/tdesign-vue/pull/3098)) +- Tabs: 调整激活 Tab下划线与 TabHeader边框的层级关系 @uyarn + +### 🐞 Bug Fixes +- `DatePicker`: 修复 `format` 与 `valueType` 不一致的场景下计算错误的问题 @uyarn ([#3106](https://github.com/Tencent/tdesign-vue/pull/3106)) +- `Descriptions`: 解决控制台报错绑定属性 `title` 已声明为属性的问题 @betavs ([#3065](https://github.com/Tencent/tdesign-vue/pull/3065)) +- `Descriptions`: 优化自适应宽度的问题 @uyarn ([#3105](https://github.com/Tencent/tdesign-vue/pull/3105)) +- `Table`: 树形结构表格,修复同时异步设置 data 和 expandedTreeNodes 时,展开节点的无效问题 [tdesign-vue-next#3873](https://github.com/Tencent/tdesign-vue-next/issues/3873) @chaishi ([#3098](https://github.com/Tencent/tdesign-vue/pull/3098)) +- `Table`: 固定列表格,修复固定多列时,在 Dialog 中固定列位置压缩问题 @chaishi ([#3098](https://github.com/Tencent/tdesign-vue/pull/3098)) +- `Table`: 修复`Table`缺失`refreshTable`方法的异常 @uyarn ([#3104](https://github.com/Tencent/tdesign-vue/pull/3104)) + +### 🚧 Others +- `Form` 文档更新 @liweijie0812 ([#3064](https://github.com/Tencent/tdesign-vue/pull/3064)) +- 新增 `composition API` 示例,详情请参考官网各示例代码 @chaishi @uyarn @HaixingOoO ([#3081](https://github.com/Tencent/tdesign-vue/pull/3081)) + + ## 🌈 1.9.0 `2024-01-23` ### 🚀 Features - `Descriptions`: 新增 `Descriptions` 描述组件 @zhangpaopao0609 ([#3035](https://github.com/Tencent/tdesign-vue/pull/3035)) diff --git a/helper/attributes.json b/helper/attributes.json index 812a46a00..152ec3736 100644 --- a/helper/attributes.json +++ b/helper/attributes.json @@ -2148,13 +2148,13 @@ "type": "event", "description": "年份切换发生变化时触发\n\n[docs](https://tdesign.tencent.com/vue/components/date-range-picker-panel?tab=api#daterangepickerpanel-events)" }, - "t-description-item/label": { + "t-descriptions-item/label": { "type": "String|TNode", - "description": "label of description item\n\n描述项字段名\n\n[docs](https://tdesign.tencent.com/vue/components/description-item?tab=api#descriptionitem-props)" + "description": "label of description item\n\n描述项字段名\n\n[docs](https://tdesign.tencent.com/vue/components/descriptions-item?tab=api#descriptionsitem-props)" }, - "t-description-item/span": { + "t-descriptions-item/span": { "type": "Number", - "description": "width count\n\n占用的宽度数量\n\ndefault: 1\n\n[docs](https://tdesign.tencent.com/vue/components/description-item?tab=api#descriptionitem-props)" + "description": "width count\n\n占用的宽度数量\n\ndefault: 1\n\n[docs](https://tdesign.tencent.com/vue/components/descriptions-item?tab=api#descriptionsitem-props)" }, "t-descriptions/bordered": { "type": "Boolean", @@ -2166,7 +2166,7 @@ }, "t-descriptions/columns": { "type": "Number", - "description": "count of DescriptionItem in one row\n\n一行 DescriptionItem 的数量\n\ndefault: 2\n\n[docs](https://tdesign.tencent.com/vue/components/descriptions?tab=api#descriptions-props)" + "description": "count of DescriptionsItem in one row\n\n一行 DescriptionsItem 的数量\n\ndefault: 2\n\n[docs](https://tdesign.tencent.com/vue/components/descriptions?tab=api#descriptions-props)" }, "t-descriptions/content-align": { "type": "String", diff --git a/helper/tags.json b/helper/tags.json index 2a55d3717..76ae35e54 100644 --- a/helper/tags.json +++ b/helper/tags.json @@ -613,12 +613,12 @@ ], "description": "DateRangePickerPanel\n\n日期范围选择器面板\n\n[docs](https://tdesign.tencent.com/vue/components/date-range-picker-panel)" }, - "t-description-item": { + "t-descriptions-item": { "attributes": [ "label", "span" ], - "description": "DescriptionItem\n\n描述项\n\n[docs](https://tdesign.tencent.com/vue/components/description-item)" + "description": "DescriptionsItem\n\n描述项\n\n[docs](https://tdesign.tencent.com/vue/components/descriptions-item)" }, "t-descriptions": { "attributes": [ diff --git a/helper/web-types.json b/helper/web-types.json index d9f938fd1..b10a614c2 100644 --- a/helper/web-types.json +++ b/helper/web-types.json @@ -5671,17 +5671,17 @@ "slots": [] }, { - "name": "t-description-item", + "name": "t-descriptions-item", "source": { - "symbol": "DescriptionItem" + "symbol": "DescriptionsItem" }, - "description": "DescriptionItem\n\n描述项", - "doc-url": "https://tdesign.tencent.com/vue/components/description-item", + "description": "DescriptionsItem\n\n描述项", + "doc-url": "https://tdesign.tencent.com/vue/components/descriptions-item", "props": [ { "name": "label", "description": "label of description item\n\n描述项字段名", - "doc-url": "https://tdesign.tencent.com/vue/components/description-item?tab=api#descriptionitem-props", + "doc-url": "https://tdesign.tencent.com/vue/components/descriptions-item?tab=api#descriptionsitem-props", "type": [ "String", "TNode" @@ -5690,7 +5690,7 @@ { "name": "span", "description": "width count\n\n占用的宽度数量", - "doc-url": "https://tdesign.tencent.com/vue/components/description-item?tab=api#descriptionitem-props", + "doc-url": "https://tdesign.tencent.com/vue/components/descriptions-item?tab=api#descriptionsitem-props", "type": [ "Number" ], @@ -5701,7 +5701,7 @@ { "name": "label", "description": "label of description item\n\n描述项字段名", - "doc-url": "https://tdesign.tencent.com/vue/components/description-item?tab=api#descriptionitem-props" + "doc-url": "https://tdesign.tencent.com/vue/components/descriptions-item?tab=api#descriptionsitem-props" } ] }, @@ -5732,7 +5732,7 @@ }, { "name": "columns", - "description": "count of DescriptionItem in one row\n\n一行 DescriptionItem 的数量", + "description": "count of DescriptionsItem in one row\n\n一行 DescriptionsItem 的数量", "doc-url": "https://tdesign.tencent.com/vue/components/descriptions?tab=api#descriptions-props", "type": [ "Number" diff --git a/package.json b/package.json index 641ecef29..6d1f1bffa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tdesign-vue", "purename": "tdesign", - "version": "1.9.0-naruto", + "version": "1.9.1-naruto", "description": "tdesign-vue", "title": "tdesign-vue", "keywords": [ @@ -106,7 +106,7 @@ "devDependencies": { "@babel/cli": "^7.5.5", "@babel/core": "~7.22.5", - "@babel/eslint-parser": "~7.19.1", + "@babel/eslint-parser": "~7.23.10", "@babel/plugin-transform-class-properties": "^7.22.3", "@babel/plugin-transform-modules-commonjs": "^7.9.6", "@babel/plugin-transform-object-assign": "^7.2.0", diff --git a/site/plugin-tdoc/demo.js b/site/plugin-tdoc/demo.js index 476392424..e560adffe 100644 --- a/site/plugin-tdoc/demo.js +++ b/site/plugin-tdoc/demo.js @@ -14,12 +14,13 @@ export default function renderDemo(md, container) { const demoName = path.basename(demoPath); const demoDefName = `Demo${demoPathOnlyLetters}`; const demoCodeDefName = `Demo${demoPathOnlyLetters}Code`; + const demoCompositionCodeDefName = `Demo${demoPathOnlyLetters}CompositionCode`; // composition示例 const tpl = ` - +
- - + +
<${demoDefName} /> diff --git a/site/plugin-tdoc/transforms.js b/site/plugin-tdoc/transforms.js index 8b7ac9fba..bdbcb5f20 100644 --- a/site/plugin-tdoc/transforms.js +++ b/site/plugin-tdoc/transforms.js @@ -21,6 +21,7 @@ export default { if (fileName && source.includes(':: BASE_DOC ::')) { const localeDocPath = path.resolve(__dirname, `../../src/_common/docs/web/api/${fileName}`); const defaultDocPath = path.resolve(__dirname, `../../src/_common/docs/web/api/${componentName}.md`); + let baseDoc = ''; if (fs.existsSync(localeDocPath)) { // 优先载入语言版本 @@ -37,10 +38,6 @@ export default { // 替换成对应 demo 文件 source = source.replace(/\{\{\s+(.+)\s+\}\}/g, (demoStr, demoFileName) => { const defaultDemoPath = path.resolve(resourceDir, `./_example/${demoFileName}.vue`); - const localeDemoPath = path.resolve(resourceDir, `../_example/${demoFileName}.${localeName}.vue`); - // localeDemo 优先级最高 - if (fs.existsSync(localeDemoPath)) - return `\n::: demo _example/${demoFileName}.${localeName} ${componentName}\n:::\n`; if (!fs.existsSync(defaultDemoPath)) { console.log('\x1B[36m%s\x1B[0m', `${componentName} 组件需要实现 _example/${demoFileName}.vue 示例!`); @@ -51,11 +48,19 @@ export default { }); source.replace(/:::\s*demo\s+([\\/.\w-]+)/g, (demoStr, relativeDemoPath) => { + const compositionDemoPath = `_example-composition/${relativeDemoPath.split('/')?.[1]}`; + console.log(compositionDemoPath, 'compositionDemoPath'); const demoPathOnlyLetters = relativeDemoPath.replace(/[^a-zA-Z\d]/g, ''); const demoDefName = `Demo${demoPathOnlyLetters}`; const demoCodeDefName = `Demo${demoPathOnlyLetters}Code`; + const demoCompositionCodeDefName = `Demo${demoPathOnlyLetters}CompositionCode`; // composition示例 + demoImports[demoDefName] = `import ${demoDefName} from './${relativeDemoPath}.vue';`; demoCodesImports[demoCodeDefName] = `import ${demoCodeDefName} from './${relativeDemoPath}.vue?raw';`; + if (fs.existsSync(path.resolve(resourceDir, `${compositionDemoPath}.vue`))) + demoCodesImports[ + demoCompositionCodeDefName + ] = `import ${demoCompositionCodeDefName} from './${compositionDemoPath}.vue?raw'`; }); return source; diff --git a/site/src/components/codesandbox/content.js b/site/src/components/codesandbox/content.js index d60dea36e..d9acbade5 100644 --- a/site/src/components/codesandbox/content.js +++ b/site/src/components/codesandbox/content.js @@ -1,6 +1,9 @@ import orgPkg from '../../../../package.json'; -export const htmlContent = '
'; +export const htmlContent = ` +
+ +`; export const mainJsContent = ` import Vue from 'vue'; @@ -42,52 +45,86 @@ export const styleContent = ` } `; -export const pkgContent = JSON.stringify( +export const stackblitzRc = ` + { + "installDependencies": false, + "startCommand": "turbo && turbo dev" + } +`; + +export const viteConfigContent = ` + import { defineConfig } from 'vite'; + import { createVuePlugin } from 'vite-plugin-vue2'; + + export default defineConfig({ + plugins: [ + createVuePlugin({ jsx: true }), + ], + }); +`; + +export const viteConfigContentForComposition = ` + import { defineConfig } from 'vite'; + import vue from '@vitejs/plugin-vue2' + import vueJsx from '@vitejs/plugin-vue2-jsx'; + + export default defineConfig({ + plugins: [ + vue(), + vueJsx() + ], + }); +`; + +export const packageJSONContent = JSON.stringify( { name: 'tdesign-vue-demo', - version: '0.1.0', + version: '0.0.0', private: true, scripts: { - serve: 'vue-cli-service serve', - build: 'vue-cli-service build', - lint: 'vue-cli-service lint', + dev: 'vite', + build: 'vite build', + serve: 'vite preview', }, dependencies: { - dayjs: orgPkg.devDependencies.dayjs, 'tdesign-vue': orgPkg.version, 'tdesign-icons-vue': orgPkg.dependencies['tdesign-icons-vue'], vue: orgPkg.devDependencies.vue, }, devDependencies: { - eslint: '^8.6.0', - '@vue/cli-plugin-babel': '4.5.15', - '@vue/cli-plugin-eslint': '4.5.15', - '@vue/cli-service': '4.5.15', - '@vue/babel-plugin-transform-vue-jsx': '^1.2.1', - '@vue/babel-helper-vue-jsx-merge-props': '^1.2.1', - 'babel-eslint': '^10.1.0', - 'eslint-plugin-vue': '^8.2.0', - 'vue-template-compiler': '^2.6.14', + vite: orgPkg.devDependencies.vite, + less: orgPkg.devDependencies.less, + 'vite-plugin-vue2': orgPkg.devDependencies['vite-plugin-vue2'], + 'vue-template-compiler': orgPkg.devDependencies['vue-template-compiler'], }, - eslintConfig: { - root: true, - env: { - node: true, - }, - extends: ['plugin:vue/essential', 'eslint:recommended'], - parserOptions: { - parser: '@babel/eslint-parser', - }, - rules: {}, - }, - browserslist: ['> 1%', 'last 2 versions', 'not dead'], }, null, 2, ); -export const babelContent = ` +export const packageJSONContentForComposition = JSON.stringify( { - "plugins": ["transform-vue-jsx"] - } -`; + name: 'tdesign-vue-demo', + version: '0.0.0', + private: true, + scripts: { + dev: 'vite', + build: 'vite build', + serve: 'vite preview', + }, + dependencies: { + 'tdesign-vue': orgPkg.version + '-naruto', + 'tdesign-icons-vue': orgPkg.dependencies['tdesign-icons-vue'], + vue: '2.7.14', + }, + devDependencies: { + vite: '^2.9.6', + less: orgPkg.devDependencies.less, + '@vitejs/plugin-vue2': '^1.1.2', + 'vue-template-compiler': '2.7.14', + '@vitejs/plugin-vue2-jsx': '^1.1.0', + }, + }, + null, + 2, +); diff --git a/site/src/components/codesandbox/index.vue b/site/src/components/codesandbox/index.vue index 793b7617e..ef05160c9 100644 --- a/site/src/components/codesandbox/index.vue +++ b/site/src/components/codesandbox/index.vue @@ -21,14 +21,15 @@ diff --git a/src/affix/_example-composition/container.vue b/src/affix/_example-composition/container.vue new file mode 100644 index 000000000..f92d3b9b0 --- /dev/null +++ b/src/affix/_example-composition/container.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/affix/_example/container.vue b/src/affix/_example/container.vue index e5717c61b..c0f9e4a33 100644 --- a/src/affix/_example/container.vue +++ b/src/affix/_example/container.vue @@ -22,18 +22,8 @@ export default { data() { return { open: 0, - fixedBottom: 0, }; }, - mounted() { - // 相对 window 的移动,使用会影响性能 - this.$nextTick(() => { - window.addEventListener('scroll', this.$refs?.affix.handleScroll); - }); - }, - beforeDestroy() { - window.removeEventListener('scroll', this.$refs?.affix.handleScroll); - }, methods: { getContainer() { return this.$refs?.affixContainer; diff --git a/src/alert/_example-composition/base.vue b/src/alert/_example-composition/base.vue new file mode 100644 index 000000000..bb64326bb --- /dev/null +++ b/src/alert/_example-composition/base.vue @@ -0,0 +1,15 @@ + + diff --git a/src/alert/_example-composition/close.vue b/src/alert/_example-composition/close.vue new file mode 100644 index 000000000..1a5c3ba97 --- /dev/null +++ b/src/alert/_example-composition/close.vue @@ -0,0 +1,25 @@ + + diff --git a/src/alert/_example-composition/collapse.vue b/src/alert/_example-composition/collapse.vue new file mode 100644 index 000000000..6d23d63ed --- /dev/null +++ b/src/alert/_example-composition/collapse.vue @@ -0,0 +1,12 @@ + diff --git a/src/alert/_example-composition/icon.vue b/src/alert/_example-composition/icon.vue new file mode 100644 index 000000000..3a605ee90 --- /dev/null +++ b/src/alert/_example-composition/icon.vue @@ -0,0 +1,19 @@ + + diff --git a/src/alert/_example-composition/operation.vue b/src/alert/_example-composition/operation.vue new file mode 100644 index 000000000..5228a3a0f --- /dev/null +++ b/src/alert/_example-composition/operation.vue @@ -0,0 +1,14 @@ + + diff --git a/src/alert/_example-composition/title.vue b/src/alert/_example-composition/title.vue new file mode 100644 index 000000000..1d286f04c --- /dev/null +++ b/src/alert/_example-composition/title.vue @@ -0,0 +1,14 @@ + + diff --git a/src/alert/_example/collapse.vue b/src/alert/_example/collapse.vue index 15bfd7e06..6d23d63ed 100644 --- a/src/alert/_example/collapse.vue +++ b/src/alert/_example/collapse.vue @@ -10,20 +10,3 @@ - diff --git a/src/alert/_example/operation.vue b/src/alert/_example/operation.vue index 6963a4bce..543c82e3a 100644 --- a/src/alert/_example/operation.vue +++ b/src/alert/_example/operation.vue @@ -9,11 +9,6 @@ + diff --git a/src/anchor/_example-composition/cursor.vue b/src/anchor/_example-composition/cursor.vue new file mode 100644 index 000000000..13508f174 --- /dev/null +++ b/src/anchor/_example-composition/cursor.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/anchor/_example-composition/customize-highlight.vue b/src/anchor/_example-composition/customize-highlight.vue new file mode 100644 index 000000000..7f9dcec7d --- /dev/null +++ b/src/anchor/_example-composition/customize-highlight.vue @@ -0,0 +1,28 @@ + + diff --git a/src/anchor/_example-composition/large.vue b/src/anchor/_example-composition/large.vue new file mode 100644 index 000000000..7dc8af9da --- /dev/null +++ b/src/anchor/_example-composition/large.vue @@ -0,0 +1,9 @@ + diff --git a/src/anchor/_example-composition/multiple.vue b/src/anchor/_example-composition/multiple.vue new file mode 100644 index 000000000..ff183280b --- /dev/null +++ b/src/anchor/_example-composition/multiple.vue @@ -0,0 +1,14 @@ + diff --git a/src/anchor/_example-composition/small.vue b/src/anchor/_example-composition/small.vue new file mode 100644 index 000000000..1cc729068 --- /dev/null +++ b/src/anchor/_example-composition/small.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/anchor/_example-composition/target.vue b/src/anchor/_example-composition/target.vue new file mode 100644 index 000000000..bcfd9f83c --- /dev/null +++ b/src/anchor/_example-composition/target.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/anchor/_example/base.vue b/src/anchor/_example/base.vue index c43deeb19..79b59c40e 100644 --- a/src/anchor/_example/base.vue +++ b/src/anchor/_example/base.vue @@ -10,6 +10,3 @@
- diff --git a/src/anchor/_example/cursor.vue b/src/anchor/_example/cursor.vue index 67737942d..13508f174 100644 --- a/src/anchor/_example/cursor.vue +++ b/src/anchor/_example/cursor.vue @@ -12,9 +12,7 @@ - + diff --git a/src/anchor/_example/multiple.vue b/src/anchor/_example/multiple.vue index 56d131ffa..ff183280b 100644 --- a/src/anchor/_example/multiple.vue +++ b/src/anchor/_example/multiple.vue @@ -12,6 +12,3 @@ - diff --git a/src/anchor/_example/small.vue b/src/anchor/_example/small.vue index 6f07fdb54..1cc729068 100644 --- a/src/anchor/_example/small.vue +++ b/src/anchor/_example/small.vue @@ -9,9 +9,7 @@ - + diff --git a/src/auto-complete/_example-composition/filter.vue b/src/auto-complete/_example-composition/filter.vue new file mode 100644 index 000000000..d60d5bed9 --- /dev/null +++ b/src/auto-complete/_example-composition/filter.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/auto-complete/_example-composition/option.vue b/src/auto-complete/_example-composition/option.vue new file mode 100644 index 000000000..39fb3b47c --- /dev/null +++ b/src/auto-complete/_example-composition/option.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/auto-complete/_example-composition/size.vue b/src/auto-complete/_example-composition/size.vue new file mode 100644 index 000000000..9b43a5b36 --- /dev/null +++ b/src/auto-complete/_example-composition/size.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/auto-complete/_example-composition/status.vue b/src/auto-complete/_example-composition/status.vue new file mode 100644 index 000000000..9d4058fb0 --- /dev/null +++ b/src/auto-complete/_example-composition/status.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/auto-complete/_example-composition/trigger-element.vue b/src/auto-complete/_example-composition/trigger-element.vue new file mode 100644 index 000000000..2539a7225 --- /dev/null +++ b/src/auto-complete/_example-composition/trigger-element.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/auto-complete/_example/filter.vue b/src/auto-complete/_example/filter.vue index 60cc97c40..254dc2f4a 100644 --- a/src/auto-complete/_example/filter.vue +++ b/src/auto-complete/_example/filter.vue @@ -35,7 +35,6 @@ export default { value1: '', value2: '', options: [...LIST], - timer: null, }; }, diff --git a/src/auto-complete/_example/option.vue b/src/auto-complete/_example/option.vue index 5ce608d46..393910ba6 100644 --- a/src/auto-complete/_example/option.vue +++ b/src/auto-complete/_example/option.vue @@ -63,7 +63,7 @@ export default { avatar: 'https://tdesign.gtimg.com/site/avatar.jpg', }, ], - timer: null, + // timer: null, }; }, diff --git a/src/avatar/_example-composition/adjust.vue b/src/avatar/_example-composition/adjust.vue new file mode 100644 index 000000000..527392c95 --- /dev/null +++ b/src/avatar/_example-composition/adjust.vue @@ -0,0 +1,7 @@ + diff --git a/src/avatar/_example-composition/base.vue b/src/avatar/_example-composition/base.vue new file mode 100644 index 000000000..29b079db6 --- /dev/null +++ b/src/avatar/_example-composition/base.vue @@ -0,0 +1,17 @@ + + diff --git a/src/avatar/_example-composition/group-cascading.vue b/src/avatar/_example-composition/group-cascading.vue new file mode 100644 index 000000000..803495bc3 --- /dev/null +++ b/src/avatar/_example-composition/group-cascading.vue @@ -0,0 +1,26 @@ + + diff --git a/src/avatar/_example-composition/group-max.vue b/src/avatar/_example-composition/group-max.vue new file mode 100644 index 000000000..9d1354df1 --- /dev/null +++ b/src/avatar/_example-composition/group-max.vue @@ -0,0 +1,33 @@ + + diff --git a/src/avatar/_example-composition/group.vue b/src/avatar/_example-composition/group.vue new file mode 100644 index 000000000..1469646d5 --- /dev/null +++ b/src/avatar/_example-composition/group.vue @@ -0,0 +1,28 @@ + + diff --git a/src/avatar/_example-composition/shape.vue b/src/avatar/_example-composition/shape.vue new file mode 100644 index 000000000..e3366687d --- /dev/null +++ b/src/avatar/_example-composition/shape.vue @@ -0,0 +1,6 @@ + diff --git a/src/avatar/_example-composition/size.vue b/src/avatar/_example-composition/size.vue new file mode 100644 index 000000000..3c491c8fa --- /dev/null +++ b/src/avatar/_example-composition/size.vue @@ -0,0 +1,16 @@ + diff --git a/src/avatar/_example/adjust.vue b/src/avatar/_example/adjust.vue index 18f17a032..527392c95 100644 --- a/src/avatar/_example/adjust.vue +++ b/src/avatar/_example/adjust.vue @@ -5,10 +5,3 @@ 王亿亿 - diff --git a/src/avatar/_example/shape.vue b/src/avatar/_example/shape.vue index d72e86767..e3366687d 100644 --- a/src/avatar/_example/shape.vue +++ b/src/avatar/_example/shape.vue @@ -4,10 +4,3 @@ W - diff --git a/src/avatar/_example/size.vue b/src/avatar/_example/size.vue index 0e7e0491a..3c491c8fa 100644 --- a/src/avatar/_example/size.vue +++ b/src/avatar/_example/size.vue @@ -14,10 +14,3 @@ - diff --git a/src/back-top/_example-composition/baseList.vue b/src/back-top/_example-composition/baseList.vue new file mode 100644 index 000000000..376c2bc39 --- /dev/null +++ b/src/back-top/_example-composition/baseList.vue @@ -0,0 +1,13 @@ + diff --git a/src/back-top/_example-composition/baseListSmall.vue b/src/back-top/_example-composition/baseListSmall.vue new file mode 100644 index 000000000..402943d6d --- /dev/null +++ b/src/back-top/_example-composition/baseListSmall.vue @@ -0,0 +1,14 @@ + diff --git a/src/back-top/_example-composition/custom.vue b/src/back-top/_example-composition/custom.vue new file mode 100644 index 000000000..c0544dcc7 --- /dev/null +++ b/src/back-top/_example-composition/custom.vue @@ -0,0 +1,21 @@ + diff --git a/src/back-top/_example-composition/shape.vue b/src/back-top/_example-composition/shape.vue new file mode 100644 index 000000000..71698cdde --- /dev/null +++ b/src/back-top/_example-composition/shape.vue @@ -0,0 +1,50 @@ + diff --git a/src/back-top/_example-composition/size.vue b/src/back-top/_example-composition/size.vue new file mode 100644 index 000000000..8829021fa --- /dev/null +++ b/src/back-top/_example-composition/size.vue @@ -0,0 +1,50 @@ + diff --git a/src/back-top/_example-composition/theme.vue b/src/back-top/_example-composition/theme.vue new file mode 100644 index 000000000..2fa2f8c33 --- /dev/null +++ b/src/back-top/_example-composition/theme.vue @@ -0,0 +1,31 @@ + diff --git a/src/badge/_example-composition/base.vue b/src/badge/_example-composition/base.vue new file mode 100644 index 000000000..4307c685e --- /dev/null +++ b/src/badge/_example-composition/base.vue @@ -0,0 +1,27 @@ + + diff --git a/src/badge/_example-composition/custom.vue b/src/badge/_example-composition/custom.vue new file mode 100644 index 000000000..bab8bb273 --- /dev/null +++ b/src/badge/_example-composition/custom.vue @@ -0,0 +1,32 @@ + + diff --git a/src/badge/_example-composition/number.vue b/src/badge/_example-composition/number.vue new file mode 100644 index 000000000..226ec051e --- /dev/null +++ b/src/badge/_example-composition/number.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/badge/_example-composition/offset.vue b/src/badge/_example-composition/offset.vue new file mode 100644 index 000000000..78a852229 --- /dev/null +++ b/src/badge/_example-composition/offset.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/badge/_example-composition/shape.vue b/src/badge/_example-composition/shape.vue new file mode 100644 index 000000000..8441b25be --- /dev/null +++ b/src/badge/_example-composition/shape.vue @@ -0,0 +1,21 @@ + + + diff --git a/src/badge/_example-composition/size.vue b/src/badge/_example-composition/size.vue new file mode 100644 index 000000000..c04460266 --- /dev/null +++ b/src/badge/_example-composition/size.vue @@ -0,0 +1,43 @@ + + diff --git a/src/breadcrumb/_example-composition/base.vue b/src/breadcrumb/_example-composition/base.vue new file mode 100644 index 000000000..e8e01a957 --- /dev/null +++ b/src/breadcrumb/_example-composition/base.vue @@ -0,0 +1,7 @@ + diff --git a/src/breadcrumb/_example-composition/custom.vue b/src/breadcrumb/_example-composition/custom.vue new file mode 100644 index 000000000..3c12df866 --- /dev/null +++ b/src/breadcrumb/_example-composition/custom.vue @@ -0,0 +1,13 @@ + + diff --git a/src/breadcrumb/_example-composition/dropdown.vue b/src/breadcrumb/_example-composition/dropdown.vue new file mode 100644 index 000000000..de08d5bc7 --- /dev/null +++ b/src/breadcrumb/_example-composition/dropdown.vue @@ -0,0 +1,10 @@ + + diff --git a/src/breadcrumb/_example-composition/href.vue b/src/breadcrumb/_example-composition/href.vue new file mode 100644 index 000000000..59c460aa8 --- /dev/null +++ b/src/breadcrumb/_example-composition/href.vue @@ -0,0 +1,22 @@ + + diff --git a/src/breadcrumb/_example-composition/icon.vue b/src/breadcrumb/_example-composition/icon.vue new file mode 100644 index 000000000..ce36c6ff8 --- /dev/null +++ b/src/breadcrumb/_example-composition/icon.vue @@ -0,0 +1,10 @@ + + diff --git a/src/breadcrumb/_example-composition/options.vue b/src/breadcrumb/_example-composition/options.vue new file mode 100644 index 000000000..40c6be48c --- /dev/null +++ b/src/breadcrumb/_example-composition/options.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/breadcrumb/_example-composition/to.vue b/src/breadcrumb/_example-composition/to.vue new file mode 100644 index 000000000..1fca951ee --- /dev/null +++ b/src/breadcrumb/_example-composition/to.vue @@ -0,0 +1,6 @@ + diff --git a/src/breadcrumb/_example/custom.vue b/src/breadcrumb/_example/custom.vue index ec3c01c7a..ecdbb4fb0 100644 --- a/src/breadcrumb/_example/custom.vue +++ b/src/breadcrumb/_example/custom.vue @@ -5,15 +5,15 @@ 页面2 页面3 - + diff --git a/src/breadcrumb/_example/dropdown.vue b/src/breadcrumb/_example/dropdown.vue index 7ccb3e97d..5c3eff584 100644 --- a/src/breadcrumb/_example/dropdown.vue +++ b/src/breadcrumb/_example/dropdown.vue @@ -1,16 +1,16 @@ diff --git a/src/breadcrumb/_example/icon.vue b/src/breadcrumb/_example/icon.vue index a24ba5e71..301621b56 100644 --- a/src/breadcrumb/_example/icon.vue +++ b/src/breadcrumb/_example/icon.vue @@ -1,16 +1,16 @@ diff --git a/src/button/_example-composition/base.vue b/src/button/_example-composition/base.vue new file mode 100644 index 000000000..6061b4762 --- /dev/null +++ b/src/button/_example-composition/base.vue @@ -0,0 +1,8 @@ + diff --git a/src/button/_example-composition/block.vue b/src/button/_example-composition/block.vue new file mode 100644 index 000000000..15150c342 --- /dev/null +++ b/src/button/_example-composition/block.vue @@ -0,0 +1,14 @@ + + diff --git a/src/button/_example-composition/custom-element.vue b/src/button/_example-composition/custom-element.vue new file mode 100644 index 000000000..3a04157a8 --- /dev/null +++ b/src/button/_example-composition/custom-element.vue @@ -0,0 +1,7 @@ + diff --git a/src/button/_example-composition/ghost.vue b/src/button/_example-composition/ghost.vue new file mode 100644 index 000000000..da19efeba --- /dev/null +++ b/src/button/_example-composition/ghost.vue @@ -0,0 +1,29 @@ + diff --git a/src/button/_example-composition/icon.vue b/src/button/_example-composition/icon.vue new file mode 100644 index 000000000..24fa25149 --- /dev/null +++ b/src/button/_example-composition/icon.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/button/_example-composition/shape.vue b/src/button/_example-composition/shape.vue new file mode 100644 index 000000000..57f4e6569 --- /dev/null +++ b/src/button/_example-composition/shape.vue @@ -0,0 +1,31 @@ + + diff --git a/src/button/_example-composition/size.vue b/src/button/_example-composition/size.vue new file mode 100644 index 000000000..bf1c5087c --- /dev/null +++ b/src/button/_example-composition/size.vue @@ -0,0 +1,22 @@ + diff --git a/src/button/_example-composition/status.vue b/src/button/_example-composition/status.vue new file mode 100644 index 000000000..d1ffddde6 --- /dev/null +++ b/src/button/_example-composition/status.vue @@ -0,0 +1,6 @@ + diff --git a/src/button/_example-composition/theme.vue b/src/button/_example-composition/theme.vue new file mode 100644 index 000000000..81a9696fb --- /dev/null +++ b/src/button/_example-composition/theme.vue @@ -0,0 +1,34 @@ + diff --git a/src/calendar/_example-composition/base.vue b/src/calendar/_example-composition/base.vue new file mode 100644 index 000000000..690c860a2 --- /dev/null +++ b/src/calendar/_example-composition/base.vue @@ -0,0 +1,3 @@ + diff --git a/src/calendar/_example-composition/card.vue b/src/calendar/_example-composition/card.vue new file mode 100644 index 000000000..15234ce33 --- /dev/null +++ b/src/calendar/_example-composition/card.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/calendar/_example-composition/cell-append.vue b/src/calendar/_example-composition/cell-append.vue new file mode 100644 index 000000000..ac88187a1 --- /dev/null +++ b/src/calendar/_example-composition/cell-append.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/calendar/_example-composition/cell.vue b/src/calendar/_example-composition/cell.vue new file mode 100644 index 000000000..1ebafdc64 --- /dev/null +++ b/src/calendar/_example-composition/cell.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/calendar/_example-composition/controller-config.vue b/src/calendar/_example-composition/controller-config.vue new file mode 100644 index 000000000..aeb5819eb --- /dev/null +++ b/src/calendar/_example-composition/controller-config.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/calendar/_example-composition/events.vue b/src/calendar/_example-composition/events.vue new file mode 100644 index 000000000..ca887014f --- /dev/null +++ b/src/calendar/_example-composition/events.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/calendar/_example-composition/first-day-of-week.vue b/src/calendar/_example-composition/first-day-of-week.vue new file mode 100644 index 000000000..8ae29c7f3 --- /dev/null +++ b/src/calendar/_example-composition/first-day-of-week.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/calendar/_example-composition/head.vue b/src/calendar/_example-composition/head.vue new file mode 100644 index 000000000..1d1f4303c --- /dev/null +++ b/src/calendar/_example-composition/head.vue @@ -0,0 +1,5 @@ + diff --git a/src/calendar/_example-composition/mode.vue b/src/calendar/_example-composition/mode.vue new file mode 100644 index 000000000..75114cf65 --- /dev/null +++ b/src/calendar/_example-composition/mode.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/src/calendar/_example-composition/range.vue b/src/calendar/_example-composition/range.vue new file mode 100644 index 000000000..69bd127ad --- /dev/null +++ b/src/calendar/_example-composition/range.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/calendar/_example-composition/slot-props-api.vue b/src/calendar/_example-composition/slot-props-api.vue new file mode 100644 index 000000000..70c3e2ba6 --- /dev/null +++ b/src/calendar/_example-composition/slot-props-api.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/calendar/_example-composition/value.vue b/src/calendar/_example-composition/value.vue new file mode 100644 index 000000000..02a7ff353 --- /dev/null +++ b/src/calendar/_example-composition/value.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/calendar/_example-composition/week.vue b/src/calendar/_example-composition/week.vue new file mode 100644 index 000000000..264583097 --- /dev/null +++ b/src/calendar/_example-composition/week.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/calendar/_example/base.vue b/src/calendar/_example/base.vue index 73f05f9c8..690c860a2 100644 --- a/src/calendar/_example/base.vue +++ b/src/calendar/_example/base.vue @@ -1,4 +1,3 @@ - diff --git a/src/calendar/_example/card.vue b/src/calendar/_example/card.vue index ccabaa9fd..bbd83007a 100644 --- a/src/calendar/_example/card.vue +++ b/src/calendar/_example/card.vue @@ -20,7 +20,6 @@ export default { data() { return { theme: 'card', - isShowWeekendDefault: true, fillWithZero: true, options: [ { value: 'full', label: '全屏风格' }, diff --git a/src/card/_example-composition/base.vue b/src/card/_example-composition/base.vue new file mode 100644 index 000000000..dbe17b123 --- /dev/null +++ b/src/card/_example-composition/base.vue @@ -0,0 +1,20 @@ + + diff --git a/src/card/_example-composition/bordered-none.vue b/src/card/_example-composition/bordered-none.vue new file mode 100644 index 000000000..ce57db531 --- /dev/null +++ b/src/card/_example-composition/bordered-none.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/card/_example-composition/bordered.vue b/src/card/_example-composition/bordered.vue new file mode 100644 index 000000000..6cb73db7d --- /dev/null +++ b/src/card/_example-composition/bordered.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/card/_example-composition/custom-loading-props.vue b/src/card/_example-composition/custom-loading-props.vue new file mode 100644 index 000000000..2f2e0ed52 --- /dev/null +++ b/src/card/_example-composition/custom-loading-props.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/card/_example-composition/footer-actions.vue b/src/card/_example-composition/footer-actions.vue new file mode 100644 index 000000000..7e1d8508b --- /dev/null +++ b/src/card/_example-composition/footer-actions.vue @@ -0,0 +1,89 @@ + + diff --git a/src/card/_example-composition/footer-content-actions.vue b/src/card/_example-composition/footer-content-actions.vue new file mode 100644 index 000000000..a0f5fef80 --- /dev/null +++ b/src/card/_example-composition/footer-content-actions.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/card/_example-composition/footer-content.vue b/src/card/_example-composition/footer-content.vue new file mode 100644 index 000000000..f41ef7d0f --- /dev/null +++ b/src/card/_example-composition/footer-content.vue @@ -0,0 +1,12 @@ + + diff --git a/src/card/_example-composition/footer.vue b/src/card/_example-composition/footer.vue new file mode 100644 index 000000000..463d7aeb2 --- /dev/null +++ b/src/card/_example-composition/footer.vue @@ -0,0 +1,31 @@ + + diff --git a/src/card/_example-composition/header-all-props.vue b/src/card/_example-composition/header-all-props.vue new file mode 100644 index 000000000..31d9d563c --- /dev/null +++ b/src/card/_example-composition/header-all-props.vue @@ -0,0 +1,26 @@ + + diff --git a/src/card/_example-composition/header-bordered.vue b/src/card/_example-composition/header-bordered.vue new file mode 100644 index 000000000..b7cf47a6c --- /dev/null +++ b/src/card/_example-composition/header-bordered.vue @@ -0,0 +1,18 @@ + + diff --git a/src/card/_example-composition/header-description.vue b/src/card/_example-composition/header-description.vue new file mode 100644 index 000000000..6cf448fe7 --- /dev/null +++ b/src/card/_example-composition/header-description.vue @@ -0,0 +1,24 @@ + + diff --git a/src/card/_example-composition/header-footer-actions.vue b/src/card/_example-composition/header-footer-actions.vue new file mode 100644 index 000000000..ff86a9054 --- /dev/null +++ b/src/card/_example-composition/header-footer-actions.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/card/_example-composition/header-subtitle-footer-actions.vue b/src/card/_example-composition/header-subtitle-footer-actions.vue new file mode 100644 index 000000000..e40247559 --- /dev/null +++ b/src/card/_example-composition/header-subtitle-footer-actions.vue @@ -0,0 +1,58 @@ + + diff --git a/src/card/_example-composition/header-subtitle.vue b/src/card/_example-composition/header-subtitle.vue new file mode 100644 index 000000000..546ad77d4 --- /dev/null +++ b/src/card/_example-composition/header-subtitle.vue @@ -0,0 +1,24 @@ + + diff --git a/src/card/_example-composition/header.vue b/src/card/_example-composition/header.vue new file mode 100644 index 000000000..8df68bff0 --- /dev/null +++ b/src/card/_example-composition/header.vue @@ -0,0 +1,18 @@ + + diff --git a/src/card/_example-composition/hover.vue b/src/card/_example-composition/hover.vue new file mode 100644 index 000000000..78e785b3d --- /dev/null +++ b/src/card/_example-composition/hover.vue @@ -0,0 +1,19 @@ + + diff --git a/src/card/_example-composition/small.vue b/src/card/_example-composition/small.vue new file mode 100644 index 000000000..3d7869640 --- /dev/null +++ b/src/card/_example-composition/small.vue @@ -0,0 +1,26 @@ + + diff --git a/src/card/_example/base.vue b/src/card/_example/base.vue index 98e668875..18d29e79d 100644 --- a/src/card/_example/base.vue +++ b/src/card/_example/base.vue @@ -13,7 +13,6 @@ export default { data() { return { title: '标题', - actions: '操作', infoMessage: '仅有内容区域的卡片形式。卡片内容区域可以是文字、图片、表单、表格等形式信息内容。可使用大中小不同的卡片尺寸,按业务需求进行呈现。', }; diff --git a/src/card/_example/bordered-none.vue b/src/card/_example/bordered-none.vue index b180bd396..a911879b1 100644 --- a/src/card/_example/bordered-none.vue +++ b/src/card/_example/bordered-none.vue @@ -15,7 +15,6 @@ export default { data() { return { title: '标题', - actions: '操作', infoMessage: '仅有内容区域的卡片形式。卡片内容区域可以是文字、图片、表单、表格等形式信息内容。可使用大中小不同的卡片尺寸,按业务需求进行呈现。', }; diff --git a/src/card/_example/footer-actions.vue b/src/card/_example/footer-actions.vue index 3a7174e9b..43a72c4e1 100644 --- a/src/card/_example/footer-actions.vue +++ b/src/card/_example/footer-actions.vue @@ -80,10 +80,6 @@ export default { data() { return { cover: 'https://tdesign.gtimg.com/site/source/card-demo.png', - infoMessage: `这是一段很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长的内容示例。`, image: 'https://tdesign.gtimg.com/site/avatar-boy.jpg', options: [ { diff --git a/src/card/_example/footer-content-actions.vue b/src/card/_example/footer-content-actions.vue index 45b2358f2..f038a3e7a 100644 --- a/src/card/_example/footer-content-actions.vue +++ b/src/card/_example/footer-content-actions.vue @@ -22,10 +22,6 @@ export default { }, data() { return { - infoMessage: `这是一段很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长很长很长很长 - 很长很长很长很长很长很长很长很长很长很长很长的内容示例。`, options: [ { content: '操作一', diff --git a/src/card/_example/footer-content.vue b/src/card/_example/footer-content.vue index 5143c929a..004560f09 100644 --- a/src/card/_example/footer-content.vue +++ b/src/card/_example/footer-content.vue @@ -6,18 +6,11 @@ diff --git a/src/card/_example/footer.vue b/src/card/_example/footer.vue index 026a685af..5ae5635d7 100644 --- a/src/card/_example/footer.vue +++ b/src/card/_example/footer.vue @@ -24,9 +24,7 @@ diff --git a/src/card/_example/header-subtitle-footer-actions.vue b/src/card/_example/header-subtitle-footer-actions.vue index 158892cd5..c1dd2b1be 100644 --- a/src/card/_example/header-subtitle-footer-actions.vue +++ b/src/card/_example/header-subtitle-footer-actions.vue @@ -34,7 +34,7 @@ diff --git a/src/cascader/_example-composition/check-strictly.vue b/src/cascader/_example-composition/check-strictly.vue new file mode 100644 index 000000000..022ee217f --- /dev/null +++ b/src/cascader/_example-composition/check-strictly.vue @@ -0,0 +1,102 @@ + + diff --git a/src/cascader/_example-composition/collapsed.vue b/src/cascader/_example-composition/collapsed.vue new file mode 100644 index 000000000..0cb6545e7 --- /dev/null +++ b/src/cascader/_example-composition/collapsed.vue @@ -0,0 +1,77 @@ + + diff --git a/src/cascader/_example-composition/custom-options.vue b/src/cascader/_example-composition/custom-options.vue new file mode 100644 index 000000000..7c85cc0d8 --- /dev/null +++ b/src/cascader/_example-composition/custom-options.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/cascader/_example-composition/disabled.vue b/src/cascader/_example-composition/disabled.vue new file mode 100644 index 000000000..e47e68adb --- /dev/null +++ b/src/cascader/_example-composition/disabled.vue @@ -0,0 +1,46 @@ + + diff --git a/src/cascader/_example-composition/ellipsis.vue b/src/cascader/_example-composition/ellipsis.vue new file mode 100644 index 000000000..3796d8b1c --- /dev/null +++ b/src/cascader/_example-composition/ellipsis.vue @@ -0,0 +1,46 @@ + + diff --git a/src/cascader/_example-composition/filterable.vue b/src/cascader/_example-composition/filterable.vue new file mode 100644 index 000000000..b3e466066 --- /dev/null +++ b/src/cascader/_example-composition/filterable.vue @@ -0,0 +1,52 @@ + + diff --git a/src/cascader/_example-composition/keys.vue b/src/cascader/_example-composition/keys.vue new file mode 100644 index 000000000..119c0dafb --- /dev/null +++ b/src/cascader/_example-composition/keys.vue @@ -0,0 +1,57 @@ + + diff --git a/src/cascader/_example-composition/load.vue b/src/cascader/_example-composition/load.vue new file mode 100644 index 000000000..c32151571 --- /dev/null +++ b/src/cascader/_example-composition/load.vue @@ -0,0 +1,65 @@ + + diff --git a/src/cascader/_example-composition/max.vue b/src/cascader/_example-composition/max.vue new file mode 100644 index 000000000..b24ce5c5f --- /dev/null +++ b/src/cascader/_example-composition/max.vue @@ -0,0 +1,42 @@ + + diff --git a/src/cascader/_example-composition/multiple.vue b/src/cascader/_example-composition/multiple.vue new file mode 100644 index 000000000..50d319aff --- /dev/null +++ b/src/cascader/_example-composition/multiple.vue @@ -0,0 +1,42 @@ + + diff --git a/src/cascader/_example-composition/panel.vue b/src/cascader/_example-composition/panel.vue new file mode 100644 index 000000000..2f3bd5d06 --- /dev/null +++ b/src/cascader/_example-composition/panel.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/cascader/_example-composition/show-all-levels.vue b/src/cascader/_example-composition/show-all-levels.vue new file mode 100644 index 000000000..f14182dc3 --- /dev/null +++ b/src/cascader/_example-composition/show-all-levels.vue @@ -0,0 +1,46 @@ + + diff --git a/src/cascader/_example-composition/size.vue b/src/cascader/_example-composition/size.vue new file mode 100644 index 000000000..faa774700 --- /dev/null +++ b/src/cascader/_example-composition/size.vue @@ -0,0 +1,52 @@ + + diff --git a/src/cascader/_example-composition/trigger.vue b/src/cascader/_example-composition/trigger.vue new file mode 100644 index 000000000..7807c670f --- /dev/null +++ b/src/cascader/_example-composition/trigger.vue @@ -0,0 +1,45 @@ + + diff --git a/src/cascader/_example-composition/value-display.vue b/src/cascader/_example-composition/value-display.vue new file mode 100644 index 000000000..ac3392264 --- /dev/null +++ b/src/cascader/_example-composition/value-display.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/cascader/_example-composition/value-mode.vue b/src/cascader/_example-composition/value-mode.vue new file mode 100644 index 000000000..2c7cae421 --- /dev/null +++ b/src/cascader/_example-composition/value-mode.vue @@ -0,0 +1,48 @@ + + diff --git a/src/cascader/_example-composition/value-type.vue b/src/cascader/_example-composition/value-type.vue new file mode 100644 index 000000000..9633635b2 --- /dev/null +++ b/src/cascader/_example-composition/value-type.vue @@ -0,0 +1,51 @@ + + diff --git a/src/cascader/_example/collapsed.vue b/src/cascader/_example/collapsed.vue index c9f8d89f4..d7dae727b 100644 --- a/src/cascader/_example/collapsed.vue +++ b/src/cascader/_example/collapsed.vue @@ -55,7 +55,6 @@ export default { }, ], value: ['1.1', '1.2', '1.3'], - open: true, }; }, methods: { diff --git a/src/cascader/_example/multiple.vue b/src/cascader/_example/multiple.vue index 0da8e30b6..1ff1cfca5 100644 --- a/src/cascader/_example/multiple.vue +++ b/src/cascader/_example/multiple.vue @@ -42,10 +42,5 @@ export default { value: ['1.1'], }; }, - methods: { - handleValueChange(e) { - this.value = e; - }, - }, }; diff --git a/src/checkbox/_example-composition/base.vue b/src/checkbox/_example-composition/base.vue new file mode 100644 index 000000000..9479864eb --- /dev/null +++ b/src/checkbox/_example-composition/base.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/checkbox/_example-composition/controlled.vue b/src/checkbox/_example-composition/controlled.vue new file mode 100644 index 000000000..e827066c2 --- /dev/null +++ b/src/checkbox/_example-composition/controlled.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/checkbox/_example-composition/group.vue b/src/checkbox/_example-composition/group.vue new file mode 100644 index 000000000..8acc3b79f --- /dev/null +++ b/src/checkbox/_example-composition/group.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/checkbox/_example-composition/link.vue b/src/checkbox/_example-composition/link.vue new file mode 100644 index 000000000..7f0827681 --- /dev/null +++ b/src/checkbox/_example-composition/link.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/checkbox/_example/group.vue b/src/checkbox/_example/group.vue index 6e62c272d..c7b106efd 100644 --- a/src/checkbox/_example/group.vue +++ b/src/checkbox/_example/group.vue @@ -68,12 +68,10 @@ export default { return { value1: ['选项一'], options1: [ - // eslint-disable-next-line @typescript-eslint/no-unused-vars - { value: '选项一', label: (h) =>
选项一
}, + { value: '选项一', label: () =>
选项一
}, { value: '选项二', label: '选项二' }, { value: '选项三', label: '选项三' }, ], - value2: ['选项一'], value3: ['选项一', '选项二', '选项三'], options2: [...OPTION_LIST], diff --git a/src/collapse/_example-composition/base.vue b/src/collapse/_example-composition/base.vue new file mode 100644 index 000000000..386e2da6b --- /dev/null +++ b/src/collapse/_example-composition/base.vue @@ -0,0 +1,39 @@ + + diff --git a/src/collapse/_example-composition/icon.vue b/src/collapse/_example-composition/icon.vue new file mode 100644 index 000000000..55f7327e7 --- /dev/null +++ b/src/collapse/_example-composition/icon.vue @@ -0,0 +1,40 @@ + + diff --git a/src/collapse/_example-composition/mutex.vue b/src/collapse/_example-composition/mutex.vue new file mode 100644 index 000000000..1880d3cbd --- /dev/null +++ b/src/collapse/_example-composition/mutex.vue @@ -0,0 +1,31 @@ + + diff --git a/src/collapse/_example-composition/other.vue b/src/collapse/_example-composition/other.vue new file mode 100644 index 000000000..fcaf40f49 --- /dev/null +++ b/src/collapse/_example-composition/other.vue @@ -0,0 +1,37 @@ + + diff --git a/src/collapse/_example-composition/rightSlot.vue b/src/collapse/_example-composition/rightSlot.vue new file mode 100644 index 000000000..ce37b30ec --- /dev/null +++ b/src/collapse/_example-composition/rightSlot.vue @@ -0,0 +1,40 @@ + + diff --git a/src/collapse/_example/icon.vue b/src/collapse/_example/icon.vue index 92e13fdf0..8bf26b194 100644 --- a/src/collapse/_example/icon.vue +++ b/src/collapse/_example/icon.vue @@ -40,7 +40,6 @@ export default { data() { return { direction: 'left', - disable: false, onlyIcon: false, }; }, diff --git a/src/color-picker/_example-composition/color-mode.vue b/src/color-picker/_example-composition/color-mode.vue new file mode 100644 index 000000000..785555192 --- /dev/null +++ b/src/color-picker/_example-composition/color-mode.vue @@ -0,0 +1,32 @@ + + + + diff --git a/src/color-picker/_example-composition/enable-alpha.vue b/src/color-picker/_example-composition/enable-alpha.vue new file mode 100644 index 000000000..887857c62 --- /dev/null +++ b/src/color-picker/_example-composition/enable-alpha.vue @@ -0,0 +1,11 @@ + + diff --git a/src/color-picker/_example-composition/panel.vue b/src/color-picker/_example-composition/panel.vue new file mode 100644 index 000000000..8f33812bb --- /dev/null +++ b/src/color-picker/_example-composition/panel.vue @@ -0,0 +1,41 @@ + + diff --git a/src/color-picker/_example-composition/recent-color.vue b/src/color-picker/_example-composition/recent-color.vue new file mode 100644 index 000000000..81e0a938d --- /dev/null +++ b/src/color-picker/_example-composition/recent-color.vue @@ -0,0 +1,29 @@ + + diff --git a/src/color-picker/_example-composition/status-disabled.vue b/src/color-picker/_example-composition/status-disabled.vue new file mode 100644 index 000000000..a4bec1b2d --- /dev/null +++ b/src/color-picker/_example-composition/status-disabled.vue @@ -0,0 +1,8 @@ + + diff --git a/src/color-picker/_example-composition/status-readonly.vue b/src/color-picker/_example-composition/status-readonly.vue new file mode 100644 index 000000000..77a82701b --- /dev/null +++ b/src/color-picker/_example-composition/status-readonly.vue @@ -0,0 +1,8 @@ + + diff --git a/src/color-picker/_example-composition/swatch-color.vue b/src/color-picker/_example-composition/swatch-color.vue new file mode 100644 index 000000000..57aea5831 --- /dev/null +++ b/src/color-picker/_example-composition/swatch-color.vue @@ -0,0 +1,18 @@ + + diff --git a/src/color-picker/_example-composition/trigger.vue b/src/color-picker/_example-composition/trigger.vue new file mode 100644 index 000000000..5b87996f4 --- /dev/null +++ b/src/color-picker/_example-composition/trigger.vue @@ -0,0 +1,8 @@ + + diff --git a/src/comment/_example-composition/base.vue b/src/comment/_example-composition/base.vue new file mode 100644 index 000000000..859cc7345 --- /dev/null +++ b/src/comment/_example-composition/base.vue @@ -0,0 +1,8 @@ + diff --git a/src/comment/_example-composition/list.vue b/src/comment/_example-composition/list.vue new file mode 100644 index 000000000..f2a93fbed --- /dev/null +++ b/src/comment/_example-composition/list.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/comment/_example-composition/operation.vue b/src/comment/_example-composition/operation.vue new file mode 100644 index 000000000..94eaa2e18 --- /dev/null +++ b/src/comment/_example-composition/operation.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/comment/_example-composition/quote.vue b/src/comment/_example-composition/quote.vue new file mode 100644 index 000000000..c7a881a48 --- /dev/null +++ b/src/comment/_example-composition/quote.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/comment/_example-composition/reply-form.vue b/src/comment/_example-composition/reply-form.vue new file mode 100644 index 000000000..660e56e71 --- /dev/null +++ b/src/comment/_example-composition/reply-form.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/comment/_example-composition/reply.vue b/src/comment/_example-composition/reply.vue new file mode 100644 index 000000000..eca7a6e6e --- /dev/null +++ b/src/comment/_example-composition/reply.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/comment/_example/operation.vue b/src/comment/_example/operation.vue index ee5c6f44f..9489679dd 100644 --- a/src/comment/_example/operation.vue +++ b/src/comment/_example/operation.vue @@ -7,11 +7,11 @@ > @@ -19,11 +19,12 @@ diff --git a/src/comment/_example/quote.vue b/src/comment/_example/quote.vue index 0b3470580..3f2a56dfc 100644 --- a/src/comment/_example/quote.vue +++ b/src/comment/_example/quote.vue @@ -7,11 +7,11 @@ > @@ -23,11 +23,12 @@ diff --git a/src/comment/_example/reply-form.vue b/src/comment/_example/reply-form.vue index 7e65920b3..da7722268 100644 --- a/src/comment/_example/reply-form.vue +++ b/src/comment/_example/reply-form.vue @@ -17,7 +17,6 @@ export default { data() { return { replyData: '', - NotifyPlugin, }; }, methods: { diff --git a/src/comment/_example/reply.vue b/src/comment/_example/reply.vue index 4cc952896..a974eb51b 100644 --- a/src/comment/_example/reply.vue +++ b/src/comment/_example/reply.vue @@ -24,17 +24,17 @@ > @@ -44,11 +44,13 @@ diff --git a/src/config-provider/_example-composition/calendar.vue b/src/config-provider/_example-composition/calendar.vue new file mode 100644 index 000000000..9ed5b6640 --- /dev/null +++ b/src/config-provider/_example-composition/calendar.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/config-provider/_example-composition/date-picker.vue b/src/config-provider/_example-composition/date-picker.vue new file mode 100644 index 000000000..502ea64ba --- /dev/null +++ b/src/config-provider/_example-composition/date-picker.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/config-provider/_example-composition/dialog.vue b/src/config-provider/_example-composition/dialog.vue new file mode 100644 index 000000000..9a2980268 --- /dev/null +++ b/src/config-provider/_example-composition/dialog.vue @@ -0,0 +1,43 @@ + + + + diff --git a/src/config-provider/_example-composition/global.vue b/src/config-provider/_example-composition/global.vue new file mode 100644 index 000000000..c9e4a6e7f --- /dev/null +++ b/src/config-provider/_example-composition/global.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/config-provider/_example-composition/input.vue b/src/config-provider/_example-composition/input.vue new file mode 100644 index 000000000..2678360e9 --- /dev/null +++ b/src/config-provider/_example-composition/input.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/config-provider/_example-composition/others.vue b/src/config-provider/_example-composition/others.vue new file mode 100644 index 000000000..9f86a12b0 --- /dev/null +++ b/src/config-provider/_example-composition/others.vue @@ -0,0 +1,257 @@ + + + + diff --git a/src/config-provider/_example-composition/pagination.vue b/src/config-provider/_example-composition/pagination.vue new file mode 100644 index 000000000..c1fc62a55 --- /dev/null +++ b/src/config-provider/_example-composition/pagination.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/config-provider/_example-composition/popconfirm.vue b/src/config-provider/_example-composition/popconfirm.vue new file mode 100644 index 000000000..559840ee7 --- /dev/null +++ b/src/config-provider/_example-composition/popconfirm.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/config-provider/_example-composition/table.vue b/src/config-provider/_example-composition/table.vue new file mode 100644 index 000000000..d262073fd --- /dev/null +++ b/src/config-provider/_example-composition/table.vue @@ -0,0 +1,90 @@ + + + + diff --git a/src/config-provider/_example/others.vue b/src/config-provider/_example/others.vue index 76b9866d3..4966ef184 100644 --- a/src/config-provider/_example/others.vue +++ b/src/config-provider/_example/others.vue @@ -89,9 +89,9 @@ import { import merge from 'lodash/merge'; import enConfig from 'tdesign-vue/es/locale/en_US'; -const transferList = []; +const initialTransferList = []; for (let i = 0; i < 20; i++) { - transferList.push({ + initialTransferList.push({ value: i.toString(), label: `content ${i + 1}`, disabled: i % 4 < 1, @@ -187,7 +187,7 @@ export default { errorIcon: (h) => h && , }, }), - transferList, + transferList: initialTransferList, transferChecked: [], transferTargetValue: [], options1: SELECT_OPTIONS.concat(), diff --git a/src/config-provider/_example/table.vue b/src/config-provider/_example/table.vue index 5888a7d09..a1f0055fe 100644 --- a/src/config-provider/_example/table.vue +++ b/src/config-provider/_example/table.vue @@ -15,7 +15,7 @@ import { ChevronRightIcon, CaretDownSmallIcon /** , ChevronDownIcon */ } from 't import merge from 'lodash/merge'; import enConfig from 'tdesign-vue/es/locale/en_US'; -const columns = [ +const initialColumns = [ { colKey: 'type', title: 'Type', @@ -38,7 +38,7 @@ const columns = [ }, ]; -const data = [ +const initialData = [ { type: 'Array', platform: 'Vue(PC)', property: 'A' }, { type: 'String', platform: 'React(PC)', property: 'B' }, { type: 'Object', platform: 'Miniprogram', property: 'C' }, @@ -68,8 +68,8 @@ export default { // treeExpandAndFoldIcon: (h, { type }) => type === 'expand' ? : , }, }), - columns, - data, + columns: initialColumns, + data: initialData, }; }, methods: { diff --git a/src/config-provider/config-provider.en-US.md b/src/config-provider/config-provider.en-US.md index 03822ce11..e3de1d3e2 100644 --- a/src/config-provider/config-provider.en-US.md +++ b/src/config-provider/config-provider.en-US.md @@ -91,7 +91,7 @@ name | type | default | description | required cellMonth | String | - | \- | N controllerConfig | Object | - | Typescript:`CalendarController`,[Calendar API Documents](./calendar?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N fillWithZero | Boolean | true | \- | N -firstDayOfWeek | Number | 1 | options:1/2/3/4/5/6/7 | N +firstDayOfWeek | Number | 1 | options: 1/2/3/4/5/6/7 | N hideWeekend | String | - | \- | N monthRadio | String | - | \- | N monthSelection | String | - | \- | N @@ -144,7 +144,7 @@ confirm | String | - | confirm text | N dayAriaLabel | String | - | date text | N dayjsLocale | String | - | dayjs language international configuration | N direction | String | 'ltr' | range separator text | N -firstDayOfWeek | Number | 7 | options:1/2/3/4/5/6/7 | N +firstDayOfWeek | Number | 7 | options: 1/2/3/4/5/6/7 | N format | String | 'YYYY-MM-DD' | date format rules | N monthAriaLabel | String | - | month text | N months | Array | - | Typescript:`string[]` | N @@ -170,7 +170,7 @@ yearAriaLabel | String | - | year text | N name | type | default | description | required -- | -- | -- | -- | -- cancel | Object | - | Typescript:`string \| ButtonProps`,[Button API Documents](./button?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N -closeOnEscKeydown | Boolean | true | \- | N +closeOnEscKeydown | Boolean | true | trigger dialog close on `ESC` keydown | N closeOnOverlayClick | Boolean | true | \- | N confirm | Object | - | Typescript:`string \| ButtonProps` | N confirmBtnTheme | Object | - | Typescript:`{ default: string; info: string; warning: string; danger: string; success: string; }` | N @@ -180,7 +180,7 @@ confirmBtnTheme | Object | - | Typescript:`{ default: string; info: string; wa name | type | default | description | required -- | -- | -- | -- | -- cancel | String | - | Typescript:`string \| ButtonProps` | N -closeOnEscKeydown | Boolean | true | \- | N +closeOnEscKeydown | Boolean | true | trigger drawer close event on `ESC` keydown | N closeOnOverlayClick | Boolean | true | \- | N confirm | String | - | Typescript:`string \| ButtonProps` | N size | String | 'small' | \- | N @@ -212,6 +212,7 @@ loadingText | String | - | \- | N resetText | String | - | \- | N searchResultText | String | - | \- | N selectAllText | String | - | \- | N +size | String | medium | options: small/medium/large。Typescript:`SizeEnum`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N sortAscendingOperationText | String | - | \- | N sortCancelOperationText | String | - | \- | N sortDescendingOperationText | String | - | \- | N diff --git a/src/config-provider/config-provider.md b/src/config-provider/config-provider.md index 2c38813dc..5f83a10dc 100644 --- a/src/config-provider/config-provider.md +++ b/src/config-provider/config-provider.md @@ -37,7 +37,7 @@ Vue.use(TDesign); ## API ### GlobalConfigProvider -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- alert | Object | - | 警告全局配置。TS 类型:`AlertConfig` | N anchor | Object | - | 锚点全局配置。TS 类型:`AnchorConfig` | N @@ -71,14 +71,14 @@ upload | Object | - | 上传组件全局配置。TS 类型:`UploadConfig` | N ### InputConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- autocomplete | String | - | 是否开启自动填充功能 | N placeholder | String | - | 语言配置,“请输入”占位符描述文本 | N ### PaginationConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- itemsPerPage | String | - | 语言配置,每页条数文本,示例:`'{size} 条/页'` | N jumpTo | String | - | 语言配置,页码跳转文本,示例:'跳至' | N @@ -87,7 +87,7 @@ total | String | - | 语言配置,数据总条数文本,示例:`'共 {tota ### CalendarConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cellMonth | String | - | 语言配置,月份描述文本,示例:'一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月' | N controllerConfig | Object | - | 日历右上角控制器按钮配置。TS 类型:`CalendarController`,[Calendar API Documents](./calendar?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N @@ -105,7 +105,7 @@ yearSelection | String | - | 语言配置,“年”选择描述文本,示例 ### CascaderConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- empty | String | - | 语言配置,“暂无数据”描述文本 | N loadingText | String | - | 语言配置,“加载中”描述文本 | N @@ -113,7 +113,7 @@ placeholder | String | - | 语言配置,“请选择”占位描述文本 | N ### ColorPickerConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- clearConfirmText | String | - | 语言配置,“确定清空最近使用的颜色吗?”清空颜色确认文案 | N recentColorTitle | String | - | 语言配置,“最近使用颜色” 区域标题文本 | N @@ -121,7 +121,7 @@ swatchColorTitle | String | - | 语言配置,\"系统预设颜色\" 区域标 ### TransferConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- empty | String | - | 语言配置,“暂无数据”空数据描述文本 | N placeholder | String | - | 语言配置,“请输入关键词搜索”占位符描述文本 | N @@ -129,7 +129,7 @@ title | String | - | 语言配置,穿梭框标题描述文本,示例:“{c ### TimePickerConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- anteMeridiem | String | - | 语言配置,“上午”描述文本 | N confirm | String | - | 语言配置,“确定”描述文本 | N @@ -139,7 +139,7 @@ postMeridiem | String | - | 语言配置,“下午”描述文本 | N ### DatePickerConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- confirm | String | - | 语言配置,“确定” 描述文本 | N dayAriaLabel | String | - | 语言配置,“日” 描述文本 | N @@ -168,7 +168,7 @@ yearAriaLabel | String | - | 语言配置,“年” 描述文本 | N ### DialogConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cancel | Object | - | 取消按钮风格。TS 类型:`string \| ButtonProps`,[Button API Documents](./button?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N closeOnEscKeydown | Boolean | true | 按下 ESC 时是否触发对话框关闭事件 | N @@ -178,7 +178,7 @@ confirmBtnTheme | Object | - | 确认按钮主题色,即 Dialog 的 `theme` ### DrawerConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cancel | String | - | 语言配置,“取消”描述文本。TS 类型:`string \| ButtonProps` | N closeOnEscKeydown | Boolean | true | 按下 ESC 时是否触发抽屉关闭事件 | N @@ -188,7 +188,7 @@ size | String | 'small' | 尺寸配置,配置Drawer尺寸 | N ### PopconfirmConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cancel | String / Object | - | 语言配置,“取消”描述文本。TS 类型:`string \| ButtonProps`,[Button API Documents](./button?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N confirm | String / Object | - | 语言配置,“确定”描述文本。TS 类型:`string \| ButtonProps` | N @@ -196,7 +196,7 @@ confirmBtnTheme | Object | - | 确认按钮主题色,即 Popconfirm 的 `theme ### TableConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cancelText | String | - | 语言配置,“取消” 描述文本 | N clearFilterResultButtonText | String | - | 语言配置,过滤功能中,“清空筛选” 描述文本 | N @@ -213,6 +213,7 @@ loadingText | String | - | 语言配置,“正在加载中,请稍后” 描 resetText | String | - | 语言配置,“重置” 描述文本 | N searchResultText | String | - | 语言配置,过滤功能中,过滤条件和结果描述文本,示例:'搜索“{result}”,找到 {count} 条结果' | N selectAllText | String | - | 语言配置,'全选' 描述文本 | N +size | String | medium | 全局表格尺寸配置。可选项:small/medium/large。TS 类型:`SizeEnum`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N sortAscendingOperationText | String | - | 语言配置,'点击升序' 描述文本 | N sortCancelOperationText | String | - | 语言配置,'点击取消排序' 描述文本 | N sortDescendingOperationText | String | - | 语言配置,'点击降序' 描述文本 | N @@ -221,7 +222,7 @@ treeExpandAndFoldIcon | Function | undefined | 树形结构,展开和折叠图 ### SelectConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- clearIcon | Function | - | 清除图标,【注意】使用渲染函数输出图标组件。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N empty | String | - | 语言配置,“暂无数据”描述文本 | N @@ -231,14 +232,14 @@ placeholder | String | - | 语言配置,“请选择”占位符描述文本 | ### TreeConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- empty | String | - | 语言配置,“暂无数据”描述文本 | N folderIcon | Function | - | 目录层级图标,传入收起状态图标即可。【注意】使用渲染函数输出图标组件。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N ### TreeSelectConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- empty | String | - | 语言配置,“暂无数据”描述文本 | N loadingText | String | - | 语言配置,“加载中”描述文本 | N @@ -246,14 +247,14 @@ placeholder | String | - | 语言配置,“请选择”占位符描述文本 | ### ListConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- loadingMoreText | String | - | 语言配置,'点击加载更多' 描述文本 | N loadingText | String | - | 语言配置,'正在加载中,请稍后' 描述文本 | N ### UploadConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- cancelUploadText | String | - | 语言配置,“取消上传” 描述文本 | N dragger | Object | - | 语言配置,拖拽相关。示例:{ dragDropText: '释放图标', draggingText: '拖拽到此区域', clickAndDragText: '点击上方“选择文件”或将文件拖到此区域' }。TS 类型:`UploadConfigDragger` | N @@ -264,7 +265,7 @@ triggerUploadText | Object | - | 语言配置,上传功能触发文案。示 ### UploadConfigProgress -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- failText | String | - | 语言配置,“上传失败”文本描述 | N successText | String | - | 语言配置,“上传成功”文本描述 | N @@ -273,7 +274,7 @@ waitingText | String | - | 语言配置,“待上传”文本描述 | N ### UploadConfigDragger -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- clickAndDragText | String | - | 语言配置,“ 点击上方“选择文件”或将文件拖到此区域 ” 描述文本 | N dragDropText | String | - | 语言配置,“释放图标” 描述文本 | N @@ -281,7 +282,7 @@ draggingText | String | - | 语言配置,'拖拽到此区域' 描述文本 | N ### UploadConfigFileList -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- fileNameText | String | - | 语言配置,“文件名” 描述文本 | N fileOperationDateText | String | - | 语言配置,“上传日期” 描述文本 | N @@ -291,46 +292,46 @@ fileStatusText | String | - | 语言配置,“状态” 描述文本 | N ### FormConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- errorMessage | Object | - | 表单错误信息配置,示例:`{ idcard: '请输入正确的身份证号码', max: '字符长度不能超过 ${max}' }`。TS 类型:`FormErrorMessage`,[Form API Documents](./form?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/config-provider/type.ts) | N requiredMark | Boolean | true | 是否显示必填符号(*),默认显示 | N ### TagConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- closeIcon | Function | - | 关闭图标,【注意】使用渲染函数输出图标组件。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N ### StepsConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- errorIcon | Slot / Function | - | 错误步骤图标,【注意】使用渲染函数输出图标组件。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N ### AlertConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- collapseText | String | - | 语言配置,“收起”描述文本 | N expandText | String | - | 语言配置,“展开更多”描述文本 | N ### AnchorConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- copySuccessText | String | - | 语言配置,“链接复制成功”描述文本 | N copyText | String | - | 语言配置,“复制链接” 描述文本 | N ### MessageConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- `MessageOptions` | \- | - | 继承 `MessageOptions` 中的全部属性 | N ### ImageConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- errorText | String | - | 图片加载失败显示的文本,中文默认为“图片无法显示” | N loadingText | String | - | 图片加载中显示的文本,中文默认为“图片加载中” | N @@ -338,7 +339,7 @@ replaceImageSrc | Function | - | 统一替换图片 `src` 地址,参数为组 ### ImageViewerConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- errorText | String | - | 全局语言配置,默认为 “图片加载失败,可尝试重新加载” | N mirrorTipText | String | - | 全局语言配置,默认为 “镜像” | N @@ -347,7 +348,7 @@ rotateTipText | String | - | 全局语言配置,默认为 “旋转” | N ### GuideConfig -名称 | 类型 | 默认值 | 说明 | 必传 +名称 | 类型 | 默认值 | 描述 | 必传 -- | -- | -- | -- | -- finishButtonProps | Object | - | 最后一步中的完成按钮,示例:`{ content: '完成', theme: 'primary' }`。TS 类型:`ButtonProps` | N nextButtonProps | Object | - | 下一步按钮,示例:`{ content: '下一步', theme: 'primary' }`。TS 类型:`ButtonProps` | N diff --git a/src/config-provider/type.ts b/src/config-provider/type.ts index 2749cc8be..bff90e984 100644 --- a/src/config-provider/type.ts +++ b/src/config-provider/type.ts @@ -10,7 +10,7 @@ import { ButtonProps } from '../button'; import { FormErrorMessage } from '../form'; import { MessageOptions } from '../message'; import { ImageProps } from '../image'; -import { TNode } from '../common'; +import { TNode, SizeEnum } from '../common'; export interface GlobalConfigProvider { /** @@ -576,6 +576,11 @@ export interface TableConfig { * @default '' */ selectAllText?: string; + /** + * 全局表格尺寸配置 + * @default medium + */ + size?: SizeEnum; /** * 语言配置,'点击升序' 描述文本 * @default '' diff --git a/src/date-picker/DatePicker.tsx b/src/date-picker/DatePicker.tsx index 06a28dc84..425bcc5a5 100644 --- a/src/date-picker/DatePicker.tsx +++ b/src/date-picker/DatePicker.tsx @@ -8,7 +8,9 @@ import useSingle from './hooks/useSingle'; import { parseToDayjs, getDefaultFormat, formatTime, formatDate, } from '../_common/js/date-picker/format'; -import { subtractMonth, addMonth, extractTimeObj } from '../_common/js/date-picker/utils'; +import { + subtractMonth, addMonth, extractTimeObj, covertToDate, +} from '../_common/js/date-picker/utils'; import type { DateValue } from './type'; import props from './props'; @@ -49,10 +51,12 @@ export default defineComponent({ const isDisabled = computed(() => formDisabled.value || props.disabled); watch(popupVisible, (visible) => { - cacheValue.value = formatDate(value.value, { + const dateValue = value.value ? covertToDate(value.value as string, formatRef.value?.valueType) : value.value; + + cacheValue.value = formatDate(dateValue, { format: formatRef.value.format, }); - inputValue.value = formatDate(value.value, { + inputValue.value = formatDate(dateValue, { format: formatRef.value.format, }); diff --git a/src/date-picker/_example-composition/base.vue b/src/date-picker/_example-composition/base.vue new file mode 100644 index 000000000..9d574b544 --- /dev/null +++ b/src/date-picker/_example-composition/base.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/date-picker/_example-composition/custom-icon.vue b/src/date-picker/_example-composition/custom-icon.vue new file mode 100644 index 000000000..2b46891ad --- /dev/null +++ b/src/date-picker/_example-composition/custom-icon.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/date-picker/_example-composition/date-presets-alt.vue b/src/date-picker/_example-composition/date-presets-alt.vue new file mode 100644 index 000000000..2773020e7 --- /dev/null +++ b/src/date-picker/_example-composition/date-presets-alt.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/date-picker/_example-composition/date-range.vue b/src/date-picker/_example-composition/date-range.vue new file mode 100644 index 000000000..e87a8c2c8 --- /dev/null +++ b/src/date-picker/_example-composition/date-range.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/date-picker/_example-composition/date-time.vue b/src/date-picker/_example-composition/date-time.vue new file mode 100644 index 000000000..8d26c99fa --- /dev/null +++ b/src/date-picker/_example-composition/date-time.vue @@ -0,0 +1,6 @@ + diff --git a/src/date-picker/_example-composition/disable-date.vue b/src/date-picker/_example-composition/disable-date.vue new file mode 100644 index 000000000..2227e41cd --- /dev/null +++ b/src/date-picker/_example-composition/disable-date.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/date-picker/_example-composition/first-day-of-week.vue b/src/date-picker/_example-composition/first-day-of-week.vue new file mode 100644 index 000000000..e350ed26a --- /dev/null +++ b/src/date-picker/_example-composition/first-day-of-week.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/date-picker/_example-composition/month.vue b/src/date-picker/_example-composition/month.vue new file mode 100644 index 000000000..190cf4751 --- /dev/null +++ b/src/date-picker/_example-composition/month.vue @@ -0,0 +1,6 @@ + diff --git a/src/date-picker/_example-composition/panel.vue b/src/date-picker/_example-composition/panel.vue new file mode 100644 index 000000000..62b526170 --- /dev/null +++ b/src/date-picker/_example-composition/panel.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/date-picker/_example-composition/quarter.vue b/src/date-picker/_example-composition/quarter.vue new file mode 100644 index 000000000..787d2b3d7 --- /dev/null +++ b/src/date-picker/_example-composition/quarter.vue @@ -0,0 +1,6 @@ + diff --git a/src/date-picker/_example-composition/week.vue b/src/date-picker/_example-composition/week.vue new file mode 100644 index 000000000..6461c73d5 --- /dev/null +++ b/src/date-picker/_example-composition/week.vue @@ -0,0 +1,6 @@ + diff --git a/src/date-picker/_example-composition/year.vue b/src/date-picker/_example-composition/year.vue new file mode 100644 index 000000000..9782046cf --- /dev/null +++ b/src/date-picker/_example-composition/year.vue @@ -0,0 +1,6 @@ + diff --git a/src/date-picker/_example/base.vue b/src/date-picker/_example/base.vue index 593174857..99e13b185 100644 --- a/src/date-picker/_example/base.vue +++ b/src/date-picker/_example/base.vue @@ -17,7 +17,6 @@ export default { return { date: '', date2: '', - firstDayOfWeek: 3, inputProps: { inputClass: 'test-inputClass' }, }; }, diff --git a/src/descriptions/_example-composition/base.vue b/src/descriptions/_example-composition/base.vue new file mode 100644 index 000000000..da9ab37ef --- /dev/null +++ b/src/descriptions/_example-composition/base.vue @@ -0,0 +1,10 @@ + diff --git a/src/descriptions/_example-composition/bordered.vue b/src/descriptions/_example-composition/bordered.vue new file mode 100644 index 000000000..e6acc9452 --- /dev/null +++ b/src/descriptions/_example-composition/bordered.vue @@ -0,0 +1,8 @@ + diff --git a/src/descriptions/_example-composition/colon.vue b/src/descriptions/_example-composition/colon.vue new file mode 100644 index 000000000..bffeedda3 --- /dev/null +++ b/src/descriptions/_example-composition/colon.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/descriptions/_example-composition/column.vue b/src/descriptions/_example-composition/column.vue new file mode 100644 index 000000000..0a421e2b6 --- /dev/null +++ b/src/descriptions/_example-composition/column.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/descriptions/_example-composition/custom-style.vue b/src/descriptions/_example-composition/custom-style.vue new file mode 100644 index 000000000..9ba507abf --- /dev/null +++ b/src/descriptions/_example-composition/custom-style.vue @@ -0,0 +1,14 @@ + diff --git a/src/descriptions/_example-composition/items.vue b/src/descriptions/_example-composition/items.vue new file mode 100644 index 000000000..1582dab46 --- /dev/null +++ b/src/descriptions/_example-composition/items.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/descriptions/_example-composition/layout.vue b/src/descriptions/_example-composition/layout.vue new file mode 100644 index 000000000..98f066dad --- /dev/null +++ b/src/descriptions/_example-composition/layout.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/descriptions/_example-composition/size.vue b/src/descriptions/_example-composition/size.vue new file mode 100644 index 000000000..d8a80c801 --- /dev/null +++ b/src/descriptions/_example-composition/size.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/descriptions/_example/items.vue b/src/descriptions/_example/items.vue index 8f0fa2dbb..b19e4f715 100644 --- a/src/descriptions/_example/items.vue +++ b/src/descriptions/_example/items.vue @@ -5,7 +5,7 @@ diff --git a/src/dialog/_example-composition/attach.vue b/src/dialog/_example-composition/attach.vue new file mode 100644 index 000000000..6dcf09fa6 --- /dev/null +++ b/src/dialog/_example-composition/attach.vue @@ -0,0 +1,82 @@ + + + diff --git a/src/dialog/_example-composition/base.vue b/src/dialog/_example-composition/base.vue new file mode 100644 index 000000000..067c7ad9e --- /dev/null +++ b/src/dialog/_example-composition/base.vue @@ -0,0 +1,58 @@ + + diff --git a/src/dialog/_example-composition/custom.vue b/src/dialog/_example-composition/custom.vue new file mode 100644 index 000000000..d38b747c7 --- /dev/null +++ b/src/dialog/_example-composition/custom.vue @@ -0,0 +1,148 @@ + + diff --git a/src/dialog/_example-composition/custom/body.vue b/src/dialog/_example-composition/custom/body.vue new file mode 100644 index 000000000..c93da29f5 --- /dev/null +++ b/src/dialog/_example-composition/custom/body.vue @@ -0,0 +1,65 @@ + + diff --git a/src/dialog/_example-composition/custom/bottom.vue b/src/dialog/_example-composition/custom/bottom.vue new file mode 100644 index 000000000..bb2db66cb --- /dev/null +++ b/src/dialog/_example-composition/custom/bottom.vue @@ -0,0 +1,51 @@ + + diff --git a/src/dialog/_example-composition/drag.vue b/src/dialog/_example-composition/drag.vue new file mode 100644 index 000000000..53e3a628f --- /dev/null +++ b/src/dialog/_example-composition/drag.vue @@ -0,0 +1,53 @@ + + diff --git a/src/dialog/_example-composition/icon.vue b/src/dialog/_example-composition/icon.vue new file mode 100644 index 000000000..d421214ce --- /dev/null +++ b/src/dialog/_example-composition/icon.vue @@ -0,0 +1,65 @@ + + diff --git a/src/dialog/_example-composition/modal.vue b/src/dialog/_example-composition/modal.vue new file mode 100644 index 000000000..113b357e5 --- /dev/null +++ b/src/dialog/_example-composition/modal.vue @@ -0,0 +1,65 @@ + + diff --git a/src/dialog/_example-composition/plugin.vue b/src/dialog/_example-composition/plugin.vue new file mode 100644 index 000000000..0f6e8b13e --- /dev/null +++ b/src/dialog/_example-composition/plugin.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/dialog/_example-composition/position.vue b/src/dialog/_example-composition/position.vue new file mode 100644 index 000000000..171bb6a7a --- /dev/null +++ b/src/dialog/_example-composition/position.vue @@ -0,0 +1,98 @@ + + diff --git a/src/dialog/_example-composition/warning.vue b/src/dialog/_example-composition/warning.vue new file mode 100644 index 000000000..e5bc729b3 --- /dev/null +++ b/src/dialog/_example-composition/warning.vue @@ -0,0 +1,99 @@ + + diff --git a/src/dialog/_example/attach.vue b/src/dialog/_example/attach.vue index 999afcb1b..8b693fb12 100644 --- a/src/dialog/_example/attach.vue +++ b/src/dialog/_example/attach.vue @@ -1,5 +1,5 @@ diff --git a/src/drawer/_example-composition/base.vue b/src/drawer/_example-composition/base.vue new file mode 100644 index 000000000..e1d6df139 --- /dev/null +++ b/src/drawer/_example-composition/base.vue @@ -0,0 +1,31 @@ + + + + diff --git a/src/drawer/_example-composition/custom.vue b/src/drawer/_example-composition/custom.vue new file mode 100644 index 000000000..1fba39cb0 --- /dev/null +++ b/src/drawer/_example-composition/custom.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/drawer/_example-composition/destroy.vue b/src/drawer/_example-composition/destroy.vue new file mode 100644 index 000000000..bf52e8b57 --- /dev/null +++ b/src/drawer/_example-composition/destroy.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/drawer/_example-composition/no-mask.vue b/src/drawer/_example-composition/no-mask.vue new file mode 100644 index 000000000..6a72c9c6f --- /dev/null +++ b/src/drawer/_example-composition/no-mask.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/drawer/_example-composition/operation.vue b/src/drawer/_example-composition/operation.vue new file mode 100644 index 000000000..484ff7fa5 --- /dev/null +++ b/src/drawer/_example-composition/operation.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/drawer/_example-composition/placement.vue b/src/drawer/_example-composition/placement.vue new file mode 100644 index 000000000..27fc94bc6 --- /dev/null +++ b/src/drawer/_example-composition/placement.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/drawer/_example-composition/popup.vue b/src/drawer/_example-composition/popup.vue new file mode 100644 index 000000000..02d5db396 --- /dev/null +++ b/src/drawer/_example-composition/popup.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/drawer/_example-composition/size-draggable.vue b/src/drawer/_example-composition/size-draggable.vue new file mode 100644 index 000000000..fe072bcd3 --- /dev/null +++ b/src/drawer/_example-composition/size-draggable.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/drawer/_example-composition/size.vue b/src/drawer/_example-composition/size.vue new file mode 100644 index 000000000..c9ccf7fab --- /dev/null +++ b/src/drawer/_example-composition/size.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/drawer/_example/attach-parent.vue b/src/drawer/_example/attach-parent.vue index 0403189d9..b1c1b2ca0 100644 --- a/src/drawer/_example/attach-parent.vue +++ b/src/drawer/_example/attach-parent.vue @@ -28,9 +28,7 @@ diff --git a/src/dropdown/_example-composition/button.vue b/src/dropdown/_example-composition/button.vue new file mode 100644 index 000000000..be20fa3d3 --- /dev/null +++ b/src/dropdown/_example-composition/button.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/dropdown/_example-composition/custom.vue b/src/dropdown/_example-composition/custom.vue new file mode 100644 index 000000000..e73a1a329 --- /dev/null +++ b/src/dropdown/_example-composition/custom.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/dropdown/_example-composition/disabled.vue b/src/dropdown/_example-composition/disabled.vue new file mode 100644 index 000000000..9597d80c3 --- /dev/null +++ b/src/dropdown/_example-composition/disabled.vue @@ -0,0 +1,37 @@ + + diff --git a/src/dropdown/_example-composition/event.vue b/src/dropdown/_example-composition/event.vue new file mode 100644 index 000000000..ab6ae030d --- /dev/null +++ b/src/dropdown/_example-composition/event.vue @@ -0,0 +1,34 @@ + + diff --git a/src/dropdown/_example-composition/icon.vue b/src/dropdown/_example-composition/icon.vue new file mode 100644 index 000000000..eeac6b644 --- /dev/null +++ b/src/dropdown/_example-composition/icon.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/dropdown/_example-composition/left.vue b/src/dropdown/_example-composition/left.vue new file mode 100644 index 000000000..dd3d6c1cd --- /dev/null +++ b/src/dropdown/_example-composition/left.vue @@ -0,0 +1,62 @@ + + diff --git a/src/dropdown/_example-composition/long.vue b/src/dropdown/_example-composition/long.vue new file mode 100644 index 000000000..828f1cd8a --- /dev/null +++ b/src/dropdown/_example-composition/long.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/dropdown/_example-composition/multiple.vue b/src/dropdown/_example-composition/multiple.vue new file mode 100644 index 000000000..8f6dc8dc0 --- /dev/null +++ b/src/dropdown/_example-composition/multiple.vue @@ -0,0 +1,125 @@ + + diff --git a/src/dropdown/_example-composition/slot.vue b/src/dropdown/_example-composition/slot.vue new file mode 100644 index 000000000..8568456aa --- /dev/null +++ b/src/dropdown/_example-composition/slot.vue @@ -0,0 +1,79 @@ + + diff --git a/src/dropdown/_example-composition/split.vue b/src/dropdown/_example-composition/split.vue new file mode 100644 index 000000000..f80e30501 --- /dev/null +++ b/src/dropdown/_example-composition/split.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/dropdown/_example-composition/theme.vue b/src/dropdown/_example-composition/theme.vue new file mode 100644 index 000000000..9c9f64322 --- /dev/null +++ b/src/dropdown/_example-composition/theme.vue @@ -0,0 +1,61 @@ + + diff --git a/src/dropdown/_example/disabled.vue b/src/dropdown/_example/disabled.vue index 555177056..7e4e269fb 100644 --- a/src/dropdown/_example/disabled.vue +++ b/src/dropdown/_example/disabled.vue @@ -11,10 +11,9 @@ diff --git a/src/dropdown/_example/left.vue b/src/dropdown/_example/left.vue index f46bcaa64..bc977cf4f 100644 --- a/src/dropdown/_example/left.vue +++ b/src/dropdown/_example/left.vue @@ -8,7 +8,7 @@ diff --git a/src/form/_example-composition/base.vue b/src/form/_example-composition/base.vue new file mode 100644 index 000000000..86d5b9b9f --- /dev/null +++ b/src/form/_example-composition/base.vue @@ -0,0 +1,333 @@ + + + + diff --git a/src/form/_example-composition/clear-validate.vue b/src/form/_example-composition/clear-validate.vue new file mode 100644 index 000000000..0945f48ce --- /dev/null +++ b/src/form/_example-composition/clear-validate.vue @@ -0,0 +1,211 @@ + + + + diff --git a/src/form/_example-composition/custom-validator.vue b/src/form/_example-composition/custom-validator.vue new file mode 100644 index 000000000..a910f2da1 --- /dev/null +++ b/src/form/_example-composition/custom-validator.vue @@ -0,0 +1,131 @@ + + diff --git a/src/form/_example-composition/disabled.vue b/src/form/_example-composition/disabled.vue new file mode 100644 index 000000000..87e14aec9 --- /dev/null +++ b/src/form/_example-composition/disabled.vue @@ -0,0 +1,176 @@ + + diff --git a/src/form/_example-composition/error-message.vue b/src/form/_example-composition/error-message.vue new file mode 100644 index 000000000..854175c2b --- /dev/null +++ b/src/form/_example-composition/error-message.vue @@ -0,0 +1,235 @@ + + + + diff --git a/src/form/_example-composition/layout.vue b/src/form/_example-composition/layout.vue new file mode 100644 index 000000000..7cbcd017c --- /dev/null +++ b/src/form/_example-composition/layout.vue @@ -0,0 +1,49 @@ + + diff --git a/src/form/_example-composition/login.vue b/src/form/_example-composition/login.vue new file mode 100644 index 000000000..0e963b262 --- /dev/null +++ b/src/form/_example-composition/login.vue @@ -0,0 +1,43 @@ + + diff --git a/src/form/_example-composition/reset.vue b/src/form/_example-composition/reset.vue new file mode 100644 index 000000000..8e994fad1 --- /dev/null +++ b/src/form/_example-composition/reset.vue @@ -0,0 +1,80 @@ + + diff --git a/src/form/_example-composition/size.vue b/src/form/_example-composition/size.vue new file mode 100644 index 000000000..3c825151a --- /dev/null +++ b/src/form/_example-composition/size.vue @@ -0,0 +1,77 @@ + + diff --git a/src/form/_example-composition/validate-complicated-data.vue b/src/form/_example-composition/validate-complicated-data.vue new file mode 100644 index 000000000..9dfcf9216 --- /dev/null +++ b/src/form/_example-composition/validate-complicated-data.vue @@ -0,0 +1,214 @@ + + + diff --git a/src/form/_example-composition/validate-message.vue b/src/form/_example-composition/validate-message.vue new file mode 100644 index 000000000..ed05be97f --- /dev/null +++ b/src/form/_example-composition/validate-message.vue @@ -0,0 +1,96 @@ + + diff --git a/src/form/_example-composition/validator-status.vue b/src/form/_example-composition/validator-status.vue new file mode 100644 index 000000000..09f1c9592 --- /dev/null +++ b/src/form/_example-composition/validator-status.vue @@ -0,0 +1,177 @@ + + + + diff --git a/src/form/_example-composition/validator.vue b/src/form/_example-composition/validator.vue new file mode 100644 index 000000000..c1397f4b6 --- /dev/null +++ b/src/form/_example-composition/validator.vue @@ -0,0 +1,333 @@ + + + + diff --git a/src/form/_example/custom-validator.vue b/src/form/_example/custom-validator.vue index 345d5099f..2a1593965 100644 --- a/src/form/_example/custom-validator.vue +++ b/src/form/_example/custom-validator.vue @@ -67,12 +67,6 @@ export default { console.log('Validate Errors: ', firstError, validateResult); } }, - handleBlur() { - this.$refs.form.validate({ - fields: ['account'], - trigger: 'blur', - }); - }, // 自定义异步校验器,使用 resolve 返回结果控制校验结果、校验信息、校验结果类型 userNameValidator(val) { return new Promise((resolve) => { diff --git a/src/form/_example/validate-message.vue b/src/form/_example/validate-message.vue index 4e1e82bfc..24c9b5eda 100644 --- a/src/form/_example/validate-message.vue +++ b/src/form/_example/validate-message.vue @@ -46,7 +46,6 @@ export default { data() { return { formData: { ...INITIAL_DATA }, - validateMessage, rules: { account: [{ required: true }, { min: 2 }, { max: 10, type: 'warning' }], description: [{ validator: (val) => val.length < 10, message: '不能超过 20 个字,中文长度等于英文长度' }], diff --git a/src/form/form-item-props.ts b/src/form/form-item-props.ts index 761058b4f..d531cfc25 100644 --- a/src/form/form-item-props.ts +++ b/src/form/form-item-props.ts @@ -36,7 +36,8 @@ export default { }, /** 表单字段名称 */ name: { - type: [String, Number] as PropType, + type: String, + default: '', }, /** 是否显示必填符号(*),优先级高于 Form.requiredMark */ requiredMark: { @@ -54,7 +55,7 @@ export default { }, /** 校验状态,可在需要完全自主控制校验状态时使用 */ status: { - type: String, + type: String as PropType, default: '', }, /** 校验状态图标,值为 `true` 显示默认图标,默认图标有 成功、失败、警告 等,不同的状态图标不同。`statusIcon` 值为 `false`,不显示图标。`statusIcon` 值类型为渲染函数,则可以自定义右侧状态图标。优先级高级 Form 的 statusIcon */ diff --git a/src/form/form.en-US.md b/src/form/form.en-US.md index bdae87ac1..1e10f3449 100644 --- a/src/form/form.en-US.md +++ b/src/form/form.en-US.md @@ -10,19 +10,19 @@ data | Object | {} | Typescript:`FormData` | N disabled | Boolean | undefined | \- | N errorMessage | Object | - | Typescript:`FormErrorMessage` | N formControlledComponents | Array | - | Typescript:`Array` | N -labelAlign | String | right | options:left/right/top | N +labelAlign | String | right | options: left/right/top | N labelWidth | String / Number | '100px' | \- | N -layout | String | vertical | options:vertical/inline | N +layout | String | vertical | options: vertical/inline | N preventSubmitDefault | Boolean | true | \- | N requiredMark | Boolean | true | \- | N -resetType | String | empty | options:empty/initial | N -rules | Object | - | Typescript:`FormRules` `type FormRules = { [field in keyof T]?: Array }`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N -scrollToFirstError | String | - | options:''/smooth/auto | N +resetType | String | empty | options: empty/initial | N +rules | Object | - | Typescript:`FormRules` `type FormRules = { [field in keyof T]?: Array }`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N +scrollToFirstError | String | - | options: ''/smooth/auto | N showErrorMessage | Boolean | true | \- | N statusIcon | Boolean / Slot / Function | undefined | Typescript:`boolean \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N submitWithWarningMessage | Boolean | false | \- | N onReset | Function | | Typescript:`(context: { e?: FormResetEvent }) => void`
| N -onSubmit | Function | | Typescript:`(context: SubmitContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
| N +onSubmit | Function | | Typescript:`(context: SubmitContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string; fields?: any }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
| N onValidate | Function | | Typescript:`(result: ValidateResultContext) => void`
[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`type ValidateResultContext = Omit, 'e'>`
| N ### Form Events @@ -30,7 +30,7 @@ onValidate | Function | | Typescript:`(result: ValidateResultContext)` | [see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
+submit | `(context: SubmitContext)` | [see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string; fields?: any }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
validate | `(result: ValidateResultContext)` | [see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`type ValidateResultContext = Omit, 'e'>`
### FormInstanceFunctions 组件实例方法 @@ -41,7 +41,7 @@ clearValidate | `(fields?: Array)` | \- | required reset | `(params?: FormResetParams)` | \- | required。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface FormResetParams { type?: 'initial' \| 'empty'; fields?: Array }`
setValidateMessage | `(message: FormValidateMessage)` | \- | required。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`type FormValidateMessage = { [field in keyof FormData]: FormItemValidateMessage[] }`

`interface FormItemValidateMessage { type: 'warning' \| 'error'; message: string }`
submit | `(params?: { showErrorMessage?: boolean })` | \- | required -validate | `(params?: FormValidateParams)` | `Promise>` | required。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface FormValidateParams { fields?: Array; showErrorMessage?: boolean; trigger?: ValidateTriggerType }`

`type ValidateTriggerType = 'blur' \| 'change' \| 'all'`
+validate | `(params?: FormValidateParams)` | `Promise>` | required。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface FormValidateParams { fields?: Array; showErrorMessage?: boolean; trigger?: ValidateTriggerType }`

`type ValidateTriggerType = 'blur' \| 'change' \| 'submit' \| 'all'`
validateOnly | `(params?: Pick)` | `Promise>` | required ### FormItem Props @@ -51,9 +51,9 @@ name | type | default | description | required for | String | - | \- | N help | String / Slot / Function | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N label | String / Slot / Function | '' | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N -labelAlign | String | - | options:left/right/top | N +labelAlign | String | - | options: left/right/top | N labelWidth | String / Number | - | \- | N -name | String / Number | - | Typescript:`string \| number` | N +name | String | - | \- | N requiredMark | Boolean | undefined | \- | N rules | Array | - | Typescript:`Array` | N showErrorMessage | Boolean | undefined | \- | N @@ -79,8 +79,8 @@ number | Boolean | - | \- | N pattern | Object | - | Typescript:`RegExp` | N required | Boolean | - | \- | N telnumber | Boolean | - | \- | N -trigger | String | change | options:change/blur | N -type | String | error | options:error/warning | N +trigger | String | change | Typescript:`ValidateTriggerType` | N +type | String | error | options: error/warning | N url | Boolean / Object | - | Typescript:`boolean \| IsURLOptions` `import { IsURLOptions } from 'validator/es/lib/isURL'`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N validator | Function | - | Typescript:`CustomValidator` `type CustomValidator = (val: ValueType) => CustomValidateResolveType \| Promise` `type CustomValidateResolveType = boolean \| CustomValidateObj` `interface CustomValidateObj { result: boolean; message: string; type?: 'error' \| 'warning' \| 'success' }` `type ValueType = any`。[see more ts definition](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N whitespace | Boolean | - | \- | N diff --git a/src/form/form.md b/src/form/form.md index 5f68a1d37..49e0bf351 100644 --- a/src/form/form.md +++ b/src/form/form.md @@ -18,13 +18,13 @@ layout | String | vertical | 表单布局,有两种方式:纵向布局 和 preventSubmitDefault | Boolean | true | 是否阻止表单提交默认事件(表单提交默认事件会刷新页面),设置为 `true` 可以避免刷新 | N requiredMark | Boolean | true | 是否显示必填符号(*),默认显示 | N resetType | String | empty | 重置表单的方式,值为 empty 表示重置表单为空,值为 initial 表示重置表单数据为初始值。可选项:empty/initial | N -rules | Object | - | 表单字段校验规则。TS 类型:`FormRules` `type FormRules = { [field in keyof T]?: Array }`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N +rules | Object | - | 表单字段校验规则。TS 类型:`FormRules` `type FormRules = { [field in keyof T]?: Array }`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts) | N scrollToFirstError | String | - | 表单校验不通过时,是否自动滚动到第一个校验不通过的字段,平滑滚动或是瞬间直达。值为空则表示不滚动。可选项:''/smooth/auto | N showErrorMessage | Boolean | true | 校验不通过时,是否显示错误提示信息,统一控制全部表单项。如果希望控制单个表单项,请给 FormItem 设置该属性 | N statusIcon | Boolean / Slot / Function | undefined | 校验状态图标,值为 `true` 显示默认图标,默认图标有 成功、失败、警告 等,不同的状态图标不同。`statusIcon` 值为 `false`,不显示图标。`statusIcon` 值类型为渲染函数,则可以自定义右侧状态图标。TS 类型:`boolean \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-vue/blob/develop/src/common.ts) | N submitWithWarningMessage | Boolean | false | 【讨论中】当校验结果只有告警信息时,是否触发 `submit` 提交事件 | N onReset | Function | | TS 类型:`(context: { e?: FormResetEvent }) => void`
表单重置时触发 | N -onSubmit | Function | | TS 类型:`(context: SubmitContext) => void`
表单提交时触发。其中 `context.validateResult` 表示校验结果,`context.firstError` 表示校验不通过的第一个规则提醒。`context.validateResult` 值为 `true` 表示校验通过;如果校验不通过,`context.validateResult` 值为校验结果列表。
【注意】⚠️ 默认情况,输入框按下 Enter 键会自动触发提交事件,如果希望禁用这个默认行为,可以给输入框添加 enter 事件,并在事件中设置 `e.preventDefault()`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
| N +onSubmit | Function | | TS 类型:`(context: SubmitContext) => void`
表单提交时触发。其中 `context.validateResult` 表示校验结果,`context.firstError` 表示校验不通过的第一个规则提醒。`context.validateResult` 值为 `true` 表示校验通过;如果校验不通过,`context.validateResult` 值为校验结果列表。
【注意】⚠️ 默认情况,输入框按下 Enter 键会自动触发提交事件,如果希望禁用这个默认行为,可以给输入框添加 enter 事件,并在事件中设置 `e.preventDefault()`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string; fields?: any }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
| N onValidate | Function | | TS 类型:`(result: ValidateResultContext) => void`
校验结束后触发,result 值为 true 表示校验通过;如果校验不通过,result 值为校验结果列表。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`type ValidateResultContext = Omit, 'e'>`
| N ### Form Events @@ -32,7 +32,7 @@ onValidate | Function | | TS 类型:`(result: ValidateResultContext 名称 | 参数 | 描述 -- | -- | -- reset | `(context: { e?: FormResetEvent })` | 表单重置时触发 -submit | `(context: SubmitContext)` | 表单提交时触发。其中 `context.validateResult` 表示校验结果,`context.firstError` 表示校验不通过的第一个规则提醒。`context.validateResult` 值为 `true` 表示校验通过;如果校验不通过,`context.validateResult` 值为校验结果列表。
【注意】⚠️ 默认情况,输入框按下 Enter 键会自动触发提交事件,如果希望禁用这个默认行为,可以给输入框添加 enter 事件,并在事件中设置 `e.preventDefault()`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
+submit | `(context: SubmitContext)` | 表单提交时触发。其中 `context.validateResult` 表示校验结果,`context.firstError` 表示校验不通过的第一个规则提醒。`context.validateResult` 值为 `true` 表示校验通过;如果校验不通过,`context.validateResult` 值为校验结果列表。
【注意】⚠️ 默认情况,输入框按下 Enter 键会自动触发提交事件,如果希望禁用这个默认行为,可以给输入框添加 enter 事件,并在事件中设置 `e.preventDefault()`。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`interface SubmitContext { e?: FormSubmitEvent; validateResult: FormValidateResult; firstError?: string; fields?: any }`

`type FormValidateResult = boolean \| ValidateResultObj`

`type ValidateResultObj = { [key in keyof T]: boolean \| ValidateResultList }`

`type ValidateResultList = Array`

`type AllValidateResult = CustomValidateObj \| ValidateResultType`

`interface ValidateResultType extends FormRule { result: boolean }`

`type ValidateResult = { [key in keyof T]: boolean \| ErrorList }`

`type ErrorList = Array`
validate | `(result: ValidateResultContext)` | 校验结束后触发,result 值为 true 表示校验通过;如果校验不通过,result 值为校验结果列表。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/form/type.ts)。
`type ValidateResultContext = Omit, 'e'>`
### FormInstanceFunctions 组件实例方法 @@ -43,7 +43,7 @@ clearValidate | `(fields?: Array)` | \- | 必需。清空校验 reset | `(params?: FormResetParams)` | \- | 必需。重置表单,表单里面没有重置按钮`
  • \\"\\"
    评论作者名B今天16:38
    评论作者名B写的评论内容。
  • \\"\\"
    评论作者名C今天16:38
    评论作者名C写的评论内容。
  • "`; -exports[`ssr snapshot test > renders ./src/comment/_example/operation.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    "`; +exports[`ssr snapshot test > renders ./src/comment/_example/operation.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    "`; -exports[`ssr snapshot test > renders ./src/comment/_example/quote.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    引用内容标题
    引用评论内容。
    "`; +exports[`ssr snapshot test > renders ./src/comment/_example/quote.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    引用内容标题
    引用评论内容。
    "`; -exports[`ssr snapshot test > renders ./src/comment/_example/reply.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    \\"\\"
    评论作者名B评论作者名A今天16:38
    这里是评论者写的评论内容。
    "`; +exports[`ssr snapshot test > renders ./src/comment/_example/reply.vue correctly 1`] = `"
    \\"\\"
    评论作者名今天16:38
    这里是评论者写的评论内容。
    \\"\\"
    评论作者名B评论作者名A今天16:38
    这里是评论者写的评论内容。
    "`; exports[`ssr snapshot test > renders ./src/comment/_example/reply-form.vue correctly 1`] = `"
    \\"\\"
    "`; @@ -845,7 +845,7 @@ exports[`ssr snapshot test > renders ./src/select/_example/panel.vue correctly 1 exports[`ssr snapshot test > renders ./src/select/_example/popup-props.vue correctly 1`] = `"
    "`; -exports[`ssr snapshot test > renders ./src/select/_example/prefix.vue correctly 1`] = `"
    "`; +exports[`ssr snapshot test > renders ./src/select/_example/prefix.vue correctly 1`] = `"
    "`; exports[`ssr snapshot test > renders ./src/select/_example/remote-search.vue correctly 1`] = `"
    请输入搜索
    "`; @@ -927,7 +927,7 @@ exports[`ssr snapshot test > renders ./src/statistic/_example/animation.vue corr exports[`ssr snapshot test > renders ./src/statistic/_example/base.vue correctly 1`] = `"
    Total Assets
    82.76%
    Total Assets
    82.76USD
    "`; -exports[`ssr snapshot test > renders ./src/statistic/_example/color.vue correctly 1`] = `"
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    "`; +exports[`ssr snapshot test > renders ./src/statistic/_example/color.vue correctly 1`] = `"
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    Total Assets
    82.76%
    "`; exports[`ssr snapshot test > renders ./src/statistic/_example/combination.vue correctly 1`] = `"
    Total Assets
    82.76%
    Total Assets
    52.18%
    Yesterday traffic
    Voice duration
    789minute
    the day before 9%
    Total number of voice DAUs
    188
    the day before 9%
    last week 9%
    Total Assets
    52.18%
    "`; @@ -1093,7 +1093,7 @@ exports[`ssr snapshot test > renders ./src/tag/_example/base.vue correctly 1`] = exports[`ssr snapshot test > renders ./src/tag/_example/check-tag-group.vue correctly 1`] = `"
    标签1
    标签2
    标签3
    标签4
    标签5
    标签6
    标签1
    标签2
    标签3
    标签4
    标签5
    标签6
    标签1
    标签2
    标签3
    标签4
    标签5
    标签6
    TAG_A(1)
    TAG_B(2)
    TAG_C(3)
    TAG_D(4)
    TAG_E(5)
    TAG_F(6)
    "`; -exports[`ssr snapshot test > renders ./src/tag/_example/delete.vue correctly 1`] = `"
    标签一
    标签二
    标签三
    标签四
    标签一
    标签二
    标签三
    标签四
    标签一
    标签二
    标签三
    标签四
    可删除标签可删除标签
    可删除标签可删除标签
    可删除标签
    添加标签
    "`; +exports[`ssr snapshot test > renders ./src/tag/_example/delete.vue correctly 1`] = `"
    标签一
    标签二
    标签三
    标签四
    标签一
    标签二
    标签三
    标签四
    标签一
    标签二
    标签三
    标签四
    可删除标签可删除标签
    可删除标签可删除标签
    可删除标签
    添加标签
    "`; exports[`ssr snapshot test > renders ./src/tag/_example/disabled.vue correctly 1`] = `"
    失效标签
    失效标签
    "`; @@ -1251,7 +1251,7 @@ exports[`ssr snapshot test > renders ./src/tree/_example/label.vue correctly 1`] exports[`ssr snapshot test > renders ./src/tree/_example/lazy.vue correctly 1`] = `"
    可选:
    严格模式:
    "`; -exports[`ssr snapshot test > renders ./src/tree/_example/line.vue correctly 1`] = `"
    显示连线:
    显示图标:

    默认样式

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4

    使用属性结合 jsx 来自定义呈现

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4

    slot 形式

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4
    "`; +exports[`ssr snapshot test > renders ./src/tree/_example/line.vue correctly 1`] = `"
    显示连线:
    显示图标:

    默认样式

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4

    使用属性结合 jsx 来自定义呈现

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4

    slot 形式

    1
    1.1
    1.2
    2
    2.1
    2.1.1
    2.1.1.1
    2.1.1.1.1
    2.1.1.1.2
    2.1.2
    2.2
    3
    3.1
    3.2
    4
    "`; exports[`ssr snapshot test > renders ./src/tree/_example/load.vue correctly 1`] = `"
    可选:
    暂无数据
    "`;