@carbon/react 1.15.0 → 1.16.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/es/components/CodeSnippet/CodeSnippet.js +2 -2
- package/es/components/ComboBox/ComboBox.js +45 -24
- package/es/components/DataTable/TableHeader.js +1 -1
- package/es/components/DatePicker/DatePicker.js +10 -8
- package/es/components/Dropdown/Dropdown.js +2 -2
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +41 -0
- package/es/components/FluidComboBox/FluidComboBox.js +140 -0
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +41 -0
- package/es/components/FluidMultiSelect/FluidMultiSelect.js +151 -0
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +41 -0
- package/es/components/FluidSelect/FluidSelect.js +93 -0
- package/es/components/FluidTextArea/FluidTextArea.js +2 -1
- package/es/components/InlineLoading/InlineLoading.js +2 -4
- package/es/components/ListBox/ListBox.js +2 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +41 -21
- package/es/components/MultiSelect/MultiSelect.js +28 -12
- package/es/components/NumberInput/NumberInput.js +45 -1
- package/es/components/OverflowMenu/OverflowMenu.js +2 -2
- package/es/components/Pagination/Pagination.js +271 -270
- package/es/components/Pagination/index.js +1 -6
- package/es/components/ProgressIndicator/ProgressIndicator.Skeleton.js +10 -4
- package/es/components/Select/Select.js +23 -5
- package/es/components/TextArea/TextArea.js +2 -2
- package/es/components/TextInput/ControlledPasswordInput.js +2 -3
- package/es/components/TextInput/PasswordInput.js +3 -3
- package/es/components/TextInput/TextInput.js +7 -8
- package/es/components/Tile/next/Tile.js +18 -22
- package/es/components/Tooltip/next/DefinitionTooltip.js +11 -2
- package/es/components/UIShell/HeaderMenu.js +15 -4
- package/es/components/UIShell/SideNavMenu.js +2 -1
- package/es/index.js +14 -8
- package/es/internal/useNormalizedInputProps.js +15 -18
- package/lib/components/CodeSnippet/CodeSnippet.js +2 -2
- package/lib/components/ComboBox/ComboBox.js +44 -23
- package/lib/components/DataTable/TableHeader.js +1 -1
- package/lib/components/DatePicker/DatePicker.js +10 -8
- package/lib/components/Dropdown/Dropdown.js +2 -2
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +51 -0
- package/lib/components/FluidComboBox/FluidComboBox.js +150 -0
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +51 -0
- package/lib/components/FluidMultiSelect/FluidMultiSelect.js +161 -0
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +51 -0
- package/lib/components/FluidSelect/FluidSelect.js +103 -0
- package/lib/components/FluidTextArea/FluidTextArea.js +2 -1
- package/lib/components/InlineLoading/InlineLoading.js +2 -4
- package/lib/components/ListBox/ListBox.js +2 -1
- package/lib/components/MultiSelect/FilterableMultiSelect.js +40 -20
- package/lib/components/MultiSelect/MultiSelect.js +27 -11
- package/lib/components/NumberInput/NumberInput.js +45 -1
- package/lib/components/OverflowMenu/OverflowMenu.js +2 -2
- package/lib/components/Pagination/Pagination.js +269 -268
- package/lib/components/Pagination/index.js +2 -24
- package/lib/components/ProgressIndicator/ProgressIndicator.Skeleton.js +9 -3
- package/lib/components/Select/Select.js +21 -3
- package/lib/components/TextArea/TextArea.js +2 -2
- package/lib/components/TextInput/ControlledPasswordInput.js +2 -3
- package/lib/components/TextInput/PasswordInput.js +3 -3
- package/lib/components/TextInput/TextInput.js +7 -8
- package/lib/components/Tile/next/Tile.js +18 -22
- package/lib/components/Tooltip/next/DefinitionTooltip.js +11 -2
- package/lib/components/UIShell/HeaderMenu.js +15 -4
- package/lib/components/UIShell/SideNavMenu.js +2 -1
- package/lib/index.js +98 -86
- package/lib/internal/useNormalizedInputProps.js +14 -17
- package/package.json +4 -4
- package/scss/components/fluid-select/_fluid-select.scss +9 -0
- package/scss/components/fluid-select/_index.scss +9 -0
- package/es/components/FileUploader/index.js +0 -15
- package/es/components/Pagination/next/Pagination.js +0 -421
- package/lib/components/FileUploader/index.js +0 -39
- package/lib/components/Pagination/next/Pagination.js +0 -431
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2022
|
|
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 usePrefix = require('../../internal/usePrefix.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
23
|
+
|
|
24
|
+
var _excluded = ["className"];
|
|
25
|
+
|
|
26
|
+
var FluidSelectSkeleton = function FluidSelectSkeleton(_ref) {
|
|
27
|
+
var className = _ref.className,
|
|
28
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
29
|
+
|
|
30
|
+
var prefix = usePrefix.usePrefix();
|
|
31
|
+
var wrapperClasses = cx__default["default"](className, "".concat(prefix, "--skeleton"), "".concat(prefix, "--list-box"));
|
|
32
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
33
|
+
className: "".concat(prefix, "--list-box__wrapper--fluid")
|
|
34
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
35
|
+
className: wrapperClasses
|
|
36
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
37
|
+
className: "".concat(prefix, "--list-box__label")
|
|
38
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
39
|
+
className: "".concat(prefix, "--list-box__field")
|
|
40
|
+
})));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
FluidSelectSkeleton.propTypes = {
|
|
44
|
+
/**
|
|
45
|
+
* Specify an optional className to add.
|
|
46
|
+
*/
|
|
47
|
+
className: PropTypes__default["default"].string
|
|
48
|
+
};
|
|
49
|
+
var FluidSelectSkeleton$1 = FluidSelectSkeleton;
|
|
50
|
+
|
|
51
|
+
exports["default"] = FluidSelectSkeleton$1;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2022
|
|
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 Select = require('../Select/Select.js');
|
|
17
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
19
|
+
|
|
20
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
+
|
|
22
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
23
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
25
|
+
|
|
26
|
+
var _excluded = ["className", "children"];
|
|
27
|
+
var FluidSelect = /*#__PURE__*/React__default["default"].forwardRef(function FluidSelect(_ref, ref) {
|
|
28
|
+
var className = _ref.className,
|
|
29
|
+
children = _ref.children,
|
|
30
|
+
other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
|
|
32
|
+
var prefix = usePrefix.usePrefix();
|
|
33
|
+
var classNames = cx__default["default"]("".concat(prefix, "--select--fluid"), className);
|
|
34
|
+
return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
|
|
35
|
+
value: {
|
|
36
|
+
isFluid: true
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React__default["default"].createElement(Select["default"], _rollupPluginBabelHelpers["extends"]({
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: classNames
|
|
41
|
+
}, other), children));
|
|
42
|
+
});
|
|
43
|
+
FluidSelect.propTypes = {
|
|
44
|
+
/**
|
|
45
|
+
* Provide the contents of your Select
|
|
46
|
+
*/
|
|
47
|
+
children: PropTypes__default["default"].node,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Specify an optional className to be applied to the node containing the label and the select box
|
|
51
|
+
*/
|
|
52
|
+
className: PropTypes__default["default"].string,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Optionally provide the default value of the `<select>`
|
|
56
|
+
*/
|
|
57
|
+
defaultValue: PropTypes__default["default"].any,
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Specify whether the control is disabled
|
|
61
|
+
*/
|
|
62
|
+
disabled: PropTypes__default["default"].bool,
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Specify a custom `id` for the `<select>`
|
|
66
|
+
*/
|
|
67
|
+
id: PropTypes__default["default"].string.isRequired,
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Specify if the currently value is invalid.
|
|
71
|
+
*/
|
|
72
|
+
invalid: PropTypes__default["default"].bool,
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Message which is displayed if the value is invalid.
|
|
76
|
+
*/
|
|
77
|
+
invalidText: PropTypes__default["default"].node,
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Provide label text to be read by screen readers when interacting with the
|
|
81
|
+
* control
|
|
82
|
+
*/
|
|
83
|
+
labelText: PropTypes__default["default"].node,
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Provide an optional `onChange` hook that is called each time the value of
|
|
87
|
+
* the underlying `<input>` changes
|
|
88
|
+
*/
|
|
89
|
+
onChange: PropTypes__default["default"].func,
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Specify whether the control is currently in warning state
|
|
93
|
+
*/
|
|
94
|
+
warn: PropTypes__default["default"].bool,
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Provide the text that is displayed when the control is in warning state
|
|
98
|
+
*/
|
|
99
|
+
warnText: PropTypes__default["default"].node
|
|
100
|
+
};
|
|
101
|
+
var FluidSelect$1 = FluidSelect;
|
|
102
|
+
|
|
103
|
+
exports["default"] = FluidSelect$1;
|
|
@@ -14,6 +14,7 @@ var PropTypes = require('prop-types');
|
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var cx = require('classnames');
|
|
16
16
|
var TextArea = require('../TextArea/TextArea.js');
|
|
17
|
+
var deprecate = require('../../prop-types/deprecate.js');
|
|
17
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
19
|
var FormContext = require('../FluidForm/FormContext.js');
|
|
19
20
|
|
|
@@ -102,7 +103,7 @@ FluidTextArea.propTypes = {
|
|
|
102
103
|
* `true` to use the light version. For use on $ui-01 backgrounds only.
|
|
103
104
|
* Don't use this to make tile background color same as container background color.
|
|
104
105
|
*/
|
|
105
|
-
light: PropTypes__default["default"].bool,
|
|
106
|
+
light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `FluidTextArea` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
106
107
|
|
|
107
108
|
/**
|
|
108
109
|
* Max character count allowed for the textarea. This is needed in order for enableCounter to display
|
|
@@ -31,7 +31,8 @@ function InlineLoading(_ref) {
|
|
|
31
31
|
iconDescription = _ref.iconDescription,
|
|
32
32
|
description = _ref.description,
|
|
33
33
|
onSuccess = _ref.onSuccess,
|
|
34
|
-
successDelay = _ref.successDelay,
|
|
34
|
+
_ref$successDelay = _ref.successDelay,
|
|
35
|
+
successDelay = _ref$successDelay === void 0 ? 1500 : _ref$successDelay,
|
|
35
36
|
other = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
36
37
|
|
|
37
38
|
var prefix = usePrefix.usePrefix();
|
|
@@ -118,8 +119,5 @@ InlineLoading.propTypes = {
|
|
|
118
119
|
*/
|
|
119
120
|
successDelay: PropTypes__default["default"].number
|
|
120
121
|
};
|
|
121
|
-
InlineLoading.defaultProps = {
|
|
122
|
-
successDelay: 1500
|
|
123
|
-
};
|
|
124
122
|
|
|
125
123
|
exports["default"] = InlineLoading;
|
|
@@ -13,6 +13,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
13
13
|
var cx = require('classnames');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var PropTypes = require('prop-types');
|
|
16
|
+
var deprecate = require('../../prop-types/deprecate.js');
|
|
16
17
|
var ListBoxPropTypes = require('./ListBoxPropTypes.js');
|
|
17
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
19
|
var ListBoxField = require('./ListBoxField.js');
|
|
@@ -119,7 +120,7 @@ ListBox.propTypes = {
|
|
|
119
120
|
* `true` to use the light version. For use on $ui-01 backgrounds only.
|
|
120
121
|
* Don't use this to make tile background color same as container background color.
|
|
121
122
|
*/
|
|
122
|
-
light: PropTypes__default["default"].bool,
|
|
123
|
+
light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `ListBox` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
123
124
|
|
|
124
125
|
/**
|
|
125
126
|
* Specify the size of the ListBox. Currently supports either `sm`, `md` or `lg` as an option.
|
|
@@ -22,10 +22,12 @@ require('../ListBox/index.js');
|
|
|
22
22
|
var Selection = require('../../internal/Selection.js');
|
|
23
23
|
var itemToString = require('./tools/itemToString.js');
|
|
24
24
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
25
|
+
var deprecate = require('../../prop-types/deprecate.js');
|
|
25
26
|
var useId = require('../../internal/useId.js');
|
|
26
27
|
var sorting = require('./tools/sorting.js');
|
|
27
28
|
var index = require('../FeatureFlags/index.js');
|
|
28
29
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
30
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
29
31
|
var match = require('../../internal/keyboard/match.js');
|
|
30
32
|
var ListBoxSelection = require('../ListBox/next/ListBoxSelection.js');
|
|
31
33
|
var ListBoxTrigger = require('../ListBox/next/ListBoxTrigger.js');
|
|
@@ -77,35 +79,43 @@ var FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(fu
|
|
|
77
79
|
warn = _ref.warn,
|
|
78
80
|
warnText = _ref.warnText;
|
|
79
81
|
|
|
80
|
-
var
|
|
82
|
+
var _useContext = React.useContext(FormContext.FormContext),
|
|
83
|
+
isFluid = _useContext.isFluid;
|
|
84
|
+
|
|
85
|
+
var _useState = React.useState(false),
|
|
81
86
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
isFocused = _useState2[0],
|
|
88
|
+
setIsFocused = _useState2[1];
|
|
84
89
|
|
|
85
90
|
var _useState3 = React.useState(open),
|
|
86
91
|
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
isOpen = _useState4[0],
|
|
93
|
+
setIsOpen = _useState4[1];
|
|
89
94
|
|
|
90
|
-
var _useState5 = React.useState(
|
|
95
|
+
var _useState5 = React.useState(open),
|
|
91
96
|
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
prevOpen = _useState6[0],
|
|
98
|
+
setPrevOpen = _useState6[1];
|
|
94
99
|
|
|
95
|
-
var _useState7 = React.useState(
|
|
100
|
+
var _useState7 = React.useState(''),
|
|
96
101
|
_useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
|
|
97
|
-
|
|
98
|
-
|
|
102
|
+
inputValue = _useState8[0],
|
|
103
|
+
setInputValue = _useState8[1];
|
|
99
104
|
|
|
100
|
-
var _useState9 = React.useState(
|
|
105
|
+
var _useState9 = React.useState([]),
|
|
101
106
|
_useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
topItems = _useState10[0],
|
|
108
|
+
setTopItems = _useState10[1];
|
|
104
109
|
|
|
105
|
-
var _useState11 = React.useState(
|
|
110
|
+
var _useState11 = React.useState(false),
|
|
106
111
|
_useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
|
|
107
|
-
|
|
108
|
-
|
|
112
|
+
inputFocused = _useState12[0],
|
|
113
|
+
setInputFocused = _useState12[1];
|
|
114
|
+
|
|
115
|
+
var _useState13 = React.useState(null),
|
|
116
|
+
_useState14 = _rollupPluginBabelHelpers.slicedToArray(_useState13, 2),
|
|
117
|
+
highlightedIndex = _useState14[0],
|
|
118
|
+
setHighlightedIndex = _useState14[1];
|
|
109
119
|
|
|
110
120
|
var textInput = React.useRef();
|
|
111
121
|
var filterableMultiSelectInstanceId = useId.useId();
|
|
@@ -119,7 +129,7 @@ var FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(fu
|
|
|
119
129
|
|
|
120
130
|
var inline = type === 'inline';
|
|
121
131
|
var showWarning = !invalid && warn;
|
|
122
|
-
var wrapperClasses = cx__default["default"]("".concat(prefix, "--multi-select__wrapper"), "".concat(prefix, "--list-box__wrapper"), [enabled ? containerClassName : null], (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box--up"), direction === 'top'), _cx));
|
|
132
|
+
var wrapperClasses = cx__default["default"]("".concat(prefix, "--multi-select__wrapper"), "".concat(prefix, "--list-box__wrapper"), [enabled ? containerClassName : null], (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box--up"), direction === 'top'), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--invalid"), isFluid && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--focus"), isFluid && isFocused), _cx));
|
|
123
133
|
var helperId = !helperText ? undefined : "filterablemultiselect-helper-text-".concat(filterableMultiSelectInstanceId);
|
|
124
134
|
var labelId = "".concat(id, "-label");
|
|
125
135
|
var titleClasses = cx__default["default"]((_cx2 = {}, _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--label"), true), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--label--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--visually-hidden"), hideLabel), _cx2));
|
|
@@ -309,11 +319,22 @@ var FilterableMultiSelect = /*#__PURE__*/React__default["default"].forwardRef(fu
|
|
|
309
319
|
}, {
|
|
310
320
|
suppressRefError: true
|
|
311
321
|
});
|
|
322
|
+
|
|
323
|
+
var handleFocus = function handleFocus(evt) {
|
|
324
|
+
if (evt.target.classList.contains("".concat(prefix, "--tag__close-icon")) || evt.target.classList.contains("".concat(prefix, "--list-box__selection"))) {
|
|
325
|
+
setIsFocused(false);
|
|
326
|
+
} else {
|
|
327
|
+
setIsFocused(evt.type === 'focus' ? true : false);
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
|
|
312
331
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
313
332
|
className: wrapperClasses
|
|
314
333
|
}, titleText ? /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
|
|
315
334
|
className: titleClasses
|
|
316
335
|
}, labelProps), titleText) : null, /*#__PURE__*/React__default["default"].createElement(ListBox["default"], {
|
|
336
|
+
onFocus: isFluid ? handleFocus : null,
|
|
337
|
+
onBlur: isFluid ? handleFocus : null,
|
|
317
338
|
className: className,
|
|
318
339
|
disabled: disabled,
|
|
319
340
|
light: light,
|
|
@@ -471,7 +492,7 @@ FilterableMultiSelect.propTypes = _rollupPluginBabelHelpers.objectSpread2(_rollu
|
|
|
471
492
|
/**
|
|
472
493
|
* `true` to use the light version.
|
|
473
494
|
*/
|
|
474
|
-
light: PropTypes__default["default"].bool,
|
|
495
|
+
light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `FilterableMultiSelect` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
475
496
|
|
|
476
497
|
/**
|
|
477
498
|
* Specify the locale of the control. Used for the default `compareItems`
|
|
@@ -551,7 +572,6 @@ FilterableMultiSelect.defaultProps = {
|
|
|
551
572
|
itemToString: itemToString.defaultItemToString,
|
|
552
573
|
locale: 'en',
|
|
553
574
|
sortItems: sorting.defaultSortItems,
|
|
554
|
-
light: false,
|
|
555
575
|
open: false,
|
|
556
576
|
selectionFeedback: 'top-after-reopen'
|
|
557
577
|
};
|
|
@@ -23,8 +23,10 @@ var sorting = require('./tools/sorting.js');
|
|
|
23
23
|
var Selection = require('../../internal/Selection.js');
|
|
24
24
|
var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
25
25
|
var mergeRefs = require('../../tools/mergeRefs.js');
|
|
26
|
+
var deprecate = require('../../prop-types/deprecate.js');
|
|
26
27
|
var index = require('../FeatureFlags/index.js');
|
|
27
28
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
29
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
28
30
|
var match = require('../../internal/keyboard/match.js');
|
|
29
31
|
var ListBox = require('../ListBox/ListBox.js');
|
|
30
32
|
var ListBoxPropTypes = require('../ListBox/ListBoxPropTypes.js');
|
|
@@ -86,6 +88,9 @@ var MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function Mul
|
|
|
86
88
|
selected = _ref.selectedItems;
|
|
87
89
|
var prefix = usePrefix.usePrefix();
|
|
88
90
|
|
|
91
|
+
var _useContext = React.useContext(FormContext.FormContext),
|
|
92
|
+
isFluid = _useContext.isFluid;
|
|
93
|
+
|
|
89
94
|
var _useRef = React.useRef(getInstanceId()),
|
|
90
95
|
multiSelectInstanceId = _useRef.current;
|
|
91
96
|
|
|
@@ -94,20 +99,25 @@ var MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function Mul
|
|
|
94
99
|
highlightedIndex = _useState2[0],
|
|
95
100
|
setHighlightedIndex = _useState2[1];
|
|
96
101
|
|
|
97
|
-
var _useState3 = React.useState(
|
|
102
|
+
var _useState3 = React.useState(false),
|
|
98
103
|
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
isFocused = _useState4[0],
|
|
105
|
+
setIsFocused = _useState4[1];
|
|
101
106
|
|
|
102
107
|
var _useState5 = React.useState(open),
|
|
103
108
|
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
isOpen = _useState6[0],
|
|
110
|
+
setIsOpen = _useState6[1];
|
|
106
111
|
|
|
107
|
-
var _useState7 = React.useState(
|
|
112
|
+
var _useState7 = React.useState(open),
|
|
108
113
|
_useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
prevOpenProp = _useState8[0],
|
|
115
|
+
setPrevOpenProp = _useState8[1];
|
|
116
|
+
|
|
117
|
+
var _useState9 = React.useState([]),
|
|
118
|
+
_useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
|
|
119
|
+
topItems = _useState10[0],
|
|
120
|
+
setTopItems = _useState10[1];
|
|
111
121
|
|
|
112
122
|
var _useSelection = Selection.useSelection({
|
|
113
123
|
disabled: disabled,
|
|
@@ -161,7 +171,7 @@ var MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function Mul
|
|
|
161
171
|
var inline = type === 'inline';
|
|
162
172
|
var showWarning = !invalid && warn;
|
|
163
173
|
var enabled = index.useFeatureFlag('enable-v11-release');
|
|
164
|
-
var wrapperClasses = cx__default["default"]("".concat(prefix, "--multi-select__wrapper"), "".concat(prefix, "--list-box__wrapper"), [enabled ? containerClassName : null], (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline--invalid"), inline && invalid), _cx));
|
|
174
|
+
var wrapperClasses = cx__default["default"]("".concat(prefix, "--multi-select__wrapper"), "".concat(prefix, "--list-box__wrapper"), [enabled ? containerClassName : null], (_cx = {}, _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline"), inline), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--multi-select__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--inline--invalid"), inline && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--invalid"), isFluid && invalid), _rollupPluginBabelHelpers.defineProperty(_cx, "".concat(prefix, "--list-box__wrapper--fluid--focus"), !isOpen && isFluid && isFocused), _cx));
|
|
165
175
|
var titleClasses = cx__default["default"]("".concat(prefix, "--label"), (_cx2 = {}, _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--label--disabled"), disabled), _rollupPluginBabelHelpers.defineProperty(_cx2, "".concat(prefix, "--visually-hidden"), hideLabel), _cx2));
|
|
166
176
|
var helperId = !helperText ? undefined : "multiselect-helper-text-".concat(multiSelectInstanceId);
|
|
167
177
|
var fieldLabelId = "multiselect-field-label-".concat(multiSelectInstanceId);
|
|
@@ -226,6 +236,11 @@ var MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function Mul
|
|
|
226
236
|
};
|
|
227
237
|
|
|
228
238
|
var toggleButtonProps = getToggleButtonProps();
|
|
239
|
+
|
|
240
|
+
var handleFocus = function handleFocus(evt) {
|
|
241
|
+
evt.target.classList.contains("".concat(prefix, "--tag__close-icon")) ? setIsFocused(false) : setIsFocused(evt.type === 'focus' ? true : false);
|
|
242
|
+
};
|
|
243
|
+
|
|
229
244
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
230
245
|
className: wrapperClasses
|
|
231
246
|
}, /*#__PURE__*/React__default["default"].createElement("label", _rollupPluginBabelHelpers["extends"]({
|
|
@@ -233,6 +248,8 @@ var MultiSelect = /*#__PURE__*/React__default["default"].forwardRef(function Mul
|
|
|
233
248
|
}, getLabelProps()), titleText && titleText, selectedItems.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
234
249
|
className: "".concat(prefix, "--visually-hidden")
|
|
235
250
|
}, clearSelectionDescription, " ", selectedItems.length, ",", clearSelectionText)), /*#__PURE__*/React__default["default"].createElement(ListBox["default"], {
|
|
251
|
+
onFocus: isFluid ? handleFocus : null,
|
|
252
|
+
onBlur: isFluid ? handleFocus : null,
|
|
236
253
|
type: type,
|
|
237
254
|
size: size,
|
|
238
255
|
className: className,
|
|
@@ -383,7 +400,7 @@ MultiSelect.propTypes = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBab
|
|
|
383
400
|
/**
|
|
384
401
|
* `true` to use the light version.
|
|
385
402
|
*/
|
|
386
|
-
light: PropTypes__default["default"].bool,
|
|
403
|
+
light: deprecate["default"](PropTypes__default["default"].bool, 'The `light` prop for `MultiSelect` has ' + 'been deprecated in favor of the new `Layer` component. It will be removed in the next major release.'),
|
|
387
404
|
|
|
388
405
|
/**
|
|
389
406
|
* Specify the locale of the control. Used for the default `compareItems`
|
|
@@ -465,7 +482,6 @@ MultiSelect.defaultProps = {
|
|
|
465
482
|
initialSelectedItems: [],
|
|
466
483
|
sortItems: sorting.defaultSortItems,
|
|
467
484
|
type: 'default',
|
|
468
|
-
light: false,
|
|
469
485
|
title: false,
|
|
470
486
|
open: false,
|
|
471
487
|
selectionFeedback: 'top-after-reopen',
|
|
@@ -26,7 +26,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
26
26
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
27
27
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
28
|
|
|
29
|
-
var _excluded = ["allowEmpty", "className", "disabled", "defaultValue", "helperText", "hideLabel", "hideSteppers", "iconDescription", "id", "label", "invalid", "invalidText", "light", "max", "min", "onChange", "onClick", "onKeyUp", "readOnly", "size", "step", "translateWithId", "warn", "warnText", "value"];
|
|
29
|
+
var _excluded = ["allowEmpty", "className", "disabled", "disableWheel", "defaultValue", "helperText", "hideLabel", "hideSteppers", "iconDescription", "id", "label", "invalid", "invalidText", "light", "max", "min", "onChange", "onClick", "onKeyUp", "readOnly", "size", "step", "translateWithId", "warn", "warnText", "value"];
|
|
30
30
|
|
|
31
31
|
var _defaultTranslations, _Subtract, _Add;
|
|
32
32
|
var translationIds = {
|
|
@@ -44,6 +44,8 @@ var NumberInput = /*#__PURE__*/React__default["default"].forwardRef(function Num
|
|
|
44
44
|
customClassName = props.className,
|
|
45
45
|
_props$disabled = props.disabled,
|
|
46
46
|
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
47
|
+
_props$disableWheel = props.disableWheel,
|
|
48
|
+
disableWheelProp = _props$disableWheel === void 0 ? false : _props$disableWheel,
|
|
47
49
|
defaultValue = props.defaultValue,
|
|
48
50
|
_props$helperText = props.helperText,
|
|
49
51
|
helperText = _props$helperText === void 0 ? '' : _props$helperText,
|
|
@@ -182,6 +184,24 @@ var NumberInput = /*#__PURE__*/React__default["default"].forwardRef(function Num
|
|
|
182
184
|
onClick: _onClick,
|
|
183
185
|
onChange: handleOnChange,
|
|
184
186
|
onKeyUp: onKeyUp,
|
|
187
|
+
onFocus: function onFocus(e) {
|
|
188
|
+
if (disableWheelProp) {
|
|
189
|
+
e.target.addEventListener('wheel', disableWheel);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (rest.onFocus) {
|
|
193
|
+
rest.onFocus(e);
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
onBlur: function onBlur(e) {
|
|
197
|
+
if (disableWheelProp) {
|
|
198
|
+
e.target.removeEventListener('wheel', disableWheel);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (rest.onBlur) {
|
|
202
|
+
rest.onBlur(e);
|
|
203
|
+
}
|
|
204
|
+
},
|
|
185
205
|
pattern: "[0-9]*",
|
|
186
206
|
readOnly: readOnly,
|
|
187
207
|
step: step,
|
|
@@ -264,6 +284,11 @@ NumberInput.propTypes = {
|
|
|
264
284
|
*/
|
|
265
285
|
defaultValue: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
|
|
266
286
|
|
|
287
|
+
/**
|
|
288
|
+
* Specify if the wheel functionality for the input should be disabled, or not
|
|
289
|
+
*/
|
|
290
|
+
disableWheel: PropTypes__default["default"].bool,
|
|
291
|
+
|
|
267
292
|
/**
|
|
268
293
|
* Specify if the control should be disabled, or not
|
|
269
294
|
*/
|
|
@@ -459,6 +484,25 @@ function getInputValidity(_ref4) {
|
|
|
459
484
|
|
|
460
485
|
return true;
|
|
461
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* It prevents any wheel event from emitting.
|
|
489
|
+
*
|
|
490
|
+
* We want to prevent this input field from changing by the user accidentally
|
|
491
|
+
* when the user scrolling up or down in a long form. So we prevent the default
|
|
492
|
+
* behavior of wheel events when it is focused.
|
|
493
|
+
*
|
|
494
|
+
* Because React uses passive event handler by default, we can't just call
|
|
495
|
+
* `preventDefault` in the `onWheel` event handler. So we have to get the input
|
|
496
|
+
* ref and add our event handler manually.
|
|
497
|
+
*
|
|
498
|
+
* @see https://github.com/facebook/react/pull/19654
|
|
499
|
+
* @param {WheelEvent} e A wheel event.
|
|
500
|
+
*/
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
function disableWheel(e) {
|
|
504
|
+
e.preventDefault();
|
|
505
|
+
}
|
|
462
506
|
/**
|
|
463
507
|
* Clamp the given value between the upper bound `max` and the lower bound `min`
|
|
464
508
|
* @param {number} max
|
|
@@ -526,8 +526,8 @@ _rollupPluginBabelHelpers.defineProperty(OverflowMenu, "propTypes", {
|
|
|
526
526
|
_rollupPluginBabelHelpers.defineProperty(OverflowMenu, "contextType", usePrefix.PrefixContext);
|
|
527
527
|
|
|
528
528
|
_rollupPluginBabelHelpers.defineProperty(OverflowMenu, "defaultProps", {
|
|
529
|
-
ariaLabel: FeatureFlags__namespace.enabled('enable-v11-release') ? null : '
|
|
530
|
-
iconDescription: '
|
|
529
|
+
ariaLabel: FeatureFlags__namespace.enabled('enable-v11-release') ? null : 'Open and close list of options',
|
|
530
|
+
iconDescription: 'Open and close list of options',
|
|
531
531
|
open: false,
|
|
532
532
|
direction: FloatingMenu.DIRECTION_BOTTOM,
|
|
533
533
|
flipped: false,
|