@carbon/react 1.26.1 → 1.27.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/es/components/Checkbox/Checkbox.d.ts +20 -0
- package/es/components/Checkbox/Checkbox.js +58 -4
- package/es/components/CheckboxGroup/CheckboxGroup.js +119 -0
- package/es/components/ComboBox/ComboBox.js +11 -2
- package/es/components/ContentSwitcher/ContentSwitcher.js +9 -4
- package/es/components/Copy/Copy.js +1 -1
- package/es/components/DataTable/DataTable.js +44 -2
- package/es/components/DataTable/Table.js +1 -2
- package/es/components/DataTable/TableCell.js +1 -2
- package/es/components/DataTable/TableExpandRow.js +1 -2
- package/es/components/DataTable/TableExpandedRow.js +1 -2
- package/es/components/DataTable/TableHead.js +1 -2
- package/es/components/DataTable/TableHeader.js +1 -2
- package/es/components/DataTable/TableRow.js +1 -2
- package/es/components/DataTable/TableSelectAll.js +1 -2
- package/es/components/DataTable/TableSelectRow.js +1 -2
- package/es/components/DataTable/TableToolbar.js +2 -3
- package/es/components/DataTable/TableToolbarAction.js +1 -2
- package/es/components/DataTable/TableToolbarContent.js +1 -2
- package/es/components/DataTable/TableToolbarMenu.js +1 -2
- package/es/components/DataTable/index.d.ts +29 -0
- package/es/components/DataTable/index.js +70 -0
- package/es/components/DatePicker/DatePicker.js +25 -3
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +15 -1
- package/es/components/DatePickerInput/DatePickerInput.js +7 -2
- package/es/components/Dropdown/Dropdown.js +16 -4
- package/es/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/es/components/FileUploader/FileUploader.js +1 -1
- package/es/components/FluidDatePicker/FluidDatePicker.js +9 -2
- package/es/components/IconButton/index.js +19 -5
- package/es/components/Modal/Modal.js +4 -2
- package/es/components/ModalWrapper/ModalWrapper.js +1 -1
- package/es/components/MultiSelect/FilterableMultiSelect.js +9 -1
- package/es/components/MultiSelect/MultiSelect.js +2 -1
- package/es/components/NumberInput/NumberInput.js +10 -2
- package/es/components/ProgressBar/ProgressBar.js +3 -0
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +2 -1
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +10 -1
- package/es/components/StructuredList/StructuredList.js +2 -1
- package/es/components/Switch/IconSwitch.js +174 -0
- package/es/components/TextArea/TextArea.js +16 -1
- package/es/components/TextInput/ControlledPasswordInput.js +11 -2
- package/es/components/TextInput/PasswordInput.js +4 -1
- package/es/components/TextInput/index.js +0 -3
- package/es/components/TextInput/util.js +15 -2
- package/es/components/Tile/Tile.js +6 -4
- package/es/components/Toggle/Toggle.Skeleton.d.ts +58 -0
- package/es/components/Toggle/Toggle.Skeleton.js +1 -1
- package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +1 -1
- package/es/components/Tooltip/Tooltip.d.ts +1 -1
- package/es/components/UIShell/HeaderMenu.js +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +4 -1
- package/lib/components/Checkbox/Checkbox.d.ts +20 -0
- package/lib/components/Checkbox/Checkbox.js +58 -4
- package/lib/components/CheckboxGroup/CheckboxGroup.js +129 -0
- package/lib/components/ComboBox/ComboBox.js +10 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.js +9 -4
- package/lib/components/Copy/Copy.js +1 -1
- package/lib/components/DataTable/DataTable.js +48 -6
- package/lib/components/DataTable/Table.js +1 -2
- package/lib/components/DataTable/TableCell.js +1 -2
- package/lib/components/DataTable/TableExpandRow.js +1 -2
- package/lib/components/DataTable/TableExpandedRow.js +1 -2
- package/lib/components/DataTable/TableHead.js +1 -2
- package/lib/components/DataTable/TableHeader.js +1 -2
- package/lib/components/DataTable/TableRow.js +1 -2
- package/lib/components/DataTable/TableSelectAll.js +1 -2
- package/lib/components/DataTable/TableSelectRow.js +1 -2
- package/lib/components/DataTable/TableToolbar.js +1 -2
- package/lib/components/DataTable/TableToolbarAction.js +1 -2
- package/lib/components/DataTable/TableToolbarContent.js +1 -2
- package/lib/components/DataTable/TableToolbarMenu.js +1 -2
- package/lib/components/DataTable/index.d.ts +29 -0
- package/lib/components/DataTable/index.js +76 -0
- package/lib/components/DatePicker/DatePicker.js +25 -3
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +15 -1
- package/lib/components/DatePickerInput/DatePickerInput.js +7 -2
- package/lib/components/Dropdown/Dropdown.js +15 -3
- package/lib/components/FluidDatePicker/FluidDatePicker.js +9 -2
- package/lib/components/IconButton/index.js +19 -5
- package/lib/components/Modal/Modal.js +4 -2
- package/lib/components/MultiSelect/FilterableMultiSelect.js +8 -0
- package/lib/components/MultiSelect/MultiSelect.js +2 -1
- package/lib/components/NumberInput/NumberInput.js +10 -2
- package/lib/components/ProgressBar/ProgressBar.js +3 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +9 -0
- package/lib/components/StructuredList/StructuredList.js +2 -1
- package/lib/components/Switch/IconSwitch.js +184 -0
- package/lib/components/TextArea/TextArea.js +16 -1
- package/lib/components/TextInput/ControlledPasswordInput.js +10 -1
- package/lib/components/TextInput/PasswordInput.js +4 -1
- package/lib/components/TextInput/index.js +0 -3
- package/lib/components/TextInput/util.js +15 -2
- package/lib/components/Tile/Tile.js +6 -4
- package/lib/components/Toggle/Toggle.Skeleton.d.ts +58 -0
- package/lib/components/Toggle/Toggle.Skeleton.js +1 -1
- package/lib/components/Tooltip/Tooltip.d.ts +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +6 -1
- package/package.json +12 -12
|
@@ -0,0 +1,184 @@
|
|
|
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 index = require('../IconButton/index.js');
|
|
17
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
24
|
+
|
|
25
|
+
var _excluded = ["align", "children", "className", "disabled", "enterDelayMs", "index", "leaveDelayMs", "name", "onClick", "onKeyDown", "selected", "size", "text"];
|
|
26
|
+
|
|
27
|
+
var noopFn = function noopFn() {};
|
|
28
|
+
|
|
29
|
+
var IconSwitch = /*#__PURE__*/React__default["default"].forwardRef(function Switch(props, tabRef) {
|
|
30
|
+
var _classNames2;
|
|
31
|
+
|
|
32
|
+
var align = props.align,
|
|
33
|
+
children = props.children,
|
|
34
|
+
className = props.className,
|
|
35
|
+
disabled = props.disabled,
|
|
36
|
+
enterDelayMs = props.enterDelayMs,
|
|
37
|
+
index$1 = props.index,
|
|
38
|
+
_props$leaveDelayMs = props.leaveDelayMs,
|
|
39
|
+
leaveDelayMs = _props$leaveDelayMs === void 0 ? 0 : _props$leaveDelayMs,
|
|
40
|
+
name = props.name,
|
|
41
|
+
_props$onClick = props.onClick,
|
|
42
|
+
onClick = _props$onClick === void 0 ? noopFn : _props$onClick,
|
|
43
|
+
_props$onKeyDown = props.onKeyDown,
|
|
44
|
+
onKeyDown = _props$onKeyDown === void 0 ? noopFn : _props$onKeyDown,
|
|
45
|
+
_props$selected = props.selected,
|
|
46
|
+
selected = _props$selected === void 0 ? false : _props$selected,
|
|
47
|
+
size = props.size,
|
|
48
|
+
text = props.text,
|
|
49
|
+
other = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
|
|
50
|
+
|
|
51
|
+
var prefix = usePrefix.usePrefix();
|
|
52
|
+
|
|
53
|
+
var _useState = React.useState(false),
|
|
54
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
55
|
+
isHovered = _useState2[0],
|
|
56
|
+
setIsHovered = _useState2[1];
|
|
57
|
+
|
|
58
|
+
var handleClick = function handleClick(e) {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
onClick({
|
|
61
|
+
index: index$1,
|
|
62
|
+
name: name,
|
|
63
|
+
text: text
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
68
|
+
var key = event.key || event.which;
|
|
69
|
+
onKeyDown({
|
|
70
|
+
index: index$1,
|
|
71
|
+
name: name,
|
|
72
|
+
text: text,
|
|
73
|
+
key: key
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
78
|
+
setIsHovered(true);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
82
|
+
setIsHovered(false);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
var classes = cx__default["default"](className, "".concat(prefix, "--content-switcher-btn"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--content-switcher--selected"), selected));
|
|
86
|
+
var iconButtonClasses = cx__default["default"]("".concat(prefix, "--content-switcher-popover__wrapper"), (_classNames2 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames2, "".concat(prefix, "--content-switcher-popover--selected"), selected), _rollupPluginBabelHelpers.defineProperty(_classNames2, "".concat(prefix, "--content-switcher-popover--disabled"), disabled), _classNames2));
|
|
87
|
+
var commonProps = {
|
|
88
|
+
onClick: handleClick,
|
|
89
|
+
onKeyDown: handleKeyDown,
|
|
90
|
+
className: classes,
|
|
91
|
+
disabled: disabled,
|
|
92
|
+
align: align,
|
|
93
|
+
enterDelayMs: enterDelayMs,
|
|
94
|
+
leaveDelayMs: leaveDelayMs,
|
|
95
|
+
size: size
|
|
96
|
+
};
|
|
97
|
+
return /*#__PURE__*/React__default["default"].createElement(index.IconButton, _rollupPluginBabelHelpers["extends"]({
|
|
98
|
+
label: text,
|
|
99
|
+
type: "button",
|
|
100
|
+
ref: tabRef,
|
|
101
|
+
role: "tab",
|
|
102
|
+
tabIndex: selected || isHovered ? 0 : -1,
|
|
103
|
+
onMouseEnter: handleMouseEnter,
|
|
104
|
+
onMouseLeave: handleMouseLeave,
|
|
105
|
+
onFocus: handleMouseEnter,
|
|
106
|
+
onBlur: handleMouseLeave,
|
|
107
|
+
"aria-selected": selected,
|
|
108
|
+
"aria-label": text,
|
|
109
|
+
wrapperClasses: iconButtonClasses
|
|
110
|
+
}, other, commonProps), children);
|
|
111
|
+
});
|
|
112
|
+
IconSwitch.displayName = 'IconSwitch';
|
|
113
|
+
IconSwitch.propTypes = {
|
|
114
|
+
/**
|
|
115
|
+
* Specify how the trigger should align with the tooltip
|
|
116
|
+
*/
|
|
117
|
+
align: PropTypes__default["default"].oneOf(['top', 'top-left', 'top-right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'right']),
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Provide child elements to be rendered inside of the Switch
|
|
121
|
+
*/
|
|
122
|
+
children: PropTypes__default["default"].node,
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Specify an optional className to be added to your Switch
|
|
126
|
+
*/
|
|
127
|
+
className: PropTypes__default["default"].string,
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Specify whether or not the Switch should be disabled
|
|
131
|
+
*/
|
|
132
|
+
disabled: PropTypes__default["default"].bool,
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Specify the duration in milliseconds to delay before displaying the tooltip
|
|
136
|
+
*/
|
|
137
|
+
enterDelayMs: PropTypes__default["default"].number,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* The index of your Switch in your ContentSwitcher that is used for event handlers.
|
|
141
|
+
* Reserved for usage in ContentSwitcher
|
|
142
|
+
*/
|
|
143
|
+
index: PropTypes__default["default"].number,
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Specify the duration in milliseconds to delay before hiding the tooltip
|
|
147
|
+
*/
|
|
148
|
+
leaveDelayMs: PropTypes__default["default"].number,
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Provide the name of your Switch that is used for event handlers
|
|
152
|
+
*/
|
|
153
|
+
name: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* A handler that is invoked when a user clicks on the control.
|
|
157
|
+
* Reserved for usage in ContentSwitcher
|
|
158
|
+
*/
|
|
159
|
+
onClick: PropTypes__default["default"].func,
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* A handler that is invoked on the key down event for the control.
|
|
163
|
+
* Reserved for usage in ContentSwitcher
|
|
164
|
+
*/
|
|
165
|
+
onKeyDown: PropTypes__default["default"].func,
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Whether your Switch is selected. Reserved for usage in ContentSwitcher
|
|
169
|
+
*/
|
|
170
|
+
selected: PropTypes__default["default"].bool,
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Passed in from `ContentSwitcher` to render icon-only variant
|
|
174
|
+
*/
|
|
175
|
+
size: PropTypes__default["default"].oneOf(['sm', 'md', 'lg']),
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Provide the visible text displayed by the Tooltip
|
|
179
|
+
*/
|
|
180
|
+
text: PropTypes__default["default"].string
|
|
181
|
+
};
|
|
182
|
+
var IconSwitch$1 = IconSwitch;
|
|
183
|
+
|
|
184
|
+
exports["default"] = IconSwitch$1;
|
|
@@ -22,6 +22,7 @@ var FormContext = require('../FluidForm/FormContext.js');
|
|
|
22
22
|
var useAnnouncer = require('../../internal/useAnnouncer.js');
|
|
23
23
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
24
24
|
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
25
|
+
var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
25
26
|
|
|
26
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
28
|
|
|
@@ -30,6 +31,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
30
31
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
31
32
|
|
|
32
33
|
var _excluded = ["className", "id", "labelText", "hideLabel", "onChange", "onClick", "invalid", "invalidText", "helperText", "light", "placeholder", "enableCounter", "maxCount", "warn", "warnText"];
|
|
34
|
+
var getInstanceId = setupGetInstanceId["default"]();
|
|
33
35
|
var TextArea = /*#__PURE__*/React__default["default"].forwardRef(function (props, forwardRef) {
|
|
34
36
|
var _classNames, _classNames4, _classNames5;
|
|
35
37
|
|
|
@@ -66,6 +68,9 @@ var TextArea = /*#__PURE__*/React__default["default"].forwardRef(function (props
|
|
|
66
68
|
textCount = _useState2[0],
|
|
67
69
|
setTextCount = _useState2[1];
|
|
68
70
|
|
|
71
|
+
var _useRef = React.useRef(getInstanceId()),
|
|
72
|
+
textAreaInstanceId = _useRef.current;
|
|
73
|
+
|
|
69
74
|
var textareaProps = {
|
|
70
75
|
id: id,
|
|
71
76
|
onChange: function onChange(evt) {
|
|
@@ -99,7 +104,9 @@ var TextArea = /*#__PURE__*/React__default["default"].forwardRef(function (props
|
|
|
99
104
|
className: counterClasses
|
|
100
105
|
}, "".concat(textCount, "/").concat(maxCount)) : null;
|
|
101
106
|
var helperTextClasses = cx__default["default"]("".concat(prefix, "--form__helper-text"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--form__helper-text--disabled"), other.disabled));
|
|
107
|
+
var helperId = !helperText ? undefined : "text-area-helper-text-".concat(textAreaInstanceId);
|
|
102
108
|
var helper = helperText ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
109
|
+
id: helperId,
|
|
103
110
|
className: helperTextClasses
|
|
104
111
|
}, helperText) : null;
|
|
105
112
|
var errorId = id + '-error-msg';
|
|
@@ -127,11 +134,19 @@ var TextArea = /*#__PURE__*/React__default["default"].forwardRef(function (props
|
|
|
127
134
|
textareaRef.current.style.width = "100%";
|
|
128
135
|
}
|
|
129
136
|
}, [other.cols]);
|
|
137
|
+
var ariaDescribedBy;
|
|
138
|
+
|
|
139
|
+
if (invalid) {
|
|
140
|
+
ariaDescribedBy = errorId;
|
|
141
|
+
} else if (!invalid && !warn && !isFluid && helperText) {
|
|
142
|
+
ariaDescribedBy = helperId;
|
|
143
|
+
}
|
|
144
|
+
|
|
130
145
|
var input = /*#__PURE__*/React__default["default"].createElement("textarea", _rollupPluginBabelHelpers["extends"]({}, other, textareaProps, {
|
|
131
146
|
placeholder: placeholder,
|
|
132
147
|
className: textareaClasses,
|
|
133
148
|
"aria-invalid": invalid,
|
|
134
|
-
"aria-describedby":
|
|
149
|
+
"aria-describedby": ariaDescribedBy,
|
|
135
150
|
disabled: other.disabled,
|
|
136
151
|
readOnly: other.readOnly,
|
|
137
152
|
ref: ref
|
|
@@ -18,6 +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 setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
|
|
21
22
|
|
|
22
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
24
|
|
|
@@ -26,6 +27,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
|
26
27
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
27
28
|
|
|
28
29
|
var _excluded = ["labelText", "className", "id", "placeholder", "onChange", "onClick", "hideLabel", "invalid", "invalidText", "helperText", "light", "type", "togglePasswordVisibility", "tooltipPosition", "tooltipAlignment", "hidePasswordLabel", "showPasswordLabel", "size"];
|
|
30
|
+
var getInstanceId = setupGetInstanceId["default"]();
|
|
29
31
|
var didWarnAboutDeprecation = false;
|
|
30
32
|
var ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRef(function ControlledPasswordInput(_ref, ref) {
|
|
31
33
|
var _classNames, _classNames2, _classNames4;
|
|
@@ -57,6 +59,9 @@ var ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
57
59
|
|
|
58
60
|
var prefix = usePrefix.usePrefix();
|
|
59
61
|
|
|
62
|
+
var _useRef = React.useRef(getInstanceId()),
|
|
63
|
+
controlledPasswordInstanceId = _useRef.current;
|
|
64
|
+
|
|
60
65
|
if (process.env.NODE_ENV !== "production") {
|
|
61
66
|
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;
|
|
62
67
|
didWarnAboutDeprecation = true;
|
|
@@ -100,10 +105,13 @@ var ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
100
105
|
className: "".concat(prefix, "--icon-visibility-on")
|
|
101
106
|
});
|
|
102
107
|
var passwordVisibilityToggleClasses = cx__default["default"]("".concat(prefix, "--text-input--password__visibility__toggle"), "".concat(prefix, "--btn"), "".concat(prefix, "--btn--icon-only"), "".concat(prefix, "--tooltip__trigger"), "".concat(prefix, "--tooltip--a11y"), (_classNames4 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames4, "".concat(prefix, "--tooltip--").concat(tooltipPosition), tooltipPosition), _rollupPluginBabelHelpers.defineProperty(_classNames4, "".concat(prefix, "--tooltip--align-").concat(tooltipAlignment), tooltipAlignment), _classNames4));
|
|
108
|
+
var helperId = !helperText ? undefined : "controlled-password-helper-text-".concat(controlledPasswordInstanceId);
|
|
103
109
|
var input = /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("input", _rollupPluginBabelHelpers["extends"]({}, util.textInputProps({
|
|
104
110
|
invalid: invalid,
|
|
105
111
|
sharedTextInputProps: sharedTextInputProps,
|
|
106
|
-
invalidId: errorId
|
|
112
|
+
invalidId: errorId,
|
|
113
|
+
hasHelper: !error && helperText,
|
|
114
|
+
helperId: helperId
|
|
107
115
|
}), {
|
|
108
116
|
"data-toggle-password-visibility": type === 'password'
|
|
109
117
|
})), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
@@ -114,6 +122,7 @@ var ControlledPasswordInput = /*#__PURE__*/React__default["default"].forwardRef(
|
|
|
114
122
|
className: "".concat(prefix, "--assistive-text")
|
|
115
123
|
}, passwordIsVisible ? hidePasswordLabel : showPasswordLabel), passwordVisibilityIcon));
|
|
116
124
|
var helper = helperText ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
125
|
+
id: helperId,
|
|
117
126
|
className: helperTextClasses
|
|
118
127
|
}, helperText) : null;
|
|
119
128
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -122,6 +122,7 @@ var PasswordInput = /*#__PURE__*/React__default["default"].forwardRef(function P
|
|
|
122
122
|
className: labelClasses
|
|
123
123
|
}, labelText) : null;
|
|
124
124
|
var helper = helperText ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
125
|
+
id: normalizedProps.helperId,
|
|
125
126
|
className: helperTextClasses
|
|
126
127
|
}, helperText) : null;
|
|
127
128
|
var passwordIsVisible = inputType === 'text';
|
|
@@ -136,7 +137,9 @@ var PasswordInput = /*#__PURE__*/React__default["default"].forwardRef(function P
|
|
|
136
137
|
invalid: normalizedProps.invalid,
|
|
137
138
|
invalidId: normalizedProps.invalidId,
|
|
138
139
|
warn: normalizedProps.warn,
|
|
139
|
-
warnId: normalizedProps.warnId
|
|
140
|
+
warnId: normalizedProps.warnId,
|
|
141
|
+
hasHelper: Boolean(helperText && !isFluid && (inline || !inline && !normalizedProps.validation)),
|
|
142
|
+
helperId: normalizedProps.helperId
|
|
140
143
|
}), {
|
|
141
144
|
disabled: disabled,
|
|
142
145
|
"data-toggle-password-visibility": inputType === 'password'
|
|
@@ -15,9 +15,6 @@ var PasswordInput = require('./PasswordInput.js');
|
|
|
15
15
|
var TextInput = require('./TextInput.js');
|
|
16
16
|
var TextInput_Skeleton = require('./TextInput.Skeleton.js');
|
|
17
17
|
|
|
18
|
-
TextInput["default"].ControlledPasswordInput = ControlledPasswordInput["default"];
|
|
19
|
-
TextInput["default"].PasswordInput = PasswordInput["default"];
|
|
20
|
-
|
|
21
18
|
if (process.env.NODE_ENV !== "production") {
|
|
22
19
|
deprecateFieldOnObject.deprecateFieldOnObject(TextInput["default"], 'ControlledPasswordInput', ControlledPasswordInput["default"]);
|
|
23
20
|
deprecateFieldOnObject.deprecateFieldOnObject(TextInput["default"], 'PasswordInput', PasswordInput["default"]);
|
|
@@ -25,13 +25,26 @@ var warnProps = function warnProps(warnId) {
|
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
+
var helperProps = function helperProps(helperId) {
|
|
29
|
+
return {
|
|
30
|
+
'aria-describedby': helperId
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @param {{sharedTextInputProps: object, invalid?: boolean, invalidId?: string, warn?: boolean, warnId?: string, hasHelper?: boolean, helperId?: string}} config
|
|
35
|
+
* @returns {object}
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
|
|
28
39
|
var textInputProps = function textInputProps(_ref) {
|
|
29
40
|
var sharedTextInputProps = _ref.sharedTextInputProps,
|
|
30
41
|
invalid = _ref.invalid,
|
|
31
42
|
invalidId = _ref.invalidId,
|
|
32
43
|
warn = _ref.warn,
|
|
33
|
-
warnId = _ref.warnId
|
|
34
|
-
|
|
44
|
+
warnId = _ref.warnId,
|
|
45
|
+
hasHelper = _ref.hasHelper,
|
|
46
|
+
helperId = _ref.helperId;
|
|
47
|
+
return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, sharedTextInputProps), invalid ? invalidProps(invalidId) : {}), warn ? warnProps(warnId) : {}), hasHelper ? helperProps(helperId) : {});
|
|
35
48
|
};
|
|
36
49
|
|
|
37
50
|
exports.textInputProps = textInputProps;
|
|
@@ -20,6 +20,7 @@ var events = require('../../tools/events.js');
|
|
|
20
20
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
21
21
|
var useIsomorphicEffect = require('../../internal/useIsomorphicEffect.js');
|
|
22
22
|
var useNoInteractiveChildren = require('../../internal/useNoInteractiveChildren.js');
|
|
23
|
+
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
23
24
|
var match = require('../../internal/keyboard/match.js');
|
|
24
25
|
var keys = require('../../internal/keyboard/keys.js');
|
|
25
26
|
|
|
@@ -328,7 +329,7 @@ SelectableTile.propTypes = {
|
|
|
328
329
|
*/
|
|
329
330
|
value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]).isRequired
|
|
330
331
|
};
|
|
331
|
-
function ExpandableTile(_ref4) {
|
|
332
|
+
var ExpandableTile = /*#__PURE__*/React__default["default"].forwardRef(function ExpandableTile(_ref4, forwardRef) {
|
|
332
333
|
var _cx4, _cx5;
|
|
333
334
|
|
|
334
335
|
var tabIndex = _ref4.tabIndex,
|
|
@@ -386,6 +387,7 @@ function ExpandableTile(_ref4) {
|
|
|
386
387
|
var tileContent = React.useRef(null);
|
|
387
388
|
var tile = React.useRef(null);
|
|
388
389
|
var prefix = usePrefix.usePrefix();
|
|
390
|
+
var ref = useMergedRefs.useMergedRefs([forwardRef, tile]);
|
|
389
391
|
|
|
390
392
|
if (expanded !== prevExpanded) {
|
|
391
393
|
setIsExpanded(expanded);
|
|
@@ -473,7 +475,7 @@ function ExpandableTile(_ref4) {
|
|
|
473
475
|
};
|
|
474
476
|
}, []);
|
|
475
477
|
return interactive ? /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
476
|
-
ref:
|
|
478
|
+
ref: ref,
|
|
477
479
|
className: interactiveClassNames,
|
|
478
480
|
"aria-expanded": isExpanded
|
|
479
481
|
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -493,7 +495,7 @@ function ExpandableTile(_ref4) {
|
|
|
493
495
|
className: "".concat(prefix, "--tile-content")
|
|
494
496
|
}, childrenAsArray[1]))) : /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
|
|
495
497
|
type: "button",
|
|
496
|
-
ref:
|
|
498
|
+
ref: ref,
|
|
497
499
|
className: classNames,
|
|
498
500
|
"aria-expanded": isExpanded,
|
|
499
501
|
title: isExpanded ? tileExpandedIconText : tileCollapsedIconText
|
|
@@ -512,7 +514,7 @@ function ExpandableTile(_ref4) {
|
|
|
512
514
|
ref: belowTheFold,
|
|
513
515
|
className: "".concat(prefix, "--tile-content")
|
|
514
516
|
}, childrenAsArray[1])));
|
|
515
|
-
}
|
|
517
|
+
});
|
|
516
518
|
ExpandableTile.propTypes = {
|
|
517
519
|
/**
|
|
518
520
|
* The child nodes.
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
type ToggleSkeletonProps = {
|
|
10
|
+
'aria-label': string;
|
|
11
|
+
/**
|
|
12
|
+
* Specify an optional className to add to the form item wrapper.
|
|
13
|
+
*/
|
|
14
|
+
className?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Provide an id that unique represents the underlying `<input>`
|
|
17
|
+
*/
|
|
18
|
+
id?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Provide the text that will be read by a screen reader when visiting this
|
|
21
|
+
* control
|
|
22
|
+
* `aria-label` is always required but will be null if `labelText` is also
|
|
23
|
+
* provided
|
|
24
|
+
*/
|
|
25
|
+
labelText?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Specify the size of the Toggle. Currently only supports 'sm' or 'md' (default)
|
|
28
|
+
*/
|
|
29
|
+
size?: 'sm' | 'md';
|
|
30
|
+
} & React.HTMLAttributes<HTMLDivElement>;
|
|
31
|
+
declare class ToggleSkeleton extends React.Component<ToggleSkeletonProps> {
|
|
32
|
+
static propTypes: {
|
|
33
|
+
"aria-label": PropTypes.Validator<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Specify an optional className to add to the form item wrapper.
|
|
36
|
+
*/
|
|
37
|
+
className: PropTypes.Requireable<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Provide an id that unique represents the underlying `<input>`
|
|
40
|
+
*/
|
|
41
|
+
id: PropTypes.Requireable<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Provide the text that will be read by a screen reader when visiting this
|
|
44
|
+
* control
|
|
45
|
+
* `aria-label` is always required but will be undefined if `labelText` is also
|
|
46
|
+
* provided
|
|
47
|
+
*/
|
|
48
|
+
labelText: PropTypes.Requireable<string>;
|
|
49
|
+
/**
|
|
50
|
+
* Specify the size of the Toggle. Currently only supports 'sm' or 'md' (default)
|
|
51
|
+
*/
|
|
52
|
+
size: PropTypes.Requireable<string>;
|
|
53
|
+
};
|
|
54
|
+
static defaultProps: Partial<ToggleSkeletonProps>;
|
|
55
|
+
render(): JSX.Element;
|
|
56
|
+
}
|
|
57
|
+
export default ToggleSkeleton;
|
|
58
|
+
export { ToggleSkeleton };
|
|
@@ -60,7 +60,7 @@ var ToggleSkeleton = /*#__PURE__*/function (_React$Component) {
|
|
|
60
60
|
}), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
61
61
|
className: "".concat(prefix, "--toggle-input__label"),
|
|
62
62
|
htmlFor: id,
|
|
63
|
-
"aria-label": labelText ?
|
|
63
|
+
"aria-label": labelText ? undefined : _this.props['aria-label']
|
|
64
64
|
}, labelText ? _div || (_div = /*#__PURE__*/React__default["default"].createElement("div", null, labelText)) : null, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
65
65
|
className: "".concat(prefix, "--toggle__switch")
|
|
66
66
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
@@ -22,7 +22,7 @@ interface TooltipBaseProps {
|
|
|
22
22
|
*/
|
|
23
23
|
className?: string;
|
|
24
24
|
/**
|
|
25
|
-
* Determines
|
|
25
|
+
* Determines whether the tooltip should close when inner content is activated (click, Enter or Space)
|
|
26
26
|
*/
|
|
27
27
|
closeOnActivation?: boolean;
|
|
28
28
|
/**
|
package/lib/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from './components/Breadcrumb';
|
|
|
12
12
|
export * from './components/Button';
|
|
13
13
|
export * from './components/ButtonSet';
|
|
14
14
|
export * from './components/Checkbox';
|
|
15
|
+
export * from './components/CheckboxGroup';
|
|
15
16
|
export * from './components/ClassPrefix';
|
|
16
17
|
export * from './components/CodeSnippet';
|
|
17
18
|
export * from './components/ComboBox';
|
package/lib/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var Checkbox = require('./components/Checkbox/Checkbox.js');
|
|
|
14
14
|
var Checkbox_Skeleton = require('./components/Checkbox/Checkbox.Skeleton.js');
|
|
15
15
|
var index$4 = require('./components/ClassPrefix/index.js');
|
|
16
16
|
var index$5 = require('./components/ContentSwitcher/index.js');
|
|
17
|
+
require('./components/DataTable/index.js');
|
|
17
18
|
var Dropdown = require('./components/Dropdown/Dropdown.js');
|
|
18
19
|
var Dropdown_Skeleton = require('./components/Dropdown/Dropdown.Skeleton.js');
|
|
19
20
|
var FluidForm = require('./components/FluidForm/FluidForm.js');
|
|
@@ -64,6 +65,7 @@ var Accordion_Skeleton = require('./components/Accordion/Accordion.Skeleton.js')
|
|
|
64
65
|
var Accordion = require('./components/Accordion/Accordion.js');
|
|
65
66
|
var AspectRatio = require('./components/AspectRatio/AspectRatio.js');
|
|
66
67
|
var Breadcrumb_Skeleton = require('./components/Breadcrumb/Breadcrumb.Skeleton.js');
|
|
68
|
+
var CheckboxGroup = require('./components/CheckboxGroup/CheckboxGroup.js');
|
|
67
69
|
var CodeSnippet_Skeleton = require('./components/CodeSnippet/CodeSnippet.Skeleton.js');
|
|
68
70
|
var CodeSnippet = require('./components/CodeSnippet/CodeSnippet.js');
|
|
69
71
|
var ContainedListItem = require('./components/ContainedList/ContainedListItem/ContainedListItem.js');
|
|
@@ -180,6 +182,7 @@ var Select = require('./components/Select/Select.js');
|
|
|
180
182
|
var SelectItem = require('./components/SelectItem/SelectItem.js');
|
|
181
183
|
var SelectItemGroup = require('./components/SelectItemGroup/SelectItemGroup.js');
|
|
182
184
|
var Switch = require('./components/Switch/Switch.js');
|
|
185
|
+
var IconSwitch = require('./components/Switch/IconSwitch.js');
|
|
183
186
|
var Slider_Skeleton = require('./components/Slider/Slider.Skeleton.js');
|
|
184
187
|
var StructuredList_Skeleton = require('./components/StructuredList/StructuredList.Skeleton.js');
|
|
185
188
|
var StructuredList = require('./components/StructuredList/StructuredList.js');
|
|
@@ -289,6 +292,7 @@ exports.AccordionSkeleton = Accordion_Skeleton["default"];
|
|
|
289
292
|
exports.Accordion = Accordion["default"];
|
|
290
293
|
exports.AspectRatio = AspectRatio["default"];
|
|
291
294
|
exports.BreadcrumbSkeleton = Breadcrumb_Skeleton["default"];
|
|
295
|
+
exports.CheckboxGroup = CheckboxGroup["default"];
|
|
292
296
|
exports.CodeSnippetSkeleton = CodeSnippet_Skeleton["default"];
|
|
293
297
|
exports.CodeSnippet = CodeSnippet["default"];
|
|
294
298
|
exports.ContainedListItem = ContainedListItem["default"];
|
|
@@ -356,7 +360,7 @@ exports.ModalFooter = ModalFooter.ModalFooter;
|
|
|
356
360
|
exports.ModalHeader = ModalHeader.ModalHeader;
|
|
357
361
|
exports.DangerButton = DangerButton["default"];
|
|
358
362
|
exports.DataTable = DataTable["default"];
|
|
359
|
-
exports.Table = Table
|
|
363
|
+
exports.Table = Table.Table;
|
|
360
364
|
exports.TableActionList = TableActionList["default"];
|
|
361
365
|
exports.TableBatchAction = TableBatchAction["default"];
|
|
362
366
|
exports.TableBatchActions = TableBatchActions["default"];
|
|
@@ -415,6 +419,7 @@ exports.Select = Select["default"];
|
|
|
415
419
|
exports.SelectItem = SelectItem["default"];
|
|
416
420
|
exports.SelectItemGroup = SelectItemGroup["default"];
|
|
417
421
|
exports.Switch = Switch["default"];
|
|
422
|
+
exports.IconSwitch = IconSwitch["default"];
|
|
418
423
|
exports.SliderSkeleton = Slider_Skeleton["default"];
|
|
419
424
|
exports.StructuredListSkeleton = StructuredList_Skeleton["default"];
|
|
420
425
|
exports.StructuredListBody = StructuredList.StructuredListBody;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/react",
|
|
3
3
|
"description": "React components for the Carbon Design System",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.27.0-rc.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"storybook": "start-storybook -p 3000"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"react": "^16.8.6 || ^17.0.1",
|
|
41
|
-
"react-dom": "^16.8.6 || ^17.0.1",
|
|
40
|
+
"react": "^16.8.6 || ^17.0.1 || ^18.2.0",
|
|
41
|
+
"react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0",
|
|
42
42
|
"sass": "^1.33.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@babel/runtime": "^7.18.3",
|
|
46
46
|
"@carbon/feature-flags": "^0.13.0",
|
|
47
|
-
"@carbon/icons-react": "^11.
|
|
48
|
-
"@carbon/layout": "^11.
|
|
49
|
-
"@carbon/styles": "^1.
|
|
47
|
+
"@carbon/icons-react": "^11.18.0-rc.0",
|
|
48
|
+
"@carbon/layout": "^11.13.0-rc.0",
|
|
49
|
+
"@carbon/styles": "^1.27.0-rc.0",
|
|
50
50
|
"@carbon/telemetry": "0.1.0",
|
|
51
51
|
"classnames": "2.3.2",
|
|
52
52
|
"copy-to-clipboard": "^3.3.1",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"lodash.omit": "^4.5.0",
|
|
60
60
|
"lodash.throttle": "^4.1.1",
|
|
61
61
|
"prop-types": "^15.7.2",
|
|
62
|
-
"react-is": "^
|
|
62
|
+
"react-is": "^18.2.0",
|
|
63
63
|
"use-resize-observer": "^6.0.0",
|
|
64
64
|
"wicg-inert": "^3.1.1",
|
|
65
65
|
"window-or-global": "^1.0.1"
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"@babel/plugin-transform-react-constant-elements": "^7.17.12",
|
|
73
73
|
"@babel/preset-env": "^7.18.2",
|
|
74
74
|
"@babel/preset-react": "^7.17.12",
|
|
75
|
-
"@carbon/test-utils": "^10.
|
|
76
|
-
"@carbon/themes": "^11.
|
|
75
|
+
"@carbon/test-utils": "^10.28.0-rc.0",
|
|
76
|
+
"@carbon/themes": "^11.18.0-rc.0",
|
|
77
77
|
"@rollup/plugin-babel": "^6.0.0",
|
|
78
78
|
"@rollup/plugin-commonjs": "^24.0.0",
|
|
79
79
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
"postcss-loader": "^7.0.0",
|
|
107
107
|
"process": "^0.11.10",
|
|
108
108
|
"prop-types": "^15.7.2",
|
|
109
|
-
"react": "^
|
|
110
|
-
"react-dom": "^
|
|
109
|
+
"react": "^18.2.0",
|
|
110
|
+
"react-dom": "^18.2.0",
|
|
111
111
|
"requestanimationframe": "^0.0.23",
|
|
112
112
|
"rimraf": "^4.0.0",
|
|
113
113
|
"rollup": "^2.79.1",
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"**/*.scss",
|
|
134
134
|
"**/*.css"
|
|
135
135
|
],
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "af6bbf9ea6a025c19a041ea352dfde798e1cd22f"
|
|
137
137
|
}
|