@king-design/intact 2.0.0-beta.0 → 2.0.1
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 +1 -1
- package/components/cascader/styles.ts +1 -1
- 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 +8 -8
- 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/index.md +11 -11
- package/components/menu/index.spec.ts +2 -2
- package/components/menu/item.ts +5 -12
- package/components/menu/styles.ts +6 -5
- 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 +5 -2
- 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 +11 -2
- 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 +1 -1
- 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 +8 -8
- 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 +2 -2
- package/es/components/menu/item.d.ts +1 -1
- package/es/components/menu/item.js +4 -13
- package/es/components/menu/styles.d.ts +62 -1
- package/es/components/menu/styles.js +6 -2
- 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 +3 -2
- 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 +13 -2
- 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/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 +3 -0
- 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,67 +9,64 @@ sidebar: doc
|
|
|
9
9
|
> 滚动,同时会添加`padding-right`来保证页面不闪动,但如果你页面存在`position: fixed`元素,则依然
|
|
10
10
|
> 可能会在弹窗弹出时闪动。
|
|
11
11
|
>
|
|
12
|
-
>
|
|
13
|
-
> ```
|
|
12
|
+
> 组件提供了钩子函数,用来自定义元素的修正逻辑。例如:本文档网站的配置如下
|
|
13
|
+
> ```ts
|
|
14
14
|
> // @code
|
|
15
|
-
> import {
|
|
16
|
-
>
|
|
17
|
-
> configure({
|
|
18
|
-
> onDialogOpen(scrollbarWidth) {
|
|
19
|
-
> document.body.style.backgroundColor = '#f1f1f5';
|
|
20
|
-
> const header = document.querySelector('.header-wrapper');
|
|
21
|
-
> if (header) {
|
|
22
|
-
> header.style.paddingRight = `${scrollbarWidth}px`;
|
|
23
|
-
> }
|
|
24
|
-
> const tableOfContents = document.querySelector('.table-of-contents');
|
|
25
|
-
> if (tableOfContents) {
|
|
26
|
-
> tableOfContents.style.right = `${scrollbarWidth}px`;
|
|
27
|
-
> }
|
|
28
|
-
> },
|
|
15
|
+
> import {Dialog} from 'kpc';
|
|
29
16
|
>
|
|
30
|
-
>
|
|
31
|
-
>
|
|
32
|
-
>
|
|
33
|
-
>
|
|
34
|
-
>
|
|
35
|
-
>
|
|
36
|
-
>
|
|
37
|
-
>
|
|
38
|
-
>
|
|
39
|
-
>
|
|
40
|
-
>
|
|
17
|
+
> Dialog.setHooks({
|
|
18
|
+
> onStart(scrollBarWidth) {
|
|
19
|
+
> if (scrollBarWidth) {
|
|
20
|
+
> const header = document.querySelector<HTMLElement>('.k-layout-header');
|
|
21
|
+
> if (header) {
|
|
22
|
+
> header.style.paddingRight = `${scrollBarWidth}px`;
|
|
23
|
+
> }
|
|
24
|
+
> }
|
|
25
|
+
> },
|
|
26
|
+
> onEnd() {
|
|
27
|
+
> const header = document.querySelector<HTMLElement>('.k-layout-header');
|
|
28
|
+
> if (header) {
|
|
29
|
+
> header.style.paddingRight = '0';
|
|
30
|
+
> }
|
|
31
|
+
> }
|
|
32
|
+
>});
|
|
41
33
|
> ```
|
|
42
34
|
|
|
43
35
|
# 属性
|
|
44
36
|
|
|
45
37
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
46
38
|
| --- | --- | --- | --- |
|
|
47
|
-
| title | 弹窗标题 | `
|
|
48
|
-
|
|
|
49
|
-
| closable | 点击遮罩层是否可以关闭弹窗 | `Boolean` | `true` |
|
|
50
|
-
| value | 弹窗是否展示出来 | `Boolean` | `false` |
|
|
39
|
+
| title | 弹窗标题 | `string` | `"提示"` |
|
|
40
|
+
| value | 弹窗是否展示出来 | `boolean` | `false` |
|
|
51
41
|
| size | 弹窗尺寸 | `"large"` | `"default"` | `"small"` | `"mini"` | `"default"` |
|
|
52
|
-
| loading | “确定”按钮是否为加载状态 | `
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
| ok | “确定”按钮点击后自定义回调函数 | `
|
|
57
|
-
| cancel | “取消”按钮点击后自定义回调函数 | `
|
|
58
|
-
| container |
|
|
59
|
-
| hideClose | 是否隐藏右上角关闭按钮 | `
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
42
|
+
| loading | “确定”按钮是否为加载状态 | `boolean` | `false` |
|
|
43
|
+
| disabledOk | “确定”按钮是否为禁用状态 | `boolean` | `false` |
|
|
44
|
+
| okText | “确定”按钮文案 | `string` | `"确定"` |
|
|
45
|
+
| cancelText | “取消”按钮文案 | `string` | `"取消"` |
|
|
46
|
+
| ok | “确定”按钮点击后自定义回调函数 | `() => void` | `undefined` |
|
|
47
|
+
| cancel | “取消”按钮点击后自定义回调函数 | `() => void` | `undefined` |
|
|
48
|
+
| container | 指定弹层插入的位置,默认会追加到`body`中,你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
|
|
49
|
+
| hideClose | 是否隐藏右上角关闭按钮 | `boolean` | `false` |
|
|
50
|
+
| overlay | 是否展示遮罩层 | `boolean` | `true` |
|
|
51
|
+
| closable | 点击遮罩层是否可以关闭弹窗 | `boolean` | `true` |
|
|
52
|
+
| terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `() => void` | `undefined` |
|
|
53
|
+
| escClosable | 是否按ESC时关闭弹窗 | `boolean` | `true` |
|
|
54
|
+
| width | 指定弹窗宽度,`number`类型时,单位为`px`;`string`类型时,需要指定单位 | `number` | `string` | `undefined` |
|
|
63
55
|
| mode | 指定主体元素在关闭状态下的渲染方式,`"destroy"`代表直接销毁,`"hide"`代表只是隐藏 | `"destroy"` | `"hide"` | `"hide"` |
|
|
64
56
|
|
|
57
|
+
```ts
|
|
58
|
+
export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
|
|
59
|
+
```
|
|
60
|
+
|
|
65
61
|
# 扩展点
|
|
66
62
|
|
|
67
63
|
| 名称 | 说明 |
|
|
68
64
|
| --- | --- |
|
|
65
|
+
| content | 定义整个弹窗体,包括header,body,footer |
|
|
69
66
|
| header | 扩展弹窗头部 |
|
|
70
67
|
| body | 扩展弹窗主体部分 |
|
|
71
68
|
| footer | 扩展弹窗底部 |
|
|
72
|
-
|
|
|
69
|
+
| footerWrapper | 扩展弹窗整个底部,上述`footer`是它下面一个子扩展点 |
|
|
73
70
|
|
|
74
71
|
# 方法
|
|
75
72
|
|
|
@@ -96,33 +93,27 @@ sidebar: doc
|
|
|
96
93
|
| error | 错误提示窗口 | `Options` | `Promise` |
|
|
97
94
|
| confirm | 确定提示窗口 | `Options` | `Promise` |
|
|
98
95
|
|
|
99
|
-
其中`Options
|
|
100
|
-
|
|
101
|
-
> `Dialog`属性大都支持
|
|
96
|
+
其中`Options`对象常用属性说明如下,除了`Dialog`的属性外,还支持如下属性
|
|
102
97
|
|
|
103
98
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
104
99
|
| --- | --- | --- | --- |
|
|
105
|
-
|
|
|
106
|
-
| content | 弹窗内容 | `String` | `Number` | `VNode` | <code>Array<String | Number | VNode></code> | `undefined` |
|
|
100
|
+
| content | 弹窗内容 | `string` | `VNode` | <code>Array<string | VNode></code> | `undefined` |
|
|
107
101
|
| size | 弹窗尺寸 | `"large"` | `"default"` | `"small"` | `"mini"` | `"default"` |
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
| hideIcon | 是否隐藏提示图标 | `Boolean` | `false` |
|
|
111
|
-
| hideFooter | 是否隐藏底部按钮 | `Boolean` | `false` |
|
|
112
|
-
| showClose | 是否展示关闭按钮 | `Boolean` | `false` |
|
|
102
|
+
| hideIcon | 是否隐藏提示图标 | `boolean` | `false` |
|
|
103
|
+
| hideFooter | 是否隐藏底部按钮 | `boolean` | `false` |
|
|
113
104
|
|
|
114
105
|
其中`Promise`对象会在点击“确定”按钮时`resolve()`,在点击“取消”按钮时`reject()`,你可以在`then()`
|
|
115
106
|
中书写用户点击不同按钮的逻辑
|
|
116
107
|
|
|
117
108
|
> 只有`confirm`类型的提示窗口才有“取消”按钮
|
|
118
109
|
|
|
119
|
-
|
|
120
110
|
# 事件
|
|
121
111
|
|
|
122
112
|
| 事件名 | 说明 | 参数 |
|
|
123
113
|
| --- | --- | --- |
|
|
124
|
-
| cancel | 点击取消按钮时触发 | - |
|
|
125
|
-
| ok | 点击确定按钮时触发 | - |
|
|
126
114
|
| open | 弹窗打开后触发 | - |
|
|
127
115
|
| close | 弹窗关闭后触发,不管是什么原因导致的关闭 | - |
|
|
116
|
+
| ok | 点击确定按钮时触发 | - |
|
|
117
|
+
| cancel | 点击取消按钮时触发 | - |
|
|
128
118
|
| terminate | 用户强行关闭弹窗时触发,即:点击“关闭”按钮,点击遮罩层,按ESC键 | - |
|
|
119
|
+
| afterClose | 弹窗退出动画执行完成后触发 | - |
|
|
@@ -3,14 +3,13 @@ import {Dialog, BaseDialog, DialogProps} from './';
|
|
|
3
3
|
import {getElement, mount, unmount, dispatchEvent, wait} from '../../test/utils';
|
|
4
4
|
import BasicDemo from '~/components/dialog/demos/basic';
|
|
5
5
|
import AsyncCloseDemo from '~/components/dialog/demos/asyncClose';
|
|
6
|
-
import AsyncOpenDemo from '~/components/dialog/demos/asyncOpen';
|
|
7
6
|
import TerminateDemo from '~/components/dialog/demos/terminate';
|
|
8
7
|
import DestroyDemo from '~/components/dialog/demos/destroy';
|
|
9
8
|
|
|
10
9
|
describe('Dialog', () => {
|
|
11
10
|
afterEach((done) => {
|
|
12
11
|
unmount();
|
|
13
|
-
setTimeout(done,
|
|
12
|
+
setTimeout(done, 500);
|
|
14
13
|
});
|
|
15
14
|
|
|
16
15
|
function expectDialog() {
|
|
@@ -143,10 +142,9 @@ describe('Dialog', () => {
|
|
|
143
142
|
|
|
144
143
|
it('demos test', async function() {
|
|
145
144
|
this.timeout(0);
|
|
146
|
-
const req = require.context('~/components/dialog/demos', true, /^((?!
|
|
145
|
+
const req = require.context('~/components/dialog/demos', true, /^((?!static).)*index\.ts$/i);
|
|
147
146
|
for (const item of req.keys()) {
|
|
148
147
|
if (!item.startsWith('.')) continue;
|
|
149
|
-
if (/static/.test(item)) continue;
|
|
150
148
|
|
|
151
149
|
const Demo = req(item).default;
|
|
152
150
|
const [instance, element] = mount(Demo);
|
|
@@ -174,20 +172,6 @@ describe('Dialog', () => {
|
|
|
174
172
|
expect(dialog.className).to.eql(className);
|
|
175
173
|
});
|
|
176
174
|
|
|
177
|
-
it('async open', async function() {
|
|
178
|
-
this.timeout(0);
|
|
179
|
-
|
|
180
|
-
const [instance, element] = mount(AsyncOpenDemo);
|
|
181
|
-
|
|
182
|
-
dispatchEvent(element.firstChild as HTMLElement, 'click');
|
|
183
|
-
expect(getElement('.k-dialog')).to.be.undefined;
|
|
184
|
-
|
|
185
|
-
await wait(3000);
|
|
186
|
-
const dialog = expectDialog();
|
|
187
|
-
// close
|
|
188
|
-
dispatchEvent(dialog.querySelector('.k-dialog-ok') as HTMLElement, 'click');
|
|
189
|
-
});
|
|
190
|
-
|
|
191
175
|
it('drag', async () => {
|
|
192
176
|
const [instance, element] = mount(BasicDemo);
|
|
193
177
|
|
|
@@ -7,6 +7,7 @@ const defaults = {
|
|
|
7
7
|
width: '800px',
|
|
8
8
|
bgColor: '#fff',
|
|
9
9
|
get borderRadius() { return theme.borderRadius },
|
|
10
|
+
get transition() { return theme.transition.large },
|
|
10
11
|
padding: '0',
|
|
11
12
|
margin: '0 20px',
|
|
12
13
|
get color() { return theme.color.text },
|
|
@@ -60,7 +61,7 @@ const defaults = {
|
|
|
60
61
|
},
|
|
61
62
|
};
|
|
62
63
|
|
|
63
|
-
let dialog:
|
|
64
|
+
let dialog: typeof defaults;
|
|
64
65
|
setDefault(() => {
|
|
65
66
|
dialog = deepDefaults(theme, {dialog: defaults}).dialog;
|
|
66
67
|
});
|
|
@@ -87,8 +88,8 @@ export function makeDialogStyles() {
|
|
|
87
88
|
&.transition-enter-active,
|
|
88
89
|
&.transition-leave-active,
|
|
89
90
|
&.transition-appear-active {
|
|
90
|
-
// transition: transform ${
|
|
91
|
-
transition: all ${
|
|
91
|
+
// transition: transform ${dialog.transition}, opacity ${dialog.transition};
|
|
92
|
+
transition: all ${dialog.transition};
|
|
92
93
|
}
|
|
93
94
|
&.transition-enter-from,
|
|
94
95
|
&.transition-leave-to,
|
|
@@ -4,8 +4,14 @@ import {position} from '../position';
|
|
|
4
4
|
import {scrollbarWidth} from '../position';
|
|
5
5
|
import {SHOW} from './constants';
|
|
6
6
|
|
|
7
|
+
type Hooks = {
|
|
8
|
+
onStart?: (scrollBarWidth: number | undefined) => void
|
|
9
|
+
onEnd?: () => void
|
|
10
|
+
}
|
|
11
|
+
|
|
7
12
|
const dialogs = new Set<BaseDialog>();
|
|
8
13
|
let originalStyle: string | null = null;
|
|
14
|
+
let hooks: Hooks | null = null;
|
|
9
15
|
|
|
10
16
|
export function useFixBody(elementRef: RefObject<HTMLDivElement>) {
|
|
11
17
|
const instance = useInstance() as BaseDialog;
|
|
@@ -36,6 +42,10 @@ export function useFixBody(elementRef: RefObject<HTMLDivElement>) {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
|
|
45
|
+
export function setHooks(h: Hooks | null) {
|
|
46
|
+
hooks = h;
|
|
47
|
+
}
|
|
48
|
+
|
|
39
49
|
function onOpen(dialog: BaseDialog) {
|
|
40
50
|
const body = document.body;
|
|
41
51
|
if (dialogs.size === 0) {
|
|
@@ -47,6 +57,9 @@ function onOpen(dialog: BaseDialog) {
|
|
|
47
57
|
if (scrollBarWidth) {
|
|
48
58
|
bodyStyle.paddingRight = `${scrollBarWidth}px`;
|
|
49
59
|
}
|
|
60
|
+
if (hooks && hooks.onStart) {
|
|
61
|
+
hooks.onStart(scrollBarWidth);
|
|
62
|
+
}
|
|
50
63
|
}
|
|
51
64
|
dialogs.add(dialog);
|
|
52
65
|
}
|
|
@@ -61,6 +74,9 @@ function onClosed(dialog: BaseDialog) {
|
|
|
61
74
|
} else {
|
|
62
75
|
body.removeAttribute('style');
|
|
63
76
|
}
|
|
77
|
+
if (hooks && hooks.onEnd) {
|
|
78
|
+
hooks.onEnd();
|
|
79
|
+
}
|
|
64
80
|
}
|
|
65
81
|
}
|
|
66
82
|
|
|
@@ -9,29 +9,30 @@ sidebar: doc
|
|
|
9
9
|
|
|
10
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
11
11
|
| --- | --- | --- | --- |
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
| closable | 点击遮罩层是否可以关闭抽屉 | `Boolean` | `true` |
|
|
15
|
-
| title | 弹窗标题 | `String` | `"提示"` |
|
|
16
|
-
| value | 弹窗是否展示出来 | `Boolean` | `false` |
|
|
12
|
+
| title | 弹窗标题 | `string` | `"提示"` |
|
|
13
|
+
| value | 弹窗是否展示出来 | `boolean` | `false` |
|
|
17
14
|
| size | 弹窗尺寸 | `"large"` | `"default"` | `"small"` | `"mini"` | `"default"` |
|
|
18
|
-
| loading | “确定”按钮是否为加载状态 | `
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
| ok | “确定”按钮点击后自定义回调函数 | `
|
|
23
|
-
| cancel | “取消”按钮点击后自定义回调函数 | `
|
|
24
|
-
| container |
|
|
25
|
-
| hideClose | 是否隐藏右上角关闭按钮 | `
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
15
|
+
| loading | “确定”按钮是否为加载状态 | `boolean` | `false` |
|
|
16
|
+
| disabledOk | “确定”按钮是否为禁用状态 | `boolean` | `false` |
|
|
17
|
+
| okText | “确定”按钮文案 | `string` | `"确定"` |
|
|
18
|
+
| cancelText | “取消”按钮文案 | `string` | `"取消"` |
|
|
19
|
+
| ok | “确定”按钮点击后自定义回调函数 | `() => void` | `undefined` |
|
|
20
|
+
| cancel | “取消”按钮点击后自定义回调函数 | `() => void` | `undefined` |
|
|
21
|
+
| container | 指定弹层插入的位置,默认会追加到`body`中,你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
|
|
22
|
+
| hideClose | 是否隐藏右上角关闭按钮 | `boolean` | `false` |
|
|
23
|
+
| overlay | 是否展示遮罩层 | `boolean` | `true` |
|
|
24
|
+
| closable | 点击遮罩层是否可以关闭弹窗 | `boolean` | `true` |
|
|
25
|
+
| terminate | 指定在用户点击“关闭”按钮,点击遮罩层或者按ESC键时的回调函数 | `() => void` | `undefined` |
|
|
26
|
+
| escClosable | 是否按ESC时关闭弹窗 | `boolean` | `true` |
|
|
27
|
+
| width | 指定弹窗宽度,`number`类型时,单位为`px`;`string`类型时,需要指定单位 | `number` | `string` | `undefined` |
|
|
28
|
+
| mode | 指定主体元素在关闭状态下的渲染方式,`"destroy"`代表直接销毁,`"hide"`代表只是隐藏 | `"destroy"` | `"hide"` | `"hide"` |
|
|
29
|
+
| placement | 自定义位置 | `"top"` | `"bottom"` |`"left"` |`"right"`|`"right"`|
|
|
30
30
|
|
|
31
31
|
# 扩展点
|
|
32
32
|
|
|
33
33
|
| 名称 | 说明 |
|
|
34
34
|
| --- | --- |
|
|
35
|
+
| content | 定义整个弹窗体,包括header,body,footer |
|
|
35
36
|
| header | 扩展弹窗头部 |
|
|
36
37
|
| body | 扩展弹窗主体部分 |
|
|
37
38
|
| footer | 扩展弹窗底部 |
|
|
@@ -54,7 +55,9 @@ sidebar: doc
|
|
|
54
55
|
|
|
55
56
|
| 事件名 | 说明 | 参数 |
|
|
56
57
|
| --- | --- | --- |
|
|
57
|
-
| cancel | 点击取消按钮时触发 | - |
|
|
58
|
-
| ok | 点击确定按钮时触发 | - |
|
|
59
58
|
| open | 弹窗打开后触发 | - |
|
|
60
|
-
| close |
|
|
59
|
+
| close | 弹窗关闭后触发,不管是什么原因导致的关闭 | - |
|
|
60
|
+
| ok | 点击确定按钮时触发 | - |
|
|
61
|
+
| cancel | 点击取消按钮时触发 | - |
|
|
62
|
+
| terminate | 用户强行关闭弹窗时触发,即:点击“关闭”按钮,点击遮罩层,按ESC键 | - |
|
|
63
|
+
| afterClose | 弹窗退出动画执行完成后触发 | - |
|
|
@@ -6,7 +6,7 @@ import {mount, unmount, dispatchEvent, getElement, wait} from '../../test/utils'
|
|
|
6
6
|
describe('Drawer', () => {
|
|
7
7
|
afterEach((done) => {
|
|
8
8
|
unmount();
|
|
9
|
-
setTimeout(done,
|
|
9
|
+
setTimeout(done, 500);
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
it('should show drawer correctly', async function() {
|
|
@@ -20,10 +20,10 @@ describe('Drawer', () => {
|
|
|
20
20
|
const drawer = getElement('.k-dialog-wrapper')!;
|
|
21
21
|
expect(drawer.innerHTML).to.matchSnapshot();
|
|
22
22
|
|
|
23
|
-
await wait(
|
|
23
|
+
await wait(500);
|
|
24
24
|
//hide
|
|
25
25
|
getElement('.k-dialog-overlay')!.click();
|
|
26
|
-
await wait(
|
|
26
|
+
await wait(500);
|
|
27
27
|
expect(getElement('.k-drawer')).to.be.undefined;
|
|
28
28
|
});
|
|
29
29
|
|
|
@@ -58,13 +58,13 @@ describe('Drawer', () => {
|
|
|
58
58
|
expect(overlay).to.be.undefined;
|
|
59
59
|
await wait(200);
|
|
60
60
|
dispatchEvent(document, 'click');
|
|
61
|
-
await wait(
|
|
61
|
+
await wait(500);
|
|
62
62
|
const dialog = getElement('.k-dialog-wrapper')!;
|
|
63
63
|
expect(dialog.innerHTML).to.matchSnapshot();
|
|
64
64
|
|
|
65
65
|
const btn = dialog.querySelector('.k-dialog-ok') as HTMLElement;
|
|
66
66
|
btn.click();
|
|
67
|
-
await wait(
|
|
67
|
+
await wait(500);
|
|
68
68
|
expect(getElement('.k-drawer')).to.be.undefined;
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -10,11 +10,11 @@ export type Placement = ValueOf<typeof placements>
|
|
|
10
10
|
export const placements = ['top', 'right', 'bottom', 'left'] as const;
|
|
11
11
|
|
|
12
12
|
const defaults = {
|
|
13
|
-
get transition() { return theme.transition },
|
|
13
|
+
get transition() { return theme.transition.large },
|
|
14
14
|
get boxShadow() { return theme.boxShadow }
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
let drawer:
|
|
17
|
+
let drawer: typeof defaults;
|
|
18
18
|
setDefault(() => {
|
|
19
19
|
drawer = deepDefaults(theme, {drawer: defaults}).drawer;
|
|
20
20
|
});
|
|
@@ -6,24 +6,12 @@ order: 0
|
|
|
6
6
|
一个完整的菜单需要用到`Dropdown`,`DropdownMenu`和`DropdownItem`三个组件。
|
|
7
7
|
`Dropdown`会将第一个子元素作为触发器,第二个元素为菜单`DropdownMenu`。
|
|
8
8
|
|
|
9
|
-
> 与`Tooltip
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
> `@since 0.9.0` `Dropdown`在`Vue/React`下渲染不会被元素包裹,这可能会影响你之前项目中定义的样式,
|
|
13
|
-
> 如需渲染包裹元素,请做如下配置
|
|
14
|
-
> ```js
|
|
15
|
-
> // @code
|
|
16
|
-
> import {configure} from 'kpc';
|
|
17
|
-
>
|
|
18
|
-
> // 该配置全局生效
|
|
19
|
-
> configure({useWrapper: true});
|
|
20
|
-
> ```
|
|
9
|
+
> 与`Tooltip`一样,`Dropdown`会返回两个元素(触发器和菜单),所以不要作为Vue2.0的模板顶层返回元素
|
|
10
|
+
> 因为Vue2.0只支持返回一个元素
|
|
21
11
|
|
|
22
12
|
|
|
23
13
|
```vdt
|
|
24
|
-
import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
|
|
25
|
-
import {Button} from 'kpc';
|
|
26
|
-
import {Icon} from 'kpc';
|
|
14
|
+
import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
|
|
27
15
|
|
|
28
16
|
<div>
|
|
29
17
|
<Dropdown>
|
|
@@ -45,5 +33,5 @@ import {Icon} from 'kpc';
|
|
|
45
33
|
transition transform .25s ease-in-out
|
|
46
34
|
.k-dropdown-open
|
|
47
35
|
.k-icon
|
|
48
|
-
transform
|
|
36
|
+
transform rotateX(180deg)
|
|
49
37
|
```
|
|
@@ -3,13 +3,7 @@ title: 右键菜单
|
|
|
3
3
|
order: 7
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
跟随鼠标位置的弹出菜单
|
|
8
|
-
|
|
9
|
-
> 这里将`position`属性指定为`left+1`是为了避免弹出菜单立即被选中第一项
|
|
10
|
-
|
|
11
|
-
> `React`下事件对象会复用,我们不能在异步函数中调用事件对象的属性和方法,如果需要保留事件
|
|
12
|
-
> 对象,需要调用`event.persist()`方法 https://reactjs.org/docs/events.html#event-pooling
|
|
6
|
+
指定`trigger`为`contextmenu`即可实现右键菜单功能
|
|
13
7
|
|
|
14
8
|
```vdt
|
|
15
9
|
import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
|
|
@@ -7,9 +7,7 @@ order: 4
|
|
|
7
7
|
我们还可以通过`trigger`单独子菜单触发方式。
|
|
8
8
|
|
|
9
9
|
```vdt
|
|
10
|
-
import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
|
|
11
|
-
import {Button} from 'kpc';
|
|
12
|
-
import {Icon} from 'kpc';
|
|
10
|
+
import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
|
|
13
11
|
|
|
14
12
|
<div>
|
|
15
13
|
<Dropdown trigger="click">
|
|
@@ -76,5 +74,5 @@ import {Icon} from 'kpc';
|
|
|
76
74
|
transition transform .25s ease-in-out
|
|
77
75
|
.k-dropdown-open
|
|
78
76
|
.k-icon
|
|
79
|
-
transform
|
|
77
|
+
transform rotateX(180deg)
|
|
80
78
|
```
|
|
@@ -3,12 +3,11 @@ title: 菜单位置
|
|
|
3
3
|
order: 2
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
通过`position`属性,可以定义菜单相对触发器的位置。位置对象中`my`指菜单,`at
|
|
6
|
+
通过`position`属性,可以定义菜单相对触发器的位置。位置对象中`my`指菜单,`at`指触发器。
|
|
7
|
+
通过`"top" | "bottom" | "left" | "right" `可以快速定位上下左右四个方向
|
|
7
8
|
|
|
8
9
|
```vdt
|
|
9
|
-
import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
|
|
10
|
-
import {Button} from 'kpc';
|
|
11
|
-
import {Icon} from 'kpc';
|
|
10
|
+
import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
|
|
12
11
|
|
|
13
12
|
<div>
|
|
14
13
|
<Dropdown position={{my: 'left top', at: 'left bottom+5'}}>
|
|
@@ -33,7 +32,7 @@ import {Icon} from 'kpc';
|
|
|
33
32
|
</DropdownMenu>
|
|
34
33
|
</Dropdown>
|
|
35
34
|
|
|
36
|
-
<Dropdown position=
|
|
35
|
+
<Dropdown position="top">
|
|
37
36
|
<Button type="primary">
|
|
38
37
|
top center <Icon class="ion-ios-arrow-down" />
|
|
39
38
|
</Button>
|
|
@@ -54,5 +53,5 @@ import {Icon} from 'kpc';
|
|
|
54
53
|
transition transform .25s ease-in-out
|
|
55
54
|
.k-dropdown-open
|
|
56
55
|
.k-icon
|
|
57
|
-
transform
|
|
56
|
+
transform rotateX(180deg)
|
|
58
57
|
```
|
|
@@ -7,9 +7,7 @@ order: 0
|
|
|
7
7
|
通过`trigger`属性来指定它们。
|
|
8
8
|
|
|
9
9
|
```vdt
|
|
10
|
-
import {Dropdown, DropdownMenu, DropdownItem} from 'kpc';
|
|
11
|
-
import {Button} from 'kpc';
|
|
12
|
-
import {Icon} from 'kpc';
|
|
10
|
+
import {Dropdown, DropdownMenu, DropdownItem, Button, Icon} from 'kpc';
|
|
13
11
|
|
|
14
12
|
<div>
|
|
15
13
|
<Dropdown>
|
|
@@ -44,5 +42,5 @@ import {Icon} from 'kpc';
|
|
|
44
42
|
transition transform .25s ease-in-out
|
|
45
43
|
.k-dropdown-open
|
|
46
44
|
.k-icon
|
|
47
|
-
transform
|
|
45
|
+
transform rotateX(180deg)
|
|
48
46
|
```
|
|
@@ -5,9 +5,6 @@ order: 11
|
|
|
5
5
|
sidebar: doc
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> `kpc/component/dropdown`暴露出来的并非`Dropdown`组件本身,而是包装该组件的函数(vdt中称作宏函数)
|
|
9
|
-
> 所以不要试图继承它。
|
|
10
|
-
|
|
11
8
|
# 属性
|
|
12
9
|
|
|
13
10
|
## Dropdown
|
|
@@ -15,32 +12,46 @@ sidebar: doc
|
|
|
15
12
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
16
13
|
| --- | --- | --- | --- |
|
|
17
14
|
| trigger | 触发方式,`hover`为悬停触发,`click`为点击触发 | `"hover"` | `"click"` | `"hover"` |
|
|
18
|
-
| disabled | 是否禁用整个菜单 | `
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
| of | 弹出菜单的位置是相对当前触发元素,还是触发元素所在的菜单元素,这在嵌套菜单中可能会用到,可以使所有子菜单保持统一的对齐方式,例如:级联选择(Cascader)组件 | `"self"` | `"parent"` | `"self"` |
|
|
22
|
-
| container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `
|
|
15
|
+
| disabled | 是否禁用整个菜单 | `boolean` | `false` |
|
|
16
|
+
| value | 是否将弹出菜单展示出来,可通过`v-model`双向绑定 | `boolean` | `false` |
|
|
17
|
+
| position | 菜单弹出的位置,默认与触发器左侧对齐向下偏移`8px`的地方 | `Position` | `"left"` | `"bottom"` | `"right"` | `"top"` | `{my: 'left top+8', 'left bottom'}` |
|
|
18
|
+
| of | 弹出菜单的位置是相对当前触发元素,还是触发元素所在的菜单元素,这在嵌套菜单中可能会用到,可以使所有子菜单保持统一的对齐方式,例如:级联选择(Cascader)组件 | `"self"` | `"parent"` | `Event` | `"self"` |
|
|
19
|
+
| container | 指定弹出菜单追加的位置,默认:`Dialog`类型的组件会追加到`Dialog`中,其他会追加到`body`中。你可以传入函数返回一个DOM用来作为插入的容器,或者传入字符串用来给`querySelector`进行查询 | `Container` | `undefined` |
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
type Position = {
|
|
23
|
+
my?: string | [string, string]
|
|
24
|
+
at?: string | [string, string]
|
|
25
|
+
collision?: Collision | [Collision, Collision]
|
|
26
|
+
collisionDirection?: ['left'] | ['top'] | ['left', 'top']
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type Collision = 'fit' | 'flip' | 'flipfit' | 'none'
|
|
30
|
+
|
|
31
|
+
export type Container = string | ((parentDom: Element, anchor: Node | null) => Element)
|
|
32
|
+
```
|
|
23
33
|
|
|
24
34
|
## DropdownItem
|
|
25
35
|
|
|
26
36
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
27
37
|
| --- | --- | --- | --- |
|
|
28
|
-
| disabled | 是否禁用该菜单项 | `
|
|
29
|
-
| hideOnSelect | 是否选中该菜单后隐藏整个菜单 | `
|
|
38
|
+
| disabled | 是否禁用该菜单项 | `boolean` | `false` |
|
|
39
|
+
| hideOnSelect | 是否选中该菜单后隐藏整个菜单 | `boolean` | `true` |
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
# 事件
|
|
32
42
|
|
|
33
|
-
##
|
|
43
|
+
## Dropdown
|
|
34
44
|
|
|
35
45
|
| 事件名 | 说明 | 参数 |
|
|
36
46
|
| --- | --- | --- |
|
|
37
47
|
| show | 菜单展示事件 | - |
|
|
48
|
+
| hide | 菜单隐藏事件 | - |
|
|
38
49
|
|
|
39
50
|
## DropdownItem
|
|
40
51
|
|
|
41
52
|
| 事件名 | 说明 | 参数 |
|
|
42
53
|
| --- | --- | --- |
|
|
43
54
|
| select | 菜单项被选中时触发,不管是点击还是键盘操作选中 | 被选中的`DropdownItem`实例 |
|
|
44
|
-
| click | 菜单项被点击时触发 | `
|
|
45
|
-
| mouseenter | 鼠标进入菜单项时触发 | `
|
|
46
|
-
| mouseleave | 鼠标离开菜单项时触发 | `
|
|
55
|
+
| click | 菜单项被点击时触发 | `MouseEvent` |
|
|
56
|
+
| mouseenter | 鼠标进入菜单项时触发 | `MouseEvent` |
|
|
57
|
+
| mouseleave | 鼠标离开菜单项时触发 | `MouseEvent` |
|
|
@@ -8,7 +8,7 @@ import ContextMenuDemo from '~/components/dropdown/demos/contextmenu';
|
|
|
8
8
|
describe('Dropdown', () => {
|
|
9
9
|
afterEach((done) => {
|
|
10
10
|
unmount();
|
|
11
|
-
setTimeout(done,
|
|
11
|
+
setTimeout(done, 500);
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
// it('demos test', () => {
|
|
@@ -80,7 +80,7 @@ describe('Dropdown', () => {
|
|
|
80
80
|
const dropdown = getElement('.k-dropdown-menu')!;
|
|
81
81
|
const [, , , hoverItem, clickItem] = dropdown.querySelectorAll<HTMLElement>(':scope > .k-dropdown-item');
|
|
82
82
|
clickItem.click();
|
|
83
|
-
await wait(
|
|
83
|
+
await wait(500);
|
|
84
84
|
const clickSubDropdown = getElement('.k-dropdown-menu')!;
|
|
85
85
|
expect(clickSubDropdown.innerHTML).to.matchSnapshot();
|
|
86
86
|
|
|
@@ -271,7 +271,7 @@ describe('Dropdown', () => {
|
|
|
271
271
|
const [instance, element] = mount(Demo);
|
|
272
272
|
|
|
273
273
|
dispatchEvent(instance.refs.trigger, 'mouseenter');
|
|
274
|
-
await wait(
|
|
274
|
+
await wait(500);
|
|
275
275
|
|
|
276
276
|
const dropdown = getElement('.k-dropdown-menu')!;
|
|
277
277
|
const [, item] = dropdown.querySelectorAll<HTMLElement>('.k-dropdown-item');
|
|
@@ -22,8 +22,7 @@ export type {
|
|
|
22
22
|
DropdownMenuEvents,
|
|
23
23
|
DropdownMenuBlocks,
|
|
24
24
|
};
|
|
25
|
-
// Don't export the generic type class, because it will
|
|
26
|
-
// the type inferring break down
|
|
25
|
+
// Don't export the generic type class, because it will break down the type inference
|
|
27
26
|
// declare class _Dropdown extends BaseDropdown<
|
|
28
27
|
// DropdownProps,
|
|
29
28
|
// DropdownEvents,
|