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.
Files changed (38) hide show
  1. package/esm/components/menu/__internal__/submenu/submenu.style.js +0 -1
  2. package/esm/components/pager/pager.style.js +1 -1
  3. package/esm/components/select/__internal__/select-list/select-list.component.d.ts +0 -2
  4. package/esm/components/select/__internal__/select-list/select-list.component.js +3 -8
  5. package/esm/components/select/__internal__/select-textbox/select-textbox.component.d.ts +1 -3
  6. package/esm/components/select/__internal__/select-textbox/select-textbox.component.js +24 -56
  7. package/esm/components/select/__internal__/{select-text/select-text.style.d.ts → select-textbox/select-textbox.style.d.ts} +2 -3
  8. package/esm/components/select/filterable-select/filterable-select.component.d.ts +1 -1
  9. package/esm/components/select/filterable-select/filterable-select.component.js +4 -7
  10. package/esm/components/select/multi-select/multi-select.component.d.ts +1 -1
  11. package/esm/components/select/multi-select/multi-select.component.js +4 -7
  12. package/esm/components/select/simple-select/simple-select.component.d.ts +1 -1
  13. package/esm/components/select/simple-select/simple-select.component.js +4 -7
  14. package/lib/components/menu/__internal__/submenu/submenu.style.js +0 -1
  15. package/lib/components/pager/pager.style.js +2 -2
  16. package/lib/components/select/__internal__/select-list/select-list.component.d.ts +0 -2
  17. package/lib/components/select/__internal__/select-list/select-list.component.js +3 -8
  18. package/lib/components/select/__internal__/select-textbox/select-textbox.component.d.ts +1 -3
  19. package/lib/components/select/__internal__/select-textbox/select-textbox.component.js +24 -58
  20. package/lib/components/select/__internal__/{select-text/select-text.style.d.ts → select-textbox/select-textbox.style.d.ts} +2 -3
  21. package/lib/components/select/filterable-select/filterable-select.component.d.ts +1 -1
  22. package/lib/components/select/filterable-select/filterable-select.component.js +4 -7
  23. package/lib/components/select/multi-select/multi-select.component.d.ts +1 -1
  24. package/lib/components/select/multi-select/multi-select.component.js +4 -7
  25. package/lib/components/select/simple-select/simple-select.component.d.ts +1 -1
  26. package/lib/components/select/simple-select/simple-select.component.js +4 -7
  27. package/package.json +1 -1
  28. package/esm/components/select/__internal__/select-text/index.d.ts +0 -2
  29. package/esm/components/select/__internal__/select-text/index.js +0 -1
  30. package/esm/components/select/__internal__/select-text/select-text.component.d.ts +0 -22
  31. package/esm/components/select/__internal__/select-text/select-text.component.js +0 -27
  32. package/lib/components/select/__internal__/select-text/index.d.ts +0 -2
  33. package/lib/components/select/__internal__/select-text/index.js +0 -13
  34. package/lib/components/select/__internal__/select-text/package.json +0 -6
  35. package/lib/components/select/__internal__/select-text/select-text.component.d.ts +0 -22
  36. package/lib/components/select/__internal__/select-text/select-text.component.js +0 -34
  37. /package/esm/components/select/__internal__/{select-text/select-text.style.js → select-textbox/select-textbox.style.js} +0 -0
  38. /package/lib/components/select/__internal__/{select-text/select-text.style.js → select-textbox/select-textbox.style.js} +0 -0
@@ -54,7 +54,6 @@ const StyledSubmenu = styled.ul`
54
54
  min-width: 100%;
55
55
 
56
56
  ${submenuMaxWidth && css`
57
- min-width: ${submenuMaxWidth};
58
57
  max-width: ${submenuMaxWidth};
59
58
 
60
59
  &&& {
@@ -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-text/select-text.style";
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, { useMemo } from "react";
2
+ import React from "react";
3
3
  import PropTypes from "prop-types";
4
- import { offset, size as sizeMiddleware } from "@floating-ui/dom";
5
- import useFloating from "../../../../hooks/__internal__/useFloating";
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
- return;
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: handleTextboxBlur,
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 || l.select.placeholder() : undefined
82
+ placeholder: hasTextCursor ? placeholder : undefined
117
83
  }, inputAriaAttributes, textboxProps, {
118
84
  my: 0 // prevents any form spacing being applied
119
- }), !hasTextCursor && /*#__PURE__*/React.createElement(SelectText, _extends({
120
- transparent: transparent,
121
- placeholder: placeholder || l.select.placeholder(),
122
- onClick: disabled || readOnly ? undefined : handleTextboxClick,
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 { SelectTextProps } from ".";
2
- interface StyledSelectTextProps extends Pick<SelectTextProps, "disabled" | "readOnly" | "transparent"> {
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<unknown>>;
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<unknown>>;
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<unknown>>;
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") {
@@ -63,7 +63,6 @@ const StyledSubmenu = exports.StyledSubmenu = _styledComponents.default.ul`
63
63
  min-width: 100%;
64
64
 
65
65
  ${submenuMaxWidth && (0, _styledComponents.css)`
66
- min-width: ${submenuMaxWidth};
67
66
  max-width: ${submenuMaxWidth};
68
67
 
69
68
  &&& {
@@ -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 _selectText = require("../select/__internal__/select-text/select-text.style");
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
- ${_selectText.StyledSelectText} {
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 = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _dom = require("@floating-ui/dom");
10
- var _useFloating = _interopRequireDefault(require("../../../../hooks/__internal__/useFloating"));
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
- return;
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: handleTextboxBlur,
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 || l.select.placeholder() : undefined
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(_selectText.default, _extends({
129
- transparent: transparent,
130
- placeholder: placeholder || l.select.placeholder(),
131
- onClick: disabled || readOnly ? undefined : handleTextboxClick,
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 { SelectTextProps } from ".";
2
- interface StyledSelectTextProps extends Pick<SelectTextProps, "disabled" | "readOnly" | "transparent"> {
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<unknown>>;
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<unknown>>;
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<unknown>>;
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,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "142.4.0",
3
+ "version": "142.4.1",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",
@@ -1,2 +0,0 @@
1
- export { default } from "./select-text.component";
2
- export type { SelectTextProps } from "./select-text.component";
@@ -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,2 +0,0 @@
1
- export { default } from "./select-text.component";
2
- export type { SelectTextProps } from "./select-text.component";
@@ -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,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "../../../../../esm/components/select/__internal__/select-text/index.js",
4
- "main": "./index.js",
5
- "types": "./index.d.ts"
6
- }
@@ -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;