@workday/canvas-kit-react 9.0.0-alpha.419-next.21 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/lib/BreadcrumbsItem.tsx +1 -1
- package/collection/index.ts +2 -0
- package/collection/lib/ListBox.tsx +12 -10
- package/collection/lib/useBaseListModel.tsx +6 -4
- package/collection/lib/useCursorListModel.tsx +1 -1
- package/collection/lib/useListActiveDescendant.ts +24 -0
- package/collection/lib/useListItemAllowChildStrings.ts +2 -1
- package/collection/lib/useListItemRegister.tsx +10 -3
- package/collection/lib/useListItemSelect.tsx +1 -1
- package/collection/lib/useListKeyboardHandler.ts +28 -0
- package/collection/lib/useListLoader.ts +116 -54
- package/collection/lib/useOverflowListItemMeasure.tsx +2 -2
- package/collection/lib/useOverflowListMeasure.ts +11 -13
- package/collection/lib/useOverflowListTarget.tsx +28 -30
- package/collection/lib/useSelectionListModel.tsx +1 -0
- package/combobox/LICENSE +52 -0
- package/combobox/README.md +7 -0
- package/combobox/index.ts +8 -0
- package/combobox/lib/Combobox.tsx +32 -0
- package/combobox/lib/ComboboxCard.tsx +33 -0
- package/combobox/lib/ComboboxInput.tsx +104 -0
- package/combobox/lib/ComboboxMenu.tsx +67 -0
- package/combobox/lib/ComboboxMenuItem.tsx +74 -0
- package/combobox/lib/ComboboxMenuList.tsx +45 -0
- package/combobox/lib/useComboboxInputOpenWithArrowKeys.ts +21 -0
- package/combobox/lib/useComboboxLoader.ts +72 -0
- package/combobox/lib/useComboboxModel.tsx +85 -0
- package/combobox/package.json +6 -0
- package/common/lib/utils/components.ts +15 -16
- package/common/lib/utils/models.ts +2 -2
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts +2 -2
- package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +1 -1
- package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts +2 -2
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +2 -2
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1 -1
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +2 -2
- package/dist/commonjs/collection/index.d.ts +2 -0
- package/dist/commonjs/collection/index.d.ts.map +1 -1
- package/dist/commonjs/collection/index.js +2 -0
- package/dist/commonjs/collection/lib/ListBox.d.ts +7 -6
- package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/ListBox.js +5 -3
- package/dist/commonjs/collection/lib/useBaseListModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useBaseListModel.js +4 -4
- package/dist/commonjs/collection/lib/useCursorListModel.d.ts +0 -34
- package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useCursorListModel.js +1 -1
- package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts +68 -0
- package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts.map +1 -0
- package/dist/commonjs/collection/lib/useListActiveDescendant.js +25 -0
- package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts +2 -1
- package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemAllowChildStrings.js +2 -1
- package/dist/commonjs/collection/lib/useListItemRegister.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemRegister.js +5 -1
- package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts +66 -0
- package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
- package/dist/commonjs/collection/lib/useListKeyboardHandler.js +27 -0
- package/dist/commonjs/collection/lib/useListLoader.d.ts +46 -7
- package/dist/commonjs/collection/lib/useListLoader.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListLoader.js +61 -35
- package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts +1 -1
- package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts +5 -2
- package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useOverflowListTarget.js +1 -1
- package/dist/commonjs/collection/lib/useSelectionListModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useSelectionListModel.js +1 -0
- package/dist/commonjs/combobox/index.d.ts +9 -0
- package/dist/commonjs/combobox/index.d.ts.map +1 -0
- package/dist/commonjs/combobox/index.js +19 -0
- package/dist/commonjs/combobox/lib/Combobox.d.ts +2075 -0
- package/dist/commonjs/combobox/lib/Combobox.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/Combobox.js +29 -0
- package/dist/commonjs/combobox/lib/ComboboxCard.d.ts +166 -0
- package/dist/commonjs/combobox/lib/ComboboxCard.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/ComboboxCard.js +25 -0
- package/dist/commonjs/combobox/lib/ComboboxInput.d.ts +186 -0
- package/dist/commonjs/combobox/lib/ComboboxInput.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/ComboboxInput.js +84 -0
- package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts +428 -0
- package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/ComboboxMenu.js +63 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts +178 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuItem.js +50 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts +164 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/ComboboxMenuList.js +31 -0
- package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
- package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.js +20 -0
- package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts +28 -0
- package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/useComboboxLoader.js +65 -0
- package/dist/commonjs/combobox/lib/useComboboxModel.d.ts +1998 -0
- package/dist/commonjs/combobox/lib/useComboboxModel.d.ts.map +1 -0
- package/dist/commonjs/combobox/lib/useComboboxModel.js +82 -0
- package/dist/commonjs/common/lib/utils/components.d.ts +9 -23
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +2 -2
- package/dist/commonjs/common/lib/utils/models.js +2 -2
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/menu/index.d.ts +1 -1
- package/dist/commonjs/menu/index.d.ts.map +1 -1
- package/dist/commonjs/menu/index.js +2 -1
- package/dist/commonjs/menu/lib/Menu.d.ts +7 -5
- package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/Menu.js +6 -4
- package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +2 -2
- package/dist/commonjs/menu/lib/MenuItem.d.ts +7 -1
- package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuItem.js +9 -11
- package/dist/commonjs/menu/lib/MenuList.d.ts +3 -3
- package/dist/commonjs/menu/lib/MenuList.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuList.js +3 -2
- package/dist/commonjs/menu/lib/MenuPopper.d.ts +1 -1
- package/dist/commonjs/menu/lib/MenuTarget.d.ts +2 -2
- package/dist/commonjs/menu/lib/useMenuModel.d.ts +2 -2
- package/dist/commonjs/menu/lib/useMenuModel.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/useMenuModel.js +3 -5
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts +1 -1
- package/dist/commonjs/tabs/lib/Tabs.d.ts +18 -120
- package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +0 -1
- package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +0 -1
- package/dist/commonjs/tabs/lib/TabsList.d.ts +1 -1
- package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +1 -1
- package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts +8 -20
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/useTabsModel.js +1 -0
- package/dist/es6/action-bar/lib/ActionBar.d.ts +2 -2
- package/dist/es6/action-bar/lib/ActionBarList.d.ts +1 -1
- package/dist/es6/action-bar/lib/useActionBarModel.d.ts +2 -2
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +2 -2
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1 -1
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +2 -2
- package/dist/es6/collection/index.d.ts +2 -0
- package/dist/es6/collection/index.d.ts.map +1 -1
- package/dist/es6/collection/index.js +2 -0
- package/dist/es6/collection/lib/ListBox.d.ts +7 -6
- package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/es6/collection/lib/ListBox.js +6 -4
- package/dist/es6/collection/lib/useBaseListModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useBaseListModel.js +4 -4
- package/dist/es6/collection/lib/useCursorListModel.d.ts +0 -34
- package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useCursorListModel.js +1 -1
- package/dist/es6/collection/lib/useListActiveDescendant.d.ts +68 -0
- package/dist/es6/collection/lib/useListActiveDescendant.d.ts.map +1 -0
- package/dist/es6/collection/lib/useListActiveDescendant.js +22 -0
- package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts +2 -1
- package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemAllowChildStrings.js +2 -1
- package/dist/es6/collection/lib/useListItemRegister.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemRegister.js +5 -1
- package/dist/es6/collection/lib/useListKeyboardHandler.d.ts +66 -0
- package/dist/es6/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
- package/dist/es6/collection/lib/useListKeyboardHandler.js +24 -0
- package/dist/es6/collection/lib/useListLoader.d.ts +46 -7
- package/dist/es6/collection/lib/useListLoader.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListLoader.js +61 -35
- package/dist/es6/collection/lib/useOverflowListMeasure.d.ts +1 -1
- package/dist/es6/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
- package/dist/es6/collection/lib/useOverflowListTarget.d.ts +5 -2
- package/dist/es6/collection/lib/useOverflowListTarget.d.ts.map +1 -1
- package/dist/es6/collection/lib/useOverflowListTarget.js +1 -1
- package/dist/es6/collection/lib/useSelectionListModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useSelectionListModel.js +1 -0
- package/dist/es6/combobox/index.d.ts +9 -0
- package/dist/es6/combobox/index.d.ts.map +1 -0
- package/dist/es6/combobox/index.js +8 -0
- package/dist/es6/combobox/lib/Combobox.d.ts +2075 -0
- package/dist/es6/combobox/lib/Combobox.d.ts.map +1 -0
- package/dist/es6/combobox/lib/Combobox.js +23 -0
- package/dist/es6/combobox/lib/ComboboxCard.d.ts +166 -0
- package/dist/es6/combobox/lib/ComboboxCard.d.ts.map +1 -0
- package/dist/es6/combobox/lib/ComboboxCard.js +19 -0
- package/dist/es6/combobox/lib/ComboboxInput.d.ts +186 -0
- package/dist/es6/combobox/lib/ComboboxInput.d.ts.map +1 -0
- package/dist/es6/combobox/lib/ComboboxInput.js +78 -0
- package/dist/es6/combobox/lib/ComboboxMenu.d.ts +428 -0
- package/dist/es6/combobox/lib/ComboboxMenu.d.ts.map +1 -0
- package/dist/es6/combobox/lib/ComboboxMenu.js +57 -0
- package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts +178 -0
- package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
- package/dist/es6/combobox/lib/ComboboxMenuItem.js +44 -0
- package/dist/es6/combobox/lib/ComboboxMenuList.d.ts +164 -0
- package/dist/es6/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
- package/dist/es6/combobox/lib/ComboboxMenuList.js +25 -0
- package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
- package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
- package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.js +17 -0
- package/dist/es6/combobox/lib/useComboboxLoader.d.ts +28 -0
- package/dist/es6/combobox/lib/useComboboxLoader.d.ts.map +1 -0
- package/dist/es6/combobox/lib/useComboboxLoader.js +58 -0
- package/dist/es6/combobox/lib/useComboboxModel.d.ts +1998 -0
- package/dist/es6/combobox/lib/useComboboxModel.d.ts.map +1 -0
- package/dist/es6/combobox/lib/useComboboxModel.js +76 -0
- package/dist/es6/common/lib/utils/components.d.ts +9 -23
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +2 -2
- package/dist/es6/common/lib/utils/models.js +2 -2
- package/dist/es6/index.d.ts +1 -0
- package/dist/es6/index.d.ts.map +1 -1
- package/dist/es6/index.js +1 -0
- package/dist/es6/menu/index.d.ts +1 -1
- package/dist/es6/menu/index.d.ts.map +1 -1
- package/dist/es6/menu/index.js +1 -1
- package/dist/es6/menu/lib/Menu.d.ts +7 -5
- package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
- package/dist/es6/menu/lib/Menu.js +6 -4
- package/dist/es6/menu/lib/MenuContextTarget.d.ts +2 -2
- package/dist/es6/menu/lib/MenuItem.d.ts +7 -1
- package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuItem.js +8 -10
- package/dist/es6/menu/lib/MenuList.d.ts +3 -3
- package/dist/es6/menu/lib/MenuList.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuList.js +4 -3
- package/dist/es6/menu/lib/MenuPopper.d.ts +1 -1
- package/dist/es6/menu/lib/MenuTarget.d.ts +2 -2
- package/dist/es6/menu/lib/useMenuModel.d.ts +2 -2
- package/dist/es6/menu/lib/useMenuModel.d.ts.map +1 -1
- package/dist/es6/menu/lib/useMenuModel.js +4 -6
- package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +1 -1
- package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +1 -1
- package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts +1 -1
- package/dist/es6/tabs/lib/Tabs.d.ts +18 -120
- package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/es6/tabs/lib/TabsItem.d.ts +0 -1
- package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
- package/dist/es6/tabs/lib/TabsItem.js +0 -1
- package/dist/es6/tabs/lib/TabsList.d.ts +1 -1
- package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +1 -1
- package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/useTabsModel.d.ts +8 -20
- package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/useTabsModel.js +1 -0
- package/index.ts +1 -0
- package/menu/index.ts +1 -1
- package/menu/lib/Menu.tsx +6 -4
- package/menu/lib/MenuItem.tsx +9 -12
- package/menu/lib/MenuList.tsx +16 -10
- package/menu/lib/useMenuModel.tsx +4 -7
- package/modal/lib/hooks/useModalHeading.ts +2 -2
- package/package.json +3 -3
- package/tabs/lib/TabsItem.tsx +10 -13
- package/tabs/lib/TabsPanel.tsx +1 -5
- package/tabs/lib/useTabsModel.tsx +1 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ComboboxMenuItem = exports.useComboboxMenuItem = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const menu_1 = require("@workday/canvas-kit-react/menu");
|
|
10
|
+
const collection_1 = require("@workday/canvas-kit-react/collection");
|
|
11
|
+
const tooltip_1 = require("@workday/canvas-kit-react/tooltip");
|
|
12
|
+
const useComboboxModel_1 = require("./useComboboxModel");
|
|
13
|
+
/**
|
|
14
|
+
* This hook sets up accessibility and behavior of a {@link ComboboxMenuItem Combobox.Menu.Item}
|
|
15
|
+
* component. It prevents focus when clicking so the focus stays on the
|
|
16
|
+
* {@link ComboboxInput Combobox.Input} component and selects an item when the user clicks on it. It
|
|
17
|
+
* also prevents items with an `aria-disabled` attribute from being selected. A `focus` CSS class is
|
|
18
|
+
* added when the item has "focus" (when the cursor is on the item).
|
|
19
|
+
*/
|
|
20
|
+
exports.useComboboxMenuItem = common_1.composeHooks(common_1.createElemPropsHook(menu_1.useMenuModel)((model, _, elemProps = {}) => {
|
|
21
|
+
const id = elemProps['data-id'] || '';
|
|
22
|
+
const onMouseDown = (event) => {
|
|
23
|
+
if (model.state.nonInteractiveIds.includes(id) ||
|
|
24
|
+
event.currentTarget.hasAttribute('aria-disabled')) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (event.currentTarget.getAttribute('aria-disabled') !== 'true') {
|
|
28
|
+
model.events.select({ id });
|
|
29
|
+
if (model.state.mode === 'single') {
|
|
30
|
+
model.events.hide(event);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// prevent focus changes
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
};
|
|
36
|
+
const selected = model.state.cursorId === id;
|
|
37
|
+
return {
|
|
38
|
+
role: 'option',
|
|
39
|
+
'aria-selected': selected || undefined,
|
|
40
|
+
onMouseDown,
|
|
41
|
+
className: model.state.cursorId && model.state.cursorId === elemProps['data-id'] ? 'focus' : '',
|
|
42
|
+
};
|
|
43
|
+
}), collection_1.useListItemRegister, collection_1.useListItemAllowChildStrings);
|
|
44
|
+
exports.ComboboxMenuItem = common_1.createSubcomponent('li')({
|
|
45
|
+
modelHook: useComboboxModel_1.useComboboxModel,
|
|
46
|
+
elemPropsHook: exports.useComboboxMenuItem,
|
|
47
|
+
})(({ children, ...elemProps }, Element) => {
|
|
48
|
+
return (react_1.default.createElement(tooltip_1.OverflowTooltip, { placement: "left" },
|
|
49
|
+
react_1.default.createElement(menu_1.StyledMenuItem, Object.assign({ minHeight: "xl", as: Element }, elemProps), children)));
|
|
50
|
+
});
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ListBoxProps } from '@workday/canvas-kit-react/collection';
|
|
3
|
+
export interface ComboboxMenuListProps<T = any> extends ListBoxProps<T> {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* The `listbox` uses `aria-labelledby` pointing to the {@link ComboboxInput Combobox.Input}. This
|
|
7
|
+
* input should be labelled by a form field label for proper accessibility. Use {@link FormField} to
|
|
8
|
+
* ensure proper accessibility.
|
|
9
|
+
*/
|
|
10
|
+
export declare const useComboboxMenuList: import("@workday/canvas-kit-react/common").BehaviorHook<{
|
|
11
|
+
state: {
|
|
12
|
+
stackRef: React.RefObject<HTMLDivElement>;
|
|
13
|
+
targetRef: React.RefObject<HTMLButtonElement>;
|
|
14
|
+
initialFocusRef: React.RefObject<any> | undefined;
|
|
15
|
+
returnFocusRef: React.RefObject<any> | undefined;
|
|
16
|
+
placement: import("@popperjs/core").Placement;
|
|
17
|
+
id: string;
|
|
18
|
+
visibility: "hidden" | "visible";
|
|
19
|
+
selectedIds: string[] | "all";
|
|
20
|
+
unselectedIds: string[];
|
|
21
|
+
cursorId: string;
|
|
22
|
+
columnCount: number;
|
|
23
|
+
pageSizeRef: React.MutableRefObject<number>;
|
|
24
|
+
cursorIndexRef: {
|
|
25
|
+
readonly current: number;
|
|
26
|
+
};
|
|
27
|
+
UNSTABLE_virtual: {
|
|
28
|
+
virtualItems: import("../../collection/lib/react-virtual").VirtualItem[];
|
|
29
|
+
totalSize: number;
|
|
30
|
+
scrollToOffset: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToOffsetOptions | undefined) => void;
|
|
31
|
+
scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
|
|
32
|
+
measure: () => void;
|
|
33
|
+
};
|
|
34
|
+
UNSTABLE_defaultItemHeight: number;
|
|
35
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
36
|
+
orientation: "horizontal" | "vertical";
|
|
37
|
+
indexRef: React.MutableRefObject<number>;
|
|
38
|
+
nonInteractiveIds: string[];
|
|
39
|
+
isVirtualized: boolean;
|
|
40
|
+
items: import("@workday/canvas-kit-react/collection").Item<any>[];
|
|
41
|
+
mode: "multiple" | "single";
|
|
42
|
+
};
|
|
43
|
+
events: {
|
|
44
|
+
updatePlacement(data: {
|
|
45
|
+
placement: import("@popperjs/core").Placement;
|
|
46
|
+
}): void;
|
|
47
|
+
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
48
|
+
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
49
|
+
select(data: {
|
|
50
|
+
id: string;
|
|
51
|
+
}): void;
|
|
52
|
+
selectAll(): void;
|
|
53
|
+
unselectAll(): void;
|
|
54
|
+
goTo(data: {
|
|
55
|
+
id: string;
|
|
56
|
+
}): void;
|
|
57
|
+
goToNext(): void;
|
|
58
|
+
goToPrevious(): void;
|
|
59
|
+
goToPreviousRow(): void;
|
|
60
|
+
goToNextRow(): void;
|
|
61
|
+
goToFirst(): void;
|
|
62
|
+
goToLast(): void;
|
|
63
|
+
goToFirstOfRow(): void;
|
|
64
|
+
goToLastOfRow(): void;
|
|
65
|
+
goToNextPage(): void;
|
|
66
|
+
goToPreviousPage(): void;
|
|
67
|
+
registerItem(data: {
|
|
68
|
+
item: any;
|
|
69
|
+
textValue: string;
|
|
70
|
+
}): void;
|
|
71
|
+
unregisterItem(data: {
|
|
72
|
+
id: string;
|
|
73
|
+
}): void;
|
|
74
|
+
updateItemHeight(data: {
|
|
75
|
+
value: number;
|
|
76
|
+
}): void;
|
|
77
|
+
};
|
|
78
|
+
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
79
|
+
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
80
|
+
getId: (item: any) => string;
|
|
81
|
+
}, {
|
|
82
|
+
readonly role: "listbox";
|
|
83
|
+
readonly 'aria-labelledby': string;
|
|
84
|
+
readonly id: `${string}-list`;
|
|
85
|
+
readonly flexDirection: "row" | "column";
|
|
86
|
+
}>;
|
|
87
|
+
export declare const ComboboxMenuList: import("@workday/canvas-kit-react/common").ElementComponentM<"ul", ComboboxMenuListProps<any>, {
|
|
88
|
+
state: {
|
|
89
|
+
stackRef: React.RefObject<HTMLDivElement>;
|
|
90
|
+
targetRef: React.RefObject<HTMLButtonElement>;
|
|
91
|
+
initialFocusRef: React.RefObject<any> | undefined;
|
|
92
|
+
returnFocusRef: React.RefObject<any> | undefined;
|
|
93
|
+
placement: import("@popperjs/core").Placement;
|
|
94
|
+
id: string;
|
|
95
|
+
visibility: "hidden" | "visible";
|
|
96
|
+
selectedIds: string[] | "all";
|
|
97
|
+
unselectedIds: string[];
|
|
98
|
+
cursorId: string;
|
|
99
|
+
columnCount: number;
|
|
100
|
+
pageSizeRef: React.MutableRefObject<number>;
|
|
101
|
+
cursorIndexRef: {
|
|
102
|
+
readonly current: number;
|
|
103
|
+
};
|
|
104
|
+
UNSTABLE_virtual: {
|
|
105
|
+
virtualItems: import("../../collection/lib/react-virtual").VirtualItem[];
|
|
106
|
+
totalSize: number;
|
|
107
|
+
scrollToOffset: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToOffsetOptions | undefined) => void;
|
|
108
|
+
scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
|
|
109
|
+
measure: () => void;
|
|
110
|
+
};
|
|
111
|
+
UNSTABLE_defaultItemHeight: number;
|
|
112
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
113
|
+
orientation: "horizontal" | "vertical";
|
|
114
|
+
indexRef: React.MutableRefObject<number>;
|
|
115
|
+
nonInteractiveIds: string[];
|
|
116
|
+
isVirtualized: boolean;
|
|
117
|
+
items: import("@workday/canvas-kit-react/collection").Item<any>[];
|
|
118
|
+
mode: "multiple" | "single";
|
|
119
|
+
value: string | undefined;
|
|
120
|
+
inputRef: React.RefObject<HTMLInputElement>;
|
|
121
|
+
width: number;
|
|
122
|
+
};
|
|
123
|
+
events: {
|
|
124
|
+
setWidth(width: number): void;
|
|
125
|
+
updatePlacement(data: {
|
|
126
|
+
placement: import("@popperjs/core").Placement;
|
|
127
|
+
}): void;
|
|
128
|
+
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
129
|
+
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
130
|
+
select(data: {
|
|
131
|
+
id: string;
|
|
132
|
+
}): void;
|
|
133
|
+
selectAll(): void;
|
|
134
|
+
unselectAll(): void;
|
|
135
|
+
goTo(data: {
|
|
136
|
+
id: string;
|
|
137
|
+
}): void;
|
|
138
|
+
goToNext(): void;
|
|
139
|
+
goToPrevious(): void;
|
|
140
|
+
goToPreviousRow(): void;
|
|
141
|
+
goToNextRow(): void;
|
|
142
|
+
goToFirst(): void;
|
|
143
|
+
goToLast(): void;
|
|
144
|
+
goToFirstOfRow(): void;
|
|
145
|
+
goToLastOfRow(): void;
|
|
146
|
+
goToNextPage(): void;
|
|
147
|
+
goToPreviousPage(): void;
|
|
148
|
+
registerItem(data: {
|
|
149
|
+
item: any;
|
|
150
|
+
textValue: string;
|
|
151
|
+
}): void;
|
|
152
|
+
unregisterItem(data: {
|
|
153
|
+
id: string;
|
|
154
|
+
}): void;
|
|
155
|
+
updateItemHeight(data: {
|
|
156
|
+
value: number;
|
|
157
|
+
}): void;
|
|
158
|
+
};
|
|
159
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
160
|
+
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
161
|
+
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
162
|
+
getId: (item: any) => string;
|
|
163
|
+
}>;
|
|
164
|
+
//# sourceMappingURL=ComboboxMenuList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxMenuList.d.ts","sourceRoot":"","sources":["../../../../combobox/lib/ComboboxMenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAU,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAI3E,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG;AAE1E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB3B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ComboboxMenuList = exports.useComboboxMenuList = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const tokens_1 = require("@workday/canvas-kit-react/tokens");
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const menu_1 = require("@workday/canvas-kit-react/menu");
|
|
11
|
+
const collection_1 = require("@workday/canvas-kit-react/collection");
|
|
12
|
+
const useComboboxModel_1 = require("./useComboboxModel");
|
|
13
|
+
/**
|
|
14
|
+
* The `listbox` uses `aria-labelledby` pointing to the {@link ComboboxInput Combobox.Input}. This
|
|
15
|
+
* input should be labelled by a form field label for proper accessibility. Use {@link FormField} to
|
|
16
|
+
* ensure proper accessibility.
|
|
17
|
+
*/
|
|
18
|
+
exports.useComboboxMenuList = common_1.createElemPropsHook(menu_1.useMenuModel)(model => {
|
|
19
|
+
return {
|
|
20
|
+
role: 'listbox',
|
|
21
|
+
'aria-labelledby': model.state.id,
|
|
22
|
+
id: `${model.state.id}-list`,
|
|
23
|
+
flexDirection: model.state.orientation === 'vertical' ? 'column' : 'row',
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
exports.ComboboxMenuList = common_1.createSubcomponent('ul')({
|
|
27
|
+
modelHook: useComboboxModel_1.useComboboxModel,
|
|
28
|
+
elemPropsHook: exports.useComboboxMenuList,
|
|
29
|
+
})(({ children, ...elemProps }, Element, model) => {
|
|
30
|
+
return (react_1.default.createElement(collection_1.ListBox, Object.assign({ as: Element, model: model, background: tokens_1.commonColors.background, borderRadius: "zero", padding: "zero", marginY: "xxs", gap: "zero", overflowY: "auto" }, elemProps), children));
|
|
31
|
+
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opens a `Combobox` with the up/down arrow keys. This should be used only on a
|
|
3
|
+
* {@link ComboboxInput Combobox.Input}. It adds a keydown listener for the up/down arrow keys.
|
|
4
|
+
*/
|
|
5
|
+
export declare const useComboboxInputOpenWithArrowKeys: import("@workday/canvas-kit-react/common").BehaviorHook<{
|
|
6
|
+
state: {
|
|
7
|
+
stackRef: import("react").RefObject<HTMLDivElement>;
|
|
8
|
+
targetRef: import("react").RefObject<HTMLButtonElement>;
|
|
9
|
+
initialFocusRef: import("react").RefObject<any> | undefined;
|
|
10
|
+
returnFocusRef: import("react").RefObject<any> | undefined;
|
|
11
|
+
placement: import("@popperjs/core").Placement;
|
|
12
|
+
id: string;
|
|
13
|
+
visibility: "hidden" | "visible";
|
|
14
|
+
selectedIds: string[] | "all";
|
|
15
|
+
unselectedIds: string[];
|
|
16
|
+
cursorId: string;
|
|
17
|
+
columnCount: number;
|
|
18
|
+
pageSizeRef: import("react").MutableRefObject<number>;
|
|
19
|
+
cursorIndexRef: {
|
|
20
|
+
readonly current: number;
|
|
21
|
+
};
|
|
22
|
+
UNSTABLE_virtual: {
|
|
23
|
+
virtualItems: import("../../collection/lib/react-virtual").VirtualItem[];
|
|
24
|
+
totalSize: number;
|
|
25
|
+
scrollToOffset: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToOffsetOptions | undefined) => void;
|
|
26
|
+
scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
|
|
27
|
+
measure: () => void;
|
|
28
|
+
};
|
|
29
|
+
UNSTABLE_defaultItemHeight: number;
|
|
30
|
+
containerRef: import("react").RefObject<HTMLDivElement>;
|
|
31
|
+
orientation: "horizontal" | "vertical";
|
|
32
|
+
indexRef: import("react").MutableRefObject<number>;
|
|
33
|
+
nonInteractiveIds: string[];
|
|
34
|
+
isVirtualized: boolean;
|
|
35
|
+
items: import("../..").Item<any>[];
|
|
36
|
+
mode: "multiple" | "single";
|
|
37
|
+
value: string | undefined;
|
|
38
|
+
inputRef: import("react").RefObject<HTMLInputElement>;
|
|
39
|
+
width: number;
|
|
40
|
+
};
|
|
41
|
+
events: {
|
|
42
|
+
setWidth(width: number): void;
|
|
43
|
+
updatePlacement(data: {
|
|
44
|
+
placement: import("@popperjs/core").Placement;
|
|
45
|
+
}): void;
|
|
46
|
+
show(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
|
|
47
|
+
hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
|
|
48
|
+
select(data: {
|
|
49
|
+
id: string;
|
|
50
|
+
}): void;
|
|
51
|
+
selectAll(): void;
|
|
52
|
+
unselectAll(): void;
|
|
53
|
+
goTo(data: {
|
|
54
|
+
id: string;
|
|
55
|
+
}): void;
|
|
56
|
+
goToNext(): void;
|
|
57
|
+
goToPrevious(): void;
|
|
58
|
+
goToPreviousRow(): void;
|
|
59
|
+
goToNextRow(): void;
|
|
60
|
+
goToFirst(): void;
|
|
61
|
+
goToLast(): void;
|
|
62
|
+
goToFirstOfRow(): void;
|
|
63
|
+
goToLastOfRow(): void;
|
|
64
|
+
goToNextPage(): void;
|
|
65
|
+
goToPreviousPage(): void;
|
|
66
|
+
registerItem(data: {
|
|
67
|
+
item: any;
|
|
68
|
+
textValue: string;
|
|
69
|
+
}): void;
|
|
70
|
+
unregisterItem(data: {
|
|
71
|
+
id: string;
|
|
72
|
+
}): void;
|
|
73
|
+
updateItemHeight(data: {
|
|
74
|
+
value: number;
|
|
75
|
+
}): void;
|
|
76
|
+
};
|
|
77
|
+
onChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
78
|
+
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
79
|
+
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
80
|
+
getId: (item: any) => string;
|
|
81
|
+
}, {
|
|
82
|
+
onKeyDown(event: React.KeyboardEvent): void;
|
|
83
|
+
}>;
|
|
84
|
+
//# sourceMappingURL=useComboboxInputOpenWithArrowKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComboboxInputOpenWithArrowKeys.d.ts","sourceRoot":"","sources":["../../../../combobox/lib/useComboboxInputOpenWithArrowKeys.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAEzB,mBAAmB;EAUtC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useComboboxInputOpenWithArrowKeys = void 0;
|
|
4
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
5
|
+
const useComboboxModel_1 = require("./useComboboxModel");
|
|
6
|
+
/**
|
|
7
|
+
* Opens a `Combobox` with the up/down arrow keys. This should be used only on a
|
|
8
|
+
* {@link ComboboxInput Combobox.Input}. It adds a keydown listener for the up/down arrow keys.
|
|
9
|
+
*/
|
|
10
|
+
exports.useComboboxInputOpenWithArrowKeys = common_1.createElemPropsHook(useComboboxModel_1.useComboboxModel)(model => {
|
|
11
|
+
return {
|
|
12
|
+
onKeyDown(event) {
|
|
13
|
+
if (event.key === 'ArrowDown' ||
|
|
14
|
+
(event.key === 'ArrowUp' && model.state.visibility !== 'visible')) {
|
|
15
|
+
model.events.show(event);
|
|
16
|
+
model.events.setWidth(event.currentTarget.clientWidth);
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useListLoader } from '@workday/canvas-kit-react/collection';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a `Combobox` data loader and a model. The `Combobox` loader extends the
|
|
4
|
+
* {@link useListLoader} and connects a {@link ComboboxInput Combobox.Input} to the filter of the
|
|
5
|
+
* data loader. A simple loader using
|
|
6
|
+
* [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) could look like the
|
|
7
|
+
* following:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const {model, loader} = useComboboxLoader(
|
|
11
|
+
* {
|
|
12
|
+
* total: 0,
|
|
13
|
+
* pageSize: 20,
|
|
14
|
+
* async load({pageNumber, pageSize, filter}) {
|
|
15
|
+
* // `filter` will be a `string`
|
|
16
|
+
* return fetch(`/myUrl?filter=${filter}`)
|
|
17
|
+
* .then(response => response.json())
|
|
18
|
+
* .then(response => {
|
|
19
|
+
* return {total: response.total, items: response.items};
|
|
20
|
+
* });
|
|
21
|
+
* },
|
|
22
|
+
* },
|
|
23
|
+
* useComboboxModel
|
|
24
|
+
* );
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare const useComboboxLoader: typeof useListLoader;
|
|
28
|
+
//# sourceMappingURL=useComboboxLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComboboxLoader.d.ts","sourceRoot":"","sources":["../../../../combobox/lib/useComboboxLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAuBnE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,aAqBtC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useComboboxLoader = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const collection_1 = require("@workday/canvas-kit-react/collection");
|
|
9
|
+
const useDebounce = () => {
|
|
10
|
+
const debounceTimer = react_1.default.useRef(-1);
|
|
11
|
+
react_1.default.useEffect(() => {
|
|
12
|
+
return () => {
|
|
13
|
+
// We want to clear any timeout on unload. We disable the ESLint rule because this is actually
|
|
14
|
+
// what we want
|
|
15
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16
|
+
clearTimeout(debounceTimer.current);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
return (fn, wait) => {
|
|
20
|
+
clearTimeout(debounceTimer.current);
|
|
21
|
+
debounceTimer.current = setTimeout(fn, wait); // We don't actually care what the real return type of setTimeout is. It is a number in the browser and something else in Node
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Creates a `Combobox` data loader and a model. The `Combobox` loader extends the
|
|
26
|
+
* {@link useListLoader} and connects a {@link ComboboxInput Combobox.Input} to the filter of the
|
|
27
|
+
* data loader. A simple loader using
|
|
28
|
+
* [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) could look like the
|
|
29
|
+
* following:
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* const {model, loader} = useComboboxLoader(
|
|
33
|
+
* {
|
|
34
|
+
* total: 0,
|
|
35
|
+
* pageSize: 20,
|
|
36
|
+
* async load({pageNumber, pageSize, filter}) {
|
|
37
|
+
* // `filter` will be a `string`
|
|
38
|
+
* return fetch(`/myUrl?filter=${filter}`)
|
|
39
|
+
* .then(response => response.json())
|
|
40
|
+
* .then(response => {
|
|
41
|
+
* return {total: response.total, items: response.items};
|
|
42
|
+
* });
|
|
43
|
+
* },
|
|
44
|
+
* },
|
|
45
|
+
* useComboboxModel
|
|
46
|
+
* );
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
const useComboboxLoader = (config, modelHook) => {
|
|
50
|
+
const debounce = useDebounce();
|
|
51
|
+
const list = collection_1.useListLoader({
|
|
52
|
+
shouldLoad(params, state) {
|
|
53
|
+
return ((config.shouldLoad ? config.shouldLoad(params, state) : true) &&
|
|
54
|
+
state.visibility !== 'hidden');
|
|
55
|
+
},
|
|
56
|
+
...modelHook.mergeConfig(config, {
|
|
57
|
+
onChange(event) {
|
|
58
|
+
const value = event.currentTarget.value;
|
|
59
|
+
debounce(() => list.loader.updateFilter(value), 150);
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
}, modelHook);
|
|
63
|
+
return list;
|
|
64
|
+
};
|
|
65
|
+
exports.useComboboxLoader = useComboboxLoader;
|