@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
|
@@ -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,
|
|
@@ -22,7 +22,7 @@ const defaults = {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
let dropdown:
|
|
25
|
+
let dropdown: typeof defaults;
|
|
26
26
|
setDefault(() => {
|
|
27
27
|
dropdown = deepDefaults(theme, {dropdown: defaults}).dropdown;
|
|
28
28
|
});
|
|
@@ -73,7 +73,7 @@ export function makeItemStyles() {
|
|
|
73
73
|
// checkbox / radio
|
|
74
74
|
.k-checkbox,
|
|
75
75
|
.k-radio {
|
|
76
|
-
display:
|
|
76
|
+
display: flex;
|
|
77
77
|
margin: 0 -${getRight(dropdown.item.padding)} 0 -${getLeft(dropdown.item.padding)};
|
|
78
78
|
padding: ${dropdown.item.padding};
|
|
79
79
|
}
|
|
@@ -5,27 +5,22 @@ order: 99
|
|
|
5
5
|
sidebar: doc
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> 如果你不是通过`v-model`指令进行数据双向绑定,而是通过绑定`change`事件去修改的引用数据,则你需要
|
|
9
|
-
> 在修改数据后,手动触发更新`this.update()`,这样才能传递新的`children`子元素给组件去渲染。
|
|
10
|
-
>
|
|
11
|
-
> `vue`因为所有数据修改都会触发更新,所以无需手动触发更新
|
|
12
|
-
|
|
13
8
|
# 属性
|
|
14
9
|
|
|
15
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
16
11
|
| --- | --- | --- | --- |
|
|
17
|
-
| editing | 是否为编辑状态 | `
|
|
18
|
-
| value | 编辑的内容,使用`v-model`进行双向绑定 | `
|
|
19
|
-
| required | 是否规定不能为空 | `
|
|
20
|
-
| validate | 验证规则,可以为函数/正则/正则字符串,若为字符串将转为正则表达式;函数则会传入当前编辑框的值来调用函数验证,返回`true`则验证通过,否则验证失败 | `
|
|
21
|
-
| disabled | 是否禁用编辑 | `
|
|
22
|
-
| tip | 编辑按钮提示文案 | `
|
|
23
|
-
| trim | 是否去掉前后空白字符 | `
|
|
24
|
-
| invalid | 是否为验证失败状态 | `
|
|
12
|
+
| editing | 是否为编辑状态 | `boolean` | `false` |
|
|
13
|
+
| value | 编辑的内容,使用`v-model`进行双向绑定 | `string` | `undefined` |
|
|
14
|
+
| required | 是否规定不能为空 | `boolean` | `true` |
|
|
15
|
+
| validate | 验证规则,可以为函数/正则/正则字符串,若为字符串将转为正则表达式;函数则会传入当前编辑框的值来调用函数验证,返回`true`则验证通过,否则验证失败 | `(v: string) => boolean` | `RegExp` | `string` | `undefined` |
|
|
16
|
+
| disabled | 是否禁用编辑 | `boolean` | `false` |
|
|
17
|
+
| tip | 编辑按钮提示文案 | `string` | `"编辑"` |
|
|
18
|
+
| trim | 是否去掉前后空白字符 | `boolean` | `true` |
|
|
19
|
+
| invalid | 是否为验证失败状态 | `boolean` | `false` |
|
|
25
20
|
|
|
26
21
|
# 事件
|
|
27
22
|
|
|
28
23
|
| 事件名 | 说明 | 参数 |
|
|
29
24
|
| --- | --- | --- |
|
|
30
|
-
| error | 验证失败时触发 |
|
|
31
|
-
| change |
|
|
25
|
+
| error | 验证失败时触发 | `(value: string) => void` |
|
|
26
|
+
| change | 当值改变时触发 | `(newValue: string, oldValue: string) => void` |
|
|
@@ -8,22 +8,22 @@ order: 0
|
|
|
8
8
|
|
|
9
9
|
1. 给`FormItem`添加`value`属性,指定需要验证的数据。如果不指定,则不会进行任何验证
|
|
10
10
|
2. 给`FormItem`添加`rules`属性,指定需要验证的规则。如果不指定,则不会进行任何验证。内置的验证规则如下:
|
|
11
|
-
1. `required {
|
|
12
|
-
2. `digits {
|
|
13
|
-
3. `email {
|
|
14
|
-
4. `url {
|
|
11
|
+
1. `required {boolean}`:必须填写
|
|
12
|
+
2. `digits {boolean}`: 请输入数字
|
|
13
|
+
3. `email {boolean}`: 请输入正确的邮箱地址
|
|
14
|
+
4. `url {boolean}`: 请输入正确的网址
|
|
15
15
|
> 该规则可以验证IP地址,但是会排除`192.168.X.X | 192.254.X.X | 172.16.0.0 - 172.31.255.255 | 10.X.X.X | 172.X.X.X`这类保留IP地址
|
|
16
|
-
5. `date {
|
|
17
|
-
6. `dateISO {
|
|
18
|
-
7. `number {
|
|
19
|
-
8. `maxLength {
|
|
20
|
-
9. `minLength {
|
|
21
|
-
10. `rangeLength {Array<
|
|
22
|
-
11. `max {
|
|
23
|
-
12. `min {
|
|
24
|
-
13. `range {Array<
|
|
25
|
-
14. `step {
|
|
26
|
-
15. `equalTo {
|
|
16
|
+
5. `date {boolean}`:请输入正确的日期
|
|
17
|
+
6. `dateISO {boolean}`:请输入正确的日期(YYYY-MM-DD)
|
|
18
|
+
7. `number {boolean}`:请输入正确的数
|
|
19
|
+
8. `maxLength {number}`:如果检验的值是数组:最多选择n项;如果检验的值是字符串:最多输入n个字符
|
|
20
|
+
9. `minLength {number}`:同上(检验最少长度)
|
|
21
|
+
10. `rangeLength {Array<number>}`:同上,检验长度的范围
|
|
22
|
+
11. `max {number}`:请输入不大于n的数
|
|
23
|
+
12. `min {number}`:请输入不小于n的数
|
|
24
|
+
13. `range {Array<number>}`:请输入min到max之间的数
|
|
25
|
+
14. `step {number}`:请输入步长为n的数
|
|
26
|
+
15. `equalTo {string}`:两次输入不一致
|
|
27
27
|
3. 给`FormItem`添加`messages`属性,指定验证失败时展示的错误提示。默认内容如上所示
|
|
28
28
|
4. 给`FormItem`添加`classNames`属性,指定验证失败时错误元素需要额外添加的`className`,默认不添加
|
|
29
29
|
|
package/components/form/index.md
CHANGED
|
@@ -11,23 +11,30 @@ sidebar: doc
|
|
|
11
11
|
|
|
12
12
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
13
13
|
| --- | --- | --- | --- |
|
|
14
|
-
| labelWidth | 定义所有子孙`FormItem`组件的`label`宽度 | `
|
|
14
|
+
| labelWidth | 定义所有子孙`FormItem`组件的`label`宽度 | `string` | `number` | `undefined` |
|
|
15
15
|
| layout | 指定表单布局方式 | `"horizontal"` | `"vertical"` | `"inline"` | `"horizontal"` |
|
|
16
|
-
| starOnRequired | 当`FormItem`必填时,是否在`label`前面展示`*` | `
|
|
16
|
+
| starOnRequired | 当`FormItem`必填时,是否在`label`前面展示`*` | `boolean` | `false` |
|
|
17
|
+
| size | 定义表单之间的间隔大小 | `"default"` | `"small"` | `"mini"` | `"default"` |
|
|
17
18
|
|
|
18
19
|
## FormItem
|
|
19
20
|
|
|
20
21
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
21
22
|
| --- | --- | --- | --- |
|
|
22
|
-
| value | 指定需要验证的数据 |
|
|
23
|
-
| rules | 指定验证规则 | `
|
|
24
|
-
| messages | 指定验证失败时错误提示文案 | `
|
|
25
|
-
| classNames | 指定验证失败时添加的className | `
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
23
|
+
| value | 指定需要验证的数据 | `any` | `undefined` |
|
|
24
|
+
| rules | 指定验证规则 | `Record<string, any>` | `undefined` |
|
|
25
|
+
| messages | 指定验证失败时错误提示文案 | `Record<string, Message>` | `undefined` |
|
|
26
|
+
| classNames | 指定验证失败时添加的className | `Record<string, Classname>` | `undefined` |
|
|
27
|
+
| errorClassName | 指定验证失败时统一添加的className,不管是哪个规则导致的失败 | `string` | `undefined` |
|
|
28
|
+
| label | 指定表单每一项前面展示的标题 | `string` | `undefined` |
|
|
29
|
+
| htmlFor | 指定`label`的`for`属性 | `string` | `undefined` |
|
|
30
|
+
| hideLabel | 是否隐藏`label`,默认会展示`label`,即使该属性为空,也会展示占位元素 | `boolean` | `false` |
|
|
31
|
+
| fluid | `FormItem`的宽度默认是被子元素撑开的,添加该属性可以渲染`100%`的宽度 | `boolean` | `false` |
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
type Method = (value: any, param: any) => boolean | string
|
|
35
|
+
type Message = string | ((value: any, param: any) => string)
|
|
36
|
+
type ClassName = string | ((value: any, param: any) => string)
|
|
37
|
+
```
|
|
31
38
|
|
|
32
39
|
# 扩展点
|
|
33
40
|
|
|
@@ -45,7 +52,7 @@ sidebar: doc
|
|
|
45
52
|
|
|
46
53
|
| 事件名 | 说明 | 参数 |
|
|
47
54
|
| --- | --- | --- |
|
|
48
|
-
| submit | 当表单提交并且所有规则都验证通过时触发 |
|
|
55
|
+
| submit | 当表单提交并且所有规则都验证通过时触发 | `(event: Event) => void` |
|
|
49
56
|
|
|
50
57
|
# 方法
|
|
51
58
|
|
|
@@ -53,7 +60,7 @@ sidebar: doc
|
|
|
53
60
|
|
|
54
61
|
| 方法名 | 说明 | 参数 | 返回值 |
|
|
55
62
|
| --- | --- | --- | --- |
|
|
56
|
-
| validate | 验证表单所有规则 | - | `Promise
|
|
63
|
+
| validate | 验证表单所有规则 | - | `Promise<boolean>`: `.then(valid => {})`,`valid`为`true`验证成功,否则失败 |
|
|
57
64
|
| reset | 重置表单验证状态 | - | `undefined` |
|
|
58
65
|
| getFirstInvalidFormItem | 获取第一条出错的`FormItem` | - | `FormItem` |
|
|
59
66
|
|
|
@@ -67,4 +74,13 @@ sidebar: doc
|
|
|
67
74
|
| --- | --- | --- | --- |
|
|
68
75
|
| addMethod | 添加全局验证规则,这样在所有`FormItem`中如果需要使用该规则,只需要在`rules`中写上该规则名即可 | 1. `name` 指定规则名称,不能重复 <br /> 2. `method` 指定该规则的验证函数,该函数返回`true`或`false`来标识验证成功或失败,如果返回字符串,则直接当做错误文案展示,该函数将传入3个参数:1. 当前验证的值,2. 当前验证的`FormItem`实例,3. 当前规则的参数,即使用该规则时指定的值 <br /> 3. `message` 验证失败时的错误提示文案,该值可以为字符串或者函数,如果为函数,传入参数同`method`,用于个性化文案提示 <br /> 4. `className` 验证失败时添加的类名 | `undefined` |
|
|
69
76
|
|
|
77
|
+
```ts
|
|
78
|
+
export declare const addMethod: (
|
|
79
|
+
name: string,
|
|
80
|
+
method: Method,
|
|
81
|
+
message?: Message | undefined,
|
|
82
|
+
className?: ClassName | undefined
|
|
83
|
+
) => void;
|
|
84
|
+
```
|
|
85
|
+
|
|
70
86
|
[1]: https://github.com/ksc-fe/kpc/issues/6
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import BasicDemo from '~/components/form/demos/basic';
|
|
1
|
+
import BasicDemo, {data as basicDemoData} from '~/components/form/demos/basic';
|
|
2
2
|
import CustomDemo from '~/components/form/demos/custom';
|
|
3
3
|
import VariableDemo from '~/components/form/demos/variable';
|
|
4
4
|
import RemoteDemo from '~/components/form/demos/remote';
|
|
@@ -21,10 +21,10 @@ RemoteDemo.prototype.validateUserName = function(value) {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
describe('Form', () => {
|
|
24
|
-
afterEach(() => unmount());
|
|
24
|
+
// afterEach(() => unmount());
|
|
25
25
|
|
|
26
26
|
it('validate', async () => {
|
|
27
|
-
const [instance, element] = mount(BasicDemo);
|
|
27
|
+
const [instance, element] = mount(BasicDemo, null, basicDemoData);
|
|
28
28
|
const form = instance.refs.form as Form;
|
|
29
29
|
|
|
30
30
|
await instance.handleSubmit();
|
|
@@ -53,14 +53,14 @@ describe('Form', () => {
|
|
|
53
53
|
const [input, input1] = Array.from<HTMLElement>(element.querySelectorAll('input'));
|
|
54
54
|
instance.set<{'descriptions.0': string}>('descriptions.0', '1');
|
|
55
55
|
dispatchEvent(input, 'focusout');
|
|
56
|
-
await wait(
|
|
56
|
+
await wait(500);
|
|
57
57
|
expect(element.innerHTML).to.matchSnapshot();
|
|
58
58
|
|
|
59
59
|
instance.set<{'descriptions.0': string}>('descriptions.0', 'a');
|
|
60
60
|
expect(element.innerHTML).to.matchSnapshot();
|
|
61
61
|
instance.set<{'descriptions.1': string}>('descriptions.1', 'a');
|
|
62
62
|
dispatchEvent(input1, 'focusout');
|
|
63
|
-
await wait(
|
|
63
|
+
await wait(500);
|
|
64
64
|
expect(element.innerHTML).to.matchSnapshot();
|
|
65
65
|
instance.set<{'descriptions.1': string}>('descriptions.1', 'b');
|
|
66
66
|
expect(element.innerHTML).to.matchSnapshot();
|
|
@@ -74,10 +74,10 @@ describe('Form', () => {
|
|
|
74
74
|
expect(res).to.be.true;
|
|
75
75
|
|
|
76
76
|
instance.set('firstName', 'a');
|
|
77
|
-
await wait(
|
|
77
|
+
await wait(500);
|
|
78
78
|
expect(element.innerHTML).to.matchSnapshot();
|
|
79
79
|
instance.set('lastName', 'b');
|
|
80
|
-
await wait(
|
|
80
|
+
await wait(500);
|
|
81
81
|
expect(element.innerHTML).to.matchSnapshot();
|
|
82
82
|
});
|
|
83
83
|
|
|
@@ -90,14 +90,14 @@ describe('Form', () => {
|
|
|
90
90
|
await wait();
|
|
91
91
|
let res = await form.validate();
|
|
92
92
|
expect(res).to.be.false;
|
|
93
|
-
await wait(
|
|
93
|
+
await wait(500);
|
|
94
94
|
expect(element.innerHTML).to.matchSnapshot();
|
|
95
95
|
|
|
96
96
|
i.set('userName', 'b');
|
|
97
97
|
await wait();
|
|
98
98
|
res = await form.validate();
|
|
99
99
|
expect(res).to.be.true;
|
|
100
|
-
await wait(
|
|
100
|
+
await wait(500);
|
|
101
101
|
expect(element.innerHTML).to.matchSnapshot();
|
|
102
102
|
});
|
|
103
103
|
|
package/components/form/item.vdt
CHANGED
|
@@ -3,6 +3,7 @@ import {Tooltip} from '../tooltip';
|
|
|
3
3
|
import {Icon} from '../icon';
|
|
4
4
|
import {Transition} from 'intact';
|
|
5
5
|
import {makeItemStyles} from './styles';
|
|
6
|
+
import {context as ErrorContext} from './useError';
|
|
6
7
|
|
|
7
8
|
const {
|
|
8
9
|
className, children, label,
|
|
@@ -49,7 +50,11 @@ const {ellipsis, message, errorRef} = this.error;
|
|
|
49
50
|
<b:label>{label}</b:label>
|
|
50
51
|
</label>
|
|
51
52
|
<div class="k-form-content">
|
|
52
|
-
<
|
|
53
|
+
<ErrorContext.Provider value={isDirty && !isValid}>
|
|
54
|
+
<template>
|
|
55
|
+
<b:content>{children}</b:content>
|
|
56
|
+
</template>
|
|
57
|
+
</ErrorContext.Provider>
|
|
53
58
|
<Transition key="error" name="k-fade" >
|
|
54
59
|
<div v-if={isDirty && !isValid}
|
|
55
60
|
class={{
|
|
@@ -138,7 +138,12 @@ export const messages: Record<string, Message> = {
|
|
|
138
138
|
|
|
139
139
|
export const classNames: Record<string, ClassName> = {};
|
|
140
140
|
|
|
141
|
-
export const addMethod = function(
|
|
141
|
+
export const addMethod = function(
|
|
142
|
+
name: string,
|
|
143
|
+
method: Method,
|
|
144
|
+
message?: Message,
|
|
145
|
+
className?: ClassName
|
|
146
|
+
) {
|
|
142
147
|
methods[name] = method;
|
|
143
148
|
messages[name] = message !== undefined ? message : messages[name];
|
|
144
149
|
if (className) {
|
|
@@ -3,12 +3,15 @@ import type {FormItem} from './item';
|
|
|
3
3
|
import {useState, watchState} from '../../hooks/useState';
|
|
4
4
|
import {messages as globalMessages, classNames as globalClassNames} from './methods';
|
|
5
5
|
import {isFunction} from 'intact-shared';
|
|
6
|
+
import {createContext} from '../context';
|
|
6
7
|
|
|
7
8
|
// enum MessageOrClassname {
|
|
8
9
|
// Message,
|
|
9
10
|
// ClassName,
|
|
10
11
|
// }
|
|
11
12
|
|
|
13
|
+
export const context = createContext();
|
|
14
|
+
|
|
12
15
|
export function useError() {
|
|
13
16
|
const instance = useInstance() as FormItem;
|
|
14
17
|
const ellipsis = useState(false);
|
|
@@ -82,7 +82,7 @@ export function useValidate(
|
|
|
82
82
|
return [
|
|
83
83
|
false,
|
|
84
84
|
result || getErrorMessage(ruleName),
|
|
85
|
-
|
|
85
|
+
getErrorClassName(ruleName),
|
|
86
86
|
];
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -94,7 +94,7 @@ export function useValidate(
|
|
|
94
94
|
message = err;
|
|
95
95
|
} else if (err) {
|
|
96
96
|
message = err.message || getErrorMessage(err.name);
|
|
97
|
-
className = err.className ||
|
|
97
|
+
className = err.className || getErrorClassName(err.name);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
return [false, message!, className!];
|
package/components/grid/col.vdt
CHANGED
|
@@ -22,7 +22,7 @@ const {className, children, span, style, offset, push, pull, order} = this.get()
|
|
|
22
22
|
return (
|
|
23
23
|
<div class={classNameObj} {...getRestProps(this)} style={newStyle}>
|
|
24
24
|
{gutter ?
|
|
25
|
-
<div class={className}>{children}</div> :
|
|
25
|
+
<div class={{'k-col-wrapper': true, [className]: className}}>{children}</div> :
|
|
26
26
|
children
|
|
27
27
|
}
|
|
28
28
|
</div>
|
package/components/grid/index.md
CHANGED
|
@@ -11,23 +11,44 @@ sidebar: doc
|
|
|
11
11
|
|
|
12
12
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
13
13
|
| --- | --- | --- | --- |
|
|
14
|
-
| gutter | 栅格间距,单位`px`;也可以以对象的方式指定响应式间距 | `
|
|
14
|
+
| gutter | 栅格间距,单位`px`;也可以以对象的方式指定响应式间距 | `PrimitiveValue` | `BreakpointValue` | `undefined` |
|
|
15
15
|
| justify | 定义列水平方向布局,会自动启用`flex`布局 | `"start"` | `"end"` | `"center"` | `"between"` | `"around"` | `"evenly"` | `undefined` |
|
|
16
16
|
| align | 定义列垂直方向布局,会自动启用`flex`布局 | `"top"` | `"bottom"` | `"middle"` | `"stretch"` | `"baseline"` | `undefined` |
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
export type Breakpoint = 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
|
|
20
|
+
export type PrimitiveValue = string | number
|
|
21
|
+
export type BreakpointValue = {
|
|
22
|
+
[key in Breakpoint]?: PrimitiveValue
|
|
23
|
+
};
|
|
24
|
+
export type Value = PrimitiveValue | BreakpointValue;
|
|
25
|
+
```
|
|
18
26
|
|
|
19
27
|
## Col
|
|
20
28
|
|
|
21
29
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
22
30
|
| --- | --- | --- | --- |
|
|
23
|
-
| span | 栅格所占宽度,可选值为0到24的整数 | `
|
|
24
|
-
| offset | 栅格左侧偏移量 | `
|
|
25
|
-
| order | 定义列的顺序,会自动启用`flex`布局 | `
|
|
26
|
-
| pull | 定义列距离右边界的栅格数 | `
|
|
27
|
-
| push | 定义列距离左边界的栅格数 | `
|
|
28
|
-
| xs | 响应式宽度 `<576px` | `
|
|
29
|
-
| sm | 响应式宽度 `≥576px` | `
|
|
30
|
-
| md | 响应式宽度 `≥768px` | `
|
|
31
|
-
| lg | 响应式宽度 `≥992px` | `
|
|
32
|
-
| xl | 响应式宽度 `≥1200px` | `
|
|
33
|
-
| xxl | 响应式宽度 `≥1600px` | `
|
|
31
|
+
| span | 栅格所占宽度,可选值为0到24的整数 | `string` | `number` | `24` |
|
|
32
|
+
| offset | 栅格左侧偏移量 | `string` | `number` | `0` |
|
|
33
|
+
| order | 定义列的顺序,会自动启用`flex`布局 | `string` | `number` | `0` |
|
|
34
|
+
| pull | 定义列距离右边界的栅格数 | `string` | `number` | `0` |
|
|
35
|
+
| push | 定义列距离左边界的栅格数 | `string` | `number` | `0` |
|
|
36
|
+
| xs | 响应式宽度 `<576px` | `BreakpointValue` | `undefined` |
|
|
37
|
+
| sm | 响应式宽度 `≥576px` | `BreakpointValue` | `undefined` |
|
|
38
|
+
| md | 响应式宽度 `≥768px` | `BreakpointValue` | `undefined` |
|
|
39
|
+
| lg | 响应式宽度 `≥992px` | `BreakpointValue` | `undefined` |
|
|
40
|
+
| xl | 响应式宽度 `≥1200px` | `BreakpointValue` | `undefined` |
|
|
41
|
+
| xxl | 响应式宽度 `≥1600px` | `BreakpointValue` | `undefined` |
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export type BaseColProps = {
|
|
45
|
+
span?: PrimitiveValue,
|
|
46
|
+
offset?: PrimitiveValue,
|
|
47
|
+
order?: PrimitiveValue,
|
|
48
|
+
pull?: PrimitiveValue,
|
|
49
|
+
push?: PrimitiveValue,
|
|
50
|
+
}
|
|
51
|
+
type BreakpointValue =
|
|
52
|
+
| PrimitiveValue
|
|
53
|
+
| {[key in keyof BaseColProps]?: PrimitiveValue}
|
|
54
|
+
```
|
|
@@ -6,7 +6,7 @@ import {breakpoints, responsiveMap} from './constants';
|
|
|
6
6
|
|
|
7
7
|
const defaults = {};
|
|
8
8
|
|
|
9
|
-
let grid:
|
|
9
|
+
let grid: typeof defaults;
|
|
10
10
|
setDefault(() => {
|
|
11
11
|
grid = deepDefaults(theme, {grid: defaults}).grid;
|
|
12
12
|
});
|
|
@@ -59,6 +59,9 @@ export function makeColStyles() {
|
|
|
59
59
|
return css`
|
|
60
60
|
position: relative;
|
|
61
61
|
width: 100%;
|
|
62
|
+
.k-col-wrapper {
|
|
63
|
+
height: 100%;
|
|
64
|
+
}
|
|
62
65
|
${colsStyles}
|
|
63
66
|
`;
|
|
64
67
|
}
|
package/components/icon/index.md
CHANGED
|
@@ -9,5 +9,7 @@ sidebar: doc
|
|
|
9
9
|
|
|
10
10
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
11
11
|
| --- | --- | --- | --- |
|
|
12
|
-
| size | 定义图标尺寸 | `"default"` | `"large"` | `"small"` | `"mini"` | `
|
|
13
|
-
| color | 图标颜色 | `"default"` | `"primary"` | `"danger"` | `"warning"` | `"success"` | `
|
|
12
|
+
| size | 定义图标尺寸 | `"default"` | `"large"` | `"small"` | `"mini"` | `string` | `number` | `"default"` |
|
|
13
|
+
| color | 图标颜色 | `"default"` | `"primary"` | `"danger"` | `"warning"` | `"success"` | `string` | `undefined` |
|
|
14
|
+
| rotate | 是否一直旋转图标 | `boolean` | `false` |
|
|
15
|
+
| hoverable | 图标是否具有`hover`效果 | `boolean` | `false` |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {addStyle, getRestProps} from '../utils';
|
|
2
2
|
import makeStyles from './styles';
|
|
3
3
|
|
|
4
|
-
const {className, style, size, color, rotate, hoverable} = this.get();
|
|
4
|
+
const {className, style, size, color, rotate, hoverable, children} = this.get();
|
|
5
5
|
|
|
6
6
|
const classNameObj = {
|
|
7
7
|
'k-icon': true,
|
|
@@ -28,4 +28,4 @@ if (this.colors.indexOf(color) > -1) {
|
|
|
28
28
|
<i class={classNameObj}
|
|
29
29
|
style={addStyle(style, _style)}
|
|
30
30
|
{...getRestProps(this)}
|
|
31
|
-
|
|
31
|
+
>{children}</i>
|