@carbon/ibm-products 2.36.0-alpha.27 → 2.37.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/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
|