@mezzanine-ui/react 0.13.10 → 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/index.js +1 -2
- 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 -22
- 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 -26
- package/Calendar/CalendarControls.js +11 -11
- package/Calendar/CalendarDayOfWeek.d.ts +15 -15
- package/Calendar/CalendarDayOfWeek.js +9 -9
- package/Calendar/CalendarDays.d.ts +38 -38
- package/Calendar/CalendarDays.js +36 -36
- package/Calendar/CalendarMonths.d.ts +42 -42
- package/Calendar/CalendarMonths.js +22 -22
- package/Calendar/CalendarWeeks.d.ts +41 -41
- package/Calendar/CalendarWeeks.js +42 -42
- package/Calendar/CalendarYears.d.ts +40 -40
- 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 -44
- 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 -8
- 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 -550
- 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/Typography/index.js +4 -1
- 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 +6 -20
- 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
package/Table/Table.d.ts
CHANGED
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { TableColumn, TableComponents, TableDataSource, TableRowSelection, TableExpandable, TableFetchMore, TablePagination as TablePaginationType, TableRefresh as TableRefreshType, ExpandRowBySources, TableScrolling, TableDraggable } from '@mezzanine-ui/core/table';
|
|
3
|
-
import { EmptyProps } from '../Empty';
|
|
4
|
-
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
5
|
-
export interface TableBaseProps<T> extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'role' | 'draggable'> {
|
|
6
|
-
/**
|
|
7
|
-
* customized body className
|
|
8
|
-
*/
|
|
9
|
-
bodyClassName?: string;
|
|
10
|
-
/**
|
|
11
|
-
* customized body row className
|
|
12
|
-
*/
|
|
13
|
-
bodyRowClassName?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Columns of table <br />
|
|
16
|
-
* `column.render` allowed customizing the column body cell rendering. <br />
|
|
17
|
-
* `column.renderTitle` allowed customizing the column header cell rendering. <br />
|
|
18
|
-
* `column.sorter` is the sorting method that you want to apply to your column. <br />
|
|
19
|
-
* `column.onSorted` is the callback triggered whenever sort icon clicked.
|
|
20
|
-
*/
|
|
21
|
-
columns: TableColumn<T>[];
|
|
22
|
-
/**
|
|
23
|
-
* Custom table components <br />
|
|
24
|
-
*/
|
|
25
|
-
components?: TableComponents;
|
|
26
|
-
/**
|
|
27
|
-
* Data record array to be displayed. <br />
|
|
28
|
-
* Notice that each source should contain `key` or `id` prop as data primary key.
|
|
29
|
-
*/
|
|
30
|
-
dataSource: TableDataSource[];
|
|
31
|
-
/**
|
|
32
|
-
* Draggable table row. This feature allows sort items by mouse dragging. Not supported when `fetchMore` is enabled and also buggy when use finger touch (mobile device).
|
|
33
|
-
* When `draggable.enabled` is true, draggable will be enabled.
|
|
34
|
-
* `draggable.onDragEnd` return new dataSource for you
|
|
35
|
-
*/
|
|
36
|
-
draggable?: TableDraggable;
|
|
37
|
-
/**
|
|
38
|
-
* props exported from `<Empty />` component.
|
|
39
|
-
*/
|
|
40
|
-
emptyProps?: EmptyProps;
|
|
41
|
-
/**
|
|
42
|
-
* When `expandable.rowExpandable` is given, it will control whether row data is expandable or not
|
|
43
|
-
* `expandable.expandedRowRender` is a callback to helps you decides what data should be rendered.
|
|
44
|
-
*/
|
|
45
|
-
expandable?: Omit<TableExpandable<T>, 'expandedRowRender'> & {
|
|
46
|
-
expandedRowRender(record: T): ReactNode | ExpandRowBySources;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* customized header className
|
|
50
|
-
*/
|
|
51
|
-
headerClassName?: string;
|
|
52
|
-
/**
|
|
53
|
-
* Whether table is loading or not
|
|
54
|
-
*/
|
|
55
|
-
loading?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* When loading is true, show specific loadingTip
|
|
58
|
-
* @default '資料載入中...'
|
|
59
|
-
*/
|
|
60
|
-
loadingTip?: string;
|
|
61
|
-
/**
|
|
62
|
-
* `refresh.show` is true, refresh button will display at the top-start of table. <br />
|
|
63
|
-
* `refresh.onClick` is the callback of the refresh button.
|
|
64
|
-
*/
|
|
65
|
-
refresh?: TableRefreshType;
|
|
66
|
-
/**
|
|
67
|
-
* Enable row selection feature <br />
|
|
68
|
-
* `rowSelection.selectedRowKey` is the dataSource keys that are currently selected. <br />
|
|
69
|
-
* `rowSelection.onChange` is the callback when selection changed. <br />
|
|
70
|
-
* `rowSelection.actions` are the actions that you want to do for selected data.
|
|
71
|
-
*/
|
|
72
|
-
rowSelection?: TableRowSelection;
|
|
73
|
-
/**
|
|
74
|
-
* Enable table scroll feature <br />
|
|
75
|
-
* `scroll.x` set horizontal scrolling, can also be used to specify the width of the scroll area <br />
|
|
76
|
-
* `scroll.y` Set vertical scrolling, can also be used to specify the height of the scroll area <br />
|
|
77
|
-
* `scroll.fixedFirstColumn` set first column fixed when horizontal scrolling.
|
|
78
|
-
*/
|
|
79
|
-
scroll?: TableScrolling;
|
|
80
|
-
/**
|
|
81
|
-
* customize scroll container className
|
|
82
|
-
*/
|
|
83
|
-
scrollContainerClassName?: string;
|
|
84
|
-
}
|
|
85
|
-
export interface TableWithFetchMore<T> extends TableBaseProps<T> {
|
|
86
|
-
/**
|
|
87
|
-
* If `fetchMore.callback` is given, table will automatically trigger it when scrolling position reach end. <br />
|
|
88
|
-
* If `fetchMore.isReachEnd` is true, table will stop triggering callback. <br />
|
|
89
|
-
* If `fetchMore.isFetching` is true, a loading spinner will display at the end of table and stop triggering callback.
|
|
90
|
-
* <br />
|
|
91
|
-
* Notice that when `fetchMore.isFetching` is `undefined`, table will take control of it when source length changed.
|
|
92
|
-
*/
|
|
93
|
-
fetchMore?: TableFetchMore;
|
|
94
|
-
pagination?: undefined;
|
|
95
|
-
}
|
|
96
|
-
export interface TableWithPagination<T> extends TableBaseProps<T> {
|
|
97
|
-
/**
|
|
98
|
-
* `pagination.current` is the current page number. (required) <br />
|
|
99
|
-
* `pagination.onChange` is the callback when page number changed. (required) <br />
|
|
100
|
-
* `pagination.disableAutoSlicing` set this to true if you don't want auto data slicing. <br />
|
|
101
|
-
* `pagination.total` is the total amount of your data. (default will be dataSource length) <br />
|
|
102
|
-
* `pagination.options` is the <Pagination /> component props. <br />
|
|
103
|
-
* Notice that if `pagination` object is given, table will disable fetchMore and use pagination instead.
|
|
104
|
-
*/
|
|
105
|
-
pagination?: TablePaginationType;
|
|
106
|
-
fetchMore?: undefined;
|
|
107
|
-
}
|
|
108
|
-
export
|
|
109
|
-
declare const Table: import("react").ForwardRefExoticComponent<TableProps<Record<string, unknown>> & import("react").RefAttributes<HTMLTableElement>>;
|
|
110
|
-
export default Table;
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableColumn, TableComponents, TableDataSource, TableRowSelection, TableExpandable, TableFetchMore, TablePagination as TablePaginationType, TableRefresh as TableRefreshType, ExpandRowBySources, TableScrolling, TableDraggable } from '@mezzanine-ui/core/table';
|
|
3
|
+
import { EmptyProps } from '../Empty';
|
|
4
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
5
|
+
export interface TableBaseProps<T> extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'role' | 'draggable'> {
|
|
6
|
+
/**
|
|
7
|
+
* customized body className
|
|
8
|
+
*/
|
|
9
|
+
bodyClassName?: string;
|
|
10
|
+
/**
|
|
11
|
+
* customized body row className
|
|
12
|
+
*/
|
|
13
|
+
bodyRowClassName?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Columns of table <br />
|
|
16
|
+
* `column.render` allowed customizing the column body cell rendering. <br />
|
|
17
|
+
* `column.renderTitle` allowed customizing the column header cell rendering. <br />
|
|
18
|
+
* `column.sorter` is the sorting method that you want to apply to your column. <br />
|
|
19
|
+
* `column.onSorted` is the callback triggered whenever sort icon clicked.
|
|
20
|
+
*/
|
|
21
|
+
columns: TableColumn<T>[];
|
|
22
|
+
/**
|
|
23
|
+
* Custom table components <br />
|
|
24
|
+
*/
|
|
25
|
+
components?: TableComponents;
|
|
26
|
+
/**
|
|
27
|
+
* Data record array to be displayed. <br />
|
|
28
|
+
* Notice that each source should contain `key` or `id` prop as data primary key.
|
|
29
|
+
*/
|
|
30
|
+
dataSource: TableDataSource[];
|
|
31
|
+
/**
|
|
32
|
+
* Draggable table row. This feature allows sort items by mouse dragging. Not supported when `fetchMore` is enabled and also buggy when use finger touch (mobile device).
|
|
33
|
+
* When `draggable.enabled` is true, draggable will be enabled.
|
|
34
|
+
* `draggable.onDragEnd` return new dataSource for you
|
|
35
|
+
*/
|
|
36
|
+
draggable?: TableDraggable;
|
|
37
|
+
/**
|
|
38
|
+
* props exported from `<Empty />` component.
|
|
39
|
+
*/
|
|
40
|
+
emptyProps?: EmptyProps;
|
|
41
|
+
/**
|
|
42
|
+
* When `expandable.rowExpandable` is given, it will control whether row data is expandable or not
|
|
43
|
+
* `expandable.expandedRowRender` is a callback to helps you decides what data should be rendered.
|
|
44
|
+
*/
|
|
45
|
+
expandable?: Omit<TableExpandable<T>, 'expandedRowRender'> & {
|
|
46
|
+
expandedRowRender(record: T): ReactNode | ExpandRowBySources;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* customized header className
|
|
50
|
+
*/
|
|
51
|
+
headerClassName?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Whether table is loading or not
|
|
54
|
+
*/
|
|
55
|
+
loading?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* When loading is true, show specific loadingTip
|
|
58
|
+
* @default '資料載入中...'
|
|
59
|
+
*/
|
|
60
|
+
loadingTip?: string;
|
|
61
|
+
/**
|
|
62
|
+
* `refresh.show` is true, refresh button will display at the top-start of table. <br />
|
|
63
|
+
* `refresh.onClick` is the callback of the refresh button.
|
|
64
|
+
*/
|
|
65
|
+
refresh?: TableRefreshType;
|
|
66
|
+
/**
|
|
67
|
+
* Enable row selection feature <br />
|
|
68
|
+
* `rowSelection.selectedRowKey` is the dataSource keys that are currently selected. <br />
|
|
69
|
+
* `rowSelection.onChange` is the callback when selection changed. <br />
|
|
70
|
+
* `rowSelection.actions` are the actions that you want to do for selected data.
|
|
71
|
+
*/
|
|
72
|
+
rowSelection?: TableRowSelection;
|
|
73
|
+
/**
|
|
74
|
+
* Enable table scroll feature <br />
|
|
75
|
+
* `scroll.x` set horizontal scrolling, can also be used to specify the width of the scroll area <br />
|
|
76
|
+
* `scroll.y` Set vertical scrolling, can also be used to specify the height of the scroll area <br />
|
|
77
|
+
* `scroll.fixedFirstColumn` set first column fixed when horizontal scrolling.
|
|
78
|
+
*/
|
|
79
|
+
scroll?: TableScrolling;
|
|
80
|
+
/**
|
|
81
|
+
* customize scroll container className
|
|
82
|
+
*/
|
|
83
|
+
scrollContainerClassName?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface TableWithFetchMore<T> extends TableBaseProps<T> {
|
|
86
|
+
/**
|
|
87
|
+
* If `fetchMore.callback` is given, table will automatically trigger it when scrolling position reach end. <br />
|
|
88
|
+
* If `fetchMore.isReachEnd` is true, table will stop triggering callback. <br />
|
|
89
|
+
* If `fetchMore.isFetching` is true, a loading spinner will display at the end of table and stop triggering callback.
|
|
90
|
+
* <br />
|
|
91
|
+
* Notice that when `fetchMore.isFetching` is `undefined`, table will take control of it when source length changed.
|
|
92
|
+
*/
|
|
93
|
+
fetchMore?: TableFetchMore;
|
|
94
|
+
pagination?: undefined;
|
|
95
|
+
}
|
|
96
|
+
export interface TableWithPagination<T> extends TableBaseProps<T> {
|
|
97
|
+
/**
|
|
98
|
+
* `pagination.current` is the current page number. (required) <br />
|
|
99
|
+
* `pagination.onChange` is the callback when page number changed. (required) <br />
|
|
100
|
+
* `pagination.disableAutoSlicing` set this to true if you don't want auto data slicing. <br />
|
|
101
|
+
* `pagination.total` is the total amount of your data. (default will be dataSource length) <br />
|
|
102
|
+
* `pagination.options` is the <Pagination /> component props. <br />
|
|
103
|
+
* Notice that if `pagination` object is given, table will disable fetchMore and use pagination instead.
|
|
104
|
+
*/
|
|
105
|
+
pagination?: TablePaginationType;
|
|
106
|
+
fetchMore?: undefined;
|
|
107
|
+
}
|
|
108
|
+
export type TableProps<T> = TableWithFetchMore<T> | TableWithPagination<T>;
|
|
109
|
+
declare const Table: import("react").ForwardRefExoticComponent<TableProps<Record<string, unknown>> & import("react").RefAttributes<HTMLTableElement>>;
|
|
110
|
+
export default Table;
|
package/Table/Table.js
CHANGED
|
@@ -18,152 +18,152 @@ import { composeRefs } from '../utils/composeRefs.js';
|
|
|
18
18
|
import Loading from '../Loading/Loading.js';
|
|
19
19
|
import cx from 'clsx';
|
|
20
20
|
|
|
21
|
-
const Table = forwardRef(function Table(props, ref) {
|
|
22
|
-
var _a;
|
|
23
|
-
const { bodyClassName, bodyRowClassName, className, columns, components, dataSource: dataSourceProp, draggable: draggableProp, emptyProps, expandable: expandableProp, fetchMore: fetchMoreProp, headerClassName, loading: loadingProp, loadingTip = '資料載入中...', pagination: paginationProp, refresh: refreshProp, rowSelection: rowSelectionProp, scroll: scrollProp, scrollContainerClassName, ...rest } = props;
|
|
24
|
-
const bodyRef = useRef(null);
|
|
25
|
-
/** Feature rowSelection */
|
|
26
|
-
const [selectedRowKeys, setSelectedRowKey] = useTableRowSelection({
|
|
27
|
-
selectedRowKey: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.selectedRowKey,
|
|
28
|
-
onChange: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.onChange,
|
|
29
|
-
dataSource: dataSourceProp,
|
|
30
|
-
});
|
|
31
|
-
const rowSelection = useMemo(() => (rowSelectionProp ? {
|
|
32
|
-
selectedRowKeys,
|
|
33
|
-
onChange: setSelectedRowKey,
|
|
34
|
-
actions: rowSelectionProp.actions,
|
|
35
|
-
} : undefined), [
|
|
36
|
-
rowSelectionProp,
|
|
37
|
-
selectedRowKeys,
|
|
38
|
-
setSelectedRowKey,
|
|
39
|
-
]);
|
|
40
|
-
/** Feature sorting */
|
|
41
|
-
const [dataSource, onSort, { sortedOn, sortedType, onResetAll, setDataSource, }] = useTableSorting({
|
|
42
|
-
dataSource: dataSourceProp,
|
|
43
|
-
});
|
|
44
|
-
/** Feature loading */
|
|
45
|
-
const [loading, setLoading] = useTableLoading({
|
|
46
|
-
loading: loadingProp,
|
|
47
|
-
});
|
|
48
|
-
/** Feature fetchMore */
|
|
49
|
-
const { fetchMore: onFetchMore, isFetching, isReachEnd, } = useTableFetchMore({
|
|
50
|
-
callback: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.callback,
|
|
51
|
-
dataSource,
|
|
52
|
-
/** when pagination is given, fetchMore feature should be disabled */
|
|
53
|
-
disabled: !!paginationProp,
|
|
54
|
-
isReachEnd: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.isReachEnd,
|
|
55
|
-
isFetching: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.isFetching,
|
|
56
|
-
});
|
|
57
|
-
/** Feature refresh */
|
|
58
|
-
const isRefreshShow = useMemo(() => {
|
|
59
|
-
var _a;
|
|
60
|
-
return (
|
|
61
|
-
/** @default false */
|
|
62
|
-
(_a = refreshProp === null || refreshProp === void 0 ? void 0 : refreshProp.show) !== null && _a !== void 0 ? _a : false);
|
|
63
|
-
}, [refreshProp === null || refreshProp === void 0 ? void 0 : refreshProp.show]);
|
|
64
|
-
/** Feature Scrolling */
|
|
65
|
-
const [scrollBody, scrollElement, isHorizontalScrolling] = useTableScroll({
|
|
66
|
-
onFetchMore,
|
|
67
|
-
loading,
|
|
68
|
-
scrollBarSize: 4,
|
|
69
|
-
});
|
|
70
|
-
/** Feature drag and drop */
|
|
71
|
-
const { draggingId, onBeforeDragStart, onDragEnd, } = useTableDraggable({
|
|
72
|
-
dataSource,
|
|
73
|
-
setDataSource,
|
|
74
|
-
draggable: draggableProp,
|
|
75
|
-
});
|
|
76
|
-
/** context */
|
|
77
|
-
const tableContextValue = useMemo(() => {
|
|
78
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
79
|
-
return ({
|
|
80
|
-
emptyProps,
|
|
81
|
-
rowSelection,
|
|
82
|
-
isHorizontalScrolling,
|
|
83
|
-
sorting: {
|
|
84
|
-
onSort,
|
|
85
|
-
onResetAll,
|
|
86
|
-
sortedOn,
|
|
87
|
-
sortedType,
|
|
88
|
-
},
|
|
89
|
-
loading,
|
|
90
|
-
setLoading,
|
|
91
|
-
expanding: expandableProp,
|
|
92
|
-
fetchMore: onFetchMore ? {
|
|
93
|
-
onFetchMore,
|
|
94
|
-
isFetching,
|
|
95
|
-
isReachEnd,
|
|
96
|
-
} : undefined,
|
|
97
|
-
pagination: paginationProp ? {
|
|
98
|
-
current: paginationProp.current,
|
|
99
|
-
disableAutoSlicing: (_a = paginationProp.disableAutoSlicing) !== null && _a !== void 0 ? _a : false,
|
|
100
|
-
onChange: paginationProp.onChange,
|
|
101
|
-
total: (_b = paginationProp.total) !== null && _b !== void 0 ? _b : dataSource.length,
|
|
102
|
-
options: {
|
|
103
|
-
...((_c = paginationProp.options) !== null && _c !== void 0 ? _c : {}),
|
|
104
|
-
boundaryCount: (_e = (_d = paginationProp.options) === null || _d === void 0 ? void 0 : _d.boundaryCount) !== null && _e !== void 0 ? _e : 1,
|
|
105
|
-
pageSize: (_g = (_f = paginationProp.options) === null || _f === void 0 ? void 0 : _f.pageSize) !== null && _g !== void 0 ? _g : 10,
|
|
106
|
-
siblingCount: (_j = (_h = paginationProp.options) === null || _h === void 0 ? void 0 : _h.siblingCount) !== null && _j !== void 0 ? _j : 1,
|
|
107
|
-
},
|
|
108
|
-
} : undefined,
|
|
109
|
-
scroll: scrollProp,
|
|
110
|
-
draggable: draggableProp ? {
|
|
111
|
-
...draggableProp,
|
|
112
|
-
draggingId,
|
|
113
|
-
} : undefined,
|
|
114
|
-
});
|
|
115
|
-
}, [
|
|
116
|
-
dataSource,
|
|
117
|
-
emptyProps,
|
|
118
|
-
expandableProp,
|
|
119
|
-
rowSelection,
|
|
120
|
-
onSort,
|
|
121
|
-
onResetAll,
|
|
122
|
-
sortedOn,
|
|
123
|
-
sortedType,
|
|
124
|
-
loading,
|
|
125
|
-
setLoading,
|
|
126
|
-
onFetchMore,
|
|
127
|
-
isFetching,
|
|
128
|
-
isReachEnd,
|
|
129
|
-
paginationProp,
|
|
130
|
-
isHorizontalScrolling,
|
|
131
|
-
scrollProp,
|
|
132
|
-
draggableProp,
|
|
133
|
-
draggingId,
|
|
134
|
-
]);
|
|
135
|
-
const tableDataContextValue = useMemo(() => ({
|
|
136
|
-
columns,
|
|
137
|
-
dataSource,
|
|
138
|
-
}), [columns, dataSource]);
|
|
139
|
-
const tableComponentContextValue = useMemo(() => {
|
|
140
|
-
var _a;
|
|
141
|
-
return ({
|
|
142
|
-
bodyCell: (_a = components === null || components === void 0 ? void 0 : components.body) === null || _a === void 0 ? void 0 : _a.cell,
|
|
143
|
-
});
|
|
144
|
-
}, [(_a = components === null || components === void 0 ? void 0 : components.body) === null || _a === void 0 ? void 0 : _a.cell]);
|
|
145
|
-
const tableRefs = useComposeRefs([ref, scrollBody.target]);
|
|
146
|
-
return (jsx(TableContext.Provider, { value: tableContextValue, children: jsx(TableDataContext.Provider, { value: tableDataContextValue, children: jsx(TableComponentContext.Provider, { value: tableComponentContextValue, children: jsx(DragDropContext, { onBeforeDragStart: onBeforeDragStart, onDragEnd: onDragEnd, children: jsx(Loading, { loading: loading, stretch: true, tip: loadingTip, overlayProps: {
|
|
147
|
-
className: tableClasses.loading,
|
|
148
|
-
}, children: jsx(Droppable, { droppableId: "mzn-table-dnd", isDropDisabled: !(draggableProp === null || draggableProp === void 0 ? void 0 : draggableProp.enabled), children: (provided) => (jsxs(Fragment, { children: [jsx("div", { ...provided.droppableProps, ref: composeRefs([scrollBody.ref, provided.innerRef]), className: cx(tableClasses.scrollContainer, scrollContainerClassName), onScroll: scrollBody.onScroll, style: tableContextValue.scroll ? {
|
|
149
|
-
'--table-scroll-x': tableContextValue.scroll.x
|
|
150
|
-
? `${tableContextValue.scroll.x}px`
|
|
151
|
-
: '100%',
|
|
152
|
-
'--table-scroll-y': tableContextValue.scroll.y
|
|
153
|
-
? `${tableContextValue.scroll.y}px`
|
|
154
|
-
: 'unset',
|
|
155
|
-
} : undefined, children: jsxs("table", { ref: tableRefs, ...rest, className: cx(tableClasses.host, className), children: [isRefreshShow ? (jsx("tbody", { children: jsx("tr", { children: jsx("td", { children: jsx(TableRefresh, { onClick: refreshProp.onClick }) }) }) })) : null, jsx(TableHeader, { className: headerClassName }), jsx(TableBody, { ref: bodyRef, className: bodyClassName, rowClassName: bodyRowClassName }), jsx("tbody", { children: provided.placeholder })] }) }), paginationProp ? (jsx(TablePagination, { bodyRef: bodyRef })) : null, jsx("div", { ref: scrollElement.trackRef, style: scrollElement.trackStyle, onMouseDown: scrollElement.onMouseDown, onMouseUp: scrollElement.onMouseUp, role: "button", tabIndex: -1, className: "mzn-table-scroll-bar-track", children: jsx("div", { style: {
|
|
156
|
-
width: '100%',
|
|
157
|
-
height: '100%',
|
|
158
|
-
position: 'relative',
|
|
159
|
-
}, children: jsx("div", { ref: scrollElement.ref, onMouseDown: scrollElement.onMouseDown, onMouseUp: scrollElement.onMouseUp, onMouseEnter: scrollElement.onMouseEnter, onMouseLeave: scrollElement.onMouseLeave, role: "button", style: scrollElement.style, tabIndex: -1, className: "mzn-table-scroll-bar", children: jsx("div", { style: {
|
|
160
|
-
width: `${scrollElement.scrollBarSize}px`,
|
|
161
|
-
height: '100%',
|
|
162
|
-
borderRadius: '10px',
|
|
163
|
-
backgroundColor: '#7d7d7d',
|
|
164
|
-
transition: '0.1s',
|
|
165
|
-
} }) }) }) })] })) }) }) }) }) }) }));
|
|
166
|
-
});
|
|
21
|
+
const Table = forwardRef(function Table(props, ref) {
|
|
22
|
+
var _a;
|
|
23
|
+
const { bodyClassName, bodyRowClassName, className, columns, components, dataSource: dataSourceProp, draggable: draggableProp, emptyProps, expandable: expandableProp, fetchMore: fetchMoreProp, headerClassName, loading: loadingProp, loadingTip = '資料載入中...', pagination: paginationProp, refresh: refreshProp, rowSelection: rowSelectionProp, scroll: scrollProp, scrollContainerClassName, ...rest } = props;
|
|
24
|
+
const bodyRef = useRef(null);
|
|
25
|
+
/** Feature rowSelection */
|
|
26
|
+
const [selectedRowKeys, setSelectedRowKey] = useTableRowSelection({
|
|
27
|
+
selectedRowKey: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.selectedRowKey,
|
|
28
|
+
onChange: rowSelectionProp === null || rowSelectionProp === void 0 ? void 0 : rowSelectionProp.onChange,
|
|
29
|
+
dataSource: dataSourceProp,
|
|
30
|
+
});
|
|
31
|
+
const rowSelection = useMemo(() => (rowSelectionProp ? {
|
|
32
|
+
selectedRowKeys,
|
|
33
|
+
onChange: setSelectedRowKey,
|
|
34
|
+
actions: rowSelectionProp.actions,
|
|
35
|
+
} : undefined), [
|
|
36
|
+
rowSelectionProp,
|
|
37
|
+
selectedRowKeys,
|
|
38
|
+
setSelectedRowKey,
|
|
39
|
+
]);
|
|
40
|
+
/** Feature sorting */
|
|
41
|
+
const [dataSource, onSort, { sortedOn, sortedType, onResetAll, setDataSource, }] = useTableSorting({
|
|
42
|
+
dataSource: dataSourceProp,
|
|
43
|
+
});
|
|
44
|
+
/** Feature loading */
|
|
45
|
+
const [loading, setLoading] = useTableLoading({
|
|
46
|
+
loading: loadingProp,
|
|
47
|
+
});
|
|
48
|
+
/** Feature fetchMore */
|
|
49
|
+
const { fetchMore: onFetchMore, isFetching, isReachEnd, } = useTableFetchMore({
|
|
50
|
+
callback: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.callback,
|
|
51
|
+
dataSource,
|
|
52
|
+
/** when pagination is given, fetchMore feature should be disabled */
|
|
53
|
+
disabled: !!paginationProp,
|
|
54
|
+
isReachEnd: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.isReachEnd,
|
|
55
|
+
isFetching: fetchMoreProp === null || fetchMoreProp === void 0 ? void 0 : fetchMoreProp.isFetching,
|
|
56
|
+
});
|
|
57
|
+
/** Feature refresh */
|
|
58
|
+
const isRefreshShow = useMemo(() => {
|
|
59
|
+
var _a;
|
|
60
|
+
return (
|
|
61
|
+
/** @default false */
|
|
62
|
+
(_a = refreshProp === null || refreshProp === void 0 ? void 0 : refreshProp.show) !== null && _a !== void 0 ? _a : false);
|
|
63
|
+
}, [refreshProp === null || refreshProp === void 0 ? void 0 : refreshProp.show]);
|
|
64
|
+
/** Feature Scrolling */
|
|
65
|
+
const [scrollBody, scrollElement, isHorizontalScrolling] = useTableScroll({
|
|
66
|
+
onFetchMore,
|
|
67
|
+
loading,
|
|
68
|
+
scrollBarSize: 4,
|
|
69
|
+
});
|
|
70
|
+
/** Feature drag and drop */
|
|
71
|
+
const { draggingId, onBeforeDragStart, onDragEnd, } = useTableDraggable({
|
|
72
|
+
dataSource,
|
|
73
|
+
setDataSource,
|
|
74
|
+
draggable: draggableProp,
|
|
75
|
+
});
|
|
76
|
+
/** context */
|
|
77
|
+
const tableContextValue = useMemo(() => {
|
|
78
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
79
|
+
return ({
|
|
80
|
+
emptyProps,
|
|
81
|
+
rowSelection,
|
|
82
|
+
isHorizontalScrolling,
|
|
83
|
+
sorting: {
|
|
84
|
+
onSort,
|
|
85
|
+
onResetAll,
|
|
86
|
+
sortedOn,
|
|
87
|
+
sortedType,
|
|
88
|
+
},
|
|
89
|
+
loading,
|
|
90
|
+
setLoading,
|
|
91
|
+
expanding: expandableProp,
|
|
92
|
+
fetchMore: onFetchMore ? {
|
|
93
|
+
onFetchMore,
|
|
94
|
+
isFetching,
|
|
95
|
+
isReachEnd,
|
|
96
|
+
} : undefined,
|
|
97
|
+
pagination: paginationProp ? {
|
|
98
|
+
current: paginationProp.current,
|
|
99
|
+
disableAutoSlicing: (_a = paginationProp.disableAutoSlicing) !== null && _a !== void 0 ? _a : false,
|
|
100
|
+
onChange: paginationProp.onChange,
|
|
101
|
+
total: (_b = paginationProp.total) !== null && _b !== void 0 ? _b : dataSource.length,
|
|
102
|
+
options: {
|
|
103
|
+
...((_c = paginationProp.options) !== null && _c !== void 0 ? _c : {}),
|
|
104
|
+
boundaryCount: (_e = (_d = paginationProp.options) === null || _d === void 0 ? void 0 : _d.boundaryCount) !== null && _e !== void 0 ? _e : 1,
|
|
105
|
+
pageSize: (_g = (_f = paginationProp.options) === null || _f === void 0 ? void 0 : _f.pageSize) !== null && _g !== void 0 ? _g : 10,
|
|
106
|
+
siblingCount: (_j = (_h = paginationProp.options) === null || _h === void 0 ? void 0 : _h.siblingCount) !== null && _j !== void 0 ? _j : 1,
|
|
107
|
+
},
|
|
108
|
+
} : undefined,
|
|
109
|
+
scroll: scrollProp,
|
|
110
|
+
draggable: draggableProp ? {
|
|
111
|
+
...draggableProp,
|
|
112
|
+
draggingId,
|
|
113
|
+
} : undefined,
|
|
114
|
+
});
|
|
115
|
+
}, [
|
|
116
|
+
dataSource,
|
|
117
|
+
emptyProps,
|
|
118
|
+
expandableProp,
|
|
119
|
+
rowSelection,
|
|
120
|
+
onSort,
|
|
121
|
+
onResetAll,
|
|
122
|
+
sortedOn,
|
|
123
|
+
sortedType,
|
|
124
|
+
loading,
|
|
125
|
+
setLoading,
|
|
126
|
+
onFetchMore,
|
|
127
|
+
isFetching,
|
|
128
|
+
isReachEnd,
|
|
129
|
+
paginationProp,
|
|
130
|
+
isHorizontalScrolling,
|
|
131
|
+
scrollProp,
|
|
132
|
+
draggableProp,
|
|
133
|
+
draggingId,
|
|
134
|
+
]);
|
|
135
|
+
const tableDataContextValue = useMemo(() => ({
|
|
136
|
+
columns,
|
|
137
|
+
dataSource,
|
|
138
|
+
}), [columns, dataSource]);
|
|
139
|
+
const tableComponentContextValue = useMemo(() => {
|
|
140
|
+
var _a;
|
|
141
|
+
return ({
|
|
142
|
+
bodyCell: (_a = components === null || components === void 0 ? void 0 : components.body) === null || _a === void 0 ? void 0 : _a.cell,
|
|
143
|
+
});
|
|
144
|
+
}, [(_a = components === null || components === void 0 ? void 0 : components.body) === null || _a === void 0 ? void 0 : _a.cell]);
|
|
145
|
+
const tableRefs = useComposeRefs([ref, scrollBody.target]);
|
|
146
|
+
return (jsx(TableContext.Provider, { value: tableContextValue, children: jsx(TableDataContext.Provider, { value: tableDataContextValue, children: jsx(TableComponentContext.Provider, { value: tableComponentContextValue, children: jsx(DragDropContext, { onBeforeDragStart: onBeforeDragStart, onDragEnd: onDragEnd, children: jsx(Loading, { loading: loading, stretch: true, tip: loadingTip, overlayProps: {
|
|
147
|
+
className: tableClasses.loading,
|
|
148
|
+
}, children: jsx(Droppable, { droppableId: "mzn-table-dnd", isDropDisabled: !(draggableProp === null || draggableProp === void 0 ? void 0 : draggableProp.enabled), children: (provided) => (jsxs(Fragment, { children: [jsx("div", { ...provided.droppableProps, ref: composeRefs([scrollBody.ref, provided.innerRef]), className: cx(tableClasses.scrollContainer, scrollContainerClassName), onScroll: scrollBody.onScroll, style: tableContextValue.scroll ? {
|
|
149
|
+
'--table-scroll-x': tableContextValue.scroll.x
|
|
150
|
+
? `${tableContextValue.scroll.x}px`
|
|
151
|
+
: '100%',
|
|
152
|
+
'--table-scroll-y': tableContextValue.scroll.y
|
|
153
|
+
? `${tableContextValue.scroll.y}px`
|
|
154
|
+
: 'unset',
|
|
155
|
+
} : undefined, children: jsxs("table", { ref: tableRefs, ...rest, className: cx(tableClasses.host, className), children: [isRefreshShow ? (jsx("tbody", { children: jsx("tr", { children: jsx("td", { "aria-label": "Refresh", children: jsx(TableRefresh, { onClick: refreshProp.onClick }) }) }) })) : null, jsx(TableHeader, { className: headerClassName }), jsx(TableBody, { ref: bodyRef, className: bodyClassName, rowClassName: bodyRowClassName }), jsx("tbody", { children: provided.placeholder })] }) }), paginationProp ? (jsx(TablePagination, { bodyRef: bodyRef })) : null, jsx("div", { ref: scrollElement.trackRef, "aria-label": "Scroll Track", style: scrollElement.trackStyle, onMouseDown: scrollElement.onMouseDown, onMouseUp: scrollElement.onMouseUp, role: "button", tabIndex: -1, className: "mzn-table-scroll-bar-track", children: jsx("div", { style: {
|
|
156
|
+
width: '100%',
|
|
157
|
+
height: '100%',
|
|
158
|
+
position: 'relative',
|
|
159
|
+
}, children: jsx("div", { ref: scrollElement.ref, "aria-label": "Scroll Bar", onMouseDown: scrollElement.onMouseDown, onMouseUp: scrollElement.onMouseUp, onMouseEnter: scrollElement.onMouseEnter, onMouseLeave: scrollElement.onMouseLeave, role: "button", style: scrollElement.style, tabIndex: -1, className: "mzn-table-scroll-bar", children: jsx("div", { style: {
|
|
160
|
+
width: `${scrollElement.scrollBarSize}px`,
|
|
161
|
+
height: '100%',
|
|
162
|
+
borderRadius: '10px',
|
|
163
|
+
backgroundColor: '#7d7d7d',
|
|
164
|
+
transition: '0.1s',
|
|
165
|
+
} }) }) }) })] })) }) }) }) }) }) }));
|
|
166
|
+
});
|
|
167
167
|
var Table$1 = Table;
|
|
168
168
|
|
|
169
169
|
export { Table$1 as default };
|
package/Table/TableBody.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
3
|
-
export interface TableBodyProps extends NativeElementPropsWithoutKeyAndRef<'div'> {
|
|
4
|
-
/**
|
|
5
|
-
* customize row className
|
|
6
|
-
*/
|
|
7
|
-
rowClassName?: string;
|
|
8
|
-
}
|
|
9
|
-
declare const TableBody: import("react").ForwardRefExoticComponent<TableBodyProps & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
10
|
-
export default TableBody;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
3
|
+
export interface TableBodyProps extends NativeElementPropsWithoutKeyAndRef<'div'> {
|
|
4
|
+
/**
|
|
5
|
+
* customize row className
|
|
6
|
+
*/
|
|
7
|
+
rowClassName?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const TableBody: import("react").ForwardRefExoticComponent<TableBodyProps & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
10
|
+
export default TableBody;
|
package/Table/TableBody.js
CHANGED
|
@@ -7,19 +7,19 @@ import Loading from '../Loading/Loading.js';
|
|
|
7
7
|
import Empty from '../Empty/Empty.js';
|
|
8
8
|
import cx from 'clsx';
|
|
9
9
|
|
|
10
|
-
const TableBody = forwardRef(function TableBody(props, ref) {
|
|
11
|
-
const { className, rowClassName, ...rest } = props;
|
|
12
|
-
const { dataSource = [], } = useContext(TableDataContext) || {};
|
|
13
|
-
const { emptyProps, fetchMore, pagination, } = useContext(TableContext) || {};
|
|
14
|
-
/** customizing empty */
|
|
15
|
-
const { className: emptyComponentClassName = '', children: emptyComponentChildren = '查無資料', fullHeight: emptyComponentFullHeight = true, ...restEmptyProps } = emptyProps || {};
|
|
16
|
-
/** pagination feature */
|
|
17
|
-
const { current: currentPage, disableAutoSlicing, total, options: paginationOptions, } = pagination || {};
|
|
18
|
-
const currentStartCount = (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSize) && currentPage ? ((paginationOptions.pageSize) * (currentPage - 1)) : 0;
|
|
19
|
-
const currentEndCount = (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSize) && currentPage && total ? (Math.min(((paginationOptions.pageSize) * currentPage), total)) : 0;
|
|
20
|
-
const currentDataSource = pagination && !disableAutoSlicing ? (dataSource.slice(currentStartCount, currentEndCount)) : dataSource;
|
|
21
|
-
return (jsxs("tbody", { ...rest, ref: ref, className: cx(tableClasses.body, className), children: [currentDataSource.length ? currentDataSource.map((rowData, index) => (jsx(TableBodyRow, { className: rowClassName, rowData: rowData, rowIndex: index }, (rowData.key || rowData.id)))) : (jsx("tr", { children: jsx("td", { children: jsx(Empty, { ...restEmptyProps, className: cx(tableClasses.bodyEmpty, emptyComponentClassName), fullHeight: emptyComponentFullHeight, children: emptyComponentChildren }) }) })), (fetchMore === null || fetchMore === void 0 ? void 0 : fetchMore.isFetching) ? (jsx("tr", { className: tableClasses.bodyFetchMore, children: jsx("td", { children: jsx(Loading, { loading: true }) }) })) : null] }));
|
|
22
|
-
});
|
|
10
|
+
const TableBody = forwardRef(function TableBody(props, ref) {
|
|
11
|
+
const { className, rowClassName, ...rest } = props;
|
|
12
|
+
const { dataSource = [], } = useContext(TableDataContext) || {};
|
|
13
|
+
const { emptyProps, fetchMore, pagination, } = useContext(TableContext) || {};
|
|
14
|
+
/** customizing empty */
|
|
15
|
+
const { className: emptyComponentClassName = '', children: emptyComponentChildren = '查無資料', fullHeight: emptyComponentFullHeight = true, ...restEmptyProps } = emptyProps || {};
|
|
16
|
+
/** pagination feature */
|
|
17
|
+
const { current: currentPage, disableAutoSlicing, total, options: paginationOptions, } = pagination || {};
|
|
18
|
+
const currentStartCount = (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSize) && currentPage ? ((paginationOptions.pageSize) * (currentPage - 1)) : 0;
|
|
19
|
+
const currentEndCount = (paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSize) && currentPage && total ? (Math.min(((paginationOptions.pageSize) * currentPage), total)) : 0;
|
|
20
|
+
const currentDataSource = pagination && !disableAutoSlicing ? (dataSource.slice(currentStartCount, currentEndCount)) : dataSource;
|
|
21
|
+
return (jsxs("tbody", { ...rest, ref: ref, className: cx(tableClasses.body, className), children: [currentDataSource.length ? currentDataSource.map((rowData, index) => (jsx(TableBodyRow, { className: rowClassName, rowData: rowData, rowIndex: index }, (rowData.key || rowData.id)))) : (jsx("tr", { children: jsx("td", { children: jsx(Empty, { ...restEmptyProps, className: cx(tableClasses.bodyEmpty, emptyComponentClassName), fullHeight: emptyComponentFullHeight, children: emptyComponentChildren }) }) })), (fetchMore === null || fetchMore === void 0 ? void 0 : fetchMore.isFetching) ? (jsx("tr", { className: tableClasses.bodyFetchMore, children: jsx("td", { "aria-label": "Loading", children: jsx(Loading, { loading: true }) }) })) : null] }));
|
|
22
|
+
});
|
|
23
23
|
var TableBody$1 = TableBody;
|
|
24
24
|
|
|
25
25
|
export { TableBody$1 as default };
|
package/Table/TableBodyRow.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { TableDataSource } from '@mezzanine-ui/core/table';
|
|
3
|
-
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
-
export interface TableBodyRowProps extends NativeElementPropsWithoutKeyAndRef<'div'> {
|
|
5
|
-
/**
|
|
6
|
-
* table body row dataSource
|
|
7
|
-
*/
|
|
8
|
-
rowData: TableDataSource;
|
|
9
|
-
rowIndex: number;
|
|
10
|
-
}
|
|
11
|
-
declare const TableBodyRow: import("react").ForwardRefExoticComponent<TableBodyRowProps & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
12
|
-
export default TableBodyRow;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TableDataSource } from '@mezzanine-ui/core/table';
|
|
3
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
+
export interface TableBodyRowProps extends NativeElementPropsWithoutKeyAndRef<'div'> {
|
|
5
|
+
/**
|
|
6
|
+
* table body row dataSource
|
|
7
|
+
*/
|
|
8
|
+
rowData: TableDataSource;
|
|
9
|
+
rowIndex: number;
|
|
10
|
+
}
|
|
11
|
+
declare const TableBodyRow: import("react").ForwardRefExoticComponent<TableBodyRowProps & import("react").RefAttributes<HTMLTableRowElement>>;
|
|
12
|
+
export default TableBodyRow;
|