@laser-ui/components 2.3.5 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/accordion/Accordion.d.ts +0 -1
- package/accordion/types.d.ts +0 -1
- package/affix/Affix.d.ts +0 -1
- package/affix/types.d.ts +0 -1
- package/alert/Alert.d.ts +0 -1
- package/alert/types.d.ts +0 -1
- package/anchor/Anchor.d.ts +0 -1
- package/anchor/types.d.ts +0 -1
- package/avatar/Avatar.d.ts +0 -1
- package/avatar/types.d.ts +0 -1
- package/badge/Badge.d.ts +0 -1
- package/badge/internal/BadgeNumber.d.ts +0 -1
- package/badge/types.d.ts +0 -1
- package/base-input/types.d.ts +0 -1
- package/breadcrumb/Breadcrumb.d.ts +0 -1
- package/breadcrumb/types.d.ts +0 -1
- package/button/types.d.ts +0 -1
- package/card/Card.d.ts +0 -1
- package/card/CardAction.d.ts +0 -1
- package/card/CardActions.d.ts +0 -1
- package/card/CardContent.d.ts +0 -1
- package/card/CardHeader.d.ts +0 -1
- package/card/types.d.ts +0 -1
- package/cascader/Cascader.d.ts +0 -1
- package/cascader/Cascader.js +9 -7
- package/cascader/internal/CascaderPanel.d.ts +1 -1
- package/cascader/internal/CascaderPanel.js +7 -3
- package/cascader/internal/CascaderSearchPanel.d.ts +1 -1
- package/cascader/internal/CascaderSearchPanel.js +2 -2
- package/cascader/internal/types.d.ts +0 -1
- package/cascader/types.d.ts +1 -1
- package/checkbox/Checkbox.d.ts +0 -1
- package/checkbox/CheckboxGroup.d.ts +0 -1
- package/checkbox/types.d.ts +0 -1
- package/circular-progress/CircularProgress.d.ts +0 -1
- package/compose/Compose.d.ts +0 -1
- package/compose/ComposeItem.d.ts +0 -1
- package/compose/types.d.ts +0 -1
- package/config-provider/ConfigProvider.d.ts +0 -1
- package/config-provider/types.d.ts +0 -1
- package/context/index.d.ts +0 -1
- package/date-picker/DatePicker.d.ts +0 -1
- package/date-picker/DatePicker.js +8 -4
- package/date-picker/internal/DatePickerPanel.d.ts +0 -1
- package/date-picker/types.d.ts +0 -1
- package/dialog-service.d.ts +0 -1
- package/drawer/Drawer.d.ts +0 -1
- package/drawer/DrawerFooter.d.ts +0 -1
- package/drawer/DrawerHeader.d.ts +0 -1
- package/drawer/types.d.ts +0 -1
- package/drawer/vars.d.ts +0 -1
- package/dropdown/Dropdown.d.ts +0 -1
- package/dropdown/internal/DropdownList.d.ts +0 -1
- package/dropdown/internal/DropdownList.js +6 -6
- package/dropdown/internal/DropdownSub.d.ts +0 -1
- package/dropdown/types.d.ts +0 -1
- package/dropdown/utils.d.ts +0 -1
- package/empty/Empty.d.ts +0 -1
- package/empty/types.d.ts +0 -1
- package/fab/Fab.d.ts +0 -1
- package/fab/FabBacktop.d.ts +0 -1
- package/fab/FabButton.d.ts +0 -1
- package/fab/types.d.ts +0 -1
- package/fab/vars.d.ts +0 -1
- package/form/Form.d.ts +0 -1
- package/form/FormItem.d.ts +0 -1
- package/form/internal/FormError.d.ts +0 -1
- package/form/types.d.ts +0 -1
- package/form/vars.d.ts +0 -1
- package/hooks/useContainerScrolling.d.ts +0 -1
- package/hooks/useFocusVisible.d.ts +0 -1
- package/hooks/useLayout.d.ts +0 -1
- package/hooks/useNestedPopup.d.ts +0 -1
- package/hooks/useStyled.d.ts +0 -1
- package/hooks/useStyled.js +0 -2
- package/hooks/useZIndex.js +5 -2
- package/icon/Icon.d.ts +0 -1
- package/icon/types.d.ts +0 -1
- package/image/Image.d.ts +0 -1
- package/image/ImageAction.d.ts +0 -1
- package/image/ImageLoader.d.ts +0 -1
- package/image/ImagePreview.d.ts +0 -1
- package/image/types.d.ts +0 -1
- package/input/Input.d.ts +0 -1
- package/input/types.d.ts +0 -1
- package/internal/lazy-loading/LazyLoading.d.ts +0 -1
- package/internal/lazy-loading/types.d.ts +0 -1
- package/internal/popup/Popup.d.ts +0 -1
- package/internal/popup/types.d.ts +0 -1
- package/internal/portal/Portal.d.ts +0 -1
- package/internal/portal/types.d.ts +0 -1
- package/mask/Mask.d.ts +0 -1
- package/mask/types.d.ts +0 -1
- package/menu/Menu.d.ts +0 -1
- package/menu/Menu.js +6 -6
- package/menu/internal/MenuGroup.d.ts +0 -1
- package/menu/internal/MenuItem.d.ts +0 -1
- package/menu/internal/MenuSub.d.ts +0 -1
- package/menu/types.d.ts +0 -1
- package/menu/utils.d.ts +0 -1
- package/modal/Modal.d.ts +0 -1
- package/modal/ModalAlert.d.ts +0 -1
- package/modal/ModalFooter.d.ts +0 -1
- package/modal/ModalHeader.d.ts +0 -1
- package/modal/types.d.ts +0 -1
- package/modal/vars.d.ts +0 -1
- package/notification/Notification.d.ts +0 -1
- package/notification/types.d.ts +0 -1
- package/package.json +2 -2
- package/pagination/Pagination.d.ts +0 -1
- package/pagination/types.d.ts +0 -1
- package/pagination/utils.d.ts +1 -2
- package/popover/Popover.d.ts +0 -1
- package/popover/PopoverFooter.d.ts +0 -1
- package/popover/PopoverHeader.d.ts +0 -1
- package/popover/types.d.ts +0 -1
- package/popover/vars.d.ts +0 -1
- package/progress/Progress.d.ts +0 -1
- package/progress/types.d.ts +0 -1
- package/radio/Radio.d.ts +0 -1
- package/radio/RadioGroup.d.ts +0 -1
- package/radio/types.d.ts +0 -1
- package/radio/vars.d.ts +1 -2
- package/rating/Rating.d.ts +0 -1
- package/rating/internal/RatingStar.d.ts +0 -1
- package/rating/types.d.ts +0 -1
- package/root/Dialogs.d.ts +0 -1
- package/root/Root.d.ts +0 -1
- package/root/types.d.ts +0 -1
- package/root/vars.d.ts +0 -1
- package/select/Select.d.ts +0 -1
- package/select/Select.js +2 -4
- package/select/types.d.ts +0 -1
- package/separator/Separator.d.ts +0 -1
- package/separator/types.d.ts +0 -1
- package/skeleton/Skeleton.d.ts +0 -1
- package/skeleton/types.d.ts +0 -1
- package/slider/Slider.d.ts +0 -1
- package/slider/types.d.ts +0 -1
- package/slides/Slides.d.ts +0 -1
- package/slides/Slides.js +5 -5
- package/slides/types.d.ts +0 -1
- package/spinner/Spinner.d.ts +0 -1
- package/spinner/types.d.ts +0 -1
- package/stepper/Stepper.d.ts +0 -1
- package/stepper/types.d.ts +0 -1
- package/switch/types.d.ts +0 -1
- package/table/Table.d.ts +0 -1
- package/table/TableEmpty.d.ts +0 -1
- package/table/TableExpand.d.ts +0 -1
- package/table/TableFilter.d.ts +0 -1
- package/table/TableTd.d.ts +0 -1
- package/table/TableTh.d.ts +0 -1
- package/table/TableThAction.d.ts +0 -1
- package/table/internal/TableCell.d.ts +0 -1
- package/table/types.d.ts +0 -1
- package/table/vars.d.ts +0 -1
- package/tabs/Tabs.d.ts +0 -1
- package/tabs/types.d.ts +0 -1
- package/tag/Tag.d.ts +0 -1
- package/tag/types.d.ts +0 -1
- package/textarea/Textarea.d.ts +0 -1
- package/textarea/types.d.ts +0 -1
- package/time-picker/TimePicker.d.ts +0 -1
- package/time-picker/internal/TimePickerPanel.d.ts +0 -1
- package/time-picker/types.d.ts +0 -1
- package/timeline/Timeline.d.ts +0 -1
- package/timeline/types.d.ts +0 -1
- package/toast/Toast.d.ts +0 -1
- package/toast/types.d.ts +0 -1
- package/tooltip/Tooltip.d.ts +0 -1
- package/tooltip/types.d.ts +0 -1
- package/transfer/Transfer.d.ts +0 -1
- package/transfer/Transfer.js +4 -5
- package/transfer/internal/TransferPanel.d.ts +0 -1
- package/transfer/types.d.ts +0 -1
- package/transition/CollapseTransition.d.ts +0 -1
- package/transition/Transition.d.ts +0 -1
- package/transition/types.d.ts +0 -1
- package/tree/Tree.d.ts +0 -1
- package/tree/internal/TreePanel.d.ts +0 -1
- package/tree/node/abstract-node.d.ts +0 -1
- package/tree/node/multiple-node.d.ts +0 -1
- package/tree/node/single-node.d.ts +0 -1
- package/tree/types.d.ts +0 -1
- package/tree/utils.d.ts +0 -1
- package/tree-select/TreeSelect.d.ts +0 -1
- package/tree-select/TreeSelect.js +2 -4
- package/tree-select/internal/TreeSelectSearchPanel.d.ts +0 -1
- package/tree-select/internal/types.d.ts +0 -1
- package/tree-select/types.d.ts +0 -1
- package/types.d.ts +0 -1
- package/upload/Upload.d.ts +0 -1
- package/upload/Upload.js +4 -3
- package/upload/UploadAction.d.ts +0 -1
- package/upload/UploadButton.d.ts +0 -1
- package/upload/UploadList.d.ts +0 -1
- package/upload/UploadPicture.d.ts +0 -1
- package/upload/UploadPictureList.d.ts +0 -1
- package/upload/UploadPreviewAction.d.ts +0 -1
- package/upload/hooks.d.ts +0 -1
- package/upload/types.d.ts +0 -1
- package/upload/vars.d.ts +5 -6
- package/utils/handleModalKeyDown.d.ts +0 -1
- package/utils/mergeCS.d.ts +0 -1
- package/virtual-scroll/VirtualScroll.d.ts +0 -1
- package/virtual-scroll/types.d.ts +0 -1
- package/wave/Wave.d.ts +0 -1
- package/wave/types.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
# [2.5.0](https://github.com/laser-ui/laser-ui/compare/v2.4.0...v2.5.0) (2026-04-03)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **components:** cascader support `onScrollBottom` event ([19508bb](https://github.com/laser-ui/laser-ui/commit/19508bbd77fabdd3b884b40e77005d8f596985ac))
|
|
10
|
+
|
|
11
|
+
# [2.4.0](https://github.com/laser-ui/laser-ui/compare/v2.3.5...v2.4.0) (2026-03-27)
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- fix `no-non-null-assertion` ([0080403](https://github.com/laser-ui/laser-ui/commit/0080403dcf3c8d82f473d5ce62c2222efdfc0e06))
|
|
16
|
+
|
|
5
17
|
## [2.3.5](https://github.com/laser-ui/laser-ui/compare/v2.3.4...v2.3.5) (2026-03-16)
|
|
6
18
|
|
|
7
19
|
### Bug Fixes
|
package/accordion/Accordion.d.ts
CHANGED
package/accordion/types.d.ts
CHANGED
package/affix/Affix.d.ts
CHANGED
package/affix/types.d.ts
CHANGED
package/alert/Alert.d.ts
CHANGED
package/alert/types.d.ts
CHANGED
package/anchor/Anchor.d.ts
CHANGED
package/anchor/types.d.ts
CHANGED
package/avatar/Avatar.d.ts
CHANGED
package/avatar/types.d.ts
CHANGED
package/badge/Badge.d.ts
CHANGED
package/badge/types.d.ts
CHANGED
package/base-input/types.d.ts
CHANGED
package/breadcrumb/types.d.ts
CHANGED
package/button/types.d.ts
CHANGED
package/card/Card.d.ts
CHANGED
package/card/CardAction.d.ts
CHANGED
package/card/CardActions.d.ts
CHANGED
package/card/CardContent.d.ts
CHANGED
package/card/CardHeader.d.ts
CHANGED
package/card/types.d.ts
CHANGED
package/cascader/Cascader.d.ts
CHANGED
package/cascader/Cascader.js
CHANGED
|
@@ -6,7 +6,7 @@ import CancelFilled from '@material-design-icons/svg/filled/cancel.svg?react';
|
|
|
6
6
|
import CloseOutlined from '@material-design-icons/svg/outlined/close.svg?react';
|
|
7
7
|
import KeyboardArrowDownOutlined from '@material-design-icons/svg/outlined/keyboard_arrow_down.svg?react';
|
|
8
8
|
import SearchOutlined from '@material-design-icons/svg/outlined/search.svg?react';
|
|
9
|
-
import { isNull
|
|
9
|
+
import { isNull } from 'lodash';
|
|
10
10
|
import { useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
11
11
|
import { CascaderPanel } from './internal/CascaderPanel';
|
|
12
12
|
import { CascaderSearchPanel } from './internal/CascaderSearchPanel';
|
|
@@ -27,7 +27,7 @@ import { TREE_NODE_KEY } from '../tree/vars';
|
|
|
27
27
|
import { getVerticalSidePosition, isPrintableCharacter, mergeCS } from '../utils';
|
|
28
28
|
import { TTANSITION_DURING_POPUP, WINDOW_SPACE } from '../vars';
|
|
29
29
|
export function Cascader(props) {
|
|
30
|
-
const _a = useComponentProps('Cascader', props), { ref, styleOverrides, styleProvider, formControl, list, model, defaultModel, visible: visibleProp, defaultVisible, placeholder, multiple = false, searchable = false, searchValue: searchValueProp, defaultSearchValue, onlyLeafSelectable = true, clearable: clearableProp = false, loading = false, size: sizeProp, disabled: disabledProp = false, virtual = false, escClosable = true, customItem, customSelected, customSearch, inputProps, popupRender, onModelChange, onVisibleChange, onSearch, onClear, onFirstFocus, afterVisibleChange } = _a, restProps = __rest(_a, ["ref", "styleOverrides", "styleProvider", "formControl", "list", "model", "defaultModel", "visible", "defaultVisible", "placeholder", "multiple", "searchable", "searchValue", "defaultSearchValue", "onlyLeafSelectable", "clearable", "loading", "size", "disabled", "virtual", "escClosable", "customItem", "customSelected", "customSearch", "inputProps", "popupRender", "onModelChange", "onVisibleChange", "onSearch", "onClear", "onFirstFocus", "afterVisibleChange"]);
|
|
30
|
+
const _a = useComponentProps('Cascader', props), { ref, styleOverrides, styleProvider, formControl, list, model, defaultModel, visible: visibleProp, defaultVisible, placeholder, multiple = false, searchable = false, searchValue: searchValueProp, defaultSearchValue, onlyLeafSelectable = true, clearable: clearableProp = false, loading = false, size: sizeProp, disabled: disabledProp = false, virtual = false, escClosable = true, customItem, customSelected, customSearch, inputProps, popupRender, onModelChange, onVisibleChange, onSearch, onClear, onFirstFocus, afterVisibleChange, onScrollBottom } = _a, restProps = __rest(_a, ["ref", "styleOverrides", "styleProvider", "formControl", "list", "model", "defaultModel", "visible", "defaultVisible", "placeholder", "multiple", "searchable", "searchValue", "defaultSearchValue", "onlyLeafSelectable", "clearable", "loading", "size", "disabled", "virtual", "escClosable", "customItem", "customSelected", "customSearch", "inputProps", "popupRender", "onModelChange", "onVisibleChange", "onSearch", "onClear", "onFirstFocus", "afterVisibleChange", "onScrollBottom"]);
|
|
31
31
|
const namespace = useNamespace();
|
|
32
32
|
const styled = useStyled(CLASSES, { cascader: styleProvider === null || styleProvider === void 0 ? void 0 : styleProvider.cascader, 'cascader-popup': styleProvider === null || styleProvider === void 0 ? void 0 : styleProvider['cascader-popup'] }, styleOverrides);
|
|
33
33
|
const { t } = useTranslation();
|
|
@@ -113,10 +113,8 @@ export function Cascader(props) {
|
|
|
113
113
|
if (!hasSearch) {
|
|
114
114
|
return [];
|
|
115
115
|
}
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
119
|
-
(item) => customSearch.filter(searchValue, item);
|
|
116
|
+
const customFilterFn = customSearch && customSearch.filter ? customSearch.filter : undefined;
|
|
117
|
+
const filterFn = customFilterFn ? (item) => customFilterFn(searchValue, item) : (item) => item.label.includes(searchValue);
|
|
120
118
|
const sortFn = customSearch === null || customSearch === void 0 ? void 0 : customSearch.sort;
|
|
121
119
|
const searchList = [];
|
|
122
120
|
const reduceNodes = (nodes) => {
|
|
@@ -484,12 +482,16 @@ export function Cascader(props) {
|
|
|
484
482
|
}, namespace: namespace, styled: styled, id: listId, list: searchList, customItem: customItem, itemId: getItemId, itemFocused: itemFocusedWithSearch, multiple: multiple, onlyLeafSelectable: onlyLeafSelectable, virtual: virtual, focusVisible: focusVisible, onClick: (item) => {
|
|
485
483
|
changeItemFocusedWithSearch(item);
|
|
486
484
|
changeSelectedByClickWithSearch(item);
|
|
485
|
+
}, onScrollBottom: () => {
|
|
486
|
+
onScrollBottom === null || onScrollBottom === void 0 ? void 0 : onScrollBottom([]);
|
|
487
487
|
} })) : (_jsx(CascaderPanel, { ref: (instance) => {
|
|
488
488
|
focusRef.current = instance;
|
|
489
489
|
return () => {
|
|
490
490
|
focusRef.current = null;
|
|
491
491
|
};
|
|
492
|
-
}, namespace: namespace, styled: styled, id: listId, list: nodes, customItem: customItem, itemId: getItemId, itemSelected: !multiple && hasSelected ? nodesMap.get(selected) : undefined, itemFocused: itemFocusedWithoutSearch, multiple: multiple, virtual: virtual, focusVisible: focusVisible, onFocus: changeItemFocusedWithoutSearch, onClick: changeSelectedByClickWithoutSearch
|
|
492
|
+
}, namespace: namespace, styled: styled, id: listId, list: nodes, customItem: customItem, itemId: getItemId, itemSelected: !multiple && hasSelected ? nodesMap.get(selected) : undefined, itemFocused: itemFocusedWithoutSearch, multiple: multiple, virtual: virtual, focusVisible: focusVisible, onFocus: changeItemFocusedWithoutSearch, onClick: changeSelectedByClickWithoutSearch, onScrollBottom: (ancestors) => {
|
|
493
|
+
onScrollBottom === null || onScrollBottom === void 0 ? void 0 : onScrollBottom(ancestors);
|
|
494
|
+
} }))] })));
|
|
493
495
|
return popupRender ? popupRender(el) : el;
|
|
494
496
|
})() }))) }) })] }));
|
|
495
497
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { Styled } from '../../hooks/useStyled';
|
|
3
2
|
import type { AbstractTreeNode } from '../../tree/node/abstract-node';
|
|
4
3
|
import type { CascaderItem } from '../types';
|
|
@@ -18,6 +17,7 @@ interface CascaderPanelProps<V extends React.Key, T extends CascaderItem<V>> {
|
|
|
18
17
|
focusVisible: boolean;
|
|
19
18
|
onFocus: (item: AbstractTreeNode<V, T>) => void;
|
|
20
19
|
onClick: (item: AbstractTreeNode<V, T>) => void;
|
|
20
|
+
onScrollBottom: (ancestors: V[]) => void;
|
|
21
21
|
}
|
|
22
22
|
export declare function CascaderPanel<V extends React.Key, T extends CascaderItem<V>>(props: CascaderPanelProps<V, T>): React.ReactElement | null;
|
|
23
23
|
export {};
|
|
@@ -11,7 +11,7 @@ import { Empty } from '../../empty';
|
|
|
11
11
|
import { Icon } from '../../icon';
|
|
12
12
|
import { VirtualScroll } from '../../virtual-scroll';
|
|
13
13
|
export function CascaderPanel(props) {
|
|
14
|
-
const { ref, namespace, styled, id, list, customItem, itemId, itemSelected, itemFocused, multiple, virtual, focusVisible, onFocus, onClick, _root = true, } = props;
|
|
14
|
+
const { ref, namespace, styled, id, list, customItem, itemId, itemSelected, itemFocused, multiple, virtual, focusVisible, onFocus, onClick, onScrollBottom, _root = true, } = props;
|
|
15
15
|
const listRef = useRef(null);
|
|
16
16
|
const vsRef = useRef(null);
|
|
17
17
|
const focusRef = useRef(null);
|
|
@@ -135,7 +135,9 @@ export function CascaderPanel(props) {
|
|
|
135
135
|
} }) }))),
|
|
136
136
|
_jsx("div", Object.assign({}, styled('cascader__option-content'), { children: customItem ? customItem(item.origin) : item.origin.label })),
|
|
137
137
|
!item.isLeaf && (_jsx("div", Object.assign({}, styled('cascader__option-icon'), { children: _jsx(Icon, { children: item.origin.loading ? _jsx(CircularProgress, {}) : _jsx(KeyboardArrowRightOutlined, {}) }) })))));
|
|
138
|
-
}, itemFocused: nodeFocused === null || nodeFocused === void 0 ? void 0 : nodeFocused.id, placeholder: "li",
|
|
138
|
+
}, itemFocused: nodeFocused === null || nodeFocused === void 0 ? void 0 : nodeFocused.id, placeholder: "li", onScrollEnd: () => {
|
|
139
|
+
onScrollBottom([]);
|
|
140
|
+
}, children: (vsList, onScroll) => (_jsx("ul", Object.assign({}, styled('cascader__list', 'cascader__list--inline'), { ref: (instance) => {
|
|
139
141
|
listRef.current = instance;
|
|
140
142
|
return () => {
|
|
141
143
|
listRef.current = null;
|
|
@@ -145,5 +147,7 @@ export function CascaderPanel(props) {
|
|
|
145
147
|
return () => {
|
|
146
148
|
focusRef.current = null;
|
|
147
149
|
};
|
|
148
|
-
}, id: undefined, list: nodeFocused.children
|
|
150
|
+
}, id: undefined, list: nodeFocused.children, onScrollBottom: (ancestors) => {
|
|
151
|
+
onScrollBottom([nodeFocused.id].concat(ancestors));
|
|
152
|
+
} })))] }));
|
|
149
153
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { CascaderSearchPanelItem } from './types';
|
|
3
2
|
import type { Styled } from '../../hooks/useStyled';
|
|
4
3
|
import type { CascaderItem } from '../types';
|
|
@@ -17,6 +16,7 @@ interface CascaderSearchPanelProps<V extends React.Key, T extends CascaderItem<V
|
|
|
17
16
|
virtual: boolean | number;
|
|
18
17
|
focusVisible: boolean;
|
|
19
18
|
onClick: (item: CascaderSearchPanelItem<V, T>) => void;
|
|
19
|
+
onScrollBottom: () => void;
|
|
20
20
|
}
|
|
21
21
|
export declare function CascaderSearchPanel<V extends React.Key, T extends CascaderItem<V>>(props: CascaderSearchPanelProps<V, T>): React.ReactElement | null;
|
|
22
22
|
export {};
|
|
@@ -10,7 +10,7 @@ import { getTreeNodeLabel } from '../../tree/utils';
|
|
|
10
10
|
import { TREE_NODE_KEY } from '../../tree/vars';
|
|
11
11
|
import { VirtualScroll } from '../../virtual-scroll';
|
|
12
12
|
export function CascaderSearchPanel(props) {
|
|
13
|
-
const { ref, namespace, styled, id, list, customItem, itemId, itemFocused, multiple, onlyLeafSelectable, virtual, focusVisible, onClick, } = props;
|
|
13
|
+
const { ref, namespace, styled, id, list, customItem, itemId, itemFocused, multiple, onlyLeafSelectable, virtual, focusVisible, onClick, onScrollBottom, } = props;
|
|
14
14
|
const listRef = useRef(null);
|
|
15
15
|
const vsRef = useRef(null);
|
|
16
16
|
const handleKeyDown = useEventCallback((code) => {
|
|
@@ -73,7 +73,7 @@ export function CascaderSearchPanel(props) {
|
|
|
73
73
|
focusVisible && (itemFocused === null || itemFocused === void 0 ? void 0 : itemFocused.value) === item.value && _jsx("div", { className: `${namespace}-focus-outline` }),
|
|
74
74
|
multiple && (_jsx("div", Object.assign({}, styled('cascader__option-prefix'), { children: _jsx(Checkbox, { model: node.checked, disabled: node.disabled }) }))),
|
|
75
75
|
_jsx("div", Object.assign({}, styled('cascader__option-content'), { children: customItem ? customItem(node.origin) : getTreeNodeLabel(node) }))));
|
|
76
|
-
}, itemFocused: itemFocused === null || itemFocused === void 0 ? void 0 : itemFocused.value, placeholder: "li", children: (vsList, onScroll) => (_jsx("ul", Object.assign({}, styled('cascader__list'), { ref: (instance) => {
|
|
76
|
+
}, itemFocused: itemFocused === null || itemFocused === void 0 ? void 0 : itemFocused.value, placeholder: "li", onScrollEnd: onScrollBottom, children: (vsList, onScroll) => (_jsx("ul", Object.assign({}, styled('cascader__list'), { ref: (instance) => {
|
|
77
77
|
listRef.current = instance;
|
|
78
78
|
return () => {
|
|
79
79
|
listRef.current = null;
|
package/cascader/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { CLASSES } from './vars';
|
|
3
2
|
import type { FormControlProvider } from '../form/types';
|
|
4
3
|
import type { BaseProps, Size } from '../types';
|
|
@@ -46,5 +45,6 @@ export interface CascaderProps<V extends React.Key, T extends CascaderItem<V>> e
|
|
|
46
45
|
onSearch?: (value: string) => void;
|
|
47
46
|
onClear?: () => void;
|
|
48
47
|
onFirstFocus?: (value: V, origin: T) => void;
|
|
48
|
+
onScrollBottom?: (ancestors: V[]) => void;
|
|
49
49
|
afterVisibleChange?: (visible: boolean) => void;
|
|
50
50
|
}
|
package/checkbox/Checkbox.d.ts
CHANGED
package/checkbox/types.d.ts
CHANGED
package/compose/Compose.d.ts
CHANGED
package/compose/ComposeItem.d.ts
CHANGED
package/compose/types.d.ts
CHANGED
package/context/index.d.ts
CHANGED
|
@@ -386,10 +386,14 @@ export function DatePicker(props) {
|
|
|
386
386
|
return () => {
|
|
387
387
|
timePickerPanelRef.current = null;
|
|
388
388
|
};
|
|
389
|
-
}, styled: styled, time: dataRef.current.latestFocused === 'start' ? valueLeft : valueRight, format: format, config:
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
389
|
+
}, styled: styled, time: dataRef.current.latestFocused === 'start' ? valueLeft : valueRight, format: format, config: (() => {
|
|
390
|
+
if (showTime && !isBoolean(showTime)) {
|
|
391
|
+
const fn = showTime.config;
|
|
392
|
+
if (fn) {
|
|
393
|
+
return (...args) => fn(...args, dataRef.current.latestFocused, [valueLeft, valueRight]);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
})(), inDatePicker: true, onTimeChange: (time) => {
|
|
393
397
|
changeValue(time);
|
|
394
398
|
} })), _jsx("div", Object.assign({}, styled('date-picker__footer'), { children: _jsx(Button, { pattern: "link", onClick: () => {
|
|
395
399
|
const now = new Date();
|
package/date-picker/types.d.ts
CHANGED
package/dialog-service.d.ts
CHANGED
package/drawer/Drawer.d.ts
CHANGED
package/drawer/DrawerFooter.d.ts
CHANGED
package/drawer/DrawerHeader.d.ts
CHANGED
package/drawer/types.d.ts
CHANGED
package/drawer/vars.d.ts
CHANGED
package/dropdown/Dropdown.d.ts
CHANGED
|
@@ -147,12 +147,12 @@ export function DropdownList(props) {
|
|
|
147
147
|
})(),
|
|
148
148
|
},
|
|
149
149
|
}), { role: "group", "aria-labelledby": id, children: childrenNode }))] })) : (_jsx(DropdownSub, { ref: (instance) => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
150
|
+
if (instance) {
|
|
151
|
+
updateSubPosition.current.set(itemId, instance);
|
|
152
|
+
return () => {
|
|
153
|
+
updateSubPosition.current.delete(itemId);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
156
|
}, namespace: namespace, styled: styled, id: id, icon: itemIcon, theme: itemTheme, list: _jsx(DropdownList, { namespace: namespace, styled: styled, ulProps: { 'aria-labelledby': id }, list: (children !== null && children !== void 0 ? children : []), ancestryOfSub: currentAncestryOfSub, virtual: virtual, focusVisible: focusVisible, focusId: focusId, popupIds: popupIds, updateSubPosition: updateSubPosition, trigger: trigger, zIndex: zIndex, handleKeyDown: handleKeyDown, getItemId: getItemId, onClick: onClick, onFocusIdsChange: onFocusIdsChange, onPopupIdsChange: onPopupIdsChange, addPopupId: addPopupId, removePopupId: removePopupId, onVisibleChange: onVisibleChange }), popupState: popupState === null || popupState === void 0 ? void 0 : popupState.visible, trigger: trigger, focus: focusVisible && isFocus, disabled: itemDisabled, zIndex: isUndefined(zIndex)
|
|
157
157
|
? zIndex
|
|
158
158
|
: isNumber(zIndex)
|
package/dropdown/types.d.ts
CHANGED
package/dropdown/utils.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { DropdownItem } from './types';
|
|
3
2
|
export declare function checkEnableItem<ID extends React.Key, T extends DropdownItem<ID>>(item: T): boolean;
|
|
4
3
|
export declare function getSameLevelEnableItems<ID extends React.Key, T extends DropdownItem<ID>>(arr: T[]): T[];
|
package/empty/Empty.d.ts
CHANGED
package/empty/types.d.ts
CHANGED
package/fab/Fab.d.ts
CHANGED
package/fab/FabBacktop.d.ts
CHANGED
package/fab/FabButton.d.ts
CHANGED
package/fab/types.d.ts
CHANGED
package/fab/vars.d.ts
CHANGED
package/form/Form.d.ts
CHANGED
package/form/FormItem.d.ts
CHANGED
package/form/types.d.ts
CHANGED
package/form/vars.d.ts
CHANGED
package/hooks/useLayout.d.ts
CHANGED
package/hooks/useStyled.d.ts
CHANGED