@carbon/react 1.8.0-rc.0 → 1.9.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/index.js CHANGED
@@ -39,11 +39,9 @@ export { default as InlineLoading } from './components/InlineLoading/InlineLoadi
39
39
  export { default as Link } from './components/Link/Link.js';
40
40
  export { default as ListItem } from './components/ListItem/ListItem.js';
41
41
  export { default as Loading } from './components/Loading/Loading.js';
42
- export { default as Modal } from './components/Modal/index.js';
42
+ export { default as Modal } from './components/Modal/Modal.js';
43
43
  export { default as ModalWrapper } from './components/ModalWrapper/ModalWrapper.js';
44
44
  import './components/MultiSelect/index.js';
45
- export { default as NumberInputSkeleton } from './components/NumberInput/NumberInput.Skeleton.js';
46
- export { default as NumberInput } from './components/NumberInput/NumberInput.js';
47
45
  export { default as OrderedList } from './components/OrderedList/OrderedList.js';
48
46
  export { default as OverflowMenu } from './components/OverflowMenu/index.js';
49
47
  export { default as OverflowMenuItem } from './components/OverflowMenuItem/index.js';
@@ -116,6 +114,7 @@ export { default as FileUploaderDropContainer } from './components/FileUploader/
116
114
  export { default as FileUploaderItem } from './components/FileUploader/FileUploaderItem.js';
117
115
  export { default as Row } from './components/Grid/Row.js';
118
116
  export { default as Column } from './components/Grid/Column.js';
117
+ export { default as NumberInputSkeleton } from './components/NumberInput/NumberInput.Skeleton.js';
119
118
  export { default as HeaderMenuButton } from './components/UIShell/HeaderMenuButton.js';
120
119
  export { default as HeaderName } from './components/UIShell/HeaderName.js';
121
120
  export { default as SkipToContent } from './components/UIShell/SkipToContent.js';
@@ -168,6 +167,7 @@ export { Grid } from './components/Grid/Grid.js';
168
167
  export { ColumnHang } from './components/Grid/ColumnHang.js';
169
168
  export { FlexGrid } from './components/Grid/FlexGrid.js';
170
169
  export { ActionableNotification, InlineNotification, NotificationActionButton, NotificationButton, ToastNotification } from './components/Notification/Notification.js';
170
+ export { NumberInput } from './components/NumberInput/NumberInput.js';
171
171
  export { default as ControlledPasswordInput } from './components/TextInput/ControlledPasswordInput.js';
172
172
  export { default as PasswordInput } from './components/TextInput/PasswordInput.js';
173
173
  export { ProgressStep } from './components/ProgressIndicator/ProgressIndicator.js';
@@ -225,7 +225,7 @@ var ComposedModal = /*#__PURE__*/React__default["default"].forwardRef(function C
225
225
  className: "".concat(prefix, "--visually-hidden")
226
226
  }, "Focus sentinel")));
227
227
  });
228
- ComposedModal.propTypes = (_ComposedModal$propTy = {}, _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, 'aria-label', PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, 'aria-labelledby', PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "children", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "className", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "containerClassName", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "danger", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "onClose", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "onKeyDown", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "open", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "preventCloseOnClickOutside", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "selectorPrimaryFocus", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "selectorsFloatingMenus", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "size", PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg'])), _ComposedModal$propTy);
228
+ ComposedModal.propTypes = (_ComposedModal$propTy = {}, _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, 'aria-label', PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, 'aria-labelledby', PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "children", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "className", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "containerClassName", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "danger", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "onClose", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "onKeyDown", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "open", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "preventCloseOnClickOutside", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "selectorPrimaryFocus", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "selectorsFloatingMenus", PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)), _rollupPluginBabelHelpers.defineProperty(_ComposedModal$propTy, "size", PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg'])), _ComposedModal$propTy);
229
229
  ComposedModal.defaultProps = {
230
230
  onKeyDown: function onKeyDown() {},
231
231
  selectorPrimaryFocus: '[data-modal-primary-focus]'
@@ -322,7 +322,7 @@ Menu.propTypes = {
322
322
  /**
323
323
  * Optionally pass an element the Menu should be appended to as a child. Defaults to document.body.
324
324
  */
325
- target: PropTypes__default["default"].element,
325
+ target: PropTypes__default["default"].object,
326
326
 
327
327
  /**
328
328
  * Specify the x position where this menu is rendered
@@ -17,7 +17,6 @@ var iconsReact = require('@carbon/icons-react');
17
17
  var toggleClass = require('../../tools/toggleClass.js');
18
18
  var Button = require('../Button/Button.js');
19
19
  var ButtonSet = require('../ButtonSet/ButtonSet.js');
20
- var deprecate = require('../../prop-types/deprecate.js');
21
20
  var requiredIfGivenPropIsTruthy = require('../../prop-types/requiredIfGivenPropIsTruthy.js');
22
21
  var wrapFocus = require('../../internal/wrapFocus.js');
23
22
  var setupGetInstanceId = require('../../tools/setupGetInstanceId.js');
@@ -29,297 +28,229 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
29
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
29
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
31
30
 
32
- var _defineProperty2;
31
+ var _Modal$propTypes;
33
32
 
34
- var _excluded = ["modalHeading", "modalLabel", "modalAriaLabel", "passiveModal", "hasForm", "secondaryButtonText", "primaryButtonText", "open", "onRequestClose", "onRequestSubmit", "onSecondarySubmit", "iconDescription", "primaryButtonDisabled", "danger", "alert", "secondaryButtons", "selectorPrimaryFocus", "selectorsFloatingMenus", "shouldSubmitOnEnter", "size", "hasScrollingContent", "closeButtonLabel", "preventCloseOnClickOutside"];
33
+ var _excluded = ["children", "className", "modalHeading", "modalLabel", "modalAriaLabel", "passiveModal", "secondaryButtonText", "primaryButtonText", "open", "onRequestClose", "onRequestSubmit", "onSecondarySubmit", "primaryButtonDisabled", "danger", "alert", "secondaryButtons", "selectorPrimaryFocus", "selectorsFloatingMenus", "shouldSubmitOnEnter", "size", "hasScrollingContent", "closeButtonLabel", "preventCloseOnClickOutside"];
35
34
  var getInstanceId = setupGetInstanceId["default"]();
35
+ var Modal = /*#__PURE__*/React__default["default"].forwardRef(function Modal(_ref, ref) {
36
+ var _classNames;
37
+
38
+ var children = _ref.children,
39
+ className = _ref.className,
40
+ modalHeading = _ref.modalHeading,
41
+ modalLabel = _ref.modalLabel,
42
+ modalAriaLabel = _ref.modalAriaLabel,
43
+ passiveModal = _ref.passiveModal,
44
+ secondaryButtonText = _ref.secondaryButtonText,
45
+ primaryButtonText = _ref.primaryButtonText,
46
+ open = _ref.open,
47
+ onRequestClose = _ref.onRequestClose,
48
+ onRequestSubmit = _ref.onRequestSubmit,
49
+ onSecondarySubmit = _ref.onSecondarySubmit,
50
+ primaryButtonDisabled = _ref.primaryButtonDisabled,
51
+ danger = _ref.danger,
52
+ alert = _ref.alert,
53
+ secondaryButtons = _ref.secondaryButtons,
54
+ selectorPrimaryFocus = _ref.selectorPrimaryFocus,
55
+ selectorsFloatingMenus = _ref.selectorsFloatingMenus,
56
+ shouldSubmitOnEnter = _ref.shouldSubmitOnEnter,
57
+ size = _ref.size,
58
+ hasScrollingContent = _ref.hasScrollingContent,
59
+ closeButtonLabel = _ref.closeButtonLabel,
60
+ preventCloseOnClickOutside = _ref.preventCloseOnClickOutside,
61
+ rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
62
+
63
+ var prefix = usePrefix.usePrefix();
64
+ var button = React.useRef();
65
+ var secondaryButton = React.useRef();
66
+ var innerModal = React.useRef();
67
+ var startTrap = React.useRef();
68
+ var endTrap = React.useRef();
69
+ var modalInstanceId = "modal-".concat(getInstanceId());
70
+ var modalLabelId = "".concat(prefix, "--modal-header__label--").concat(modalInstanceId);
71
+ var modalHeadingId = "".concat(prefix, "--modal-header__heading--").concat(modalInstanceId);
72
+ var modalBodyId = "".concat(prefix, "--modal-body--").concat(modalInstanceId);
73
+ var modalCloseButtonClass = "".concat(prefix, "--modal-close");
74
+
75
+ function isCloseButton(element) {
76
+ return !onSecondarySubmit && element === secondaryButton.current || element.classList.contains(modalCloseButtonClass);
77
+ }
36
78
 
37
- var Modal = /*#__PURE__*/function (_Component) {
38
- _rollupPluginBabelHelpers.inherits(Modal, _Component);
39
-
40
- var _super = _rollupPluginBabelHelpers.createSuper(Modal);
41
-
42
- function Modal() {
43
- var _this;
44
-
45
- _rollupPluginBabelHelpers.classCallCheck(this, Modal);
79
+ function handleKeyDown(evt) {
80
+ if (open) {
81
+ if (evt.which === 27) {
82
+ onRequestClose(evt);
83
+ }
46
84
 
47
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
48
- args[_key] = arguments[_key];
85
+ if (evt.which === 13 && shouldSubmitOnEnter && !isCloseButton(evt.target)) {
86
+ onRequestSubmit(evt);
87
+ }
49
88
  }
89
+ }
50
90
 
51
- _this = _super.call.apply(_super, [this].concat(args));
52
-
53
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "button", /*#__PURE__*/React__default["default"].createRef());
54
-
55
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "secondaryButton", /*#__PURE__*/React__default["default"].createRef());
56
-
57
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "outerModal", /*#__PURE__*/React__default["default"].createRef());
58
-
59
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "innerModal", /*#__PURE__*/React__default["default"].createRef());
60
-
61
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "startTrap", /*#__PURE__*/React__default["default"].createRef());
62
-
63
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "endTrap", /*#__PURE__*/React__default["default"].createRef());
64
-
65
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "modalInstanceId", "modal-".concat(getInstanceId()));
66
-
67
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "modalLabelId", "".concat(_this.context, "--modal-header__label--").concat(_this.modalInstanceId));
68
-
69
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "modalHeadingId", "".concat(_this.context, "--modal-header__heading--").concat(_this.modalInstanceId));
70
-
71
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "modalBodyId", "".concat(_this.context, "--modal-body--").concat(_this.modalInstanceId));
72
-
73
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "modalCloseButtonClass", "".concat(_this.context, "--modal-close"));
74
-
75
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "isCloseButton", function (element) {
76
- return !_this.props.onSecondarySubmit && element === _this.secondaryButton.current || element.classList.contains(_this.modalCloseButtonClass);
77
- });
78
-
79
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleKeyDown", function (evt) {
80
- if (_this.props.open) {
81
- if (evt.which === 27) {
82
- _this.props.onRequestClose(evt);
83
- }
84
-
85
- if (evt.which === 13 && _this.props.shouldSubmitOnEnter && !_this.isCloseButton(evt.target)) {
86
- _this.props.onRequestSubmit(evt);
87
- }
88
- }
89
- });
91
+ function handleMousedown(evt) {
92
+ if (innerModal.current && !innerModal.current.contains(evt.target) && !wrapFocus.elementOrParentIsFloatingMenu(evt.target, selectorsFloatingMenus) && !preventCloseOnClickOutside) {
93
+ onRequestClose(evt);
94
+ }
95
+ }
90
96
 
91
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleMousedown", function (evt) {
92
- if (_this.innerModal.current && !_this.innerModal.current.contains(evt.target) && !wrapFocus.elementOrParentIsFloatingMenu(evt.target, _this.props.selectorsFloatingMenus) && !_this.props.preventCloseOnClickOutside) {
93
- _this.props.onRequestClose(evt);
94
- }
95
- });
97
+ function handleBlur(_ref2) {
98
+ var oldActiveNode = _ref2.target,
99
+ currentActiveNode = _ref2.relatedTarget;
100
+
101
+ if (open && currentActiveNode && oldActiveNode) {
102
+ var bodyNode = innerModal.current;
103
+ var startTrapNode = startTrap.current;
104
+ var endTrapNode = endTrap.current;
105
+ wrapFocus["default"]({
106
+ bodyNode: bodyNode,
107
+ startTrapNode: startTrapNode,
108
+ endTrapNode: endTrapNode,
109
+ currentActiveNode: currentActiveNode,
110
+ oldActiveNode: oldActiveNode,
111
+ selectorsFloatingMenus: selectorsFloatingMenus
112
+ });
113
+ }
114
+ }
96
115
 
97
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleBlur", function (_ref) {
98
- var oldActiveNode = _ref.target,
99
- currentActiveNode = _ref.relatedTarget;
100
- var _this$props = _this.props,
101
- open = _this$props.open,
102
- selectorsFloatingMenus = _this$props.selectorsFloatingMenus;
116
+ var onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
117
+ var modalClasses = cx__default["default"]("".concat(prefix, "--modal"), (_classNames = {}, _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--modal-tall"), !passiveModal), _rollupPluginBabelHelpers.defineProperty(_classNames, 'is-visible', open), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--modal--danger"), danger), _rollupPluginBabelHelpers.defineProperty(_classNames, className, className), _classNames));
118
+ var containerClasses = cx__default["default"]("".concat(prefix, "--modal-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--modal-container--").concat(size), size));
119
+ var contentClasses = cx__default["default"]("".concat(prefix, "--modal-content"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--modal-scroll-content"), hasScrollingContent));
120
+ var footerClasses = cx__default["default"]("".concat(prefix, "--modal-footer"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--modal-footer--three-button"), Array.isArray(secondaryButtons) && secondaryButtons.length === 2));
121
+ var modalButton = /*#__PURE__*/React__default["default"].createElement("button", {
122
+ className: modalCloseButtonClass,
123
+ type: "button",
124
+ onClick: onRequestClose,
125
+ title: ariaLabel,
126
+ "aria-label": closeButtonLabel ? closeButtonLabel : 'close',
127
+ ref: button
128
+ }, /*#__PURE__*/React__default["default"].createElement(iconsReact.Close, {
129
+ size: 20,
130
+ "aria-hidden": "true",
131
+ tabIndex: "-1",
132
+ className: "".concat(modalCloseButtonClass, "__icon")
133
+ }));
134
+ var ariaLabel = modalLabel || ['aria-label'] || modalAriaLabel || modalHeading;
135
+ var getAriaLabelledBy = modalLabel ? modalLabelId : modalHeadingId;
136
+ var hasScrollingContentProps = hasScrollingContent ? {
137
+ tabIndex: 0,
138
+ role: 'region',
139
+ 'aria-label': ariaLabel,
140
+ 'aria-labelledby': getAriaLabelledBy
141
+ } : {};
142
+ var alertDialogProps = {};
143
+
144
+ if (alert && passiveModal) {
145
+ alertDialogProps.role = 'alert';
146
+ }
103
147
 
104
- if (open && currentActiveNode && oldActiveNode) {
105
- var bodyNode = _this.innerModal.current;
106
- var startTrapNode = _this.startTrap.current;
107
- var endTrapNode = _this.endTrap.current;
108
- wrapFocus["default"]({
109
- bodyNode: bodyNode,
110
- startTrapNode: startTrapNode,
111
- endTrapNode: endTrapNode,
112
- currentActiveNode: currentActiveNode,
113
- oldActiveNode: oldActiveNode,
114
- selectorsFloatingMenus: selectorsFloatingMenus
115
- });
116
- }
117
- });
148
+ if (alert && !passiveModal) {
149
+ alertDialogProps.role = 'alertdialog';
150
+ alertDialogProps['aria-describedby'] = modalBodyId;
151
+ }
118
152
 
119
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "initialFocus", function (focusContainerElement) {
120
- var containerElement = focusContainerElement || _this.innerModal.current;
121
- var primaryFocusElement = containerElement ? containerElement.querySelector(_this.props.selectorPrimaryFocus) : null;
153
+ React.useEffect(function () {
154
+ return function () {
155
+ toggleClass["default"](document.body, "".concat(prefix, "--body--with-modal-open"), false);
156
+ };
157
+ }, [prefix]);
158
+ React.useEffect(function () {
159
+ toggleClass["default"](document.body, "".concat(prefix, "--body--with-modal-open"), open);
160
+ }, [open, prefix]);
161
+ React.useEffect(function () {
162
+ var initialFocus = function initialFocus(focusContainerElement) {
163
+ var containerElement = focusContainerElement || innerModal.current;
164
+ var primaryFocusElement = containerElement ? containerElement.querySelector(selectorPrimaryFocus) : null;
122
165
 
123
166
  if (primaryFocusElement) {
124
167
  return primaryFocusElement;
125
168
  }
126
169
 
127
- return _this.button && _this.button.current;
128
- });
170
+ return button && button.current;
171
+ };
129
172
 
130
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "focusButton", function (focusContainerElement) {
131
- var target = _this.initialFocus(focusContainerElement);
173
+ var focusButton = function focusButton(focusContainerElement) {
174
+ var target = initialFocus(focusContainerElement);
132
175
 
133
176
  if (target) {
134
177
  target.focus();
135
178
  }
136
- });
137
-
138
- _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.assertThisInitialized(_this), "handleTransitionEnd", function (evt) {
139
- if (evt.target === evt.currentTarget && // Not to handle `onTransitionEnd` on child DOM nodes
140
- _this.outerModal.current && _this.outerModal.current.offsetWidth && _this.outerModal.current.offsetHeight && _this.beingOpen) {
141
- _this.focusButton(evt.currentTarget);
142
-
143
- _this.beingOpen = false;
144
- }
145
- });
146
-
147
- return _this;
148
- }
149
-
150
- _rollupPluginBabelHelpers.createClass(Modal, [{
151
- key: "componentDidUpdate",
152
- value: function componentDidUpdate(prevProps) {
153
- if (!prevProps.open && this.props.open) {
154
- this.beingOpen = true;
155
- } else if (prevProps.open && !this.props.open) {
156
- this.beingOpen = false;
157
- }
158
-
159
- toggleClass["default"](document.body, "".concat(this.context, "--body--with-modal-open"), this.props.open);
160
- }
161
- }, {
162
- key: "componentWillUnmount",
163
- value: function componentWillUnmount() {
164
- toggleClass["default"](document.body, "".concat(this.context, "--body--with-modal-open"), false);
165
- }
166
- }, {
167
- key: "componentDidMount",
168
- value: function componentDidMount() {
169
- toggleClass["default"](document.body, "".concat(this.context, "--body--with-modal-open"), this.props.open);
170
-
171
- if (!this.props.open) {
172
- return;
173
- }
174
-
175
- this.focusButton(this.innerModal.current);
176
- }
177
- }, {
178
- key: "render",
179
- value: function render() {
180
- var _classNames, _classNames3;
181
-
182
- var _this$props2 = this.props,
183
- modalHeading = _this$props2.modalHeading,
184
- modalLabel = _this$props2.modalLabel,
185
- modalAriaLabel = _this$props2.modalAriaLabel,
186
- passiveModal = _this$props2.passiveModal,
187
- hasForm = _this$props2.hasForm,
188
- secondaryButtonText = _this$props2.secondaryButtonText,
189
- primaryButtonText = _this$props2.primaryButtonText,
190
- open = _this$props2.open,
191
- onRequestClose = _this$props2.onRequestClose,
192
- onRequestSubmit = _this$props2.onRequestSubmit,
193
- onSecondarySubmit = _this$props2.onSecondarySubmit,
194
- iconDescription = _this$props2.iconDescription,
195
- primaryButtonDisabled = _this$props2.primaryButtonDisabled,
196
- danger = _this$props2.danger,
197
- alert = _this$props2.alert,
198
- secondaryButtons = _this$props2.secondaryButtons;
199
- _this$props2.selectorPrimaryFocus;
200
- _this$props2.selectorsFloatingMenus;
201
- _this$props2.shouldSubmitOnEnter;
202
- var size = _this$props2.size,
203
- hasScrollingContent = _this$props2.hasScrollingContent,
204
- closeButtonLabel = _this$props2.closeButtonLabel;
205
- _this$props2.preventCloseOnClickOutside;
206
- var other = _rollupPluginBabelHelpers.objectWithoutProperties(_this$props2, _excluded);
207
-
208
- var prefix = this.context;
209
- var onSecondaryButtonClick = onSecondarySubmit ? onSecondarySubmit : onRequestClose;
210
- var modalClasses = cx__default["default"]((_classNames = {}, _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--modal"), true), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--modal-tall"), !passiveModal), _rollupPluginBabelHelpers.defineProperty(_classNames, 'is-visible', open), _rollupPluginBabelHelpers.defineProperty(_classNames, "".concat(prefix, "--modal--danger"), this.props.danger), _rollupPluginBabelHelpers.defineProperty(_classNames, this.props.className, this.props.className), _classNames));
211
- var containerClasses = cx__default["default"]("".concat(prefix, "--modal-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--modal-container--").concat(size), size));
212
- var contentClasses = cx__default["default"]("".concat(prefix, "--modal-content"), (_classNames3 = {}, _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--modal-content--with-form"), hasForm), _rollupPluginBabelHelpers.defineProperty(_classNames3, "".concat(prefix, "--modal-scroll-content"), hasScrollingContent), _classNames3));
213
- var footerClasses = cx__default["default"]("".concat(prefix, "--modal-footer"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(prefix, "--modal-footer--three-button"), Array.isArray(secondaryButtons) && secondaryButtons.length === 2));
214
- var modalButton = /*#__PURE__*/React__default["default"].createElement("button", {
215
- className: this.modalCloseButtonClass,
216
- type: "button",
217
- onClick: onRequestClose,
218
- title: ariaLabel ? ariaLabel : iconDescription,
219
- "aria-label": closeButtonLabel ? closeButtonLabel : 'close',
220
- ref: this.button
221
- }, /*#__PURE__*/React__default["default"].createElement(iconsReact.Close, {
222
- size: 20,
223
- "aria-hidden": "true",
224
- tabIndex: "-1",
225
- className: "".concat(this.modalCloseButtonClass, "__icon")
226
- }));
227
- var ariaLabel = modalLabel || this.props['aria-label'] || modalAriaLabel || modalHeading;
228
- var getAriaLabelledBy = modalLabel ? this.modalLabelId : this.modalHeadingId;
229
- var hasScrollingContentProps = hasScrollingContent ? {
230
- tabIndex: 0,
231
- role: 'region',
232
- 'aria-label': ariaLabel,
233
- 'aria-labelledby': getAriaLabelledBy
234
- } : {};
235
- var alertDialogProps = {};
236
-
237
- if (alert && passiveModal) {
238
- alertDialogProps.role = 'alert';
239
- }
240
-
241
- if (alert && !passiveModal) {
242
- alertDialogProps.role = 'alertdialog';
243
- alertDialogProps['aria-describedby'] = this.modalBodyId;
244
- }
179
+ };
245
180
 
246
- var modalBody = /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
247
- ref: this.innerModal,
248
- role: "dialog"
249
- }, alertDialogProps, {
250
- className: containerClasses,
251
- "aria-label": ariaLabel,
252
- "aria-modal": "true",
253
- tabIndex: "-1"
254
- }), /*#__PURE__*/React__default["default"].createElement("div", {
255
- className: "".concat(prefix, "--modal-header")
256
- }, passiveModal && modalButton, modalLabel && /*#__PURE__*/React__default["default"].createElement("h2", {
257
- id: this.modalLabelId,
258
- className: "".concat(prefix, "--modal-header__label")
259
- }, modalLabel), /*#__PURE__*/React__default["default"].createElement("h3", {
260
- id: this.modalHeadingId,
261
- className: "".concat(prefix, "--modal-header__heading")
262
- }, modalHeading), !passiveModal && modalButton), /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
263
- id: this.modalBodyId,
264
- className: contentClasses
265
- }, hasScrollingContentProps, {
266
- "aria-labelledby": getAriaLabelledBy
267
- }), this.props.children), hasScrollingContent && /*#__PURE__*/React__default["default"].createElement("div", {
268
- className: "".concat(prefix, "--modal-content--overflow-indicator")
269
- }), !passiveModal && /*#__PURE__*/React__default["default"].createElement(ButtonSet["default"], {
270
- className: footerClasses
271
- }, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map(function (_ref2, i) {
272
- var buttonText = _ref2.buttonText,
273
- onButtonClick = _ref2.onClick;
274
- return /*#__PURE__*/React__default["default"].createElement(Button["default"], {
275
- key: "".concat(buttonText, "-").concat(i),
276
- kind: "secondary",
277
- onClick: onButtonClick
278
- }, buttonText);
279
- }) : secondaryButtonText && /*#__PURE__*/React__default["default"].createElement(Button["default"], {
280
- kind: "secondary",
281
- onClick: onSecondaryButtonClick,
282
- ref: this.secondaryButton
283
- }, secondaryButtonText), /*#__PURE__*/React__default["default"].createElement(Button["default"], {
284
- kind: danger ? 'danger' : 'primary',
285
- disabled: primaryButtonDisabled,
286
- onClick: onRequestSubmit,
287
- ref: this.button
288
- }, primaryButtonText)));
289
- return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, other, {
290
- onKeyDown: this.handleKeyDown,
291
- onMouseDown: this.handleMousedown,
292
- onBlur: this.handleBlur,
293
- className: modalClasses,
294
- role: "presentation",
295
- onTransitionEnd: this.props.open ? this.handleTransitionEnd : undefined,
296
- ref: this.outerModal
297
- }), /*#__PURE__*/React__default["default"].createElement("span", {
298
- ref: this.startTrap,
299
- tabIndex: "0",
300
- role: "link",
301
- className: "".concat(prefix, "--visually-hidden")
302
- }, "Focus sentinel"), modalBody, /*#__PURE__*/React__default["default"].createElement("span", {
303
- ref: this.endTrap,
304
- tabIndex: "0",
305
- role: "link",
306
- className: "".concat(prefix, "--visually-hidden")
307
- }, "Focus sentinel"));
181
+ if (open) {
182
+ focusButton(innerModal.current);
308
183
  }
309
- }]);
310
-
311
- return Modal;
312
- }(React.Component);
313
-
314
- _rollupPluginBabelHelpers.defineProperty(Modal, "contextType", usePrefix.PrefixContext);
315
-
316
- _rollupPluginBabelHelpers.defineProperty(Modal, "propTypes", (_defineProperty2 = {
184
+ }, [open, selectorPrimaryFocus]);
185
+ var modalBody = /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
186
+ ref: innerModal,
187
+ role: "dialog"
188
+ }, alertDialogProps, {
189
+ className: containerClasses,
190
+ "aria-label": ariaLabel,
191
+ "aria-modal": "true",
192
+ tabIndex: "-1"
193
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
194
+ className: "".concat(prefix, "--modal-header")
195
+ }, passiveModal && modalButton, modalLabel && /*#__PURE__*/React__default["default"].createElement("h2", {
196
+ id: modalLabelId,
197
+ className: "".concat(prefix, "--modal-header__label")
198
+ }, modalLabel), /*#__PURE__*/React__default["default"].createElement("h3", {
199
+ id: modalHeadingId,
200
+ className: "".concat(prefix, "--modal-header__heading")
201
+ }, modalHeading), !passiveModal && modalButton), /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
202
+ id: modalBodyId,
203
+ className: contentClasses
204
+ }, hasScrollingContentProps, {
205
+ "aria-labelledby": getAriaLabelledBy
206
+ }), children), hasScrollingContent && /*#__PURE__*/React__default["default"].createElement("div", {
207
+ className: "".concat(prefix, "--modal-content--overflow-indicator")
208
+ }), !passiveModal && /*#__PURE__*/React__default["default"].createElement(ButtonSet["default"], {
209
+ className: footerClasses
210
+ }, Array.isArray(secondaryButtons) && secondaryButtons.length <= 2 ? secondaryButtons.map(function (_ref3, i) {
211
+ var buttonText = _ref3.buttonText,
212
+ onButtonClick = _ref3.onClick;
213
+ return /*#__PURE__*/React__default["default"].createElement(Button["default"], {
214
+ key: "".concat(buttonText, "-").concat(i),
215
+ kind: "secondary",
216
+ onClick: onButtonClick
217
+ }, buttonText);
218
+ }) : secondaryButtonText && /*#__PURE__*/React__default["default"].createElement(Button["default"], {
219
+ kind: "secondary",
220
+ onClick: onSecondaryButtonClick,
221
+ ref: secondaryButton
222
+ }, secondaryButtonText), /*#__PURE__*/React__default["default"].createElement(Button["default"], {
223
+ kind: danger ? 'danger' : 'primary',
224
+ disabled: primaryButtonDisabled,
225
+ onClick: onRequestSubmit,
226
+ ref: button
227
+ }, primaryButtonText)));
228
+ return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
229
+ onKeyDown: handleKeyDown,
230
+ onMouseDown: handleMousedown,
231
+ onBlur: handleBlur,
232
+ className: modalClasses,
233
+ role: "presentation",
234
+ ref: ref
235
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
236
+ ref: startTrap,
237
+ tabIndex: "0",
238
+ role: "link",
239
+ className: "".concat(prefix, "--visually-hidden")
240
+ }, "Focus sentinel"), modalBody, /*#__PURE__*/React__default["default"].createElement("span", {
241
+ ref: endTrap,
242
+ tabIndex: "0",
243
+ role: "link",
244
+ className: "".concat(prefix, "--visually-hidden")
245
+ }, "Focus sentinel"));
246
+ });
247
+ Modal.propTypes = (_Modal$propTypes = {
317
248
  /**
318
249
  * Specify whether the Modal is displaying an alert, error or warning
319
250
  * Should go hand in hand with the danger prop.
320
251
  */
321
252
  alert: PropTypes__default["default"].bool
322
- }, _rollupPluginBabelHelpers.defineProperty(_defineProperty2, 'aria-label', requiredIfGivenPropIsTruthy["default"]('hasScrollingContent', PropTypes__default["default"].string)), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "children", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "className", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "closeButtonLabel", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "danger", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "focusTrap", deprecate["default"](PropTypes__default["default"].bool, "\nThe prop `focusTrap` for Modal has been deprecated, as the feature of `focusTrap` runs by default.")), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "hasForm", deprecate["default"](PropTypes__default["default"].bool, "\nThe prop `hasForm` for Modal has been deprecated, as the feature of `hasForm` runs by default.")), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "hasScrollingContent", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "iconDescription", deprecate["default"](PropTypes__default["default"].string, 'The iconDescription prop is no longer needed and can be safely removed. This prop will be removed in the next major release of Carbon.')), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "id", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "modalAriaLabel", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "modalHeading", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "modalLabel", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onKeyDown", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onRequestClose", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onRequestSubmit", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "onSecondarySubmit", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "open", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "passiveModal", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "preventCloseOnClickOutside", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "primaryButtonDisabled", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "primaryButtonText", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "secondaryButtonText", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "secondaryButtons", function secondaryButtons(props, propName, componentName) {
253
+ }, _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, 'aria-label', requiredIfGivenPropIsTruthy["default"]('hasScrollingContent', PropTypes__default["default"].string)), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "children", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "className", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "closeButtonLabel", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "danger", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "hasScrollingContent", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "id", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "modalAriaLabel", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "modalHeading", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "modalLabel", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "onKeyDown", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "onRequestClose", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "onRequestSubmit", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "onSecondarySubmit", PropTypes__default["default"].func), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "open", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "passiveModal", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "preventCloseOnClickOutside", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "primaryButtonDisabled", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "primaryButtonText", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "secondaryButtonText", PropTypes__default["default"].node), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "secondaryButtons", function secondaryButtons(props, propName, componentName) {
323
254
  if (props.secondaryButtons) {
324
255
  if (!Array.isArray(props.secondaryButtons) || props.secondaryButtons.length !== 2) {
325
256
  return new Error("".concat(propName, " needs to be an array of two button config objects"));
@@ -335,9 +266,8 @@ _rollupPluginBabelHelpers.defineProperty(Modal, "propTypes", (_defineProperty2 =
335
266
  }
336
267
 
337
268
  return null;
338
- }), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "selectorPrimaryFocus", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "selectorsFloatingMenus", PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "shouldSubmitOnEnter", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_defineProperty2, "size", PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg'])), _defineProperty2));
339
-
340
- _rollupPluginBabelHelpers.defineProperty(Modal, "defaultProps", {
269
+ }), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "selectorPrimaryFocus", PropTypes__default["default"].string), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "selectorsFloatingMenus", PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "shouldSubmitOnEnter", PropTypes__default["default"].bool), _rollupPluginBabelHelpers.defineProperty(_Modal$propTypes, "size", PropTypes__default["default"].oneOf(['xs', 'sm', 'md', 'lg'])), _Modal$propTypes);
270
+ Modal.defaultProps = {
341
271
  onRequestClose: function onRequestClose() {},
342
272
  onRequestSubmit: function onRequestSubmit() {},
343
273
  primaryButtonDisabled: false,
@@ -348,6 +278,7 @@ _rollupPluginBabelHelpers.defineProperty(Modal, "defaultProps", {
348
278
  preventCloseOnClickOutside: false,
349
279
  selectorPrimaryFocus: '[data-modal-primary-focus]',
350
280
  hasScrollingContent: false
351
- });
281
+ };
282
+ var Modal$1 = Modal;
352
283
 
353
- exports["default"] = Modal;
284
+ exports["default"] = Modal$1;
@@ -9,31 +9,8 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
- var FeatureFlags = require('@carbon/feature-flags');
13
- var Modal$2 = require('./next/Modal.js');
14
- var Modal$3 = require('./Modal.js');
12
+ var Modal = require('./Modal.js');
15
13
 
16
- function _interopNamespace(e) {
17
- if (e && e.__esModule) return e;
18
- var n = Object.create(null);
19
- if (e) {
20
- Object.keys(e).forEach(function (k) {
21
- if (k !== 'default') {
22
- var d = Object.getOwnPropertyDescriptor(e, k);
23
- Object.defineProperty(n, k, d.get ? d : {
24
- enumerable: true,
25
- get: function () { return e[k]; }
26
- });
27
- }
28
- });
29
- }
30
- n["default"] = e;
31
- return Object.freeze(n);
32
- }
33
14
 
34
- var FeatureFlags__namespace = /*#__PURE__*/_interopNamespace(FeatureFlags);
35
15
 
36
- var Modal = FeatureFlags__namespace.enabled('enable-v11-release') ? Modal$2["default"] : Modal$3["default"];
37
- var Modal$1 = Modal;
38
-
39
- exports["default"] = Modal$1;
16
+ exports["default"] = Modal["default"];