@qsxy/element-plus-react 1.0.3 → 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/typings.d.ts +1 -1
- 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/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 -13
- package/dist/Cascader/useCascader.js +120 -27
- 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/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 +139 -149
- 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 +122 -100
- 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 +84 -29
- package/dist/Input/index.d.ts +1 -0
- package/dist/Input/index.js +2 -1
- package/dist/Input/typings.d.ts +3 -25
- package/dist/InputNumber/InputNumber.js +74 -23
- package/dist/InputNumber/typings.d.ts +0 -4
- package/dist/Menu/Menu.js +1 -1
- package/dist/Menu/typings.d.ts +3 -13
- package/dist/Message/index.js +5 -3
- package/dist/MessageBox/MessageBox.js +29 -33
- package/dist/MessageBox/typings.d.ts +0 -1
- 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/SelectCore.js +52 -9
- package/dist/Select/typings.d.ts +13 -8
- package/dist/Select/useSelect.d.ts +23 -9
- package/dist/Select/useSelect.js +55 -8
- 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.js +9 -12
- package/dist/Space/useSpace.js +2 -1
- package/dist/Statistic/Statistic.js +1 -2
- 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/typings.d.ts +0 -1
- package/dist/Table/Table.js +14 -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 +26 -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/TableV2/src/constants.js +22 -0
- 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/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/Tree.js +1 -0
- package/dist/Tree/model/tree-store.js +4 -4
- package/dist/Tree/typings.d.ts +3 -1
- package/dist/TreeSelect/typings.d.ts +1 -1
- package/dist/TreeSelect/useSelect.d.ts +38 -85
- package/dist/TreeSelect/useSelect.js +1 -1
- package/dist/TreeSelect/useTree.d.ts +47 -52
- package/dist/TreeSelect/useTree.js +2 -2
- package/dist/Upload/UploadContent.js +1 -1
- package/dist/Upload/typings.d.ts +1 -1
- package/dist/Util/PopupManager.js +1 -1
- package/dist/Util/aria.d.ts +1 -1
- package/dist/Util/base.d.ts +33 -8
- package/dist/Util/base.js +44 -16
- 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/hooks/index.d.ts +1 -0
- 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/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 +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +33 -12
- package/dist/index.js +17 -6
- 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 -115
- package/theme-chalk/anchor-link.scss +45 -0
- package/theme-chalk/anchor.scss +93 -0
- 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/cascader-panel.scss +57 -82
- package/theme-chalk/cascader.scss +206 -160
- package/theme-chalk/checkbox.scss +4 -0
- package/theme-chalk/collapse-item.scss +72 -0
- package/theme-chalk/collapse.scss +21 -76
- package/theme-chalk/common/popup.scss +47 -0
- package/theme-chalk/common/var.scss +62 -6
- package/theme-chalk/dialog.scss +145 -137
- package/theme-chalk/drawer.scss +252 -247
- package/theme-chalk/form-item.scss +437 -0
- package/theme-chalk/form.scss +23 -361
- package/theme-chalk/index.scss +17 -1
- package/theme-chalk/input/input.scss +19 -0
- package/theme-chalk/input-number.scss +179 -192
- package/theme-chalk/message-box.scss +160 -133
- package/theme-chalk/message.scss +104 -104
- package/theme-chalk/mixins/mixins.scss +148 -151
- package/theme-chalk/notification.scss +109 -109
- package/theme-chalk/overlay.scss +17 -0
- package/theme-chalk/page-header.scss +60 -0
- package/theme-chalk/popper.scss +1 -1
- package/theme-chalk/radio.scss +3 -3
- package/theme-chalk/segmented.scss +186 -0
- package/theme-chalk/slider.scss +212 -0
- package/theme-chalk/space.scss +20 -20
- package/theme-chalk/statistic.scss +35 -35
- package/theme-chalk/step.scss +320 -0
- package/theme-chalk/steps.scss +22 -0
- package/theme-chalk/table-v2.scss +237 -0
- package/theme-chalk/table.scss +461 -482
- 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/tree-select.scss +41 -41
- package/theme-chalk/virtual-list.scss +40 -0
- 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/input-number.bak +0 -172
- package/theme-chalk/link.scss--bak +0 -99
- package/theme-chalk/notification.bak +0 -156
- 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
- /package/dist/TreeSelect/{utils.d.ts → Utils.d.ts} +0 -0
- /package/dist/TreeSelect/{utils.js → Utils.js} +0 -0
|
@@ -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;
|