@king-design/react 2.1.4 → 2.1.6
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/components/affix/index.d.ts +2 -2
- package/components/affix/index.js +5 -0
- package/components/affix/index.spec.js +108 -84
- package/components/affix/index.vdt.js +8 -5
- package/components/affix/useStyle.js +19 -8
- package/components/badge/index.js +2 -0
- package/components/badge/index.vdt.js +9 -5
- package/components/badge/styles.js +2 -0
- package/components/breadcrumb/index.js +4 -0
- package/components/breadcrumb/index.spec.js +6 -6
- package/components/breadcrumb/index.vdt.js +14 -5
- package/components/breadcrumb/item.js +8 -0
- package/components/breadcrumb/item.vdt.js +6 -3
- package/components/breadcrumb/styles.js +3 -0
- package/components/button/dynamicButton.d.ts +1 -1
- package/components/button/dynamicButton.js +5 -2
- package/components/button/group.js +10 -2
- package/components/button/group.vdt.js +7 -4
- package/components/button/index.js +27 -3
- package/components/button/index.spec.js +96 -74
- package/components/button/index.vdt.js +29 -19
- package/components/button/styles.d.ts +2 -2
- package/components/button/styles.js +48 -4
- package/components/card/column.js +2 -0
- package/components/card/column.vdt.js +10 -5
- package/components/card/index.js +4 -0
- package/components/card/index.vdt.js +16 -4
- package/components/carousel/index.js +19 -1
- package/components/carousel/index.spec.js +163 -127
- package/components/carousel/index.vdt.js +15 -12
- package/components/carousel/item.js +2 -0
- package/components/carousel/item.vdt.js +7 -4
- package/components/carousel/styles.js +1 -0
- package/components/carousel/useAutoplay.js +4 -0
- package/components/carousel/useItems.js +20 -4
- package/components/carousel/useSlide.js +89 -57
- package/components/cascader/index.d.ts +45 -0
- package/components/cascader/index.js +18 -3
- package/components/cascader/index.spec.js +445 -354
- package/components/cascader/index.vdt.js +31 -14
- package/components/cascader/styles.js +6 -0
- package/components/cascader/useFields.js +4 -1
- package/components/cascader/useFilterable.js +19 -2
- package/components/cascader/useLabel.js +9 -1
- package/components/cascader/useLoad.js +35 -22
- package/components/cascader/useValue.d.ts +2 -2
- package/components/cascader/useValue.js +26 -5
- package/components/checkbox/index.js +27 -5
- package/components/checkbox/index.spec.js +171 -129
- package/components/checkbox/index.vdt.js +16 -12
- package/components/checkbox/styles.js +10 -0
- package/components/code/crossDomain.js +9 -2
- package/components/code/index.js +9 -0
- package/components/code/index.spec.js +55 -46
- package/components/code/index.vdt.js +14 -6
- package/components/code/styles.js +1 -0
- package/components/code/useEditor.js +10 -5
- package/components/collapse/index.d.ts +1 -1
- package/components/collapse/index.js +14 -3
- package/components/collapse/index.spec.js +60 -47
- package/components/collapse/index.vdt.js +12 -4
- package/components/collapse/item.js +10 -0
- package/components/collapse/item.vdt.js +14 -7
- package/components/collapse/styles.js +1 -0
- package/components/colorpicker/drag.js +5 -0
- package/components/colorpicker/index.js +4 -0
- package/components/colorpicker/index.spec.js +259 -211
- package/components/colorpicker/index.vdt.js +11 -8
- package/components/colorpicker/panel.js +5 -0
- package/components/colorpicker/panel.vdt.js +26 -21
- package/components/colorpicker/styles.js +13 -2
- package/components/colorpicker/useDrag.js +26 -22
- package/components/colorpicker/useInput.js +16 -0
- package/components/colorpicker/usePointer.js +18 -15
- package/components/colorpicker/useValue.js +7 -2
- package/components/context.d.ts +2 -2
- package/components/context.js +19 -2
- package/components/datepicker/basepicker.d.ts +8 -8
- package/components/datepicker/basepicker.js +90 -20
- package/components/datepicker/calendar.js +11 -0
- package/components/datepicker/calendar.vdt.js +14 -11
- package/components/datepicker/constants.js +1 -0
- package/components/datepicker/dayjs.js +1 -1
- package/components/datepicker/helpers.js +15 -3
- package/components/datepicker/index.d.ts +63 -0
- package/components/datepicker/index.js +32 -6
- package/components/datepicker/index.spec.js +1448 -1141
- package/components/datepicker/index.vdt.js +34 -20
- package/components/datepicker/shortcuts.d.ts +1 -1
- package/components/datepicker/shortcuts.js +4 -0
- package/components/datepicker/styles.js +8 -0
- package/components/datepicker/time.d.ts +1 -1
- package/components/datepicker/time.js +23 -3
- package/components/datepicker/time.vdt.js +5 -4
- package/components/datepicker/useDays.js +9 -2
- package/components/datepicker/useDisabled.js +23 -6
- package/components/datepicker/useFocusDate.js +2 -0
- package/components/datepicker/useFormats.js +15 -6
- package/components/datepicker/useKeyboards.js +36 -20
- package/components/datepicker/useMonths.js +6 -0
- package/components/datepicker/usePanel.js +10 -0
- package/components/datepicker/useShowDate.js +37 -10
- package/components/datepicker/useStatus.js +15 -3
- package/components/datepicker/useValue.js +35 -22
- package/components/datepicker/useYears.js +15 -4
- package/components/diagram/diagram.js +43 -17
- package/components/diagram/diagram.vdt.js +5 -2
- package/components/diagram/graph.js +6 -6
- package/components/diagram/index.d.ts +1 -1
- package/components/diagram/index.js +7 -7
- package/components/diagram/index.spec.js +495 -369
- package/components/diagram/layouts/circle.js +14 -6
- package/components/diagram/layouts/flow.js +15 -7
- package/components/diagram/layouts/layout.js +28 -6
- package/components/diagram/layouts/organic.js +11 -3
- package/components/diagram/layouts/partition.js +12 -4
- package/components/diagram/layouts/radial.js +18 -6
- package/components/diagram/layouts/stack.js +14 -6
- package/components/diagram/layouts/tree.js +21 -11
- package/components/diagram/mxgraph/handler/mxConnectionHandler.js +22 -15
- package/components/diagram/mxgraph/handler/mxConstraintHandler.js +4 -4
- package/components/diagram/mxgraph/handler/mxEdgeHandler.js +15 -11
- package/components/diagram/mxgraph/handler/mxGraphHandler.js +9 -6
- package/components/diagram/mxgraph/handler/mxRubberband.js +4 -4
- package/components/diagram/mxgraph/handler/mxVertexHandler.js +10 -7
- package/components/diagram/mxgraph/index.js +2 -0
- package/components/diagram/mxgraph/mx.js +3 -3
- package/components/diagram/mxgraph/shape/mxCloud.js +2 -2
- package/components/diagram/mxgraph/shape/mxCylinder.js +9 -4
- package/components/diagram/mxgraph/shape/mxEllipse.js +2 -2
- package/components/diagram/mxgraph/shape/mxHexagon.js +2 -2
- package/components/diagram/mxgraph/shape/mxLine.js +2 -2
- package/components/diagram/mxgraph/shape/mxRectangleShape.js +2 -2
- package/components/diagram/mxgraph/shape/mxRhombus.js +12 -6
- package/components/diagram/mxgraph/shape/mxShape.js +1 -0
- package/components/diagram/mxgraph/shape/mxTriangle.js +2 -2
- package/components/diagram/mxgraph/util/mxConstants.js +2 -2
- package/components/diagram/mxgraph/util/mxGuide.js +7 -5
- package/components/diagram/mxgraph/view/mxCellEditor.js +29 -16
- package/components/diagram/mxgraph/view/mxCellRenderer.js +2 -0
- package/components/diagram/mxgraph/view/mxGraph.js +32 -14
- package/components/diagram/shapes/base.d.ts +1 -1
- package/components/diagram/shapes/base.js +39 -9
- package/components/diagram/shapes/callout.js +23 -10
- package/components/diagram/shapes/circle.js +10 -3
- package/components/diagram/shapes/document.js +16 -5
- package/components/diagram/shapes/ellipse.js +5 -0
- package/components/diagram/shapes/generateShapes.d.ts +1 -1
- package/components/diagram/shapes/generateShapes.js +9 -0
- package/components/diagram/shapes/hexagon.js +26 -9
- package/components/diagram/shapes/image.js +9 -1
- package/components/diagram/shapes/line.d.ts +2 -2
- package/components/diagram/shapes/line.js +48 -13
- package/components/diagram/shapes/parallelogram.js +26 -9
- package/components/diagram/shapes/rectangle.js +9 -1
- package/components/diagram/shapes/shape.js +35 -6
- package/components/diagram/shapes/square.js +11 -3
- package/components/diagram/shapes/text.js +5 -0
- package/components/diagram/styles.js +1 -0
- package/components/dialog/alert.vdt.js +19 -9
- package/components/dialog/base.js +29 -1
- package/components/dialog/base.vdt.js +29 -14
- package/components/dialog/index.js +31 -6
- package/components/dialog/index.spec.js +554 -406
- package/components/dialog/staticMethods.d.ts +1 -1
- package/components/dialog/staticMethods.js +13 -2
- package/components/dialog/styles.js +11 -0
- package/components/dialog/useDraggable.js +6 -0
- package/components/dialog/useEscClosable.js +12 -4
- package/components/dialog/useFixBody.d.ts +1 -1
- package/components/dialog/useFixBody.js +11 -0
- package/components/dialog/usePosition.js +5 -0
- package/components/drawer/index.js +5 -0
- package/components/drawer/index.spec.js +168 -126
- package/components/drawer/index.vdt.js +9 -3
- package/components/drawer/styles.d.ts +2 -2
- package/components/drawer/styles.js +4 -0
- package/components/dropdown/dropdown.d.ts +2 -2
- package/components/dropdown/dropdown.js +89 -33
- package/components/dropdown/index.js +6 -2
- package/components/dropdown/index.spec.js +496 -388
- package/components/dropdown/item.js +25 -4
- package/components/dropdown/item.vdt.js +8 -5
- package/components/dropdown/menu.js +29 -12
- package/components/dropdown/menu.vdt.js +13 -5
- package/components/dropdown/styles.js +9 -0
- package/components/dropdown/useKeyboard.d.ts +2 -2
- package/components/dropdown/useKeyboard.js +30 -8
- package/components/dropdown/usePosition.d.ts +1 -1
- package/components/dropdown/usePosition.js +22 -12
- package/components/dropdown/useTransition.js +8 -0
- package/components/editable/index.d.ts +1 -1
- package/components/editable/index.js +28 -4
- package/components/editable/index.spec.js +189 -152
- package/components/editable/index.vdt.js +11 -8
- package/components/editable/styles.js +1 -0
- package/components/form/form.js +18 -0
- package/components/form/form.vdt.js +7 -4
- package/components/form/index.spec.js +1280 -1057
- package/components/form/item.d.ts +1 -1
- package/components/form/item.js +12 -0
- package/components/form/item.vdt.js +31 -17
- package/components/form/methods.d.ts +5 -5
- package/components/form/methods.js +12 -2
- package/components/form/styles.js +8 -0
- package/components/form/useDirty.js +7 -2
- package/components/form/useError.js +10 -2
- package/components/form/useValidate.d.ts +1 -1
- package/components/form/useValidate.js +24 -8
- package/components/grid/col.d.ts +3 -3
- package/components/grid/col.js +7 -0
- package/components/grid/col.vdt.js +13 -8
- package/components/grid/constants.d.ts +6 -6
- package/components/grid/row.js +5 -0
- package/components/grid/row.vdt.js +8 -5
- package/components/grid/styles.js +7 -0
- package/components/grid/useBreakpoints.js +5 -0
- package/components/grid/useGutter.js +25 -5
- package/components/icon/index.js +10 -0
- package/components/icon/index.vdt.js +13 -7
- package/components/icon/styles.js +1 -0
- package/components/input/index.d.ts +3 -3
- package/components/input/index.js +14 -0
- package/components/input/index.spec.js +239 -185
- package/components/input/index.vdt.js +49 -39
- package/components/input/search.js +20 -0
- package/components/input/search.vdt.js +9 -6
- package/components/input/styles.js +26 -0
- package/components/input/useAutoRows.js +18 -6
- package/components/input/useAutoWidth.js +5 -0
- package/components/input/useFrozen.js +6 -0
- package/components/input/useShowPassword.js +5 -2
- package/components/layout/aside.js +17 -5
- package/components/layout/aside.vdt.js +9 -5
- package/components/layout/body.js +17 -5
- package/components/layout/footer.js +7 -1
- package/components/layout/header.js +21 -7
- package/components/layout/layout.js +24 -9
- package/components/layout/styles.js +13 -2
- package/components/layout/template.vdt.js +4 -2
- package/components/layout/useParse.js +7 -0
- package/components/menu/index.spec.js +242 -189
- package/components/menu/item.js +16 -3
- package/components/menu/item.vdt.js +32 -20
- package/components/menu/menu.js +11 -2
- package/components/menu/menu.vdt.js +12 -6
- package/components/menu/styles.js +18 -0
- package/components/menu/useDropdown.js +9 -4
- package/components/menu/useExpanded.js +14 -0
- package/components/menu/useHighlight.js +36 -26
- package/components/message/index.spec.js +73 -58
- package/components/message/message.js +19 -0
- package/components/message/message.vdt.js +8 -5
- package/components/message/messages.js +12 -0
- package/components/message/messages.vdt.js +1 -0
- package/components/message/styles.js +9 -0
- package/components/pagination/index.d.ts +1 -1
- package/components/pagination/index.js +46 -10
- package/components/pagination/index.spec.js +173 -133
- package/components/pagination/index.vdt.js +34 -14
- package/components/pagination/styles.js +4 -0
- package/components/portal.d.ts +1 -1
- package/components/portal.js +29 -2
- package/components/position.d.ts +12 -12
- package/components/position.js +88 -32
- package/components/progress/index.d.ts +6 -6
- package/components/progress/index.js +12 -0
- package/components/progress/index.spec.js +191 -143
- package/components/progress/index.vdt.js +11 -8
- package/components/progress/styles.js +6 -0
- package/components/progress/useColor.js +7 -2
- package/components/progress/useStatus.d.ts +1 -1
- package/components/progress/useStatus.js +5 -2
- package/components/radio/index.js +18 -3
- package/components/radio/index.spec.js +149 -111
- package/components/radio/index.vdt.js +17 -14
- package/components/radio/styles.js +10 -0
- package/components/rate/index.js +7 -0
- package/components/rate/index.spec.js +79 -64
- package/components/rate/index.vdt.js +21 -8
- package/components/rate/styles.js +3 -0
- package/components/rate/useActiveValue.js +7 -2
- package/components/scrollSelect/index.d.ts +2 -2
- package/components/scrollSelect/index.js +7 -0
- package/components/scrollSelect/index.spec.js +131 -100
- package/components/scrollSelect/index.vdt.js +11 -6
- package/components/scrollSelect/styles.js +7 -0
- package/components/scrollSelect/useList.js +17 -3
- package/components/scrollSelect/useMouseEvents.js +49 -31
- package/components/scrollSelect/useTranslate.js +11 -1
- package/components/select/base.js +35 -5
- package/components/select/base.vdt.js +38 -23
- package/components/select/group.js +5 -0
- package/components/select/group.vdt.js +10 -4
- package/components/select/index.spec.js +452 -361
- package/components/select/menu.js +5 -0
- package/components/select/menu.vdt.js +33 -18
- package/components/select/option.js +16 -2
- package/components/select/option.vdt.js +14 -7
- package/components/select/select.d.ts +33 -0
- package/components/select/select.js +20 -3
- package/components/select/select.vdt.js +17 -9
- package/components/select/styles.js +33 -0
- package/components/select/useBaseLabel.d.ts +1 -1
- package/components/select/useBaseLabel.js +17 -4
- package/components/select/useCard.js +4 -0
- package/components/select/useEqualWidth.js +1 -0
- package/components/select/useFilterable.js +27 -5
- package/components/select/useFocusout.js +8 -0
- package/components/select/useInput.js +10 -6
- package/components/select/useLabel.js +13 -3
- package/components/select/useSearchable.js +10 -0
- package/components/skeleton/item.d.ts +1 -1
- package/components/skeleton/item.js +4 -0
- package/components/skeleton/item.vdt.js +6 -1
- package/components/skeleton/skeleton.js +4 -0
- package/components/skeleton/skeleton.vdt.js +12 -6
- package/components/skeleton/style.d.ts +1 -1
- package/components/skeleton/style.js +1 -0
- package/components/slider/index.d.ts +1 -1
- package/components/slider/index.js +7 -0
- package/components/slider/index.spec.js +585 -467
- package/components/slider/index.vdt.js +45 -32
- package/components/slider/styles.js +14 -0
- package/components/slider/useClick.js +11 -2
- package/components/slider/useDraggable.js +34 -23
- package/components/slider/useKeyboard.js +18 -7
- package/components/slider/useMarks.d.ts +5 -5
- package/components/slider/useMarks.js +13 -5
- package/components/slider/usePoints.d.ts +2 -2
- package/components/slider/usePoints.js +21 -7
- package/components/slider/useStyles.d.ts +1 -1
- package/components/slider/useStyles.js +10 -5
- package/components/slider/useTooltip.js +10 -2
- package/components/slider/useValue.d.ts +1 -1
- package/components/slider/useValue.js +22 -7
- package/components/spin/index.js +4 -0
- package/components/spin/index.vdt.js +11 -4
- package/components/spin/styles.js +2 -0
- package/components/spinner/index.d.ts +4 -4
- package/components/spinner/index.js +24 -9
- package/components/spinner/index.spec.js +460 -359
- package/components/spinner/index.vdt.js +13 -10
- package/components/spinner/styles.js +3 -0
- package/components/spinner/useChange.js +16 -4
- package/components/spinner/useFormatter.js +16 -6
- package/components/spinner/useStep.d.ts +3 -3
- package/components/spinner/useStep.js +20 -2
- package/components/spinner/useValue.js +26 -11
- package/components/split/index.js +7 -0
- package/components/split/index.spec.js +267 -223
- package/components/split/index.vdt.js +17 -8
- package/components/split/style.d.ts +1 -1
- package/components/split/style.js +8 -0
- package/components/split/useDraggable.js +35 -11
- package/components/split/useSize.js +5 -2
- package/components/steps/context.d.ts +2 -2
- package/components/steps/index.js +10 -2
- package/components/steps/index.spec.js +27 -21
- package/components/steps/index.vdt.js +10 -8
- package/components/steps/step.js +2 -0
- package/components/steps/step.vdt.js +12 -8
- package/components/steps/styles.js +27 -0
- package/components/switch/index.js +23 -2
- package/components/switch/index.spec.js +224 -188
- package/components/switch/index.vdt.js +32 -16
- package/components/switch/styles.js +14 -3
- package/components/switch/useDraggable.js +18 -10
- package/components/table/cell.js +6 -0
- package/components/table/cell.vdt.js +21 -14
- package/components/table/column.d.ts +1 -1
- package/components/table/column.js +5 -0
- package/components/table/column.vdt.js +30 -19
- package/components/table/exportTable.js +56 -45
- package/components/table/index.spec.js +984 -780
- package/components/table/row.d.ts +1 -1
- package/components/table/row.js +41 -12
- package/components/table/row.vdt.js +39 -27
- package/components/table/styles.js +11 -0
- package/components/table/table.d.ts +5 -5
- package/components/table/table.js +50 -18
- package/components/table/table.vdt.js +85 -61
- package/components/table/useChecked.d.ts +1 -1
- package/components/table/useChecked.js +61 -20
- package/components/table/useColumns.js +16 -3
- package/components/table/useDisableRow.js +12 -2
- package/components/table/useDraggable.js +12 -4
- package/components/table/useExpandable.js +5 -2
- package/components/table/useFixedColumns.d.ts +1 -1
- package/components/table/useFixedColumns.js +23 -4
- package/components/table/useGroup.d.ts +1 -1
- package/components/table/useGroup.js +24 -7
- package/components/table/useMerge.d.ts +4 -4
- package/components/table/useMerge.js +14 -2
- package/components/table/usePagination.js +18 -4
- package/components/table/useResizable.js +10 -2
- package/components/table/useRestRowStatus.js +6 -2
- package/components/table/useScroll.d.ts +1 -1
- package/components/table/useScroll.js +3 -0
- package/components/table/useSelected.js +5 -2
- package/components/table/useSortable.js +8 -2
- package/components/table/useStickyHeader.js +7 -3
- package/components/table/useStickyScrollbar.js +16 -6
- package/components/table/useTree.js +12 -1
- package/components/table/useWidth.js +30 -14
- package/components/tabs/index.js +51 -29
- package/components/tabs/index.spec.js +74 -56
- package/components/tabs/index.vdt.js +16 -13
- package/components/tabs/styles.js +16 -0
- package/components/tabs/tab.js +10 -0
- package/components/tabs/tab.vdt.js +10 -6
- package/components/tabs/useActiveBar.js +11 -2
- package/components/tabs/useScroll.js +20 -4
- package/components/tag/base.js +8 -0
- package/components/tag/index.js +4 -2
- package/components/tag/index.spec.js +25 -19
- package/components/tag/index.vdt.js +15 -8
- package/components/tag/styles.js +9 -0
- package/components/timeline/item.js +4 -0
- package/components/timeline/item.vdt.js +9 -4
- package/components/timeline/styles.d.ts +2 -2
- package/components/timeline/styles.js +4 -0
- package/components/timeline/timeline.js +2 -0
- package/components/timeline/timeline.vdt.js +5 -2
- package/components/timepicker/index.js +7 -2
- package/components/timepicker/index.spec.js +368 -293
- package/components/timepicker/panelPicker.d.ts +54 -0
- package/components/timepicker/panelPicker.js +11 -2
- package/components/timepicker/panelPicker.vdt.js +24 -14
- package/components/timepicker/selectPicker.js +5 -0
- package/components/timepicker/selectPicker.vdt.js +10 -5
- package/components/timepicker/styles.js +1 -0
- package/components/timepicker/useDisabled.js +4 -2
- package/components/timepicker/useFormats.js +13 -4
- package/components/timepicker/useStep.d.ts +1 -1
- package/components/timepicker/useStep.js +17 -8
- package/components/timepicker/useValue.js +21 -16
- package/components/tip/index.js +2 -0
- package/components/tip/index.vdt.js +17 -5
- package/components/tip/styles.js +3 -0
- package/components/tooltip/content.js +28 -0
- package/components/tooltip/content.vdt.js +25 -15
- package/components/tooltip/index.js +7 -3
- package/components/tooltip/index.spec.js +572 -434
- package/components/tooltip/styles.d.ts +1 -1
- package/components/tooltip/styles.js +10 -2
- package/components/tooltip/tooltip.js +15 -2
- package/components/tooltip/useArrow.js +14 -11
- package/components/transfer/index.d.ts +1 -1
- package/components/transfer/index.js +13 -1
- package/components/transfer/index.spec.js +194 -159
- package/components/transfer/index.vdt.js +34 -16
- package/components/transfer/styles.js +10 -0
- package/components/transfer/useCheck.d.ts +1 -1
- package/components/transfer/useCheck.js +15 -1
- package/components/transfer/useFilter.d.ts +1 -1
- package/components/transfer/useFilter.js +30 -9
- package/components/transfer/useTransfer.js +26 -10
- package/components/tree/index.d.ts +3 -3
- package/components/tree/index.js +22 -4
- package/components/tree/index.spec.js +355 -285
- package/components/tree/index.vdt.js +23 -12
- package/components/tree/styles.js +16 -2
- package/components/tree/useChecked.js +26 -3
- package/components/tree/useDraggable.js +42 -12
- package/components/tree/useExpanded.js +43 -26
- package/components/tree/useFilter.js +10 -3
- package/components/tree/useNodes.d.ts +1 -1
- package/components/tree/useNodes.js +4 -0
- package/components/tree/useSelected.js +38 -21
- package/components/tree/useTransitionEvent.js +5 -3
- package/components/treeSelect/index.d.ts +27 -0
- package/components/treeSelect/index.js +36 -9
- package/components/treeSelect/index.spec.js +160 -123
- package/components/treeSelect/index.vdt.js +20 -14
- package/components/treeSelect/styles.js +1 -0
- package/components/treeSelect/useValue.js +11 -0
- package/components/types.d.ts +3 -3
- package/components/upload/ajaxUploader.d.ts +1 -1
- package/components/upload/ajaxUploader.js +17 -0
- package/components/upload/index.d.ts +4 -4
- package/components/upload/index.js +14 -0
- package/components/upload/index.spec.js +249 -142
- package/components/upload/index.vdt.js +27 -12
- package/components/upload/styles.js +30 -0
- package/components/upload/useAccept.js +10 -2
- package/components/upload/useDrag.js +7 -0
- package/components/upload/useFiles.js +145 -103
- package/components/upload/useShowImage.js +3 -0
- package/components/upload/useUpload.js +69 -47
- package/components/utils.d.ts +3 -3
- package/components/utils.js +47 -12
- package/components/virtual.js +37 -9
- package/components/wave/index.js +31 -5
- package/hooks/useDelayClose.js +6 -2
- package/hooks/useDocumentClick.js +16 -8
- package/hooks/useDraggable.d.ts +1 -1
- package/hooks/useDraggable.js +9 -0
- package/hooks/useKeyboard.d.ts +3 -3
- package/hooks/useKeyboard.js +10 -0
- package/hooks/useMouseOutsidable.js +8 -0
- package/hooks/useReceive.d.ts +1 -1
- package/hooks/useReceive.js +4 -0
- package/hooks/useRecordComponent.js +6 -0
- package/hooks/useRouter.js +18 -7
- package/hooks/useShowHideEvents.js +3 -0
- package/hooks/useState.d.ts +2 -2
- package/hooks/useState.js +6 -2
- package/i18n/en-US.js +1 -0
- package/i18n/index.d.ts +1 -1
- package/i18n/index.js +7 -0
- package/index.d.ts +2 -2
- package/index.js +3 -2
- package/package.json +2 -2
- package/styles/global.js +3 -2
- package/styles/keyframes.js +1 -0
- package/styles/theme.d.ts +1 -1
- package/styles/theme.js +7 -4
- package/styles/utils.d.ts +1 -1
- package/styles/utils.js +17 -3
- package/yarn-error.log +218 -199
|
@@ -13,19 +13,25 @@ var typeDefs = {
|
|
|
13
13
|
hideOnSelect: Boolean,
|
|
14
14
|
_isFocus: null
|
|
15
15
|
};
|
|
16
|
+
|
|
16
17
|
var defaults = function defaults() {
|
|
17
18
|
return {
|
|
18
19
|
hideOnSelect: true
|
|
19
20
|
};
|
|
20
21
|
};
|
|
22
|
+
|
|
21
23
|
export var DropdownItem = /*#__PURE__*/function (_Component) {
|
|
22
24
|
_inheritsLoose(DropdownItem, _Component);
|
|
25
|
+
|
|
23
26
|
function DropdownItem() {
|
|
24
27
|
var _context;
|
|
28
|
+
|
|
25
29
|
var _this;
|
|
30
|
+
|
|
26
31
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
32
|
args[_key] = arguments[_key];
|
|
28
33
|
}
|
|
34
|
+
|
|
29
35
|
_this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
|
|
30
36
|
_this.parentDropdown = void 0;
|
|
31
37
|
_this.dropdown = null;
|
|
@@ -33,28 +39,35 @@ export var DropdownItem = /*#__PURE__*/function (_Component) {
|
|
|
33
39
|
_this.dropdownMenu = null;
|
|
34
40
|
return _this;
|
|
35
41
|
}
|
|
42
|
+
|
|
36
43
|
var _proto = DropdownItem.prototype;
|
|
44
|
+
|
|
37
45
|
_proto.init = function init() {
|
|
38
46
|
this.dropdown = inject(DROPDOWN);
|
|
39
47
|
this.parentDropdown = this.hasSubMenu();
|
|
40
48
|
this.dropdownMenu = inject(DROPDOWN_MENU);
|
|
41
49
|
this.keyboard = useKeyboardForDropdownItem(this);
|
|
42
50
|
};
|
|
51
|
+
|
|
43
52
|
_proto.select = function select() {
|
|
44
|
-
if (this.parentDropdown) return;
|
|
45
|
-
|
|
53
|
+
if (this.parentDropdown) return; // trigger select event firstly for Cascader update values
|
|
54
|
+
|
|
46
55
|
this.trigger('select');
|
|
56
|
+
|
|
47
57
|
if (this.get('hideOnSelect')) {
|
|
48
58
|
// hide all dropdowns
|
|
49
59
|
var dropdown = this.dropdown;
|
|
60
|
+
|
|
50
61
|
do {
|
|
51
62
|
dropdown.hide(true);
|
|
52
63
|
} while (dropdown = dropdown.dropdown);
|
|
53
64
|
}
|
|
54
65
|
};
|
|
66
|
+
|
|
55
67
|
_proto.hasSubMenu = function hasSubMenu() {
|
|
56
68
|
// wrapped by Dropdown rather than DropdownMenu
|
|
57
69
|
var parent = this.$senior;
|
|
70
|
+
|
|
58
71
|
while (parent) {
|
|
59
72
|
// Tooltip extends Dropdown, it's also a instance of Dropdown
|
|
60
73
|
// so use constructor to detect
|
|
@@ -62,37 +75,45 @@ export var DropdownItem = /*#__PURE__*/function (_Component) {
|
|
|
62
75
|
if (parent.constructor === ExportDropdownMenu) {
|
|
63
76
|
return;
|
|
64
77
|
}
|
|
78
|
+
|
|
65
79
|
if (parent.constructor === ExportDropdown) {
|
|
66
80
|
return parent;
|
|
67
81
|
}
|
|
82
|
+
|
|
68
83
|
parent = parent.$senior;
|
|
69
84
|
}
|
|
70
85
|
};
|
|
86
|
+
|
|
71
87
|
_proto.onClick = function onClick(e) {
|
|
72
|
-
if (this.get('disabled')) return;
|
|
73
|
-
// Some cases, the item may been removed after click immediately
|
|
88
|
+
if (this.get('disabled')) return; // Some cases, the item may been removed after click immediately
|
|
74
89
|
// and the menu will hide, because it can't detect it contains
|
|
75
90
|
// the removed item.
|
|
76
91
|
// Set the ignore flag to prevent menu from hidding
|
|
77
92
|
//
|
|
78
93
|
// @Change Cascader need click item to toggle show an hide
|
|
79
94
|
// (e as IgnoreClickEvent)._ignore = true;
|
|
95
|
+
|
|
80
96
|
this.trigger('click', e);
|
|
81
97
|
this.select();
|
|
82
98
|
};
|
|
99
|
+
|
|
83
100
|
return DropdownItem;
|
|
84
101
|
}(Component);
|
|
85
102
|
DropdownItem.template = template;
|
|
86
103
|
DropdownItem.typeDefs = typeDefs;
|
|
87
104
|
DropdownItem.defaults = defaults;
|
|
105
|
+
|
|
88
106
|
__decorate([bind], DropdownItem.prototype, "onClick", null);
|
|
107
|
+
|
|
89
108
|
function useKeyboardForDropdownItem(instance) {
|
|
90
109
|
var dropdownMenu = inject(DROPDOWN_MENU);
|
|
110
|
+
|
|
91
111
|
var showMenu = function showMenu() {
|
|
92
112
|
if (instance.parentDropdown) {
|
|
93
113
|
instance.parentDropdown.show(true);
|
|
94
114
|
}
|
|
95
115
|
};
|
|
116
|
+
|
|
96
117
|
return useItemKeyboard({
|
|
97
118
|
onShowMenu: showMenu,
|
|
98
119
|
onHideMenu: function onHideMenu() {
|
|
@@ -4,15 +4,18 @@ import { getRestProps } from '../utils';
|
|
|
4
4
|
import { makeItemStyles } from './styles';
|
|
5
5
|
export default function ($props, $blocks, $__proto__) {
|
|
6
6
|
var _classNameObj;
|
|
7
|
+
|
|
7
8
|
$blocks || ($blocks = {});
|
|
8
9
|
$props || ($props = {});
|
|
9
10
|
var $this = this;
|
|
11
|
+
|
|
10
12
|
var _this$get = this.get(),
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
children = _this$get.children,
|
|
14
|
+
disabled = _this$get.disabled,
|
|
15
|
+
className = _this$get.className,
|
|
16
|
+
hideOnSelect = _this$get.hideOnSelect,
|
|
17
|
+
_isFocus = _this$get._isFocus;
|
|
18
|
+
|
|
16
19
|
var classNameObj = (_classNameObj = {
|
|
17
20
|
'k-dropdown-item': true,
|
|
18
21
|
'k-disabled': disabled
|
|
@@ -12,12 +12,16 @@ import { usePositionForDropdownMenu } from './usePosition';
|
|
|
12
12
|
export var DROPDOWN_MENU = 'DropdownMenu';
|
|
13
13
|
export var DropdownMenu = /*#__PURE__*/function (_Component) {
|
|
14
14
|
_inheritsLoose(DropdownMenu, _Component);
|
|
15
|
+
|
|
15
16
|
function DropdownMenu() {
|
|
16
17
|
var _context;
|
|
18
|
+
|
|
17
19
|
var _this;
|
|
20
|
+
|
|
18
21
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19
22
|
args[_key] = arguments[_key];
|
|
20
23
|
}
|
|
24
|
+
|
|
21
25
|
_this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
|
|
22
26
|
_this.elementRef = createRef();
|
|
23
27
|
_this.dropdown = inject(DROPDOWN);
|
|
@@ -27,56 +31,69 @@ export var DropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
27
31
|
});
|
|
28
32
|
return _this;
|
|
29
33
|
}
|
|
34
|
+
|
|
30
35
|
var _proto = DropdownMenu.prototype;
|
|
36
|
+
|
|
31
37
|
_proto.init = function init() {
|
|
32
38
|
provide(DROPDOWN_MENU, this);
|
|
33
39
|
useMouseOutsidable(this.elementRef);
|
|
34
40
|
usePositionForDropdownMenu();
|
|
35
|
-
}
|
|
36
|
-
// no matter what the trigger is, we should show menu when enter into it.
|
|
41
|
+
} // no matter what the trigger is, we should show menu when enter into it.
|
|
37
42
|
;
|
|
43
|
+
|
|
38
44
|
_proto.onMouseEnter = function onMouseEnter(e) {
|
|
39
45
|
var dropdown = this.dropdown;
|
|
40
46
|
dropdown.show();
|
|
41
47
|
dropdown.trigger('mouseenter', e);
|
|
42
48
|
};
|
|
49
|
+
|
|
43
50
|
_proto.onMouseLeave = function onMouseLeave(e) {
|
|
44
51
|
var dropdown = this.dropdown;
|
|
45
52
|
dropdown.hide();
|
|
46
53
|
dropdown.trigger('mouseleave', e);
|
|
47
54
|
};
|
|
55
|
+
|
|
48
56
|
return DropdownMenu;
|
|
49
57
|
}(Component);
|
|
50
58
|
DropdownMenu.template = template;
|
|
59
|
+
|
|
51
60
|
__decorate([bind], DropdownMenu.prototype, "onMouseEnter", null);
|
|
61
|
+
|
|
52
62
|
__decorate([bind], DropdownMenu.prototype, "onMouseLeave", null);
|
|
63
|
+
|
|
53
64
|
function useKeyboardForDropdownMenu(dropdown) {
|
|
54
65
|
var parentDropdownMenu = inject(DROPDOWN_MENU, null);
|
|
66
|
+
|
|
55
67
|
var _useMenuKeyboard = useMenuKeyboard(),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
_useMenuKeyboard$ = _useMenuKeyboard[0],
|
|
69
|
+
addKeydown = _useMenuKeyboard$[0],
|
|
70
|
+
removeKeydown = _useMenuKeyboard$[1],
|
|
71
|
+
lock = _useMenuKeyboard$[2],
|
|
72
|
+
focusByIndex = _useMenuKeyboard[1],
|
|
73
|
+
reset = _useMenuKeyboard[2];
|
|
74
|
+
|
|
62
75
|
var onShow = function onShow() {
|
|
63
|
-
addKeydown();
|
|
64
|
-
|
|
76
|
+
addKeydown(); // lock parent dropdown menu, prevent it from operating by keyboard
|
|
77
|
+
|
|
65
78
|
parentDropdownMenu && parentDropdownMenu.keyboard.lock(true);
|
|
66
79
|
};
|
|
80
|
+
|
|
67
81
|
var onHide = function onHide() {
|
|
68
82
|
reset();
|
|
69
83
|
removeKeydown();
|
|
70
84
|
parentDropdownMenu && parentDropdownMenu.keyboard.lock(false);
|
|
71
85
|
};
|
|
86
|
+
|
|
72
87
|
var focus = function focus() {
|
|
73
88
|
return focusByIndex(0);
|
|
74
|
-
};
|
|
75
|
-
// In Cascader the menu may have been replaced by another menu, in this case,
|
|
89
|
+
}; // In Cascader the menu may have been replaced by another menu, in this case,
|
|
76
90
|
// if the dropdown has showed while we mounted the menu, add keydown listener
|
|
91
|
+
|
|
92
|
+
|
|
77
93
|
if (dropdown.get('value')) {
|
|
78
94
|
onShow();
|
|
79
95
|
}
|
|
96
|
+
|
|
80
97
|
dropdown.on('show', onShow);
|
|
81
98
|
dropdown.on('hide', onHide);
|
|
82
99
|
dropdown.on('shouldFocus', focus);
|
|
@@ -4,24 +4,30 @@ import { Transition } from 'intact';
|
|
|
4
4
|
import { makeMenuStyles } from './styles';
|
|
5
5
|
export default function ($props, $blocks, $__proto__) {
|
|
6
6
|
var _classNameObj;
|
|
7
|
+
|
|
7
8
|
$blocks || ($blocks = {});
|
|
8
9
|
$props || ($props = {});
|
|
9
10
|
var $this = this;
|
|
10
11
|
var _$blocks = {};
|
|
11
12
|
var __$blocks = {};
|
|
13
|
+
|
|
12
14
|
var _this$dropdown$get = this.dropdown.get(),
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
value = _this$dropdown$get.value,
|
|
16
|
+
trigger = _this$dropdown$get.trigger,
|
|
17
|
+
container = _this$dropdown$get.container;
|
|
18
|
+
|
|
16
19
|
var _this$get = this.get(),
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
children = _this$get.children,
|
|
21
|
+
className = _this$get.className;
|
|
22
|
+
|
|
19
23
|
var classNameObj = (_classNameObj = {
|
|
20
24
|
'k-dropdown-menu': true
|
|
21
25
|
}, _classNameObj[className] = className, _classNameObj[$props.className] = $props.className, _classNameObj[makeMenuStyles()] = true, _classNameObj);
|
|
26
|
+
|
|
22
27
|
var transition = $props.transition || _extends({
|
|
23
28
|
css: false
|
|
24
29
|
}, this.transition);
|
|
30
|
+
|
|
25
31
|
return _$cc(Transition, _extends({
|
|
26
32
|
'show': 'value' in $props ? $props.value : !!value,
|
|
27
33
|
'appear': true
|
|
@@ -30,9 +36,11 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
30
36
|
return children;
|
|
31
37
|
}, __$blocks['children'] = function ($super, data) {
|
|
32
38
|
var block = $blocks['children'];
|
|
39
|
+
|
|
33
40
|
var callBlock = function callBlock() {
|
|
34
41
|
return _$blocks['children'].call($this, $super, data);
|
|
35
42
|
};
|
|
43
|
+
|
|
36
44
|
return block ? block.call($this, callBlock, data) : callBlock();
|
|
37
45
|
}, __$blocks['children'](_$no)), 0, _$cn(classNameObj), {
|
|
38
46
|
'ev-mouseenter': this.onMouseEnter,
|
|
@@ -7,30 +7,39 @@ var defaults = {
|
|
|
7
7
|
get height() {
|
|
8
8
|
return theme.default.height;
|
|
9
9
|
},
|
|
10
|
+
|
|
10
11
|
get padding() {
|
|
11
12
|
return "0 " + theme.default.padding;
|
|
12
13
|
},
|
|
14
|
+
|
|
13
15
|
get hoverBgColor() {
|
|
14
16
|
return theme.color.bg;
|
|
15
17
|
},
|
|
18
|
+
|
|
16
19
|
// disabled
|
|
17
20
|
get disabledBgColor() {
|
|
18
21
|
return theme.color.disabledBg;
|
|
19
22
|
},
|
|
23
|
+
|
|
20
24
|
get disabledColor() {
|
|
21
25
|
return theme.color.disabled;
|
|
22
26
|
}
|
|
27
|
+
|
|
23
28
|
},
|
|
24
29
|
menu: {
|
|
25
30
|
minWidth: '100px',
|
|
26
31
|
bgColor: '#fff',
|
|
32
|
+
|
|
27
33
|
get borderRadius() {
|
|
28
34
|
return theme.borderRadius;
|
|
29
35
|
},
|
|
36
|
+
|
|
30
37
|
fontSize: '12px',
|
|
38
|
+
|
|
31
39
|
get zIndex() {
|
|
32
40
|
return theme.midZIndex;
|
|
33
41
|
}
|
|
42
|
+
|
|
34
43
|
}
|
|
35
44
|
};
|
|
36
45
|
var dropdown;
|
|
@@ -10,11 +10,11 @@ export declare enum Direction {
|
|
|
10
10
|
Up = 0,
|
|
11
11
|
Down = 1
|
|
12
12
|
}
|
|
13
|
-
export type MenuKeyboardMethods = {
|
|
13
|
+
export declare type MenuKeyboardMethods = {
|
|
14
14
|
reset: () => void;
|
|
15
15
|
focus: (item: DropdownItem) => void;
|
|
16
16
|
};
|
|
17
|
-
export declare function useMenuKeyboard(): readonly [readonly [() => void, () => void, (v: boolean) => boolean], (index: number, direction?: Direction) => void, () => void];
|
|
17
|
+
export declare function useMenuKeyboard(): readonly [readonly [() => void, () => void, (v: boolean) => boolean], (index: number, direction?: Direction | undefined) => void, () => void];
|
|
18
18
|
export declare function useItemKeyboard(itemEvents: Omit<ItemEvents, 'onFocusin' | 'onFocusout'>): {
|
|
19
19
|
onMouseEnter(e: MouseEvent): void;
|
|
20
20
|
onMouseLeave(e: MouseEvent): void;
|
|
@@ -4,34 +4,39 @@ import { useRecordParent, useRecordItem } from '../../hooks/useRecordComponent';
|
|
|
4
4
|
import { useKeyboard } from '../../hooks/useKeyboard';
|
|
5
5
|
import { useState } from '../../hooks/useState';
|
|
6
6
|
import { isComponentVNode } from '../utils';
|
|
7
|
-
import { DropdownItem } from './item';
|
|
8
|
-
// can not import DropdownMenu from index.ts, otherwise it will cause circle reference
|
|
7
|
+
import { DropdownItem } from './item'; // can not import DropdownMenu from index.ts, otherwise it will cause circle reference
|
|
9
8
|
// import {DropdownMenu} from './';
|
|
9
|
+
|
|
10
10
|
import { DropdownMenu } from './menu';
|
|
11
11
|
export var Direction;
|
|
12
|
+
|
|
12
13
|
(function (Direction) {
|
|
13
14
|
Direction[Direction["Up"] = 0] = "Up";
|
|
14
15
|
Direction[Direction["Down"] = 1] = "Down";
|
|
15
16
|
})(Direction || (Direction = {}));
|
|
17
|
+
|
|
16
18
|
var ITEM_EVENTS = 'ItemEvents';
|
|
17
19
|
var MENU_KEYBOARD = 'MenuKeyboard';
|
|
18
20
|
export function useMenuKeyboard() {
|
|
19
21
|
var items = [];
|
|
20
22
|
var itemEvents = useRecordParent(ITEM_EVENTS, true);
|
|
21
23
|
var instance = useInstance();
|
|
22
|
-
var focusIndex = -1;
|
|
23
|
-
// we can't use the way that DropdownItem push itself to DropdownMenu to collect the items
|
|
24
|
+
var focusIndex = -1; // we can't use the way that DropdownItem push itself to DropdownMenu to collect the items
|
|
24
25
|
// because it can't guarantee the order
|
|
26
|
+
|
|
25
27
|
function collect() {
|
|
26
28
|
items.length = 0;
|
|
27
29
|
var children = instance.$lastInput;
|
|
30
|
+
|
|
28
31
|
var loop = function loop(vNode) {
|
|
29
32
|
if (isComponentVNode(vNode, DropdownItem)) {
|
|
30
33
|
items.push(vNode.children);
|
|
31
34
|
} else {
|
|
32
35
|
var _children = vNode.children;
|
|
36
|
+
|
|
33
37
|
if (isComponentClass(vNode)) {
|
|
34
38
|
var tag = vNode.tag;
|
|
39
|
+
|
|
35
40
|
if (tag !== DropdownMenu && !(tag.prototype instanceof DropdownMenu)) {
|
|
36
41
|
loop(_children.$lastInput);
|
|
37
42
|
}
|
|
@@ -44,9 +49,11 @@ export function useMenuKeyboard() {
|
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
51
|
};
|
|
52
|
+
|
|
47
53
|
loop(children);
|
|
48
54
|
return children;
|
|
49
55
|
}
|
|
56
|
+
|
|
50
57
|
onMounted(collect);
|
|
51
58
|
var oldFocusIndex;
|
|
52
59
|
onBeforeUpdate(function () {
|
|
@@ -58,43 +65,52 @@ export function useMenuKeyboard() {
|
|
|
58
65
|
if (oldFocusIndex < 0) return;
|
|
59
66
|
focusByIndex(oldFocusIndex, Direction.Up);
|
|
60
67
|
});
|
|
68
|
+
|
|
61
69
|
function next(e) {
|
|
62
70
|
e.preventDefault();
|
|
63
71
|
focusByIndex(focusIndex + 1, Direction.Down);
|
|
64
72
|
}
|
|
73
|
+
|
|
65
74
|
function prev(e) {
|
|
66
75
|
e.preventDefault();
|
|
67
76
|
focusByIndex(focusIndex - 1, Direction.Up);
|
|
68
77
|
}
|
|
78
|
+
|
|
69
79
|
function focusByIndex(index, direction) {
|
|
70
80
|
var max = items.length - 1;
|
|
71
81
|
index = fixIndex(index, max);
|
|
72
82
|
reset();
|
|
73
83
|
var item = items[index];
|
|
74
84
|
var i = 0;
|
|
85
|
+
|
|
75
86
|
while (i <= max && item && item.get('disabled')) {
|
|
76
87
|
index = fixIndex(direction === Direction.Down ? index + 1 : index - 1, max);
|
|
77
88
|
item = items[index];
|
|
78
89
|
i++;
|
|
79
|
-
}
|
|
80
|
-
|
|
90
|
+
} // all items are disabled
|
|
91
|
+
|
|
92
|
+
|
|
81
93
|
if (i > max) return;
|
|
82
94
|
focusIndex = index;
|
|
83
95
|
focusItem(item);
|
|
84
96
|
}
|
|
97
|
+
|
|
85
98
|
function focusItem(item) {
|
|
86
99
|
itemEvents.get(item).onFocusin();
|
|
87
100
|
var el = findDomFromVNode(item.$lastInput, true);
|
|
88
101
|
var menuEl = findDomFromVNode(instance.$vNode, false);
|
|
89
102
|
scrollToView(el, menuEl);
|
|
90
103
|
}
|
|
104
|
+
|
|
91
105
|
function reset() {
|
|
92
106
|
var item = items[focusIndex];
|
|
107
|
+
|
|
93
108
|
if (focusIndex > -1 && item) {
|
|
94
109
|
itemEvents.get(item).onFocusout();
|
|
95
110
|
focusIndex = -1;
|
|
96
111
|
}
|
|
97
112
|
}
|
|
113
|
+
|
|
98
114
|
function makeEventCall(name) {
|
|
99
115
|
return function (e) {
|
|
100
116
|
if (focusIndex < 0) return;
|
|
@@ -102,12 +118,13 @@ export function useMenuKeyboard() {
|
|
|
102
118
|
itemEvents.get(items[focusIndex])[name]();
|
|
103
119
|
};
|
|
104
120
|
}
|
|
121
|
+
|
|
105
122
|
provide(MENU_KEYBOARD, {
|
|
106
123
|
reset: reset,
|
|
107
124
|
focus: function focus(item) {
|
|
108
125
|
// reset();
|
|
109
|
-
var index = items.indexOf(item);
|
|
110
|
-
|
|
126
|
+
var index = items.indexOf(item); // if (index === -1) debugger
|
|
127
|
+
|
|
111
128
|
focusIndex = index;
|
|
112
129
|
focusItem(item);
|
|
113
130
|
}
|
|
@@ -145,26 +162,31 @@ export function useItemKeyboard(itemEvents) {
|
|
|
145
162
|
isFocus: isFocus
|
|
146
163
|
};
|
|
147
164
|
}
|
|
165
|
+
|
|
148
166
|
function fixIndex(index, max) {
|
|
149
167
|
if (index > max) {
|
|
150
168
|
index = 0;
|
|
151
169
|
} else if (index < 0) {
|
|
152
170
|
index = max;
|
|
153
171
|
}
|
|
172
|
+
|
|
154
173
|
return index;
|
|
155
174
|
}
|
|
175
|
+
|
|
156
176
|
function scrollToView(el, menuEl) {
|
|
157
177
|
var elRect = el.getBoundingClientRect();
|
|
158
178
|
var pEl = getScrollParent(el.parentElement, menuEl);
|
|
159
179
|
var pElRect = pEl.getBoundingClientRect();
|
|
160
180
|
var bottomOverflowDistance = elRect.bottom - pElRect.bottom;
|
|
161
181
|
var topOverflowDistance = elRect.top - pElRect.top;
|
|
182
|
+
|
|
162
183
|
if (bottomOverflowDistance > 0) {
|
|
163
184
|
pEl.scrollTop += bottomOverflowDistance;
|
|
164
185
|
} else if (topOverflowDistance < 0) {
|
|
165
186
|
pEl.scrollTop += topOverflowDistance;
|
|
166
187
|
}
|
|
167
188
|
}
|
|
189
|
+
|
|
168
190
|
function getScrollParent(node, breakEl) {
|
|
169
191
|
if (node === breakEl || node.scrollHeight > node.clientHeight) return node;
|
|
170
192
|
return getScrollParent(node.parentElement, breakEl);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Feedback } from '../position';
|
|
2
|
-
export type FeedbackCallback = (feedback: Feedback) => void;
|
|
2
|
+
export declare type FeedbackCallback = (feedback: Feedback) => void;
|
|
3
3
|
export declare function usePosition(): {
|
|
4
4
|
handle: (callback: FeedbackCallback) => void;
|
|
5
5
|
positioned: {
|
|
@@ -15,31 +15,29 @@ export function usePosition() {
|
|
|
15
15
|
});
|
|
16
16
|
['of', 'position'].forEach(function (item) {
|
|
17
17
|
instance.watch(item, function (newValue, oldValue) {
|
|
18
|
-
if (!instance.get('value') ||
|
|
19
|
-
|
|
20
|
-
isObject(newValue) && isObject(oldValue) &&
|
|
21
|
-
// is not event object
|
|
18
|
+
if (!instance.get('value') || // return if object is the same
|
|
19
|
+
isObject(newValue) && isObject(oldValue) && // is not event object
|
|
22
20
|
!(newValue instanceof Event) && isEqualObject(newValue, oldValue)) return;
|
|
23
21
|
handle(noop);
|
|
24
22
|
}, {
|
|
25
23
|
presented: true,
|
|
26
24
|
inited: true
|
|
27
25
|
});
|
|
28
|
-
});
|
|
29
|
-
|
|
26
|
+
}); // watch container, it is not commonly used
|
|
27
|
+
|
|
30
28
|
instance.watch('container', function (newValue, oldValue) {
|
|
31
|
-
if (!instance.get('value') ||
|
|
32
|
-
// return if function is the same. Not rigorous!
|
|
29
|
+
if (!instance.get('value') || // return if function is the same. Not rigorous!
|
|
33
30
|
isFunction(newValue) && isFunction(oldValue) && newValue.toString() === oldValue.toString()) return;
|
|
34
31
|
handle(noop);
|
|
35
32
|
}, {
|
|
36
33
|
presented: true,
|
|
37
34
|
inited: true
|
|
38
|
-
});
|
|
39
|
-
|
|
35
|
+
}); // if the dropdown is nested, we must show child after parent has positioned
|
|
36
|
+
|
|
40
37
|
function p(ofElement, parentFeedback) {
|
|
41
38
|
var feedback;
|
|
42
39
|
var pos = instance.get('position');
|
|
40
|
+
|
|
43
41
|
switch (pos) {
|
|
44
42
|
case 'left':
|
|
45
43
|
case 'left':
|
|
@@ -48,18 +46,21 @@ export function usePosition() {
|
|
|
48
46
|
at: 'left center'
|
|
49
47
|
};
|
|
50
48
|
break;
|
|
49
|
+
|
|
51
50
|
case 'bottom':
|
|
52
51
|
pos = {
|
|
53
52
|
my: 'center top+10',
|
|
54
53
|
at: 'center bottom'
|
|
55
54
|
};
|
|
56
55
|
break;
|
|
56
|
+
|
|
57
57
|
case 'right':
|
|
58
58
|
pos = {
|
|
59
59
|
my: 'left+10 center',
|
|
60
60
|
at: 'right center'
|
|
61
61
|
};
|
|
62
62
|
break;
|
|
63
|
+
|
|
63
64
|
case 'top':
|
|
64
65
|
pos = {
|
|
65
66
|
my: 'center bottom-10',
|
|
@@ -67,6 +68,7 @@ export function usePosition() {
|
|
|
67
68
|
};
|
|
68
69
|
break;
|
|
69
70
|
}
|
|
71
|
+
|
|
70
72
|
position(findDomFromVNode(instance.menuVNode, true), _extends({
|
|
71
73
|
my: 'left top+8',
|
|
72
74
|
at: 'left bottom',
|
|
@@ -81,26 +83,32 @@ export function usePosition() {
|
|
|
81
83
|
instance.trigger('positioned', parentFeedback || feedback);
|
|
82
84
|
return parentFeedback || feedback;
|
|
83
85
|
}
|
|
86
|
+
|
|
84
87
|
function handle(callback) {
|
|
85
88
|
var _of = instance.get('of');
|
|
89
|
+
|
|
86
90
|
if (_of === 'parent') {
|
|
87
91
|
var parent = instance.dropdown;
|
|
92
|
+
|
|
88
93
|
if (process.env.NODE_ENV !== 'production') {
|
|
89
94
|
if (!parent) {
|
|
90
95
|
throw new Error('The dropdown has not parent, so you can not use `parent` as `of`.');
|
|
91
96
|
}
|
|
92
97
|
}
|
|
98
|
+
|
|
93
99
|
var ofElement = findDomFromVNode(parent.menuVNode, true);
|
|
100
|
+
|
|
94
101
|
if (parent.positionHook.positioned.value) {
|
|
95
102
|
callback(p(ofElement, null));
|
|
96
103
|
} else {
|
|
97
104
|
// wait the parent has positioned
|
|
98
105
|
var fn = function fn(feedback) {
|
|
99
|
-
parent.off('positioned', fn);
|
|
100
|
-
// let the child menu has the same transtion with parent menu,
|
|
106
|
+
parent.off('positioned', fn); // let the child menu has the same transtion with parent menu,
|
|
101
107
|
// when them show together
|
|
108
|
+
|
|
102
109
|
callback(p(ofElement, feedback));
|
|
103
110
|
};
|
|
111
|
+
|
|
104
112
|
parent.on('positioned', fn);
|
|
105
113
|
}
|
|
106
114
|
} else if (_of === 'self') {
|
|
@@ -109,6 +117,7 @@ export function usePosition() {
|
|
|
109
117
|
callback(p(_of, null));
|
|
110
118
|
}
|
|
111
119
|
}
|
|
120
|
+
|
|
112
121
|
return {
|
|
113
122
|
handle: handle,
|
|
114
123
|
positioned: positioned
|
|
@@ -121,6 +130,7 @@ export function usePositionForDropdownMenu() {
|
|
|
121
130
|
* so, we must reset the positioned.value beforeUnmount
|
|
122
131
|
* #956
|
|
123
132
|
*/
|
|
133
|
+
|
|
124
134
|
onBeforeUnmount(function () {
|
|
125
135
|
instance.dropdown.positionHook.positioned.value = false;
|
|
126
136
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { addTransitionClass, removeTransitionClass, whenTransitionEnds } from 'intact-react';
|
|
2
2
|
export function useTransition(getFeedback) {
|
|
3
3
|
var transition = 'k-slidedown';
|
|
4
|
+
|
|
4
5
|
function onEnter(el, done) {
|
|
5
6
|
getFeedback(function (feedback) {
|
|
6
7
|
transition = getTransition(feedback);
|
|
@@ -16,9 +17,11 @@ export function useTransition(getFeedback) {
|
|
|
16
17
|
});
|
|
17
18
|
});
|
|
18
19
|
}
|
|
20
|
+
|
|
19
21
|
function onEnterCancelled(el) {
|
|
20
22
|
removeTransitionClass(el, transition + "-enter-active");
|
|
21
23
|
}
|
|
24
|
+
|
|
22
25
|
function onLeave(el, done) {
|
|
23
26
|
// maybe the position has changed, so we re-get it
|
|
24
27
|
getFeedback(function (feedback) {
|
|
@@ -31,10 +34,12 @@ export function useTransition(getFeedback) {
|
|
|
31
34
|
});
|
|
32
35
|
});
|
|
33
36
|
}
|
|
37
|
+
|
|
34
38
|
function onLeaveCancelled(el) {
|
|
35
39
|
removeTransitionClass(el, transition + "-leave-to");
|
|
36
40
|
removeTransitionClass(el, transition + "-leave-active");
|
|
37
41
|
}
|
|
42
|
+
|
|
38
43
|
return {
|
|
39
44
|
onEnter: onEnter,
|
|
40
45
|
onEnterCancelled: onEnterCancelled,
|
|
@@ -42,9 +47,11 @@ export function useTransition(getFeedback) {
|
|
|
42
47
|
onLeaveCancelled: onLeaveCancelled
|
|
43
48
|
};
|
|
44
49
|
}
|
|
50
|
+
|
|
45
51
|
function getTransition(feedback) {
|
|
46
52
|
var horizontal = feedback.horizontal;
|
|
47
53
|
var vertical = feedback.vertical;
|
|
54
|
+
|
|
48
55
|
if (feedback.important === 'horizontal') {
|
|
49
56
|
if (horizontal === 'left') {
|
|
50
57
|
return 'k-slideright';
|
|
@@ -66,5 +73,6 @@ function getTransition(feedback) {
|
|
|
66
73
|
return 'k-slideleft';
|
|
67
74
|
}
|
|
68
75
|
}
|
|
76
|
+
|
|
69
77
|
return 'k-slidedown';
|
|
70
78
|
}
|