@patternfly/react-templates 1.1.0-prerelease.36 → 1.1.0-prerelease.38
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 +10 -0
- package/components/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/esm/components/Select/TypeaheadSelect.d.ts +8 -2
- package/dist/esm/components/Select/TypeaheadSelect.d.ts.map +1 -1
- package/dist/esm/components/Select/TypeaheadSelect.js +39 -18
- package/dist/esm/components/Select/TypeaheadSelect.js.map +1 -1
- package/dist/js/components/Select/TypeaheadSelect.d.ts +8 -2
- package/dist/js/components/Select/TypeaheadSelect.d.ts.map +1 -1
- package/dist/js/components/Select/TypeaheadSelect.js +39 -18
- package/dist/js/components/Select/TypeaheadSelect.js.map +1 -1
- package/dist/umd/assets/{output-C5HiCNDQ.css → output-BuTRBEea.css} +8843 -8843
- package/dist/umd/react-templates.min.js +1 -1
- package/package.json +2 -2
- package/src/components/Select/TypeaheadSelect.tsx +54 -20
- package/src/components/Select/examples/TypeaheadSelectDemo.tsx +39 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.1.0-prerelease.38](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-templates@1.1.0-prerelease.37...@patternfly/react-templates@1.1.0-prerelease.38) (2024-07-31)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **TypeaheadSelect:** Update input value only when appropriate ([#10826](https://github.com/patternfly/patternfly-react/issues/10826)) ([642236c](https://github.com/patternfly/patternfly-react/commit/642236c0016d1a3dc1d7c8a56f9bd2f98e182dcd))
|
|
11
|
+
|
|
12
|
+
# [1.1.0-prerelease.37](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-templates@1.1.0-prerelease.36...@patternfly/react-templates@1.1.0-prerelease.37) (2024-07-29)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @patternfly/react-templates
|
|
15
|
+
|
|
6
16
|
# [1.1.0-prerelease.36](https://github.com/patternfly/patternfly-react/compare/@patternfly/react-templates@1.1.0-prerelease.35...@patternfly/react-templates@1.1.0-prerelease.36) (2024-07-26)
|
|
7
17
|
|
|
8
18
|
**Note:** Version bump only for package @patternfly/react-templates
|
package/components/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-templates-components","main":"../dist/js/components/index.js","module":"../dist/esm/components/index.js","typings":"../dist/esm/components/index.d.ts","version":"1.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-templates-components","main":"../dist/js/components/index.js","module":"../dist/esm/components/index.js","typings":"../dist/esm/components/index.d.ts","version":"1.1.0-prerelease.37","private":true}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-templates-dropdown-dynamic","main":"../../../js/components/Dropdown/index.js","module":"../../../esm/components/Dropdown/index.js","typings":"../../../esm/components/Dropdown/index.d.ts","version":"1.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-templates-dropdown-dynamic","main":"../../../js/components/Dropdown/index.js","module":"../../../esm/components/Dropdown/index.js","typings":"../../../esm/components/Dropdown/index.d.ts","version":"1.1.0-prerelease.37","private":true}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-templates-select-dynamic","main":"../../../js/components/Select/index.js","module":"../../../esm/components/Select/index.js","typings":"../../../esm/components/Select/index.d.ts","version":"1.1.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-templates-select-dynamic","main":"../../../js/components/Select/index.js","module":"../../../esm/components/Select/index.js","typings":"../../../esm/components/Select/index.d.ts","version":"1.1.0-prerelease.37","private":true}
|
|
@@ -6,13 +6,13 @@ export interface TypeaheadSelectOption extends Omit<SelectOptionProps, 'content'
|
|
|
6
6
|
/** Value of the select option. */
|
|
7
7
|
value: string | number;
|
|
8
8
|
}
|
|
9
|
-
export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle'> {
|
|
9
|
+
export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle' | 'onSelect'> {
|
|
10
10
|
/** @hide Forwarded ref */
|
|
11
11
|
innerRef?: React.Ref<any>;
|
|
12
12
|
/** Initial options of the select. */
|
|
13
13
|
initialOptions: TypeaheadSelectOption[];
|
|
14
14
|
/** Callback triggered on selection. */
|
|
15
|
-
onSelect?: (_event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<HTMLInputElement
|
|
15
|
+
onSelect?: (_event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<HTMLInputElement> | undefined, selection: string | number) => void;
|
|
16
16
|
/** Callback triggered when the select opens or closes. */
|
|
17
17
|
onToggle?: (nextIsOpen: boolean) => void;
|
|
18
18
|
/** Callback triggered when the text in the input field changes. */
|
|
@@ -21,6 +21,12 @@ export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle'> {
|
|
|
21
21
|
onClearSelection?: () => void;
|
|
22
22
|
/** Placeholder text for the select input. */
|
|
23
23
|
placeholder?: string;
|
|
24
|
+
/** Flag to indicate if the typeahead select allows new items */
|
|
25
|
+
isCreatable?: boolean;
|
|
26
|
+
/** Flag to indicate if create option should be at top of typeahead */
|
|
27
|
+
isCreateOptionOnTop?: boolean;
|
|
28
|
+
/** Message to display to create a new option */
|
|
29
|
+
createOptionMessage?: string | ((newValue: string) => string);
|
|
24
30
|
/** Message to display when no options are available. */
|
|
25
31
|
noOptionsAvailableMessage?: string;
|
|
26
32
|
/** Message to display when no options match the filter. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeaheadSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,iBAAiB,EAOjB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC/E,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeaheadSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,iBAAiB,EAOjB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC/E,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpF,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,qCAAqC;IACrC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,EACjG,SAAS,EAAE,MAAM,GAAG,MAAM,KACvB,IAAI,CAAC;IACV,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9D,wDAAwD;IACxD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9D,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CA0T7E,CAAC;AAGF,eAAO,MAAM,eAAe,kFAE1B,CAAC"}
|
|
@@ -2,9 +2,11 @@ import { __rest } from "tslib";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Select, SelectOption, SelectList, MenuToggle, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, Button } from '@patternfly/react-core';
|
|
4
4
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
5
|
+
const defaultNoOptionsFoundMessage = (filter) => `No results found for "${filter}"`;
|
|
6
|
+
const defaultCreateOptionMessage = (newValue) => `Create "${newValue}"`;
|
|
5
7
|
export const TypeaheadSelectBase = (_a) => {
|
|
6
8
|
var _b, _c, _d, _e;
|
|
7
|
-
var { innerRef, initialOptions, onSelect, onToggle, onInputChange, onClearSelection, placeholder = 'Select an option', noOptionsAvailableMessage = 'No options are available', noOptionsFoundMessage =
|
|
9
|
+
var { innerRef, initialOptions, onSelect, onToggle, onInputChange, onClearSelection, placeholder = 'Select an option', noOptionsAvailableMessage = 'No options are available', noOptionsFoundMessage = defaultNoOptionsFoundMessage, isCreatable = false, isCreateOptionOnTop = false, createOptionMessage = defaultCreateOptionMessage, isDisabled, toggleWidth, toggleProps } = _a, props = __rest(_a, ["innerRef", "initialOptions", "onSelect", "onToggle", "onInputChange", "onClearSelection", "placeholder", "noOptionsAvailableMessage", "noOptionsFoundMessage", "isCreatable", "isCreateOptionOnTop", "createOptionMessage", "isDisabled", "toggleWidth", "toggleProps"]);
|
|
8
10
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
9
11
|
const [selected, setSelected] = React.useState(String((_c = (_b = initialOptions.find((o) => o.selected)) === null || _b === void 0 ? void 0 : _b.content) !== null && _c !== void 0 ? _c : ''));
|
|
10
12
|
const [inputValue, setInputValue] = React.useState(String((_e = (_d = initialOptions.find((o) => o.selected)) === null || _d === void 0 ? void 0 : _d.content) !== null && _e !== void 0 ? _e : ''));
|
|
@@ -19,6 +21,17 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
19
21
|
// Filter menu items based on the text input value when one exists
|
|
20
22
|
if (filterValue) {
|
|
21
23
|
newSelectOptions = initialOptions.filter((option) => String(option.content).toLowerCase().includes(filterValue.toLowerCase()));
|
|
24
|
+
if (isCreatable &&
|
|
25
|
+
filterValue &&
|
|
26
|
+
!initialOptions.find((o) => String(o.content).toLowerCase() === filterValue.toLowerCase())) {
|
|
27
|
+
const createOption = {
|
|
28
|
+
content: typeof createOptionMessage === 'string' ? createOptionMessage : createOptionMessage(filterValue),
|
|
29
|
+
value: filterValue
|
|
30
|
+
};
|
|
31
|
+
newSelectOptions = isCreateOptionOnTop
|
|
32
|
+
? [createOption, ...newSelectOptions]
|
|
33
|
+
: [...newSelectOptions, createOption];
|
|
34
|
+
}
|
|
22
35
|
// When no options are found after filtering, display 'No results found'
|
|
23
36
|
if (!newSelectOptions.length) {
|
|
24
37
|
newSelectOptions = [
|
|
@@ -30,9 +43,7 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
30
43
|
];
|
|
31
44
|
}
|
|
32
45
|
// Open the menu when the input value changes and the new value is not empty
|
|
33
|
-
|
|
34
|
-
openMenu();
|
|
35
|
-
}
|
|
46
|
+
openMenu();
|
|
36
47
|
}
|
|
37
48
|
// When no options are available, display 'No options available'
|
|
38
49
|
if (!newSelectOptions.length) {
|
|
@@ -45,24 +56,39 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
45
56
|
];
|
|
46
57
|
}
|
|
47
58
|
setSelectOptions(newSelectOptions);
|
|
48
|
-
}, [
|
|
59
|
+
}, [
|
|
60
|
+
filterValue,
|
|
61
|
+
initialOptions,
|
|
62
|
+
noOptionsFoundMessage,
|
|
63
|
+
isCreatable,
|
|
64
|
+
isCreateOptionOnTop,
|
|
65
|
+
createOptionMessage,
|
|
66
|
+
noOptionsAvailableMessage
|
|
67
|
+
]);
|
|
49
68
|
React.useEffect(() => {
|
|
50
69
|
var _a;
|
|
70
|
+
// If the selected option changed and the current input value is the previously selected item, update the displayed value.
|
|
51
71
|
const selectedOption = initialOptions.find((o) => o.selected);
|
|
52
|
-
|
|
72
|
+
if (inputValue === selected && (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) !== selected) {
|
|
73
|
+
setInputValue(String((_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.content) !== null && _a !== void 0 ? _a : ''));
|
|
74
|
+
}
|
|
75
|
+
// Only update when options change
|
|
76
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
77
|
}, [initialOptions]);
|
|
54
78
|
const setActiveAndFocusedItem = (itemIndex) => {
|
|
55
79
|
setFocusedItemIndex(itemIndex);
|
|
56
80
|
const focusedItem = selectOptions[itemIndex];
|
|
57
|
-
setActiveItemId(focusedItem.value);
|
|
81
|
+
setActiveItemId(String(focusedItem.value));
|
|
58
82
|
};
|
|
59
83
|
const resetActiveAndFocusedItem = () => {
|
|
60
84
|
setFocusedItemIndex(null);
|
|
61
85
|
setActiveItemId(null);
|
|
62
86
|
};
|
|
63
87
|
const openMenu = () => {
|
|
64
|
-
|
|
65
|
-
|
|
88
|
+
if (!isOpen) {
|
|
89
|
+
onToggle && onToggle(true);
|
|
90
|
+
setIsOpen(true);
|
|
91
|
+
}
|
|
66
92
|
};
|
|
67
93
|
const closeMenu = () => {
|
|
68
94
|
onToggle && onToggle(false);
|
|
@@ -102,9 +128,7 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
102
128
|
};
|
|
103
129
|
const handleMenuArrowKeys = (key) => {
|
|
104
130
|
let indexToFocus = 0;
|
|
105
|
-
|
|
106
|
-
openMenu();
|
|
107
|
-
}
|
|
131
|
+
openMenu();
|
|
108
132
|
if (selectOptions.every((option) => option.isDisabled)) {
|
|
109
133
|
return;
|
|
110
134
|
}
|
|
@@ -149,10 +173,7 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
149
173
|
if (isOpen && focusedItem && focusedItem.value !== NO_RESULTS && !focusedItem.isAriaDisabled) {
|
|
150
174
|
selectOption(event, focusedItem);
|
|
151
175
|
}
|
|
152
|
-
|
|
153
|
-
onToggle && onToggle(true);
|
|
154
|
-
setIsOpen(true);
|
|
155
|
-
}
|
|
176
|
+
openMenu();
|
|
156
177
|
break;
|
|
157
178
|
case 'ArrowUp':
|
|
158
179
|
case 'ArrowDown':
|
|
@@ -165,7 +186,7 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
165
186
|
var _a;
|
|
166
187
|
onToggle && onToggle(!isOpen);
|
|
167
188
|
setIsOpen(!isOpen);
|
|
168
|
-
(_a = textInputRef
|
|
189
|
+
(_a = textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
169
190
|
};
|
|
170
191
|
const onClearButtonClick = () => {
|
|
171
192
|
var _a;
|
|
@@ -174,7 +195,7 @@ export const TypeaheadSelectBase = (_a) => {
|
|
|
174
195
|
onInputChange && onInputChange('');
|
|
175
196
|
setFilterValue('');
|
|
176
197
|
resetActiveAndFocusedItem();
|
|
177
|
-
(_a = textInputRef
|
|
198
|
+
(_a = textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
178
199
|
onClearSelection && onClearSelection();
|
|
179
200
|
};
|
|
180
201
|
const toggle = (toggleRef) => (React.createElement(MenuToggle, Object.assign({ ref: toggleRef, variant: "typeahead", "aria-label": "Typeahead menu toggle", onClick: onToggleClick, isExpanded: isOpen, isDisabled: isDisabled, isFullWidth: true, style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeaheadSelect.js","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EAEV,UAAU,EAEV,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,EAGP,MAAM,wBAAwB,CAAC;AAChC,OAAO,SAAS,MAAM,mDAAmD,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeaheadSelect.js","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ export interface TypeaheadSelectOption extends Omit<SelectOptionProps, 'content'
|
|
|
6
6
|
/** Value of the select option. */
|
|
7
7
|
value: string | number;
|
|
8
8
|
}
|
|
9
|
-
export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle'> {
|
|
9
|
+
export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle' | 'onSelect'> {
|
|
10
10
|
/** @hide Forwarded ref */
|
|
11
11
|
innerRef?: React.Ref<any>;
|
|
12
12
|
/** Initial options of the select. */
|
|
13
13
|
initialOptions: TypeaheadSelectOption[];
|
|
14
14
|
/** Callback triggered on selection. */
|
|
15
|
-
onSelect?: (_event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<HTMLInputElement
|
|
15
|
+
onSelect?: (_event: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<HTMLInputElement> | undefined, selection: string | number) => void;
|
|
16
16
|
/** Callback triggered when the select opens or closes. */
|
|
17
17
|
onToggle?: (nextIsOpen: boolean) => void;
|
|
18
18
|
/** Callback triggered when the text in the input field changes. */
|
|
@@ -21,6 +21,12 @@ export interface TypeaheadSelectProps extends Omit<SelectProps, 'toggle'> {
|
|
|
21
21
|
onClearSelection?: () => void;
|
|
22
22
|
/** Placeholder text for the select input. */
|
|
23
23
|
placeholder?: string;
|
|
24
|
+
/** Flag to indicate if the typeahead select allows new items */
|
|
25
|
+
isCreatable?: boolean;
|
|
26
|
+
/** Flag to indicate if create option should be at top of typeahead */
|
|
27
|
+
isCreateOptionOnTop?: boolean;
|
|
28
|
+
/** Message to display to create a new option */
|
|
29
|
+
createOptionMessage?: string | ((newValue: string) => string);
|
|
24
30
|
/** Message to display when no options are available. */
|
|
25
31
|
noOptionsAvailableMessage?: string;
|
|
26
32
|
/** Message to display when no options match the filter. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeaheadSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,iBAAiB,EAOjB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC/E,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"TypeaheadSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,iBAAiB,EAOjB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC/E,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpF,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,qCAAqC;IACrC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,EACjG,SAAS,EAAE,MAAM,GAAG,MAAM,KACvB,IAAI,CAAC;IACV,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9D,wDAAwD;IACxD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9D,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAKD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CA0T7E,CAAC;AAGF,eAAO,MAAM,eAAe,kFAE1B,CAAC"}
|
|
@@ -5,9 +5,11 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const react_core_1 = require("@patternfly/react-core");
|
|
7
7
|
const times_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/times-icon'));
|
|
8
|
+
const defaultNoOptionsFoundMessage = (filter) => `No results found for "${filter}"`;
|
|
9
|
+
const defaultCreateOptionMessage = (newValue) => `Create "${newValue}"`;
|
|
8
10
|
const TypeaheadSelectBase = (_a) => {
|
|
9
11
|
var _b, _c, _d, _e;
|
|
10
|
-
var { innerRef, initialOptions, onSelect, onToggle, onInputChange, onClearSelection, placeholder = 'Select an option', noOptionsAvailableMessage = 'No options are available', noOptionsFoundMessage =
|
|
12
|
+
var { innerRef, initialOptions, onSelect, onToggle, onInputChange, onClearSelection, placeholder = 'Select an option', noOptionsAvailableMessage = 'No options are available', noOptionsFoundMessage = defaultNoOptionsFoundMessage, isCreatable = false, isCreateOptionOnTop = false, createOptionMessage = defaultCreateOptionMessage, isDisabled, toggleWidth, toggleProps } = _a, props = tslib_1.__rest(_a, ["innerRef", "initialOptions", "onSelect", "onToggle", "onInputChange", "onClearSelection", "placeholder", "noOptionsAvailableMessage", "noOptionsFoundMessage", "isCreatable", "isCreateOptionOnTop", "createOptionMessage", "isDisabled", "toggleWidth", "toggleProps"]);
|
|
11
13
|
const [isOpen, setIsOpen] = react_1.default.useState(false);
|
|
12
14
|
const [selected, setSelected] = react_1.default.useState(String((_c = (_b = initialOptions.find((o) => o.selected)) === null || _b === void 0 ? void 0 : _b.content) !== null && _c !== void 0 ? _c : ''));
|
|
13
15
|
const [inputValue, setInputValue] = react_1.default.useState(String((_e = (_d = initialOptions.find((o) => o.selected)) === null || _d === void 0 ? void 0 : _d.content) !== null && _e !== void 0 ? _e : ''));
|
|
@@ -22,6 +24,17 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
22
24
|
// Filter menu items based on the text input value when one exists
|
|
23
25
|
if (filterValue) {
|
|
24
26
|
newSelectOptions = initialOptions.filter((option) => String(option.content).toLowerCase().includes(filterValue.toLowerCase()));
|
|
27
|
+
if (isCreatable &&
|
|
28
|
+
filterValue &&
|
|
29
|
+
!initialOptions.find((o) => String(o.content).toLowerCase() === filterValue.toLowerCase())) {
|
|
30
|
+
const createOption = {
|
|
31
|
+
content: typeof createOptionMessage === 'string' ? createOptionMessage : createOptionMessage(filterValue),
|
|
32
|
+
value: filterValue
|
|
33
|
+
};
|
|
34
|
+
newSelectOptions = isCreateOptionOnTop
|
|
35
|
+
? [createOption, ...newSelectOptions]
|
|
36
|
+
: [...newSelectOptions, createOption];
|
|
37
|
+
}
|
|
25
38
|
// When no options are found after filtering, display 'No results found'
|
|
26
39
|
if (!newSelectOptions.length) {
|
|
27
40
|
newSelectOptions = [
|
|
@@ -33,9 +46,7 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
33
46
|
];
|
|
34
47
|
}
|
|
35
48
|
// Open the menu when the input value changes and the new value is not empty
|
|
36
|
-
|
|
37
|
-
openMenu();
|
|
38
|
-
}
|
|
49
|
+
openMenu();
|
|
39
50
|
}
|
|
40
51
|
// When no options are available, display 'No options available'
|
|
41
52
|
if (!newSelectOptions.length) {
|
|
@@ -48,24 +59,39 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
48
59
|
];
|
|
49
60
|
}
|
|
50
61
|
setSelectOptions(newSelectOptions);
|
|
51
|
-
}, [
|
|
62
|
+
}, [
|
|
63
|
+
filterValue,
|
|
64
|
+
initialOptions,
|
|
65
|
+
noOptionsFoundMessage,
|
|
66
|
+
isCreatable,
|
|
67
|
+
isCreateOptionOnTop,
|
|
68
|
+
createOptionMessage,
|
|
69
|
+
noOptionsAvailableMessage
|
|
70
|
+
]);
|
|
52
71
|
react_1.default.useEffect(() => {
|
|
53
72
|
var _a;
|
|
73
|
+
// If the selected option changed and the current input value is the previously selected item, update the displayed value.
|
|
54
74
|
const selectedOption = initialOptions.find((o) => o.selected);
|
|
55
|
-
|
|
75
|
+
if (inputValue === selected && (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) !== selected) {
|
|
76
|
+
setInputValue(String((_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.content) !== null && _a !== void 0 ? _a : ''));
|
|
77
|
+
}
|
|
78
|
+
// Only update when options change
|
|
79
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
80
|
}, [initialOptions]);
|
|
57
81
|
const setActiveAndFocusedItem = (itemIndex) => {
|
|
58
82
|
setFocusedItemIndex(itemIndex);
|
|
59
83
|
const focusedItem = selectOptions[itemIndex];
|
|
60
|
-
setActiveItemId(focusedItem.value);
|
|
84
|
+
setActiveItemId(String(focusedItem.value));
|
|
61
85
|
};
|
|
62
86
|
const resetActiveAndFocusedItem = () => {
|
|
63
87
|
setFocusedItemIndex(null);
|
|
64
88
|
setActiveItemId(null);
|
|
65
89
|
};
|
|
66
90
|
const openMenu = () => {
|
|
67
|
-
|
|
68
|
-
|
|
91
|
+
if (!isOpen) {
|
|
92
|
+
onToggle && onToggle(true);
|
|
93
|
+
setIsOpen(true);
|
|
94
|
+
}
|
|
69
95
|
};
|
|
70
96
|
const closeMenu = () => {
|
|
71
97
|
onToggle && onToggle(false);
|
|
@@ -105,9 +131,7 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
105
131
|
};
|
|
106
132
|
const handleMenuArrowKeys = (key) => {
|
|
107
133
|
let indexToFocus = 0;
|
|
108
|
-
|
|
109
|
-
openMenu();
|
|
110
|
-
}
|
|
134
|
+
openMenu();
|
|
111
135
|
if (selectOptions.every((option) => option.isDisabled)) {
|
|
112
136
|
return;
|
|
113
137
|
}
|
|
@@ -152,10 +176,7 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
152
176
|
if (isOpen && focusedItem && focusedItem.value !== NO_RESULTS && !focusedItem.isAriaDisabled) {
|
|
153
177
|
selectOption(event, focusedItem);
|
|
154
178
|
}
|
|
155
|
-
|
|
156
|
-
onToggle && onToggle(true);
|
|
157
|
-
setIsOpen(true);
|
|
158
|
-
}
|
|
179
|
+
openMenu();
|
|
159
180
|
break;
|
|
160
181
|
case 'ArrowUp':
|
|
161
182
|
case 'ArrowDown':
|
|
@@ -168,7 +189,7 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
168
189
|
var _a;
|
|
169
190
|
onToggle && onToggle(!isOpen);
|
|
170
191
|
setIsOpen(!isOpen);
|
|
171
|
-
(_a = textInputRef
|
|
192
|
+
(_a = textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
172
193
|
};
|
|
173
194
|
const onClearButtonClick = () => {
|
|
174
195
|
var _a;
|
|
@@ -177,7 +198,7 @@ const TypeaheadSelectBase = (_a) => {
|
|
|
177
198
|
onInputChange && onInputChange('');
|
|
178
199
|
setFilterValue('');
|
|
179
200
|
resetActiveAndFocusedItem();
|
|
180
|
-
(_a = textInputRef
|
|
201
|
+
(_a = textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
181
202
|
onClearSelection && onClearSelection();
|
|
182
203
|
};
|
|
183
204
|
const toggle = (toggleRef) => (react_1.default.createElement(react_core_1.MenuToggle, Object.assign({ ref: toggleRef, variant: "typeahead", "aria-label": "Typeahead menu toggle", onClick: onToggleClick, isExpanded: isOpen, isDisabled: isDisabled, isFullWidth: true, style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeaheadSelect.js","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,uDAagC;;
|
|
1
|
+
{"version":3,"file":"TypeaheadSelect.js","sourceRoot":"","sources":["../../../../src/components/Select/TypeaheadSelect.tsx"],"names":[],"mappings":"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"}
|