@carbon/react 1.5.0 → 1.6.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/ComposedModal/ComposedModal.js +2 -1
- package/es/components/ComposedModal/next/ComposedModal.js +2 -1
- package/es/components/DatePicker/DatePicker.js +14 -5
- package/es/components/FileUploader/FileUploader.js +1 -1
- package/es/components/FileUploader/FileUploaderButton.js +1 -1
- package/es/components/FileUploader/Filename.js +1 -1
- package/es/components/Link/Link.js +6 -3
- package/es/components/ListBox/ListBoxPropTypes.js +1 -2
- package/es/components/ListBox/ListBoxSelection.js +3 -4
- package/es/components/RadioButton/next/RadioButton.js +2 -1
- package/es/components/Tabs/next/Tabs.js +42 -4
- package/es/components/Toggle/Toggle.js +147 -109
- package/es/components/UIShell/SideNav.js +3 -3
- package/es/index.js +3 -2
- package/lib/components/ComposedModal/ComposedModal.js +2 -1
- package/lib/components/ComposedModal/next/ComposedModal.js +2 -1
- package/lib/components/DatePicker/DatePicker.js +14 -5
- package/lib/components/FileUploader/FileUploader.js +1 -1
- package/lib/components/FileUploader/FileUploaderButton.js +1 -1
- package/lib/components/FileUploader/Filename.js +1 -1
- package/lib/components/Link/Link.js +6 -3
- package/lib/components/ListBox/ListBoxPropTypes.js +1 -21
- package/lib/components/ListBox/ListBoxSelection.js +3 -4
- package/lib/components/RadioButton/next/RadioButton.js +2 -1
- package/lib/components/Tabs/next/Tabs.js +42 -4
- package/lib/components/Toggle/Toggle.js +146 -107
- package/lib/components/UIShell/SideNav.js +3 -3
- package/lib/index.js +70 -68
- package/package.json +3 -3
- package/es/components/Toggle/index.js +0 -19
- package/es/components/Toggle/next/Toggle.js +0 -158
- package/lib/components/Toggle/index.js +0 -23
- package/lib/components/Toggle/next/Toggle.js +0 -169
|
@@ -223,7 +223,8 @@ var ComposedModal = /*#__PURE__*/function (_Component) {
|
|
|
223
223
|
onClick: this.handleClick,
|
|
224
224
|
onKeyDown: this.handleKeyDown,
|
|
225
225
|
onTransitionEnd: open ? this.handleTransitionEnd : undefined,
|
|
226
|
-
className: modalClass
|
|
226
|
+
className: modalClass,
|
|
227
|
+
tabIndex: "-1"
|
|
227
228
|
}), /*#__PURE__*/React__default.createElement("span", {
|
|
228
229
|
ref: this.startSentinel,
|
|
229
230
|
tabIndex: "0",
|
|
@@ -194,7 +194,8 @@ var ComposedModal = /*#__PURE__*/React__default.forwardRef(function ComposedModa
|
|
|
194
194
|
onBlur: handleBlur,
|
|
195
195
|
onClick: handleClick,
|
|
196
196
|
onKeyDown: handleKeyDown,
|
|
197
|
-
className: modalClass
|
|
197
|
+
className: modalClass,
|
|
198
|
+
tabIndex: "-1"
|
|
198
199
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
199
200
|
className: containerClass,
|
|
200
201
|
role: "dialog",
|
|
@@ -20,7 +20,7 @@ import { useSavedCallback } from '../../internal/useSavedCallback.js';
|
|
|
20
20
|
import { match } from '../../internal/keyboard/match.js';
|
|
21
21
|
import { ArrowDown } from '../../internal/keyboard/keys.js';
|
|
22
22
|
|
|
23
|
-
var _excluded = ["allowInput", "appendTo", "children", "className", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
|
|
23
|
+
var _excluded = ["allowInput", "appendTo", "children", "className", "closeOnSelect", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
|
|
24
24
|
|
|
25
25
|
l10n.en.weekdays.shorthand.forEach(function (_day, index) {
|
|
26
26
|
var currentDay = l10n.en.weekdays.shorthand;
|
|
@@ -152,6 +152,8 @@ function DatePicker(_ref) {
|
|
|
152
152
|
appendTo = _ref.appendTo,
|
|
153
153
|
children = _ref.children,
|
|
154
154
|
className = _ref.className,
|
|
155
|
+
_ref$closeOnSelect = _ref.closeOnSelect,
|
|
156
|
+
closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
|
|
155
157
|
_ref$dateFormat = _ref.dateFormat,
|
|
156
158
|
dateFormat = _ref$dateFormat === void 0 ? 'm/d/Y' : _ref$dateFormat,
|
|
157
159
|
datePickerType = _ref.datePickerType,
|
|
@@ -251,6 +253,7 @@ function DatePicker(_ref) {
|
|
|
251
253
|
inline: inline !== null && inline !== void 0 ? inline : false,
|
|
252
254
|
disableMobile: true,
|
|
253
255
|
defaultDate: value,
|
|
256
|
+
closeOnSelect: closeOnSelect,
|
|
254
257
|
mode: datePickerType,
|
|
255
258
|
allowInput: allowInput !== null && allowInput !== void 0 ? allowInput : true,
|
|
256
259
|
dateFormat: dateFormat,
|
|
@@ -311,7 +314,7 @@ function DatePicker(_ref) {
|
|
|
311
314
|
// error with IBM Equal Access Accessibility Checker so we add an aria
|
|
312
315
|
// role to the container div.
|
|
313
316
|
|
|
314
|
-
calendar.calendarContainer.setAttribute('role', '
|
|
317
|
+
calendar.calendarContainer.setAttribute('role', 'application'); // IBM EAAC requires an aria-label on a role='region'
|
|
315
318
|
|
|
316
319
|
calendar.calendarContainer.setAttribute('aria-label', 'calendar-container');
|
|
317
320
|
}
|
|
@@ -375,9 +378,10 @@ function DatePicker(_ref) {
|
|
|
375
378
|
}, [inline]);
|
|
376
379
|
useEffect(function () {
|
|
377
380
|
if (calendarRef.current) {
|
|
378
|
-
|
|
379
|
-
value
|
|
380
|
-
}
|
|
381
|
+
if (value !== undefined) {
|
|
382
|
+
calendarRef.current.setDate(value);
|
|
383
|
+
}
|
|
384
|
+
|
|
381
385
|
updateClassNames(calendarRef.current, prefix); //for simple date picker w/o calendar; initial mount may not have value
|
|
382
386
|
} else if (!calendarRef.current && value) {
|
|
383
387
|
startInputField.current.value = value;
|
|
@@ -412,6 +416,11 @@ DatePicker.propTypes = {
|
|
|
412
416
|
*/
|
|
413
417
|
className: PropTypes.string,
|
|
414
418
|
|
|
419
|
+
/**
|
|
420
|
+
* flatpickr prop passthrough. Controls whether the calendar dropdown closes upon selection.
|
|
421
|
+
*/
|
|
422
|
+
closeOnSelect: PropTypes.bool,
|
|
423
|
+
|
|
415
424
|
/**
|
|
416
425
|
* The date format.
|
|
417
426
|
*/
|
|
@@ -224,7 +224,7 @@ _defineProperty(FileUploader, "propTypes", {
|
|
|
224
224
|
iconDescription: FeatureFlags.enabled('enable-v11-release') ? PropTypes.string.isRequired : PropTypes.string,
|
|
225
225
|
|
|
226
226
|
/**
|
|
227
|
-
* Specify the description text of this
|
|
227
|
+
* Specify the description text of this `<FileUploader>`
|
|
228
228
|
*/
|
|
229
229
|
labelDescription: PropTypes.string,
|
|
230
230
|
|
|
@@ -18,9 +18,12 @@ var Link = /*#__PURE__*/React__default.forwardRef(function Link(_ref, ref) {
|
|
|
18
18
|
var children = _ref.children,
|
|
19
19
|
customClassName = _ref.className,
|
|
20
20
|
href = _ref.href,
|
|
21
|
-
disabled = _ref.disabled,
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
_ref$disabled = _ref.disabled,
|
|
22
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
23
|
+
_ref$inline = _ref.inline,
|
|
24
|
+
inline = _ref$inline === void 0 ? false : _ref$inline,
|
|
25
|
+
_ref$visited = _ref.visited,
|
|
26
|
+
visited = _ref$visited === void 0 ? false : _ref$visited,
|
|
24
27
|
Icon = _ref.renderIcon,
|
|
25
28
|
size = _ref.size,
|
|
26
29
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
|
-
import * as FeatureFlags from '@carbon/feature-flags';
|
|
10
9
|
|
|
11
10
|
var ListBoxType = PropTypes.oneOf(['default', 'inline']);
|
|
12
|
-
var ListBoxSize =
|
|
11
|
+
var ListBoxSize = PropTypes.oneOf(['sm', 'md', 'lg']);
|
|
13
12
|
|
|
14
13
|
export { ListBoxSize, ListBoxType };
|
|
@@ -21,7 +21,7 @@ var _Close, _Close2, _defaultTranslations;
|
|
|
21
21
|
* selection.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
function ListBoxSelection(_ref) {
|
|
25
25
|
var _cx;
|
|
26
26
|
|
|
27
27
|
var clearSelection = _ref.clearSelection,
|
|
@@ -88,7 +88,7 @@ var ListBoxSelection = function ListBoxSelection(_ref) {
|
|
|
88
88
|
"aria-label": description,
|
|
89
89
|
title: description
|
|
90
90
|
}, selectionCount, _Close2 || (_Close2 = /*#__PURE__*/React__default.createElement(Close, null)));
|
|
91
|
-
}
|
|
91
|
+
}
|
|
92
92
|
|
|
93
93
|
var translationIds = {
|
|
94
94
|
'clear.all': 'clear.all',
|
|
@@ -143,6 +143,5 @@ ListBoxSelection.defaultProps = {
|
|
|
143
143
|
return defaultTranslations[id];
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
|
-
var ListBoxSelection$1 = ListBoxSelection;
|
|
147
146
|
|
|
148
|
-
export { ListBoxSelection
|
|
147
|
+
export { ListBoxSelection as default, translationIds };
|
|
@@ -50,7 +50,8 @@ var RadioButton = /*#__PURE__*/React__default.forwardRef(function RadioButton(_r
|
|
|
50
50
|
id: uniqueId,
|
|
51
51
|
ref: ref,
|
|
52
52
|
disabled: disabled,
|
|
53
|
-
value: value
|
|
53
|
+
value: value,
|
|
54
|
+
name: name
|
|
54
55
|
})), /*#__PURE__*/React__default.createElement("label", {
|
|
55
56
|
htmlFor: uniqueId,
|
|
56
57
|
className: "".concat(prefix, "--radio-button__label")
|
|
@@ -597,6 +597,11 @@ var TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref7, f
|
|
|
597
597
|
tabIndex = _useState8[0],
|
|
598
598
|
setTabIndex = _useState8[1];
|
|
599
599
|
|
|
600
|
+
var _useState9 = useState(false),
|
|
601
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
602
|
+
interactiveContent = _useState10[0],
|
|
603
|
+
setInteractiveContent = _useState10[1];
|
|
604
|
+
|
|
600
605
|
var _React$useContext3 = React__default.useContext(TabsContext),
|
|
601
606
|
selectedIndex = _React$useContext3.selectedIndex,
|
|
602
607
|
baseId = _React$useContext3.baseId;
|
|
@@ -604,14 +609,47 @@ var TabPanel = /*#__PURE__*/React__default.forwardRef(function TabPanel(_ref7, f
|
|
|
604
609
|
var index = React__default.useContext(TabPanelContext);
|
|
605
610
|
var id = "".concat(baseId, "-tabpanel-").concat(index);
|
|
606
611
|
var tabId = "".concat(baseId, "-tab-").concat(index);
|
|
607
|
-
var className = cx("".concat(prefix, "--tab-content"), customClassName
|
|
612
|
+
var className = cx("".concat(prefix, "--tab-content"), customClassName, _defineProperty({}, "".concat(prefix, "--tab-content--interactive"), interactiveContent));
|
|
613
|
+
useEffectOnce(function () {
|
|
614
|
+
if (!panel.current) {
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
608
617
|
|
|
609
|
-
|
|
610
|
-
var interactiveContent = getInteractiveContent(panel.current);
|
|
618
|
+
var content = getInteractiveContent(panel.current);
|
|
611
619
|
|
|
612
|
-
if (
|
|
620
|
+
if (content) {
|
|
621
|
+
setInteractiveContent(true);
|
|
613
622
|
setTabIndex('-1');
|
|
614
623
|
}
|
|
624
|
+
}); // tabindex should only be 0 if no interactive content in children
|
|
625
|
+
|
|
626
|
+
useEffect(function () {
|
|
627
|
+
if (!panel.current) {
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
var node = panel.current;
|
|
632
|
+
|
|
633
|
+
function callback() {
|
|
634
|
+
var content = getInteractiveContent(node);
|
|
635
|
+
|
|
636
|
+
if (content) {
|
|
637
|
+
setInteractiveContent(true);
|
|
638
|
+
setTabIndex('-1');
|
|
639
|
+
} else {
|
|
640
|
+
setInteractiveContent(false);
|
|
641
|
+
setTabIndex('0');
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
var observer = new MutationObserver(callback);
|
|
646
|
+
observer.observe(node, {
|
|
647
|
+
childList: true,
|
|
648
|
+
subtree: true
|
|
649
|
+
});
|
|
650
|
+
return function () {
|
|
651
|
+
observer.disconnect(node);
|
|
652
|
+
};
|
|
615
653
|
}, []);
|
|
616
654
|
return /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
|
|
617
655
|
"aria-labelledby": tabId,
|
|
@@ -5,116 +5,154 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import PropTypes from 'prop-types';
|
|
8
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
10
9
|
import React__default from 'react';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
11
|
import cx from 'classnames';
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var checkedProps = {};
|
|
56
|
-
|
|
57
|
-
if (typeof toggled !== 'undefined') {
|
|
58
|
-
checkedProps.checked = toggled;
|
|
59
|
-
} else {
|
|
60
|
-
checkedProps.defaultChecked = defaultToggled;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
64
|
-
className: wrapperClasses
|
|
65
|
-
}, /*#__PURE__*/React__default.createElement("input", _extends({}, other, checkedProps, {
|
|
66
|
-
"aria-label": null,
|
|
67
|
-
type: "checkbox",
|
|
68
|
-
id: id,
|
|
69
|
-
className: toggleClasses,
|
|
70
|
-
onChange: function onChange(evt) {
|
|
71
|
-
_onChange && _onChange(evt);
|
|
72
|
-
onToggle(input.checked, id, evt);
|
|
73
|
-
},
|
|
74
|
-
ref: function ref(el) {
|
|
75
|
-
input = el;
|
|
76
|
-
},
|
|
77
|
-
onKeyUp: function onKeyUp(evt) {
|
|
78
|
-
if (match(evt, Enter)) {
|
|
79
|
-
input.checked = !input.checked;
|
|
80
|
-
_onChange && _onChange(evt);
|
|
81
|
-
onToggle(input.checked, id, evt);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
})), /*#__PURE__*/React__default.createElement("label", {
|
|
85
|
-
className: "".concat(prefix, "--toggle-input__label"),
|
|
86
|
-
htmlFor: id,
|
|
87
|
-
"aria-label": typeof labelText === 'string' ? null : this.props['aria-label']
|
|
88
|
-
}, labelText, /*#__PURE__*/React__default.createElement("span", {
|
|
89
|
-
className: "".concat(prefix, "--toggle__switch")
|
|
90
|
-
}, size && /*#__PURE__*/React__default.createElement("svg", {
|
|
91
|
-
className: "".concat(prefix, "--toggle__check"),
|
|
92
|
-
width: "6px",
|
|
93
|
-
height: "5px",
|
|
94
|
-
viewBox: "0 0 6 5"
|
|
95
|
-
}, _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
96
|
-
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
97
|
-
}))), /*#__PURE__*/React__default.createElement("span", {
|
|
98
|
-
className: "".concat(prefix, "--toggle__text--off"),
|
|
99
|
-
"aria-hidden": "true"
|
|
100
|
-
}, labelA), /*#__PURE__*/React__default.createElement("span", {
|
|
101
|
-
className: "".concat(prefix, "--toggle__text--on"),
|
|
102
|
-
"aria-hidden": "true"
|
|
103
|
-
}, labelB))));
|
|
12
|
+
import { useControllableState } from '../../internal/useControllableState.js';
|
|
13
|
+
import { usePrefix } from '../../internal/usePrefix.js';
|
|
14
|
+
|
|
15
|
+
var _path;
|
|
16
|
+
|
|
17
|
+
var _excluded = ["className", "defaultToggled", "disabled", "hideLabel", "id", "labelA", "labelB", "labelText", "onClick", "onToggle", "size", "toggled"];
|
|
18
|
+
function Toggle(_ref) {
|
|
19
|
+
var className = _ref.className,
|
|
20
|
+
_ref$defaultToggled = _ref.defaultToggled,
|
|
21
|
+
defaultToggled = _ref$defaultToggled === void 0 ? false : _ref$defaultToggled,
|
|
22
|
+
_ref$disabled = _ref.disabled,
|
|
23
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
24
|
+
_ref$hideLabel = _ref.hideLabel,
|
|
25
|
+
hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
|
|
26
|
+
id = _ref.id,
|
|
27
|
+
_ref$labelA = _ref.labelA,
|
|
28
|
+
labelA = _ref$labelA === void 0 ? 'Off' : _ref$labelA,
|
|
29
|
+
_ref$labelB = _ref.labelB,
|
|
30
|
+
labelB = _ref$labelB === void 0 ? 'On' : _ref$labelB,
|
|
31
|
+
labelText = _ref.labelText,
|
|
32
|
+
onClick = _ref.onClick,
|
|
33
|
+
onToggle = _ref.onToggle,
|
|
34
|
+
_ref$size = _ref.size,
|
|
35
|
+
size = _ref$size === void 0 ? 'md' : _ref$size,
|
|
36
|
+
toggled = _ref.toggled,
|
|
37
|
+
other = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
+
|
|
39
|
+
var prefix = usePrefix();
|
|
40
|
+
|
|
41
|
+
var _useControllableState = useControllableState({
|
|
42
|
+
value: toggled,
|
|
43
|
+
onChange: onToggle,
|
|
44
|
+
defaultValue: defaultToggled
|
|
45
|
+
}),
|
|
46
|
+
_useControllableState2 = _slicedToArray(_useControllableState, 2),
|
|
47
|
+
checked = _useControllableState2[0],
|
|
48
|
+
setChecked = _useControllableState2[1];
|
|
49
|
+
|
|
50
|
+
function handleClick(e) {
|
|
51
|
+
setChecked(!checked);
|
|
52
|
+
|
|
53
|
+
if (onClick) {
|
|
54
|
+
onClick(e);
|
|
104
55
|
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return Toggle;
|
|
108
|
-
}(React__default.Component);
|
|
109
|
-
|
|
110
|
-
_defineProperty(Toggle, "propTypes", (_defineProperty2 = {}, _defineProperty(_defineProperty2, 'aria-label', PropTypes.string.isRequired), _defineProperty(_defineProperty2, "className", PropTypes.string), _defineProperty(_defineProperty2, "defaultToggled", PropTypes.bool), _defineProperty(_defineProperty2, "id", PropTypes.string.isRequired), _defineProperty(_defineProperty2, "labelA", PropTypes.node.isRequired), _defineProperty(_defineProperty2, "labelB", PropTypes.node.isRequired), _defineProperty(_defineProperty2, "labelText", PropTypes.node), _defineProperty(_defineProperty2, "onChange", PropTypes.func), _defineProperty(_defineProperty2, "onToggle", PropTypes.func), _defineProperty(_defineProperty2, "size", PropTypes.oneOf(['sm', 'md'])), _defineProperty(_defineProperty2, "toggled", PropTypes.bool), _defineProperty2));
|
|
111
|
-
|
|
112
|
-
_defineProperty(Toggle, "contextType", PrefixContext);
|
|
113
|
-
|
|
114
|
-
_defineProperty(Toggle, "defaultProps", (_defineProperty3 = {
|
|
115
|
-
defaultToggled: false
|
|
116
|
-
}, _defineProperty(_defineProperty3, 'aria-label', 'Toggle'), _defineProperty(_defineProperty3, "labelA", 'Off'), _defineProperty(_defineProperty3, "labelB", 'On'), _defineProperty(_defineProperty3, "onToggle", function onToggle() {}), _defineProperty3));
|
|
117
|
-
|
|
118
|
-
var ToggleClassic = Toggle;
|
|
56
|
+
}
|
|
119
57
|
|
|
120
|
-
|
|
58
|
+
var isSm = size === 'sm';
|
|
59
|
+
var sideLabel = hideLabel ? labelText : checked ? labelB : labelA;
|
|
60
|
+
var wrapperClasses = cx("".concat(prefix, "--toggle"), _defineProperty({}, "".concat(prefix, "--toggle--disabled"), disabled), className);
|
|
61
|
+
var labelTextClasses = cx("".concat(prefix, "--toggle__label-text"), _defineProperty({}, "".concat(prefix, "--visually-hidden"), hideLabel));
|
|
62
|
+
var appearanceClasses = cx("".concat(prefix, "--toggle__appearance"), _defineProperty({}, "".concat(prefix, "--toggle__appearance--sm"), isSm));
|
|
63
|
+
var switchClasses = cx("".concat(prefix, "--toggle__switch"), _defineProperty({}, "".concat(prefix, "--toggle__switch--checked"), checked));
|
|
64
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
65
|
+
className: wrapperClasses
|
|
66
|
+
}, /*#__PURE__*/React__default.createElement("button", _extends({}, other, {
|
|
67
|
+
id: id,
|
|
68
|
+
className: "".concat(prefix, "--toggle__button"),
|
|
69
|
+
role: "switch",
|
|
70
|
+
type: "button",
|
|
71
|
+
"aria-checked": checked,
|
|
72
|
+
disabled: disabled,
|
|
73
|
+
onClick: handleClick
|
|
74
|
+
})), /*#__PURE__*/React__default.createElement("label", {
|
|
75
|
+
htmlFor: id,
|
|
76
|
+
className: "".concat(prefix, "--toggle__label")
|
|
77
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
78
|
+
className: labelTextClasses
|
|
79
|
+
}, labelText), /*#__PURE__*/React__default.createElement("div", {
|
|
80
|
+
className: appearanceClasses
|
|
81
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
82
|
+
className: switchClasses
|
|
83
|
+
}, isSm && /*#__PURE__*/React__default.createElement("svg", {
|
|
84
|
+
className: "".concat(prefix, "--toggle__check"),
|
|
85
|
+
width: "6px",
|
|
86
|
+
height: "5px",
|
|
87
|
+
viewBox: "0 0 6 5"
|
|
88
|
+
}, _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
89
|
+
d: "M2.2 2.7L5 0 6 1 2.2 5 0 2.7 1 1.5z"
|
|
90
|
+
})))), /*#__PURE__*/React__default.createElement("span", {
|
|
91
|
+
className: "".concat(prefix, "--toggle__text"),
|
|
92
|
+
"aria-hidden": "true"
|
|
93
|
+
}, sideLabel))));
|
|
94
|
+
}
|
|
95
|
+
Toggle.propTypes = {
|
|
96
|
+
/**
|
|
97
|
+
* Specify a custom className to apply to the form-item node
|
|
98
|
+
*/
|
|
99
|
+
className: PropTypes.string,
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Specify whether the toggle should be on by default
|
|
103
|
+
*/
|
|
104
|
+
defaultToggled: PropTypes.bool,
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Whether this control should be disabled
|
|
108
|
+
*/
|
|
109
|
+
disabled: PropTypes.bool,
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Specify whether the label should be hidden, or not
|
|
113
|
+
*/
|
|
114
|
+
hideLabel: PropTypes.bool,
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Provide an id that unique represents the underlying `<button>`
|
|
118
|
+
*/
|
|
119
|
+
id: PropTypes.string.isRequired,
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Specify the label for the "off" position
|
|
123
|
+
*/
|
|
124
|
+
labelA: PropTypes.node,
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Specify the label for the "on" position
|
|
128
|
+
*/
|
|
129
|
+
labelB: PropTypes.node,
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Provide the text that will be read by a screen reader when visiting this
|
|
133
|
+
* control
|
|
134
|
+
*/
|
|
135
|
+
labelText: PropTypes.node.isRequired,
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Provide an event listener that is called when the control is clicked
|
|
139
|
+
*/
|
|
140
|
+
onClick: PropTypes.func,
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Provide an event listener that is called when the control is toggled
|
|
144
|
+
*/
|
|
145
|
+
onToggle: PropTypes.func,
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Specify the size of the Toggle. Currently only supports 'sm' or 'md' (default)
|
|
149
|
+
*/
|
|
150
|
+
size: PropTypes.oneOf(['sm', 'md']),
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Specify whether the control is toggled
|
|
154
|
+
*/
|
|
155
|
+
toggled: PropTypes.bool
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export { Toggle, Toggle as default };
|
|
@@ -212,15 +212,15 @@ SideNav.propTypes = _objectSpread2(_objectSpread2({}, AriaLabelPropType), {}, {
|
|
|
212
212
|
* @param {object} event
|
|
213
213
|
* @param {boolean} value
|
|
214
214
|
*/
|
|
215
|
-
onToggle: PropTypes.func
|
|
216
|
-
|
|
215
|
+
onToggle: PropTypes.func
|
|
217
216
|
/**
|
|
218
217
|
* Provide a custom function for translating all message ids within this
|
|
219
218
|
* component. This function will take in two arguments: the mesasge Id and the
|
|
220
219
|
* state of the component. From this, you should return a string representing
|
|
221
220
|
* the label you want displayed or read by screen readers.
|
|
222
221
|
*/
|
|
223
|
-
translateById: PropTypes.func
|
|
222
|
+
// translateById: PropTypes.func,
|
|
223
|
+
|
|
224
224
|
});
|
|
225
225
|
var SideNav$1 = SideNav;
|
|
226
226
|
|
package/es/index.js
CHANGED
|
@@ -79,7 +79,8 @@ export { default as RadioTile } from './components/RadioTile/RadioTile.js';
|
|
|
79
79
|
export { default as TileGroup } from './components/TileGroup/index.js';
|
|
80
80
|
export { default as TimePicker } from './components/TimePicker/index.js';
|
|
81
81
|
export { default as TimePickerSelect } from './components/TimePickerSelect/index.js';
|
|
82
|
-
export { default as
|
|
82
|
+
export { default as ToggleSkeleton } from './components/Toggle/Toggle.Skeleton.js';
|
|
83
|
+
export { Toggle } from './components/Toggle/Toggle.js';
|
|
83
84
|
export { Toggletip, ToggletipActions, ToggletipButton, ToggletipContent, ToggletipLabel } from './components/Toggletip/index.js';
|
|
84
85
|
export { default as UnorderedList } from './components/UnorderedList/UnorderedList.js';
|
|
85
86
|
export { default as SkeletonText } from './components/SkeletonText/SkeletonText.js';
|
|
@@ -95,7 +96,6 @@ export { default as SearchSkeleton } from './components/Search/Search.Skeleton.j
|
|
|
95
96
|
export { default as SliderSkeleton } from './components/Slider/Slider.Skeleton.js';
|
|
96
97
|
export { default as TabsSkeleton } from './components/Tabs/Tabs.Skeleton.js';
|
|
97
98
|
export { default as TextInputSkeleton } from './components/TextInput/TextInput.Skeleton.js';
|
|
98
|
-
export { default as ToggleSkeleton } from './components/Toggle/Toggle.Skeleton.js';
|
|
99
99
|
export { default as ToggleSmallSkeleton } from './components/ToggleSmall/ToggleSmall.Skeleton.js';
|
|
100
100
|
export { default as IconSkeleton } from './components/Icon/Icon.Skeleton.js';
|
|
101
101
|
export { HeaderNavigation, SideNavMenu } from './components/UIShell/index.js';
|
|
@@ -110,6 +110,7 @@ export { HStack, VStack } from './components/Stack/index.js';
|
|
|
110
110
|
export { DefinitionTooltip } from './components/Tooltip/next/DefinitionTooltip.js';
|
|
111
111
|
import './components/TreeView/index.js';
|
|
112
112
|
export { GlobalTheme, Theme, useTheme } from './components/Theme/index.js';
|
|
113
|
+
export { usePrefix } from './internal/usePrefix.js';
|
|
113
114
|
export { default as AspectRatio } from './components/AspectRatio/AspectRatio.js';
|
|
114
115
|
export { default as Filename } from './components/FileUploader/Filename.js';
|
|
115
116
|
export { default as FileUploaderButton } from './components/FileUploader/FileUploaderButton.js';
|
|
@@ -233,7 +233,8 @@ var ComposedModal = /*#__PURE__*/function (_Component) {
|
|
|
233
233
|
onClick: this.handleClick,
|
|
234
234
|
onKeyDown: this.handleKeyDown,
|
|
235
235
|
onTransitionEnd: open ? this.handleTransitionEnd : undefined,
|
|
236
|
-
className: modalClass
|
|
236
|
+
className: modalClass,
|
|
237
|
+
tabIndex: "-1"
|
|
237
238
|
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
238
239
|
ref: this.startSentinel,
|
|
239
240
|
tabIndex: "0",
|
|
@@ -204,7 +204,8 @@ var ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function C
|
|
|
204
204
|
onBlur: handleBlur,
|
|
205
205
|
onClick: handleClick,
|
|
206
206
|
onKeyDown: handleKeyDown,
|
|
207
|
-
className: modalClass
|
|
207
|
+
className: modalClass,
|
|
208
|
+
tabIndex: "-1"
|
|
208
209
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
209
210
|
className: containerClass,
|
|
210
211
|
role: "dialog",
|
|
@@ -31,7 +31,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
31
31
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
32
32
|
var flatpickr__default = /*#__PURE__*/_interopDefaultLegacy(flatpickr);
|
|
33
33
|
|
|
34
|
-
var _excluded = ["allowInput", "appendTo", "children", "className", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
|
|
34
|
+
var _excluded = ["allowInput", "appendTo", "children", "className", "closeOnSelect", "dateFormat", "datePickerType", "disable", "enable", "inline", "light", "locale", "maxDate", "minDate", "onChange", "onClose", "onOpen", "short", "value"];
|
|
35
35
|
|
|
36
36
|
index["default"].en.weekdays.shorthand.forEach(function (_day, index$1) {
|
|
37
37
|
var currentDay = index["default"].en.weekdays.shorthand;
|
|
@@ -163,6 +163,8 @@ function DatePicker(_ref) {
|
|
|
163
163
|
appendTo = _ref.appendTo,
|
|
164
164
|
children = _ref.children,
|
|
165
165
|
className = _ref.className,
|
|
166
|
+
_ref$closeOnSelect = _ref.closeOnSelect,
|
|
167
|
+
closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
|
|
166
168
|
_ref$dateFormat = _ref.dateFormat,
|
|
167
169
|
dateFormat = _ref$dateFormat === void 0 ? 'm/d/Y' : _ref$dateFormat,
|
|
168
170
|
datePickerType = _ref.datePickerType,
|
|
@@ -262,6 +264,7 @@ function DatePicker(_ref) {
|
|
|
262
264
|
inline: inline !== null && inline !== void 0 ? inline : false,
|
|
263
265
|
disableMobile: true,
|
|
264
266
|
defaultDate: value,
|
|
267
|
+
closeOnSelect: closeOnSelect,
|
|
265
268
|
mode: datePickerType,
|
|
266
269
|
allowInput: allowInput !== null && allowInput !== void 0 ? allowInput : true,
|
|
267
270
|
dateFormat: dateFormat,
|
|
@@ -322,7 +325,7 @@ function DatePicker(_ref) {
|
|
|
322
325
|
// error with IBM Equal Access Accessibility Checker so we add an aria
|
|
323
326
|
// role to the container div.
|
|
324
327
|
|
|
325
|
-
calendar.calendarContainer.setAttribute('role', '
|
|
328
|
+
calendar.calendarContainer.setAttribute('role', 'application'); // IBM EAAC requires an aria-label on a role='region'
|
|
326
329
|
|
|
327
330
|
calendar.calendarContainer.setAttribute('aria-label', 'calendar-container');
|
|
328
331
|
}
|
|
@@ -386,9 +389,10 @@ function DatePicker(_ref) {
|
|
|
386
389
|
}, [inline]);
|
|
387
390
|
React.useEffect(function () {
|
|
388
391
|
if (calendarRef.current) {
|
|
389
|
-
|
|
390
|
-
value
|
|
391
|
-
}
|
|
392
|
+
if (value !== undefined) {
|
|
393
|
+
calendarRef.current.setDate(value);
|
|
394
|
+
}
|
|
395
|
+
|
|
392
396
|
updateClassNames(calendarRef.current, prefix); //for simple date picker w/o calendar; initial mount may not have value
|
|
393
397
|
} else if (!calendarRef.current && value) {
|
|
394
398
|
startInputField.current.value = value;
|
|
@@ -423,6 +427,11 @@ DatePicker.propTypes = {
|
|
|
423
427
|
*/
|
|
424
428
|
className: PropTypes__default["default"].string,
|
|
425
429
|
|
|
430
|
+
/**
|
|
431
|
+
* flatpickr prop passthrough. Controls whether the calendar dropdown closes upon selection.
|
|
432
|
+
*/
|
|
433
|
+
closeOnSelect: PropTypes__default["default"].bool,
|
|
434
|
+
|
|
426
435
|
/**
|
|
427
436
|
* The date format.
|
|
428
437
|
*/
|
|
@@ -253,7 +253,7 @@ _rollupPluginBabelHelpers.defineProperty(FileUploader, "propTypes", {
|
|
|
253
253
|
iconDescription: FeatureFlags__namespace.enabled('enable-v11-release') ? PropTypes__default["default"].string.isRequired : PropTypes__default["default"].string,
|
|
254
254
|
|
|
255
255
|
/**
|
|
256
|
-
* Specify the description text of this
|
|
256
|
+
* Specify the description text of this `<FileUploader>`
|
|
257
257
|
*/
|
|
258
258
|
labelDescription: PropTypes__default["default"].string,
|
|
259
259
|
|