@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,408 @@
|
|
|
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
+
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."); }
|
|
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 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; }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
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); }
|
|
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 classNames from 'classnames';
|
|
18
|
+
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
19
|
+
import { useClassNames } from "../../hooks";
|
|
20
|
+
import Scrollbar from "../components/scrollbar";
|
|
21
|
+
import { AUTO_ALIGNMENT, BACKWARD, FORWARD, HORIZONTAL, RTL, RTL_OFFSET_NAG, RTL_OFFSET_POS_ASC, RTL_OFFSET_POS_DESC } from "../defaults";
|
|
22
|
+
import { useCache } from "../hooks/use-cache";
|
|
23
|
+
import { useWheel } from "../hooks/use-wheel";
|
|
24
|
+
import { getRTLOffsetType, getScrollDir, isHorizontal } from "../utils";
|
|
25
|
+
import { isClient, isNumber, isString } from "../../Util";
|
|
26
|
+
var createList = function createList(_ref) {
|
|
27
|
+
var name = _ref.name,
|
|
28
|
+
getOffset = _ref.getOffset,
|
|
29
|
+
getItemSize = _ref.getItemSize,
|
|
30
|
+
getItemOffset = _ref.getItemOffset,
|
|
31
|
+
getEstimatedTotalSize = _ref.getEstimatedTotalSize,
|
|
32
|
+
getStartIndexForOffset = _ref.getStartIndexForOffset,
|
|
33
|
+
getStopIndexForStartIndex = _ref.getStopIndexForStartIndex,
|
|
34
|
+
initCache = _ref.initCache,
|
|
35
|
+
clearCache = _ref.clearCache,
|
|
36
|
+
validateProps = _ref.validateProps;
|
|
37
|
+
var ListComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
38
|
+
var total = props.total,
|
|
39
|
+
_props$cache = props.cache,
|
|
40
|
+
cache = _props$cache === void 0 ? 2 : _props$cache,
|
|
41
|
+
_props$data = props.data,
|
|
42
|
+
data = _props$data === void 0 ? [] : _props$data,
|
|
43
|
+
_props$layout = props.layout,
|
|
44
|
+
layout = _props$layout === void 0 ? 'vertical' : _props$layout,
|
|
45
|
+
_props$initScrollOffs = props.initScrollOffset,
|
|
46
|
+
initScrollOffset = _props$initScrollOffs === void 0 ? 0 : _props$initScrollOffs,
|
|
47
|
+
itemSize = props.itemSize,
|
|
48
|
+
_props$direction = props.direction,
|
|
49
|
+
direction = _props$direction === void 0 ? 'ltr' : _props$direction,
|
|
50
|
+
height = props.height,
|
|
51
|
+
width = props.width,
|
|
52
|
+
style = props.style,
|
|
53
|
+
className = props.className,
|
|
54
|
+
_props$containerEleme = props.containerElement,
|
|
55
|
+
Container = _props$containerEleme === void 0 ? 'div' : _props$containerEleme,
|
|
56
|
+
_props$innerElement = props.innerElement,
|
|
57
|
+
Inner = _props$innerElement === void 0 ? 'div' : _props$innerElement,
|
|
58
|
+
_props$innerProps = props.innerProps,
|
|
59
|
+
innerProps = _props$innerProps === void 0 ? {} : _props$innerProps,
|
|
60
|
+
useIsScrolling = props.useIsScrolling,
|
|
61
|
+
_props$perfMode = props.perfMode,
|
|
62
|
+
perfMode = _props$perfMode === void 0 ? true : _props$perfMode,
|
|
63
|
+
_props$scrollbarAlway = props.scrollbarAlwaysOn,
|
|
64
|
+
scrollbarAlwaysOn = _props$scrollbarAlway === void 0 ? false : _props$scrollbarAlway,
|
|
65
|
+
children = props.children;
|
|
66
|
+
validateProps(props);
|
|
67
|
+
var ns = useClassNames('vl');
|
|
68
|
+
var dynamicSizeCache = useRef(initCache(props));
|
|
69
|
+
var getItemStyleCache = useCache();
|
|
70
|
+
|
|
71
|
+
// refs
|
|
72
|
+
var windowRef = useRef(null);
|
|
73
|
+
var innerRef = useRef(null);
|
|
74
|
+
var scrollbarRef = useRef(null);
|
|
75
|
+
var _useState = useState({
|
|
76
|
+
isScrolling: false,
|
|
77
|
+
scrollDir: 'forward',
|
|
78
|
+
scrollOffset: isNumber(initScrollOffset) ? initScrollOffset : 0,
|
|
79
|
+
updateRequested: false,
|
|
80
|
+
isScrollbarDragging: false,
|
|
81
|
+
scrollbarAlwaysOn: scrollbarAlwaysOn
|
|
82
|
+
}),
|
|
83
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
84
|
+
states = _useState2[0],
|
|
85
|
+
setStates = _useState2[1];
|
|
86
|
+
var itemsToRender = useMemo(function () {
|
|
87
|
+
if (total === 0) {
|
|
88
|
+
return [0, 0, 0, 0];
|
|
89
|
+
}
|
|
90
|
+
var startIndex = getStartIndexForOffset(props, states.scrollOffset, dynamicSizeCache.current);
|
|
91
|
+
var stopIndex = getStopIndexForStartIndex(props, startIndex, states.scrollOffset, dynamicSizeCache.current);
|
|
92
|
+
var cacheBackward = !states.isScrolling || states.scrollDir === BACKWARD ? Math.max(1, cache) : 1;
|
|
93
|
+
var cacheForward = !states.isScrolling || states.scrollDir === FORWARD ? Math.max(1, cache) : 1;
|
|
94
|
+
return [Math.max(0, startIndex - cacheBackward), Math.max(0, Math.min(total - 1, stopIndex + cacheForward)), startIndex, stopIndex];
|
|
95
|
+
}, [total, cache, states.isScrolling, states.scrollDir, states.scrollOffset, props]);
|
|
96
|
+
var estimatedTotalSize = useMemo(function () {
|
|
97
|
+
return getEstimatedTotalSize(props, dynamicSizeCache.current);
|
|
98
|
+
}, [props]);
|
|
99
|
+
var _isHorizontal = useMemo(function () {
|
|
100
|
+
return isHorizontal(layout);
|
|
101
|
+
}, [layout]);
|
|
102
|
+
var windowStyle = useMemo(function () {
|
|
103
|
+
return [_defineProperty(_defineProperty(_defineProperty({
|
|
104
|
+
position: 'relative'
|
|
105
|
+
}, "overflow-".concat(_isHorizontal ? 'x' : 'y'), 'scroll'), "WebkitOverflowScrolling", 'touch'), "willChange", 'transform'), {
|
|
106
|
+
direction: direction,
|
|
107
|
+
height: isNumber(height) ? "".concat(height, "px") : String(height),
|
|
108
|
+
width: isNumber(width) ? "".concat(width, "px") : String(width !== null && width !== void 0 ? width : '')
|
|
109
|
+
}, style !== null && style !== void 0 ? style : {}];
|
|
110
|
+
}, [_isHorizontal, direction, height, width, style]);
|
|
111
|
+
var innerStyle = useMemo(function () {
|
|
112
|
+
var size = estimatedTotalSize;
|
|
113
|
+
var horizontal = _isHorizontal;
|
|
114
|
+
return {
|
|
115
|
+
height: horizontal ? '100%' : "".concat(size, "px"),
|
|
116
|
+
pointerEvents: states.isScrolling ? 'none' : undefined,
|
|
117
|
+
width: horizontal ? "".concat(size, "px") : '100%',
|
|
118
|
+
margin: 0,
|
|
119
|
+
boxSizing: 'border-box'
|
|
120
|
+
};
|
|
121
|
+
}, [estimatedTotalSize, _isHorizontal, states.isScrolling]);
|
|
122
|
+
var clientSize = useMemo(function () {
|
|
123
|
+
return _isHorizontal ? width : height;
|
|
124
|
+
}, [_isHorizontal, width, height]);
|
|
125
|
+
var resetIsScrolling = useCallback(function () {
|
|
126
|
+
setStates(function (prev) {
|
|
127
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
128
|
+
isScrolling: false
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
setTimeout(function () {
|
|
132
|
+
getItemStyleCache(-1, null, null);
|
|
133
|
+
}, 0);
|
|
134
|
+
}, [getItemStyleCache]);
|
|
135
|
+
var scrollTo = useCallback(function (offset) {
|
|
136
|
+
offset = Math.max(offset, 0);
|
|
137
|
+
if (offset === states.scrollOffset) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
setStates(function (prev) {
|
|
141
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
142
|
+
scrollOffset: offset,
|
|
143
|
+
scrollDir: getScrollDir(prev.scrollOffset, offset),
|
|
144
|
+
updateRequested: true
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
requestAnimationFrame(function () {
|
|
148
|
+
return resetIsScrolling();
|
|
149
|
+
});
|
|
150
|
+
}, [states.scrollOffset, resetIsScrolling]);
|
|
151
|
+
var scrollToItem = useCallback(function (idx) {
|
|
152
|
+
var alignment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : AUTO_ALIGNMENT;
|
|
153
|
+
idx = Math.max(0, Math.min(idx, total - 1));
|
|
154
|
+
scrollTo(getOffset(props, idx, alignment, states.scrollOffset, dynamicSizeCache.current));
|
|
155
|
+
}, [total, props, states.scrollOffset]);
|
|
156
|
+
var _useWheel = useWheel({
|
|
157
|
+
atStartEdge: states.scrollOffset <= 0,
|
|
158
|
+
atEndEdge: states.scrollOffset >= estimatedTotalSize - clientSize,
|
|
159
|
+
layout: layout
|
|
160
|
+
}, function (offset) {
|
|
161
|
+
var _scrollbarRef$current, _scrollbarRef$current2;
|
|
162
|
+
(_scrollbarRef$current = scrollbarRef.current) === null || _scrollbarRef$current === void 0 || (_scrollbarRef$current2 = _scrollbarRef$current.onMouseUp) === null || _scrollbarRef$current2 === void 0 || _scrollbarRef$current2.call(_scrollbarRef$current);
|
|
163
|
+
scrollTo(Math.min(states.scrollOffset + offset, estimatedTotalSize - clientSize));
|
|
164
|
+
}),
|
|
165
|
+
onWheel = _useWheel.onWheel;
|
|
166
|
+
var handleWheel = useCallback(function (e) {
|
|
167
|
+
if (!windowRef.current) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
onWheel(e);
|
|
171
|
+
}, [onWheel]);
|
|
172
|
+
useEffect(function () {
|
|
173
|
+
var element = windowRef.current;
|
|
174
|
+
if (!element) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
element.addEventListener('wheel', handleWheel, {
|
|
178
|
+
passive: false
|
|
179
|
+
});
|
|
180
|
+
return function () {
|
|
181
|
+
element.removeEventListener('wheel', handleWheel);
|
|
182
|
+
};
|
|
183
|
+
}, [handleWheel]);
|
|
184
|
+
var emitEvents = useCallback(function () {
|
|
185
|
+
// In React, we don't have emits, but we can keep this for API compatibility
|
|
186
|
+
if (total > 0) {
|
|
187
|
+
var _itemsToRender = _slicedToArray(itemsToRender, 4),
|
|
188
|
+
cacheStart = _itemsToRender[0],
|
|
189
|
+
cacheEnd = _itemsToRender[1],
|
|
190
|
+
visibleStart = _itemsToRender[2],
|
|
191
|
+
visibleEnd = _itemsToRender[3];
|
|
192
|
+
// Could emit events here if needed
|
|
193
|
+
}
|
|
194
|
+
}, [total, itemsToRender]);
|
|
195
|
+
var scrollVertically = useCallback(function (e) {
|
|
196
|
+
var _e$currentTarget = e.currentTarget,
|
|
197
|
+
clientHeight = _e$currentTarget.clientHeight,
|
|
198
|
+
scrollHeight = _e$currentTarget.scrollHeight,
|
|
199
|
+
scrollTop = _e$currentTarget.scrollTop;
|
|
200
|
+
if (states.scrollOffset === scrollTop) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));
|
|
204
|
+
setStates(function (prev) {
|
|
205
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
206
|
+
isScrolling: true,
|
|
207
|
+
scrollDir: getScrollDir(prev.scrollOffset, scrollOffset),
|
|
208
|
+
scrollOffset: scrollOffset,
|
|
209
|
+
updateRequested: false
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
requestAnimationFrame(function () {
|
|
213
|
+
return resetIsScrolling();
|
|
214
|
+
});
|
|
215
|
+
}, [states.scrollOffset, resetIsScrolling]);
|
|
216
|
+
var scrollHorizontally = useCallback(function (e) {
|
|
217
|
+
var _e$currentTarget2 = e.currentTarget,
|
|
218
|
+
clientWidth = _e$currentTarget2.clientWidth,
|
|
219
|
+
scrollLeft = _e$currentTarget2.scrollLeft,
|
|
220
|
+
scrollWidth = _e$currentTarget2.scrollWidth;
|
|
221
|
+
if (states.scrollOffset === scrollLeft) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
var scrollOffset = scrollLeft;
|
|
225
|
+
if (direction === RTL) {
|
|
226
|
+
switch (getRTLOffsetType()) {
|
|
227
|
+
case RTL_OFFSET_NAG:
|
|
228
|
+
{
|
|
229
|
+
scrollOffset = -scrollLeft;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
case RTL_OFFSET_POS_DESC:
|
|
233
|
+
{
|
|
234
|
+
scrollOffset = scrollWidth - clientWidth - scrollLeft;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));
|
|
240
|
+
setStates(function (prev) {
|
|
241
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
242
|
+
isScrolling: true,
|
|
243
|
+
scrollDir: getScrollDir(prev.scrollOffset, scrollOffset),
|
|
244
|
+
scrollOffset: scrollOffset,
|
|
245
|
+
updateRequested: false
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
requestAnimationFrame(function () {
|
|
249
|
+
return resetIsScrolling();
|
|
250
|
+
});
|
|
251
|
+
}, [direction, resetIsScrolling]);
|
|
252
|
+
var onScroll = useCallback(function (e) {
|
|
253
|
+
if (_isHorizontal) {
|
|
254
|
+
scrollHorizontally(e);
|
|
255
|
+
} else {
|
|
256
|
+
scrollVertically(e);
|
|
257
|
+
}
|
|
258
|
+
emitEvents();
|
|
259
|
+
}, [_isHorizontal, scrollHorizontally, scrollVertically, emitEvents]);
|
|
260
|
+
var onScrollbarScroll = useCallback(function (distanceToGo, totalSteps) {
|
|
261
|
+
var offset = (estimatedTotalSize - clientSize) / totalSteps * distanceToGo;
|
|
262
|
+
scrollTo(Math.min(estimatedTotalSize - clientSize, offset));
|
|
263
|
+
}, [estimatedTotalSize, clientSize, scrollTo]);
|
|
264
|
+
var getItemStyle = useCallback(function (idx) {
|
|
265
|
+
var itemStyleCache = getItemStyleCache(clearCache && itemSize, clearCache && layout, clearCache && direction);
|
|
266
|
+
var style;
|
|
267
|
+
if (Object.prototype.hasOwnProperty.call(itemStyleCache, String(idx))) {
|
|
268
|
+
style = itemStyleCache[idx];
|
|
269
|
+
} else {
|
|
270
|
+
var offset = getItemOffset(props, idx, dynamicSizeCache.current);
|
|
271
|
+
var size = getItemSize(props, idx, dynamicSizeCache.current);
|
|
272
|
+
var horizontal = _isHorizontal;
|
|
273
|
+
var isRtl = direction === RTL;
|
|
274
|
+
var offsetHorizontal = horizontal ? offset : 0;
|
|
275
|
+
itemStyleCache[idx] = style = {
|
|
276
|
+
position: 'absolute',
|
|
277
|
+
left: isRtl ? undefined : "".concat(offsetHorizontal, "px"),
|
|
278
|
+
right: isRtl ? "".concat(offsetHorizontal, "px") : undefined,
|
|
279
|
+
top: !horizontal ? "".concat(offset, "px") : 0,
|
|
280
|
+
height: !horizontal ? "".concat(size, "px") : '100%',
|
|
281
|
+
width: horizontal ? "".concat(size, "px") : '100%'
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return style;
|
|
285
|
+
}, [getItemStyleCache, clearCache, itemSize, layout, direction, getItemOffset, getItemSize, props, _isHorizontal]);
|
|
286
|
+
var resetScrollTop = useCallback(function () {
|
|
287
|
+
var window = windowRef.current;
|
|
288
|
+
if (window) {
|
|
289
|
+
window.scrollTop = 0;
|
|
290
|
+
}
|
|
291
|
+
}, []);
|
|
292
|
+
|
|
293
|
+
// Mount effect
|
|
294
|
+
useEffect(function () {
|
|
295
|
+
if (!isClient) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
var windowElement = windowRef.current;
|
|
299
|
+
if (isNumber(initScrollOffset) && windowElement) {
|
|
300
|
+
if (_isHorizontal) {
|
|
301
|
+
windowElement.scrollLeft = initScrollOffset;
|
|
302
|
+
} else {
|
|
303
|
+
windowElement.scrollTop = initScrollOffset;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
emitEvents();
|
|
307
|
+
}, []);
|
|
308
|
+
|
|
309
|
+
// Update effect for scroll position sync
|
|
310
|
+
useLayoutEffect(function () {
|
|
311
|
+
var windowElement = windowRef.current;
|
|
312
|
+
if (states.updateRequested && windowElement) {
|
|
313
|
+
if (layout === HORIZONTAL) {
|
|
314
|
+
if (direction === RTL) {
|
|
315
|
+
switch (getRTLOffsetType()) {
|
|
316
|
+
case RTL_OFFSET_NAG:
|
|
317
|
+
{
|
|
318
|
+
windowElement.scrollLeft = -states.scrollOffset;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
case RTL_OFFSET_POS_ASC:
|
|
322
|
+
{
|
|
323
|
+
windowElement.scrollLeft = states.scrollOffset;
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
default:
|
|
327
|
+
{
|
|
328
|
+
var clientWidth = windowElement.clientWidth,
|
|
329
|
+
scrollWidth = windowElement.scrollWidth;
|
|
330
|
+
windowElement.scrollLeft = scrollWidth - clientWidth - states.scrollOffset;
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
} else {
|
|
335
|
+
windowElement.scrollLeft = states.scrollOffset;
|
|
336
|
+
}
|
|
337
|
+
} else {
|
|
338
|
+
windowElement.scrollTop = states.scrollOffset;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}, [states.updateRequested, states.scrollOffset, layout, direction]);
|
|
342
|
+
|
|
343
|
+
// Expose methods via ref
|
|
344
|
+
React.useImperativeHandle(ref, function () {
|
|
345
|
+
return {
|
|
346
|
+
windowRef: windowRef,
|
|
347
|
+
innerRef: innerRef,
|
|
348
|
+
getItemStyleCache: getItemStyleCache,
|
|
349
|
+
scrollTo: scrollTo,
|
|
350
|
+
scrollToItem: scrollToItem,
|
|
351
|
+
resetScrollTop: resetScrollTop,
|
|
352
|
+
states: states
|
|
353
|
+
};
|
|
354
|
+
}, [scrollTo, scrollToItem, resetScrollTop, states, getItemStyleCache]);
|
|
355
|
+
var _itemsToRender2 = _slicedToArray(itemsToRender, 2),
|
|
356
|
+
start = _itemsToRender2[0],
|
|
357
|
+
end = _itemsToRender2[1];
|
|
358
|
+
var childrenNodes = useMemo(function () {
|
|
359
|
+
var nodes = [];
|
|
360
|
+
if (total > 0) {
|
|
361
|
+
for (var i = start; i <= end; i++) {
|
|
362
|
+
nodes.push( /*#__PURE__*/React.createElement(React.Fragment, {
|
|
363
|
+
key: i
|
|
364
|
+
}, children === null || children === void 0 ? void 0 : children({
|
|
365
|
+
data: data,
|
|
366
|
+
index: i,
|
|
367
|
+
isScrolling: useIsScrolling ? states.isScrolling : undefined,
|
|
368
|
+
style: getItemStyle(i)
|
|
369
|
+
})));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return nodes;
|
|
373
|
+
}, [start, end, total, data, useIsScrolling, states.isScrolling, getItemStyle, children]);
|
|
374
|
+
var InnerNode = /*#__PURE__*/React.createElement(Inner, _objectSpread(_objectSpread({}, innerProps), {}, {
|
|
375
|
+
style: innerStyle,
|
|
376
|
+
ref: innerRef
|
|
377
|
+
}), childrenNodes);
|
|
378
|
+
var listContainer = /*#__PURE__*/React.createElement(Container, {
|
|
379
|
+
className: classNames(ns.e('window'), className),
|
|
380
|
+
style: Object.assign.apply(Object, [{}].concat(_toConsumableArray(windowStyle))),
|
|
381
|
+
onScroll: onScroll,
|
|
382
|
+
ref: windowRef,
|
|
383
|
+
key: 0,
|
|
384
|
+
children: !isString(Container) ? {
|
|
385
|
+
default: function _default() {
|
|
386
|
+
return [InnerNode];
|
|
387
|
+
}
|
|
388
|
+
} : [InnerNode]
|
|
389
|
+
});
|
|
390
|
+
var scrollbar = /*#__PURE__*/React.createElement(Scrollbar, {
|
|
391
|
+
ref: scrollbarRef,
|
|
392
|
+
clientSize: clientSize,
|
|
393
|
+
layout: layout,
|
|
394
|
+
onScroll: onScrollbarScroll,
|
|
395
|
+
ratio: clientSize * 100 / estimatedTotalSize,
|
|
396
|
+
scrollFrom: states.scrollOffset / (estimatedTotalSize - clientSize),
|
|
397
|
+
total: total,
|
|
398
|
+
alwaysOn: states.scrollbarAlwaysOn
|
|
399
|
+
});
|
|
400
|
+
return /*#__PURE__*/React.createElement('div', {
|
|
401
|
+
key: 0,
|
|
402
|
+
className: classNames(ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : '')
|
|
403
|
+
}, [listContainer, scrollbar]);
|
|
404
|
+
});
|
|
405
|
+
ListComponent.displayName = name !== null && name !== void 0 ? name : 'ElVirtualList';
|
|
406
|
+
return ListComponent;
|
|
407
|
+
};
|
|
408
|
+
export default createList;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { VirtualizedGridProps } from '../props';
|
|
3
|
+
type Indices = {
|
|
4
|
+
columnIndex?: number;
|
|
5
|
+
rowIndex?: number;
|
|
6
|
+
};
|
|
7
|
+
declare const DynamicSizeGrid: React.ForwardRefExoticComponent<VirtualizedGridProps & React.RefAttributes<import("../types").GridExposes>>;
|
|
8
|
+
export default DynamicSizeGrid;
|
|
9
|
+
export type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void;
|
|
10
|
+
export type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void;
|
|
11
|
+
export type DynamicSizeGridInstance = React.ElementRef<typeof DynamicSizeGrid> & {
|
|
12
|
+
resetAfterColumnIndex: ResetAfterIndex;
|
|
13
|
+
resetAfterRowIndex: ResetAfterIndex;
|
|
14
|
+
resetAfter: ResetAfterIndices;
|
|
15
|
+
};
|
|
@@ -0,0 +1,242 @@
|
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
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."); }
|
|
4
|
+
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); }
|
|
5
|
+
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; }
|
|
6
|
+
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; } }
|
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
import createGrid from "../builders/build-grid";
|
|
9
|
+
import { AUTO_ALIGNMENT, CENTERED_ALIGNMENT, DEFAULT_DYNAMIC_LIST_ITEM_SIZE, END_ALIGNMENT, SMART_ALIGNMENT, START_ALIGNMENT } from "../defaults";
|
|
10
|
+
var max = Math.max,
|
|
11
|
+
min = Math.min,
|
|
12
|
+
floor = Math.floor;
|
|
13
|
+
var SCOPE = 'ElDynamicSizeGrid';
|
|
14
|
+
// generates props access key via type
|
|
15
|
+
var ACCESS_SIZER_KEY_MAP = {
|
|
16
|
+
column: 'columnWidth',
|
|
17
|
+
row: 'rowHeight'
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// generates cache access key via type
|
|
21
|
+
var ACCESS_LAST_VISITED_KEY_MAP = {
|
|
22
|
+
column: 'lastVisitedColumnIndex',
|
|
23
|
+
row: 'lastVisitedRowIndex'
|
|
24
|
+
};
|
|
25
|
+
var getItemFromCache = function getItemFromCache(props, index, gridCache, type) {
|
|
26
|
+
var _ref = [gridCache[type], props[ACCESS_SIZER_KEY_MAP[type]], gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]]],
|
|
27
|
+
cachedItems = _ref[0],
|
|
28
|
+
sizer = _ref[1],
|
|
29
|
+
lastVisited = _ref[2];
|
|
30
|
+
if (index > lastVisited) {
|
|
31
|
+
var offset = 0;
|
|
32
|
+
if (lastVisited >= 0) {
|
|
33
|
+
var item = cachedItems[lastVisited];
|
|
34
|
+
offset = item.offset + item.size;
|
|
35
|
+
}
|
|
36
|
+
for (var i = lastVisited + 1; i <= index; i++) {
|
|
37
|
+
var size = sizer(i);
|
|
38
|
+
cachedItems[i] = {
|
|
39
|
+
offset: offset,
|
|
40
|
+
size: size
|
|
41
|
+
};
|
|
42
|
+
offset += size;
|
|
43
|
+
}
|
|
44
|
+
gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index;
|
|
45
|
+
}
|
|
46
|
+
return cachedItems[index];
|
|
47
|
+
};
|
|
48
|
+
var bs = function bs(props, gridCache, low, high, offset, type) {
|
|
49
|
+
while (low <= high) {
|
|
50
|
+
var mid = low + floor((high - low) / 2);
|
|
51
|
+
var currentOffset = getItemFromCache(props, mid, gridCache, type).offset;
|
|
52
|
+
if (currentOffset === offset) {
|
|
53
|
+
return mid;
|
|
54
|
+
} else if (currentOffset < offset) {
|
|
55
|
+
low = mid + 1;
|
|
56
|
+
} else {
|
|
57
|
+
high = mid - 1;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return max(0, low - 1);
|
|
61
|
+
};
|
|
62
|
+
var es = function es(props, gridCache, idx, offset, type) {
|
|
63
|
+
var total = type === 'column' ? props.totalColumn : props.totalRow;
|
|
64
|
+
var exponent = 1;
|
|
65
|
+
while (idx < total && getItemFromCache(props, idx, gridCache, type).offset < offset) {
|
|
66
|
+
idx += exponent;
|
|
67
|
+
exponent *= 2;
|
|
68
|
+
}
|
|
69
|
+
return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type);
|
|
70
|
+
};
|
|
71
|
+
var findItem = function findItem(props, gridCache, offset, type) {
|
|
72
|
+
var _ref2 = [gridCache[type], gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]]],
|
|
73
|
+
cache = _ref2[0],
|
|
74
|
+
lastVisitedIndex = _ref2[1];
|
|
75
|
+
var lastVisitedItemOffset = lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0;
|
|
76
|
+
if (lastVisitedItemOffset >= offset) {
|
|
77
|
+
return bs(props, gridCache, 0, lastVisitedIndex, offset, type);
|
|
78
|
+
}
|
|
79
|
+
return es(props, gridCache, max(0, lastVisitedIndex), offset, type);
|
|
80
|
+
};
|
|
81
|
+
var getEstimatedTotalHeight = function getEstimatedTotalHeight(_ref3, _ref4) {
|
|
82
|
+
var totalRow = _ref3.totalRow;
|
|
83
|
+
var estimatedRowHeight = _ref4.estimatedRowHeight,
|
|
84
|
+
lastVisitedRowIndex = _ref4.lastVisitedRowIndex,
|
|
85
|
+
row = _ref4.row;
|
|
86
|
+
var sizeOfVisitedRows = 0;
|
|
87
|
+
if (lastVisitedRowIndex >= totalRow) {
|
|
88
|
+
lastVisitedRowIndex = totalRow - 1;
|
|
89
|
+
}
|
|
90
|
+
if (lastVisitedRowIndex >= 0) {
|
|
91
|
+
var item = row[lastVisitedRowIndex];
|
|
92
|
+
sizeOfVisitedRows = item.offset + item.size;
|
|
93
|
+
}
|
|
94
|
+
var unvisitedItems = totalRow - lastVisitedRowIndex - 1;
|
|
95
|
+
var sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight;
|
|
96
|
+
return sizeOfVisitedRows + sizeOfUnvisitedItems;
|
|
97
|
+
};
|
|
98
|
+
var getEstimatedTotalWidth = function getEstimatedTotalWidth(_ref5, _ref6) {
|
|
99
|
+
var totalColumn = _ref5.totalColumn;
|
|
100
|
+
var column = _ref6.column,
|
|
101
|
+
estimatedColumnWidth = _ref6.estimatedColumnWidth,
|
|
102
|
+
lastVisitedColumnIndex = _ref6.lastVisitedColumnIndex;
|
|
103
|
+
var sizeOfVisitedColumns = 0;
|
|
104
|
+
if (lastVisitedColumnIndex > totalColumn) {
|
|
105
|
+
lastVisitedColumnIndex = totalColumn - 1;
|
|
106
|
+
}
|
|
107
|
+
if (lastVisitedColumnIndex >= 0) {
|
|
108
|
+
var item = column[lastVisitedColumnIndex];
|
|
109
|
+
sizeOfVisitedColumns = item.offset + item.size;
|
|
110
|
+
}
|
|
111
|
+
var unvisitedItems = totalColumn - lastVisitedColumnIndex - 1;
|
|
112
|
+
var sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth;
|
|
113
|
+
return sizeOfVisitedColumns + sizeOfUnvisitedItems;
|
|
114
|
+
};
|
|
115
|
+
var ACCESS_ESTIMATED_SIZE_KEY_MAP = {
|
|
116
|
+
column: getEstimatedTotalWidth,
|
|
117
|
+
row: getEstimatedTotalHeight
|
|
118
|
+
};
|
|
119
|
+
var getOffset = function getOffset(props, index, alignment, scrollOffset, cache, type, scrollBarWidth) {
|
|
120
|
+
var _ref7 = [type === 'row' ? props.height : props.width, ACCESS_ESTIMATED_SIZE_KEY_MAP[type]],
|
|
121
|
+
_ref8 = _slicedToArray(_ref7, 2),
|
|
122
|
+
size = _ref8[0],
|
|
123
|
+
estimatedSizeAssociates = _ref8[1];
|
|
124
|
+
var item = getItemFromCache(props, index, cache, type);
|
|
125
|
+
var estimatedSize = estimatedSizeAssociates(props, cache);
|
|
126
|
+
var maxOffset = max(0, min(estimatedSize - size, item.offset));
|
|
127
|
+
var minOffset = max(0, item.offset - size + scrollBarWidth + item.size);
|
|
128
|
+
var finalAlignment = alignment;
|
|
129
|
+
if (alignment === SMART_ALIGNMENT) {
|
|
130
|
+
if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {
|
|
131
|
+
finalAlignment = AUTO_ALIGNMENT;
|
|
132
|
+
} else {
|
|
133
|
+
finalAlignment = CENTERED_ALIGNMENT;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
switch (finalAlignment) {
|
|
137
|
+
case START_ALIGNMENT:
|
|
138
|
+
{
|
|
139
|
+
return maxOffset;
|
|
140
|
+
}
|
|
141
|
+
case END_ALIGNMENT:
|
|
142
|
+
{
|
|
143
|
+
return minOffset;
|
|
144
|
+
}
|
|
145
|
+
case CENTERED_ALIGNMENT:
|
|
146
|
+
{
|
|
147
|
+
return Math.round(minOffset + (maxOffset - minOffset) / 2);
|
|
148
|
+
}
|
|
149
|
+
case AUTO_ALIGNMENT:
|
|
150
|
+
default:
|
|
151
|
+
{
|
|
152
|
+
if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {
|
|
153
|
+
return scrollOffset;
|
|
154
|
+
} else if (minOffset > maxOffset) {
|
|
155
|
+
return minOffset;
|
|
156
|
+
} else if (scrollOffset < minOffset) {
|
|
157
|
+
return minOffset;
|
|
158
|
+
} else {
|
|
159
|
+
return maxOffset;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
var DynamicSizeGrid = createGrid({
|
|
165
|
+
name: 'ElDynamicSizeGrid',
|
|
166
|
+
getColumnPosition: function getColumnPosition(props, idx, cache) {
|
|
167
|
+
var item = getItemFromCache(props, idx, cache, 'column');
|
|
168
|
+
return [item.size, item.offset];
|
|
169
|
+
},
|
|
170
|
+
getRowPosition: function getRowPosition(props, idx, cache) {
|
|
171
|
+
var item = getItemFromCache(props, idx, cache, 'row');
|
|
172
|
+
return [item.size, item.offset];
|
|
173
|
+
},
|
|
174
|
+
getColumnOffset: function getColumnOffset(props, columnIndex, alignment, scrollLeft, cache, scrollBarWidth) {
|
|
175
|
+
return getOffset(props, columnIndex, alignment, scrollLeft, cache, 'column', scrollBarWidth);
|
|
176
|
+
},
|
|
177
|
+
getRowOffset: function getRowOffset(props, rowIndex, alignment, scrollTop, cache, scrollBarWidth) {
|
|
178
|
+
return getOffset(props, rowIndex, alignment, scrollTop, cache, 'row', scrollBarWidth);
|
|
179
|
+
},
|
|
180
|
+
getColumnStartIndexForOffset: function getColumnStartIndexForOffset(props, scrollLeft, cache) {
|
|
181
|
+
return findItem(props, cache, scrollLeft, 'column');
|
|
182
|
+
},
|
|
183
|
+
getColumnStopIndexForStartIndex: function getColumnStopIndexForStartIndex(props, startIndex, scrollLeft, cache) {
|
|
184
|
+
var item = getItemFromCache(props, startIndex, cache, 'column');
|
|
185
|
+
var maxOffset = scrollLeft + props.width;
|
|
186
|
+
var offset = item.offset + item.size;
|
|
187
|
+
var stopIndex = startIndex;
|
|
188
|
+
while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {
|
|
189
|
+
stopIndex++;
|
|
190
|
+
offset += getItemFromCache(props, startIndex, cache, 'column').size;
|
|
191
|
+
}
|
|
192
|
+
return stopIndex;
|
|
193
|
+
},
|
|
194
|
+
getEstimatedTotalHeight: getEstimatedTotalHeight,
|
|
195
|
+
getEstimatedTotalWidth: getEstimatedTotalWidth,
|
|
196
|
+
getRowStartIndexForOffset: function getRowStartIndexForOffset(props, scrollTop, cache) {
|
|
197
|
+
return findItem(props, cache, scrollTop, 'row');
|
|
198
|
+
},
|
|
199
|
+
getRowStopIndexForStartIndex: function getRowStopIndexForStartIndex(props, startIndex, scrollTop, cache) {
|
|
200
|
+
var totalRow = props.totalRow,
|
|
201
|
+
height = props.height;
|
|
202
|
+
var item = getItemFromCache(props, startIndex, cache, 'row');
|
|
203
|
+
var maxOffset = scrollTop + height;
|
|
204
|
+
var offset = item.size + item.offset;
|
|
205
|
+
var stopIndex = startIndex;
|
|
206
|
+
while (stopIndex < totalRow - 1 && offset < maxOffset) {
|
|
207
|
+
stopIndex++;
|
|
208
|
+
offset += getItemFromCache(props, stopIndex, cache, 'row').size;
|
|
209
|
+
}
|
|
210
|
+
return stopIndex;
|
|
211
|
+
},
|
|
212
|
+
injectToInstance: function injectToInstance(cache) {
|
|
213
|
+
// In React, we'll expose these methods via ref
|
|
214
|
+
},
|
|
215
|
+
initCache: function initCache(_ref9) {
|
|
216
|
+
var _ref9$estimatedColumn = _ref9.estimatedColumnWidth,
|
|
217
|
+
estimatedColumnWidth = _ref9$estimatedColumn === void 0 ? DEFAULT_DYNAMIC_LIST_ITEM_SIZE : _ref9$estimatedColumn,
|
|
218
|
+
_ref9$estimatedRowHei = _ref9.estimatedRowHeight,
|
|
219
|
+
estimatedRowHeight = _ref9$estimatedRowHei === void 0 ? DEFAULT_DYNAMIC_LIST_ITEM_SIZE : _ref9$estimatedRowHei;
|
|
220
|
+
var cache = {
|
|
221
|
+
column: {},
|
|
222
|
+
estimatedColumnWidth: estimatedColumnWidth,
|
|
223
|
+
estimatedRowHeight: estimatedRowHeight,
|
|
224
|
+
lastVisitedColumnIndex: -1,
|
|
225
|
+
lastVisitedRowIndex: -1,
|
|
226
|
+
row: {}
|
|
227
|
+
};
|
|
228
|
+
return cache;
|
|
229
|
+
},
|
|
230
|
+
clearCache: false,
|
|
231
|
+
validateProps: function validateProps(_ref10) {
|
|
232
|
+
var columnWidth = _ref10.columnWidth,
|
|
233
|
+
rowHeight = _ref10.rowHeight;
|
|
234
|
+
if (typeof columnWidth !== 'function') {
|
|
235
|
+
throw new Error("[".concat(SCOPE, "] \"columnWidth\" must be passed as function, instead ").concat(_typeof(columnWidth), " was given."));
|
|
236
|
+
}
|
|
237
|
+
if (typeof rowHeight !== 'function') {
|
|
238
|
+
throw new Error("[".concat(SCOPE, "] \"rowHeight\" must be passed as function, instead ").concat(_typeof(rowHeight), " was given."));
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
export default DynamicSizeGrid;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { VirtualizedListProps } from '../props';
|
|
3
|
+
declare const DynamicSizeList: React.ForwardRefExoticComponent<VirtualizedListProps & {
|
|
4
|
+
children: (props: any) => React.ReactNode;
|
|
5
|
+
} & React.RefAttributes<import("../types").ListExposes>>;
|
|
6
|
+
export type DynamicSizeListInstance = React.ElementRef<typeof DynamicSizeList> & unknown;
|
|
7
|
+
export default DynamicSizeList;
|