@mezzanine-ui/react 0.13.9 → 0.13.11
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/Accordion/Accordion.d.ts +24 -24
- package/Accordion/Accordion.js +25 -25
- package/Accordion/AccordionControlContext.d.ts +9 -9
- package/Accordion/AccordionDetails.d.ts +10 -10
- package/Accordion/AccordionDetails.js +16 -16
- package/Accordion/AccordionSummary.d.ts +18 -18
- package/Accordion/AccordionSummary.js +39 -39
- package/Accordion/index.d.ts +3 -3
- package/Alert/Alert.d.ts +20 -20
- package/Alert/Alert.js +9 -9
- package/Alert/index.d.ts +2 -2
- package/AppBar/AppBar.d.ts +14 -14
- package/AppBar/AppBar.js +25 -25
- package/AppBar/AppBarBrand.d.ts +5 -5
- package/AppBar/AppBarBrand.js +4 -4
- package/AppBar/AppBarMain.d.ts +5 -5
- package/AppBar/AppBarMain.js +4 -4
- package/AppBar/AppBarSupport.d.ts +5 -5
- package/AppBar/AppBarSupport.js +4 -4
- package/AppBar/index.d.ts +4 -4
- package/Badge/Badge.d.ts +19 -19
- package/Badge/Badge.js +20 -20
- package/Badge/BadgeContainer.d.ts +8 -8
- package/Badge/BadgeContainer.js +7 -7
- package/Badge/index.d.ts +2 -2
- package/Button/Button.d.ts +11 -11
- package/Button/Button.js +29 -29
- package/Button/ButtonGroup.d.ts +63 -63
- package/Button/ButtonGroup.js +29 -29
- package/Button/IconButton.d.ts +21 -21
- package/Button/IconButton.js +7 -7
- package/Button/index.d.ts +20 -20
- package/Button/typings.d.ts +44 -44
- package/Calendar/Calendar.d.ts +69 -69
- package/Calendar/Calendar.js +38 -38
- package/Calendar/CalendarCell.d.ts +22 -21
- package/Calendar/CalendarCell.js +11 -11
- package/Calendar/CalendarContext.d.ts +22 -22
- package/Calendar/CalendarContext.js +28 -28
- package/Calendar/CalendarControls.d.ts +26 -25
- package/Calendar/CalendarControls.js +11 -11
- package/Calendar/CalendarDayOfWeek.d.ts +15 -14
- package/Calendar/CalendarDayOfWeek.js +9 -9
- package/Calendar/CalendarDays.d.ts +38 -37
- package/Calendar/CalendarDays.js +36 -36
- package/Calendar/CalendarMonths.d.ts +42 -41
- package/Calendar/CalendarMonths.js +22 -22
- package/Calendar/CalendarWeeks.d.ts +41 -40
- package/Calendar/CalendarWeeks.js +42 -42
- package/Calendar/CalendarYears.d.ts +40 -39
- package/Calendar/CalendarYears.js +25 -25
- package/Calendar/index.d.ts +12 -12
- package/Calendar/useCalendarControlModifiers.d.ts +7 -7
- package/Calendar/useCalendarControlModifiers.js +20 -20
- package/Calendar/useCalendarControls.d.ts +12 -12
- package/Calendar/useCalendarControls.js +27 -27
- package/Calendar/useCalendarModeStack.d.ts +6 -6
- package/Calendar/useCalendarModeStack.js +10 -10
- package/Card/Card.d.ts +51 -51
- package/Card/Card.js +12 -12
- package/Card/CardActions.d.ts +34 -34
- package/Card/CardActions.js +7 -7
- package/Card/index.d.ts +2 -2
- package/Checkbox/CheckAll.d.ts +13 -13
- package/Checkbox/CheckAll.js +28 -28
- package/Checkbox/Checkbox.d.ts +46 -46
- package/Checkbox/Checkbox.js +23 -23
- package/Checkbox/CheckboxGroup.d.ts +47 -47
- package/Checkbox/CheckboxGroup.js +27 -27
- package/Checkbox/CheckboxGroupContext.d.ts +9 -9
- package/Checkbox/index.d.ts +4 -4
- package/ConfirmActions/ConfirmActions.d.ts +45 -45
- package/ConfirmActions/ConfirmActions.js +8 -8
- package/ConfirmActions/index.d.ts +1 -1
- package/DatePicker/DatePicker.d.ts +32 -32
- package/DatePicker/DatePicker.js +119 -119
- package/DatePicker/DatePickerCalendar.d.ts +32 -32
- package/DatePicker/DatePickerCalendar.js +52 -52
- package/DatePicker/index.d.ts +2 -2
- package/DateRangePicker/DateRangePicker.d.ts +38 -38
- package/DateRangePicker/DateRangePicker.js +173 -173
- package/DateRangePicker/DateRangePickerCalendar.d.ts +26 -26
- package/DateRangePicker/DateRangePickerCalendar.js +86 -86
- package/DateRangePicker/index.d.ts +4 -4
- package/DateRangePicker/useDateRangeCalendarControls.d.ts +14 -14
- package/DateRangePicker/useDateRangeCalendarControls.js +84 -84
- package/DateRangePicker/useDateRangePickerValue.d.ts +23 -23
- package/DateRangePicker/useDateRangePickerValue.js +81 -81
- package/DateTimePicker/DateTimePicker.d.ts +28 -28
- package/DateTimePicker/DateTimePicker.js +107 -107
- package/DateTimePicker/DateTimePickerPanel.d.ts +29 -29
- package/DateTimePicker/DateTimePickerPanel.js +36 -36
- package/DateTimePicker/index.d.ts +2 -2
- package/Drawer/Drawer.d.ts +13 -13
- package/Drawer/Drawer.js +10 -10
- package/Drawer/index.d.ts +2 -2
- package/Dropdown/Dropdown.d.ts +25 -25
- package/Dropdown/Dropdown.js +52 -52
- package/Dropdown/index.d.ts +1 -1
- package/Empty/Empty.d.ts +18 -18
- package/Empty/Empty.js +6 -6
- package/Empty/index.d.ts +1 -1
- package/Form/FormControlContext.d.ts +9 -9
- package/Form/FormField.d.ts +27 -27
- package/Form/FormField.js +16 -16
- package/Form/FormLabel.d.ts +11 -11
- package/Form/FormLabel.js +8 -8
- package/Form/FormMessage.d.ts +8 -8
- package/Form/FormMessage.js +9 -9
- package/Form/index.d.ts +5 -5
- package/Form/typings.d.ts +4 -4
- package/Form/useAutoCompleteValueControl.d.ts +42 -42
- package/Form/useAutoCompleteValueControl.js +94 -94
- package/Form/useCheckboxControlValue.d.ts +11 -11
- package/Form/useCheckboxControlValue.js +24 -24
- package/Form/useControlValueState.d.ts +7 -7
- package/Form/useControlValueState.js +10 -10
- package/Form/useCustomControlValue.d.ts +5 -5
- package/Form/useCustomControlValue.js +12 -12
- package/Form/useInputControlValue.d.ts +7 -7
- package/Form/useInputControlValue.js +18 -18
- package/Form/useInputWithClearControlValue.d.ts +6 -6
- package/Form/useInputWithClearControlValue.js +28 -28
- package/Form/useInputWithTagsModeValue.d.ts +37 -37
- package/Form/useInputWithTagsModeValue.js +83 -83
- package/Form/useRadioControlValue.d.ts +11 -11
- package/Form/useRadioControlValue.js +19 -19
- package/Form/useSelectValueControl.d.ts +33 -33
- package/Form/useSelectValueControl.js +71 -71
- package/Form/useSwitchControlValue.d.ts +7 -7
- package/Form/useSwitchControlValue.js +18 -18
- package/Icon/Icon.d.ts +32 -32
- package/Icon/Icon.js +18 -18
- package/Icon/index.d.ts +3 -3
- package/Input/Input.d.ts +78 -78
- package/Input/Input.js +34 -34
- package/Input/index.d.ts +2 -2
- package/Loading/Loading.d.ts +34 -34
- package/Loading/Loading.js +19 -19
- package/Loading/index.d.ts +1 -1
- package/Menu/Menu.d.ts +29 -29
- package/Menu/Menu.js +16 -16
- package/Menu/MenuDivider.d.ts +8 -8
- package/Menu/MenuDivider.js +7 -7
- package/Menu/MenuItem.d.ts +24 -24
- package/Menu/MenuItem.js +16 -16
- package/Menu/MenuItemGroup.d.ts +13 -13
- package/Menu/MenuItemGroup.js +7 -7
- package/Menu/index.d.ts +5 -5
- package/Message/Message.d.ts +36 -36
- package/Message/Message.js +63 -63
- package/Message/index.d.ts +2 -2
- package/Modal/Modal.d.ts +37 -37
- package/Modal/Modal.js +15 -15
- package/Modal/ModalActions.d.ts +10 -10
- package/Modal/ModalActions.js +10 -10
- package/Modal/ModalBody.d.ts +8 -8
- package/Modal/ModalBody.js +7 -7
- package/Modal/ModalControl.d.ts +7 -7
- package/Modal/ModalControl.js +3 -3
- package/Modal/ModalFooter.d.ts +8 -8
- package/Modal/ModalFooter.js +7 -7
- package/Modal/ModalHeader.d.ts +20 -20
- package/Modal/ModalHeader.js +10 -10
- package/Modal/index.d.ts +7 -7
- package/Modal/useModalContainer.d.ts +6 -6
- package/Modal/useModalContainer.js +19 -19
- package/Navigation/Navigation.d.ts +29 -29
- package/Navigation/Navigation.js +45 -45
- package/Navigation/NavigationContext.d.ts +6 -6
- package/Navigation/NavigationContext.js +2 -2
- package/Navigation/NavigationItem.d.ts +31 -31
- package/Navigation/NavigationItem.js +13 -13
- package/Navigation/NavigationSubMenu.d.ts +22 -22
- package/Navigation/NavigationSubMenu.js +48 -48
- package/Navigation/index.d.ts +4 -4
- package/Notification/Notification.d.ts +54 -54
- package/Notification/Notification.js +60 -60
- package/Notification/index.d.ts +2 -2
- package/Notifier/NotifierManager.d.ts +17 -17
- package/Notifier/NotifierManager.js +25 -25
- package/Notifier/createNotifier.d.ts +21 -21
- package/Notifier/createNotifier.js +65 -65
- package/Notifier/index.d.ts +2 -2
- package/Notifier/typings.d.ts +28 -28
- package/Overlay/Overlay.d.ts +43 -43
- package/Overlay/Overlay.js +22 -22
- package/Overlay/index.d.ts +1 -1
- package/PageFooter/PageFooter.d.ts +15 -15
- package/PageFooter/PageFooter.js +4 -4
- package/PageFooter/index.d.ts +1 -1
- package/Pagination/Pagination.d.ts +105 -105
- package/Pagination/Pagination.js +18 -18
- package/Pagination/PaginationItem.d.ts +27 -27
- package/Pagination/PaginationItem.js +16 -16
- package/Pagination/PaginationJumper.d.ts +38 -38
- package/Pagination/PaginationJumper.js +40 -40
- package/Pagination/PaginationPageSize.d.ts +38 -38
- package/Pagination/PaginationPageSize.js +8 -8
- package/Pagination/index.d.ts +6 -6
- package/Pagination/usePagination.d.ts +16 -16
- package/Pagination/usePagination.js +73 -73
- package/Picker/PickerTrigger.d.ts +40 -40
- package/Picker/PickerTrigger.js +7 -7
- package/Picker/RangePickerTrigger.d.ts +64 -64
- package/Picker/RangePickerTrigger.js +7 -7
- package/Picker/index.d.ts +7 -7
- package/Picker/usePickerDocumentEventClose.d.ts +10 -10
- package/Picker/usePickerDocumentEventClose.js +20 -20
- package/Picker/usePickerInputValue.d.ts +12 -12
- package/Picker/usePickerInputValue.js +18 -18
- package/Picker/usePickerValue.d.ts +20 -20
- package/Picker/usePickerValue.js +51 -51
- package/Picker/useRangePickerValue.d.ts +20 -20
- package/Picker/useRangePickerValue.js +88 -88
- package/Picker/useTabKeyClose.d.ts +2 -2
- package/Picker/useTabKeyClose.js +7 -7
- package/Popconfirm/Popconfirm.d.ts +16 -16
- package/Popconfirm/Popconfirm.js +4 -4
- package/Popconfirm/index.d.ts +1 -1
- package/Popover/Popover.d.ts +23 -23
- package/Popover/Popover.js +34 -34
- package/Popover/index.d.ts +1 -1
- package/Popper/Popper.d.ts +32 -32
- package/Popper/Popper.js +21 -21
- package/Popper/index.d.ts +1 -1
- package/Portal/Portal.d.ts +20 -20
- package/Portal/Portal.js +15 -15
- package/Portal/index.d.ts +1 -1
- package/Progress/Progress.d.ts +59 -59
- package/Progress/Progress.js +21 -21
- package/Progress/index.d.ts +2 -2
- package/Provider/ConfigProvider.d.ts +8 -8
- package/Provider/ConfigProvider.js +6 -6
- package/Provider/context.d.ts +6 -6
- package/Provider/context.js +2 -2
- package/Provider/index.d.ts +4 -4
- package/Radio/Radio.d.ts +41 -41
- package/Radio/Radio.js +21 -21
- package/Radio/RadioGroup.d.ts +47 -47
- package/Radio/RadioGroup.js +20 -20
- package/Radio/RadioGroupContext.d.ts +9 -9
- package/Radio/index.d.ts +3 -3
- package/Select/AutoComplete.d.ts +101 -101
- package/Select/AutoComplete.js +101 -101
- package/Select/Option.d.ts +19 -19
- package/Select/Option.js +37 -37
- package/Select/Select.d.ts +94 -94
- package/Select/Select.js +111 -111
- package/Select/SelectControlContext.d.ts +3 -3
- package/Select/SelectTrigger.d.ts +89 -89
- package/Select/SelectTrigger.js +44 -39
- package/Select/SelectTriggerTags.d.ts +19 -19
- package/Select/SelectTriggerTags.js +21 -21
- package/Select/TreeSelect.d.ts +68 -68
- package/Select/TreeSelect.js +183 -183
- package/Select/index.d.ts +9 -9
- package/Select/typings.d.ts +12 -12
- package/Select/useSelectTriggerTags.d.ts +19 -19
- package/Select/useSelectTriggerTags.js +53 -53
- package/Skeleton/Skeleton.d.ts +22 -22
- package/Skeleton/Skeleton.js +7 -7
- package/Skeleton/index.d.ts +1 -1
- package/Slider/Slider.d.ts +51 -51
- package/Slider/Slider.js +174 -174
- package/Slider/index.d.ts +3 -3
- package/Slider/useSlider.d.ts +31 -31
- package/Slider/useSlider.js +99 -99
- package/Stepper/Step.d.ts +41 -41
- package/Stepper/Step.js +9 -9
- package/Stepper/Stepper.d.ts +19 -19
- package/Stepper/Stepper.js +26 -26
- package/Stepper/index.d.ts +2 -2
- package/Switch/Switch.d.ts +43 -43
- package/Switch/Switch.js +18 -18
- package/Switch/index.d.ts +2 -2
- package/Table/Table.d.ts +110 -110
- package/Table/Table.js +146 -146
- package/Table/TableBody.d.ts +10 -10
- package/Table/TableBody.js +13 -13
- package/Table/TableBodyRow.d.ts +12 -12
- package/Table/TableBodyRow.js +45 -45
- package/Table/TableCell.d.ts +20 -20
- package/Table/TableCell.js +15 -15
- package/Table/TableContext.d.ts +52 -52
- package/Table/TableContext.js +2 -2
- package/Table/TableExpandedTable.d.ts +12 -12
- package/Table/TableExpandedTable.js +14 -14
- package/Table/TableHeader.d.ts +4 -4
- package/Table/TableHeader.js +20 -20
- package/Table/draggable/useTableDraggable.d.ts +14 -14
- package/Table/draggable/useTableDraggable.js +54 -54
- package/Table/editable/TableEditRenderWrapper.d.ts +8 -7
- package/Table/editable/TableEditRenderWrapper.js +8 -8
- package/Table/expandable/TableExpandable.d.ts +28 -28
- package/Table/expandable/TableExpandable.js +15 -15
- package/Table/index.d.ts +6 -6
- package/Table/pagination/TablePagination.d.ts +10 -10
- package/Table/pagination/TablePagination.js +15 -15
- package/Table/pagination/useTablePagination.d.ts +8 -8
- package/Table/pagination/useTablePagination.js +21 -21
- package/Table/refresh/TableRefresh.d.ts +10 -10
- package/Table/refresh/TableRefresh.js +13 -13
- package/Table/rowSelection/TableRowSelection.d.ts +19 -19
- package/Table/rowSelection/TableRowSelection.js +70 -70
- package/Table/rowSelection/useTableRowSelection.d.ts +6 -6
- package/Table/rowSelection/useTableRowSelection.js +47 -47
- package/Table/sorting/TableSortingIcon.d.ts +11 -11
- package/Table/sorting/TableSortingIcon.js +18 -18
- package/Table/sorting/useTableSorting.d.ts +12 -12
- package/Table/sorting/useTableSorting.js +103 -103
- package/Table/useTableFetchMore.d.ts +10 -10
- package/Table/useTableFetchMore.js +42 -42
- package/Table/useTableLoading.d.ts +5 -5
- package/Table/useTableLoading.js +13 -13
- package/Table/useTableScroll.d.ts +550 -568
- package/Table/useTableScroll.js +275 -275
- package/Tabs/Tab.d.ts +19 -19
- package/Tabs/Tab.js +9 -9
- package/Tabs/TabPane.d.ts +14 -14
- package/Tabs/TabPane.js +11 -11
- package/Tabs/Tabs.d.ts +39 -39
- package/Tabs/Tabs.js +36 -36
- package/Tabs/index.d.ts +3 -3
- package/Tabs/useTabsOverflow.d.ts +8 -8
- package/Tabs/useTabsOverflow.js +56 -56
- package/Tag/Tag.d.ts +29 -29
- package/Tag/Tag.js +14 -14
- package/Tag/index.d.ts +2 -2
- package/TextField/TextField.d.ts +54 -54
- package/TextField/TextField.js +33 -33
- package/TextField/index.d.ts +2 -2
- package/TextField/useTextFieldControl.d.ts +10 -10
- package/TextField/useTextFieldControl.js +12 -12
- package/Textarea/Textarea.d.ts +58 -58
- package/Textarea/Textarea.js +22 -22
- package/Textarea/index.d.ts +2 -2
- package/TimePanel/TimePanel.d.ts +66 -66
- package/TimePanel/TimePanel.js +54 -54
- package/TimePanel/TimePanelAction.d.ts +18 -18
- package/TimePanel/TimePanelAction.js +7 -7
- package/TimePanel/TimePanelColumn.d.ts +37 -37
- package/TimePanel/TimePanelColumn.js +28 -28
- package/TimePanel/index.d.ts +3 -3
- package/TimePicker/TimePicker.d.ts +24 -24
- package/TimePicker/TimePicker.js +99 -99
- package/TimePicker/TimePickerPanel.d.ts +24 -24
- package/TimePicker/TimePickerPanel.js +7 -7
- package/TimePicker/index.d.ts +2 -2
- package/Tooltip/Tooltip.d.ts +25 -25
- package/Tooltip/Tooltip.js +27 -27
- package/Tooltip/index.d.ts +1 -1
- package/Tooltip/useDelayMouseEnterLeave.d.ts +12 -12
- package/Tooltip/useDelayMouseEnterLeave.js +36 -36
- package/Transition/Collapse.d.ts +15 -15
- package/Transition/Collapse.js +96 -96
- package/Transition/Fade.d.ts +8 -8
- package/Transition/Fade.js +74 -74
- package/Transition/Grow.d.ts +13 -13
- package/Transition/Grow.js +101 -101
- package/Transition/SlideFade.d.ts +15 -15
- package/Transition/SlideFade.js +83 -83
- package/Transition/Transition.d.ts +98 -98
- package/Transition/Transition.js +21 -21
- package/Transition/Zoom.d.ts +8 -8
- package/Transition/Zoom.js +74 -74
- package/Transition/getAutoSizeDuration.d.ts +1 -1
- package/Transition/getAutoSizeDuration.js +7 -7
- package/Transition/getTransitionStyleProps.d.ts +16 -16
- package/Transition/getTransitionStyleProps.js +22 -22
- package/Transition/index.d.ts +6 -6
- package/Transition/reflow.d.ts +4 -4
- package/Transition/reflow.js +6 -6
- package/Transition/useAutoTransitionDuration.d.ts +6 -6
- package/Transition/useAutoTransitionDuration.js +10 -10
- package/Transition/useSetNodeTransition.d.ts +7 -7
- package/Transition/useSetNodeTransition.js +30 -30
- package/Tree/Tree.d.ts +70 -70
- package/Tree/Tree.js +116 -116
- package/Tree/TreeNode.d.ts +41 -41
- package/Tree/TreeNode.js +29 -29
- package/Tree/TreeNodeList.d.ts +25 -25
- package/Tree/TreeNodeList.js +22 -22
- package/Tree/getTreeNodeEntities.d.ts +11 -11
- package/Tree/getTreeNodeEntities.js +84 -84
- package/Tree/index.d.ts +8 -8
- package/Tree/toggleValue.d.ts +4 -4
- package/Tree/toggleValue.js +13 -13
- package/Tree/traverseTree.d.ts +2 -2
- package/Tree/traverseTree.js +8 -8
- package/Tree/typings.d.ts +16 -16
- package/Tree/useTreeExpandedValue.d.ts +15 -15
- package/Tree/useTreeExpandedValue.js +26 -26
- package/Typography/Typography.d.ts +43 -43
- package/Typography/Typography.js +31 -31
- package/Typography/index.d.ts +11 -11
- package/Upload/UploadButton.d.ts +10 -10
- package/Upload/UploadButton.js +14 -14
- package/Upload/UploadInput.d.ts +21 -21
- package/Upload/UploadInput.js +18 -18
- package/Upload/UploadPicture.d.ts +49 -49
- package/Upload/UploadPicture.js +43 -43
- package/Upload/UploadPictureBlock.d.ts +20 -20
- package/Upload/UploadPictureBlock.js +70 -70
- package/Upload/UploadPictureWall.d.ts +81 -81
- package/Upload/UploadPictureWall.js +144 -144
- package/Upload/UploadPictureWallItem.d.ts +15 -15
- package/Upload/UploadPictureWallItem.js +10 -10
- package/Upload/UploadResult.d.ts +35 -35
- package/Upload/UploadResult.js +19 -19
- package/Upload/index.d.ts +6 -6
- package/_internal/InputCheck/InputCheck.d.ts +33 -33
- package/_internal/InputCheck/InputCheck.js +11 -11
- package/_internal/InputCheck/InputCheckGroup.d.ts +18 -18
- package/_internal/InputCheck/InputCheckGroup.js +7 -7
- package/_internal/InputCheck/index.d.ts +3 -3
- package/_internal/InputTriggerPopper/InputTriggerPopper.d.ts +18 -18
- package/_internal/InputTriggerPopper/InputTriggerPopper.js +35 -35
- package/_internal/InputTriggerPopper/index.d.ts +1 -1
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +21 -21
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +53 -53
- package/_internal/SlideFadeOverlay/index.d.ts +1 -1
- package/_internal/SlideFadeOverlay/useTopStack.d.ts +1 -1
- package/_internal/SlideFadeOverlay/useTopStack.js +17 -17
- package/hooks/useClickAway.d.ts +5 -5
- package/hooks/useClickAway.js +18 -18
- package/hooks/useComposeRefs.d.ts +2 -2
- package/hooks/useComposeRefs.js +2 -2
- package/hooks/useDocumentEscapeKeyDown.d.ts +3 -3
- package/hooks/useDocumentEscapeKeyDown.js +15 -15
- package/hooks/useDocumentEvents.d.ts +5 -5
- package/hooks/useDocumentEvents.js +16 -16
- package/hooks/useDocumentTabKeyDown.d.ts +3 -3
- package/hooks/useDocumentTabKeyDown.js +14 -14
- package/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/hooks/useLastCallback.d.ts +1 -1
- package/hooks/useLastCallback.js +5 -5
- package/hooks/useLastValue.d.ts +3 -3
- package/hooks/useLastValue.js +4 -4
- package/hooks/usePreviousValue.d.ts +1 -1
- package/hooks/usePreviousValue.js +6 -6
- package/hooks/useWindowWidth.d.ts +1 -1
- package/hooks/useWindowWidth.js +10 -10
- package/index.d.ts +102 -102
- package/package.json +14 -30
- package/utils/array-move.d.ts +1 -1
- package/utils/array-move.js +10 -10
- package/utils/composeRefs.d.ts +21 -21
- package/utils/composeRefs.js +29 -29
- package/utils/cx.d.ts +1 -1
- package/utils/general.d.ts +8 -8
- package/utils/getElement.d.ts +3 -3
- package/utils/getElement.js +11 -11
- package/utils/jsx-types.d.ts +11 -11
- package/utils/scroll-lock.d.ts +2 -2
- package/utils/scroll-lock.js +17 -17
|
@@ -6,24 +6,24 @@ import { TableContext } from '../TableContext.js';
|
|
|
6
6
|
import Icon from '../../Icon/Icon.js';
|
|
7
7
|
import cx from 'clsx';
|
|
8
8
|
|
|
9
|
-
const TableSortingIcon = forwardRef(function TableSortingIcon(props, ref) {
|
|
10
|
-
const { className, column, ...rest } = props;
|
|
11
|
-
const { sorting, } = useContext(TableContext) || {};
|
|
12
|
-
const { dataIndex, } = column;
|
|
13
|
-
/** styling */
|
|
14
|
-
const currentType = (dataIndex === (sorting === null || sorting === void 0 ? void 0 : sorting.sortedOn) ? sorting.sortedType : 'none');
|
|
15
|
-
const currentIconStyle = useMemo(() => ({
|
|
16
|
-
color: currentType === 'none' ? 'secondary' : 'primary',
|
|
17
|
-
style: {
|
|
18
|
-
transform: `rotate(${90 * (currentType === 'asc' ? -1 : 1)}deg)`,
|
|
19
|
-
},
|
|
20
|
-
}), [currentType]);
|
|
21
|
-
return (jsx(Icon, { ...rest, ref: ref, className: cx(tableClasses.icon, tableClasses.iconClickable, className), color: currentIconStyle.color, icon: ArrowRightIcon, onClick: (evt) => {
|
|
22
|
-
var _a;
|
|
23
|
-
evt.stopPropagation();
|
|
24
|
-
(_a = sorting === null || sorting === void 0 ? void 0 : sorting.onSort) === null || _a === void 0 ? void 0 : _a.call(sorting, column);
|
|
25
|
-
}, style: currentIconStyle.style }));
|
|
26
|
-
});
|
|
9
|
+
const TableSortingIcon = forwardRef(function TableSortingIcon(props, ref) {
|
|
10
|
+
const { className, column, ...rest } = props;
|
|
11
|
+
const { sorting, } = useContext(TableContext) || {};
|
|
12
|
+
const { dataIndex, } = column;
|
|
13
|
+
/** styling */
|
|
14
|
+
const currentType = (dataIndex === (sorting === null || sorting === void 0 ? void 0 : sorting.sortedOn) ? sorting.sortedType : 'none');
|
|
15
|
+
const currentIconStyle = useMemo(() => ({
|
|
16
|
+
color: currentType === 'none' ? 'secondary' : 'primary',
|
|
17
|
+
style: {
|
|
18
|
+
transform: `rotate(${90 * (currentType === 'asc' ? -1 : 1)}deg)`,
|
|
19
|
+
},
|
|
20
|
+
}), [currentType]);
|
|
21
|
+
return (jsx(Icon, { ...rest, ref: ref, className: cx(tableClasses.icon, tableClasses.iconClickable, className), color: currentIconStyle.color, icon: ArrowRightIcon, onClick: (evt) => {
|
|
22
|
+
var _a;
|
|
23
|
+
evt.stopPropagation();
|
|
24
|
+
(_a = sorting === null || sorting === void 0 ? void 0 : sorting.onSort) === null || _a === void 0 ? void 0 : _a.call(sorting, column);
|
|
25
|
+
}, style: currentIconStyle.style }));
|
|
26
|
+
});
|
|
27
27
|
var TableSortingIcon$1 = TableSortingIcon;
|
|
28
28
|
|
|
29
29
|
export { TableSortingIcon$1 as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { TableDataSource, TableColumn, TableRecord } from '@mezzanine-ui/core/table';
|
|
3
|
-
export interface UseTableSorting {
|
|
4
|
-
dataSource: TableDataSource[];
|
|
5
|
-
}
|
|
6
|
-
export type SortedType = 'desc' | 'asc' | 'none';
|
|
7
|
-
export declare function useTableSorting(props: UseTableSorting): readonly [TableDataSource[], (v: Pick<TableColumn<TableRecord<unknown>>, "dataIndex" | "sorter" | "onSorted">) => void, {
|
|
8
|
-
readonly sortedOn: string;
|
|
9
|
-
readonly sortedType: SortedType;
|
|
10
|
-
readonly onResetAll: () => void;
|
|
11
|
-
readonly setDataSource: import("react").Dispatch<import("react").SetStateAction<TableDataSource[]>>;
|
|
12
|
-
}];
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TableDataSource, TableColumn, TableRecord } from '@mezzanine-ui/core/table';
|
|
3
|
+
export interface UseTableSorting {
|
|
4
|
+
dataSource: TableDataSource[];
|
|
5
|
+
}
|
|
6
|
+
export type SortedType = 'desc' | 'asc' | 'none';
|
|
7
|
+
export declare function useTableSorting(props: UseTableSorting): readonly [TableDataSource[], (v: Pick<TableColumn<TableRecord<unknown>>, "dataIndex" | "sorter" | "onSorted">) => void, {
|
|
8
|
+
readonly sortedOn: string;
|
|
9
|
+
readonly sortedType: SortedType;
|
|
10
|
+
readonly onResetAll: () => void;
|
|
11
|
+
readonly setDataSource: import("react").Dispatch<import("react").SetStateAction<TableDataSource[]>>;
|
|
12
|
+
}];
|
|
@@ -5,109 +5,109 @@ import { useControlValueState } from '../../Form/useControlValueState.js';
|
|
|
5
5
|
import { useLastCallback } from '../../hooks/useLastCallback.js';
|
|
6
6
|
import { usePreviousValue } from '../../hooks/usePreviousValue.js';
|
|
7
7
|
|
|
8
|
-
const sortSource = (prev, cur) => {
|
|
9
|
-
const prevKey = (prev.key || prev.id);
|
|
10
|
-
const curKey = (cur.key || cur.id);
|
|
11
|
-
if (prevKey < curKey)
|
|
12
|
-
return -1;
|
|
13
|
-
if (prevKey > curKey)
|
|
14
|
-
return 1;
|
|
15
|
-
return 0;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* @NOTE deepCompare = true 時,會深度比較 dataSource 順序是否有不同
|
|
19
|
-
* @NOTE deepCompare = false(預設),則是為了內部排序可以讓 useControlValueState 認為是一樣的 dataSource
|
|
20
|
-
* useControlValueState 會強制把 return value 和傳入的 value 做同步,當有不一樣時就會自動 sync
|
|
21
|
-
* 所以無論如何用 setDataSource 都不會有改變
|
|
22
|
-
*/
|
|
23
|
-
const equalityFn = (a, b, deepCompare = false) => {
|
|
24
|
-
const aTemp = a.slice(0);
|
|
25
|
-
const bTemp = b.slice(0);
|
|
26
|
-
const sortedA = deepCompare ? aTemp : aTemp.sort(sortSource);
|
|
27
|
-
const sortedB = deepCompare ? bTemp : bTemp.sort(sortSource);
|
|
28
|
-
const mappedAKeys = sortedA.map((s) => (s.key || s.id));
|
|
29
|
-
const mappedBKeys = sortedB.map((s) => (s.key || s.id));
|
|
30
|
-
const isShallowEqual = mappedAKeys.length === mappedBKeys.length &&
|
|
31
|
-
mappedAKeys.every((v, idx) => v === mappedBKeys[idx]);
|
|
32
|
-
if (isShallowEqual) {
|
|
33
|
-
// we need to do deep compare to sync dataSources
|
|
34
|
-
return sortedA.every((v, idx) => isEqual(v, sortedB[idx]));
|
|
35
|
-
}
|
|
36
|
-
// since shallow equal checked that array is different, so we don't need do deep compare
|
|
37
|
-
return false;
|
|
38
|
-
};
|
|
39
|
-
function useTableSorting(props) {
|
|
40
|
-
const { dataSource: dataSourceProp, } = props;
|
|
41
|
-
const [sortedOn, setSortedOn] = useState('');
|
|
42
|
-
const [sortedType, setSortedType] = useState('none');
|
|
43
|
-
const [dataSource, setDataSource] = useControlValueState({
|
|
44
|
-
defaultValue: [],
|
|
45
|
-
equalityFn,
|
|
46
|
-
/** @NOTE 只有當 dataSource 傳入時,並且使用了 table 提供的 sorting,才需要完全同步 dataSource */
|
|
47
|
-
value: dataSourceProp.length && sortedOn ? dataSourceProp : undefined,
|
|
48
|
-
});
|
|
49
|
-
const prevDataSourceProps = usePreviousValue(dataSourceProp);
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
/**
|
|
52
|
-
* @NOTE 條件1: 如果一開始就有傳入值,則直接同步 dataSource
|
|
53
|
-
* @NOTE 條件2: 深度比較舊 dataSourceProp 跟新的是否有不同,如果有則同步
|
|
54
|
-
*/
|
|
55
|
-
if (!dataSource.length || !equalityFn(prevDataSourceProps, dataSourceProp, true)) {
|
|
56
|
-
setDataSource(dataSourceProp);
|
|
57
|
-
}
|
|
58
|
-
}, [prevDataSourceProps, dataSourceProp]);
|
|
59
|
-
const getNextSortedType = useCallback((currentType) => {
|
|
60
|
-
// none -> desc -> asc -> none
|
|
61
|
-
if (currentType === 'none')
|
|
62
|
-
return 'desc';
|
|
63
|
-
if (currentType === 'desc')
|
|
64
|
-
return 'asc';
|
|
65
|
-
return 'none';
|
|
66
|
-
}, []);
|
|
67
|
-
const onReset = useCallback(() => setSortedOn(''), []);
|
|
68
|
-
const onResetAll = useCallback(() => {
|
|
69
|
-
setSortedOn('');
|
|
70
|
-
setSortedType('none');
|
|
71
|
-
}, []);
|
|
72
|
-
const onChange = useLastCallback((opts) => {
|
|
73
|
-
const { dataIndex, sorter, onSorted } = opts;
|
|
74
|
-
const isChosenFromOneToAnother = sortedOn && dataIndex !== sortedOn;
|
|
75
|
-
const nextSortedType = getNextSortedType(isChosenFromOneToAnother ? 'none' : sortedType);
|
|
76
|
-
const onMappingSources = (sources) => {
|
|
77
|
-
setDataSource(sources);
|
|
78
|
-
onSorted === null || onSorted === void 0 ? void 0 : onSorted(dataIndex, nextSortedType);
|
|
79
|
-
};
|
|
80
|
-
// only apply changes when column sorter is given
|
|
81
|
-
if (typeof sorter === 'function' || typeof onSorted === 'function') {
|
|
82
|
-
// should update next sorted type first
|
|
83
|
-
setSortedType(nextSortedType);
|
|
84
|
-
switch (nextSortedType) {
|
|
85
|
-
case 'desc':
|
|
86
|
-
case 'asc': {
|
|
87
|
-
// update current working dataIndex
|
|
88
|
-
setSortedOn(dataIndex);
|
|
89
|
-
// getting new source instance (when switch between sorter, should use origin dataSource)
|
|
90
|
-
let newSource = (isChosenFromOneToAnother ? dataSourceProp : dataSource).slice(0);
|
|
91
|
-
if (typeof sorter === 'function') {
|
|
92
|
-
// sort by given sorter
|
|
93
|
-
newSource = newSource.sort((a, b) => (
|
|
94
|
-
// reverse result when sorted type is ascending
|
|
95
|
-
(sorter(get(a, dataIndex), get(b, dataIndex))) * (nextSortedType === 'asc' ? -1 : 1)));
|
|
96
|
-
}
|
|
97
|
-
// map back the data source
|
|
98
|
-
onMappingSources(newSource);
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
case 'none':
|
|
102
|
-
default: {
|
|
103
|
-
onReset();
|
|
104
|
-
onMappingSources(dataSourceProp);
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
return [dataSource, onChange, { sortedOn, sortedType, onResetAll, setDataSource }];
|
|
8
|
+
const sortSource = (prev, cur) => {
|
|
9
|
+
const prevKey = (prev.key || prev.id);
|
|
10
|
+
const curKey = (cur.key || cur.id);
|
|
11
|
+
if (prevKey < curKey)
|
|
12
|
+
return -1;
|
|
13
|
+
if (prevKey > curKey)
|
|
14
|
+
return 1;
|
|
15
|
+
return 0;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @NOTE deepCompare = true 時,會深度比較 dataSource 順序是否有不同
|
|
19
|
+
* @NOTE deepCompare = false(預設),則是為了內部排序可以讓 useControlValueState 認為是一樣的 dataSource
|
|
20
|
+
* useControlValueState 會強制把 return value 和傳入的 value 做同步,當有不一樣時就會自動 sync
|
|
21
|
+
* 所以無論如何用 setDataSource 都不會有改變
|
|
22
|
+
*/
|
|
23
|
+
const equalityFn = (a, b, deepCompare = false) => {
|
|
24
|
+
const aTemp = a.slice(0);
|
|
25
|
+
const bTemp = b.slice(0);
|
|
26
|
+
const sortedA = deepCompare ? aTemp : aTemp.sort(sortSource);
|
|
27
|
+
const sortedB = deepCompare ? bTemp : bTemp.sort(sortSource);
|
|
28
|
+
const mappedAKeys = sortedA.map((s) => (s.key || s.id));
|
|
29
|
+
const mappedBKeys = sortedB.map((s) => (s.key || s.id));
|
|
30
|
+
const isShallowEqual = mappedAKeys.length === mappedBKeys.length &&
|
|
31
|
+
mappedAKeys.every((v, idx) => v === mappedBKeys[idx]);
|
|
32
|
+
if (isShallowEqual) {
|
|
33
|
+
// we need to do deep compare to sync dataSources
|
|
34
|
+
return sortedA.every((v, idx) => isEqual(v, sortedB[idx]));
|
|
35
|
+
}
|
|
36
|
+
// since shallow equal checked that array is different, so we don't need do deep compare
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
function useTableSorting(props) {
|
|
40
|
+
const { dataSource: dataSourceProp, } = props;
|
|
41
|
+
const [sortedOn, setSortedOn] = useState('');
|
|
42
|
+
const [sortedType, setSortedType] = useState('none');
|
|
43
|
+
const [dataSource, setDataSource] = useControlValueState({
|
|
44
|
+
defaultValue: [],
|
|
45
|
+
equalityFn,
|
|
46
|
+
/** @NOTE 只有當 dataSource 傳入時,並且使用了 table 提供的 sorting,才需要完全同步 dataSource */
|
|
47
|
+
value: dataSourceProp.length && sortedOn ? dataSourceProp : undefined,
|
|
48
|
+
});
|
|
49
|
+
const prevDataSourceProps = usePreviousValue(dataSourceProp);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
/**
|
|
52
|
+
* @NOTE 條件1: 如果一開始就有傳入值,則直接同步 dataSource
|
|
53
|
+
* @NOTE 條件2: 深度比較舊 dataSourceProp 跟新的是否有不同,如果有則同步
|
|
54
|
+
*/
|
|
55
|
+
if (!dataSource.length || !equalityFn(prevDataSourceProps, dataSourceProp, true)) {
|
|
56
|
+
setDataSource(dataSourceProp);
|
|
57
|
+
}
|
|
58
|
+
}, [prevDataSourceProps, dataSourceProp]);
|
|
59
|
+
const getNextSortedType = useCallback((currentType) => {
|
|
60
|
+
// none -> desc -> asc -> none
|
|
61
|
+
if (currentType === 'none')
|
|
62
|
+
return 'desc';
|
|
63
|
+
if (currentType === 'desc')
|
|
64
|
+
return 'asc';
|
|
65
|
+
return 'none';
|
|
66
|
+
}, []);
|
|
67
|
+
const onReset = useCallback(() => setSortedOn(''), []);
|
|
68
|
+
const onResetAll = useCallback(() => {
|
|
69
|
+
setSortedOn('');
|
|
70
|
+
setSortedType('none');
|
|
71
|
+
}, []);
|
|
72
|
+
const onChange = useLastCallback((opts) => {
|
|
73
|
+
const { dataIndex, sorter, onSorted } = opts;
|
|
74
|
+
const isChosenFromOneToAnother = sortedOn && dataIndex !== sortedOn;
|
|
75
|
+
const nextSortedType = getNextSortedType(isChosenFromOneToAnother ? 'none' : sortedType);
|
|
76
|
+
const onMappingSources = (sources) => {
|
|
77
|
+
setDataSource(sources);
|
|
78
|
+
onSorted === null || onSorted === void 0 ? void 0 : onSorted(dataIndex, nextSortedType);
|
|
79
|
+
};
|
|
80
|
+
// only apply changes when column sorter is given
|
|
81
|
+
if (typeof sorter === 'function' || typeof onSorted === 'function') {
|
|
82
|
+
// should update next sorted type first
|
|
83
|
+
setSortedType(nextSortedType);
|
|
84
|
+
switch (nextSortedType) {
|
|
85
|
+
case 'desc':
|
|
86
|
+
case 'asc': {
|
|
87
|
+
// update current working dataIndex
|
|
88
|
+
setSortedOn(dataIndex);
|
|
89
|
+
// getting new source instance (when switch between sorter, should use origin dataSource)
|
|
90
|
+
let newSource = (isChosenFromOneToAnother ? dataSourceProp : dataSource).slice(0);
|
|
91
|
+
if (typeof sorter === 'function') {
|
|
92
|
+
// sort by given sorter
|
|
93
|
+
newSource = newSource.sort((a, b) => (
|
|
94
|
+
// reverse result when sorted type is ascending
|
|
95
|
+
(sorter(get(a, dataIndex), get(b, dataIndex))) * (nextSortedType === 'asc' ? -1 : 1)));
|
|
96
|
+
}
|
|
97
|
+
// map back the data source
|
|
98
|
+
onMappingSources(newSource);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case 'none':
|
|
102
|
+
default: {
|
|
103
|
+
onReset();
|
|
104
|
+
onMappingSources(dataSourceProp);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return [dataSource, onChange, { sortedOn, sortedType, onResetAll, setDataSource }];
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
export { useTableSorting };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TableFetchMore, TableDataSource } from '@mezzanine-ui/core/table';
|
|
2
|
-
export interface UseTableFetchMore extends TableFetchMore {
|
|
3
|
-
dataSource: TableDataSource[];
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare function useTableFetchMore(props: UseTableFetchMore): {
|
|
7
|
-
readonly fetchMore: (() => void) | undefined;
|
|
8
|
-
readonly isFetching: boolean;
|
|
9
|
-
readonly isReachEnd: boolean;
|
|
10
|
-
};
|
|
1
|
+
import { TableFetchMore, TableDataSource } from '@mezzanine-ui/core/table';
|
|
2
|
+
export interface UseTableFetchMore extends TableFetchMore {
|
|
3
|
+
dataSource: TableDataSource[];
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function useTableFetchMore(props: UseTableFetchMore): {
|
|
7
|
+
readonly fetchMore: (() => void) | undefined;
|
|
8
|
+
readonly isFetching: boolean;
|
|
9
|
+
readonly isReachEnd: boolean;
|
|
10
|
+
};
|
|
@@ -3,48 +3,48 @@ import { useControlValueState } from '../Form/useControlValueState.js';
|
|
|
3
3
|
import { useLastCallback } from '../hooks/useLastCallback.js';
|
|
4
4
|
import { usePreviousValue } from '../hooks/usePreviousValue.js';
|
|
5
5
|
|
|
6
|
-
const equalityFn = (a, b) => a === b;
|
|
7
|
-
function useTableFetchMore(props) {
|
|
8
|
-
const { callback: callbackProp, dataSource, disabled = false, isReachEnd: isReachEndProp, isFetching: isFetchingProp, } = props;
|
|
9
|
-
/** reach end indicator */
|
|
10
|
-
const [isReachEnd] = useControlValueState({
|
|
11
|
-
defaultValue: false,
|
|
12
|
-
equalityFn,
|
|
13
|
-
value: isReachEndProp,
|
|
14
|
-
});
|
|
15
|
-
/** fetching indicator */
|
|
16
|
-
const [isFetching, setFetching] = useControlValueState({
|
|
17
|
-
defaultValue: false,
|
|
18
|
-
equalityFn,
|
|
19
|
-
value: isFetchingProp,
|
|
20
|
-
});
|
|
21
|
-
const onFetching = useLastCallback((newState) => {
|
|
22
|
-
if (!equalityFn(isFetching, newState))
|
|
23
|
-
setFetching(newState);
|
|
24
|
-
});
|
|
25
|
-
/** fetchMore called */
|
|
26
|
-
const onFetchMore = useLastCallback(() => {
|
|
27
|
-
if (!isFetching && !isReachEnd) {
|
|
28
|
-
callbackProp();
|
|
29
|
-
onFetching(true);
|
|
30
|
-
}
|
|
31
|
-
if (isReachEnd)
|
|
32
|
-
onFetching(false);
|
|
33
|
-
});
|
|
34
|
-
const fetchMore = (callbackProp && !disabled ? onFetchMore : undefined);
|
|
35
|
-
/** check source length and reset states */
|
|
36
|
-
const prevSourceLength = usePreviousValue(dataSource.length);
|
|
37
|
-
const currentSourceLength = useMemo(() => dataSource.length, [dataSource.length]);
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
if (prevSourceLength !== currentSourceLength) {
|
|
40
|
-
onFetching(false);
|
|
41
|
-
}
|
|
42
|
-
}, [prevSourceLength, currentSourceLength]);
|
|
43
|
-
return {
|
|
44
|
-
fetchMore,
|
|
45
|
-
isFetching,
|
|
46
|
-
isReachEnd,
|
|
47
|
-
};
|
|
6
|
+
const equalityFn = (a, b) => a === b;
|
|
7
|
+
function useTableFetchMore(props) {
|
|
8
|
+
const { callback: callbackProp, dataSource, disabled = false, isReachEnd: isReachEndProp, isFetching: isFetchingProp, } = props;
|
|
9
|
+
/** reach end indicator */
|
|
10
|
+
const [isReachEnd] = useControlValueState({
|
|
11
|
+
defaultValue: false,
|
|
12
|
+
equalityFn,
|
|
13
|
+
value: isReachEndProp,
|
|
14
|
+
});
|
|
15
|
+
/** fetching indicator */
|
|
16
|
+
const [isFetching, setFetching] = useControlValueState({
|
|
17
|
+
defaultValue: false,
|
|
18
|
+
equalityFn,
|
|
19
|
+
value: isFetchingProp,
|
|
20
|
+
});
|
|
21
|
+
const onFetching = useLastCallback((newState) => {
|
|
22
|
+
if (!equalityFn(isFetching, newState))
|
|
23
|
+
setFetching(newState);
|
|
24
|
+
});
|
|
25
|
+
/** fetchMore called */
|
|
26
|
+
const onFetchMore = useLastCallback(() => {
|
|
27
|
+
if (!isFetching && !isReachEnd) {
|
|
28
|
+
callbackProp();
|
|
29
|
+
onFetching(true);
|
|
30
|
+
}
|
|
31
|
+
if (isReachEnd)
|
|
32
|
+
onFetching(false);
|
|
33
|
+
});
|
|
34
|
+
const fetchMore = (callbackProp && !disabled ? onFetchMore : undefined);
|
|
35
|
+
/** check source length and reset states */
|
|
36
|
+
const prevSourceLength = usePreviousValue(dataSource.length);
|
|
37
|
+
const currentSourceLength = useMemo(() => dataSource.length, [dataSource.length]);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (prevSourceLength !== currentSourceLength) {
|
|
40
|
+
onFetching(false);
|
|
41
|
+
}
|
|
42
|
+
}, [prevSourceLength, currentSourceLength]);
|
|
43
|
+
return {
|
|
44
|
+
fetchMore,
|
|
45
|
+
isFetching,
|
|
46
|
+
isReachEnd,
|
|
47
|
+
};
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export { useTableFetchMore };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const SELECTED_ALL_KEY = "MZN-TABLE-ROW-SELECTION-ALL";
|
|
2
|
-
export interface UseTableLoading {
|
|
3
|
-
loading?: boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare function useTableLoading(props: UseTableLoading): readonly [boolean, (l: boolean) => void];
|
|
1
|
+
export declare const SELECTED_ALL_KEY = "MZN-TABLE-ROW-SELECTION-ALL";
|
|
2
|
+
export interface UseTableLoading {
|
|
3
|
+
loading?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function useTableLoading(props: UseTableLoading): readonly [boolean, (l: boolean) => void];
|
package/Table/useTableLoading.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { useControlValueState } from '../Form/useControlValueState.js';
|
|
2
2
|
import { useLastCallback } from '../hooks/useLastCallback.js';
|
|
3
3
|
|
|
4
|
-
const equalityFn = (a, b) => a === b;
|
|
5
|
-
function useTableLoading(props) {
|
|
6
|
-
const { loading: loadingProp, } = props;
|
|
7
|
-
const [loading, setLoading] = useControlValueState({
|
|
8
|
-
defaultValue: false,
|
|
9
|
-
equalityFn,
|
|
10
|
-
value: loadingProp,
|
|
11
|
-
});
|
|
12
|
-
const onChange = useLastCallback((isLoading) => {
|
|
13
|
-
if (!equalityFn(loading, isLoading))
|
|
14
|
-
setLoading(isLoading);
|
|
15
|
-
});
|
|
16
|
-
return [loading, onChange];
|
|
4
|
+
const equalityFn = (a, b) => a === b;
|
|
5
|
+
function useTableLoading(props) {
|
|
6
|
+
const { loading: loadingProp, } = props;
|
|
7
|
+
const [loading, setLoading] = useControlValueState({
|
|
8
|
+
defaultValue: false,
|
|
9
|
+
equalityFn,
|
|
10
|
+
value: loadingProp,
|
|
11
|
+
});
|
|
12
|
+
const onChange = useLastCallback((isLoading) => {
|
|
13
|
+
if (!equalityFn(loading, isLoading))
|
|
14
|
+
setLoading(isLoading);
|
|
15
|
+
});
|
|
16
|
+
return [loading, onChange];
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export { useTableLoading };
|