carbon-react 142.4.0 → 142.4.1
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/esm/components/menu/__internal__/submenu/submenu.style.js +0 -1
- package/esm/components/pager/pager.style.js +1 -1
- package/esm/components/select/__internal__/select-list/select-list.component.d.ts +0 -2
- package/esm/components/select/__internal__/select-list/select-list.component.js +3 -8
- package/esm/components/select/__internal__/select-textbox/select-textbox.component.d.ts +1 -3
- package/esm/components/select/__internal__/select-textbox/select-textbox.component.js +24 -56
- package/esm/components/select/__internal__/{select-text/select-text.style.d.ts → select-textbox/select-textbox.style.d.ts} +2 -3
- package/esm/components/select/filterable-select/filterable-select.component.d.ts +1 -1
- package/esm/components/select/filterable-select/filterable-select.component.js +4 -7
- package/esm/components/select/multi-select/multi-select.component.d.ts +1 -1
- package/esm/components/select/multi-select/multi-select.component.js +4 -7
- package/esm/components/select/simple-select/simple-select.component.d.ts +1 -1
- package/esm/components/select/simple-select/simple-select.component.js +4 -7
- package/lib/components/menu/__internal__/submenu/submenu.style.js +0 -1
- package/lib/components/pager/pager.style.js +2 -2
- package/lib/components/select/__internal__/select-list/select-list.component.d.ts +0 -2
- package/lib/components/select/__internal__/select-list/select-list.component.js +3 -8
- package/lib/components/select/__internal__/select-textbox/select-textbox.component.d.ts +1 -3
- package/lib/components/select/__internal__/select-textbox/select-textbox.component.js +24 -58
- package/lib/components/select/__internal__/{select-text/select-text.style.d.ts → select-textbox/select-textbox.style.d.ts} +2 -3
- package/lib/components/select/filterable-select/filterable-select.component.d.ts +1 -1
- package/lib/components/select/filterable-select/filterable-select.component.js +4 -7
- package/lib/components/select/multi-select/multi-select.component.d.ts +1 -1
- package/lib/components/select/multi-select/multi-select.component.js +4 -7
- package/lib/components/select/simple-select/simple-select.component.d.ts +1 -1
- package/lib/components/select/simple-select/simple-select.component.js +4 -7
- package/package.json +1 -1
- package/esm/components/select/__internal__/select-text/index.d.ts +0 -2
- package/esm/components/select/__internal__/select-text/index.js +0 -1
- package/esm/components/select/__internal__/select-text/select-text.component.d.ts +0 -22
- package/esm/components/select/__internal__/select-text/select-text.component.js +0 -27
- package/lib/components/select/__internal__/select-text/index.d.ts +0 -2
- package/lib/components/select/__internal__/select-text/index.js +0 -13
- package/lib/components/select/__internal__/select-text/package.json +0 -6
- package/lib/components/select/__internal__/select-text/select-text.component.d.ts +0 -22
- package/lib/components/select/__internal__/select-text/select-text.component.js +0 -34
- /package/esm/components/select/__internal__/{select-text/select-text.style.js → select-textbox/select-textbox.style.js} +0 -0
- /package/lib/components/select/__internal__/{select-text/select-text.style.js → select-textbox/select-textbox.style.js} +0 -0
|
@@ -3,7 +3,7 @@ import StyledInput from "../../__internal__/input/input.style";
|
|
|
3
3
|
import StyledInputPresentation from "../../__internal__/input/input-presentation.style";
|
|
4
4
|
import StyledFormField from "../../__internal__/form-field/form-field.style";
|
|
5
5
|
import InputIconToggleStyle from "../../__internal__/input-icon-toggle/input-icon-toggle.style";
|
|
6
|
-
import { StyledSelectText } from "../select/__internal__/select-
|
|
6
|
+
import { StyledSelectText } from "../select/__internal__/select-textbox/select-textbox.style";
|
|
7
7
|
import Link from "../link";
|
|
8
8
|
const StyledSelectContainer = styled.div`
|
|
9
9
|
height: 26px;
|
|
@@ -37,8 +37,6 @@ export interface SelectListProps {
|
|
|
37
37
|
tableHeader?: React.ReactNode;
|
|
38
38
|
/** When true component will work in multi column mode, children should consist of OptionRow components in this mode */
|
|
39
39
|
multiColumn?: boolean;
|
|
40
|
-
/** Data role for loader component */
|
|
41
|
-
loaderDataRole?: string;
|
|
42
40
|
/** Placement of the select list relative to the input element */
|
|
43
41
|
listPlacement?: Side;
|
|
44
42
|
/** Use the opposite list placement if the set placement does not fit */
|
|
@@ -38,7 +38,6 @@ const SelectList = /*#__PURE__*/React.forwardRef(({
|
|
|
38
38
|
onListScrollBottom,
|
|
39
39
|
multiColumn,
|
|
40
40
|
tableHeader,
|
|
41
|
-
loaderDataRole,
|
|
42
41
|
listPlacement = "bottom",
|
|
43
42
|
flipEnabled = true,
|
|
44
43
|
isOpen,
|
|
@@ -172,9 +171,6 @@ const SelectList = /*#__PURE__*/React.forwardRef(({
|
|
|
172
171
|
start
|
|
173
172
|
}) => {
|
|
174
173
|
const child = childrenList[index];
|
|
175
|
-
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
176
|
-
return child;
|
|
177
|
-
}
|
|
178
174
|
const optionChildIndex = optionChildrenList.indexOf(child);
|
|
179
175
|
const isOption = optionChildIndex > -1;
|
|
180
176
|
const newProps = {
|
|
@@ -384,9 +380,7 @@ const SelectList = /*#__PURE__*/React.forwardRef(({
|
|
|
384
380
|
})] : [])], [flipEnabled]);
|
|
385
381
|
const loader = isLoading ? /*#__PURE__*/React.createElement(StyledSelectLoaderContainer, {
|
|
386
382
|
key: "loader"
|
|
387
|
-
}, /*#__PURE__*/React.createElement(Loader,
|
|
388
|
-
"data-role": loaderDataRole
|
|
389
|
-
})) : undefined;
|
|
383
|
+
}, /*#__PURE__*/React.createElement(Loader, null)) : undefined;
|
|
390
384
|
let selectListContent = renderedChildren;
|
|
391
385
|
const listBoxProps = {
|
|
392
386
|
role: "listbox",
|
|
@@ -423,11 +417,13 @@ const SelectList = /*#__PURE__*/React.forwardRef(({
|
|
|
423
417
|
animationFrame: true
|
|
424
418
|
}, /*#__PURE__*/React.createElement(StyledSelectListContainer, _extends({
|
|
425
419
|
"data-element": "select-list-wrapper",
|
|
420
|
+
"data-role": "select-list-wrapper",
|
|
426
421
|
isLoading: isLoading
|
|
427
422
|
}, listProps), /*#__PURE__*/React.createElement(StyledScrollableContainer, {
|
|
428
423
|
ref: listContainerRef,
|
|
429
424
|
maxHeight: listMaxHeight,
|
|
430
425
|
"data-component": "select-list-scrollable-container",
|
|
426
|
+
"data-role": "select-list-scrollable-container",
|
|
431
427
|
hasActionButton: !!listActionButton
|
|
432
428
|
}, /*#__PURE__*/React.createElement(StyledSelectList, _extends({
|
|
433
429
|
as: multiColumn ? "div" : "ul",
|
|
@@ -463,7 +459,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
463
459
|
"listActionButton": PropTypes.node,
|
|
464
460
|
"listMaxHeight": PropTypes.number,
|
|
465
461
|
"listPlacement": PropTypes.oneOf(["bottom", "left", "right", "top"]),
|
|
466
|
-
"loaderDataRole": PropTypes.string,
|
|
467
462
|
"multiColumn": PropTypes.bool,
|
|
468
463
|
"multiselectValues": PropTypes.arrayOf(PropTypes.string),
|
|
469
464
|
"onListAction": PropTypes.func,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { CustomSelectChangeEvent } from "../../simple-select/simple-select.component";
|
|
2
3
|
import { CommonTextboxProps } from "../../../textbox";
|
|
3
4
|
import { ValidationProps } from "../../../../__internal__/validations";
|
|
4
|
-
import { CustomSelectChangeEvent } from "../../simple-select/simple-select.component";
|
|
5
5
|
export interface FormInputPropTypes extends ValidationProps, Omit<CommonTextboxProps, "onClick" | "onChange"> {
|
|
6
6
|
/** Breakpoint for adaptive label (inline labels change to top aligned). Enables the adaptive behaviour when set */
|
|
7
7
|
adaptiveLabelBreakpoint?: number;
|
|
@@ -74,8 +74,6 @@ export interface SelectTextboxProps extends FormInputPropTypes {
|
|
|
74
74
|
/** Value of the Select Input */
|
|
75
75
|
selectedValue?: string | Record<string, unknown> | string[] | Record<string, unknown>[];
|
|
76
76
|
/** @private @ignore */
|
|
77
|
-
textboxRef?: HTMLInputElement | null;
|
|
78
|
-
/** @private @ignore */
|
|
79
77
|
transparent?: boolean;
|
|
80
78
|
/** @private @ignore */
|
|
81
79
|
activeDescendantId?: string;
|
|
@@ -1,81 +1,45 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
import React
|
|
2
|
+
import React from "react";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
4
|
+
import { SelectTextboxContext } from "./select-textbox.context";
|
|
5
|
+
import { StyledSelectText, StyledSelectTextChildrenWrapper } from "./select-textbox.style";
|
|
6
6
|
import Textbox from "../../../textbox";
|
|
7
|
-
import SelectText from "../select-text";
|
|
8
7
|
import useLocale from "../../../../hooks/__internal__/useLocale";
|
|
9
|
-
import { SelectTextboxContext } from "./select-textbox.context";
|
|
10
|
-
const floatingMiddleware = [offset(({
|
|
11
|
-
rects
|
|
12
|
-
}) => ({
|
|
13
|
-
mainAxis: -rects.reference.height
|
|
14
|
-
})), sizeMiddleware({
|
|
15
|
-
apply({
|
|
16
|
-
rects,
|
|
17
|
-
elements
|
|
18
|
-
}) {
|
|
19
|
-
elements.reference.style.height = `${rects.floating.height}px`;
|
|
20
|
-
elements.floating.style.width = `${rects.reference.width}px`;
|
|
21
|
-
}
|
|
22
|
-
})];
|
|
23
8
|
const SelectTextbox = /*#__PURE__*/React.forwardRef(({
|
|
24
9
|
ariaLabel,
|
|
25
10
|
ariaLabelledby,
|
|
26
11
|
accessibilityLabelId,
|
|
27
12
|
labelId,
|
|
28
13
|
"aria-controls": ariaControls,
|
|
29
|
-
disabled,
|
|
14
|
+
disabled = false,
|
|
30
15
|
isOpen,
|
|
31
16
|
id,
|
|
32
|
-
readOnly,
|
|
33
|
-
placeholder,
|
|
17
|
+
readOnly = false,
|
|
18
|
+
placeholder: customPlaceholder,
|
|
34
19
|
size = "medium",
|
|
35
20
|
onClick,
|
|
36
21
|
onFocus,
|
|
37
22
|
onBlur,
|
|
38
23
|
onChange,
|
|
24
|
+
formattedValue = "",
|
|
39
25
|
selectedValue,
|
|
40
26
|
required,
|
|
41
27
|
isOptional,
|
|
42
|
-
textboxRef,
|
|
43
28
|
hasTextCursor,
|
|
44
|
-
transparent,
|
|
29
|
+
transparent = false,
|
|
45
30
|
activeDescendantId,
|
|
46
31
|
onKeyDown,
|
|
47
32
|
...restProps
|
|
48
33
|
}, ref) => {
|
|
49
|
-
const reference = useMemo(() => ({
|
|
50
|
-
current: textboxRef?.parentElement?.parentElement || null
|
|
51
|
-
}), [textboxRef]);
|
|
52
|
-
const floating = useMemo(() => ({
|
|
53
|
-
current: textboxRef?.parentElement || null
|
|
54
|
-
}), [textboxRef]);
|
|
55
|
-
useFloating({
|
|
56
|
-
isOpen,
|
|
57
|
-
reference,
|
|
58
|
-
floating,
|
|
59
|
-
strategy: "fixed",
|
|
60
|
-
animationFrame: true,
|
|
61
|
-
middleware: floatingMiddleware
|
|
62
|
-
});
|
|
63
34
|
const l = useLocale();
|
|
35
|
+
const placeholder = customPlaceholder || l.select.placeholder();
|
|
36
|
+
const showPlaceholder = !disabled && !readOnly && !formattedValue;
|
|
64
37
|
function handleTextboxClick(event) {
|
|
65
38
|
onClick?.(event);
|
|
66
39
|
}
|
|
67
40
|
function handleTextboxFocus(event) {
|
|
68
|
-
if (disabled || readOnly)
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
if (onFocus) {
|
|
72
|
-
onFocus(event);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function handleTextboxBlur(event) {
|
|
76
|
-
if (onBlur) {
|
|
77
|
-
onBlur(event);
|
|
78
|
-
}
|
|
41
|
+
if (disabled || readOnly) return;
|
|
42
|
+
onFocus?.(event);
|
|
79
43
|
}
|
|
80
44
|
const textboxProps = {
|
|
81
45
|
disabled,
|
|
@@ -85,7 +49,7 @@ const SelectTextbox = /*#__PURE__*/React.forwardRef(({
|
|
|
85
49
|
isOptional,
|
|
86
50
|
onClick: handleTextboxClick,
|
|
87
51
|
onFocus: handleTextboxFocus,
|
|
88
|
-
onBlur
|
|
52
|
+
onBlur,
|
|
89
53
|
labelId,
|
|
90
54
|
type: "text",
|
|
91
55
|
ref,
|
|
@@ -108,22 +72,27 @@ const SelectTextbox = /*#__PURE__*/React.forwardRef(({
|
|
|
108
72
|
}, /*#__PURE__*/React.createElement(Textbox, _extends({
|
|
109
73
|
"aria-label": ariaLabel,
|
|
110
74
|
"data-element": "select-input",
|
|
75
|
+
"data-role": "select-textbox",
|
|
111
76
|
inputIcon: "dropdown",
|
|
112
77
|
autoComplete: "off",
|
|
113
78
|
size: size,
|
|
114
79
|
onChange: onChange,
|
|
80
|
+
formattedValue: formattedValue,
|
|
115
81
|
value: hasStringValue ? selectedValue : undefined,
|
|
116
|
-
placeholder: hasTextCursor ? placeholder
|
|
82
|
+
placeholder: hasTextCursor ? placeholder : undefined
|
|
117
83
|
}, inputAriaAttributes, textboxProps, {
|
|
118
84
|
my: 0 // prevents any form spacing being applied
|
|
119
|
-
}), !hasTextCursor && /*#__PURE__*/React.createElement(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
85
|
+
}), !hasTextCursor && /*#__PURE__*/React.createElement(StyledSelectText, _extends({
|
|
86
|
+
"aria-hidden": true,
|
|
87
|
+
"data-element": "select-text",
|
|
88
|
+
"data-role": "select-text",
|
|
123
89
|
disabled: disabled,
|
|
90
|
+
hasPlaceholder: showPlaceholder,
|
|
91
|
+
onClick: disabled || readOnly ? undefined : handleTextboxClick,
|
|
124
92
|
readOnly: readOnly,
|
|
93
|
+
transparent: transparent,
|
|
125
94
|
size: size
|
|
126
|
-
}, restProps))));
|
|
95
|
+
}, restProps), /*#__PURE__*/React.createElement(StyledSelectTextChildrenWrapper, null, showPlaceholder ? placeholder : formattedValue))));
|
|
127
96
|
});
|
|
128
97
|
if (process.env.NODE_ENV !== "production") {
|
|
129
98
|
SelectTextbox.propTypes = {
|
|
@@ -652,7 +621,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
652
621
|
"suppressContentEditableWarning": PropTypes.bool,
|
|
653
622
|
"suppressHydrationWarning": PropTypes.bool,
|
|
654
623
|
"tabIndex": PropTypes.number,
|
|
655
|
-
"textboxRef": PropTypes.object,
|
|
656
624
|
"title": PropTypes.string,
|
|
657
625
|
"tooltipPosition": PropTypes.oneOf(["bottom", "left", "right", "top"]),
|
|
658
626
|
"translate": PropTypes.oneOf(["no", "yes"]),
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
interface StyledSelectTextProps extends Pick<
|
|
1
|
+
import { SelectTextboxProps } from "./select-textbox.component";
|
|
2
|
+
interface StyledSelectTextProps extends Required<Pick<SelectTextboxProps, "disabled" | "readOnly" | "transparent" | "size">> {
|
|
3
3
|
hasPlaceholder: boolean;
|
|
4
|
-
size: NonNullable<SelectTextProps["size"]>;
|
|
5
4
|
}
|
|
6
5
|
declare const StyledSelectText: import("styled-components").StyledComponent<"span", any, StyledSelectTextProps, never>;
|
|
7
6
|
declare const StyledSelectTextChildrenWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
@@ -66,5 +66,5 @@ export interface FilterableSelectProps extends Omit<FormInputPropTypes, "default
|
|
|
66
66
|
/** Flag to configure component as mandatory */
|
|
67
67
|
required?: boolean;
|
|
68
68
|
}
|
|
69
|
-
export declare const FilterableSelect: React.ForwardRefExoticComponent<FilterableSelectProps & React.RefAttributes<
|
|
69
|
+
export declare const FilterableSelect: React.ForwardRefExoticComponent<FilterableSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
70
70
|
export default FilterableSelect;
|
|
@@ -364,10 +364,9 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
364
364
|
onListAction?.();
|
|
365
365
|
}
|
|
366
366
|
const assignInput = useCallback(element => {
|
|
367
|
+
if (!element) return;
|
|
367
368
|
setTextboxRef(element);
|
|
368
|
-
if (!ref)
|
|
369
|
-
return;
|
|
370
|
-
}
|
|
369
|
+
if (!ref) return;
|
|
371
370
|
if (typeof ref === "function") {
|
|
372
371
|
ref(element);
|
|
373
372
|
} else {
|
|
@@ -381,7 +380,6 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
381
380
|
label,
|
|
382
381
|
disabled,
|
|
383
382
|
readOnly,
|
|
384
|
-
ref: assignInput,
|
|
385
383
|
selectedValue,
|
|
386
384
|
formattedValue: textValue,
|
|
387
385
|
onClick: handleTextboxClick,
|
|
@@ -416,7 +414,6 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
416
414
|
onListScrollBottom,
|
|
417
415
|
tableHeader,
|
|
418
416
|
multiColumn,
|
|
419
|
-
loaderDataRole: "filterable-select-list-loader",
|
|
420
417
|
listPlacement,
|
|
421
418
|
flipEnabled,
|
|
422
419
|
isOpen,
|
|
@@ -436,14 +433,14 @@ const FilterableSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
436
433
|
}, marginProps), /*#__PURE__*/React.createElement("div", {
|
|
437
434
|
ref: containerRef
|
|
438
435
|
}, /*#__PURE__*/React.createElement(SelectTextbox, _extends({
|
|
436
|
+
ref: assignInput,
|
|
439
437
|
activeDescendantId: activeDescendantId,
|
|
440
438
|
ariaLabel: ariaLabel,
|
|
441
439
|
ariaLabelledby: ariaLabelledby,
|
|
442
440
|
labelId: label ? labelId : undefined,
|
|
443
441
|
"aria-controls": selectListId.current,
|
|
444
442
|
isOpen: isOpen,
|
|
445
|
-
hasTextCursor: true
|
|
446
|
-
textboxRef: textboxRef
|
|
443
|
+
hasTextCursor: true
|
|
447
444
|
}, getTextboxProps()))), selectList);
|
|
448
445
|
});
|
|
449
446
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -58,5 +58,5 @@ export interface MultiSelectProps extends Omit<FormInputPropTypes, "defaultValue
|
|
|
58
58
|
/** Flag to configure component as optional. */
|
|
59
59
|
isOptional?: boolean;
|
|
60
60
|
}
|
|
61
|
-
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<
|
|
61
|
+
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
62
62
|
export default MultiSelect;
|
|
@@ -386,10 +386,9 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
386
386
|
setFilterText("");
|
|
387
387
|
}, []);
|
|
388
388
|
const assignInput = useCallback(element => {
|
|
389
|
+
if (!element) return;
|
|
389
390
|
setTextboxRef(element);
|
|
390
|
-
if (!ref)
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
391
|
+
if (!ref) return;
|
|
393
392
|
if (typeof ref === "function") {
|
|
394
393
|
ref(element);
|
|
395
394
|
} else {
|
|
@@ -405,7 +404,6 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
405
404
|
readOnly,
|
|
406
405
|
placeholder: placeholderOverride,
|
|
407
406
|
leftChildren: mapValuesToPills,
|
|
408
|
-
ref: assignInput,
|
|
409
407
|
formattedValue: textValue,
|
|
410
408
|
selectedValue: actualValue,
|
|
411
409
|
onClick: handleTextboxClick,
|
|
@@ -440,7 +438,6 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
440
438
|
listPlacement: listPlacement,
|
|
441
439
|
listMaxHeight: listMaxHeight,
|
|
442
440
|
flipEnabled: flipEnabled,
|
|
443
|
-
loaderDataRole: "multi-select-list-loader",
|
|
444
441
|
multiselectValues: actualValue,
|
|
445
442
|
isOpen: isOpen,
|
|
446
443
|
enableVirtualScroll: enableVirtualScroll,
|
|
@@ -462,6 +459,7 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
462
459
|
"data-element": "accessibility-label",
|
|
463
460
|
id: accessibilityLabelId.current
|
|
464
461
|
}, accessibilityLabel), /*#__PURE__*/React.createElement(SelectTextbox, _extends({
|
|
462
|
+
ref: assignInput,
|
|
465
463
|
accessibilityLabelId: accessibilityLabelId.current,
|
|
466
464
|
activeDescendantId: activeDescendantId,
|
|
467
465
|
"aria-controls": selectListId.current,
|
|
@@ -469,8 +467,7 @@ const MultiSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
469
467
|
ariaLabelledby: ariaLabelledby,
|
|
470
468
|
hasTextCursor: true,
|
|
471
469
|
isOpen: isOpen,
|
|
472
|
-
labelId: labelId
|
|
473
|
-
textboxRef: textboxRef
|
|
470
|
+
labelId: labelId
|
|
474
471
|
}, getTextboxProps()))), selectList);
|
|
475
472
|
});
|
|
476
473
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -66,5 +66,5 @@ export interface SimpleSelectProps extends Omit<FormInputPropTypes, "defaultValu
|
|
|
66
66
|
/** Flag to configure component as mandatory */
|
|
67
67
|
isRequired?: boolean;
|
|
68
68
|
}
|
|
69
|
-
export declare const SimpleSelect: React.ForwardRefExoticComponent<SimpleSelectProps & React.RefAttributes<
|
|
69
|
+
export declare const SimpleSelect: React.ForwardRefExoticComponent<SimpleSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
70
70
|
export default SimpleSelect;
|
|
@@ -282,10 +282,9 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
282
282
|
setOpenState(false);
|
|
283
283
|
}, []);
|
|
284
284
|
const assignInput = useCallback(element => {
|
|
285
|
+
if (!element) return;
|
|
285
286
|
setTextboxRef(element);
|
|
286
|
-
if (!ref)
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
287
|
+
if (!ref) return;
|
|
289
288
|
if (typeof ref === "function") {
|
|
290
289
|
ref(element);
|
|
291
290
|
} else {
|
|
@@ -298,7 +297,6 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
298
297
|
name,
|
|
299
298
|
disabled,
|
|
300
299
|
readOnly,
|
|
301
|
-
ref: assignInput,
|
|
302
300
|
selectedValue,
|
|
303
301
|
formattedValue: textValue,
|
|
304
302
|
onClick: handleTextboxClick,
|
|
@@ -330,7 +328,6 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
330
328
|
onListScrollBottom: onListScrollBottom,
|
|
331
329
|
tableHeader: tableHeader,
|
|
332
330
|
multiColumn: multiColumn,
|
|
333
|
-
loaderDataRole: "simple-select-list-loader",
|
|
334
331
|
listPlacement: listPlacement,
|
|
335
332
|
flipEnabled: flipEnabled,
|
|
336
333
|
isOpen: isOpen,
|
|
@@ -349,12 +346,12 @@ const SimpleSelect = /*#__PURE__*/React.forwardRef(({
|
|
|
349
346
|
}, marginProps), /*#__PURE__*/React.createElement("div", {
|
|
350
347
|
ref: containerRef
|
|
351
348
|
}, /*#__PURE__*/React.createElement(SelectTextbox, _extends({
|
|
349
|
+
ref: assignInput,
|
|
352
350
|
ariaLabel: ariaLabel,
|
|
353
351
|
"aria-controls": selectListId.current,
|
|
354
352
|
activeDescendantId: activeDescendantId,
|
|
355
353
|
ariaLabelledby: ariaLabelledby,
|
|
356
|
-
isOpen: isOpen
|
|
357
|
-
textboxRef: textboxRef
|
|
354
|
+
isOpen: isOpen
|
|
358
355
|
}, getTextboxProps()))), selectList);
|
|
359
356
|
});
|
|
360
357
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -9,7 +9,7 @@ var _input = _interopRequireDefault(require("../../__internal__/input/input.styl
|
|
|
9
9
|
var _inputPresentation = _interopRequireDefault(require("../../__internal__/input/input-presentation.style"));
|
|
10
10
|
var _formField = _interopRequireDefault(require("../../__internal__/form-field/form-field.style"));
|
|
11
11
|
var _inputIconToggle = _interopRequireDefault(require("../../__internal__/input-icon-toggle/input-icon-toggle.style"));
|
|
12
|
-
var
|
|
12
|
+
var _selectTextbox = require("../select/__internal__/select-textbox/select-textbox.style");
|
|
13
13
|
var _link = _interopRequireDefault(require("../link"));
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -51,7 +51,7 @@ const StyledPagerSizeOptions = exports.StyledPagerSizeOptions = _styledComponent
|
|
|
51
51
|
min-width: 10px;
|
|
52
52
|
margin: 0px;
|
|
53
53
|
|
|
54
|
-
${
|
|
54
|
+
${_selectTextbox.StyledSelectText} {
|
|
55
55
|
font-size: 14px;
|
|
56
56
|
padding-right: 0px;
|
|
57
57
|
padding-left: 8px;
|
|
@@ -37,8 +37,6 @@ export interface SelectListProps {
|
|
|
37
37
|
tableHeader?: React.ReactNode;
|
|
38
38
|
/** When true component will work in multi column mode, children should consist of OptionRow components in this mode */
|
|
39
39
|
multiColumn?: boolean;
|
|
40
|
-
/** Data role for loader component */
|
|
41
|
-
loaderDataRole?: string;
|
|
42
40
|
/** Placement of the select list relative to the input element */
|
|
43
41
|
listPlacement?: Side;
|
|
44
42
|
/** Use the opposite list placement if the set placement does not fit */
|
|
@@ -47,7 +47,6 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
47
47
|
onListScrollBottom,
|
|
48
48
|
multiColumn,
|
|
49
49
|
tableHeader,
|
|
50
|
-
loaderDataRole,
|
|
51
50
|
listPlacement = "bottom",
|
|
52
51
|
flipEnabled = true,
|
|
53
52
|
isOpen,
|
|
@@ -181,9 +180,6 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
181
180
|
start
|
|
182
181
|
}) => {
|
|
183
182
|
const child = childrenList[index];
|
|
184
|
-
if (! /*#__PURE__*/_react.default.isValidElement(child)) {
|
|
185
|
-
return child;
|
|
186
|
-
}
|
|
187
183
|
const optionChildIndex = optionChildrenList.indexOf(child);
|
|
188
184
|
const isOption = optionChildIndex > -1;
|
|
189
185
|
const newProps = {
|
|
@@ -393,9 +389,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
393
389
|
})] : [])], [flipEnabled]);
|
|
394
390
|
const loader = isLoading ? /*#__PURE__*/_react.default.createElement(_selectList.StyledSelectLoaderContainer, {
|
|
395
391
|
key: "loader"
|
|
396
|
-
}, /*#__PURE__*/_react.default.createElement(_loader.default,
|
|
397
|
-
"data-role": loaderDataRole
|
|
398
|
-
})) : undefined;
|
|
392
|
+
}, /*#__PURE__*/_react.default.createElement(_loader.default, null)) : undefined;
|
|
399
393
|
let selectListContent = renderedChildren;
|
|
400
394
|
const listBoxProps = {
|
|
401
395
|
role: "listbox",
|
|
@@ -432,11 +426,13 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
432
426
|
animationFrame: true
|
|
433
427
|
}, /*#__PURE__*/_react.default.createElement(_selectList.StyledSelectListContainer, _extends({
|
|
434
428
|
"data-element": "select-list-wrapper",
|
|
429
|
+
"data-role": "select-list-wrapper",
|
|
435
430
|
isLoading: isLoading
|
|
436
431
|
}, listProps), /*#__PURE__*/_react.default.createElement(_selectList.StyledScrollableContainer, {
|
|
437
432
|
ref: listContainerRef,
|
|
438
433
|
maxHeight: listMaxHeight,
|
|
439
434
|
"data-component": "select-list-scrollable-container",
|
|
435
|
+
"data-role": "select-list-scrollable-container",
|
|
440
436
|
hasActionButton: !!listActionButton
|
|
441
437
|
}, /*#__PURE__*/_react.default.createElement(_selectList.StyledSelectList, _extends({
|
|
442
438
|
as: multiColumn ? "div" : "ul",
|
|
@@ -472,7 +468,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
472
468
|
"listActionButton": _propTypes.default.node,
|
|
473
469
|
"listMaxHeight": _propTypes.default.number,
|
|
474
470
|
"listPlacement": _propTypes.default.oneOf(["bottom", "left", "right", "top"]),
|
|
475
|
-
"loaderDataRole": _propTypes.default.string,
|
|
476
471
|
"multiColumn": _propTypes.default.bool,
|
|
477
472
|
"multiselectValues": _propTypes.default.arrayOf(_propTypes.default.string),
|
|
478
473
|
"onListAction": _propTypes.default.func,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { CustomSelectChangeEvent } from "../../simple-select/simple-select.component";
|
|
2
3
|
import { CommonTextboxProps } from "../../../textbox";
|
|
3
4
|
import { ValidationProps } from "../../../../__internal__/validations";
|
|
4
|
-
import { CustomSelectChangeEvent } from "../../simple-select/simple-select.component";
|
|
5
5
|
export interface FormInputPropTypes extends ValidationProps, Omit<CommonTextboxProps, "onClick" | "onChange"> {
|
|
6
6
|
/** Breakpoint for adaptive label (inline labels change to top aligned). Enables the adaptive behaviour when set */
|
|
7
7
|
adaptiveLabelBreakpoint?: number;
|
|
@@ -74,8 +74,6 @@ export interface SelectTextboxProps extends FormInputPropTypes {
|
|
|
74
74
|
/** Value of the Select Input */
|
|
75
75
|
selectedValue?: string | Record<string, unknown> | string[] | Record<string, unknown>[];
|
|
76
76
|
/** @private @ignore */
|
|
77
|
-
textboxRef?: HTMLInputElement | null;
|
|
78
|
-
/** @private @ignore */
|
|
79
77
|
transparent?: boolean;
|
|
80
78
|
/** @private @ignore */
|
|
81
79
|
activeDescendantId?: string;
|
|
@@ -4,87 +4,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var _selectTextbox = require("./select-textbox.context");
|
|
10
|
+
var _selectTextbox2 = require("./select-textbox.style");
|
|
11
11
|
var _textbox = _interopRequireDefault(require("../../../textbox"));
|
|
12
|
-
var _selectText = _interopRequireDefault(require("../select-text"));
|
|
13
12
|
var _useLocale = _interopRequireDefault(require("../../../../hooks/__internal__/useLocale"));
|
|
14
|
-
var _selectTextbox = require("./select-textbox.context");
|
|
15
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
14
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
|
-
const floatingMiddleware = [(0, _dom.offset)(({
|
|
20
|
-
rects
|
|
21
|
-
}) => ({
|
|
22
|
-
mainAxis: -rects.reference.height
|
|
23
|
-
})), (0, _dom.size)({
|
|
24
|
-
apply({
|
|
25
|
-
rects,
|
|
26
|
-
elements
|
|
27
|
-
}) {
|
|
28
|
-
elements.reference.style.height = `${rects.floating.height}px`;
|
|
29
|
-
elements.floating.style.width = `${rects.reference.width}px`;
|
|
30
|
-
}
|
|
31
|
-
})];
|
|
32
15
|
const SelectTextbox = /*#__PURE__*/_react.default.forwardRef(({
|
|
33
16
|
ariaLabel,
|
|
34
17
|
ariaLabelledby,
|
|
35
18
|
accessibilityLabelId,
|
|
36
19
|
labelId,
|
|
37
20
|
"aria-controls": ariaControls,
|
|
38
|
-
disabled,
|
|
21
|
+
disabled = false,
|
|
39
22
|
isOpen,
|
|
40
23
|
id,
|
|
41
|
-
readOnly,
|
|
42
|
-
placeholder,
|
|
24
|
+
readOnly = false,
|
|
25
|
+
placeholder: customPlaceholder,
|
|
43
26
|
size = "medium",
|
|
44
27
|
onClick,
|
|
45
28
|
onFocus,
|
|
46
29
|
onBlur,
|
|
47
30
|
onChange,
|
|
31
|
+
formattedValue = "",
|
|
48
32
|
selectedValue,
|
|
49
33
|
required,
|
|
50
34
|
isOptional,
|
|
51
|
-
textboxRef,
|
|
52
35
|
hasTextCursor,
|
|
53
|
-
transparent,
|
|
36
|
+
transparent = false,
|
|
54
37
|
activeDescendantId,
|
|
55
38
|
onKeyDown,
|
|
56
39
|
...restProps
|
|
57
40
|
}, ref) => {
|
|
58
|
-
const reference = (0, _react.useMemo)(() => ({
|
|
59
|
-
current: textboxRef?.parentElement?.parentElement || null
|
|
60
|
-
}), [textboxRef]);
|
|
61
|
-
const floating = (0, _react.useMemo)(() => ({
|
|
62
|
-
current: textboxRef?.parentElement || null
|
|
63
|
-
}), [textboxRef]);
|
|
64
|
-
(0, _useFloating.default)({
|
|
65
|
-
isOpen,
|
|
66
|
-
reference,
|
|
67
|
-
floating,
|
|
68
|
-
strategy: "fixed",
|
|
69
|
-
animationFrame: true,
|
|
70
|
-
middleware: floatingMiddleware
|
|
71
|
-
});
|
|
72
41
|
const l = (0, _useLocale.default)();
|
|
42
|
+
const placeholder = customPlaceholder || l.select.placeholder();
|
|
43
|
+
const showPlaceholder = !disabled && !readOnly && !formattedValue;
|
|
73
44
|
function handleTextboxClick(event) {
|
|
74
45
|
onClick?.(event);
|
|
75
46
|
}
|
|
76
47
|
function handleTextboxFocus(event) {
|
|
77
|
-
if (disabled || readOnly)
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
if (onFocus) {
|
|
81
|
-
onFocus(event);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
function handleTextboxBlur(event) {
|
|
85
|
-
if (onBlur) {
|
|
86
|
-
onBlur(event);
|
|
87
|
-
}
|
|
48
|
+
if (disabled || readOnly) return;
|
|
49
|
+
onFocus?.(event);
|
|
88
50
|
}
|
|
89
51
|
const textboxProps = {
|
|
90
52
|
disabled,
|
|
@@ -94,7 +56,7 @@ const SelectTextbox = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
94
56
|
isOptional,
|
|
95
57
|
onClick: handleTextboxClick,
|
|
96
58
|
onFocus: handleTextboxFocus,
|
|
97
|
-
onBlur
|
|
59
|
+
onBlur,
|
|
98
60
|
labelId,
|
|
99
61
|
type: "text",
|
|
100
62
|
ref,
|
|
@@ -117,22 +79,27 @@ const SelectTextbox = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
117
79
|
}, /*#__PURE__*/_react.default.createElement(_textbox.default, _extends({
|
|
118
80
|
"aria-label": ariaLabel,
|
|
119
81
|
"data-element": "select-input",
|
|
82
|
+
"data-role": "select-textbox",
|
|
120
83
|
inputIcon: "dropdown",
|
|
121
84
|
autoComplete: "off",
|
|
122
85
|
size: size,
|
|
123
86
|
onChange: onChange,
|
|
87
|
+
formattedValue: formattedValue,
|
|
124
88
|
value: hasStringValue ? selectedValue : undefined,
|
|
125
|
-
placeholder: hasTextCursor ? placeholder
|
|
89
|
+
placeholder: hasTextCursor ? placeholder : undefined
|
|
126
90
|
}, inputAriaAttributes, textboxProps, {
|
|
127
91
|
my: 0 // prevents any form spacing being applied
|
|
128
|
-
}), !hasTextCursor && /*#__PURE__*/_react.default.createElement(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
92
|
+
}), !hasTextCursor && /*#__PURE__*/_react.default.createElement(_selectTextbox2.StyledSelectText, _extends({
|
|
93
|
+
"aria-hidden": true,
|
|
94
|
+
"data-element": "select-text",
|
|
95
|
+
"data-role": "select-text",
|
|
132
96
|
disabled: disabled,
|
|
97
|
+
hasPlaceholder: showPlaceholder,
|
|
98
|
+
onClick: disabled || readOnly ? undefined : handleTextboxClick,
|
|
133
99
|
readOnly: readOnly,
|
|
100
|
+
transparent: transparent,
|
|
134
101
|
size: size
|
|
135
|
-
}, restProps))));
|
|
102
|
+
}, restProps), /*#__PURE__*/_react.default.createElement(_selectTextbox2.StyledSelectTextChildrenWrapper, null, showPlaceholder ? placeholder : formattedValue))));
|
|
136
103
|
});
|
|
137
104
|
if (process.env.NODE_ENV !== "production") {
|
|
138
105
|
SelectTextbox.propTypes = {
|
|
@@ -661,7 +628,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
661
628
|
"suppressContentEditableWarning": _propTypes.default.bool,
|
|
662
629
|
"suppressHydrationWarning": _propTypes.default.bool,
|
|
663
630
|
"tabIndex": _propTypes.default.number,
|
|
664
|
-
"textboxRef": _propTypes.default.object,
|
|
665
631
|
"title": _propTypes.default.string,
|
|
666
632
|
"tooltipPosition": _propTypes.default.oneOf(["bottom", "left", "right", "top"]),
|
|
667
633
|
"translate": _propTypes.default.oneOf(["no", "yes"]),
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
interface StyledSelectTextProps extends Pick<
|
|
1
|
+
import { SelectTextboxProps } from "./select-textbox.component";
|
|
2
|
+
interface StyledSelectTextProps extends Required<Pick<SelectTextboxProps, "disabled" | "readOnly" | "transparent" | "size">> {
|
|
3
3
|
hasPlaceholder: boolean;
|
|
4
|
-
size: NonNullable<SelectTextProps["size"]>;
|
|
5
4
|
}
|
|
6
5
|
declare const StyledSelectText: import("styled-components").StyledComponent<"span", any, StyledSelectTextProps, never>;
|
|
7
6
|
declare const StyledSelectTextChildrenWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
@@ -66,5 +66,5 @@ export interface FilterableSelectProps extends Omit<FormInputPropTypes, "default
|
|
|
66
66
|
/** Flag to configure component as mandatory */
|
|
67
67
|
required?: boolean;
|
|
68
68
|
}
|
|
69
|
-
export declare const FilterableSelect: React.ForwardRefExoticComponent<FilterableSelectProps & React.RefAttributes<
|
|
69
|
+
export declare const FilterableSelect: React.ForwardRefExoticComponent<FilterableSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
70
70
|
export default FilterableSelect;
|
|
@@ -373,10 +373,9 @@ const FilterableSelect = exports.FilterableSelect = /*#__PURE__*/_react.default.
|
|
|
373
373
|
onListAction?.();
|
|
374
374
|
}
|
|
375
375
|
const assignInput = (0, _react.useCallback)(element => {
|
|
376
|
+
if (!element) return;
|
|
376
377
|
setTextboxRef(element);
|
|
377
|
-
if (!ref)
|
|
378
|
-
return;
|
|
379
|
-
}
|
|
378
|
+
if (!ref) return;
|
|
380
379
|
if (typeof ref === "function") {
|
|
381
380
|
ref(element);
|
|
382
381
|
} else {
|
|
@@ -390,7 +389,6 @@ const FilterableSelect = exports.FilterableSelect = /*#__PURE__*/_react.default.
|
|
|
390
389
|
label,
|
|
391
390
|
disabled,
|
|
392
391
|
readOnly,
|
|
393
|
-
ref: assignInput,
|
|
394
392
|
selectedValue,
|
|
395
393
|
formattedValue: textValue,
|
|
396
394
|
onClick: handleTextboxClick,
|
|
@@ -425,7 +423,6 @@ const FilterableSelect = exports.FilterableSelect = /*#__PURE__*/_react.default.
|
|
|
425
423
|
onListScrollBottom,
|
|
426
424
|
tableHeader,
|
|
427
425
|
multiColumn,
|
|
428
|
-
loaderDataRole: "filterable-select-list-loader",
|
|
429
426
|
listPlacement,
|
|
430
427
|
flipEnabled,
|
|
431
428
|
isOpen,
|
|
@@ -445,14 +442,14 @@ const FilterableSelect = exports.FilterableSelect = /*#__PURE__*/_react.default.
|
|
|
445
442
|
}, marginProps), /*#__PURE__*/_react.default.createElement("div", {
|
|
446
443
|
ref: containerRef
|
|
447
444
|
}, /*#__PURE__*/_react.default.createElement(_selectTextbox.default, _extends({
|
|
445
|
+
ref: assignInput,
|
|
448
446
|
activeDescendantId: activeDescendantId,
|
|
449
447
|
ariaLabel: ariaLabel,
|
|
450
448
|
ariaLabelledby: ariaLabelledby,
|
|
451
449
|
labelId: label ? labelId : undefined,
|
|
452
450
|
"aria-controls": selectListId.current,
|
|
453
451
|
isOpen: isOpen,
|
|
454
|
-
hasTextCursor: true
|
|
455
|
-
textboxRef: textboxRef
|
|
452
|
+
hasTextCursor: true
|
|
456
453
|
}, getTextboxProps()))), selectList);
|
|
457
454
|
});
|
|
458
455
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -58,5 +58,5 @@ export interface MultiSelectProps extends Omit<FormInputPropTypes, "defaultValue
|
|
|
58
58
|
/** Flag to configure component as optional. */
|
|
59
59
|
isOptional?: boolean;
|
|
60
60
|
}
|
|
61
|
-
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<
|
|
61
|
+
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
62
62
|
export default MultiSelect;
|
|
@@ -395,10 +395,9 @@ const MultiSelect = exports.MultiSelect = /*#__PURE__*/_react.default.forwardRef
|
|
|
395
395
|
setFilterText("");
|
|
396
396
|
}, []);
|
|
397
397
|
const assignInput = (0, _react.useCallback)(element => {
|
|
398
|
+
if (!element) return;
|
|
398
399
|
setTextboxRef(element);
|
|
399
|
-
if (!ref)
|
|
400
|
-
return;
|
|
401
|
-
}
|
|
400
|
+
if (!ref) return;
|
|
402
401
|
if (typeof ref === "function") {
|
|
403
402
|
ref(element);
|
|
404
403
|
} else {
|
|
@@ -414,7 +413,6 @@ const MultiSelect = exports.MultiSelect = /*#__PURE__*/_react.default.forwardRef
|
|
|
414
413
|
readOnly,
|
|
415
414
|
placeholder: placeholderOverride,
|
|
416
415
|
leftChildren: mapValuesToPills,
|
|
417
|
-
ref: assignInput,
|
|
418
416
|
formattedValue: textValue,
|
|
419
417
|
selectedValue: actualValue,
|
|
420
418
|
onClick: handleTextboxClick,
|
|
@@ -449,7 +447,6 @@ const MultiSelect = exports.MultiSelect = /*#__PURE__*/_react.default.forwardRef
|
|
|
449
447
|
listPlacement: listPlacement,
|
|
450
448
|
listMaxHeight: listMaxHeight,
|
|
451
449
|
flipEnabled: flipEnabled,
|
|
452
|
-
loaderDataRole: "multi-select-list-loader",
|
|
453
450
|
multiselectValues: actualValue,
|
|
454
451
|
isOpen: isOpen,
|
|
455
452
|
enableVirtualScroll: enableVirtualScroll,
|
|
@@ -471,6 +468,7 @@ const MultiSelect = exports.MultiSelect = /*#__PURE__*/_react.default.forwardRef
|
|
|
471
468
|
"data-element": "accessibility-label",
|
|
472
469
|
id: accessibilityLabelId.current
|
|
473
470
|
}, accessibilityLabel), /*#__PURE__*/_react.default.createElement(_selectTextbox.default, _extends({
|
|
471
|
+
ref: assignInput,
|
|
474
472
|
accessibilityLabelId: accessibilityLabelId.current,
|
|
475
473
|
activeDescendantId: activeDescendantId,
|
|
476
474
|
"aria-controls": selectListId.current,
|
|
@@ -478,8 +476,7 @@ const MultiSelect = exports.MultiSelect = /*#__PURE__*/_react.default.forwardRef
|
|
|
478
476
|
ariaLabelledby: ariaLabelledby,
|
|
479
477
|
hasTextCursor: true,
|
|
480
478
|
isOpen: isOpen,
|
|
481
|
-
labelId: labelId
|
|
482
|
-
textboxRef: textboxRef
|
|
479
|
+
labelId: labelId
|
|
483
480
|
}, getTextboxProps()))), selectList);
|
|
484
481
|
});
|
|
485
482
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -66,5 +66,5 @@ export interface SimpleSelectProps extends Omit<FormInputPropTypes, "defaultValu
|
|
|
66
66
|
/** Flag to configure component as mandatory */
|
|
67
67
|
isRequired?: boolean;
|
|
68
68
|
}
|
|
69
|
-
export declare const SimpleSelect: React.ForwardRefExoticComponent<SimpleSelectProps & React.RefAttributes<
|
|
69
|
+
export declare const SimpleSelect: React.ForwardRefExoticComponent<SimpleSelectProps & React.RefAttributes<HTMLInputElement>>;
|
|
70
70
|
export default SimpleSelect;
|
|
@@ -291,10 +291,9 @@ const SimpleSelect = exports.SimpleSelect = /*#__PURE__*/_react.default.forwardR
|
|
|
291
291
|
setOpenState(false);
|
|
292
292
|
}, []);
|
|
293
293
|
const assignInput = (0, _react.useCallback)(element => {
|
|
294
|
+
if (!element) return;
|
|
294
295
|
setTextboxRef(element);
|
|
295
|
-
if (!ref)
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
296
|
+
if (!ref) return;
|
|
298
297
|
if (typeof ref === "function") {
|
|
299
298
|
ref(element);
|
|
300
299
|
} else {
|
|
@@ -307,7 +306,6 @@ const SimpleSelect = exports.SimpleSelect = /*#__PURE__*/_react.default.forwardR
|
|
|
307
306
|
name,
|
|
308
307
|
disabled,
|
|
309
308
|
readOnly,
|
|
310
|
-
ref: assignInput,
|
|
311
309
|
selectedValue,
|
|
312
310
|
formattedValue: textValue,
|
|
313
311
|
onClick: handleTextboxClick,
|
|
@@ -339,7 +337,6 @@ const SimpleSelect = exports.SimpleSelect = /*#__PURE__*/_react.default.forwardR
|
|
|
339
337
|
onListScrollBottom: onListScrollBottom,
|
|
340
338
|
tableHeader: tableHeader,
|
|
341
339
|
multiColumn: multiColumn,
|
|
342
|
-
loaderDataRole: "simple-select-list-loader",
|
|
343
340
|
listPlacement: listPlacement,
|
|
344
341
|
flipEnabled: flipEnabled,
|
|
345
342
|
isOpen: isOpen,
|
|
@@ -358,12 +355,12 @@ const SimpleSelect = exports.SimpleSelect = /*#__PURE__*/_react.default.forwardR
|
|
|
358
355
|
}, marginProps), /*#__PURE__*/_react.default.createElement("div", {
|
|
359
356
|
ref: containerRef
|
|
360
357
|
}, /*#__PURE__*/_react.default.createElement(_selectTextbox.default, _extends({
|
|
358
|
+
ref: assignInput,
|
|
361
359
|
ariaLabel: ariaLabel,
|
|
362
360
|
"aria-controls": selectListId.current,
|
|
363
361
|
activeDescendantId: activeDescendantId,
|
|
364
362
|
ariaLabelledby: ariaLabelledby,
|
|
365
|
-
isOpen: isOpen
|
|
366
|
-
textboxRef: textboxRef
|
|
363
|
+
isOpen: isOpen
|
|
367
364
|
}, getTextboxProps()))), selectList);
|
|
368
365
|
});
|
|
369
366
|
if (process.env.NODE_ENV !== "production") {
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from "./select-text.component";
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface SelectTextProps {
|
|
3
|
-
/** If true the Component will be disabled */
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
/** Value to be displayed */
|
|
6
|
-
formattedValue?: string;
|
|
7
|
-
/** Callback function for when the component is clicked. */
|
|
8
|
-
onClick?: (ev: React.MouseEvent<HTMLElement>) => void;
|
|
9
|
-
/** Callback function for when the key is pressed when focused on Select Text. */
|
|
10
|
-
/** Callback function for when the left mouse key is pressed when focused on Select Text. */
|
|
11
|
-
onMouseDown?: (ev: React.MouseEvent<HTMLElement>) => void;
|
|
12
|
-
/** Placeholder string to be displayed when formattedValue is empty */
|
|
13
|
-
placeholder?: string;
|
|
14
|
-
/** If true the Component will be read-only */
|
|
15
|
-
readOnly?: boolean;
|
|
16
|
-
/** If true the component has no border and a transparent background */
|
|
17
|
-
transparent?: boolean;
|
|
18
|
-
/** Component size */
|
|
19
|
-
size?: "small" | "medium" | "large";
|
|
20
|
-
}
|
|
21
|
-
declare const SelectText: ({ disabled, formattedValue, onClick, onMouseDown, placeholder, readOnly, transparent, size, }: SelectTextProps) => React.JSX.Element;
|
|
22
|
-
export default SelectText;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import PropTypes from "prop-types";
|
|
3
|
-
import { StyledSelectText, StyledSelectTextChildrenWrapper } from "./select-text.style";
|
|
4
|
-
const SelectText = ({
|
|
5
|
-
disabled,
|
|
6
|
-
formattedValue = "",
|
|
7
|
-
onClick,
|
|
8
|
-
onMouseDown,
|
|
9
|
-
placeholder,
|
|
10
|
-
readOnly,
|
|
11
|
-
transparent,
|
|
12
|
-
size = "medium"
|
|
13
|
-
}) => {
|
|
14
|
-
const hasPlaceholder = !disabled && !readOnly && !formattedValue;
|
|
15
|
-
return /*#__PURE__*/React.createElement(StyledSelectText, {
|
|
16
|
-
"aria-hidden": true,
|
|
17
|
-
"data-element": "select-text",
|
|
18
|
-
disabled: disabled,
|
|
19
|
-
hasPlaceholder: hasPlaceholder,
|
|
20
|
-
onClick: onClick,
|
|
21
|
-
onMouseDown: onMouseDown,
|
|
22
|
-
readOnly: readOnly,
|
|
23
|
-
transparent: transparent,
|
|
24
|
-
size: size
|
|
25
|
-
}, /*#__PURE__*/React.createElement(StyledSelectTextChildrenWrapper, null, hasPlaceholder ? placeholder : formattedValue));
|
|
26
|
-
};
|
|
27
|
-
export default SelectText;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "default", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _selectText.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _selectText = _interopRequireDefault(require("./select-text.component"));
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface SelectTextProps {
|
|
3
|
-
/** If true the Component will be disabled */
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
/** Value to be displayed */
|
|
6
|
-
formattedValue?: string;
|
|
7
|
-
/** Callback function for when the component is clicked. */
|
|
8
|
-
onClick?: (ev: React.MouseEvent<HTMLElement>) => void;
|
|
9
|
-
/** Callback function for when the key is pressed when focused on Select Text. */
|
|
10
|
-
/** Callback function for when the left mouse key is pressed when focused on Select Text. */
|
|
11
|
-
onMouseDown?: (ev: React.MouseEvent<HTMLElement>) => void;
|
|
12
|
-
/** Placeholder string to be displayed when formattedValue is empty */
|
|
13
|
-
placeholder?: string;
|
|
14
|
-
/** If true the Component will be read-only */
|
|
15
|
-
readOnly?: boolean;
|
|
16
|
-
/** If true the component has no border and a transparent background */
|
|
17
|
-
transparent?: boolean;
|
|
18
|
-
/** Component size */
|
|
19
|
-
size?: "small" | "medium" | "large";
|
|
20
|
-
}
|
|
21
|
-
declare const SelectText: ({ disabled, formattedValue, onClick, onMouseDown, placeholder, readOnly, transparent, size, }: SelectTextProps) => React.JSX.Element;
|
|
22
|
-
export default SelectText;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _selectText = require("./select-text.style");
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
const SelectText = ({
|
|
12
|
-
disabled,
|
|
13
|
-
formattedValue = "",
|
|
14
|
-
onClick,
|
|
15
|
-
onMouseDown,
|
|
16
|
-
placeholder,
|
|
17
|
-
readOnly,
|
|
18
|
-
transparent,
|
|
19
|
-
size = "medium"
|
|
20
|
-
}) => {
|
|
21
|
-
const hasPlaceholder = !disabled && !readOnly && !formattedValue;
|
|
22
|
-
return /*#__PURE__*/_react.default.createElement(_selectText.StyledSelectText, {
|
|
23
|
-
"aria-hidden": true,
|
|
24
|
-
"data-element": "select-text",
|
|
25
|
-
disabled: disabled,
|
|
26
|
-
hasPlaceholder: hasPlaceholder,
|
|
27
|
-
onClick: onClick,
|
|
28
|
-
onMouseDown: onMouseDown,
|
|
29
|
-
readOnly: readOnly,
|
|
30
|
-
transparent: transparent,
|
|
31
|
-
size: size
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement(_selectText.StyledSelectTextChildrenWrapper, null, hasPlaceholder ? placeholder : formattedValue));
|
|
33
|
-
};
|
|
34
|
-
var _default = exports.default = SelectText;
|
|
File without changes
|