@carbon/react 1.62.0 → 1.63.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1066 -1025
- package/es/components/Checkbox/Checkbox.js +2 -3
- package/es/components/CheckboxGroup/CheckboxGroup.js +2 -3
- package/es/components/ComboBox/ComboBox.js +4 -3
- package/es/components/DataTable/DataTable.js +1 -1
- package/es/components/DataTable/TableSelectRow.js +3 -2
- package/es/components/DataTable/TableToolbarSearch.js +3 -4
- package/es/components/DatePickerInput/DatePickerInput.js +2 -3
- package/es/components/Dropdown/Dropdown.js +8 -12
- package/es/components/FluidSearch/FluidSearch.Skeleton.js +40 -0
- package/es/components/FluidSearch/FluidSearch.js +96 -0
- package/es/components/Menu/Menu.js +1 -0
- package/es/components/Modal/Modal.js +2 -3
- package/es/components/MultiSelect/FilterableMultiSelect.js +10 -7
- package/es/components/MultiSelect/MultiSelect.js +10 -10
- package/es/components/Pagination/experimental/PageSelector.js +2 -3
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +2 -5
- package/es/components/Select/Select.js +3 -6
- package/es/components/Tabs/Tabs.js +4 -2
- package/es/components/Tag/DismissibleTag.js +2 -3
- package/es/components/Tag/OperationalTag.js +2 -3
- package/es/components/Tag/SelectableTag.js +2 -3
- package/es/components/Tag/Tag.js +3 -5
- package/es/components/TextArea/TextArea.js +32 -6
- package/es/components/TextInput/ControlledPasswordInput.js +3 -6
- package/es/components/TextInput/TextInput.js +29 -2
- package/es/index.d.ts +1 -0
- package/es/index.js +2 -0
- package/es/internal/useAnnouncer.js +8 -3
- package/lib/components/Checkbox/Checkbox.js +2 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +2 -3
- package/lib/components/ComboBox/ComboBox.js +4 -3
- package/lib/components/DataTable/DataTable.js +1 -1
- package/lib/components/DataTable/TableSelectRow.js +2 -1
- package/lib/components/DataTable/TableToolbarSearch.js +2 -3
- package/lib/components/DatePickerInput/DatePickerInput.js +2 -3
- package/lib/components/Dropdown/Dropdown.js +7 -11
- package/lib/components/FluidSearch/FluidSearch.Skeleton.js +50 -0
- package/lib/components/FluidSearch/FluidSearch.js +106 -0
- package/lib/components/Menu/Menu.js +1 -0
- package/lib/components/Modal/Modal.js +2 -3
- package/lib/components/MultiSelect/FilterableMultiSelect.js +9 -6
- package/lib/components/MultiSelect/MultiSelect.js +9 -9
- package/lib/components/Pagination/experimental/PageSelector.js +2 -3
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -5
- package/lib/components/Select/Select.js +2 -5
- package/lib/components/Tabs/Tabs.js +4 -2
- package/lib/components/Tag/DismissibleTag.js +2 -3
- package/lib/components/Tag/OperationalTag.js +2 -3
- package/lib/components/Tag/SelectableTag.js +2 -3
- package/lib/components/Tag/Tag.js +3 -5
- package/lib/components/TextArea/TextArea.js +32 -6
- package/lib/components/TextInput/ControlledPasswordInput.js +2 -5
- package/lib/components/TextInput/TextInput.js +28 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +4 -0
- package/lib/internal/useAnnouncer.js +8 -3
- package/package.json +18 -17
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
13
|
+
var PropTypes = require('prop-types');
|
|
14
|
+
var React = require('react');
|
|
15
|
+
var cx = require('classnames');
|
|
16
|
+
var Search = require('../Search/Search.js');
|
|
17
|
+
require('../Search/Search.Skeleton.js');
|
|
18
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
20
|
+
|
|
21
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
+
|
|
23
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
26
|
+
|
|
27
|
+
const FluidSearch = /*#__PURE__*/React__default["default"].forwardRef(function FluidSearch(_ref, ref) {
|
|
28
|
+
let {
|
|
29
|
+
className,
|
|
30
|
+
...other
|
|
31
|
+
} = _ref;
|
|
32
|
+
const prefix = usePrefix.usePrefix();
|
|
33
|
+
const classNames = cx__default["default"](`${prefix}--search--fluid`, className);
|
|
34
|
+
return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
|
|
35
|
+
value: {
|
|
36
|
+
isFluid: true
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React__default["default"].createElement(Search["default"], _rollupPluginBabelHelpers["extends"]({
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: classNames
|
|
41
|
+
}, other)));
|
|
42
|
+
});
|
|
43
|
+
FluidSearch.propTypes = {
|
|
44
|
+
/**
|
|
45
|
+
* Specify an optional value for the `autocomplete` property on the underlying
|
|
46
|
+
* `<input>`, defaults to "off"
|
|
47
|
+
*/
|
|
48
|
+
autoComplete: PropTypes__default["default"].string,
|
|
49
|
+
/**
|
|
50
|
+
* Specify an optional className to be applied to the container node
|
|
51
|
+
*/
|
|
52
|
+
className: PropTypes__default["default"].string,
|
|
53
|
+
/**
|
|
54
|
+
* Specify a label to be read by screen readers on the "close" button
|
|
55
|
+
*/
|
|
56
|
+
closeButtonLabelText: PropTypes__default["default"].string,
|
|
57
|
+
/**
|
|
58
|
+
* Optionally provide the default value of the `<input>`
|
|
59
|
+
*/
|
|
60
|
+
defaultValue: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
61
|
+
/**
|
|
62
|
+
* Specify whether the `<input>` should be disabled
|
|
63
|
+
*/
|
|
64
|
+
disabled: PropTypes__default["default"].bool,
|
|
65
|
+
/**
|
|
66
|
+
* Specify a custom `id` for the input
|
|
67
|
+
*/
|
|
68
|
+
id: PropTypes__default["default"].string,
|
|
69
|
+
/**
|
|
70
|
+
* Provide the label text for the Search icon
|
|
71
|
+
*/
|
|
72
|
+
labelText: PropTypes__default["default"].node.isRequired,
|
|
73
|
+
/**
|
|
74
|
+
* Optional callback called when the search value changes.
|
|
75
|
+
*/
|
|
76
|
+
onChange: PropTypes__default["default"].func,
|
|
77
|
+
/**
|
|
78
|
+
* Optional callback called when the search value is cleared.
|
|
79
|
+
*/
|
|
80
|
+
onClear: PropTypes__default["default"].func,
|
|
81
|
+
/**
|
|
82
|
+
* Provide a handler that is invoked on the key down event for the input
|
|
83
|
+
*/
|
|
84
|
+
onKeyDown: PropTypes__default["default"].func,
|
|
85
|
+
/**
|
|
86
|
+
* Provide an optional placeholder text for the Search.
|
|
87
|
+
* Note: if the label and placeholder differ,
|
|
88
|
+
* VoiceOver on Mac will read both
|
|
89
|
+
*/
|
|
90
|
+
placeholder: PropTypes__default["default"].string,
|
|
91
|
+
/**
|
|
92
|
+
* Specify the role for the underlying `<input>`, defaults to `searchbox`
|
|
93
|
+
*/
|
|
94
|
+
role: PropTypes__default["default"].string,
|
|
95
|
+
/**
|
|
96
|
+
* Optional prop to specify the type of the `<input>`
|
|
97
|
+
*/
|
|
98
|
+
type: PropTypes__default["default"].string,
|
|
99
|
+
/**
|
|
100
|
+
* Specify the value of the `<input>`
|
|
101
|
+
*/
|
|
102
|
+
value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number])
|
|
103
|
+
};
|
|
104
|
+
var FluidSearch$1 = FluidSearch;
|
|
105
|
+
|
|
106
|
+
exports["default"] = FluidSearch$1;
|
|
@@ -143,6 +143,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(_ref, forwardRef) {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
function focusItem(e) {
|
|
146
|
+
e?.preventDefault();
|
|
146
147
|
const currentItem = focusableItems.findIndex(item => item.ref?.current?.contains(document.activeElement));
|
|
147
148
|
let indexToFocus = currentItem;
|
|
148
149
|
|
|
@@ -24,7 +24,7 @@ var requiredIfGivenPropIsTruthy = require('../../prop-types/requiredIfGivenPropI
|
|
|
24
24
|
var wrapFocus = require('../../internal/wrapFocus.js');
|
|
25
25
|
var debounce = require('lodash.debounce');
|
|
26
26
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
27
|
-
var
|
|
27
|
+
var useId = require('../../internal/useId.js');
|
|
28
28
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
29
29
|
var index$2 = require('../IconButton/index.js');
|
|
30
30
|
var noopFn = require('../../internal/noopFn.js');
|
|
@@ -42,7 +42,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
42
42
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
43
43
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
44
44
|
|
|
45
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
46
45
|
const ModalSizes = ['xs', 'sm', 'md', 'lg'];
|
|
47
46
|
const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_ref, ref) {
|
|
48
47
|
let {
|
|
@@ -87,7 +86,7 @@ const Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_
|
|
|
87
86
|
const startTrap = React.useRef(null);
|
|
88
87
|
const endTrap = React.useRef(null);
|
|
89
88
|
const [isScrollable, setIsScrollable] = React.useState(false);
|
|
90
|
-
const modalInstanceId = `modal-${
|
|
89
|
+
const modalInstanceId = `modal-${useId.useId()}`;
|
|
91
90
|
const modalLabelId = `${prefix}--modal-header__label--${modalInstanceId}`;
|
|
92
91
|
const modalHeadingId = `${prefix}--modal-header__heading--${modalInstanceId}`;
|
|
93
92
|
const modalBodyId = `${prefix}--modal-body--${modalInstanceId}`;
|
|
@@ -472,9 +472,13 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
472
472
|
setInputValue('');
|
|
473
473
|
}
|
|
474
474
|
}));
|
|
475
|
-
|
|
475
|
+
|
|
476
|
+
// Memoize the value of getMenuProps to avoid an infinite loop
|
|
477
|
+
const menuProps = React.useMemo(() => getMenuProps({
|
|
478
|
+
ref: autoAlign ? refs.setFloating : null
|
|
479
|
+
}, {
|
|
476
480
|
suppressRefError: true
|
|
477
|
-
});
|
|
481
|
+
}), [autoAlign]);
|
|
478
482
|
const handleFocus = evt => {
|
|
479
483
|
if (evt?.target.classList.contains(`${prefix}--tag__close-icon`) || evt?.target.classList.contains(`${prefix}--list-box__selection`)) {
|
|
480
484
|
setIsFocused(false);
|
|
@@ -500,6 +504,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
500
504
|
disabled: disabled,
|
|
501
505
|
light: light,
|
|
502
506
|
ref: ref,
|
|
507
|
+
id: id,
|
|
503
508
|
invalid: invalid,
|
|
504
509
|
invalidText: invalidText,
|
|
505
510
|
warn: warn,
|
|
@@ -508,7 +513,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
508
513
|
size: size
|
|
509
514
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
510
515
|
className: `${prefix}--list-box__field`,
|
|
511
|
-
ref: refs.setReference
|
|
516
|
+
ref: autoAlign ? refs.setReference : null
|
|
512
517
|
}, controlledSelectedItems.length > 0 &&
|
|
513
518
|
/*#__PURE__*/
|
|
514
519
|
// @ts-expect-error: It is expecting a non-required prop called: "onClearSelection"
|
|
@@ -549,9 +554,7 @@ const FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
549
554
|
// @ts-expect-error
|
|
550
555
|
isOpen: isOpen,
|
|
551
556
|
translateWithId: translateWithId
|
|
552
|
-
}))), normalizedSlug, /*#__PURE__*/React__default["default"].createElement(index["default"].Menu,
|
|
553
|
-
ref: refs.setFloating
|
|
554
|
-
}), isOpen ? sortedItems.map((item, index$1) => {
|
|
557
|
+
}))), normalizedSlug, /*#__PURE__*/React__default["default"].createElement(index["default"].Menu, menuProps, isOpen ? sortedItems.map((item, index$1) => {
|
|
555
558
|
const isChecked = controlledSelectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
556
559
|
const itemProps = getItemProps({
|
|
557
560
|
item,
|
|
@@ -20,7 +20,7 @@ var index = require('../ListBox/index.js');
|
|
|
20
20
|
var MultiSelectPropTypes = require('./MultiSelectPropTypes.js');
|
|
21
21
|
var sorting = require('./tools/sorting.js');
|
|
22
22
|
var Selection = require('../../internal/Selection.js');
|
|
23
|
-
var
|
|
23
|
+
var useId = require('../../internal/useId.js');
|
|
24
24
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
25
25
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
26
26
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
@@ -39,7 +39,6 @@ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
|
39
39
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
40
40
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
41
41
|
|
|
42
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
43
42
|
const {
|
|
44
43
|
ItemClick,
|
|
45
44
|
ToggleButtonBlur,
|
|
@@ -110,9 +109,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
110
109
|
const {
|
|
111
110
|
isFluid
|
|
112
111
|
} = React.useContext(FormContext.FormContext);
|
|
113
|
-
const
|
|
114
|
-
current: multiSelectInstanceId
|
|
115
|
-
} = React.useRef(getInstanceId());
|
|
112
|
+
const multiSelectInstanceId = useId.useId();
|
|
116
113
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
117
114
|
const [inputFocused, setInputFocused] = React.useState(false);
|
|
118
115
|
const [isOpen, setIsOpen] = React.useState(open || false);
|
|
@@ -406,6 +403,11 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
406
403
|
});
|
|
407
404
|
}
|
|
408
405
|
const itemsSelectedText = selectedItems.length > 0 && selectedItems.map(item => item?.text);
|
|
406
|
+
|
|
407
|
+
// Memoize the value of getMenuProps to avoid an infinite loop
|
|
408
|
+
const menuProps = React.useMemo(() => getMenuProps({
|
|
409
|
+
ref: autoAlign ? refs.setFloating : null
|
|
410
|
+
}), [autoAlign]);
|
|
409
411
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
410
412
|
className: wrapperClasses
|
|
411
413
|
}, /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
|
|
@@ -432,7 +434,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
432
434
|
className: `${prefix}--list-box__invalid-icon ${prefix}--list-box__invalid-icon--warning`
|
|
433
435
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
434
436
|
className: multiSelectFieldWrapperClasses,
|
|
435
|
-
ref: refs.setReference
|
|
437
|
+
ref: autoAlign ? refs.setReference : null
|
|
436
438
|
}, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement(index["default"].Selection, {
|
|
437
439
|
readOnly: readOnly,
|
|
438
440
|
clearSelection: !disabled && !readOnly ? clearSelection : noopFn.noopFn,
|
|
@@ -455,9 +457,7 @@ const MultiSelect = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
|
|
|
455
457
|
}, label), /*#__PURE__*/React__default["default"].createElement(index["default"].MenuIcon, {
|
|
456
458
|
isOpen: isOpen,
|
|
457
459
|
translateWithId: translateWithId
|
|
458
|
-
})), normalizedSlug), /*#__PURE__*/React__default["default"].createElement(index["default"].Menu,
|
|
459
|
-
ref: refs.setFloating
|
|
460
|
-
}), isOpen &&
|
|
460
|
+
})), normalizedSlug), /*#__PURE__*/React__default["default"].createElement(index["default"].Menu, menuProps, isOpen &&
|
|
461
461
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
462
462
|
sortItems(filteredItems, sortOptions).map((item, index$1) => {
|
|
463
463
|
const isChecked = selectedItems.filter(selected => isEqual__default["default"](selected, item)).length > 0;
|
|
@@ -13,7 +13,7 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
|
|
|
13
13
|
var React = require('react');
|
|
14
14
|
var PropTypes = require('prop-types');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var useId = require('../../../internal/useId.js');
|
|
17
17
|
var Select = require('../../Select/Select.js');
|
|
18
18
|
require('../../Select/Select.Skeleton.js');
|
|
19
19
|
var SelectItem = require('../../SelectItem/SelectItem.js');
|
|
@@ -25,7 +25,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
25
25
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
26
26
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
27
27
|
|
|
28
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
29
28
|
function PageSelector(_ref) {
|
|
30
29
|
let {
|
|
31
30
|
className = null,
|
|
@@ -37,7 +36,7 @@ function PageSelector(_ref) {
|
|
|
37
36
|
} = _ref;
|
|
38
37
|
const prefix = usePrefix.usePrefix();
|
|
39
38
|
const namespace = `${prefix}--unstable-pagination__page-selector`;
|
|
40
|
-
const instanceId = `${namespace}__select-${
|
|
39
|
+
const instanceId = `${namespace}__select-${useId.useId()}`;
|
|
41
40
|
const renderPages = total => {
|
|
42
41
|
const pages = [];
|
|
43
42
|
for (let counter = 1; counter <= total; counter += 1) {
|
|
@@ -17,7 +17,7 @@ var index = require('../Text/index.js');
|
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var iconsReact = require('@carbon/icons-react');
|
|
19
19
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
20
|
-
var
|
|
20
|
+
var useId = require('../../internal/useId.js');
|
|
21
21
|
|
|
22
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
23
|
|
|
@@ -25,7 +25,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
25
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
26
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
27
27
|
|
|
28
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
29
28
|
const RadioButtonGroup = /*#__PURE__*/React__default["default"].forwardRef((props, ref) => {
|
|
30
29
|
const {
|
|
31
30
|
children,
|
|
@@ -51,9 +50,7 @@ const RadioButtonGroup = /*#__PURE__*/React__default["default"].forwardRef((prop
|
|
|
51
50
|
const prefix = usePrefix.usePrefix();
|
|
52
51
|
const [selected, setSelected] = React.useState(valueSelected ?? defaultSelected);
|
|
53
52
|
const [prevValueSelected, setPrevValueSelected] = React.useState(valueSelected);
|
|
54
|
-
const
|
|
55
|
-
current: radioButtonGroupInstanceId
|
|
56
|
-
} = React.useRef(getInstanceId());
|
|
53
|
+
const radioButtonGroupInstanceId = useId.useId();
|
|
57
54
|
|
|
58
55
|
/**
|
|
59
56
|
* prop + state alignment - getDerivedStateFromProps
|
|
@@ -18,7 +18,7 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
19
|
require('../FluidForm/FluidForm.js');
|
|
20
20
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
21
|
-
var
|
|
21
|
+
var useId = require('../../internal/useId.js');
|
|
22
22
|
var events = require('../../tools/events.js');
|
|
23
23
|
require('../Text/index.js');
|
|
24
24
|
var Text = require('../Text/Text.js');
|
|
@@ -29,7 +29,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
29
29
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
30
30
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
31
31
|
|
|
32
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
33
32
|
const Select = /*#__PURE__*/React__default["default"].forwardRef(function Select(_ref, ref) {
|
|
34
33
|
let {
|
|
35
34
|
className,
|
|
@@ -60,9 +59,7 @@ const Select = /*#__PURE__*/React__default["default"].forwardRef(function Select
|
|
|
60
59
|
} = React.useContext(FormContext.FormContext);
|
|
61
60
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
62
61
|
const [title, setTitle] = React.useState('');
|
|
63
|
-
const
|
|
64
|
-
current: selectInstanceId
|
|
65
|
-
} = React.useRef(getInstanceId());
|
|
62
|
+
const selectInstanceId = useId.useId();
|
|
66
63
|
const selectClasses = cx__default["default"]({
|
|
67
64
|
[`${prefix}--select`]: true,
|
|
68
65
|
[`${prefix}--select--inline`]: inline,
|
|
@@ -801,8 +801,10 @@ const Tab = /*#__PURE__*/React.forwardRef(function Tab(_ref8, forwardRef) {
|
|
|
801
801
|
React.useLayoutEffect(() => {
|
|
802
802
|
function handler() {
|
|
803
803
|
const elementTabId = document.getElementById(`${id}`) || tabRef.current;
|
|
804
|
-
|
|
805
|
-
|
|
804
|
+
if (elementTabId?.closest(`.${prefix}--tabs--vertical`)) {
|
|
805
|
+
const newElement = elementTabId?.getElementsByClassName(`${prefix}--tabs__nav-item-label`)[0];
|
|
806
|
+
isEllipsisActive(newElement);
|
|
807
|
+
}
|
|
806
808
|
}
|
|
807
809
|
handler();
|
|
808
810
|
window.addEventListener('resize', handler);
|
|
@@ -13,7 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var useId = require('../../internal/useId.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var Tag = require('./Tag.js');
|
|
19
19
|
var iconsReact = require('@carbon/icons-react');
|
|
@@ -30,7 +30,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
30
30
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
31
31
|
|
|
32
32
|
var _Close;
|
|
33
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
34
33
|
const DismissibleTag = _ref => {
|
|
35
34
|
let {
|
|
36
35
|
className,
|
|
@@ -47,7 +46,7 @@ const DismissibleTag = _ref => {
|
|
|
47
46
|
} = _ref;
|
|
48
47
|
const prefix = usePrefix.usePrefix();
|
|
49
48
|
const tagLabelRef = React.useRef();
|
|
50
|
-
const tagId = id || `tag-${
|
|
49
|
+
const tagId = id || `tag-${useId.useId()}`;
|
|
51
50
|
const tagClasses = cx__default["default"](`${prefix}--tag--filter`, className);
|
|
52
51
|
const [isEllipsisApplied, setIsEllipsisApplied] = React.useState(false);
|
|
53
52
|
React.useLayoutEffect(() => {
|
|
@@ -13,7 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var useId = require('../../internal/useId.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var Tag = require('./Tag.js');
|
|
19
19
|
require('../Tooltip/DefinitionTooltip.js');
|
|
@@ -28,7 +28,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
28
28
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
29
29
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
30
30
|
|
|
31
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
32
31
|
const TYPES = {
|
|
33
32
|
red: 'Red',
|
|
34
33
|
magenta: 'Magenta',
|
|
@@ -55,7 +54,7 @@ const OperationalTag = _ref => {
|
|
|
55
54
|
} = _ref;
|
|
56
55
|
const prefix = usePrefix.usePrefix();
|
|
57
56
|
const tagRef = React.useRef();
|
|
58
|
-
const tagId = id || `tag-${
|
|
57
|
+
const tagId = id || `tag-${useId.useId()}`;
|
|
59
58
|
const tagClasses = cx__default["default"](`${prefix}--tag--operational`, className);
|
|
60
59
|
const [isEllipsisApplied, setIsEllipsisApplied] = React.useState(false);
|
|
61
60
|
React.useLayoutEffect(() => {
|
|
@@ -13,7 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var PropTypes = require('prop-types');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
|
-
var
|
|
16
|
+
var useId = require('../../internal/useId.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
18
|
var Tag = require('./Tag.js');
|
|
19
19
|
require('../Tooltip/DefinitionTooltip.js');
|
|
@@ -28,7 +28,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
28
28
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
29
29
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
30
30
|
|
|
31
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
32
31
|
const SelectableTag = _ref => {
|
|
33
32
|
let {
|
|
34
33
|
className,
|
|
@@ -43,7 +42,7 @@ const SelectableTag = _ref => {
|
|
|
43
42
|
} = _ref;
|
|
44
43
|
const prefix = usePrefix.usePrefix();
|
|
45
44
|
const tagRef = React.useRef();
|
|
46
|
-
const tagId = id || `tag-${
|
|
45
|
+
const tagId = id || `tag-${useId.useId()}`;
|
|
47
46
|
const [selectedTag, setSelectedTag] = React.useState(selected);
|
|
48
47
|
const tagClasses = cx__default["default"](`${prefix}--tag--selectable`, className, {
|
|
49
48
|
[`${prefix}--tag--selectable-selected`]: selectedTag
|
|
@@ -14,7 +14,7 @@ var PropTypes = require('prop-types');
|
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
16
|
var iconsReact = require('@carbon/icons-react');
|
|
17
|
-
var
|
|
17
|
+
var useId = require('../../internal/useId.js');
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
19
|
require('../Text/index.js');
|
|
20
20
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
@@ -31,7 +31,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
31
31
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
32
32
|
|
|
33
33
|
var _Close;
|
|
34
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
35
34
|
const TYPES = {
|
|
36
35
|
red: 'Red',
|
|
37
36
|
magenta: 'Magenta',
|
|
@@ -73,7 +72,7 @@ const Tag = /*#__PURE__*/React__default["default"].forwardRef(function Tag(_ref,
|
|
|
73
72
|
const prefix = usePrefix.usePrefix();
|
|
74
73
|
const tagRef = React.useRef();
|
|
75
74
|
const ref = react.useMergeRefs([forwardRef, tagRef]);
|
|
76
|
-
const tagId = id || `tag-${
|
|
75
|
+
const tagId = id || `tag-${useId.useId()}`;
|
|
77
76
|
const [isEllipsisApplied, setIsEllipsisApplied] = React.useState(false);
|
|
78
77
|
React.useLayoutEffect(() => {
|
|
79
78
|
const newElement = tagRef.current?.getElementsByClassName(`${prefix}--tag__label`)[0];
|
|
@@ -127,8 +126,7 @@ const Tag = /*#__PURE__*/React__default["default"].forwardRef(function Tag(_ref,
|
|
|
127
126
|
}
|
|
128
127
|
const ComponentTag = BaseComponent ?? (other.onClick || className?.includes(`${prefix}--tag--operational`) ? 'button' : 'div');
|
|
129
128
|
const labelClasses = cx__default["default"]({
|
|
130
|
-
[`${prefix}--tag__label`]: !isInteractiveTag
|
|
131
|
-
[`${prefix}--tag--${type}`]: type && !isInteractiveTag
|
|
129
|
+
[`${prefix}--tag__label`]: !isInteractiveTag
|
|
132
130
|
});
|
|
133
131
|
return /*#__PURE__*/React__default["default"].createElement(ComponentTag, _rollupPluginBabelHelpers["extends"]({
|
|
134
132
|
ref: ref,
|
|
@@ -21,7 +21,7 @@ var FormContext = require('../FluidForm/FormContext.js');
|
|
|
21
21
|
var useAnnouncer = require('../../internal/useAnnouncer.js');
|
|
22
22
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
23
23
|
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
24
|
-
var
|
|
24
|
+
var useId = require('../../internal/useId.js');
|
|
25
25
|
var noopFn = require('../../internal/noopFn.js');
|
|
26
26
|
require('../Text/index.js');
|
|
27
27
|
var Text = require('../Text/Text.js');
|
|
@@ -32,7 +32,6 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
32
32
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
33
33
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
34
34
|
|
|
35
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
36
35
|
const TextArea = /*#__PURE__*/React__default["default"].forwardRef((props, forwardRef) => {
|
|
37
36
|
const {
|
|
38
37
|
className,
|
|
@@ -65,9 +64,7 @@ const TextArea = /*#__PURE__*/React__default["default"].forwardRef((props, forwa
|
|
|
65
64
|
defaultValue,
|
|
66
65
|
value
|
|
67
66
|
} = other;
|
|
68
|
-
const
|
|
69
|
-
current: textAreaInstanceId
|
|
70
|
-
} = React.useRef(getInstanceId());
|
|
67
|
+
const textAreaInstanceId = useId.useId();
|
|
71
68
|
const textareaRef = React.useRef(null);
|
|
72
69
|
const ref = useMergedRefs.useMergedRefs([forwardRef, textareaRef]);
|
|
73
70
|
function getInitialTextCount() {
|
|
@@ -227,7 +224,33 @@ const TextArea = /*#__PURE__*/React__default["default"].forwardRef((props, forwa
|
|
|
227
224
|
textareaProps.maxLength = maxCount;
|
|
228
225
|
}
|
|
229
226
|
}
|
|
227
|
+
const announcerRef = React.useRef(null);
|
|
228
|
+
const [prevAnnouncement, setPrevAnnouncement] = React.useState('');
|
|
230
229
|
const ariaAnnouncement = useAnnouncer.useAnnouncer(textCount, maxCount, counterMode === 'word' ? 'words' : undefined);
|
|
230
|
+
React.useEffect(() => {
|
|
231
|
+
if (ariaAnnouncement && ariaAnnouncement !== prevAnnouncement) {
|
|
232
|
+
const announcer = announcerRef.current;
|
|
233
|
+
if (announcer) {
|
|
234
|
+
// Clear the content first
|
|
235
|
+
announcer.textContent = '';
|
|
236
|
+
|
|
237
|
+
// Set the new content after a small delay
|
|
238
|
+
const timeoutId = setTimeout(() => {
|
|
239
|
+
if (announcer) {
|
|
240
|
+
announcer.textContent = ariaAnnouncement;
|
|
241
|
+
setPrevAnnouncement(ariaAnnouncement);
|
|
242
|
+
}
|
|
243
|
+
}, counterMode === 'word' ? 2000 : 1000);
|
|
244
|
+
|
|
245
|
+
//clear the timeout
|
|
246
|
+
return () => {
|
|
247
|
+
if (timeoutId) {
|
|
248
|
+
clearTimeout(timeoutId);
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}, [ariaAnnouncement, prevAnnouncement, counterMode]);
|
|
231
254
|
const input = /*#__PURE__*/React__default["default"].createElement("textarea", _rollupPluginBabelHelpers["extends"]({}, other, textareaProps, {
|
|
232
255
|
placeholder: placeholder,
|
|
233
256
|
"aria-readonly": other.readOnly ? true : false,
|
|
@@ -260,7 +283,10 @@ const TextArea = /*#__PURE__*/React__default["default"].forwardRef((props, forwa
|
|
|
260
283
|
className: `${prefix}--text-area__invalid-icon ${prefix}--text-area__invalid-icon--warning`
|
|
261
284
|
}), input, normalizedSlug, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
262
285
|
className: `${prefix}--text-area__counter-alert`,
|
|
263
|
-
role: "alert"
|
|
286
|
+
role: "alert",
|
|
287
|
+
"aria-live": "assertive",
|
|
288
|
+
"aria-atomic": "true",
|
|
289
|
+
ref: announcerRef
|
|
264
290
|
}, ariaAnnouncement), isFluid && /*#__PURE__*/React__default["default"].createElement("hr", {
|
|
265
291
|
className: `${prefix}--text-area__divider`
|
|
266
292
|
}), isFluid && invalid ? error : null, isFluid && warn && !invalid ? warning : null), !invalid && !warn && !isFluid ? helper : null, invalid && !isFluid ? error : null, warn && !invalid && !isFluid ? warning : null);
|
|
@@ -18,7 +18,7 @@ var util = require('./util.js');
|
|
|
18
18
|
var warning = require('../../internal/warning.js');
|
|
19
19
|
var deprecate = require('../../prop-types/deprecate.js');
|
|
20
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
21
|
-
var
|
|
21
|
+
var useId = require('../../internal/useId.js');
|
|
22
22
|
var noopFn = require('../../internal/noopFn.js');
|
|
23
23
|
|
|
24
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -27,7 +27,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
27
27
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
28
28
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
29
29
|
|
|
30
|
-
const getInstanceId = setupGetInstanceId["default"]();
|
|
31
30
|
let didWarnAboutDeprecation = false;
|
|
32
31
|
const ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRef(function ControlledPasswordInput(_ref, ref) {
|
|
33
32
|
let {
|
|
@@ -55,9 +54,7 @@ const ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRe
|
|
|
55
54
|
...other
|
|
56
55
|
} = _ref;
|
|
57
56
|
const prefix = usePrefix.usePrefix();
|
|
58
|
-
const
|
|
59
|
-
current: controlledPasswordInstanceId
|
|
60
|
-
} = React.useRef(getInstanceId());
|
|
57
|
+
const controlledPasswordInstanceId = useId.useId();
|
|
61
58
|
if (process.env.NODE_ENV !== "production") {
|
|
62
59
|
process.env.NODE_ENV !== "production" ? warning.warning(didWarnAboutDeprecation, '`<TextInput.ControlledPasswordInput>` has been deprecated in favor of `<TextInput.PasswordInput />` and will be removed in the next major release of `carbon-components-react`') : void 0;
|
|
63
60
|
didWarnAboutDeprecation = true;
|
|
@@ -162,7 +162,31 @@ const TextInput = /*#__PURE__*/React__default["default"].forwardRef(function Tex
|
|
|
162
162
|
const {
|
|
163
163
|
isFluid
|
|
164
164
|
} = React.useContext(FormContext.FormContext);
|
|
165
|
+
const announcerRef = React.useRef(null);
|
|
166
|
+
const [prevAnnouncement, setPrevAnnouncement] = React.useState('');
|
|
165
167
|
const ariaAnnouncement = useAnnouncer.useAnnouncer(textCount, maxCount);
|
|
168
|
+
React.useEffect(() => {
|
|
169
|
+
if (ariaAnnouncement && ariaAnnouncement !== prevAnnouncement) {
|
|
170
|
+
const announcer = announcerRef.current;
|
|
171
|
+
if (announcer) {
|
|
172
|
+
// Clear the content first
|
|
173
|
+
announcer.textContent = '';
|
|
174
|
+
// Set the new content after a small delay
|
|
175
|
+
const timeoutId = setTimeout(() => {
|
|
176
|
+
if (announcer) {
|
|
177
|
+
announcer.textContent = ariaAnnouncement;
|
|
178
|
+
setPrevAnnouncement(ariaAnnouncement);
|
|
179
|
+
}
|
|
180
|
+
}, 1000);
|
|
181
|
+
// clear the timeout
|
|
182
|
+
return () => {
|
|
183
|
+
if (timeoutId) {
|
|
184
|
+
clearTimeout(timeoutId);
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}, [ariaAnnouncement, prevAnnouncement]);
|
|
166
190
|
const Icon = normalizedProps.icon;
|
|
167
191
|
|
|
168
192
|
// Slug is always size `mini`
|
|
@@ -185,7 +209,10 @@ const TextInput = /*#__PURE__*/React__default["default"].forwardRef(function Tex
|
|
|
185
209
|
className: iconClasses
|
|
186
210
|
}), input, normalizedSlug, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
187
211
|
className: `${prefix}--text-input__counter-alert`,
|
|
188
|
-
role: "alert"
|
|
212
|
+
role: "alert",
|
|
213
|
+
"aria-live": "assertive",
|
|
214
|
+
"aria-atomic": "true",
|
|
215
|
+
ref: announcerRef
|
|
189
216
|
}, ariaAnnouncement), isFluid && /*#__PURE__*/React__default["default"].createElement("hr", {
|
|
190
217
|
className: `${prefix}--text-input__divider`
|
|
191
218
|
}), isFluid && !inline && normalizedProps.validation), !isFluid && !inline && (normalizedProps.validation || helper)));
|
package/lib/index.d.ts
CHANGED
|
@@ -102,6 +102,7 @@ export { FluidDatePickerInput as unstable__FluidDatePickerInput } from './compon
|
|
|
102
102
|
export { FluidDropdown as unstable__FluidDropdown, FluidDropdownSkeleton as unstable__FluidDropdownSkeleton, } from './components/FluidDropdown';
|
|
103
103
|
export { FluidMultiSelect as unstable__FluidMultiSelect, FluidMultiSelectSkeleton as unstable__FluidMultiSelectSkeleton, } from './components/FluidMultiSelect';
|
|
104
104
|
export { FluidSelect as unstable__FluidSelect, FluidSelectSkeleton as unstable__FluidSelectSkeleton, } from './components/FluidSelect';
|
|
105
|
+
export { FluidSearch as unstable__FluidSearch, FluidSearchSkeleton as unstable__FluidSearchSkeleton, } from './components/FluidSearch';
|
|
105
106
|
export { FluidTextArea as unstable__FluidTextArea, FluidTextAreaSkeleton as unstable__FluidTextAreaSkeleton, } from './components/FluidTextArea';
|
|
106
107
|
export { FluidTextInput as unstable__FluidTextInput, FluidTextInputSkeleton as unstable__FluidTextInputSkeleton, } from './components/FluidTextInput';
|
|
107
108
|
export { FluidTimePicker as unstable__FluidTimePicker, FluidTimePickerSkeleton as unstable__FluidTimePickerSkeleton, } from './components/FluidTimePicker';
|
package/lib/index.js
CHANGED
|
@@ -179,6 +179,7 @@ var index$g = require('./components/Theme/index.js');
|
|
|
179
179
|
var usePrefix = require('./internal/usePrefix.js');
|
|
180
180
|
var useIdPrefix = require('./internal/useIdPrefix.js');
|
|
181
181
|
var FluidDatePicker_Skeleton = require('./components/FluidDatePicker/FluidDatePicker.Skeleton.js');
|
|
182
|
+
var FluidSearch_Skeleton = require('./components/FluidSearch/FluidSearch.Skeleton.js');
|
|
182
183
|
var FluidTextArea = require('./components/FluidTextArea/FluidTextArea.js');
|
|
183
184
|
var FluidTextArea_Skeleton = require('./components/FluidTextArea/FluidTextArea.Skeleton.js');
|
|
184
185
|
var FluidTextInput = require('./components/FluidTextInput/FluidTextInput.js');
|
|
@@ -202,6 +203,7 @@ var FluidMultiSelect = require('./components/FluidMultiSelect/FluidMultiSelect.j
|
|
|
202
203
|
var FluidMultiSelect_Skeleton = require('./components/FluidMultiSelect/FluidMultiSelect.Skeleton.js');
|
|
203
204
|
var FluidSelect = require('./components/FluidSelect/FluidSelect.js');
|
|
204
205
|
var FluidSelect_Skeleton = require('./components/FluidSelect/FluidSelect.Skeleton.js');
|
|
206
|
+
var FluidSearch = require('./components/FluidSearch/FluidSearch.js');
|
|
205
207
|
var FluidTimePicker = require('./components/FluidTimePicker/FluidTimePicker.js');
|
|
206
208
|
var FluidTimePicker_Skeleton = require('./components/FluidTimePicker/FluidTimePicker.Skeleton.js');
|
|
207
209
|
var FluidTimePickerSelect = require('./components/FluidTimePickerSelect/FluidTimePickerSelect.js');
|
|
@@ -453,6 +455,7 @@ exports.PrefixContext = usePrefix.PrefixContext;
|
|
|
453
455
|
exports.usePrefix = usePrefix.usePrefix;
|
|
454
456
|
exports.useIdPrefix = useIdPrefix.useIdPrefix;
|
|
455
457
|
exports.unstable__FluidDatePickerSkeleton = FluidDatePicker_Skeleton["default"];
|
|
458
|
+
exports.unstable__FluidSearchSkeleton = FluidSearch_Skeleton["default"];
|
|
456
459
|
exports.unstable__FluidTextArea = FluidTextArea["default"];
|
|
457
460
|
exports.unstable__FluidTextAreaSkeleton = FluidTextArea_Skeleton["default"];
|
|
458
461
|
exports.unstable__FluidTextInput = FluidTextInput["default"];
|
|
@@ -476,6 +479,7 @@ exports.unstable__FluidMultiSelect = FluidMultiSelect["default"];
|
|
|
476
479
|
exports.unstable__FluidMultiSelectSkeleton = FluidMultiSelect_Skeleton["default"];
|
|
477
480
|
exports.unstable__FluidSelect = FluidSelect["default"];
|
|
478
481
|
exports.unstable__FluidSelectSkeleton = FluidSelect_Skeleton["default"];
|
|
482
|
+
exports.unstable__FluidSearch = FluidSearch["default"];
|
|
479
483
|
exports.unstable__FluidTimePicker = FluidTimePicker["default"];
|
|
480
484
|
exports.unstable__FluidTimePickerSkeleton = FluidTimePicker_Skeleton["default"];
|
|
481
485
|
exports.unstable__FluidTimePickerSelect = FluidTimePickerSelect["default"];
|