@carbon/ibm-products 2.36.0-alpha.27 → 2.37.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +5404 -5117
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +4 -4
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +820 -61
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +329 -6
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/_virtual/_rollupPluginBabelHelpers.js +9 -10
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
- package/es/components/Carousel/Carousel.d.ts +46 -2
- package/es/components/Carousel/Carousel.js +36 -21
- package/es/components/Carousel/CarouselItem.d.ts +19 -2
- package/es/components/Carousel/CarouselItem.js +0 -1
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +261 -0
- package/es/components/ConditionBuilder/ConditionBuilder.js +45 -16
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +74 -0
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
- package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
- package/es/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +112 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +151 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +59 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +52 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +162 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +40 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +82 -0
- package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
- package/es/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +85 -0
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +145 -0
- package/es/components/ConditionBuilder/utils/util.d.ts +4 -0
- package/es/components/ConditionBuilder/utils/util.js +16 -0
- package/es/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
- package/es/components/CreateTearsheet/CreateTearsheet.js +12 -32
- package/es/components/Datagrid/useParentDimensions.js +1 -1
- package/es/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
- package/es/components/EditUpdateCards/EditUpdateCards.js +3 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
- package/es/components/ExpressiveCard/ExpressiveCard.js +4 -0
- package/es/components/InlineTip/InlineTipButton.d.ts +21 -2
- package/es/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
- package/es/components/InterstitialScreen/InterstitialScreen.js +25 -14
- package/es/components/Nav/NavItem.js +1 -1
- package/es/components/NotificationsPanel/NotificationsPanel.js +5 -6
- package/es/components/PageHeader/PageHeader.js +12 -3
- package/es/components/SidePanel/SidePanel.js +1 -1
- package/es/components/SimpleHeader/SimpleHeader.d.ts +1 -5
- package/es/components/SimpleHeader/SimpleHeader.js +2 -4
- package/es/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
- package/es/components/Tearsheet/TearsheetShell.d.ts +119 -10
- package/es/components/Tearsheet/TearsheetShell.js +18 -8
- package/es/components/UserProfileImage/UserProfileImage.d.ts +66 -2
- package/es/components/UserProfileImage/UserProfileImage.js +5 -3
- package/es/components/WebTerminal/WebTerminal.d.ts +46 -2
- package/es/components/WebTerminal/WebTerminal.js +2 -2
- package/es/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
- package/es/global/js/hooks/usePrefersReducedMotion.js +28 -0
- package/es/global/js/utils/Wrap.d.ts +31 -2
- package/es/global/js/utils/Wrap.js +7 -9
- package/es/global/js/utils/getNodeTextContent.d.ts +1 -1
- package/es/global/js/utils/getNodeTextContent.js +1 -1
- package/es/global/js/utils/window.d.ts +2 -0
- package/es/global/js/utils/window.js +12 -0
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2780 -0
- package/lib/_virtual/_rollupPluginBabelHelpers.js +9 -10
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +3 -1
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -2
- package/lib/components/Carousel/Carousel.d.ts +46 -2
- package/lib/components/Carousel/Carousel.js +35 -20
- package/lib/components/Carousel/CarouselItem.d.ts +19 -2
- package/lib/components/Carousel/CarouselItem.js +0 -1
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +21 -0
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +270 -0
- package/lib/components/ConditionBuilder/ConditionBuilder.js +46 -17
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +12 -0
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +48 -0
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +22 -0
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +83 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +18 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +90 -42
- package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.d.ts → ConditionBuilderProvider.d.ts} +5 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContext/{DataTreeContext.js → ConditionBuilderProvider.js} +27 -8
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +22 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +121 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +31 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +44 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +28 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +159 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +67 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +60 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js +170 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +48 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +11 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +90 -0
- package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.d.ts +15 -0
- package/lib/components/ConditionBuilder/ConditionConnector/ConditionConnector.js +93 -0
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +24 -0
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +153 -0
- package/lib/components/ConditionBuilder/utils/util.d.ts +4 -0
- package/lib/components/ConditionBuilder/utils/util.js +20 -0
- package/lib/components/CreateTearsheet/CreateTearsheet.d.ts +106 -4
- package/lib/components/CreateTearsheet/CreateTearsheet.js +12 -32
- package/lib/components/Datagrid/useParentDimensions.js +1 -1
- package/lib/components/EditUpdateCards/EditUpdateCards.d.ts +104 -2
- package/lib/components/EditUpdateCards/EditUpdateCards.js +3 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.d.ts +61 -2
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -3
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +97 -2
- package/lib/components/ExpressiveCard/ExpressiveCard.js +4 -0
- package/lib/components/InlineTip/InlineTipButton.d.ts +21 -2
- package/lib/components/InterstitialScreen/InterstitialScreen.d.ts +100 -2
- package/lib/components/InterstitialScreen/InterstitialScreen.js +24 -13
- package/lib/components/Nav/NavItem.js +2 -2
- package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -6
- package/lib/components/PageHeader/PageHeader.js +11 -2
- package/lib/components/SidePanel/SidePanel.js +1 -1
- package/lib/components/SimpleHeader/SimpleHeader.d.ts +1 -5
- package/lib/components/SimpleHeader/SimpleHeader.js +2 -4
- package/lib/components/Tearsheet/TearsheetNarrow.d.ts +4 -13
- package/lib/components/Tearsheet/TearsheetShell.d.ts +119 -10
- package/lib/components/Tearsheet/TearsheetShell.js +16 -6
- package/lib/components/UserProfileImage/UserProfileImage.d.ts +66 -2
- package/lib/components/UserProfileImage/UserProfileImage.js +5 -3
- package/lib/components/WebTerminal/WebTerminal.d.ts +46 -2
- package/lib/components/WebTerminal/WebTerminal.js +2 -2
- package/lib/global/js/hooks/usePrefersReducedMotion.d.ts +2 -0
- package/lib/global/js/hooks/usePrefersReducedMotion.js +32 -0
- package/lib/global/js/utils/Wrap.d.ts +31 -2
- package/lib/global/js/utils/Wrap.js +7 -9
- package/lib/global/js/utils/getNodeTextContent.d.ts +1 -1
- package/lib/global/js/utils/getNodeTextContent.js +1 -1
- package/lib/global/js/utils/window.d.ts +2 -0
- package/lib/global/js/utils/window.js +16 -0
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +2912 -0
- package/package.json +5 -5
- package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -1
- package/scss/components/ConditionBuilder/_condition-builder.scss +26 -0
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +46 -0
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +194 -0
- package/scss/components/ConditionBuilder/styles/_index.scss +2 -0
- package/scss/components/Guidebanner/_guidebanner.scss +3 -0
- package/scss/components/InterstitialScreen/_interstitial-screen.scss +1 -6
- package/scss/components/Tearsheet/_tearsheet.scss +3 -1
- package/telemetry.yml +3 -0
- package/es/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
- package/es/global/js/utils/keyboardNavigation.d.ts +0 -27
- package/es/global/js/utils/keyboardNavigation.js +0 -33
- package/es/global/js/utils/wrapFocus.d.ts +0 -25
- package/es/global/js/utils/wrapFocus.js +0 -68
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3004
- package/lib/components/ConditionBuilder/assets/sampleInput.d.ts +0 -58
- package/lib/global/js/utils/keyboardNavigation.d.ts +0 -27
- package/lib/global/js/utils/keyboardNavigation.js +0 -39
- package/lib/global/js/utils/wrapFocus.d.ts +0 -25
- package/lib/global/js/utils/wrapFocus.js +0 -73
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-8.js +0 -3136
@@ -1,8 +1,106 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024, 2024
|
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 React, { PropsWithChildren, ReactNode } from 'react';
|
8
|
+
type Media = {
|
9
|
+
breakpoints?: {
|
10
|
+
xlg?: number;
|
11
|
+
lg?: number;
|
12
|
+
};
|
13
|
+
} & ({
|
14
|
+
render?: () => ReactNode;
|
15
|
+
filePaths?: never;
|
16
|
+
} | {
|
17
|
+
render?: never;
|
18
|
+
filePaths?: string[];
|
19
|
+
});
|
20
|
+
interface InterstitialScreenProps extends PropsWithChildren {
|
21
|
+
/**
|
22
|
+
* Provide the contents of the InterstitialScreen.
|
23
|
+
*/
|
24
|
+
children: ReactNode;
|
25
|
+
/**
|
26
|
+
* Provide an optional class to be applied to the containing node.
|
27
|
+
*/
|
28
|
+
className?: string;
|
29
|
+
/**
|
30
|
+
* Tooltip text and aria label for the Close button icon.
|
31
|
+
*/
|
32
|
+
closeIconDescription?: string;
|
33
|
+
/**
|
34
|
+
* The domain this app belongs to, e.g. "IBM Cloud Pak".
|
35
|
+
*/
|
36
|
+
domainName?: string;
|
37
|
+
/**
|
38
|
+
* Provide an optional class to be applied to the <header> element >.
|
39
|
+
*/
|
40
|
+
headerClassName?: string;
|
41
|
+
/**
|
42
|
+
* Provide an optional class to be applied to the <header> element >.
|
43
|
+
*/
|
44
|
+
headerTitle?: string;
|
45
|
+
/**
|
46
|
+
* Optional parameter to hide the progress indicator when multiple steps are used.
|
47
|
+
*/
|
48
|
+
hideProgressIndicator?: boolean;
|
49
|
+
/**
|
50
|
+
* The aria label applied to the Interstitial Screen component
|
51
|
+
*/
|
52
|
+
interstitialAriaLabel?: string;
|
53
|
+
/**
|
54
|
+
* Specifies whether the component is shown as a full-screen
|
55
|
+
* experience, else it is shown as a modal by default.
|
56
|
+
*/
|
57
|
+
isFullScreen?: boolean;
|
58
|
+
/**
|
59
|
+
* Specifies whether the component is currently open.
|
60
|
+
*/
|
61
|
+
isOpen?: boolean;
|
62
|
+
/**
|
63
|
+
* The object describing an image in one of two shapes.
|
64
|
+
*
|
65
|
+
* If a single media element is required, use `{render}`.
|
66
|
+
*
|
67
|
+
* If a stepped animation is required, use `{filePaths}`.
|
68
|
+
*
|
69
|
+
* Breakpoints are used to set the media content column size as well as the remainder for the main content areas column size.
|
70
|
+
* Medium and small breakpoints will be set to 0 internally to focus on the main content area.
|
71
|
+
* @see {@link MEDIA_PROP_TYPE}.
|
72
|
+
*/
|
73
|
+
media?: Media;
|
74
|
+
/**
|
75
|
+
* The label for the Next button.
|
76
|
+
*/
|
77
|
+
nextButtonLabel?: string;
|
78
|
+
/**
|
79
|
+
* Function to call when the close button is clicked.
|
80
|
+
*/
|
81
|
+
onClose?: () => void;
|
82
|
+
/**
|
83
|
+
* The label for the Previous button.
|
84
|
+
*/
|
85
|
+
previousButtonLabel?: string;
|
86
|
+
/**
|
87
|
+
* The name of this app, e.g. "QRadar".
|
88
|
+
*/
|
89
|
+
productName?: string;
|
90
|
+
/**
|
91
|
+
* The label for the skip button.
|
92
|
+
*/
|
93
|
+
skipButtonLabel?: string;
|
94
|
+
/**
|
95
|
+
* The label for the start button.
|
96
|
+
*/
|
97
|
+
startButtonLabel?: string;
|
98
|
+
}
|
1
99
|
/**
|
2
100
|
* InterstitialScreen can be a full page or an overlay, and are
|
3
101
|
* shown on the first time a user accesses a new experience
|
4
102
|
* (e.g. upon first login or first time opening a page where a
|
5
103
|
* newly purchased capability is presented).
|
6
104
|
*/
|
7
|
-
export let InterstitialScreen: React.ForwardRefExoticComponent<React.RefAttributes<
|
8
|
-
|
105
|
+
export declare let InterstitialScreen: React.ForwardRefExoticComponent<InterstitialScreenProps & React.RefAttributes<HTMLDivElement>>;
|
106
|
+
export {};
|
@@ -60,7 +60,6 @@ var defaults = {
|
|
60
60
|
skipButtonLabel: '',
|
61
61
|
startButtonLabel: 'Get started'
|
62
62
|
};
|
63
|
-
|
64
63
|
/**
|
65
64
|
* InterstitialScreen can be a full page or an overlay, and are
|
66
65
|
* shown on the first time a user accesses a new experience
|
@@ -115,7 +114,7 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
115
114
|
var childArray = React.Children.toArray(children);
|
116
115
|
var isMultiStep = childArray.length > 1;
|
117
116
|
var mediaIsDefined = (media === null || media === void 0 ? void 0 : media.render) || (media === null || media === void 0 ? void 0 : media.filePaths);
|
118
|
-
var bodyScrollRef = React.useRef();
|
117
|
+
var bodyScrollRef = React.useRef(null);
|
119
118
|
var mediaBreakpoints = {
|
120
119
|
xlg: (media === null || media === void 0 || (_media$breakpoints = media.breakpoints) === null || _media$breakpoints === void 0 ? void 0 : _media$breakpoints.xlg) || 0,
|
121
120
|
lg: (media === null || media === void 0 || (_media$breakpoints2 = media.breakpoints) === null || _media$breakpoints2 === void 0 ? void 0 : _media$breakpoints2.lg) || 0,
|
@@ -136,7 +135,8 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
136
135
|
onClose();
|
137
136
|
}, [onClose]);
|
138
137
|
var scrollBodyToTop = function scrollBodyToTop() {
|
139
|
-
|
138
|
+
var _bodyScrollRef$curren;
|
139
|
+
(_bodyScrollRef$curren = bodyScrollRef.current) === null || _bodyScrollRef$curren === void 0 || _bodyScrollRef$curren.scroll({
|
140
140
|
top: 0,
|
141
141
|
behavior: 'smooth'
|
142
142
|
});
|
@@ -206,10 +206,12 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
206
206
|
vertical: false,
|
207
207
|
currentIndex: progStep
|
208
208
|
}, childArray.map(function (child, idx) {
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
209
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
210
|
+
return /*#__PURE__*/React__default["default"].createElement(react.ProgressStep, {
|
211
|
+
key: idx,
|
212
|
+
label: child.props.stepTitle
|
213
|
+
});
|
214
|
+
}
|
213
215
|
})))), /*#__PURE__*/React__default["default"].createElement(react.ModalBody, {
|
214
216
|
className: bodyBlockClass
|
215
217
|
}, childElements), /*#__PURE__*/React__default["default"].createElement(react.ModalFooter, null, renderFooter()));
|
@@ -235,10 +237,12 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
235
237
|
vertical: false,
|
236
238
|
currentIndex: progStep
|
237
239
|
}, childArray.map(function (child, idx) {
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
240
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
241
|
+
return /*#__PURE__*/React__default["default"].createElement(react.ProgressStep, {
|
242
|
+
key: idx,
|
243
|
+
label: child.props.stepTitle
|
244
|
+
});
|
245
|
+
}
|
242
246
|
})))), childElements, renderFooter()));
|
243
247
|
};
|
244
248
|
var renderBody = function renderBody() {
|
@@ -261,7 +265,10 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
261
265
|
className: "".concat(blockClass, "__carousel")
|
262
266
|
}, /*#__PURE__*/React__default["default"].createElement(Carousel.Carousel, {
|
263
267
|
disableArrowScroll: true,
|
264
|
-
ref: scrollRef
|
268
|
+
ref: scrollRef,
|
269
|
+
onScroll: function onScroll(scrollPercent) {
|
270
|
+
scrollPercent === 0 && setProgStep(0);
|
271
|
+
}
|
265
272
|
}, children)) : childArray[0])), mediaIsDefined && /*#__PURE__*/React__default["default"].createElement(react.Column, {
|
266
273
|
xlg: mediaBreakpoints.xlg,
|
267
274
|
lg: mediaBreakpoints.lg,
|
@@ -280,7 +287,10 @@ exports.InterstitialScreen = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
280
287
|
className: "".concat(blockClass, "__carousel")
|
281
288
|
}, /*#__PURE__*/React__default["default"].createElement(Carousel.Carousel, {
|
282
289
|
disableArrowScroll: true,
|
283
|
-
ref: scrollRef
|
290
|
+
ref: scrollRef,
|
291
|
+
onScroll: function onScroll(scrollPercent) {
|
292
|
+
scrollPercent === 0 && setProgStep(0);
|
293
|
+
}
|
284
294
|
}, children)) : /*#__PURE__*/React__default["default"].createElement("div", null, childArray[0])));
|
285
295
|
};
|
286
296
|
var renderFooter = function renderFooter() {
|
@@ -388,6 +398,7 @@ exports.InterstitialScreen.propTypes = {
|
|
388
398
|
* Medium and small breakpoints will be set to 0 internally to focus on the main content area.
|
389
399
|
* @see {@link MEDIA_PROP_TYPE}.
|
390
400
|
*/
|
401
|
+
/**@ts-ignore */
|
391
402
|
media: index["default"].oneOfType([index["default"].shape({
|
392
403
|
render: index["default"].func,
|
393
404
|
breakpoints: index["default"].shape({
|
@@ -16,7 +16,7 @@ var cx = require('classnames');
|
|
16
16
|
var settings = require('../../settings.js');
|
17
17
|
var uuidv4 = require('../../global/js/utils/uuidv4.js');
|
18
18
|
var NavItemLink = require('./NavItemLink.js');
|
19
|
-
var
|
19
|
+
var bucket9 = require('../../node_modules/@carbon/icons-react/es/generated/bucket-9.js');
|
20
20
|
|
21
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
22
22
|
|
@@ -91,7 +91,7 @@ var NavItem = function NavItem(_ref) {
|
|
91
91
|
element: element,
|
92
92
|
href: href,
|
93
93
|
tabIndex: navItemTabIndex
|
94
|
-
}, rest, externalLinkProps), children, externalLink && /*#__PURE__*/React__default["default"].createElement(
|
94
|
+
}, rest, externalLinkProps), children, externalLink && /*#__PURE__*/React__default["default"].createElement(bucket9.Launch, {
|
95
95
|
className: "".concat(blockClass, "__link--external__icon")
|
96
96
|
})));
|
97
97
|
};
|
@@ -17,6 +17,7 @@ var devtools = require('../../global/js/utils/devtools.js');
|
|
17
17
|
var settings = require('../../settings.js');
|
18
18
|
var utils = require('./utils.js');
|
19
19
|
var propsHelper = require('../../global/js/utils/props-helper.js');
|
20
|
+
var usePrefersReducedMotion = require('../../global/js/hooks/usePrefersReducedMotion.js');
|
20
21
|
var react = require('@carbon/react');
|
21
22
|
var icons = require('@carbon/react/icons');
|
22
23
|
var usePreviousValue = require('../../global/js/hooks/usePreviousValue.js');
|
@@ -162,9 +163,7 @@ exports.NotificationsPanel = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
162
163
|
var previousState = usePreviousValue.usePreviousValue({
|
163
164
|
open: open
|
164
165
|
});
|
165
|
-
var reducedMotion =
|
166
|
-
matches: true
|
167
|
-
};
|
166
|
+
var reducedMotion = usePrefersReducedMotion["default"]();
|
168
167
|
React.useEffect(function () {
|
169
168
|
// Set the notifications passed to the state within this component
|
170
169
|
setAllNotifications(data);
|
@@ -183,10 +182,10 @@ exports.NotificationsPanel = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
183
182
|
!open && setRender(false);
|
184
183
|
};
|
185
184
|
React.useEffect(function () {
|
186
|
-
if (!open && previousState !== null && previousState !== void 0 && previousState.open && reducedMotion
|
185
|
+
if (!open && previousState !== null && previousState !== void 0 && previousState.open && reducedMotion) {
|
187
186
|
setRender(false);
|
188
187
|
}
|
189
|
-
}, [open,
|
188
|
+
}, [open, previousState === null || previousState === void 0 ? void 0 : previousState.open, reducedMotion]);
|
190
189
|
var sortChronologically = function sortChronologically(arr) {
|
191
190
|
if (!arr || arr && !arr.length) {
|
192
191
|
return;
|
@@ -326,7 +325,7 @@ exports.NotificationsPanel = /*#__PURE__*/React__default["default"].forwardRef(f
|
|
326
325
|
id: blockClass,
|
327
326
|
className: cx__default["default"](blockClass, className, "".concat(blockClass, "__container")),
|
328
327
|
style: {
|
329
|
-
animation: !reducedMotion
|
328
|
+
animation: !reducedMotion ? "".concat(open ? 'fade-in 250ms' : 'fade-out forwards 250ms') : null
|
330
329
|
},
|
331
330
|
onAnimationEnd: onAnimationEnd,
|
332
331
|
ref: ref || notificationPanelRef
|
@@ -34,13 +34,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
34
34
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
35
35
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
36
36
|
|
37
|
-
var _excluded = ["actionBarItems", "actionBarMenuOptionsClass", "actionBarOverflowAriaLabel", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "allTagsModalTitle", "hasBackgroundAlways", "breadcrumbOverflowAriaLabel", "breadcrumbs", "children", "className", "collapseHeader", "collapseHeaderIconDescription", "collapseTitle", "disableBreadcrumbScroll", "enableBreadcrumbScroll", "expandHeaderIconDescription", "fullWidthGrid", "hasCollapseHeaderToggle", "narrowGrid", "navigation", "pageActions", "pageActionsOverflowLabel", "pageActionsMenuOptionsClass", "showAllTagsLabel", "subtitle", "tags", "title", "withoutBackground"];
|
37
|
+
var _excluded = ["actionBarItems", "actionBarMenuOptionsClass", "actionBarOverflowAriaLabel", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "allTagsModalTitle", "hasBackgroundAlways", "breadcrumbOverflowAriaLabel", "breadcrumbs", "children", "className", "collapseHeader", "collapseHeaderIconDescription", "collapseTitle", "disableBreadcrumbScroll", "enableBreadcrumbScroll", "expandHeaderIconDescription", "fullWidthGrid", "hasCollapseHeaderToggle", "narrowGrid", "navigation", "pageActions", "pageActionsOverflowLabel", "pageActionsMenuOptionsClass", "showAllTagsLabel", "subtitle", "tags", "title", "withoutBackground", "breadcrumbOverflowTooltipAlign"];
|
38
38
|
var componentName = 'PageHeader';
|
39
39
|
|
40
40
|
// Default values for props
|
41
41
|
var defaults = {
|
42
42
|
fullWidthGrid: false,
|
43
|
-
narrowGrid: false
|
43
|
+
narrowGrid: false,
|
44
|
+
breadcrumbOverflowTooltipAlign: 'right'
|
44
45
|
};
|
45
46
|
exports.PageHeader = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
46
47
|
var _withoutBackground, _enableBreadcrumbScro;
|
@@ -75,6 +76,8 @@ exports.PageHeader = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
75
76
|
tags = _ref.tags,
|
76
77
|
title = _ref.title,
|
77
78
|
withoutBackground = _ref.withoutBackground,
|
79
|
+
_ref$breadcrumbOverfl = _ref.breadcrumbOverflowTooltipAlign,
|
80
|
+
breadcrumbOverflowTooltipAlign = _ref$breadcrumbOverfl === void 0 ? defaults.breadcrumbOverflowTooltipAlign : _ref$breadcrumbOverfl,
|
78
81
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
79
82
|
// handle deprecated props - START
|
80
83
|
// if withoutBackground is nullish check deprecated_hasBackgroundAlways and default false
|
@@ -346,6 +349,8 @@ exports.PageHeader = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
346
349
|
noTrailingSlash: !!title,
|
347
350
|
overflowAriaLabel: breadcrumbOverflowAriaLabel,
|
348
351
|
breadcrumbs: breadcrumbs && breadcrumbItemForTitle ? breadcrumbs.concat(breadcrumbItemForTitle) : breadcrumbItemForTitle ? [breadcrumbItemForTitle] : breadcrumbs // breadcrumbs may be null or undefined
|
352
|
+
,
|
353
|
+
overflowTooltipAlign: breadcrumbOverflowTooltipAlign
|
349
354
|
}) : null), /*#__PURE__*/React__default["default"].createElement(react.Column, {
|
350
355
|
className: cx__default["default"](["".concat(PageHeaderUtils.blockClass, "__action-bar-column ").concat(PageHeaderUtils.blockClass, "__action-bar-column--background"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(PageHeaderUtils.blockClass, "__action-bar-column--has-page-actions"), pageActions), "".concat(PageHeaderUtils.blockClass, "__action-bar-column--influenced-by-collapse-button"), spaceForCollapseButton)])
|
351
356
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
@@ -537,6 +542,10 @@ exports.PageHeader.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
537
542
|
var breadcrumbs = _ref11.breadcrumbs;
|
538
543
|
return breadcrumbs && breadcrumbs.length > 0;
|
539
544
|
}),
|
545
|
+
/**
|
546
|
+
* align breadcrumb overflow tooltip
|
547
|
+
*/
|
548
|
+
breadcrumbOverflowTooltipAlign: react.Tooltip.propTypes.align,
|
540
549
|
/**
|
541
550
|
* Specifies the breadcrumb components to be shown in the breadcrumb area of
|
542
551
|
* the page header. Each item is specified as an object with optional fields
|
@@ -160,7 +160,7 @@ exports.SidePanel = /*#__PURE__*/React__default["default"].forwardRef(function (
|
|
160
160
|
titleItemsStyles(animationProgress);
|
161
161
|
}
|
162
162
|
}, [doAnimateTitle, panelRefValue === null || panelRefValue === void 0 ? void 0 : panelRefValue.style, scrollAnimationDistance, titleItemsStyles]);
|
163
|
-
var reducedMotion = typeof
|
163
|
+
var reducedMotion = typeof document !== 'undefined' && (_window = window) !== null && _window !== void 0 && _window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)') : {
|
164
164
|
matches: true
|
165
165
|
};
|
166
166
|
|
@@ -16,7 +16,7 @@ export function SimpleHeader({ breadcrumbs, className, title, noTrailingSlash, m
|
|
16
16
|
breadcrumbs: any;
|
17
17
|
className: any;
|
18
18
|
title: any;
|
19
|
-
noTrailingSlash
|
19
|
+
noTrailingSlash?: boolean | undefined;
|
20
20
|
maxVisible: any;
|
21
21
|
overflowAriaLabel: any;
|
22
22
|
}): import("react/jsx-runtime").JSX.Element;
|
@@ -40,9 +40,5 @@ export namespace SimpleHeader {
|
|
40
40
|
export { overflowAriaLabel_required_if_breadcrumbs_exist as overflowAriaLabel };
|
41
41
|
export let title: PropTypes.Requireable<string>;
|
42
42
|
}
|
43
|
-
namespace defaultProps {
|
44
|
-
let noTrailingSlash_1: boolean;
|
45
|
-
export { noTrailingSlash_1 as noTrailingSlash };
|
46
|
-
}
|
47
43
|
}
|
48
44
|
import PropTypes from 'prop-types';
|
@@ -42,7 +42,8 @@ var SimpleHeader = function SimpleHeader(_ref) {
|
|
42
42
|
var breadcrumbs = _ref.breadcrumbs,
|
43
43
|
className = _ref.className,
|
44
44
|
title = _ref.title,
|
45
|
-
noTrailingSlash = _ref.noTrailingSlash,
|
45
|
+
_ref$noTrailingSlash = _ref.noTrailingSlash,
|
46
|
+
noTrailingSlash = _ref$noTrailingSlash === void 0 ? true : _ref$noTrailingSlash,
|
46
47
|
maxVisible = _ref.maxVisible,
|
47
48
|
overflowAriaLabel = _ref.overflowAriaLabel,
|
48
49
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
@@ -95,9 +96,6 @@ SimpleHeader.propTypes = {
|
|
95
96
|
/** Header title */
|
96
97
|
title: index["default"].string
|
97
98
|
};
|
98
|
-
SimpleHeader.defaultProps = {
|
99
|
-
noTrailingSlash: true
|
100
|
-
};
|
101
99
|
|
102
100
|
exports.SimpleHeader = SimpleHeader;
|
103
101
|
exports.overflowAriaLabel_required_if_breadcrumbs_exist = overflowAriaLabel_required_if_breadcrumbs_exist;
|
@@ -8,11 +8,8 @@
|
|
8
8
|
import React, { ReactNode, PropsWithChildren } from 'react';
|
9
9
|
import PropTypes from 'prop-types';
|
10
10
|
import { ButtonProps } from '@carbon/react';
|
11
|
-
|
12
|
-
|
13
|
-
closeIconDescription: string;
|
14
|
-
};
|
15
|
-
interface TearsheetNarrowProps extends PropsWithChildren {
|
11
|
+
import { CloseIconDescriptionTypes } from './TearsheetShell';
|
12
|
+
interface TearsheetNarrowBaseProps extends PropsWithChildren {
|
16
13
|
/**
|
17
14
|
* The navigation actions to be shown as buttons in the action area at the
|
18
15
|
* bottom of the tearsheet. Each action is specified as an object with
|
@@ -36,13 +33,6 @@ interface TearsheetNarrowProps extends PropsWithChildren {
|
|
36
33
|
* An optional class or classes to be added to the outermost element.
|
37
34
|
*/
|
38
35
|
className?: string;
|
39
|
-
/**
|
40
|
-
* The accessibility title for the close icon (if shown).
|
41
|
-
*
|
42
|
-
* **Note:** This prop is only required if a close icon is shown, i.e. if
|
43
|
-
* there are a no navigation actions and/or hasCloseIcon is true.
|
44
|
-
*/
|
45
|
-
closeIconDescription?: closeIconDescriptionTypes;
|
46
36
|
/**
|
47
37
|
* A description of the flow, displayed in the header area of the tearsheet.
|
48
38
|
*/
|
@@ -89,6 +79,7 @@ interface TearsheetNarrowProps extends PropsWithChildren {
|
|
89
79
|
*/
|
90
80
|
verticalPosition?: 'normal' | 'lower';
|
91
81
|
}
|
82
|
+
type TearsheetNarrowProps = TearsheetNarrowBaseProps & CloseIconDescriptionTypes;
|
92
83
|
/**
|
93
84
|
* A narrow tearsheet is a slimmer variant of the tearsheet, providing a dialog
|
94
85
|
* that keeps users in-context and focused by bringing actionable content front
|
@@ -97,7 +88,7 @@ interface TearsheetNarrowProps extends PropsWithChildren {
|
|
97
88
|
* A narrow tearsheet comprises 3 zones: a heading area including a title, the
|
98
89
|
* main content area, and a set of action buttons.
|
99
90
|
*/
|
100
|
-
export declare let TearsheetNarrow: React.ForwardRefExoticComponent<TearsheetNarrowProps & React.RefAttributes<
|
91
|
+
export declare let TearsheetNarrow: React.ForwardRefExoticComponent<TearsheetNarrowProps & React.RefAttributes<HTMLDivElement>>;
|
101
92
|
export declare const deprecatedProps: {
|
102
93
|
/**
|
103
94
|
* **Deprecated**
|
@@ -1,6 +1,107 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2024
|
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
|
+
/// <reference path="../../../src/custom-typings/index.d.ts" />
|
8
|
+
import React, { PropsWithChildren, ReactNode } from 'react';
|
9
|
+
import PropTypes from 'prop-types';
|
10
|
+
import { type ButtonProps } from '@carbon/react';
|
11
|
+
interface TearsheetShellProps extends PropsWithChildren {
|
12
|
+
actions?: ButtonProps[];
|
13
|
+
ariaLabel?: string;
|
14
|
+
/**
|
15
|
+
* An optional class or classes to be added to the outermost element.
|
16
|
+
*/
|
17
|
+
className?: string;
|
18
|
+
/**
|
19
|
+
* A description of the flow, displayed in the header area of the tearsheet.
|
20
|
+
*/
|
21
|
+
description?: ReactNode;
|
22
|
+
/**
|
23
|
+
* Enable a close icon ('x') in the header area of the tearsheet. By default,
|
24
|
+
* (when this prop is omitted, or undefined or null) a tearsheet does not
|
25
|
+
* display a close icon if there are navigation actions ("transactional
|
26
|
+
* tearsheet") and displays one if there are no navigation actions ("passive
|
27
|
+
* tearsheet"), and that behavior can be overridden if required by setting
|
28
|
+
* this prop to either true or false.
|
29
|
+
*/
|
30
|
+
hasCloseIcon?: boolean;
|
31
|
+
/**
|
32
|
+
* The content for the header actions area, displayed alongside the title in
|
33
|
+
* the header area of the tearsheet. This is typically a drop-down, or a set
|
34
|
+
* of small buttons, or similar. NB the headerActions is only applicable for
|
35
|
+
* wide tearsheets.
|
36
|
+
*/
|
37
|
+
headerActions?: ReactNode;
|
38
|
+
/**
|
39
|
+
* The content for the influencer section of the tearsheet, displayed
|
40
|
+
* alongside the main content. This is typically a menu, or filter, or
|
41
|
+
* progress indicator, or similar. NB the influencer is only applicable for
|
42
|
+
* wide tearsheets.
|
43
|
+
*/
|
44
|
+
influencer?: ReactNode;
|
45
|
+
/**
|
46
|
+
* The position of the influencer section, 'left' or 'right'.
|
47
|
+
*/
|
48
|
+
influencerPosition?: 'left' | 'right';
|
49
|
+
/**
|
50
|
+
* The width of the influencer: 'narrow' (the default) is 256px, and 'wide'
|
51
|
+
* is 320px.
|
52
|
+
*/
|
53
|
+
influencerWidth?: 'narrow' | 'wide';
|
54
|
+
/**
|
55
|
+
* A label for the tearsheet, displayed in the header area of the tearsheet
|
56
|
+
* to maintain context for the tearsheet (e.g. as the title changes from page
|
57
|
+
* to page of a multi-page task).
|
58
|
+
*/
|
59
|
+
label?: ReactNode;
|
60
|
+
/**
|
61
|
+
* Navigation content, such as a set of tabs, to be displayed at the bottom
|
62
|
+
* of the header area of the tearsheet. NB the navigation is only applicable
|
63
|
+
* for wide tearsheets.
|
64
|
+
*/
|
65
|
+
navigation?: ReactNode;
|
66
|
+
/**
|
67
|
+
* An optional handler that is called when the user closes the tearsheet (by
|
68
|
+
* clicking the close button, if enabled, or clicking outside, if enabled).
|
69
|
+
* Returning `false` here prevents the modal from closing.
|
70
|
+
*/
|
71
|
+
onClose?: () => void;
|
72
|
+
/**
|
73
|
+
* Specifies whether the tearsheet is currently open.
|
74
|
+
*/
|
75
|
+
open?: boolean;
|
76
|
+
/**
|
77
|
+
* The DOM element that the tearsheet should be rendered within. Defaults to document.body.
|
78
|
+
*/
|
79
|
+
portalTarget?: ReactNode;
|
80
|
+
selectorPrimaryFocus?: string;
|
81
|
+
/**
|
82
|
+
* Specifies the width of the tearsheet, 'narrow' or 'wide'.
|
83
|
+
*/
|
84
|
+
size: 'narrow' | 'wide';
|
85
|
+
/**
|
86
|
+
* **Experimental:** Provide a `Slug` component to be rendered inside the `Tearsheet` component
|
87
|
+
*/
|
88
|
+
slug?: ReactNode;
|
89
|
+
/**
|
90
|
+
* The main title of the tearsheet, displayed in the header area.
|
91
|
+
*/
|
92
|
+
title?: ReactNode;
|
93
|
+
verticalPosition?: 'normal' | 'lower';
|
94
|
+
}
|
95
|
+
export type CloseIconDescriptionTypes = {
|
96
|
+
hasCloseIcon?: false;
|
97
|
+
closeIconDescription?: string;
|
98
|
+
} | {
|
99
|
+
hasCloseIcon: true;
|
100
|
+
closeIconDescription: string;
|
101
|
+
};
|
102
|
+
export declare const tearsheetShellWideProps: string[];
|
103
|
+
export declare const tearsheetIsPassive: (actions: any) => boolean;
|
104
|
+
export declare const tearsheetHasCloseIcon: (actions: any, hasCloseIcon: any) => any;
|
4
105
|
/**
|
5
106
|
* TearSheetShell is used internally by TearSheet and TearSheetNarrow
|
6
107
|
*
|
@@ -8,10 +109,18 @@ export function tearsheetHasCloseIcon(actions: any, hasCloseIcon: any): any;
|
|
8
109
|
*
|
9
110
|
* See the canvas tab for the component API details.
|
10
111
|
* */
|
11
|
-
export const TearsheetShell: React.ForwardRefExoticComponent<React.RefAttributes<
|
12
|
-
export const portalType: PropTypes.Requireable<object>;
|
13
|
-
export
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
112
|
+
export declare const TearsheetShell: React.ForwardRefExoticComponent<(TearsheetShellProps & CloseIconDescriptionTypes) & React.RefAttributes<HTMLDivElement>>;
|
113
|
+
export declare const portalType: PropTypes.Requireable<object>;
|
114
|
+
export declare const deprecatedProps: {
|
115
|
+
/**
|
116
|
+
* **Deprecated**
|
117
|
+
*
|
118
|
+
* The position of the top of tearsheet in the viewport. The 'normal'
|
119
|
+
* position is a short distance down from the top of the
|
120
|
+
* viewport, leaving room at the top for a global header bar to show through
|
121
|
+
* from below. The 'lower' position (the default) provides a little extra room at the top
|
122
|
+
* to allow an action bar navigation or breadcrumbs to also show through.
|
123
|
+
*/
|
124
|
+
verticalPosition: PropTypes.Requireable<string>;
|
125
|
+
};
|
126
|
+
export {};
|
@@ -46,6 +46,7 @@ var maxDepth = 3;
|
|
46
46
|
// The 'sizes' array contains an array of the sizes for every stacked tearsheet.
|
47
47
|
// This is so we can opt-out of including the stacking scale effect when there
|
48
48
|
// are stacked tearsheets with mixed sizes (ie, using wide and narrow together)
|
49
|
+
|
49
50
|
var stack = {
|
50
51
|
open: [],
|
51
52
|
all: [],
|
@@ -103,6 +104,7 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
103
104
|
var _useFocus = useFocus.useFocus(modalRef),
|
104
105
|
firstElement = _useFocus.firstElement,
|
105
106
|
keyDownListener = _useFocus.keyDownListener;
|
107
|
+
var modalRefValue = modalRef.current;
|
106
108
|
var wide = size === 'wide';
|
107
109
|
|
108
110
|
// Keep track of the stack depth and our position in it (1-based, 0=closed)
|
@@ -133,7 +135,7 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
133
135
|
}
|
134
136
|
handleStackChange.checkFocus = function () {
|
135
137
|
// if we are now the topmost tearsheet, ensure we have focus
|
136
|
-
if (open && position === depth &&
|
138
|
+
if (open && position === depth && modalRefValue && !modalRefValue.contains(document.activeElement)) {
|
137
139
|
handleStackChange.claimFocus();
|
138
140
|
}
|
139
141
|
};
|
@@ -161,8 +163,9 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
161
163
|
React.useEffect(function () {
|
162
164
|
var notify = function notify() {
|
163
165
|
return stack.all.forEach(function (handler) {
|
166
|
+
var _handler$checkFocus;
|
164
167
|
handler(Math.min(stack.open.length, maxDepth), stack.open.indexOf(handler) + 1);
|
165
|
-
handler.checkFocus();
|
168
|
+
(_handler$checkFocus = handler.checkFocus) === null || _handler$checkFocus === void 0 || _handler$checkFocus.call(handler);
|
166
169
|
});
|
167
170
|
};
|
168
171
|
|
@@ -201,10 +204,12 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
201
204
|
// If something within us is receiving focus but we are not the topmost
|
202
205
|
// stacked tearsheet, transfer focus to the topmost tearsheet instead
|
203
206
|
if (position < depth) {
|
204
|
-
|
207
|
+
var _stack$open$claimFocu, _stack$open;
|
208
|
+
(_stack$open$claimFocu = (_stack$open = stack.open[stack.open.length - 1]).claimFocus) === null || _stack$open$claimFocu === void 0 || _stack$open$claimFocu.call(_stack$open);
|
205
209
|
}
|
206
210
|
}
|
207
211
|
if (position <= depth) {
|
212
|
+
var _prevDepth$current;
|
208
213
|
// Include a modal header if and only if one or more of these is given.
|
209
214
|
// We can't use a Wrap for the ModalHeader because ComposedModal requires
|
210
215
|
// the direct child to be the ModalHeader instance.
|
@@ -225,7 +230,7 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
225
230
|
"aria-label": ariaLabel || getNodeTextContent.getNodeTextContent(title),
|
226
231
|
className: cx__default["default"](bc, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "--stacked-").concat(position, "-of-").concat(depth),
|
227
232
|
// Don't apply this on the initial open of a single tearsheet.
|
228
|
-
depth > 1 || depth === 1 && prevDepth.current > 1), "".concat(bc, "--wide"), wide), "".concat(bc, "--narrow"), !wide), "".concat(bc, "--has-slug"), slug), "".concat(bc, "--has-close"), effectiveHasCloseIcon)),
|
233
|
+
depth > 1 || depth === 1 && ((_prevDepth$current = prevDepth === null || prevDepth === void 0 ? void 0 : prevDepth.current) !== null && _prevDepth$current !== void 0 ? _prevDepth$current : 0) > 1), "".concat(bc, "--wide"), wide), "".concat(bc, "--narrow"), !wide), "".concat(bc, "--has-slug"), slug), "".concat(bc, "--has-close"), effectiveHasCloseIcon)),
|
229
234
|
slug: slug,
|
230
235
|
style: setScaleValues(),
|
231
236
|
containerClassName: cx__default["default"]("".concat(bc, "__container"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "__container--lower"), verticalPosition === 'lower'), "".concat(bc, "__container--mixed-size-stacking"), !areAllSameSizeVariant())),
|
@@ -273,7 +278,7 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
273
278
|
alwaysRender: includeActions
|
274
279
|
}, /*#__PURE__*/React__default["default"].createElement(Wrap.Wrap, {
|
275
280
|
className: "".concat(bc, "__content"),
|
276
|
-
alwaysRender: influencer && influencerPosition === 'right'
|
281
|
+
alwaysRender: !!(influencer && influencerPosition === 'right')
|
277
282
|
}, children), /*#__PURE__*/React__default["default"].createElement(Wrap.Wrap, {
|
278
283
|
className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(bc, "__influencer"), true), "".concat(bc, "__influencer--wide"), influencerWidth === 'wide')),
|
279
284
|
neverRender: influencerPosition !== 'right'
|
@@ -281,7 +286,7 @@ var TearsheetShell = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
281
286
|
className: "".concat(bc, "__button-container")
|
282
287
|
}, /*#__PURE__*/React__default["default"].createElement(ActionSet.ActionSet, {
|
283
288
|
actions: actions,
|
284
|
-
buttonSize: wide ? '2xl' :
|
289
|
+
buttonSize: wide ? '2xl' : undefined,
|
285
290
|
className: "".concat(bc, "__buttons"),
|
286
291
|
size: wide ? '2xl' : 'lg',
|
287
292
|
"aria-hidden": !open
|
@@ -332,6 +337,7 @@ TearsheetShell.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
332
337
|
*
|
333
338
|
* See https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
|
334
339
|
*/
|
340
|
+
/**@ts-ignore*/
|
335
341
|
actions: index["default"].arrayOf(
|
336
342
|
// NB we don't include the validator here, as the component wrapping this
|
337
343
|
// one should ensure appropriate validation is done.
|
@@ -356,6 +362,7 @@ TearsheetShell.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
356
362
|
* **Note:** This prop is only required if a close icon is shown, i.e. if
|
357
363
|
* there are a no navigation actions and/or hasCloseIcon is true.
|
358
364
|
*/
|
365
|
+
/**@ts-ignore*/
|
359
366
|
closeIconDescription: index["default"].string.isRequired.if(function (_ref4) {
|
360
367
|
var actions = _ref4.actions,
|
361
368
|
hasCloseIcon = _ref4.hasCloseIcon;
|
@@ -373,6 +380,7 @@ TearsheetShell.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
373
380
|
* tearsheet"), and that behavior can be overridden if required by setting
|
374
381
|
* this prop to either true or false.
|
375
382
|
*/
|
383
|
+
/**@ts-ignore*/
|
376
384
|
hasCloseIcon: index["default"].bool,
|
377
385
|
/**
|
378
386
|
* The content for the header actions area, displayed alongside the title in
|
@@ -422,10 +430,12 @@ TearsheetShell.propTypes = _rollupPluginBabelHelpers.objectSpread2({
|
|
422
430
|
/**
|
423
431
|
* The DOM element that the tearsheet should be rendered within. Defaults to document.body.
|
424
432
|
*/
|
433
|
+
/**@ts-ignore*/
|
425
434
|
portalTarget: portalType,
|
426
435
|
/**
|
427
436
|
* Specifies the width of the tearsheet, 'narrow' or 'wide'.
|
428
437
|
*/
|
438
|
+
/**@ts-ignore*/
|
429
439
|
size: index["default"].oneOf(['narrow', 'wide']).isRequired,
|
430
440
|
/**
|
431
441
|
* **Experimental:** Provide a `Slug` component to be rendered inside the `Tearsheet` component
|