@qsxy/element-plus-react 1.0.2 → 2.0.0
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/dist/Affix/Affix.d.ts +4 -0
- package/dist/Affix/Affix.js +301 -0
- package/dist/Affix/index.d.ts +2 -0
- package/dist/Affix/index.js +1 -0
- package/dist/Affix/typings.d.ts +50 -0
- package/dist/Affix/typings.js +1 -0
- package/dist/Alert/Alert.d.ts +7 -0
- package/dist/Alert/Alert.js +98 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +1 -0
- package/dist/Alert/typings.d.ts +45 -0
- package/dist/Alert/typings.js +1 -0
- package/dist/Anchor/Anchor.d.ts +6 -0
- package/dist/Anchor/Anchor.js +258 -0
- package/dist/Anchor/AnchorLink.d.ts +4 -0
- package/dist/Anchor/AnchorLink.js +77 -0
- package/dist/Anchor/element.d.ts +4 -0
- package/dist/Anchor/element.js +17 -0
- package/dist/Anchor/index.d.ts +3 -0
- package/dist/Anchor/index.js +2 -0
- package/dist/Anchor/typings.d.ts +101 -0
- package/dist/Anchor/typings.js +1 -0
- package/dist/Backtop/Backtop.d.ts +7 -0
- package/dist/Backtop/Backtop.js +153 -0
- package/dist/Backtop/index.d.ts +2 -0
- package/dist/Backtop/index.js +1 -0
- package/dist/Backtop/typings.d.ts +31 -0
- package/dist/Backtop/typings.js +1 -0
- package/dist/Button/Button.d.ts +2 -11
- package/dist/Button/Button.js +2 -6
- package/dist/Button/index.d.ts +1 -1
- package/dist/Calendar/Calendar.js +12 -8
- package/dist/Calendar/YearRangePanel.js +1 -1
- package/dist/Card/Card.js +5 -3
- package/dist/Carousel/typings.d.ts +1 -1
- package/dist/Cascader/Cascader.d.ts +3 -3
- package/dist/Cascader/Cascader.js +238 -166
- package/dist/Cascader/CascaderContext.d.ts +9 -3
- package/dist/Cascader/CascaderContext.js +3 -1
- package/dist/Cascader/CascaderDropdown.d.ts +4 -3
- package/dist/Cascader/CascaderDropdown.js +21 -10
- package/dist/Cascader/CascaderMenu.d.ts +2 -2
- package/dist/Cascader/CascaderMenu.js +56 -14
- package/dist/Cascader/CascaderPanel.d.ts +4 -0
- package/dist/Cascader/CascaderPanel.js +11 -0
- package/dist/Cascader/index.d.ts +4 -1
- package/dist/Cascader/index.js +2 -1
- package/dist/Cascader/typings.d.ts +45 -31
- package/dist/Cascader/useCascader.d.ts +14 -27
- package/dist/Cascader/useCascader.js +153 -59
- package/dist/Checkbox/Checkbox.js +3 -2
- package/dist/CheckboxGroup/CheckboxGroup.d.ts +11 -1
- package/dist/CheckboxGroup/CheckboxGroup.js +78 -19
- package/dist/Collapse/Collapse.d.ts +3 -3
- package/dist/Collapse/Collapse.js +71 -16
- package/dist/Collapse/CollapseContext.d.ts +3 -6
- package/dist/Collapse/CollapseContext.js +2 -4
- package/dist/Collapse/CollapseItem.d.ts +3 -3
- package/dist/Collapse/CollapseItem.js +93 -51
- package/dist/Collapse/CollapseTransition.js +11 -7
- package/dist/Collapse/index.d.ts +1 -1
- package/dist/Collapse/typings.d.ts +20 -5
- package/dist/ColorPicker/typings.d.ts +1 -1
- package/dist/ConfigProvider/ConfigProvider.js +2 -24
- package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
- package/dist/ConfigProvider/typings.d.ts +1 -1
- package/dist/Container/Main.d.ts +1 -1
- package/dist/Container/typings.d.ts +1 -1
- package/dist/Countdown/Countdown.d.ts +4 -0
- package/dist/Countdown/Countdown.js +121 -0
- package/dist/Countdown/index.d.ts +2 -0
- package/dist/Countdown/index.js +1 -0
- package/dist/Countdown/typings.d.ts +52 -0
- package/dist/Countdown/typings.js +1 -0
- package/dist/Countdown/util.d.ts +14 -0
- package/dist/Countdown/util.js +58 -0
- package/dist/DatePicker/DatePicker.js +9 -6
- package/dist/DatePicker/DateRangePicker.js +7 -6
- package/dist/DatePicker/typings.d.ts +0 -13
- package/dist/DateTimePicker/DateTimePicker.js +29 -19
- package/dist/Dialog/Dialog.d.ts +2 -13
- package/dist/Dialog/Dialog.js +143 -160
- package/dist/Dialog/DialogBody.js +3 -38
- package/dist/Dialog/DialogContext.d.ts +0 -7
- package/dist/Dialog/DialogContext.js +1 -5
- package/dist/Dialog/DialogHeader.js +2 -2
- package/dist/Dialog/typings.d.ts +43 -28
- package/dist/Dialog/useDraggable.d.ts +2 -1
- package/dist/Dialog/useDraggable.js +34 -9
- package/dist/Drawer/Drawer.d.ts +2 -13
- package/dist/Drawer/Drawer.js +115 -137
- package/dist/Drawer/DrawerBody.js +7 -8
- package/dist/Drawer/DrawerFooter.js +7 -7
- package/dist/Drawer/DrawerHeader.js +11 -8
- package/dist/Drawer/typings.d.ts +22 -6
- package/dist/Dropdown/Dropdown.js +5 -3
- package/dist/Dropdown/typings.d.ts +2 -1
- package/dist/Empty/Empty.js +16 -4
- package/dist/Form/Form.d.ts +4 -21
- package/dist/Form/Form.js +53 -25
- package/dist/Form/FormItem.d.ts +4 -52
- package/dist/Form/FormItem.js +633 -650
- package/dist/Form/FormItemContext.d.ts +10 -1
- package/dist/Form/FormItemContext.js +9 -1
- package/dist/Form/FormLabelWrap.d.ts +8 -0
- package/dist/Form/FormLabelWrap.js +103 -0
- package/dist/Form/{FieldContext.d.ts → InternalFormContext.d.ts} +2 -2
- package/dist/Form/{FieldContext.js → InternalFormContext.js} +5 -2
- package/dist/Form/List.d.ts +3 -3
- package/dist/Form/List.js +4 -4
- package/dist/Form/index.d.ts +4 -2
- package/dist/Form/index.js +4 -1
- package/dist/Form/typings.d.ts +61 -9
- package/dist/Form/typings.js +15 -1
- package/dist/Form/useForm.js +3 -3
- package/dist/Form/useWatch.js +1 -1
- package/dist/Input/Input.d.ts +2 -14
- package/dist/Input/Input.js +187 -140
- package/dist/Input/InputGroup.js +1 -1
- package/dist/Input/InputRange.js +7 -11
- package/dist/Input/TextArea.d.ts +1 -1
- package/dist/Input/TextArea.js +85 -30
- package/dist/Input/index.d.ts +1 -0
- package/dist/Input/index.js +2 -1
- package/dist/Input/typings.d.ts +38 -19
- package/dist/Input/utils.d.ts +1 -0
- package/dist/Input/utils.js +5 -1
- package/dist/InputNumber/InputNumber.js +408 -147
- package/dist/InputNumber/typings.d.ts +15 -5
- package/dist/Loading/Loading.js +5 -2
- package/dist/Menu/Menu.js +26 -2
- package/dist/Menu/MenuItem.js +4 -2
- package/dist/Menu/SubMenu.js +2 -2
- package/dist/Menu/SubMenuCollapseTransition.js +14 -9
- package/dist/Menu/typings.d.ts +5 -14
- package/dist/Message/Message.js +51 -23
- package/dist/Message/index.js +13 -13
- package/dist/Message/typings.d.ts +8 -5
- package/dist/MessageBox/MessageBox.js +75 -57
- package/dist/MessageBox/index.d.ts +2 -1
- package/dist/MessageBox/index.js +4 -2
- package/dist/MessageBox/typings.d.ts +3 -1
- package/dist/Notification/Notification.js +26 -19
- package/dist/Notification/typings.d.ts +1 -1
- package/dist/PageHeader/PageHeader.d.ts +8 -0
- package/dist/PageHeader/PageHeader.js +91 -0
- package/dist/PageHeader/index.d.ts +2 -0
- package/dist/PageHeader/index.js +1 -0
- package/dist/PageHeader/typings.d.ts +34 -0
- package/dist/PageHeader/typings.js +1 -0
- package/dist/Pagination/typings.d.ts +1 -1
- package/dist/Popover/Popover.js +7 -7
- package/dist/Popover/typings.d.ts +3 -3
- package/dist/Popper/Popper.js +49 -28
- package/dist/Popper/popperOptions.js +1 -0
- package/dist/Popper/typings.d.ts +2 -0
- package/dist/Radio/Radio.d.ts +2 -12
- package/dist/Radio/Radio.js +2 -6
- package/dist/Radio/RadioButton.d.ts +1 -1
- package/dist/Radio/RadioButton.js +4 -4
- package/dist/Radio/index.d.ts +1 -0
- package/dist/Radio/index.js +2 -1
- package/dist/Radio/typings.d.ts +1 -1
- package/dist/RadioGroup/RadioGroup.js +44 -16
- package/dist/RadioGroup/typings.d.ts +10 -0
- package/dist/Segmented/Segmented.d.ts +4 -0
- package/dist/Segmented/Segmented.js +208 -0
- package/dist/Segmented/index.d.ts +2 -0
- package/dist/Segmented/index.js +1 -0
- package/dist/Segmented/typings.d.ts +20 -0
- package/dist/Segmented/typings.js +5 -0
- package/dist/Select/SelectContext.d.ts +2 -1
- package/dist/Select/SelectContext.js +2 -1
- package/dist/Select/SelectCore.js +64 -15
- package/dist/Select/SelectDropdown.js +23 -15
- package/dist/Select/index.d.ts +1 -1
- package/dist/Select/typings.d.ts +26 -17
- package/dist/Select/useSelect.d.ts +35 -18
- package/dist/Select/useSelect.js +88 -33
- package/dist/Skeleton/typings.d.ts +1 -1
- package/dist/Slider/Button.d.ts +4 -0
- package/dist/Slider/Button.js +96 -0
- package/dist/Slider/Marker.d.ts +4 -0
- package/dist/Slider/Marker.js +31 -0
- package/dist/Slider/Slider.d.ts +4 -0
- package/dist/Slider/Slider.js +263 -0
- package/dist/Slider/SliderContext.d.ts +3 -0
- package/dist/Slider/SliderContext.js +2 -0
- package/dist/Slider/hooks/index.d.ts +5 -0
- package/dist/Slider/hooks/index.js +5 -0
- package/dist/Slider/hooks/useLifecycle.d.ts +5 -0
- package/dist/Slider/hooks/useLifecycle.js +50 -0
- package/dist/Slider/hooks/useMarks.d.ts +2 -0
- package/dist/Slider/hooks/useMarks.js +49 -0
- package/dist/Slider/hooks/useSlider.d.ts +38 -0
- package/dist/Slider/hooks/useSlider.js +227 -0
- package/dist/Slider/hooks/useSliderButton.d.ts +28 -0
- package/dist/Slider/hooks/useSliderButton.js +454 -0
- package/dist/Slider/hooks/useStops.d.ts +6 -0
- package/dist/Slider/hooks/useStops.js +47 -0
- package/dist/Slider/hooks/useWatch.d.ts +3 -0
- package/dist/Slider/hooks/useWatch.js +119 -0
- package/dist/Slider/index.d.ts +2 -0
- package/dist/Slider/index.js +1 -0
- package/dist/Slider/style/css.d.ts +1 -0
- package/dist/Slider/style/css.js +1 -0
- package/dist/Slider/style/index.d.ts +1 -0
- package/dist/Slider/style/index.js +1 -0
- package/dist/Slider/typings.d.ts +122 -0
- package/dist/Slider/typings.js +1 -0
- package/dist/Space/Space.d.ts +4 -0
- package/dist/Space/Space.js +125 -0
- package/dist/Space/SpaceItem.d.ts +7 -0
- package/dist/Space/SpaceItem.js +14 -0
- package/dist/Space/index.d.ts +3 -0
- package/dist/Space/index.js +2 -0
- package/dist/Space/typings.d.ts +26 -0
- package/dist/Space/typings.js +1 -0
- package/dist/Space/useSpace.d.ts +7 -0
- package/dist/Space/useSpace.js +105 -0
- package/dist/Statistic/Statistic.d.ts +4 -0
- package/dist/Statistic/Statistic.js +91 -0
- package/dist/Statistic/index.d.ts +2 -0
- package/dist/Statistic/index.js +1 -0
- package/dist/Statistic/typings.d.ts +28 -0
- package/dist/Statistic/typings.js +1 -0
- package/dist/Steps/Step.d.ts +4 -0
- package/dist/Steps/Step.js +247 -0
- package/dist/Steps/Steps.d.ts +5 -0
- package/dist/Steps/Steps.js +116 -0
- package/dist/Steps/index.d.ts +3 -0
- package/dist/Steps/index.js +2 -0
- package/dist/Steps/typings.d.ts +119 -0
- package/dist/Steps/typings.js +1 -0
- package/dist/Switch/Switch.js +2 -2
- package/dist/Switch/typings.d.ts +0 -1
- package/dist/Table/Table.js +17 -14
- package/dist/Table/TableBody.js +4 -4
- package/dist/Table/TableCell.js +53 -28
- package/dist/Table/TableColumn.d.ts +2 -2
- package/dist/Table/TableHeader.js +2 -2
- package/dist/Table/TableHeaderCell.js +2 -2
- package/dist/Table/hooks/useResize.js +0 -2
- package/dist/Table/hooks/useTable.d.ts +1 -1
- package/dist/Table/hooks/useTable.js +15 -10
- package/dist/Table/typings.d.ts +28 -12
- package/dist/Table/util.d.ts +1 -1
- package/dist/Table/util.js +8 -65
- package/dist/TableV2/index.d.ts +10 -0
- package/dist/TableV2/index.js +7 -0
- package/dist/TableV2/src/auto-resizer.d.ts +14 -0
- package/dist/TableV2/src/auto-resizer.js +1 -0
- package/dist/TableV2/src/cell.d.ts +21 -0
- package/dist/TableV2/src/cell.js +1 -0
- package/dist/TableV2/src/components/auto-resizer.d.ts +4 -0
- package/dist/TableV2/src/components/auto-resizer.js +32 -0
- package/dist/TableV2/src/components/cell.d.ts +4 -0
- package/dist/TableV2/src/components/cell.js +22 -0
- package/dist/TableV2/src/components/expand-icon.d.ts +12 -0
- package/dist/TableV2/src/components/expand-icon.js +29 -0
- package/dist/TableV2/src/components/header-cell.d.ts +4 -0
- package/dist/TableV2/src/components/header-cell.js +23 -0
- package/dist/TableV2/src/components/header-row.d.ts +17 -0
- package/dist/TableV2/src/components/header-row.js +41 -0
- package/dist/TableV2/src/components/header.d.ts +20 -0
- package/dist/TableV2/src/components/header.js +103 -0
- package/dist/TableV2/src/components/index.d.ts +10 -0
- package/dist/TableV2/src/components/index.js +7 -0
- package/dist/TableV2/src/components/row.d.ts +19 -0
- package/dist/TableV2/src/components/row.js +206 -0
- package/dist/TableV2/src/components/sort-icon.d.ts +9 -0
- package/dist/TableV2/src/components/sort-icon.js +14 -0
- package/dist/TableV2/src/composables/index.d.ts +6 -0
- package/dist/TableV2/src/composables/index.js +6 -0
- package/dist/TableV2/src/composables/use-auto-resize.d.ts +7 -0
- package/dist/TableV2/src/composables/use-auto-resize.js +55 -0
- package/dist/TableV2/src/composables/use-columns.d.ts +21 -0
- package/dist/TableV2/src/composables/use-columns.js +119 -0
- package/dist/TableV2/src/composables/use-data.d.ts +15 -0
- package/dist/TableV2/src/composables/use-data.js +62 -0
- package/dist/TableV2/src/composables/use-row.d.ts +34 -0
- package/dist/TableV2/src/composables/use-row.js +191 -0
- package/dist/TableV2/src/composables/use-scrollbar.d.ts +25 -0
- package/dist/TableV2/src/composables/use-scrollbar.js +117 -0
- package/dist/TableV2/src/composables/use-styles.d.ts +23 -0
- package/dist/TableV2/src/composables/use-styles.js +90 -0
- package/dist/TableV2/src/composables/utils.d.ts +3 -0
- package/dist/TableV2/src/composables/utils.js +29 -0
- package/dist/TableV2/src/constants.d.ts +18 -0
- package/dist/{Tree/Indent.js → TableV2/src/constants.js} +18 -21
- package/dist/TableV2/src/grid.d.ts +52 -0
- package/dist/TableV2/src/grid.js +1 -0
- package/dist/TableV2/src/header-cell.d.ts +13 -0
- package/dist/TableV2/src/header-cell.js +1 -0
- package/dist/TableV2/src/header-row.d.ts +10 -0
- package/dist/TableV2/src/header-row.js +1 -0
- package/dist/TableV2/src/header.d.ts +15 -0
- package/dist/TableV2/src/header.js +1 -0
- package/dist/TableV2/src/private.d.ts +1 -0
- package/dist/TableV2/src/private.js +1 -0
- package/dist/TableV2/src/renderers/cell.d.ts +14 -0
- package/dist/TableV2/src/renderers/cell.js +120 -0
- package/dist/TableV2/src/renderers/empty.d.ts +7 -0
- package/dist/TableV2/src/renderers/empty.js +11 -0
- package/dist/TableV2/src/renderers/footer.d.ts +7 -0
- package/dist/TableV2/src/renderers/footer.js +9 -0
- package/dist/TableV2/src/renderers/header-cell.d.ts +13 -0
- package/dist/TableV2/src/renderers/header-cell.js +92 -0
- package/dist/TableV2/src/renderers/header.d.ts +9 -0
- package/dist/TableV2/src/renderers/header.js +39 -0
- package/dist/TableV2/src/renderers/left-table.d.ts +32 -0
- package/dist/TableV2/src/renderers/left-table.js +15 -0
- package/dist/TableV2/src/renderers/main-table.d.ts +31 -0
- package/dist/TableV2/src/renderers/main-table.js +12 -0
- package/dist/TableV2/src/renderers/overlay.d.ts +3 -0
- package/dist/TableV2/src/renderers/overlay.js +9 -0
- package/dist/TableV2/src/renderers/right-table.d.ts +31 -0
- package/dist/TableV2/src/renderers/right-table.js +15 -0
- package/dist/TableV2/src/renderers/row.d.ts +11 -0
- package/dist/TableV2/src/renderers/row.js +96 -0
- package/dist/TableV2/src/row.d.ts +51 -0
- package/dist/TableV2/src/row.js +1 -0
- package/dist/TableV2/src/table-grid.d.ts +43 -0
- package/dist/TableV2/src/table-grid.js +283 -0
- package/dist/TableV2/src/table-v2.d.ts +31 -0
- package/dist/TableV2/src/table-v2.js +311 -0
- package/dist/TableV2/src/table.d.ts +196 -0
- package/dist/TableV2/src/table.js +1 -0
- package/dist/TableV2/src/tokens.d.ts +11 -0
- package/dist/TableV2/src/tokens.js +6 -0
- package/dist/TableV2/src/types.d.ts +94 -0
- package/dist/TableV2/src/types.js +1 -0
- package/dist/TableV2/src/use-table.d.ts +48 -0
- package/dist/TableV2/src/use-table.js +197 -0
- package/dist/TableV2/src/utils.d.ts +5 -0
- package/dist/TableV2/src/utils.js +47 -0
- package/dist/Tabs/Tabs.js +1 -1
- package/dist/Tabs/typings.d.ts +1 -3
- package/dist/Tag/Tag.js +1 -1
- package/dist/Tag/typings.d.ts +1 -1
- package/dist/Text/Text.d.ts +4 -0
- package/dist/Text/Text.js +84 -0
- package/dist/Text/index.d.ts +2 -0
- package/dist/Text/index.js +1 -0
- package/dist/Text/typings.d.ts +15 -0
- package/dist/Text/typings.js +1 -0
- package/dist/TimePicker/TimePicker.js +6 -7
- package/dist/TimePicker/TimePickerPanel.js +12 -2
- package/dist/TimePicker/TimePickerRange.js +19 -8
- package/dist/Tooltip/Tooltip.js +31 -8
- package/dist/Tooltip/typings.d.ts +4 -0
- package/dist/Tour/Content.d.ts +9 -0
- package/dist/Tour/Content.js +81 -0
- package/dist/Tour/Mask.d.ts +12 -0
- package/dist/Tour/Mask.js +100 -0
- package/dist/Tour/Step.d.ts +7 -0
- package/dist/Tour/Step.js +119 -0
- package/dist/Tour/Tour.d.ts +6 -0
- package/dist/Tour/Tour.js +237 -0
- package/dist/Tour/context.d.ts +4 -0
- package/dist/Tour/context.js +9 -0
- package/dist/Tour/helper.d.ts +39 -0
- package/dist/Tour/helper.js +286 -0
- package/dist/Tour/index.d.ts +3 -0
- package/dist/Tour/index.js +2 -0
- package/dist/Tour/typings.d.ts +318 -0
- package/dist/Tour/typings.js +38 -0
- package/dist/Transfer/List.js +58 -59
- package/dist/Transfer/ListItem.d.ts +2 -2
- package/dist/Transfer/Transfer.d.ts +2 -2
- package/dist/Transfer/Transfer.js +84 -70
- package/dist/Transfer/index.d.ts +1 -1
- package/dist/Transfer/operation.js +8 -10
- package/dist/Transfer/typings/index.d.ts +49 -38
- package/dist/Transfer/typings/list.d.ts +11 -11
- package/dist/Transfer/typings/listBody.d.ts +2 -2
- package/dist/Transition/Transition.d.ts +1 -0
- package/dist/Transition/Transition.js +8 -7
- package/dist/Tree/CollapseTransition.d.ts +7 -0
- package/dist/Tree/CollapseTransition.js +60 -0
- package/dist/Tree/Tree.d.ts +3 -140
- package/dist/Tree/Tree.js +351 -77
- package/dist/Tree/TreeContext.d.ts +9 -0
- package/dist/Tree/TreeContext.js +14 -0
- package/dist/Tree/TreeNode.d.ts +5 -3
- package/dist/Tree/TreeNode.js +321 -331
- package/dist/Tree/TreeNodeContent.d.ts +9 -0
- package/dist/Tree/TreeNodeContent.js +22 -0
- package/dist/Tree/index.d.ts +3 -8
- package/dist/Tree/index.js +1 -4
- package/dist/Tree/model/node.d.ts +62 -0
- package/dist/Tree/model/node.js +601 -0
- package/dist/Tree/model/tree-store.d.ts +52 -0
- package/dist/Tree/model/tree-store.js +510 -0
- package/dist/Tree/model/useDragNode.d.ts +30 -0
- package/dist/Tree/model/useDragNode.js +293 -0
- package/dist/Tree/model/useKeydown.d.ts +0 -0
- package/dist/Tree/model/useKeydown.js +104 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
- package/dist/Tree/model/util.d.ts +7 -0
- package/dist/Tree/model/util.js +24 -0
- package/dist/Tree/typings.d.ts +227 -114
- package/dist/TreeSelect/TreeSelect.d.ts +2 -10
- package/dist/TreeSelect/TreeSelect.js +90 -566
- package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
- package/dist/TreeSelect/TreeSelectOption.js +62 -0
- package/dist/TreeSelect/Utils.d.ts +10 -3
- package/dist/TreeSelect/Utils.js +37 -19
- package/dist/TreeSelect/cacheOptions.d.ts +9 -0
- package/dist/TreeSelect/cacheOptions.js +22 -0
- package/dist/TreeSelect/index.d.ts +0 -1
- package/dist/TreeSelect/typings.d.ts +11 -63
- package/dist/TreeSelect/useSelect.d.ts +78 -0
- package/dist/TreeSelect/useSelect.js +104 -0
- package/dist/TreeSelect/useTree.d.ts +125 -0
- package/dist/TreeSelect/useTree.js +285 -0
- package/dist/Upload/UploadContent.js +3 -1
- package/dist/Upload/ajax.js +3 -0
- package/dist/Upload/typings.d.ts +5 -1
- package/dist/Util/PopupManager.js +1 -1
- package/dist/Util/aria.d.ts +1 -1
- package/dist/Util/aria.js +12 -12
- package/dist/Util/base.d.ts +36 -6
- package/dist/Util/base.js +180 -13
- package/dist/Util/easings.d.ts +1 -0
- package/dist/Util/easings.js +8 -0
- package/dist/Util/error.d.ts +3 -0
- package/dist/Util/error.js +39 -0
- package/dist/Util/icons.d.ts +2 -0
- package/dist/Util/icons.js +15 -0
- package/dist/Util/index.d.ts +6 -2
- package/dist/Util/index.js +6 -2
- package/dist/Util/position.d.ts +9 -0
- package/dist/Util/position.js +53 -0
- package/dist/Util/raf.d.ts +4 -0
- package/dist/Util/raf.js +10 -0
- package/dist/Util/scroll.d.ts +9 -0
- package/dist/Util/scroll.js +72 -0
- package/dist/Util/throttleByRaf.d.ts +4 -0
- package/dist/Util/throttleByRaf.js +21 -0
- package/dist/VirtualList/builders/build-grid.d.ts +5 -0
- package/dist/VirtualList/builders/build-grid.js +561 -0
- package/dist/VirtualList/builders/build-list.d.ts +7 -0
- package/dist/VirtualList/builders/build-list.js +408 -0
- package/dist/VirtualList/components/dynamic-size-grid.d.ts +15 -0
- package/dist/VirtualList/components/dynamic-size-grid.js +242 -0
- package/dist/VirtualList/components/dynamic-size-list.d.ts +7 -0
- package/dist/VirtualList/components/dynamic-size-list.js +186 -0
- package/dist/VirtualList/components/fixed-size-grid.d.ts +4 -0
- package/dist/VirtualList/components/fixed-size-grid.js +161 -0
- package/dist/VirtualList/components/fixed-size-list.d.ts +7 -0
- package/dist/VirtualList/components/fixed-size-list.js +103 -0
- package/dist/VirtualList/components/scrollbar.d.ts +5 -0
- package/dist/VirtualList/components/scrollbar.js +272 -0
- package/dist/VirtualList/defaults.d.ts +26 -0
- package/dist/VirtualList/defaults.js +24 -0
- package/dist/VirtualList/hooks/use-cache.d.ts +1 -0
- package/dist/VirtualList/hooks/use-cache.js +16 -0
- package/dist/VirtualList/hooks/use-grid-touch.d.ts +8 -0
- package/dist/VirtualList/hooks/use-grid-touch.js +58 -0
- package/dist/VirtualList/hooks/use-grid-wheel.d.ts +12 -0
- package/dist/VirtualList/hooks/use-grid-wheel.js +48 -0
- package/dist/VirtualList/hooks/use-wheel.d.ts +12 -0
- package/dist/VirtualList/hooks/use-wheel.js +41 -0
- package/dist/VirtualList/index.d.ts +9 -0
- package/dist/VirtualList/index.js +6 -0
- package/dist/VirtualList/props.d.ts +95 -0
- package/dist/VirtualList/props.js +42 -0
- package/dist/VirtualList/types.d.ts +151 -0
- package/dist/VirtualList/types.js +1 -0
- package/dist/VirtualList/utils.d.ts +11 -0
- package/dist/VirtualList/utils.js +56 -0
- package/dist/Watermark/Watermark.d.ts +4 -0
- package/dist/Watermark/Watermark.js +257 -0
- package/dist/Watermark/helper.d.ts +50 -0
- package/dist/Watermark/helper.js +253 -0
- package/dist/Watermark/index.d.ts +2 -0
- package/dist/Watermark/index.js +1 -0
- package/dist/Watermark/typings.d.ts +93 -0
- package/dist/Watermark/typings.js +1 -0
- package/dist/config/Constants.d.ts +3 -0
- package/dist/config/Constants.js +8 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/popperPropsUtils.js +1 -1
- package/dist/hooks/treePropsUtils.d.ts +3 -3
- package/dist/hooks/treePropsUtils.js +2 -2
- package/dist/hooks/useClassNames.d.ts +1 -0
- package/dist/hooks/useClickOutside.js +25 -9
- package/dist/hooks/useCommonProps.d.ts +4 -0
- package/dist/hooks/useCommonProps.js +12 -3
- package/dist/hooks/useConfigProvider.d.ts +27 -0
- package/dist/hooks/useConfigProvider.js +78 -0
- package/dist/hooks/useLockscreen.d.ts +6 -0
- package/dist/hooks/useLockscreen.js +45 -0
- package/dist/hooks/useResizeObserver.d.ts +1 -1
- package/dist/hooks/useResizeObserver.js +7 -7
- package/dist/index.css +1 -1
- package/dist/index.d.ts +50 -22
- package/dist/index.js +27 -10
- package/dist/locale/en.d.ts +4 -1
- package/dist/locale/en.js +4 -1
- package/dist/locale/zhCn.d.ts +4 -1
- package/dist/locale/zhCn.js +4 -1
- package/package.json +5 -3
- package/theme-chalk/affix.scss +7 -0
- package/theme-chalk/alert.scss +115 -0
- package/theme-chalk/anchor-link.scss +45 -0
- package/theme-chalk/anchor.scss +93 -0
- package/theme-chalk/aside.scss +8 -8
- package/theme-chalk/backtop.scss +29 -0
- package/theme-chalk/breadcrumb-item.scss +58 -0
- package/theme-chalk/breadcrumb.scss +5 -61
- package/theme-chalk/button-group.scss +80 -80
- package/theme-chalk/button.scss +304 -304
- package/theme-chalk/calendar/date-table.scss +164 -164
- package/theme-chalk/cascader-panel.scss +57 -82
- package/theme-chalk/cascader.scss +206 -160
- package/theme-chalk/checkbox.scss +38 -0
- package/theme-chalk/collapse-item.scss +72 -0
- package/theme-chalk/collapse.scss +21 -76
- package/theme-chalk/color/index.scss +20 -20
- package/theme-chalk/common/popup.scss +47 -0
- package/theme-chalk/common/transition.scss +142 -142
- package/theme-chalk/common/var.scss +62 -6
- package/theme-chalk/container.scss +14 -14
- package/theme-chalk/dark/css-vars.scss +39 -39
- package/theme-chalk/dark/var.scss +225 -225
- package/theme-chalk/date-picker.scss +12 -12
- package/theme-chalk/dialog.scss +145 -137
- package/theme-chalk/drawer.scss +252 -246
- package/theme-chalk/footer.scss +12 -12
- package/theme-chalk/form-item.scss +437 -0
- package/theme-chalk/form.scss +23 -361
- package/theme-chalk/header.scss +12 -12
- package/theme-chalk/index.scss +21 -1
- package/theme-chalk/input/input-range.scss +2 -1
- package/theme-chalk/input/input.scss +458 -424
- package/theme-chalk/input-number.scss +82 -75
- package/theme-chalk/link.scss +87 -87
- package/theme-chalk/main.scss +14 -14
- package/theme-chalk/menu.scss +353 -353
- package/theme-chalk/message-box.scss +160 -133
- package/theme-chalk/message.scss +54 -128
- package/theme-chalk/mixins/_button.scss +224 -224
- package/theme-chalk/mixins/_col.scss +33 -33
- package/theme-chalk/mixins/_var.scss +67 -67
- package/theme-chalk/mixins/config.scss +5 -5
- package/theme-chalk/mixins/function.scss +99 -99
- package/theme-chalk/mixins/mixins.scss +237 -240
- package/theme-chalk/mixins/utils.scss +39 -39
- package/theme-chalk/notification.scss +96 -143
- package/theme-chalk/overlay.scss +17 -0
- package/theme-chalk/page-header.scss +60 -0
- package/theme-chalk/popper.scss +104 -104
- package/theme-chalk/radio-button.scss +169 -169
- package/theme-chalk/radio.scss +3 -3
- package/theme-chalk/segmented.scss +186 -0
- package/theme-chalk/select/index.scss +278 -272
- package/theme-chalk/slider.scss +212 -0
- package/theme-chalk/space.scss +20 -0
- package/theme-chalk/statistic.scss +35 -0
- package/theme-chalk/step.scss +320 -0
- package/theme-chalk/steps.scss +22 -0
- package/theme-chalk/switch.scss +300 -300
- package/theme-chalk/table-v2.scss +237 -0
- package/theme-chalk/table.scss +461 -482
- package/theme-chalk/tag.scss +181 -181
- package/theme-chalk/text.scss +48 -0
- package/theme-chalk/time-range-picker.scss +1 -1
- package/theme-chalk/tooltip.scss +2 -2
- package/theme-chalk/tour.scss +170 -0
- package/theme-chalk/transfer.scss +38 -12
- package/theme-chalk/transition.scss +34 -4
- package/theme-chalk/tree-select.scss +35 -19
- package/theme-chalk/tree.scss +136 -0
- package/theme-chalk/var.scss +83 -83
- package/theme-chalk/virtual-list.scss +40 -0
- package/dist/Input/Input.1.d.ts +0 -16
- package/dist/Input/Input.1.js +0 -376
- package/dist/Tree/DirectoryTree.d.ts +0 -15
- package/dist/Tree/DirectoryTree.js +0 -183
- package/dist/Tree/DropIndicator.d.ts +0 -8
- package/dist/Tree/DropIndicator.js +0 -34
- package/dist/Tree/Indent.d.ts +0 -9
- package/dist/Tree/MotionTreeNode.d.ts +0 -14
- package/dist/Tree/MotionTreeNode.js +0 -125
- package/dist/Tree/NodeList.d.ts +0 -50
- package/dist/Tree/NodeList.js +0 -301
- package/dist/Tree/RCTree.d.ts +0 -248
- package/dist/Tree/RCTree.js +0 -1216
- package/dist/Tree/contextTypes.d.ts +0 -69
- package/dist/Tree/contextTypes.js +0 -9
- package/dist/Tree/typings.tsx--bak +0 -245
- package/dist/Tree/useUnmount.d.ts +0 -5
- package/dist/Tree/useUnmount.js +0 -34
- package/dist/Tree/util.d.ts +0 -51
- package/dist/Tree/util.js +0 -303
- package/dist/Tree/utils/conductUtil.d.ts +0 -17
- package/dist/Tree/utils/conductUtil.js +0 -209
- package/dist/Tree/utils/dictUtil.d.ts +0 -13
- package/dist/Tree/utils/dictUtil.js +0 -75
- package/dist/Tree/utils/diffUtil.d.ts +0 -7
- package/dist/Tree/utils/diffUtil.js +0 -48
- package/dist/Tree/utils/dropIndicator.d.ts +0 -11
- package/dist/Tree/utils/dropIndicator.js +0 -36
- package/dist/Tree/utils/iconUtil.d.ts +0 -5
- package/dist/Tree/utils/iconUtil.js +0 -62
- package/dist/Tree/utils/keyUtil.d.ts +0 -2
- package/dist/Tree/utils/keyUtil.js +0 -3
- package/dist/Tree/utils/motion.d.ts +0 -10
- package/dist/Tree/utils/motion.js +0 -54
- package/dist/Tree/utils/pickAttrs.d.ts +0 -11
- package/dist/Tree/utils/pickAttrs.js +0 -51
- package/dist/Tree/utils/treeUtil.d.ts +0 -86
- package/dist/Tree/utils/treeUtil.js +0 -364
- package/theme-chalk/button/_mixins.scss +0 -317
- package/theme-chalk/button/button-group.scss +0 -83
- package/theme-chalk/button/button.scss +0 -382
- package/theme-chalk/button/index.scss +0 -2
- package/theme-chalk/button--bak/_mixins.scss +0 -317
- package/theme-chalk/button--bak/button-group.scss +0 -83
- package/theme-chalk/button--bak/button.scss +0 -382
- package/theme-chalk/button--bak/index.scss +0 -2
- package/theme-chalk/calendar/date-table.scss--bak +0 -156
- package/theme-chalk/input/input.scss--bak +0 -578
- package/theme-chalk/link.scss--bak +0 -99
- package/theme-chalk/popper.scss--bak +0 -86
- package/theme-chalk/radio-button.scss--bak +0 -128
- package/theme-chalk/select/index.scss--bak +0 -247
- package/theme-chalk/switch.scss--bak +0 -273
- package/theme-chalk/tag.scss--bak +0 -203
- package/theme-chalk/tree/_directory.scss +0 -73
- package/theme-chalk/tree/_tree.scss +0 -401
- package/theme-chalk/tree/index.scss +0 -2
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
8
|
+
import { useResizeObserver } from "../../../hooks/useResizeObserver";
|
|
9
|
+
export var useAutoResize = function useAutoResize(props) {
|
|
10
|
+
var sizerRef = useRef(null);
|
|
11
|
+
var _useState = useState(0),
|
|
12
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
13
|
+
width = _useState2[0],
|
|
14
|
+
setWidth = _useState2[1];
|
|
15
|
+
var _useState3 = useState(0),
|
|
16
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
17
|
+
height = _useState4[0],
|
|
18
|
+
setHeight = _useState4[1];
|
|
19
|
+
var handleResize = useCallback(function (_ref) {
|
|
20
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
21
|
+
entry = _ref2[0];
|
|
22
|
+
var _entry$contentRect = entry.contentRect,
|
|
23
|
+
width$ = _entry$contentRect.width,
|
|
24
|
+
height$ = _entry$contentRect.height;
|
|
25
|
+
var style = window.getComputedStyle(entry.target);
|
|
26
|
+
var paddingLeft = Number.parseInt(style.paddingLeft) || 0;
|
|
27
|
+
var paddingRight = Number.parseInt(style.paddingRight) || 0;
|
|
28
|
+
var paddingTop = Number.parseInt(style.paddingTop) || 0;
|
|
29
|
+
var paddingBottom = Number.parseInt(style.paddingBottom) || 0;
|
|
30
|
+
var calculatedWidth = width$ - paddingLeft - paddingRight;
|
|
31
|
+
var calculatedHeight = height$ - paddingTop - paddingBottom;
|
|
32
|
+
setWidth(calculatedWidth);
|
|
33
|
+
setHeight(calculatedHeight);
|
|
34
|
+
}, []);
|
|
35
|
+
var resizerStopper = useResizeObserver(sizerRef, handleResize);
|
|
36
|
+
useEffect(function () {
|
|
37
|
+
return function () {
|
|
38
|
+
return resizerStopper.stop();
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
|
|
42
|
+
// Call onResize when dimensions change
|
|
43
|
+
useEffect(function () {
|
|
44
|
+
var _props$onResize;
|
|
45
|
+
(_props$onResize = props.onResize) === null || _props$onResize === void 0 || _props$onResize.call(props, {
|
|
46
|
+
width: width,
|
|
47
|
+
height: height
|
|
48
|
+
});
|
|
49
|
+
}, [width, height]);
|
|
50
|
+
return {
|
|
51
|
+
sizer: sizerRef,
|
|
52
|
+
width: props.disableWidth ? undefined : width,
|
|
53
|
+
height: props.disableHeight ? undefined : height
|
|
54
|
+
};
|
|
55
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { TableV2Props } from '../table';
|
|
3
|
+
import { AnyColumns, Column, KeyType } from '../types';
|
|
4
|
+
interface UseColumnsReturn {
|
|
5
|
+
columns: AnyColumns;
|
|
6
|
+
columnsStyles: Record<KeyType, CSSProperties>;
|
|
7
|
+
columnsTotalWidth: number;
|
|
8
|
+
fixedColumnsOnLeft: AnyColumns;
|
|
9
|
+
fixedColumnsOnRight: AnyColumns;
|
|
10
|
+
hasFixedColumns: number;
|
|
11
|
+
mainColumns: AnyColumns;
|
|
12
|
+
normalColumns: AnyColumns;
|
|
13
|
+
visibleColumns: AnyColumns;
|
|
14
|
+
getColumn: (key: KeyType) => Column<any> | undefined;
|
|
15
|
+
getColumnStyle: (key: KeyType) => CSSProperties | undefined;
|
|
16
|
+
updateColumnWidth: (column: Column<any>, width: number) => void;
|
|
17
|
+
onColumnSorted: (e: MouseEvent) => void;
|
|
18
|
+
}
|
|
19
|
+
declare function useColumns(props: TableV2Props, columns: AnyColumns, fixed: boolean): UseColumnsReturn;
|
|
20
|
+
export { useColumns };
|
|
21
|
+
export type { UseColumnsReturn };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { useMemo } from 'react';
|
|
8
|
+
import { SortOrder, oppositeOrderMap } from "../constants";
|
|
9
|
+
import { placeholderSign } from "../private";
|
|
10
|
+
import { calcColumnStyle } from "./utils";
|
|
11
|
+
import { isObject } from "../../../Util";
|
|
12
|
+
function useColumns(props, columns, fixed) {
|
|
13
|
+
var _columns = useMemo(function () {
|
|
14
|
+
return columns.map(function (column, index) {
|
|
15
|
+
var _ref, _column$key;
|
|
16
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
|
17
|
+
key: (_ref = (_column$key = column.key) !== null && _column$key !== void 0 ? _column$key : column.dataKey) !== null && _ref !== void 0 ? _ref : index
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}, [columns]);
|
|
21
|
+
var visibleColumns = useMemo(function () {
|
|
22
|
+
return _columns.filter(function (column) {
|
|
23
|
+
return !column.hidden;
|
|
24
|
+
});
|
|
25
|
+
}, [_columns]);
|
|
26
|
+
var fixedColumnsOnLeft = useMemo(function () {
|
|
27
|
+
return visibleColumns.filter(function (column) {
|
|
28
|
+
return column.fixed === 'left' || column.fixed === true;
|
|
29
|
+
});
|
|
30
|
+
}, [visibleColumns]);
|
|
31
|
+
var fixedColumnsOnRight = useMemo(function () {
|
|
32
|
+
return visibleColumns.filter(function (column) {
|
|
33
|
+
return column.fixed === 'right';
|
|
34
|
+
});
|
|
35
|
+
}, [visibleColumns]);
|
|
36
|
+
var normalColumns = useMemo(function () {
|
|
37
|
+
return visibleColumns.filter(function (column) {
|
|
38
|
+
return !column.fixed;
|
|
39
|
+
});
|
|
40
|
+
}, [visibleColumns]);
|
|
41
|
+
var mainColumns = useMemo(function () {
|
|
42
|
+
var ret = [];
|
|
43
|
+
fixedColumnsOnLeft.forEach(function (column) {
|
|
44
|
+
ret.push(_objectSpread(_objectSpread({}, column), {}, {
|
|
45
|
+
placeholderSign: placeholderSign
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
48
|
+
normalColumns.forEach(function (column) {
|
|
49
|
+
ret.push(column);
|
|
50
|
+
});
|
|
51
|
+
fixedColumnsOnRight.forEach(function (column) {
|
|
52
|
+
ret.push(_objectSpread(_objectSpread({}, column), {}, {
|
|
53
|
+
placeholderSign: placeholderSign
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
56
|
+
return ret;
|
|
57
|
+
}, [fixedColumnsOnLeft, normalColumns, fixedColumnsOnRight]);
|
|
58
|
+
var hasFixedColumns = useMemo(function () {
|
|
59
|
+
return fixedColumnsOnLeft.length || fixedColumnsOnRight.length;
|
|
60
|
+
}, [fixedColumnsOnLeft, fixedColumnsOnRight]);
|
|
61
|
+
var columnsStyles = useMemo(function () {
|
|
62
|
+
return _columns.reduce(function (style, column) {
|
|
63
|
+
style[column.key] = calcColumnStyle(column, fixed, props.fixed);
|
|
64
|
+
return style;
|
|
65
|
+
}, {});
|
|
66
|
+
}, [_columns, fixed, props.fixed]);
|
|
67
|
+
var columnsTotalWidth = useMemo(function () {
|
|
68
|
+
return visibleColumns.reduce(function (width, column) {
|
|
69
|
+
return width + column.width;
|
|
70
|
+
}, 0);
|
|
71
|
+
}, [visibleColumns]);
|
|
72
|
+
var getColumn = function getColumn(key) {
|
|
73
|
+
return _columns.find(function (column) {
|
|
74
|
+
return column.key === key;
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
var getColumnStyle = function getColumnStyle(key) {
|
|
78
|
+
return columnsStyles[key];
|
|
79
|
+
};
|
|
80
|
+
var updateColumnWidth = function updateColumnWidth(column, width) {
|
|
81
|
+
column.width = width;
|
|
82
|
+
};
|
|
83
|
+
function onColumnSorted(e) {
|
|
84
|
+
var _props$onColumnSort;
|
|
85
|
+
var key = e.currentTarget.dataset.key;
|
|
86
|
+
if (!key) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
var sortState = props.sortState,
|
|
90
|
+
sortBy = props.sortBy;
|
|
91
|
+
var order = SortOrder.ASC;
|
|
92
|
+
if (isObject(sortState)) {
|
|
93
|
+
order = oppositeOrderMap[sortState[key]];
|
|
94
|
+
} else if (sortBy && _typeof(sortBy) === 'object' && 'order' in sortBy) {
|
|
95
|
+
order = oppositeOrderMap[sortBy.order];
|
|
96
|
+
}
|
|
97
|
+
(_props$onColumnSort = props.onColumnSort) === null || _props$onColumnSort === void 0 || _props$onColumnSort.call(props, {
|
|
98
|
+
column: getColumn(key),
|
|
99
|
+
key: key,
|
|
100
|
+
order: order
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
columns: _columns,
|
|
105
|
+
columnsStyles: columnsStyles,
|
|
106
|
+
columnsTotalWidth: columnsTotalWidth,
|
|
107
|
+
fixedColumnsOnLeft: fixedColumnsOnLeft,
|
|
108
|
+
fixedColumnsOnRight: fixedColumnsOnRight,
|
|
109
|
+
hasFixedColumns: hasFixedColumns,
|
|
110
|
+
mainColumns: mainColumns,
|
|
111
|
+
normalColumns: normalColumns,
|
|
112
|
+
visibleColumns: visibleColumns,
|
|
113
|
+
getColumn: getColumn,
|
|
114
|
+
getColumnStyle: getColumnStyle,
|
|
115
|
+
updateColumnWidth: updateColumnWidth,
|
|
116
|
+
onColumnSorted: onColumnSorted
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export { useColumns };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TableV2Props } from '../table';
|
|
2
|
+
import type { KeyType } from '../types';
|
|
3
|
+
import type { UseRowReturn } from './use-row';
|
|
4
|
+
type UseDataProps = {
|
|
5
|
+
expandedRowKeys: UseRowReturn['expandedRowKeys'];
|
|
6
|
+
lastRenderedRowIndex: UseRowReturn['lastRenderedRowIndex'];
|
|
7
|
+
setLastRenderedRowIndex: UseRowReturn['setLastRenderedRowIndex'];
|
|
8
|
+
resetAfterIndex: UseRowReturn['resetAfterIndex'];
|
|
9
|
+
};
|
|
10
|
+
export declare const useData: (props: TableV2Props, { expandedRowKeys, lastRenderedRowIndex, setLastRenderedRowIndex, resetAfterIndex }: UseDataProps) => {
|
|
11
|
+
data: any[];
|
|
12
|
+
depthMap: Record<KeyType, number>;
|
|
13
|
+
};
|
|
14
|
+
export type UseDataReturn = ReturnType<typeof useData>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
import isArray from 'lodash/isArray';
|
|
8
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
9
|
+
export var useData = function useData(props, _ref) {
|
|
10
|
+
var expandedRowKeys = _ref.expandedRowKeys,
|
|
11
|
+
lastRenderedRowIndex = _ref.lastRenderedRowIndex,
|
|
12
|
+
setLastRenderedRowIndex = _ref.setLastRenderedRowIndex,
|
|
13
|
+
resetAfterIndex = _ref.resetAfterIndex;
|
|
14
|
+
// const [depthMap, setDepthMap] = useState<Record<KeyType, number>>({});
|
|
15
|
+
var depthMap = useRef({});
|
|
16
|
+
var flattenedData = useMemo(function () {
|
|
17
|
+
var depths = {};
|
|
18
|
+
var data = props.data,
|
|
19
|
+
rowKey = props.rowKey;
|
|
20
|
+
if (!expandedRowKeys || !expandedRowKeys.length) {
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
var array = [];
|
|
24
|
+
var keysSet = new Set();
|
|
25
|
+
expandedRowKeys.forEach(function (x) {
|
|
26
|
+
return keysSet.add(x);
|
|
27
|
+
});
|
|
28
|
+
var copy = data.slice();
|
|
29
|
+
copy.forEach(function (x) {
|
|
30
|
+
return depths[x[rowKey]] = 0;
|
|
31
|
+
});
|
|
32
|
+
var _loop = function _loop() {
|
|
33
|
+
var item = copy.shift();
|
|
34
|
+
array.push(item);
|
|
35
|
+
if (keysSet.has(item[rowKey]) && isArray(item.children) && item.children.length > 0) {
|
|
36
|
+
copy = [].concat(_toConsumableArray(item.children), _toConsumableArray(copy));
|
|
37
|
+
item.children.forEach(function (child) {
|
|
38
|
+
return depths[child[rowKey]] = depths[item[rowKey]] + 1;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
while (copy.length > 0) {
|
|
43
|
+
_loop();
|
|
44
|
+
}
|
|
45
|
+
depthMap.current = depths;
|
|
46
|
+
return array;
|
|
47
|
+
}, [props.data, props.rowKey, expandedRowKeys]);
|
|
48
|
+
var data = useMemo(function () {
|
|
49
|
+
var expandColumnKey = props.expandColumnKey;
|
|
50
|
+
return expandColumnKey ? flattenedData : props.data;
|
|
51
|
+
}, [props.expandColumnKey, flattenedData, props.data]);
|
|
52
|
+
|
|
53
|
+
// Equivalent to watch(data, ...)
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
setLastRenderedRowIndex(-1);
|
|
56
|
+
resetAfterIndex(0, true);
|
|
57
|
+
}, [data]);
|
|
58
|
+
return {
|
|
59
|
+
data: data,
|
|
60
|
+
depthMap: depthMap.current
|
|
61
|
+
};
|
|
62
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { UseNamespaceReturn } from '../../../hooks/useClassNames';
|
|
3
|
+
import type { onRowRenderedParams } from '../grid';
|
|
4
|
+
import type { RowExpandParams, RowHeightChangedParams, RowHoverParams } from '../row';
|
|
5
|
+
import type { TableV2Props } from '../table';
|
|
6
|
+
import type { TableGridInstance } from '../table-grid';
|
|
7
|
+
import type { FixedDirection, KeyType } from '../types';
|
|
8
|
+
type Heights = Record<KeyType, number>;
|
|
9
|
+
type GridInstanceRef = React.RefObject<TableGridInstance | null>;
|
|
10
|
+
type UseRowProps = {
|
|
11
|
+
mainTableRef: GridInstanceRef;
|
|
12
|
+
leftTableRef: GridInstanceRef;
|
|
13
|
+
rightTableRef: GridInstanceRef;
|
|
14
|
+
tableInstance: any;
|
|
15
|
+
ns: UseNamespaceReturn;
|
|
16
|
+
isScrolling: boolean;
|
|
17
|
+
onExpandedRowKeys?: (expandedRowKeys: KeyType[]) => void;
|
|
18
|
+
};
|
|
19
|
+
export declare const useRow: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, tableInstance, ns, isScrolling, onExpandedRowKeys }: UseRowProps) => {
|
|
20
|
+
expandedRowKeys: KeyType[];
|
|
21
|
+
setExpandedRowKeys: React.Dispatch<React.SetStateAction<KeyType[]>>;
|
|
22
|
+
lastRenderedRowIndex: number;
|
|
23
|
+
setLastRenderedRowIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
24
|
+
isDynamic: boolean;
|
|
25
|
+
isResetting: React.MutableRefObject<boolean>;
|
|
26
|
+
rowHeights: Heights;
|
|
27
|
+
resetAfterIndex: (index: number, forceUpdate?: boolean) => void;
|
|
28
|
+
onRowExpanded: ({ expanded, rowData, rowIndex, rowKey }: RowExpandParams) => void;
|
|
29
|
+
onRowHovered: ({ hovered, rowKey }: RowHoverParams) => void;
|
|
30
|
+
onRowsRendered: (params: onRowRenderedParams) => void;
|
|
31
|
+
onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void;
|
|
32
|
+
};
|
|
33
|
+
export type UseRowReturn = ReturnType<typeof useRow>;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
10
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
11
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
14
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
15
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
+
import debounce from 'lodash/debounce';
|
|
18
|
+
import isNumber from 'lodash/isNumber';
|
|
19
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
20
|
+
import { FixedDir } from "../constants";
|
|
21
|
+
export var useRow = function useRow(props, _ref) {
|
|
22
|
+
var mainTableRef = _ref.mainTableRef,
|
|
23
|
+
leftTableRef = _ref.leftTableRef,
|
|
24
|
+
rightTableRef = _ref.rightTableRef,
|
|
25
|
+
tableInstance = _ref.tableInstance,
|
|
26
|
+
ns = _ref.ns,
|
|
27
|
+
isScrolling = _ref.isScrolling,
|
|
28
|
+
onExpandedRowKeys = _ref.onExpandedRowKeys;
|
|
29
|
+
// const [isResetting, setIsResetting] = useState(false);
|
|
30
|
+
var _useState = useState(props.defaultExpandedRowKeys || []),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
expandedRowKeys = _useState2[0],
|
|
33
|
+
setExpandedRowKeys = _useState2[1];
|
|
34
|
+
var _useState3 = useState(-1),
|
|
35
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
36
|
+
lastRenderedRowIndex = _useState4[0],
|
|
37
|
+
setLastRenderedRowIndex = _useState4[1];
|
|
38
|
+
var resetIndexRef = useRef(null);
|
|
39
|
+
var _useState5 = useState({}),
|
|
40
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
41
|
+
rowHeights = _useState6[0],
|
|
42
|
+
setRowHeights = _useState6[1];
|
|
43
|
+
var isResetting = useRef(false);
|
|
44
|
+
var pendingRowHeightsRef = useRef({});
|
|
45
|
+
var leftTableHeightsRef = useRef({});
|
|
46
|
+
var mainTableHeightsRef = useRef({});
|
|
47
|
+
var rightTableHeightsRef = useRef({});
|
|
48
|
+
var isDynamic = useMemo(function () {
|
|
49
|
+
return isNumber(props.estimatedRowHeight);
|
|
50
|
+
}, [props.estimatedRowHeight]);
|
|
51
|
+
var onRowsRendered = useCallback(function (params) {
|
|
52
|
+
var _props$onRowsRendered;
|
|
53
|
+
(_props$onRowsRendered = props.onRowsRendered) === null || _props$onRowsRendered === void 0 || _props$onRowsRendered.call(props, params);
|
|
54
|
+
if (params.rowCacheEnd > lastRenderedRowIndex) {
|
|
55
|
+
setLastRenderedRowIndex(params.rowCacheEnd);
|
|
56
|
+
}
|
|
57
|
+
}, [lastRenderedRowIndex, props]);
|
|
58
|
+
var onRowHovered = useCallback(function (_ref2) {
|
|
59
|
+
var hovered = _ref2.hovered,
|
|
60
|
+
rowKey = _ref2.rowKey;
|
|
61
|
+
if (isScrolling) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// TODO: 需要找到合适的 DOM 引用方式
|
|
65
|
+
// const tableRoot = tableInstance!.vnode.el as HTMLElement
|
|
66
|
+
// const rows = tableRoot.querySelectorAll(`[rowkey="${String(rowKey)}"]`)
|
|
67
|
+
// rows.forEach(row => {
|
|
68
|
+
// if (hovered) {
|
|
69
|
+
// row.classList.add(ns.is('hovered'))
|
|
70
|
+
// } else {
|
|
71
|
+
// row.classList.remove(ns.is('hovered'))
|
|
72
|
+
// }
|
|
73
|
+
// })
|
|
74
|
+
}, [isScrolling]);
|
|
75
|
+
var onRowExpanded = useCallback(function (_ref3) {
|
|
76
|
+
var expanded = _ref3.expanded,
|
|
77
|
+
rowData = _ref3.rowData,
|
|
78
|
+
rowIndex = _ref3.rowIndex,
|
|
79
|
+
rowKey = _ref3.rowKey;
|
|
80
|
+
setExpandedRowKeys(function (prev) {
|
|
81
|
+
var _props$onRowExpand, _props$onExpandedRows;
|
|
82
|
+
var currentKeyIndex = prev.indexOf(rowKey);
|
|
83
|
+
var newExpandedRowKeys;
|
|
84
|
+
if (expanded) {
|
|
85
|
+
if (currentKeyIndex === -1) {
|
|
86
|
+
newExpandedRowKeys = [].concat(_toConsumableArray(prev), [rowKey]);
|
|
87
|
+
} else {
|
|
88
|
+
newExpandedRowKeys = _toConsumableArray(prev);
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
if (currentKeyIndex > -1) {
|
|
92
|
+
newExpandedRowKeys = prev.filter(function (key) {
|
|
93
|
+
return key !== rowKey;
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
newExpandedRowKeys = _toConsumableArray(prev);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
onExpandedRowKeys === null || onExpandedRowKeys === void 0 || onExpandedRowKeys(newExpandedRowKeys);
|
|
100
|
+
(_props$onRowExpand = props.onRowExpand) === null || _props$onRowExpand === void 0 || _props$onRowExpand.call(props, {
|
|
101
|
+
expanded: expanded,
|
|
102
|
+
rowData: rowData,
|
|
103
|
+
rowIndex: rowIndex,
|
|
104
|
+
rowKey: rowKey
|
|
105
|
+
});
|
|
106
|
+
(_props$onExpandedRows = props.onExpandedRowsChange) === null || _props$onExpandedRows === void 0 || _props$onExpandedRows.call(props, newExpandedRowKeys);
|
|
107
|
+
return newExpandedRowKeys;
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// TODO: 需要找到合适的 DOM 引用方式
|
|
111
|
+
// const tableRoot = tableInstance!.vnode.el as HTMLElement;
|
|
112
|
+
// const hoverRow = tableRoot.querySelector(`.${ns.is('hovered')}[rowkey="${String(rowKey)}"]`);
|
|
113
|
+
// if (hoverRow) {
|
|
114
|
+
// nextTick(() => onRowHovered({ hovered: true, rowKey }));
|
|
115
|
+
// }
|
|
116
|
+
}, [onExpandedRowKeys, props]);
|
|
117
|
+
var resetAfterIndex = useCallback(function (index) {
|
|
118
|
+
var forceUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
119
|
+
if (!isDynamic) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
[mainTableRef, leftTableRef, rightTableRef].forEach(function (tableRef) {
|
|
123
|
+
var table = tableRef.current;
|
|
124
|
+
if (table) {
|
|
125
|
+
var _resetAfterRowIndex, _ref4;
|
|
126
|
+
(_resetAfterRowIndex = (_ref4 = table).resetAfterRowIndex) === null || _resetAfterRowIndex === void 0 || _resetAfterRowIndex.call(_ref4, index, forceUpdate);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}, [isDynamic, mainTableRef, leftTableRef, rightTableRef]);
|
|
130
|
+
|
|
131
|
+
// Equivalent to debounce for flushing row heights
|
|
132
|
+
var flushingRowHeights = debounce(useCallback(function () {
|
|
133
|
+
var _mainTableRef$current, _mainTableRef$current2, _leftTableRef$current, _leftTableRef$current2, _rightTableRef$curren, _rightTableRef$curren2;
|
|
134
|
+
isResetting.current = true;
|
|
135
|
+
setRowHeights(function (prev) {
|
|
136
|
+
return _objectSpread(_objectSpread({}, prev), pendingRowHeightsRef.current);
|
|
137
|
+
});
|
|
138
|
+
resetAfterIndex(resetIndexRef.current, false);
|
|
139
|
+
pendingRowHeightsRef.current = {};
|
|
140
|
+
// force update
|
|
141
|
+
resetIndexRef.current = null;
|
|
142
|
+
(_mainTableRef$current = mainTableRef.current) === null || _mainTableRef$current === void 0 || (_mainTableRef$current2 = _mainTableRef$current.forceUpdate) === null || _mainTableRef$current2 === void 0 || _mainTableRef$current2.call(_mainTableRef$current);
|
|
143
|
+
(_leftTableRef$current = leftTableRef.current) === null || _leftTableRef$current === void 0 || (_leftTableRef$current2 = _leftTableRef$current.forceUpdate) === null || _leftTableRef$current2 === void 0 || _leftTableRef$current2.call(_leftTableRef$current);
|
|
144
|
+
(_rightTableRef$curren = rightTableRef.current) === null || _rightTableRef$curren === void 0 || (_rightTableRef$curren2 = _rightTableRef$curren.forceUpdate) === null || _rightTableRef$curren2 === void 0 || _rightTableRef$curren2.call(_rightTableRef$curren);
|
|
145
|
+
isResetting.current = false;
|
|
146
|
+
}, [resetAfterIndex, mainTableRef, leftTableRef, rightTableRef]), 0);
|
|
147
|
+
var resetHeights = useCallback(function (rowKey, height, rowIdx) {
|
|
148
|
+
var resetIdx = resetIndexRef.current;
|
|
149
|
+
if (resetIdx === null) {
|
|
150
|
+
resetIndexRef.current = rowIdx;
|
|
151
|
+
} else {
|
|
152
|
+
if (resetIdx > rowIdx) {
|
|
153
|
+
resetIndexRef.current = rowIdx;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
pendingRowHeightsRef.current[rowKey] = height;
|
|
157
|
+
}, []);
|
|
158
|
+
var onRowHeightChange = useCallback(function (_ref5, fixedDir) {
|
|
159
|
+
var rowKey = _ref5.rowKey,
|
|
160
|
+
height = _ref5.height,
|
|
161
|
+
rowIndex = _ref5.rowIndex;
|
|
162
|
+
if (!fixedDir) {
|
|
163
|
+
mainTableHeightsRef.current[rowKey] = height;
|
|
164
|
+
} else {
|
|
165
|
+
if (fixedDir === FixedDir.RIGHT) {
|
|
166
|
+
rightTableHeightsRef.current[rowKey] = height;
|
|
167
|
+
} else {
|
|
168
|
+
leftTableHeightsRef.current[rowKey] = height;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
var maximumHeight = Math.max(leftTableHeightsRef.current[rowKey] || 0, rightTableHeightsRef.current[rowKey] || 0, mainTableHeightsRef.current[rowKey] || 0);
|
|
172
|
+
if (rowHeights[rowKey] !== maximumHeight) {
|
|
173
|
+
resetHeights(rowKey, maximumHeight, rowIndex);
|
|
174
|
+
flushingRowHeights();
|
|
175
|
+
}
|
|
176
|
+
}, [rowHeights, resetHeights, flushingRowHeights]);
|
|
177
|
+
return {
|
|
178
|
+
expandedRowKeys: expandedRowKeys,
|
|
179
|
+
setExpandedRowKeys: setExpandedRowKeys,
|
|
180
|
+
lastRenderedRowIndex: lastRenderedRowIndex,
|
|
181
|
+
setLastRenderedRowIndex: setLastRenderedRowIndex,
|
|
182
|
+
isDynamic: isDynamic,
|
|
183
|
+
isResetting: isResetting,
|
|
184
|
+
rowHeights: rowHeights,
|
|
185
|
+
resetAfterIndex: resetAfterIndex,
|
|
186
|
+
onRowExpanded: onRowExpanded,
|
|
187
|
+
onRowHovered: onRowHovered,
|
|
188
|
+
onRowsRendered: onRowsRendered,
|
|
189
|
+
onRowHeightChange: onRowHeightChange
|
|
190
|
+
};
|
|
191
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Alignment as ScrollStrategy } from "../../../VirtualList";
|
|
3
|
+
import type { TableV2Props } from '../table';
|
|
4
|
+
import type { TableGridInstance } from '../table-grid';
|
|
5
|
+
export type ScrollPos = {
|
|
6
|
+
scrollLeft: number;
|
|
7
|
+
scrollTop: number;
|
|
8
|
+
};
|
|
9
|
+
type GridInstanceRef = React.RefObject<TableGridInstance | null>;
|
|
10
|
+
type UseScrollbarProps = {
|
|
11
|
+
mainTableRef: GridInstanceRef;
|
|
12
|
+
leftTableRef: GridInstanceRef;
|
|
13
|
+
rightTableRef: GridInstanceRef;
|
|
14
|
+
onMaybeEndReached: (scrollPos: ScrollPos) => void;
|
|
15
|
+
};
|
|
16
|
+
export type { ScrollStrategy };
|
|
17
|
+
export declare const useScrollbar: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }: UseScrollbarProps) => {
|
|
18
|
+
scrollPos: ScrollPos;
|
|
19
|
+
scrollTo: (params: ScrollPos) => void;
|
|
20
|
+
scrollToLeft: (scrollLeft: number) => void;
|
|
21
|
+
scrollToTop: (scrollTop: number) => void;
|
|
22
|
+
scrollToRow: (row: number, strategy?: ScrollStrategy) => void;
|
|
23
|
+
onScroll: (params: ScrollPos) => void;
|
|
24
|
+
onVerticalScroll: ({ scrollTop }: ScrollPos) => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import throttle from 'lodash/throttle';
|
|
14
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
15
|
+
export var useScrollbar = function useScrollbar(props, _ref) {
|
|
16
|
+
var mainTableRef = _ref.mainTableRef,
|
|
17
|
+
leftTableRef = _ref.leftTableRef,
|
|
18
|
+
rightTableRef = _ref.rightTableRef,
|
|
19
|
+
onMaybeEndReached = _ref.onMaybeEndReached;
|
|
20
|
+
var _useState = useState({
|
|
21
|
+
scrollLeft: 0,
|
|
22
|
+
scrollTop: 0
|
|
23
|
+
}),
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
scrollPos = _useState2[0],
|
|
26
|
+
setScrollPos = _useState2[1];
|
|
27
|
+
var doScroll = useCallback(function (params) {
|
|
28
|
+
var _mainTableRef$current, _mainTableRef$current2, _leftTableRef$current, _leftTableRef$current2, _rightTableRef$curren, _rightTableRef$curren2;
|
|
29
|
+
var scrollTop = params.scrollTop;
|
|
30
|
+
(_mainTableRef$current = mainTableRef.current) === null || _mainTableRef$current === void 0 || (_mainTableRef$current2 = _mainTableRef$current.scrollTo) === null || _mainTableRef$current2 === void 0 || _mainTableRef$current2.call(_mainTableRef$current, params);
|
|
31
|
+
(_leftTableRef$current = leftTableRef.current) === null || _leftTableRef$current === void 0 || (_leftTableRef$current2 = _leftTableRef$current.scrollToTop) === null || _leftTableRef$current2 === void 0 || _leftTableRef$current2.call(_leftTableRef$current, scrollTop);
|
|
32
|
+
(_rightTableRef$curren = rightTableRef.current) === null || _rightTableRef$curren === void 0 || (_rightTableRef$curren2 = _rightTableRef$curren.scrollToTop) === null || _rightTableRef$curren2 === void 0 || _rightTableRef$curren2.call(_rightTableRef$curren, scrollTop);
|
|
33
|
+
}, [mainTableRef, leftTableRef, rightTableRef]);
|
|
34
|
+
|
|
35
|
+
// methods
|
|
36
|
+
var scrollTo = useCallback(function (params) {
|
|
37
|
+
setScrollPos(params);
|
|
38
|
+
doScroll(params);
|
|
39
|
+
}, [doScroll]);
|
|
40
|
+
var scrollToTop = useCallback(function (scrollTop) {
|
|
41
|
+
setScrollPos(function (prev) {
|
|
42
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
43
|
+
scrollTop: scrollTop
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
doScroll(_objectSpread(_objectSpread({}, scrollPos), {}, {
|
|
47
|
+
scrollTop: scrollTop
|
|
48
|
+
}));
|
|
49
|
+
}, [doScroll, scrollPos]);
|
|
50
|
+
var scrollToLeft = useCallback(function (scrollLeft) {
|
|
51
|
+
var _mainTableRef$current3, _mainTableRef$current4;
|
|
52
|
+
setScrollPos(function (prev) {
|
|
53
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
54
|
+
scrollLeft: scrollLeft
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
(_mainTableRef$current3 = mainTableRef.current) === null || _mainTableRef$current3 === void 0 || (_mainTableRef$current4 = _mainTableRef$current3.scrollTo) === null || _mainTableRef$current4 === void 0 || _mainTableRef$current4.call(_mainTableRef$current3, {
|
|
58
|
+
scrollLeft: scrollLeft,
|
|
59
|
+
scrollTop: scrollPos.scrollTop
|
|
60
|
+
});
|
|
61
|
+
}, [scrollPos.scrollTop, mainTableRef]);
|
|
62
|
+
|
|
63
|
+
// 使用节流优化滚动事件处理
|
|
64
|
+
var throttledScrollTo = useRef(throttle(function (params) {
|
|
65
|
+
var _props$onScroll;
|
|
66
|
+
setScrollPos(params);
|
|
67
|
+
(_props$onScroll = props.onScroll) === null || _props$onScroll === void 0 || _props$onScroll.call(props, params);
|
|
68
|
+
}, 16) // 约60fps
|
|
69
|
+
).current;
|
|
70
|
+
var onScroll = useCallback(function (params) {
|
|
71
|
+
doScroll(params);
|
|
72
|
+
throttledScrollTo(params);
|
|
73
|
+
}, [doScroll, throttledScrollTo]);
|
|
74
|
+
var throttledScrollToTop = useRef(throttle(function (scrollTop) {
|
|
75
|
+
setScrollPos(function (prev) {
|
|
76
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
77
|
+
scrollTop: scrollTop
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}, 16)).current;
|
|
81
|
+
var onVerticalScroll = useCallback(function (_ref2) {
|
|
82
|
+
var scrollTop = _ref2.scrollTop;
|
|
83
|
+
var currentScrollTop = scrollPos.scrollTop;
|
|
84
|
+
if (scrollTop !== currentScrollTop) {
|
|
85
|
+
doScroll(_objectSpread(_objectSpread({}, scrollPos), {}, {
|
|
86
|
+
scrollTop: scrollTop
|
|
87
|
+
}));
|
|
88
|
+
throttledScrollToTop(scrollTop);
|
|
89
|
+
}
|
|
90
|
+
}, [scrollPos, doScroll, throttledScrollToTop]);
|
|
91
|
+
var scrollToRow = useCallback(function (row) {
|
|
92
|
+
var _mainTableRef$current5, _mainTableRef$current6;
|
|
93
|
+
var strategy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto';
|
|
94
|
+
(_mainTableRef$current5 = mainTableRef.current) === null || _mainTableRef$current5 === void 0 || (_mainTableRef$current6 = _mainTableRef$current5.scrollToRow) === null || _mainTableRef$current6 === void 0 || _mainTableRef$current6.call(_mainTableRef$current5, row, strategy);
|
|
95
|
+
}, [mainTableRef]);
|
|
96
|
+
|
|
97
|
+
// When scrollTop changes, maybe reaching the bottom
|
|
98
|
+
// Equivalent to watch(() => scrollPos.scrollTop, ...)
|
|
99
|
+
var prevScrollTopRef = useRef(0);
|
|
100
|
+
useEffect(function () {
|
|
101
|
+
var cur = scrollPos.scrollTop;
|
|
102
|
+
var prev = prevScrollTopRef.current;
|
|
103
|
+
if (cur > prev) {
|
|
104
|
+
onMaybeEndReached(scrollPos);
|
|
105
|
+
}
|
|
106
|
+
prevScrollTopRef.current = cur;
|
|
107
|
+
}, [scrollPos.scrollTop, onMaybeEndReached]);
|
|
108
|
+
return {
|
|
109
|
+
scrollPos: scrollPos,
|
|
110
|
+
scrollTo: scrollTo,
|
|
111
|
+
scrollToLeft: scrollToLeft,
|
|
112
|
+
scrollToTop: scrollToTop,
|
|
113
|
+
scrollToRow: scrollToRow,
|
|
114
|
+
onScroll: onScroll,
|
|
115
|
+
onVerticalScroll: onVerticalScroll
|
|
116
|
+
};
|
|
117
|
+
};
|