@king-design/intact 2.0.0-beta.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -118
- package/components/affix/demos/basic.md +2 -1
- package/components/affix/demos/custom.md +5 -5
- package/components/affix/index.md +2 -2
- package/components/affix/styles.ts +1 -1
- package/components/badge/demos/text.md +1 -1
- package/components/badge/index.md +3 -3
- package/components/badge/styles.ts +1 -1
- package/components/breadcrumb/demos/basic.md +1 -1
- package/components/breadcrumb/index.md +3 -10
- package/components/breadcrumb/item.ts +4 -14
- package/components/breadcrumb/styles.ts +9 -5
- package/components/button/demos/group.md +2 -2
- package/components/button/demos/icon.md +1 -0
- package/components/button/demos/loading.md +1 -1
- package/components/button/demos/tagName.md +0 -1
- package/components/button/index.md +13 -13
- package/components/button/index.vdt +32 -23
- package/components/button/styles.ts +22 -12
- package/components/card/demos/basic.md +4 -4
- package/components/card/demos/extra.md +13 -7
- package/components/card/demos/noHeader.md +4 -4
- package/components/card/index.md +3 -3
- package/components/card/styles.ts +2 -2
- package/components/carousel/index.md +4 -4
- package/components/carousel/styles.ts +2 -2
- package/components/carousel/useSlide.ts +3 -2
- package/components/cascader/demos/loadData.md +1 -1
- package/components/cascader/index.md +45 -16
- package/components/cascader/index.spec.ts +60 -1
- package/components/cascader/index.vdt +4 -4
- package/components/cascader/styles.ts +1 -1
- package/components/cascader/useLabel.ts +9 -9
- package/components/checkbox/demos/basic.md +1 -1
- package/components/checkbox/demos/indeterminate.md +4 -20
- package/components/checkbox/demos/value.md +1 -1
- package/components/checkbox/index.md +10 -10
- package/components/checkbox/index.vdt +16 -13
- package/components/checkbox/styles.ts +3 -7
- package/components/code/demos/basic.md +3 -3
- package/components/code/index.md +8 -10
- package/components/collapse/index.md +8 -8
- package/components/collapse/item.vdt +1 -1
- package/components/collapse/styles.ts +4 -3
- package/components/colorpicker/index.md +3 -3
- package/components/colorpicker/index.spec.ts +1 -1
- package/components/colorpicker/index.ts +3 -0
- package/components/colorpicker/index.vdt +5 -1
- package/components/colorpicker/styles.ts +1 -1
- package/components/context.ts +14 -7
- package/components/datepicker/demos/disabledDate.md +0 -2
- package/components/datepicker/demos/format.md +1 -1
- package/components/datepicker/demos/shortcuts.md +2 -2
- package/components/datepicker/helpers.ts +9 -2
- package/components/datepicker/index.md +50 -27
- package/components/datepicker/index.spec.ts +1 -1
- package/components/datepicker/index.vdt +7 -6
- package/components/datepicker/styles.ts +1 -1
- package/components/diagram/index.md +108 -59
- package/components/diagram/shapes/line.ts +2 -3
- package/components/dialog/base.ts +2 -1
- package/components/dialog/demos/block.md +10 -56
- package/components/dialog/demos/size.md +1 -1
- package/components/dialog/index.md +47 -56
- package/components/dialog/index.spec.ts +2 -18
- package/components/dialog/styles.ts +4 -3
- package/components/dialog/useFixBody.ts +16 -0
- package/components/drawer/index.md +23 -20
- package/components/drawer/index.spec.ts +5 -5
- package/components/drawer/styles.ts +2 -2
- package/components/dropdown/demos/basic.md +4 -16
- package/components/dropdown/demos/contextmenu.md +1 -7
- package/components/dropdown/demos/disabled.md +1 -1
- package/components/dropdown/demos/nested.md +2 -4
- package/components/dropdown/demos/position.md +5 -6
- package/components/dropdown/demos/trigger.md +2 -4
- package/components/dropdown/dropdown.ts +2 -0
- package/components/dropdown/index.md +26 -15
- package/components/dropdown/index.spec.ts +3 -3
- package/components/dropdown/index.ts +1 -2
- package/components/dropdown/styles.ts +2 -2
- package/components/editable/index.md +10 -15
- package/components/editable/index.vdt +1 -0
- package/components/editable/styles.ts +1 -1
- package/components/form/demos/basic.md +15 -15
- package/components/form/index.md +29 -13
- package/components/form/index.spec.ts +9 -9
- package/components/form/item.vdt +6 -1
- package/components/form/methods.ts +6 -1
- package/components/form/styles.ts +1 -1
- package/components/form/useError.ts +3 -0
- package/components/form/useValidate.ts +2 -2
- package/components/grid/col.vdt +1 -1
- package/components/grid/index.md +34 -13
- package/components/grid/styles.ts +4 -1
- package/components/icon/index.md +4 -2
- package/components/icon/index.vdt +2 -2
- package/components/icon/styles.ts +11 -8
- package/components/input/demos/blocks.md +2 -2
- package/components/input/demos/clearable.md +3 -3
- package/components/input/demos/inline.md +12 -0
- package/components/input/demos/size.md +0 -1
- package/components/input/index.md +18 -22
- package/components/input/index.ts +2 -0
- package/components/input/index.vdt +42 -33
- package/components/input/search.vdt +4 -1
- package/components/input/styles.ts +8 -12
- package/components/layout/demos/asideFix.md +2 -3
- package/components/layout/index.md +5 -5
- package/components/layout/styles.ts +5 -4
- package/components/menu/demos/collapse.md +3 -1
- package/components/menu/index.md +11 -11
- package/components/menu/index.spec.ts +12 -6
- package/components/menu/item.ts +10 -16
- package/components/menu/item.vdt +3 -3
- package/components/menu/menu.ts +4 -0
- package/components/menu/styles.ts +6 -5
- package/components/menu/useExpanded.ts +1 -1
- package/components/menu/useHighlight.ts +45 -40
- package/components/message/index.md +23 -25
- package/components/message/index.spec.ts +1 -1
- package/components/message/styles.ts +7 -3
- package/components/pagination/index.md +11 -19
- package/components/pagination/styles.ts +2 -2
- package/components/progress/demos/customColor.md +1 -1
- package/components/progress/index.md +11 -5
- package/components/progress/styles.ts +2 -2
- package/components/radio/index.md +4 -7
- package/components/radio/index.vdt +15 -12
- package/components/radio/styles.ts +6 -10
- package/components/rate/index.md +5 -5
- package/components/rate/styles.ts +3 -2
- package/components/scrollSelect/index.md +14 -5
- package/components/scrollSelect/styles.ts +7 -2
- package/components/select/base.ts +0 -1
- package/components/select/base.vdt +128 -112
- package/components/select/demos/creatable.md +1 -1
- package/components/select/demos/customMenu.md +1 -1
- package/components/select/demos/format.md +3 -7
- package/components/select/index.md +35 -30
- package/components/select/index.spec.ts +1 -1
- package/components/select/menu.vdt +1 -0
- package/components/select/styles.ts +15 -9
- package/components/slider/demos/marks.md +2 -2
- package/components/slider/index.md +31 -16
- package/components/slider/styles.ts +5 -4
- package/components/spin/index.md +2 -2
- package/components/spin/styles.ts +1 -1
- package/components/spinner/index.md +23 -14
- package/components/spinner/index.ts +2 -2
- package/components/spinner/styles.ts +1 -1
- package/components/split/index.md +7 -7
- package/components/split/style.ts +2 -2
- package/components/steps/index.md +3 -3
- package/components/steps/styles.ts +3 -2
- package/components/switch/index.md +10 -19
- package/components/switch/styles.ts +5 -4
- package/components/table/demos/animation.md +92 -0
- package/components/table/demos/basic.md +1 -1
- package/components/table/demos/checkedKeys.md +2 -3
- package/components/table/demos/disableRow.md +2 -2
- package/components/table/demos/empty.md +1 -1
- package/components/table/demos/export.md +8 -7
- package/components/table/demos/fixColumn.md +2 -2
- package/components/table/demos/fixHeader.md +3 -3
- package/components/table/demos/group.md +3 -3
- package/components/table/demos/mergeCell.md +1 -1
- package/components/table/demos/resizable.md +1 -1
- package/components/table/demos/rowClassName.md +1 -1
- package/components/table/demos/rowExpandable.md +2 -6
- package/components/table/demos/sort.md +2 -1
- package/components/table/demos/stickHeader.md +3 -3
- package/components/table/demos/stickScrollbar.md +3 -3
- package/components/table/demos/tooltip.md +1 -2
- package/components/table/index.md +92 -66
- package/components/table/index.spec.ts +4 -1
- package/components/table/index.ts +1 -0
- package/components/table/row.vdt +5 -1
- package/components/table/styles.ts +17 -5
- package/components/table/table.ts +2 -0
- package/components/table/table.vdt +91 -86
- package/components/table/useFixedColumns.ts +5 -3
- package/components/table/useWidth.ts +8 -1
- package/components/tabs/index.md +15 -8
- package/components/tabs/index.spec.ts +1 -1
- package/components/tabs/styles.ts +11 -7
- package/components/tabs/tab.vdt +1 -1
- package/components/tabs/useActiveBar.ts +3 -2
- package/components/tag/base.ts +3 -0
- package/components/tag/demos/border.md +2 -1
- package/components/tag/index.md +4 -3
- package/components/tag/styles.ts +9 -4
- package/components/timeline/styles.ts +3 -3
- package/components/timepicker/constants.ts +3 -2
- package/components/timepicker/demos/basic.md +2 -2
- package/components/timepicker/demos/step.md +1 -1
- package/components/timepicker/index.md +47 -16
- package/components/timepicker/index.spec.ts +11 -10
- package/components/timepicker/styles.ts +1 -1
- package/components/timepicker/useStep.ts +3 -3
- package/components/timepicker/useValue.ts +2 -2
- package/components/tip/demos/closable.md +1 -1
- package/components/tip/index.md +8 -4
- package/components/tip/styles.ts +1 -1
- package/components/tooltip/demos/basic.md +2 -13
- package/components/tooltip/demos/trigger.md +1 -2
- package/components/tooltip/index.md +26 -13
- package/components/tooltip/index.spec.ts +24 -15
- package/components/tooltip/styles.ts +1 -1
- package/components/transfer/index.md +36 -23
- package/components/transfer/index.spec.ts +7 -6
- package/components/transfer/styles.ts +3 -9
- package/components/tree/index.md +76 -49
- package/components/tree/index.spec.ts +13 -12
- package/components/tree/index.ts +1 -0
- package/components/tree/index.vdt +1 -0
- package/components/tree/styles.ts +7 -4
- package/components/treeSelect/index.md +50 -20
- package/components/treeSelect/index.spec.ts +5 -5
- package/components/treeSelect/styles.ts +3 -2
- package/components/upload/index.md +55 -19
- package/components/upload/index.spec.ts +1 -1
- package/components/upload/index.ts +1 -1
- package/components/upload/index.vdt +3 -4
- package/components/upload/styles.ts +5 -4
- package/components/utils.ts +1 -1
- package/components/wave/index.ts +94 -0
- package/components/wave/styles.ts +50 -0
- package/es/components/breadcrumb/item.d.ts +1 -1
- package/es/components/breadcrumb/item.js +3 -14
- package/es/components/breadcrumb/styles.js +1 -1
- package/es/components/button/index.vdt.js +26 -17
- package/es/components/button/styles.d.ts +82 -1
- package/es/components/button/styles.js +16 -2
- package/es/components/card/styles.js +1 -1
- package/es/components/carousel/styles.js +4 -1
- package/es/components/carousel/useSlide.js +10 -9
- package/es/components/cascader/index.spec.js +89 -1
- package/es/components/cascader/index.vdt.js +4 -4
- package/es/components/cascader/useLabel.js +8 -12
- package/es/components/checkbox/index.vdt.js +15 -10
- package/es/components/checkbox/styles.js +2 -2
- package/es/components/collapse/item.vdt.js +2 -1
- package/es/components/collapse/styles.js +5 -1
- package/es/components/colorpicker/index.d.ts +2 -0
- package/es/components/colorpicker/index.js +2 -1
- package/es/components/colorpicker/index.spec.js +1 -1
- package/es/components/colorpicker/index.vdt.js +3 -1
- package/es/components/context.d.ts +5 -2
- package/es/components/context.js +7 -4
- package/es/components/datepicker/helpers.d.ts +2 -1
- package/es/components/datepicker/helpers.js +8 -2
- package/es/components/datepicker/index.spec.js +1 -1
- package/es/components/datepicker/index.vdt.js +10 -5
- package/es/components/datepicker/styles.d.ts +46 -1
- package/es/components/diagram/shapes/generateShapes.js +3 -3
- package/es/components/diagram/shapes/line.d.ts +2 -2
- package/es/components/diagram/shapes/line.js +0 -1
- package/es/components/dialog/base.d.ts +2 -0
- package/es/components/dialog/base.js +2 -1
- package/es/components/dialog/index.spec.js +59 -94
- package/es/components/dialog/styles.js +5 -1
- package/es/components/dialog/useFixBody.d.ts +6 -0
- package/es/components/dialog/useFixBody.js +12 -0
- package/es/components/drawer/index.spec.js +5 -5
- package/es/components/drawer/styles.js +1 -1
- package/es/components/dropdown/dropdown.js +1 -0
- package/es/components/dropdown/index.js +1 -2
- package/es/components/dropdown/index.spec.js +3 -3
- package/es/components/dropdown/styles.js +1 -1
- package/es/components/editable/index.vdt.js +2 -1
- package/es/components/editable/styles.d.ts +8 -1
- package/es/components/form/index.spec.js +10 -12
- package/es/components/form/item.vdt.js +13 -9
- package/es/components/form/useError.d.ts +4 -0
- package/es/components/form/useError.js +3 -1
- package/es/components/form/useValidate.js +2 -2
- package/es/components/grid/col.vdt.js +4 -2
- package/es/components/grid/styles.js +1 -1
- package/es/components/grid/useGutter.d.ts +1 -1
- package/es/components/icon/index.vdt.js +3 -2
- package/es/components/icon/styles.js +8 -4
- package/es/components/input/index.d.ts +1 -0
- package/es/components/input/index.js +2 -1
- package/es/components/input/index.vdt.js +47 -32
- package/es/components/input/search.vdt.js +4 -2
- package/es/components/input/styles.js +8 -3
- package/es/components/layout/styles.d.ts +1 -1
- package/es/components/layout/styles.js +7 -3
- package/es/components/menu/index.spec.js +15 -8
- package/es/components/menu/item.d.ts +1 -2
- package/es/components/menu/item.js +10 -17
- package/es/components/menu/item.vdt.js +4 -4
- package/es/components/menu/menu.d.ts +3 -0
- package/es/components/menu/menu.js +4 -0
- package/es/components/menu/styles.d.ts +62 -1
- package/es/components/menu/styles.js +6 -2
- package/es/components/menu/useExpanded.d.ts +1 -4
- package/es/components/menu/useHighlight.d.ts +5 -8
- package/es/components/menu/useHighlight.js +44 -33
- package/es/components/message/index.spec.js +1 -1
- package/es/components/message/styles.js +6 -2
- package/es/components/pagination/styles.js +1 -1
- package/es/components/radio/index.vdt.js +14 -9
- package/es/components/radio/styles.js +9 -1
- package/es/components/rate/styles.js +5 -1
- package/es/components/scrollSelect/styles.d.ts +14 -1
- package/es/components/scrollSelect/styles.js +9 -1
- package/es/components/select/base.vdt.js +135 -121
- package/es/components/select/index.spec.js +1 -1
- package/es/components/select/menu.vdt.js +1 -0
- package/es/components/select/styles.js +9 -4
- package/es/components/select/useSearchable.d.ts +1 -1
- package/es/components/slider/styles.js +5 -1
- package/es/components/spinner/index.d.ts +1 -1
- package/es/components/spinner/index.js +1 -1
- package/es/components/split/style.js +1 -1
- package/es/components/steps/context.d.ts +1 -1
- package/es/components/steps/styles.js +5 -1
- package/es/components/switch/styles.js +5 -1
- package/es/components/table/index.d.ts +1 -0
- package/es/components/table/index.spec.js +2 -1
- package/es/components/table/row.vdt.js +12 -4
- package/es/components/table/styles.js +6 -1
- package/es/components/table/table.d.ts +1 -0
- package/es/components/table/table.js +2 -1
- package/es/components/table/table.vdt.js +30 -27
- package/es/components/table/useColumns.d.ts +1 -1
- package/es/components/table/useFixedColumns.d.ts +1 -1
- package/es/components/table/useFixedColumns.js +5 -2
- package/es/components/table/useGroup.d.ts +1 -1
- package/es/components/table/useResizable.d.ts +1 -1
- package/es/components/table/useSortable.d.ts +1 -1
- package/es/components/table/useWidth.js +7 -1
- package/es/components/tabs/index.spec.js +1 -1
- package/es/components/tabs/styles.js +9 -2
- package/es/components/tabs/tab.vdt.js +2 -1
- package/es/components/tabs/useActiveBar.js +6 -3
- package/es/components/tag/base.js +1 -0
- package/es/components/tag/styles.js +8 -2
- package/es/components/timepicker/constants.d.ts +2 -1
- package/es/components/timepicker/constants.js +3 -2
- package/es/components/timepicker/index.spec.js +36 -35
- package/es/components/timepicker/useStep.js +3 -3
- package/es/components/timepicker/useValue.js +2 -2
- package/es/components/tooltip/index.spec.js +32 -25
- package/es/components/transfer/index.spec.js +20 -19
- package/es/components/transfer/styles.js +2 -6
- package/es/components/tree/index.d.ts +1 -1
- package/es/components/tree/index.js +1 -1
- package/es/components/tree/index.spec.js +20 -19
- package/es/components/tree/index.vdt.js +1 -0
- package/es/components/tree/styles.js +5 -1
- package/es/components/treeSelect/index.spec.js +5 -5
- package/es/components/treeSelect/styles.js +5 -1
- package/es/components/upload/index.d.ts +1 -1
- package/es/components/upload/index.spec.js +1 -1
- package/es/components/upload/index.vdt.js +10 -11
- package/es/components/upload/styles.js +5 -1
- package/es/components/utils.d.ts +1 -1
- package/es/components/wave/index.d.ts +19 -0
- package/es/components/wave/index.js +120 -0
- package/es/components/wave/styles.d.ts +2 -0
- package/es/components/wave/styles.js +17 -0
- package/es/hooks/useRouter.d.ts +1 -0
- package/es/hooks/useRouter.js +10 -0
- package/es/i18n/en-US.d.ts +1 -0
- package/es/i18n/en-US.js +1 -0
- package/es/index.d.ts +3 -2
- package/es/index.js +3 -2
- package/es/packages/kpc-react/__tests__/index.js +10 -7
- package/es/site/data/components/affix/demos/custom/index.d.ts +2 -2
- package/es/site/data/components/affix/demos/custom/index.js +4 -4
- package/es/site/data/components/affix/demos/custom/react.d.ts +2 -2
- package/es/site/data/components/affix/demos/custom/react.js +6 -6
- package/es/site/data/components/button/demos/group/react.js +2 -2
- package/es/site/data/components/button/demos/icon/react.js +6 -0
- package/es/site/data/components/card/demos/basic/react.js +2 -2
- package/es/site/data/components/card/demos/extra/react.js +19 -5
- package/es/site/data/components/card/demos/noHeader/react.js +2 -2
- package/es/site/data/components/checkbox/demos/indeterminate/index.d.ts +1 -1
- package/es/site/data/components/checkbox/demos/indeterminate/index.js +2 -2
- package/es/site/data/components/checkbox/demos/indeterminate/react.d.ts +1 -1
- package/es/site/data/components/checkbox/demos/indeterminate/react.js +5 -6
- package/es/site/data/components/dialog/demos/block/react.d.ts +9 -0
- package/es/site/data/components/dialog/demos/block/react.js +88 -0
- package/es/site/data/components/dropdown/demos/basic/react.js +1 -3
- package/es/site/data/components/dropdown/demos/nested/react.js +1 -3
- package/es/site/data/components/dropdown/demos/position/react.js +2 -7
- package/es/site/data/components/dropdown/demos/trigger/react.js +1 -3
- package/es/site/data/components/input/demos/blocks/react.js +4 -2
- package/es/site/data/components/input/demos/clearable/react.js +7 -5
- package/es/site/data/components/{dialog/demos/extends → input/demos/inline}/index.d.ts +0 -3
- package/es/site/data/components/input/demos/inline/index.js +17 -0
- package/es/site/data/components/input/demos/inline/react.d.ts +4 -0
- package/es/site/data/components/input/demos/inline/react.js +24 -0
- package/es/site/data/components/input/demos/size/react.js +0 -3
- package/es/site/data/components/layout/demos/asideFix/react.js +2 -1
- package/es/site/data/components/menu/demos/collapse/index.js +1 -0
- package/es/site/data/components/menu/demos/collapse/react.js +7 -0
- package/es/site/data/components/select/demos/creatable/react.js +1 -1
- package/es/site/data/components/select/demos/customMenu/react.js +1 -0
- package/es/site/data/components/select/demos/format/react.js +11 -18
- package/es/site/data/components/table/demos/animation/index.d.ts +23 -0
- package/es/site/data/components/table/demos/animation/index.js +78 -0
- package/es/site/data/components/table/demos/animation/react.d.ts +23 -0
- package/es/site/data/components/table/demos/animation/react.js +113 -0
- package/es/site/data/components/table/demos/export/react.js +1 -2
- package/es/site/data/components/table/demos/sort/react.js +4 -1
- package/es/site/data/components/tag/demos/border/react.js +3 -1
- package/es/site/data/components/tip/demos/closable/react.js +1 -0
- package/es/site/data/components/tooltip/demos/trigger/react.js +1 -2
- package/es/site/data/docs/design/{button → about}/index.d.ts +13 -11
- package/es/site/data/docs/design/{8point → about}/index.js +0 -0
- package/es/site/data/docs/design/{dialog → guide-1}/index.d.ts +15 -11
- package/es/site/data/docs/design/{button → guide-1}/index.js +0 -0
- package/es/site/data/docs/design/guide-2/index.d.ts +64 -0
- package/es/site/data/docs/design/{color → guide-2}/index.js +0 -0
- package/es/site/data/docs/design/guide-3/index.d.ts +64 -0
- package/es/site/data/docs/design/{dialog → guide-3}/index.js +0 -0
- package/es/site/data/docs/design/guide-4/index.d.ts +64 -0
- package/es/site/data/docs/design/{font → guide-4}/index.js +0 -0
- package/es/site/data/docs/design/guide-5/index.d.ts +64 -0
- package/es/site/data/docs/design/{format → guide-5}/index.js +0 -0
- package/es/site/data/docs/design/guide-6/index.d.ts +64 -0
- package/es/site/data/docs/design/{gutter → guide-6}/index.js +0 -0
- package/es/site/data/docs/design/guide-7/index.d.ts +64 -0
- package/es/site/data/docs/design/{hierarchy → guide-7}/index.js +0 -0
- package/es/site/data/docs/design/guide-8/index.d.ts +64 -0
- package/es/site/data/docs/design/{language → guide-8}/index.js +0 -0
- package/es/site/data/docs/design/guide-9/index.d.ts +64 -0
- package/es/site/data/docs/design/{navigator → guide-9}/index.js +0 -0
- package/es/site/data/docs/design/model/index.d.ts +64 -0
- package/es/site/data/docs/design/{tip → model}/index.js +0 -0
- package/es/site/data/docs/design/model-1/index.d.ts +64 -0
- package/es/site/data/docs/design/{text → model-1}/index.js +0 -0
- package/es/site/data/docs/design/pattern-1/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-1/index.js +42 -0
- package/es/site/data/docs/design/pattern-2/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-2/index.js +42 -0
- package/es/site/data/docs/design/pattern-3/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-3/index.js +42 -0
- package/es/site/data/docs/design/pattern-4/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-4/index.js +42 -0
- package/es/site/data/docs/design/pattern-5/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-5/index.js +42 -0
- package/es/site/data/docs/design/pattern-6/index.d.ts +64 -0
- package/es/site/data/docs/design/pattern-6/index.js +42 -0
- package/es/site/data/docs/design/{navigator → principle}/index.d.ts +13 -11
- package/es/site/data/docs/design/principle/index.js +42 -0
- package/es/site/data/docs/design/{tip → value}/index.d.ts +13 -11
- package/es/site/data/docs/design/value/index.js +42 -0
- package/es/site/data/docs/theme/index.d.ts +0 -2
- package/es/site/src/client.js +4 -1
- package/es/site/src/components/ImgBox/index.d.ts +21 -0
- package/es/site/src/components/ImgBox/index.js +69 -0
- package/es/site/src/{pages/designdoc → components/ImgBox}/styles.d.ts +0 -0
- package/es/site/src/components/ImgBox/styles.js +13 -0
- package/es/site/src/components/WorkflowCard/styles.js +3 -10
- package/es/site/src/components/article/index.d.ts +4 -1
- package/es/site/src/components/article/index.js +72 -6
- package/es/site/src/components/blockquote/index.d.ts +4 -0
- package/es/site/src/components/blockquote/index.js +13 -0
- package/es/site/src/components/blockquote/slot.d.ts +11 -0
- package/es/site/src/components/blockquote/slot.js +19 -0
- package/es/site/src/components/card/index.d.ts +1 -1
- package/es/site/src/components/card/index.js +4 -1
- package/es/site/src/components/card/styles.js +2 -10
- package/es/site/src/components/catalogue/index.js +2 -2
- package/es/site/src/components/catalogue/styles.js +1 -1
- package/es/site/src/components/footer/styles.js +2 -2
- package/es/site/src/components/link/index.d.ts +1 -0
- package/es/site/src/components/link/index.js +11 -3
- package/es/site/src/pages/design/index.d.ts +1 -0
- package/es/site/src/pages/design/index.js +19 -0
- package/es/site/src/pages/design/styles.d.ts +1 -0
- package/es/site/src/pages/design/styles.js +13 -0
- package/es/site/src/pages/document/index.d.ts +4 -2
- package/es/site/src/pages/document/index.js +89 -46
- package/es/site/src/pages/document/styles.js +1 -1
- package/es/site/src/pages/iframe/button/styles.js +4 -4
- package/es/site/src/pages/iframe/colorProcess/index.d.ts +1 -0
- package/es/site/src/pages/iframe/colorProcess/index.js +9 -5
- package/es/site/src/pages/iframe/colorProcess/styles.js +1 -1
- package/es/site/src/pages/index/BestPractice/index.d.ts +1 -0
- package/es/site/src/pages/index/BestPractice/index.js +14 -14
- package/es/site/src/pages/index/BestPractice/styles.d.ts +1 -1
- package/es/site/src/pages/index/BestPractice/styles.js +3 -3
- package/es/site/src/pages/index/ColorProcess/styles.d.ts +1 -1
- package/es/site/src/pages/index/ColorProcess/styles.js +14 -2
- package/es/site/src/pages/index/KingVersion/styles.js +1 -1
- package/es/site/src/pages/index/NewFunction/index.d.ts +1 -0
- package/es/site/src/pages/index/NewFunction/index.js +4 -2
- package/es/site/src/pages/index/NewFunction/styles.d.ts +1 -1
- package/es/site/src/pages/index/NewFunction/styles.js +4 -3
- package/es/site/src/pages/index/index.d.ts +2 -7
- package/es/site/src/pages/index/index.js +11 -8
- package/es/site/src/pages/index/styles.js +2 -4
- package/es/site/src/pages/layout.d.ts +2 -0
- package/es/site/src/pages/layout.js +33 -4
- package/es/site/src/pages/resource/index.d.ts +6 -0
- package/es/site/src/pages/resource/index.js +21 -1
- package/es/site/src/pages/resource/styles.js +5 -3
- package/es/site/src/pages/solution/index.d.ts +6 -0
- package/es/site/src/pages/solution/index.js +19 -1
- package/es/site/src/pages/solution/styles.js +3 -2
- package/es/site/src/pages/styles.d.ts +1 -0
- package/es/site/src/pages/styles.js +5 -2
- package/es/site/src/router/index.d.ts +1 -0
- package/es/site/src/router/index.js +327 -318
- package/es/site/src/styles/default.d.ts +1 -0
- package/es/site/src/styles/default.js +3 -2
- package/es/styles/global.js +4 -3
- package/es/styles/theme.d.ts +16 -7
- package/es/styles/theme.js +15 -7
- package/hooks/useRouter.ts +11 -0
- package/i18n/en-US.ts +1 -0
- package/index.ts +3 -2
- package/package.json +6 -6
- package/styles/global.ts +41 -8
- package/styles/theme.ts +12 -8
- package/typings/global.d.ts +2 -0
- package/components/dialog/demos/asyncOpen.md +0 -111
- package/components/dialog/demos/extends.md +0 -87
- package/es/site/data/components/dialog/demos/asyncOpen/dialog.d.ts +0 -28
- package/es/site/data/components/dialog/demos/asyncOpen/dialog.js +0 -45
- package/es/site/data/components/dialog/demos/asyncOpen/index.d.ts +0 -13
- package/es/site/data/components/dialog/demos/asyncOpen/index.js +0 -58
- package/es/site/data/components/dialog/demos/extends/dialog.d.ts +0 -28
- package/es/site/data/components/dialog/demos/extends/dialog.js +0 -39
- package/es/site/data/components/dialog/demos/extends/index.js +0 -49
- package/es/site/data/docs/design/8point/index.d.ts +0 -58
- package/es/site/data/docs/design/color/demos/demos0/index.d.ts +0 -3
- package/es/site/data/docs/design/color/demos/demos0/index.js +0 -3
- package/es/site/data/docs/design/color/index.d.ts +0 -56
- package/es/site/data/docs/design/font/index.d.ts +0 -58
- package/es/site/data/docs/design/format/index.d.ts +0 -58
- package/es/site/data/docs/design/gutter/index.d.ts +0 -58
- package/es/site/data/docs/design/hierarchy/index.d.ts +0 -58
- package/es/site/data/docs/design/language/index.d.ts +0 -56
- package/es/site/data/docs/design/text/index.d.ts +0 -58
- package/es/site/src/pages/designdoc/index.d.ts +0 -11
- package/es/site/src/pages/designdoc/index.js +0 -21
- package/es/site/src/pages/designdoc/styles.js +0 -6
|
@@ -9,21 +9,34 @@ sidebar: doc
|
|
|
9
9
|
|
|
10
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
11
11
|
| --- | --- | --- | --- |
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
| confirm | 带“确认”和“取消”按钮的确认弹层 | `Boolean` | `false` |
|
|
20
|
-
| onText | `confirm`模式下的“确认”按钮文案 | `String` | `"确认"` |
|
|
21
|
-
| cancelText | `confirm`模式下的“取消”按钮文案 | `String` | `"取消"` |
|
|
22
|
-
| container | 指定弹出提示内容追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Function` | `String` | `undefined` |
|
|
12
|
+
| trigger | 触发方式,`hover`为悬停触发,`click`为点击触发 | `"hover"` | `"click"` | `"hover"` |
|
|
13
|
+
| disabled | 是否禁用整个菜单 | `boolean` | `false` |
|
|
14
|
+
| value | 是否将弹出菜单展示出来,可通过`v-model`双向绑定 | `boolean` | `false` |
|
|
15
|
+
| position | 菜单弹出的位置,默认在触发器正上方向上偏移`10px`的地方 | `Position` | `"left"` | `"bottom"` | `"right"` | `"top"` | `{my: 'center bottom-10', at: 'center top', collision: 'flipfit'}` |
|
|
16
|
+
| of | 弹出菜单的位置是相对当前触发元素,还是触发元素所在的菜单元素,这在嵌套菜单中可能会用到,可以使所有子菜单保持统一的对齐方式,例如:级联选择(Cascader)组件 | `"self"` | `"parent"` | `Event` | `"self"` |
|
|
17
|
+
| container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
|
|
18
|
+
| showArrow | 弹层是否展示箭头 | `boolean` | `true` |
|
|
23
19
|
| theme | 指定主题 | `"dark"` | `"light"` | `"dark"` |
|
|
24
|
-
|
|
|
25
|
-
| always | 是否一直保持当前展示/隐藏状态 | `
|
|
20
|
+
| hoverable | 对于悬浮触发`hover`的方式,提示内容弹层是否在鼠标悬浮时仍然展示,默认鼠标离开触发元素弹层就会关闭 | `boolean` | `false` |
|
|
21
|
+
| always | 是否一直保持当前展示/隐藏状态 | `boolean` | `false` |
|
|
26
22
|
| size | 弹层尺寸 | `"default"` | `"small"` | `"default"` |
|
|
23
|
+
| confirm | 带“确认”和“取消”按钮的确认弹层 | `boolean` | `false` |
|
|
24
|
+
| onText | `confirm`模式下的“确认”按钮文案 | `string` | `"确认"` |
|
|
25
|
+
| cancelText | `confirm`模式下的“取消”按钮文案 | `string` | `"取消"` |
|
|
26
|
+
| content | 指定提示的内容,当然你也可以用`content`扩展点指定 | `string` | `VNode` | `undefined` |
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
type Position = {
|
|
30
|
+
my?: string | [string, string]
|
|
31
|
+
at?: string | [string, string]
|
|
32
|
+
collision?: Collision | [Collision, Collision]
|
|
33
|
+
collisionDirection?: ['left'] | ['top'] | ['left', 'top']
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type Collision = 'fit' | 'flip' | 'flipfit' | 'none'
|
|
37
|
+
|
|
38
|
+
export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
|
|
39
|
+
```
|
|
27
40
|
|
|
28
41
|
# 事件
|
|
29
42
|
|
|
@@ -38,7 +38,7 @@ describe('Tooltip', () => {
|
|
|
38
38
|
|
|
39
39
|
// should hide
|
|
40
40
|
dispatchEvent(first, 'mouseleave');
|
|
41
|
-
await wait(
|
|
41
|
+
await wait(600);
|
|
42
42
|
expect(content.style.display).to.eql('none');
|
|
43
43
|
});
|
|
44
44
|
|
|
@@ -50,7 +50,12 @@ describe('Tooltip', () => {
|
|
|
50
50
|
const at = element.querySelector('.opera .k-btn') as HTMLElement;
|
|
51
51
|
const {width, height, left, top} = at.getBoundingClientRect();
|
|
52
52
|
const contains = (name: string) => expect(arrow.classList.contains(name)).to.be.true;
|
|
53
|
-
const eql = (a: number, b: number) =>
|
|
53
|
+
const eql = (a: number, b: number) => {
|
|
54
|
+
a = Math.floor(a);
|
|
55
|
+
b = Math.floor(b);
|
|
56
|
+
// Don't be entangled with the difference of 1 to 2 pixels
|
|
57
|
+
expect(a >= b - 1 && a <= b + 1).to.be.true;
|
|
58
|
+
};
|
|
54
59
|
|
|
55
60
|
|
|
56
61
|
instance.set('position', 'left');
|
|
@@ -113,27 +118,29 @@ describe('Tooltip', () => {
|
|
|
113
118
|
|
|
114
119
|
// should hide when click document
|
|
115
120
|
document.body.click();
|
|
116
|
-
await wait(
|
|
121
|
+
await wait(500);
|
|
117
122
|
expect(content.style.display).to.eql('none')
|
|
118
123
|
});
|
|
119
124
|
|
|
120
|
-
it('should be hoverable', async ()
|
|
125
|
+
it('should be hoverable', async function() {
|
|
126
|
+
this.timeout(0);
|
|
127
|
+
|
|
121
128
|
const [, element] = mount(TriggerDemo);
|
|
122
129
|
const [, , canHover] = Array.from(element.querySelectorAll('.k-btn'));
|
|
123
130
|
dispatchEvent(canHover, 'mouseenter');
|
|
124
131
|
await wait();
|
|
125
132
|
dispatchEvent(canHover, 'mouseleave');
|
|
126
|
-
await wait(
|
|
133
|
+
await wait(500);
|
|
127
134
|
const content = getElement('.k-tooltip-content')!;
|
|
128
135
|
dispatchEvent(content, 'mouseenter');
|
|
129
|
-
await wait(
|
|
136
|
+
await wait(500);
|
|
130
137
|
const content1 = getElement('.k-tooltip-content');
|
|
131
138
|
|
|
132
|
-
// should not hide when
|
|
139
|
+
// should not hide when move mouse from button to tooltip content
|
|
133
140
|
expect(content1).eql(content);
|
|
134
141
|
|
|
135
142
|
dispatchEvent(canHover, 'mouseleave');
|
|
136
|
-
await wait(
|
|
143
|
+
await wait(800);
|
|
137
144
|
expect(content.style.display).to.eql('none')
|
|
138
145
|
});
|
|
139
146
|
|
|
@@ -142,7 +149,7 @@ describe('Tooltip', () => {
|
|
|
142
149
|
|
|
143
150
|
const [btn] = Array.from<HTMLElement>(element.querySelectorAll('.k-btn'));
|
|
144
151
|
btn.click();
|
|
145
|
-
await wait(
|
|
152
|
+
await wait(500);
|
|
146
153
|
const content = getElement('.k-tooltip-content') as HTMLElement;
|
|
147
154
|
// ignore the arrow, because it may change className to adapt to the direction
|
|
148
155
|
expect(content.querySelector<HTMLElement>('.k-slider')!.outerHTML).to.matchSnapshot();
|
|
@@ -163,7 +170,7 @@ describe('Tooltip', () => {
|
|
|
163
170
|
expect((content.querySelector('.k-tooltip-buttons') as HTMLElement).outerHTML).to.matchSnapshot();
|
|
164
171
|
|
|
165
172
|
(content.querySelector('.k-btn') as HTMLElement).click();
|
|
166
|
-
await wait(
|
|
173
|
+
await wait(500);
|
|
167
174
|
expect(content.style.display).eql('none');
|
|
168
175
|
|
|
169
176
|
dispatchEvent(element.firstElementChild!, 'click');
|
|
@@ -172,7 +179,7 @@ describe('Tooltip', () => {
|
|
|
172
179
|
const [, btn] = Array.from<HTMLElement>(content.querySelectorAll('.k-btn'));
|
|
173
180
|
btn.click();
|
|
174
181
|
|
|
175
|
-
await wait(
|
|
182
|
+
await wait(500);
|
|
176
183
|
expect(content.style.display).eql('none');
|
|
177
184
|
expect(cancelCb.callCount).eql(1);
|
|
178
185
|
expect(okCb.callCount).eql(1);
|
|
@@ -185,15 +192,15 @@ describe('Tooltip', () => {
|
|
|
185
192
|
expect(content.textContent).eql('hello');
|
|
186
193
|
|
|
187
194
|
document.body.click();
|
|
188
|
-
await wait(
|
|
195
|
+
await wait(500);
|
|
189
196
|
expect(getElement('.k-tooltip-content')).eql(content);
|
|
190
197
|
|
|
191
198
|
(element.querySelector('span') as HTMLElement).click();
|
|
192
|
-
await wait(
|
|
199
|
+
await wait(500);
|
|
193
200
|
expect(getElement('.k-tooltip-content')).eql(content);
|
|
194
201
|
|
|
195
202
|
dispatchEvent(content, 'mouseleave');
|
|
196
|
-
await wait(
|
|
203
|
+
await wait(600);
|
|
197
204
|
expect(getElement('.k-tooltip-content')).eql(content);
|
|
198
205
|
});
|
|
199
206
|
|
|
@@ -300,7 +307,7 @@ describe('Tooltip', () => {
|
|
|
300
307
|
expect(content!.textContent).eql('hello');
|
|
301
308
|
|
|
302
309
|
i.set('disabled', true);
|
|
303
|
-
await wait(
|
|
310
|
+
await wait(500);
|
|
304
311
|
content = getElement('.k-tooltip-content');
|
|
305
312
|
expect(content).eql(undefined);
|
|
306
313
|
|
|
@@ -338,6 +345,8 @@ describe('Tooltip', () => {
|
|
|
338
345
|
|
|
339
346
|
await wait(500);
|
|
340
347
|
const content = getElement('.k-tooltip-content')!;
|
|
348
|
+
console.log(content.outerHTML);
|
|
349
|
+
console.log(JSON.stringify(content.getBoundingClientRect()));
|
|
341
350
|
expect(content.getBoundingClientRect().top < 0).to.be.true;
|
|
342
351
|
});
|
|
343
352
|
});
|
|
@@ -9,41 +9,54 @@ sidebar: doc
|
|
|
9
9
|
|
|
10
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
11
11
|
| --- | --- | --- | --- |
|
|
12
|
-
| data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
| enableAdd | 指定右箭头按钮的可用状态 | `
|
|
26
|
-
| enableRemove | 指定左箭头按钮的可用状态 | `
|
|
12
|
+
| data | 需要展示的列表数据, 其中`label`会默认当做列表文案展示,`disabled`用于指定是否禁用该行选择 | `TransferDataItem[]` | `[]` |
|
|
13
|
+
| keyName | 指定每一行数据的哪个属性当做列表的`key`属性,默认会取`key`属性 | `string` | `"key"` |
|
|
14
|
+
| labelName | 指定每一行数据的哪个属性当做列表的`label`属性,默认会取`label`属性 | `string` | `"label"` |
|
|
15
|
+
| value | 已选择key的数据项,可用`v-model`进行双向绑定 | `string[]` | `[]` |
|
|
16
|
+
| leftCheckedKeys | 通过`key`指定勾选的左侧数据节点 | `string[]` | `[]` |
|
|
17
|
+
| rightCheckedKeys | 通过`key`指定勾选的右侧数据节点 | `string[]` | `[]` |
|
|
18
|
+
| filterable | 是否需要过滤列表功能,默认根据`data`中定义的`label`进行过滤 | `boolean` | `false` |
|
|
19
|
+
| filter | 指定自定义的过滤函数,组件会将每行数据`data`以及关键词`keywords`传给它 | `(data: TransferDataItem, keywords: string) => boolean` | `(data: TransferDataItem, keywords: string) => data.label.includes(keywords)` |
|
|
20
|
+
| placeholder | 当开启过滤功能时,用于输入框展示的占位文案 | `string` | `"请输入"` |
|
|
21
|
+
| leftKeywords | 左边筛选关键字 | `string` | `undefined` |
|
|
22
|
+
| rightKeywords | 右边筛选关键字 | `string` | `undefined` |
|
|
23
|
+
| leftTitle | 左边顶部展示的标题 | `string` | `VNode` | `"请选择"` |
|
|
24
|
+
| rightTitle | 右边顶部展示的标题 | `string` | `VNode` | `"已选择"` |
|
|
25
|
+
| enableAdd | 指定右箭头按钮的可用状态 | `() => boolean` | `undefined` |
|
|
26
|
+
| enableRemove | 指定左箭头按钮的可用状态 | `() => boolean` | `undefined` |
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export type TransferDataItem<
|
|
30
|
+
A extends string = 'key',
|
|
31
|
+
B extends string = 'label',
|
|
32
|
+
> = {
|
|
33
|
+
[K in A]: Key
|
|
34
|
+
} & {
|
|
35
|
+
[K in B]?: Children
|
|
36
|
+
} & {
|
|
37
|
+
disabled?: boolean
|
|
38
|
+
}
|
|
39
|
+
```
|
|
27
40
|
|
|
28
41
|
# 扩展点
|
|
29
42
|
|
|
30
43
|
| 名称 | 说明 | 参数 |
|
|
31
44
|
| --- | --- | --- |
|
|
32
|
-
|
|
|
33
|
-
| filter | 自定义检索内容 |
|
|
34
|
-
|
|
|
35
|
-
|
|
|
45
|
+
| header | 自定义整个头部内容 | <code>(type: 'left' | 'right') => Children</code> |
|
|
46
|
+
| filter | 自定义检索内容 | <code>(type: 'left' | 'right') => Children</code> |
|
|
47
|
+
| list | 自定义整个列表内容 | <code>(type: 'left' | 'right') => Children</code> |
|
|
48
|
+
| label | 自定义每一项的渲染函数,类似于`label`属性 | <code>(data: TransferDataItem, key: string, type: 'left' | 'right') => Children</code> |
|
|
36
49
|
|
|
37
50
|
# 方法
|
|
38
51
|
|
|
39
52
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
40
53
|
| --- | --- | --- | --- |
|
|
41
|
-
| getData | 获取右边的节点数据 |
|
|
42
|
-
| getCheckedData | 获取勾选的节点数据 |
|
|
54
|
+
| getData | 获取右边的节点数据 | `() => TransferDataItem[]` | `string[]`: 所有移入右栏的数据 |
|
|
55
|
+
| getCheckedData | 获取勾选的节点数据 | <code>(type: 'left' | 'right') => TransferDataItem[]</code> | `TransferDataItem[]`所有`Checkbox`选中的数据 |
|
|
43
56
|
|
|
44
57
|
# 事件
|
|
45
58
|
|
|
46
59
|
| 事件名 | 说明 | 参数 |
|
|
47
60
|
| --- | --- | --- |
|
|
48
|
-
| add | 右箭头按钮点击事件 |
|
|
49
|
-
| remove | 左箭头按钮点击事件 |
|
|
61
|
+
| add | 右箭头按钮点击事件 | - |
|
|
62
|
+
| remove | 左箭头按钮点击事件 | - |
|
|
@@ -43,14 +43,14 @@ describe('Transfer', () => {
|
|
|
43
43
|
expect(element.outerHTML).to.matchSnapshot();
|
|
44
44
|
const [remove, add] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
|
|
45
45
|
add.click();
|
|
46
|
-
await wait(
|
|
46
|
+
await wait(500);
|
|
47
47
|
expect(element.outerHTML).to.matchSnapshot();
|
|
48
48
|
const rightFirst = element.querySelector('.k-transfer-panel:nth-child(3) .k-transfer-list .k-checkbox') as HTMLElement;
|
|
49
49
|
rightFirst.click();
|
|
50
50
|
await wait();
|
|
51
51
|
expect(element.outerHTML).to.matchSnapshot();
|
|
52
52
|
remove.click();
|
|
53
|
-
await wait(
|
|
53
|
+
await wait(500);
|
|
54
54
|
expect(element.outerHTML).to.matchSnapshot();
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -100,12 +100,13 @@ describe('Transfer', () => {
|
|
|
100
100
|
expect(tree.get('leftCheckedKeys')).to.eql([]);
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
-
it('filter', async ()
|
|
103
|
+
it('filter', async function() {
|
|
104
|
+
this.timeout(0);
|
|
104
105
|
const [instance, element] = mount(LabelDemo);
|
|
105
106
|
|
|
106
107
|
const transfer = instance.refs.__test as Transfer;
|
|
107
108
|
transfer.set('leftKeywords', '0');
|
|
108
|
-
await wait(
|
|
109
|
+
await wait(500);
|
|
109
110
|
expect(element.innerHTML).to.matchSnapshot();
|
|
110
111
|
|
|
111
112
|
const checkAll = element.querySelector('.k-transfer-title .k-checkbox') as HTMLElement;
|
|
@@ -114,7 +115,7 @@ describe('Transfer', () => {
|
|
|
114
115
|
expect(element.innerHTML).to.matchSnapshot();
|
|
115
116
|
|
|
116
117
|
transfer.set('leftKeywords', '');
|
|
117
|
-
await wait(
|
|
118
|
+
await wait(500);
|
|
118
119
|
expect(element.innerHTML).to.matchSnapshot();
|
|
119
120
|
|
|
120
121
|
checkAll.click();
|
|
@@ -124,7 +125,7 @@ describe('Transfer', () => {
|
|
|
124
125
|
transfer.set('leftKeywords', '0');
|
|
125
126
|
await wait();
|
|
126
127
|
transfer.set('leftKeywords', '');
|
|
127
|
-
await wait(
|
|
128
|
+
await wait(500);
|
|
128
129
|
expect(element.innerHTML).to.matchSnapshot();
|
|
129
130
|
});
|
|
130
131
|
});
|
|
@@ -29,8 +29,7 @@ const defaults = {
|
|
|
29
29
|
get hoverColor() { return theme.color.primary },
|
|
30
30
|
bgColor: '#fff',
|
|
31
31
|
hoverBgColor: 'transparent',
|
|
32
|
-
padding: '
|
|
33
|
-
get height() { return theme.default.height },
|
|
32
|
+
padding: '7px 16px',
|
|
34
33
|
get descColor() { return theme.color.lightBlack },
|
|
35
34
|
},
|
|
36
35
|
|
|
@@ -39,7 +38,7 @@ const defaults = {
|
|
|
39
38
|
}
|
|
40
39
|
};
|
|
41
40
|
|
|
42
|
-
let transfer:
|
|
41
|
+
let transfer: typeof defaults;
|
|
43
42
|
setDefault(() => {
|
|
44
43
|
transfer = deepDefaults(theme, {transfer: defaults}).transfer;
|
|
45
44
|
});
|
|
@@ -68,7 +67,6 @@ export function makeStyles() {
|
|
|
68
67
|
.k-checkbox {
|
|
69
68
|
color: ${transfer.title.color};
|
|
70
69
|
font-size: ${transfer.title.fontSize};
|
|
71
|
-
display: block;
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
72
|
.k-transfer-count {
|
|
@@ -84,7 +82,6 @@ export function makeStyles() {
|
|
|
84
82
|
color: ${transfer.item.color};
|
|
85
83
|
background: ${transfer.item.bgColor};
|
|
86
84
|
user-select: none;
|
|
87
|
-
display: table;
|
|
88
85
|
width: 100%;
|
|
89
86
|
&:not(.k-disabled):hover {
|
|
90
87
|
background: ${transfer.item.hoverBgColor};
|
|
@@ -95,10 +92,7 @@ export function makeStyles() {
|
|
|
95
92
|
}
|
|
96
93
|
.k-checkbox {
|
|
97
94
|
padding: ${transfer.item.padding};
|
|
98
|
-
display:
|
|
99
|
-
height: ${transfer.item.height};
|
|
100
|
-
vertical-align: middle;
|
|
101
|
-
white-space: nowrap;
|
|
95
|
+
display: flex;
|
|
102
96
|
}
|
|
103
97
|
p {
|
|
104
98
|
margin: 0;
|
package/components/tree/index.md
CHANGED
|
@@ -9,73 +9,100 @@ sidebar: doc
|
|
|
9
9
|
|
|
10
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
11
11
|
| --- | --- | --- | --- |
|
|
12
|
-
| data | 要渲染的数据 | `
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
12
|
+
| data | 要渲染的数据 | `TreeDataItem<K>[]` | `undefined` |
|
|
13
|
+
| filter | 指定节点过滤函数,返回`true`则展示,否则过滤掉 | `(data: TreeDataItem<K>, node: Node<K>) => boolean` | `undefined` |
|
|
14
|
+
| uncorrelated | 是否让父子`checkbox`选中状态互不关联 | `boolean` | `false` |
|
|
15
|
+
| checkedKeys | 通过`key`指定勾选的数据节点 | `K[]` | `undefined` |
|
|
16
|
+
| expandedKeys | 通过`key`指定展开的数据节点 | `K[]` | `undefined` |
|
|
17
|
+
| defaultExpandAll | 是否默认展开所有节点 | `boolean` | `false` |
|
|
18
|
+
| selectable | 节点是否可选中,默认为`true`可选中 | `boolean` | `true` |
|
|
19
|
+
| selectedKeys | 通过`key`指定选中的数据节点 | `K[]` | `undefined` |
|
|
20
|
+
| multiple | `selectedKeys`是否支持多选 | `boolean` | `false` |
|
|
21
|
+
| checkbox | 是否展示复选框 | `boolean` | `false` |
|
|
22
|
+
| load | 指定异步加载节点数据的函数,该函数通过`Promise`返回数组来添加子节点数据 | <code>(node: TreeNode<K>) => Proomise<void> | void</code> | `undefined` |
|
|
23
|
+
| showLine | 是否展示左侧对齐线 | `boolean` | `true` |
|
|
24
|
+
| draggable | 是否支持拖拽 | `boolean` | `false` |
|
|
25
|
+
| allowDrag | 指定哪些节点可拖拽 | `(node: TreeNode<K>) => boolean` | `undefined` |
|
|
26
|
+
| allowDrop | 指定哪些节点可以插入子节点 | `(node: TreeNode<K>) => boolean` | `undefined` |
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import {Key, Children} from 'intact';
|
|
30
|
+
|
|
31
|
+
export type TreeDataItem<K extends Key> = {
|
|
32
|
+
label?: Children
|
|
33
|
+
key?: K
|
|
34
|
+
disabled?: boolean
|
|
35
|
+
loaded?: boolean
|
|
36
|
+
children?: TreeDataItem<K>[]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export class TreeNode<K extends Key> {
|
|
40
|
+
data: TreeDataItem<K>;
|
|
41
|
+
parent: TreeNode<K> | null;
|
|
42
|
+
key: K;
|
|
43
|
+
checked: boolean;
|
|
44
|
+
indeterminate: boolean;
|
|
45
|
+
children: TreeNode<K>[] | null;
|
|
46
|
+
loaded: boolean | null | undefined;
|
|
47
|
+
filter: boolean;
|
|
48
|
+
constructor(data: TreeDataItem<K>, parent: TreeNode<K> | null, key: K);
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## TreeNode对象
|
|
53
|
+
|
|
54
|
+
组件内部使用`TreeNode`对象来维护节点的状态
|
|
36
55
|
|
|
37
56
|
### 属性
|
|
38
57
|
|
|
39
58
|
| 属性 | 说明 | 类型 |
|
|
40
59
|
| --- | --- | --- |
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
| children | 节点的子节点 | `
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
### 方法
|
|
60
|
+
| data | 节点的原始数据 | `TreeDataItem<K>` |
|
|
61
|
+
| parent | 节点的父节点 | `TreeDataItem<K>` | `null` |
|
|
62
|
+
| key | 节点的key | `K` |
|
|
63
|
+
| checked | 节点是否已选中 | `boolean` |
|
|
64
|
+
| indeterminate | 节点是否半选中 | `boolean` |
|
|
65
|
+
| children | 节点的子节点 | `TreeNode<K>` | `null` |
|
|
66
|
+
| loaded | 是否已经完成异步加载 | `boolean` | `undefined` |
|
|
67
|
+
| filter | 是否在搜索时被过滤掉了 | `boolean` | `false` |
|
|
51
68
|
|
|
52
|
-
| 方法名 | 说明 | 参数 | 返回值 |
|
|
53
|
-
| --- | --- | --- | --- |
|
|
54
|
-
| append | 追加子节点 | 要追加的子节点数据,或子节点数据数组 | `undefined` |
|
|
55
|
-
| remove | 删除节点 | - | `undefined` |
|
|
56
69
|
|
|
57
70
|
# 扩展点
|
|
58
71
|
|
|
59
72
|
| 名称 | 说明 | 参数 |
|
|
60
73
|
| --- | --- | --- |
|
|
61
|
-
| label | 自定义节点渲染内容 | `data
|
|
74
|
+
| label | 自定义节点渲染内容 | `([data: TreeDataItem<K>, node: TreeNode<K>, index: number]) => Children` |
|
|
62
75
|
|
|
63
76
|
# 方法
|
|
64
77
|
|
|
65
78
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
66
79
|
| --- | --- | --- | --- |
|
|
67
|
-
| getCheckedData | 获取勾选的节点数据 | `onlyLeaf` 是否只返回叶子节点 | `
|
|
68
|
-
| getSelectedData | 获取选中的节点数据 | - | `
|
|
69
|
-
| expand | 展开节点 | `key` 要展开的节点的key | `undefined` |
|
|
70
|
-
| shrink | 收起节点 | `key` 要收起的节点的key | `undefined` |
|
|
71
|
-
|
|
|
80
|
+
| getCheckedData | 获取勾选的节点数据 | `(leafOnly: boolean = false) => TreeDataItem<K>[]`: `onlyLeaf` 是否只返回叶子节点 | `TreeDataItem<K>[]` |
|
|
81
|
+
| getSelectedData | 获取选中的节点数据 | - | `TreeDataItem<K>[]` |
|
|
82
|
+
| expand | 展开节点 | `(key: K) => void`,`key` 要展开的节点的key | `undefined` |
|
|
83
|
+
| shrink | 收起节点 | `(key: K) => void`,`key` 要收起的节点的key | `undefined` |
|
|
84
|
+
| getNodes | 返回一级节点 | `() => TreeNode<K>[]` | `TreeNode<K>[]` 一级节点数组 |
|
|
72
85
|
|
|
73
86
|
# 事件
|
|
74
87
|
|
|
75
88
|
| 事件名 | 说明 | 参数 |
|
|
76
89
|
| --- | --- | --- |
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
| dragend | 拖拽完成触发 | `DragEndData<K>`,`{srcNode: '源节点', toNode: '目标节点', mode: '插入模式, Before: 插入节点前面, After: 插入节点后面, Inner: 插入节点内部'}` |
|
|
91
|
+
| denydrag | 拖拽不允许拖拽的节点触发 | `TreeNode<K>` |
|
|
92
|
+
| denydrop | 插入到不允许插入的节点时触发 | `TreeNode<K>` |
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
import {Key} from 'intact';
|
|
96
|
+
|
|
97
|
+
type DragEndData<K extends Key> = {
|
|
98
|
+
srcNode: TreeNode<K>
|
|
99
|
+
toNode: TreeNode<K>
|
|
100
|
+
mode: TreeMode
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export enum TreeMode {
|
|
104
|
+
Before,
|
|
105
|
+
After,
|
|
106
|
+
Inner
|
|
107
|
+
}
|
|
108
|
+
```
|
|
@@ -12,21 +12,22 @@ import {RANGE} from './useDraggable';
|
|
|
12
12
|
describe('Tree', () => {
|
|
13
13
|
afterEach(() => unmount());
|
|
14
14
|
|
|
15
|
-
it('expand and shrink', async ()
|
|
15
|
+
it('expand and shrink', async function() {
|
|
16
|
+
this.timeout(0);
|
|
16
17
|
const [instance, element] = mount(BasicDemo);
|
|
17
18
|
|
|
18
19
|
const [, icon1, icon2] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
|
|
19
20
|
|
|
20
21
|
icon2.click();
|
|
21
|
-
await wait(
|
|
22
|
+
await wait(500);
|
|
22
23
|
expect(element.outerHTML).to.matchSnapshot();
|
|
23
24
|
|
|
24
25
|
icon1.click();
|
|
25
|
-
await wait(
|
|
26
|
+
await wait(500);
|
|
26
27
|
expect(element.outerHTML).to.matchSnapshot();
|
|
27
28
|
|
|
28
29
|
icon1.click();
|
|
29
|
-
await wait(
|
|
30
|
+
await wait(500);
|
|
30
31
|
expect(element.outerHTML).to.matchSnapshot();
|
|
31
32
|
});
|
|
32
33
|
|
|
@@ -51,7 +52,7 @@ describe('Tree', () => {
|
|
|
51
52
|
const [, , icon1] = element.querySelectorAll('.k-icon') as NodeListOf<HTMLElement>;
|
|
52
53
|
// expand
|
|
53
54
|
icon1.click();
|
|
54
|
-
await wait(
|
|
55
|
+
await wait(500);
|
|
55
56
|
expect(element.outerHTML).to.matchSnapshot();
|
|
56
57
|
const data2 = tree.getCheckedData(true);
|
|
57
58
|
expect(data2.length).to.eql(2);
|
|
@@ -105,20 +106,20 @@ describe('Tree', () => {
|
|
|
105
106
|
|
|
106
107
|
const [btn1, btn2] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
|
|
107
108
|
btn1.click();
|
|
108
|
-
await wait(
|
|
109
|
+
await wait(500);
|
|
109
110
|
expect(element.outerHTML).to.matchSnapshot();
|
|
110
111
|
expect(instance.get('data')).to.have.length(3);
|
|
111
112
|
expect(instance.get('data')).to.matchSnapshot();
|
|
112
113
|
|
|
113
114
|
btn2.click();
|
|
114
|
-
await wait(
|
|
115
|
+
await wait(500);
|
|
115
116
|
expect(element.outerHTML).to.matchSnapshot();
|
|
116
117
|
const [, checkbox] = element.querySelectorAll('.k-checkbox') as NodeListOf<HTMLElement>;
|
|
117
118
|
checkbox.click();
|
|
118
119
|
await wait();
|
|
119
120
|
const [,,, btn3] = element.querySelectorAll('.k-btn') as NodeListOf<HTMLElement>;
|
|
120
121
|
btn3.click();
|
|
121
|
-
await wait(
|
|
122
|
+
await wait(500);
|
|
122
123
|
expect(element.outerHTML).to.matchSnapshot();
|
|
123
124
|
|
|
124
125
|
// uncheck and remove
|
|
@@ -126,7 +127,7 @@ describe('Tree', () => {
|
|
|
126
127
|
checkbox1.click();
|
|
127
128
|
await wait();
|
|
128
129
|
(checkbox1.parentNode!.querySelector('.k-btn:nth-child(2)') as HTMLElement).click();
|
|
129
|
-
await wait(
|
|
130
|
+
await wait(500);
|
|
130
131
|
expect(element.outerHTML).to.matchSnapshot();
|
|
131
132
|
expect(instance.get('data')).to.matchSnapshot();
|
|
132
133
|
});
|
|
@@ -163,7 +164,7 @@ describe('Tree', () => {
|
|
|
163
164
|
// disable select and click on disabled selectable text should expand the tree
|
|
164
165
|
tree.set('selectable', false);
|
|
165
166
|
text1.click();
|
|
166
|
-
await wait(
|
|
167
|
+
await wait(500);
|
|
167
168
|
expect(tree.getSelectedData().length).to.eql(0);
|
|
168
169
|
expect(element.outerHTML).to.matchSnapshot();
|
|
169
170
|
});
|
|
@@ -181,7 +182,7 @@ describe('Tree', () => {
|
|
|
181
182
|
const [instance, element] = mount(DraggableDemo);
|
|
182
183
|
|
|
183
184
|
instance.set('expandedKeys', ['2', '2-1', '1', '1-1']);
|
|
184
|
-
await wait(
|
|
185
|
+
await wait(500);
|
|
185
186
|
|
|
186
187
|
// can not drag disabled item
|
|
187
188
|
const disabled = element.querySelector('.k-disabled') as HTMLElement;
|
|
@@ -249,5 +250,5 @@ async function dragInsert(srcElement: HTMLElement, toElement: HTMLElement, mode?
|
|
|
249
250
|
|
|
250
251
|
await wait(700);
|
|
251
252
|
dispatchEvent(toElement, 'dragend');
|
|
252
|
-
await wait(
|
|
253
|
+
await wait(500);
|
|
253
254
|
}
|
package/components/tree/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ const treeNodes = (nodes) => {
|
|
|
56
56
|
<div class={labelClassNameObj}>
|
|
57
57
|
<Icon class="k-tree-icon ion-android-arrow-dropdown"
|
|
58
58
|
v-if={node.children && node.loaded !== false}
|
|
59
|
+
hoverable
|
|
59
60
|
ev-click={(e) => {
|
|
60
61
|
// it may be in dropdownMenu, e.g. TreeSelect
|
|
61
62
|
e._ignore = true;
|