@carbon/ibm-products 2.64.0 → 2.65.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/css/index-full-carbon.css +59 -143
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +8 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +59 -143
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +59 -143
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Checklist/Checklist.js +8 -7
  18. package/es/components/CoachmarkStack/CoachmarkStack.d.ts +5 -0
  19. package/es/components/CoachmarkStack/CoachmarkStack.js +9 -3
  20. package/es/components/CoachmarkStack/CoachmarkStackHome.d.ts +5 -0
  21. package/es/components/CoachmarkStack/CoachmarkStackHome.js +39 -6
  22. package/es/components/CreateFullPage/CreateFullPage.d.ts +1 -1
  23. package/es/components/CreateFullPage/CreateFullPage.js +23 -18
  24. package/es/components/Datagrid/Datagrid/DraggableElement.d.ts +3 -1
  25. package/es/components/Datagrid/Datagrid/DraggableElement.js +3 -1
  26. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +3 -0
  27. package/es/components/InlineTip/InlineTip.js +3 -3
  28. package/es/components/InterstitialScreen/InterstitialScreen.d.ts +36 -59
  29. package/es/components/InterstitialScreen/InterstitialScreen.js +75 -271
  30. package/es/components/InterstitialScreen/InterstitialScreenBody.d.ts +27 -0
  31. package/es/components/InterstitialScreen/InterstitialScreenBody.js +110 -0
  32. package/es/components/InterstitialScreen/InterstitialScreenFooter.d.ts +47 -0
  33. package/es/components/InterstitialScreen/InterstitialScreenFooter.js +184 -0
  34. package/es/components/InterstitialScreen/InterstitialScreenHeader.d.ts +35 -0
  35. package/es/components/InterstitialScreen/InterstitialScreenHeader.js +90 -0
  36. package/es/components/{InterstitialScreenView → InterstitialScreen/_story-assets/InterstitialScreenView}/InterstitialScreenView.d.ts +1 -0
  37. package/{lib/components → es/components/InterstitialScreen/_story-assets}/InterstitialScreenViewModule/InterstitialScreenViewModule.d.ts +8 -0
  38. package/es/components/NotificationsPanel/NotificationsPanel.js +15 -10
  39. package/es/components/PageHeader/PageHeader.js +1 -1
  40. package/es/components/SidePanel/SidePanel.js +3 -2
  41. package/es/components/Tearsheet/Tearsheet.js +3 -2
  42. package/es/components/index.d.ts +0 -2
  43. package/es/global/js/hooks/useOverflowItems/useOverflowItems.d.ts +2 -2
  44. package/es/global/js/package-settings.d.ts +0 -2
  45. package/es/global/js/package-settings.js +0 -2
  46. package/es/index.js +0 -2
  47. package/es/settings.d.ts +0 -2
  48. package/lib/components/Checklist/Checklist.js +7 -6
  49. package/lib/components/CoachmarkStack/CoachmarkStack.d.ts +5 -0
  50. package/lib/components/CoachmarkStack/CoachmarkStack.js +9 -3
  51. package/lib/components/CoachmarkStack/CoachmarkStackHome.d.ts +5 -0
  52. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +37 -4
  53. package/lib/components/CreateFullPage/CreateFullPage.d.ts +1 -1
  54. package/lib/components/CreateFullPage/CreateFullPage.js +22 -17
  55. package/lib/components/Datagrid/Datagrid/DraggableElement.d.ts +3 -1
  56. package/lib/components/Datagrid/Datagrid/DraggableElement.js +3 -1
  57. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +3 -0
  58. package/lib/components/InlineTip/InlineTip.js +2 -2
  59. package/lib/components/InterstitialScreen/InterstitialScreen.d.ts +36 -59
  60. package/lib/components/InterstitialScreen/InterstitialScreen.js +73 -267
  61. package/lib/components/InterstitialScreen/InterstitialScreenBody.d.ts +27 -0
  62. package/lib/components/InterstitialScreen/InterstitialScreenBody.js +114 -0
  63. package/lib/components/InterstitialScreen/InterstitialScreenFooter.d.ts +47 -0
  64. package/lib/components/InterstitialScreen/InterstitialScreenFooter.js +188 -0
  65. package/lib/components/InterstitialScreen/InterstitialScreenHeader.d.ts +35 -0
  66. package/lib/components/InterstitialScreen/InterstitialScreenHeader.js +94 -0
  67. package/lib/components/{InterstitialScreenView → InterstitialScreen/_story-assets/InterstitialScreenView}/InterstitialScreenView.d.ts +1 -0
  68. package/{es/components → lib/components/InterstitialScreen/_story-assets}/InterstitialScreenViewModule/InterstitialScreenViewModule.d.ts +8 -0
  69. package/lib/components/NotificationsPanel/NotificationsPanel.js +14 -9
  70. package/lib/components/PageHeader/PageHeader.js +1 -1
  71. package/lib/components/SidePanel/SidePanel.js +3 -2
  72. package/lib/components/Tearsheet/Tearsheet.js +3 -2
  73. package/lib/components/index.d.ts +0 -2
  74. package/lib/global/js/hooks/useOverflowItems/useOverflowItems.d.ts +2 -2
  75. package/lib/global/js/package-settings.d.ts +0 -2
  76. package/lib/global/js/package-settings.js +0 -2
  77. package/lib/index.js +0 -10
  78. package/lib/settings.d.ts +0 -2
  79. package/package.json +7 -7
  80. package/scss/components/Coachmark/_coachmark-overlay.scss +2 -0
  81. package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -0
  82. package/scss/components/CoachmarkStack/_coachmark-stack.scss +25 -0
  83. package/scss/components/InterstitialScreen/_interstitial-screen.scss +29 -137
  84. package/scss/components/NotificationsPanel/_notifications-panel.scss +2 -0
  85. package/scss/components/PageHeader/_page-header.scss +5 -0
  86. package/scss/components/_index-with-carbon.scss +0 -2
  87. package/scss/components/_index.scss +0 -2
  88. package/telemetry.yml +17 -8
  89. package/es/components/InterstitialScreenView/InterstitialScreenView.js +0 -78
  90. package/es/components/InterstitialScreenView/index.d.ts +0 -8
  91. package/es/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +0 -81
  92. package/es/components/InterstitialScreenViewModule/index.d.ts +0 -8
  93. package/lib/components/InterstitialScreenView/InterstitialScreenView.js +0 -78
  94. package/lib/components/InterstitialScreenView/index.d.ts +0 -8
  95. package/lib/components/InterstitialScreenViewModule/InterstitialScreenViewModule.js +0 -81
  96. package/lib/components/InterstitialScreenViewModule/index.d.ts +0 -8
  97. package/scss/components/InterstitialScreenView/_carbon-imports.scss +0 -9
  98. package/scss/components/InterstitialScreenView/_index-with-carbon.scss +0 -9
  99. package/scss/components/InterstitialScreenView/_index.scss +0 -8
  100. package/scss/components/InterstitialScreenView/_interstitial-screen-view.scss +0 -25
  101. package/scss/components/InterstitialScreenViewModule/_carbon-imports.scss +0 -9
  102. package/scss/components/InterstitialScreenViewModule/_index-with-carbon.scss +0 -9
  103. package/scss/components/InterstitialScreenViewModule/_index.scss +0 -8
  104. package/scss/components/InterstitialScreenViewModule/_interstitial-screen-view-module.scss +0 -59
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var settings = require('../../settings.js');
15
+ var index = require('../../_virtual/index.js');
16
+ var InterstitialScreen = require('./InterstitialScreen.js');
17
+ var react = require('@carbon/react');
18
+ var clamp = require('../../global/js/utils/clamp.js');
19
+ var icons = require('@carbon/react/icons');
20
+
21
+ var _InlineLoading, _InlineLoading2, _InlineLoading3, _InlineLoading4;
22
+ var InterstitialScreenFooter = /*#__PURE__*/React.forwardRef(function (props) {
23
+ var _props$className = props.className,
24
+ className = _props$className === void 0 ? '' : _props$className,
25
+ _props$skipButtonLabe = props.skipButtonLabel,
26
+ skipButtonLabel = _props$skipButtonLabe === void 0 ? 'Skip' : _props$skipButtonLabe,
27
+ _props$previousButton = props.previousButtonLabel,
28
+ previousButtonLabel = _props$previousButton === void 0 ? 'Back' : _props$previousButton,
29
+ _props$nextButtonLabe = props.nextButtonLabel,
30
+ nextButtonLabel = _props$nextButtonLabe === void 0 ? 'Next' : _props$nextButtonLabe,
31
+ _props$startButtonLab = props.startButtonLabel,
32
+ startButtonLabel = _props$startButtonLab === void 0 ? 'Get Started' : _props$startButtonLab,
33
+ actionButtonRenderer = props.actionButtonRenderer,
34
+ onAction = props.onAction;
35
+ var blockClass = "".concat(settings.pkg.prefix, "--interstitial-screen");
36
+ var _useContext = React.useContext(InterstitialScreen.InterstitialScreenContext),
37
+ handleClose = _useContext.handleClose,
38
+ progStep = _useContext.progStep,
39
+ handleGotoStep = _useContext.handleGotoStep,
40
+ stepCount = _useContext.stepCount,
41
+ disableButtonConfig = _useContext.disableButtonConfig,
42
+ isFullScreen = _useContext.isFullScreen;
43
+ var startButtonRef = React.useRef(undefined);
44
+ var nextButtonRef = React.useRef(undefined);
45
+ var _useState = React.useState(''),
46
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
47
+ loadingAction = _useState2[0],
48
+ setLoadingAction = _useState2[1];
49
+ var isMultiStep = !!stepCount;
50
+ var progStepFloor = 0;
51
+ var progStepCeil = stepCount - 1;
52
+ var handleAction = /*#__PURE__*/function () {
53
+ var _ref = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(actionType) {
54
+ var stepDelta, targetStep;
55
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ setLoadingAction(actionType);
59
+ _context.next = 3;
60
+ return onAction === null || onAction === void 0 ? void 0 : onAction(actionType, {
61
+ handleGotoStep: handleGotoStep,
62
+ progStep: progStep,
63
+ stepCount: stepCount,
64
+ disableButtonConfig: disableButtonConfig
65
+ });
66
+ case 3:
67
+ setLoadingAction('');
68
+ if (actionType === 'next' || actionType === 'back') {
69
+ stepDelta = actionType === 'next' ? 1 : -1;
70
+ targetStep = clamp.clamp(progStep + stepDelta, progStepFloor, progStepCeil);
71
+ handleGotoStep === null || handleGotoStep === void 0 || handleGotoStep(targetStep);
72
+ } else {
73
+ handleClose === null || handleClose === void 0 || handleClose(actionType);
74
+ }
75
+ case 5:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee);
80
+ }));
81
+ return function handleAction(_x) {
82
+ return _ref.apply(this, arguments);
83
+ };
84
+ }();
85
+
86
+ // Usage
87
+ var handleStart = function handleStart() {
88
+ return handleAction('start');
89
+ };
90
+ var handleSkip = function handleSkip() {
91
+ return handleAction('skip');
92
+ };
93
+ var handleClickNext = function handleClickNext() {
94
+ return handleAction('next');
95
+ };
96
+ var handleClickPrev = function handleClickPrev() {
97
+ return handleAction('back');
98
+ };
99
+ var getRenderIcon = React.useMemo(function () {
100
+ if (loadingAction !== 'start' && isMultiStep && progStep === progStepCeil) {
101
+ return {
102
+ renderIcon: icons.ArrowRight
103
+ };
104
+ }
105
+ return {};
106
+ }, [loadingAction, isMultiStep, progStep, progStepCeil]);
107
+ var getFooterContent = function getFooterContent() {
108
+ return /*#__PURE__*/React.createElement("div", {
109
+ className: "".concat(blockClass, "--footer ").concat(className)
110
+ }, isMultiStep && skipButtonLabel !== '' && /*#__PURE__*/React.createElement(react.Button, {
111
+ className: "".concat(blockClass, "--skip-btn"),
112
+ kind: "ghost",
113
+ size: "lg",
114
+ title: skipButtonLabel,
115
+ onClick: handleSkip,
116
+ disabled: disableButtonConfig === null || disableButtonConfig === void 0 ? void 0 : disableButtonConfig.skip
117
+ }, skipButtonLabel, loadingAction === 'skip' && (_InlineLoading || (_InlineLoading = /*#__PURE__*/React.createElement(react.InlineLoading, null)))), /*#__PURE__*/React.createElement("div", {
118
+ className: "".concat(blockClass, "--footer-controls")
119
+ }, isMultiStep && progStep > 0 && /*#__PURE__*/React.createElement(react.Button, {
120
+ className: "".concat(blockClass, "--prev-btn"),
121
+ kind: "secondary",
122
+ size: "lg",
123
+ title: previousButtonLabel,
124
+ disabled: disableButtonConfig === null || disableButtonConfig === void 0 ? void 0 : disableButtonConfig.back,
125
+ onClick: handleClickPrev
126
+ }, previousButtonLabel, loadingAction === 'back' && (_InlineLoading2 || (_InlineLoading2 = /*#__PURE__*/React.createElement(react.InlineLoading, null)))), isMultiStep && progStep < progStepCeil && /*#__PURE__*/React.createElement(react.Button, {
127
+ className: "".concat(blockClass, "--next-btn"),
128
+ renderIcon: loadingAction !== 'next' ? icons.ArrowRight : null,
129
+ ref: nextButtonRef,
130
+ size: "lg",
131
+ title: nextButtonLabel,
132
+ disabled: disableButtonConfig === null || disableButtonConfig === void 0 ? void 0 : disableButtonConfig.next,
133
+ onClick: handleClickNext
134
+ }, nextButtonLabel, loadingAction === 'next' && (_InlineLoading3 || (_InlineLoading3 = /*#__PURE__*/React.createElement(react.InlineLoading, null)))), (isMultiStep && progStep === progStepCeil || !isMultiStep) && /*#__PURE__*/React.createElement(react.Button, _rollupPluginBabelHelpers.extends({
135
+ className: "".concat(blockClass, "--start-btn"),
136
+ ref: startButtonRef,
137
+ size: "lg",
138
+ title: startButtonLabel,
139
+ disabled: disableButtonConfig === null || disableButtonConfig === void 0 ? void 0 : disableButtonConfig.start,
140
+ onClick: handleStart
141
+ }, getRenderIcon), startButtonLabel, loadingAction === 'start' && (_InlineLoading4 || (_InlineLoading4 = /*#__PURE__*/React.createElement(react.InlineLoading, null))))));
142
+ };
143
+ if (actionButtonRenderer) {
144
+ return /*#__PURE__*/React.createElement("div", {
145
+ className: "".concat(blockClass, "--footer")
146
+ }, actionButtonRenderer({
147
+ handleGotoStep: handleGotoStep,
148
+ progStep: progStep,
149
+ stepCount: stepCount,
150
+ disableButtonConfig: disableButtonConfig
151
+ }));
152
+ }
153
+ return isFullScreen ? getFooterContent() : /*#__PURE__*/React.createElement(react.ModalFooter, null, getFooterContent());
154
+ });
155
+ InterstitialScreenFooter.propTypes = {
156
+ /**
157
+ * This is an optional callback prop that allows to render your custom footer action buttons.
158
+ */
159
+ actionButtonRenderer: index.default.func,
160
+ /**
161
+ * Provide an optional class to be applied to the containing node.
162
+ */
163
+ className: index.default.string,
164
+ /**
165
+ * The label for the Next button.
166
+ */
167
+ nextButtonLabel: index.default.string,
168
+ /**
169
+ * optional asynchronous callback on action button click (skip, previous, next and start)
170
+ * note: this is applicable when not using custom actionButtonRenderer
171
+ */
172
+ onAction: index.default.func,
173
+ /**
174
+ * The label for the Previous button.
175
+ *
176
+ */
177
+ previousButtonLabel: index.default.string,
178
+ /**
179
+ * The label for the skip button.
180
+ */
181
+ skipButtonLabel: index.default.string,
182
+ /**
183
+ * The label for the start button.
184
+ */
185
+ startButtonLabel: index.default.string
186
+ };
187
+
188
+ exports.default = InterstitialScreenFooter;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ export interface InterstitialScreenHeaderProps {
3
+ /**
4
+ * Provide the optional content for header section and will be render after header titles and before progress indicator.
5
+ * People can make use of this if they want to have custom header.
6
+ */
7
+ children?: React.ReactNode;
8
+ /**
9
+ * Provide an optional class to be applied to the containing node.
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Provide an optional title to be applied to the header >.
14
+ */
15
+ headerTitle?: string;
16
+ /**
17
+ * Provide an optional sub title to be applied to the header >.
18
+ */
19
+ headerSubTitle?: string;
20
+ /**
21
+ * Tooltip text and aria label for the Close button icon.
22
+ */
23
+ closeIconDescription?: string;
24
+ /**
25
+ * Optional parameter to hide the progress indicator when multiple steps are used.
26
+ */
27
+ hideProgressIndicator?: boolean;
28
+ }
29
+ export type EnrichedChildren = {
30
+ children: React.ReactNode;
31
+ stepTitle: string;
32
+ translateWithId?: (id: string) => string;
33
+ };
34
+ declare const InterstitialScreenHeader: React.ForwardRefExoticComponent<InterstitialScreenHeaderProps & React.RefAttributes<HTMLDivElement>>;
35
+ export default InterstitialScreenHeader;
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var react = require('@carbon/react');
14
+ var React = require('react');
15
+ var index = require('../../_virtual/index.js');
16
+ var settings = require('../../settings.js');
17
+ var cx = require('classnames');
18
+ var InterstitialScreen = require('./InterstitialScreen.js');
19
+ var useId = require('../../global/js/utils/useId.js');
20
+
21
+ var InterstitialScreenHeader = /*#__PURE__*/React.forwardRef(function (props) {
22
+ var _h, _h2;
23
+ var _props$className = props.className,
24
+ className = _props$className === void 0 ? '' : _props$className,
25
+ headerTitle = props.headerTitle,
26
+ headerSubTitle = props.headerSubTitle,
27
+ closeIconDescription = props.closeIconDescription,
28
+ hideProgressIndicator = props.hideProgressIndicator,
29
+ children = props.children;
30
+ var _React$useContext = React.useContext(InterstitialScreen.InterstitialScreenContext),
31
+ bodyChildrenData = _React$useContext.bodyChildrenData,
32
+ isFullScreen = _React$useContext.isFullScreen,
33
+ progStep = _React$useContext.progStep,
34
+ handleClose = _React$useContext.handleClose;
35
+ var blockClass = "".concat(settings.pkg.prefix, "--interstitial-screen");
36
+ var headerBlockClass = "".concat(blockClass, "--internal-header");
37
+ var _useId = useId.useId();
38
+ var headerContent = function headerContent() {
39
+ return /*#__PURE__*/React.createElement(React.Fragment, null, (headerTitle || headerSubTitle) && /*#__PURE__*/React.createElement("div", {
40
+ className: "".concat(blockClass, "--titleContainer")
41
+ }, headerTitle && (_h || (_h = /*#__PURE__*/React.createElement("h2", null, headerTitle))), headerSubTitle && (_h2 || (_h2 = /*#__PURE__*/React.createElement("h3", null, headerSubTitle)))), children, !hideProgressIndicator && bodyChildrenData && Array.isArray(bodyChildrenData) && /*#__PURE__*/React.createElement("div", {
42
+ className: "".concat(blockClass, "--progress")
43
+ }, /*#__PURE__*/React.createElement(react.ProgressIndicator, {
44
+ vertical: false,
45
+ currentIndex: progStep
46
+ }, bodyChildrenData === null || bodyChildrenData === void 0 ? void 0 : bodyChildrenData.map(function (child, idx) {
47
+ if (/*#__PURE__*/React.isValidElement(child)) {
48
+ var _child$props;
49
+ var stepKey = "".concat(_useId, "_").concat(((_child$props = child.props) === null || _child$props === void 0 || (_child$props = _child$props.stepTitle) === null || _child$props === void 0 ? void 0 : _child$props.replace(/\s+/g, '')) || idx);
50
+ return /*#__PURE__*/React.createElement(react.ProgressStep, {
51
+ key: stepKey,
52
+ label: child.props.stepTitle || '',
53
+ translateWithId: child.props.translateWithId
54
+ });
55
+ }
56
+ }))));
57
+ };
58
+ return isFullScreen ? /*#__PURE__*/React.createElement("header", {
59
+ className: cx(headerBlockClass, className, _rollupPluginBabelHelpers.defineProperty({}, "".concat(headerBlockClass, "--has-title"), headerTitle || headerSubTitle || children))
60
+ }, headerContent()) : /*#__PURE__*/React.createElement(react.ModalHeader, {
61
+ className: cx(headerBlockClass, className, _rollupPluginBabelHelpers.defineProperty({}, "".concat(headerBlockClass, "--has-title"), headerTitle || headerSubTitle || children)),
62
+ closeModal: handleClose,
63
+ iconDescription: closeIconDescription
64
+ }, headerContent());
65
+ });
66
+ InterstitialScreenHeader.propTypes = {
67
+ /**
68
+ * Provide the optional content for header section and will be render after header titles and before progress indicator.
69
+ * People can make use of this if they want to have custom header.
70
+ */
71
+ children: index.default.node,
72
+ /**
73
+ * Provide an optional class to be applied to the containing node.
74
+ */
75
+ className: index.default.string,
76
+ /**
77
+ * Tooltip text and aria label for the Close button icon.
78
+ */
79
+ closeIconDescription: index.default.string,
80
+ /**
81
+ * Provide an optional sub title to be applied to the header >.
82
+ */
83
+ headerSubTitle: index.default.string,
84
+ /**
85
+ * Provide an optional title to be applied to the header >.
86
+ */
87
+ headerTitle: index.default.string,
88
+ /**
89
+ * Optional parameter to hide the progress indicator when multiple steps are used.
90
+ */
91
+ hideProgressIndicator: index.default.bool
92
+ };
93
+
94
+ exports.default = InterstitialScreenHeader;
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { PropsWithChildren, ReactNode } from 'react';
8
+ import './_interstitial-screen-view.scss';
8
9
  export interface InterstitialScreenViewProps extends PropsWithChildren {
9
10
  /**
10
11
  * Provide the contents of the InterstitialScreenView.
@@ -5,6 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
+ import { disableButtonConfigType } from '../../InterstitialScreen';
9
+ import './_interstitial-screen-view-module.scss';
8
10
  export interface InterstitialScreenViewModuleProps {
9
11
  /**
10
12
  * Provide an optional class to be applied to the containing node.
@@ -18,6 +20,12 @@ export interface InterstitialScreenViewModuleProps {
18
20
  * The title of this component.
19
21
  */
20
22
  title: string;
23
+ /**
24
+ *
25
+ * @param value This is callback to disable any action button dynamically
26
+ * @returns void
27
+ */
28
+ disableActionButton?: (value: disableButtonConfigType) => void;
21
29
  }
22
30
  /**
23
31
  * View module to help in building interstitial screen views.
@@ -26,6 +26,7 @@ var usePrefersReducedMotion = require('../../global/js/hooks/usePrefersReducedMo
26
26
  var devtools = require('../../global/js/utils/devtools.js');
27
27
  var propsHelper = require('../../global/js/utils/props-helper.js');
28
28
  var getSupportedLocale = require('../../global/js/utils/getSupportedLocale.js');
29
+ var useId = require('../../global/js/utils/useId.js');
29
30
  var settings = require('../../settings.js');
30
31
  var utils = require('./utils.js');
31
32
  var usePresence = require('../../global/js/hooks/usePresence.js');
@@ -186,6 +187,7 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
186
187
  setAllNotifications = _useState2[1];
187
188
  var supportedLocale = getSupportedLocale.getSupportedLocale(dateTimeLocale, DefaultLocale);
188
189
  var carbonPrefix = react.usePrefix();
190
+ var headingId = useId.useId();
189
191
  var reducedMotion = usePrefersReducedMotion.usePrefersReducedMotion();
190
192
  var exitAnimationName = reducedMotion ? 'notifications-panel-exit-reduced' : 'notifications-panel-fade-out';
191
193
  var _usePresence = usePresence.usePresence(open, notificationPanelRef, exitAnimationName),
@@ -302,9 +304,10 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
302
304
  var renderNotification = function renderNotification(group, notification, index) {
303
305
  var notificationClassName = cx(["".concat(blockClass, "__notification"), "".concat(blockClass, "__notification-").concat(group)]);
304
306
  var notificationHeaderClassName = cx(["".concat(blockClass, "__notification-title"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__notification-title-unread"), notification.unread)]);
305
- return /*#__PURE__*/React.createElement("div", {
307
+ return /*#__PURE__*/React.createElement(react.Section, {
306
308
  key: "".concat(notification.timestamp, "-").concat(notification.title, "-").concat(index),
307
309
  className: notificationClassName,
310
+ as: "div",
308
311
  role: "button",
309
312
  tabIndex: 0,
310
313
  onClick: function onClick() {
@@ -351,7 +354,7 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
351
354
  yearsAgoText: yearsAgoText,
352
355
  yearAgoText: yearAgoText,
353
356
  nowText: nowText
354
- })), /*#__PURE__*/React.createElement("h6", {
357
+ })), /*#__PURE__*/React.createElement(react.Heading, {
355
358
  className: notificationHeaderClassName
356
359
  }, notification.title), notification.description && notification.description.length && renderDescription(notification.id), notification.link && notification.link.text && notification.link.url && /*#__PURE__*/React.createElement(react.Link, _rollupPluginBabelHelpers.extends({
357
360
  href: notification.link.url,
@@ -379,9 +382,10 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
379
382
  type: "button",
380
383
  className: "".concat(carbonPrefix, "--visually-hidden"),
381
384
  ref: startSentinel
382
- }, "Focus sentinel start"), /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({
385
+ }, "Focus sentinel start"), /*#__PURE__*/React.createElement(react.Section, _rollupPluginBabelHelpers.extends({
386
+ as: "div",
383
387
  role: "dialog",
384
- "aria-label": "Notification Panel",
388
+ "aria-labelledby": headingId,
385
389
  onKeyDown: handleKeydown,
386
390
  tabIndex: 0
387
391
  }, rest, {
@@ -394,7 +398,8 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
394
398
  className: "".concat(blockClass, "__header-container")
395
399
  }, /*#__PURE__*/React.createElement("div", {
396
400
  className: "".concat(blockClass, "__header-flex")
397
- }, /*#__PURE__*/React.createElement("h2", {
401
+ }, /*#__PURE__*/React.createElement(react.Heading, {
402
+ id: headingId,
398
403
  className: "".concat(blockClass, "__header")
399
404
  }, title), /*#__PURE__*/React.createElement(react.Button, {
400
405
  size: "sm",
@@ -413,17 +418,17 @@ exports.NotificationsPanel = /*#__PURE__*/React.forwardRef(function (_ref, ref)
413
418
  defaultToggled: doNotDisturbDefaultToggled,
414
419
  "aria-label": doNotDisturbLabel,
415
420
  labelText: doNotDisturbLabel
416
- })), /*#__PURE__*/React.createElement("div", {
421
+ })), /*#__PURE__*/React.createElement(react.Section, {
417
422
  className: mainSectionClassName
418
- }, withinLastDayNotifications && withinLastDayNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", {
423
+ }, withinLastDayNotifications && withinLastDayNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(react.Heading, {
419
424
  className: "".concat(blockClass, "__time-section-label")
420
425
  }, todayLabel), withinLastDayNotifications.map(function (notification, index) {
421
426
  return renderNotification('today', notification, index);
422
- })) : null, previousDayNotifications && previousDayNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", {
427
+ })) : null, previousDayNotifications && previousDayNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(react.Heading, {
423
428
  className: "".concat(blockClass, "__time-section-label")
424
429
  }, yesterdayLabel), previousDayNotifications.map(function (notification, index) {
425
430
  return renderNotification('yesterday', notification, index);
426
- })) : null, previousNotifications && previousNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", {
431
+ })) : null, previousNotifications && previousNotifications.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(react.Heading, {
427
432
  className: "".concat(blockClass, "__time-section-label")
428
433
  }, previousLabel), previousNotifications.map(function (notification, index) {
429
434
  return renderNotification('previous', notification, index);
@@ -386,7 +386,7 @@ exports.PageHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
386
386
  className: "".concat(PageHeaderUtils.blockClass, "--offset-top-measuring-element"),
387
387
  ref: offsetTopMeasuringRef
388
388
  }), /*#__PURE__*/React.createElement("section", _rollupPluginBabelHelpers.extends({}, rest, {
389
- className: cx([PageHeaderUtils.blockClass, "".concat(PageHeaderUtils.blockClass, "--no-margins-below-row"), className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(PageHeaderUtils.blockClass, "--has-navigation"), navigation || tags), "".concat(PageHeaderUtils.blockClass, "--has-navigation-tags-only"), !navigation && tags)]),
389
+ className: cx([PageHeaderUtils.blockClass, "".concat(PageHeaderUtils.blockClass, "--no-margins-below-row"), className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(PageHeaderUtils.blockClass, "--has-navigation"), navigation || tags), "".concat(PageHeaderUtils.blockClass, "--has-navigation-tags-only"), !navigation && tags), "".concat(PageHeaderUtils.blockClass, "--without-background"), withoutBackground)]),
390
390
  ref: headerRef
391
391
  }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React.createElement(react.FlexGrid, {
392
392
  fullWidth: fullWidthGrid === true || fullWidthGrid === 'xl',
@@ -395,7 +395,8 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
395
395
  },
396
396
  iconDescription: navigationBackIconDescription,
397
397
  className: "".concat(blockClass, "__navigation-back-button"),
398
- onClick: onNavigationBack
398
+ onClick: onNavigationBack,
399
+ "aria-label": navigationBackIconDescription
399
400
  }), title && title.length && labelText && labelText.length && /*#__PURE__*/React.createElement("p", {
400
401
  className: "".concat(blockClass, "__label-text"),
401
402
  ref: labelTextRef
@@ -469,7 +470,7 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
469
470
  className: mainPanelClassNames,
470
471
  ref: sidePanelRef,
471
472
  role: "complementary",
472
- "aria-label": title,
473
+ "aria-label": title || rest['aria-label'],
473
474
  onAnimationEnd: onAnimationEnd,
474
475
  onAnimationStart: onAnimationStart,
475
476
  onKeyDown: handleKeyDown
@@ -17,7 +17,7 @@ var propsHelper = require('../../global/js/utils/props-helper.js');
17
17
  var devtools = require('../../global/js/utils/devtools.js');
18
18
  var settings = require('../../settings.js');
19
19
 
20
- var _excluded = ["influencerPosition", "influencerWidth"];
20
+ var _excluded = ["influencerPosition", "influencerWidth", "children"];
21
21
  var componentName = 'Tearsheet';
22
22
 
23
23
  // NOTE: the component SCSS is not imported here: it is rolled up separately.
@@ -45,13 +45,14 @@ exports.Tearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
45
45
  influencerPosition = _ref$influencerPositi === void 0 ? 'left' : _ref$influencerPositi,
46
46
  _ref$influencerWidth = _ref.influencerWidth,
47
47
  influencerWidth = _ref$influencerWidth === void 0 ? 'narrow' : _ref$influencerWidth,
48
+ children = _ref.children,
48
49
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
49
50
  return /*#__PURE__*/React.createElement(TearsheetShell.TearsheetShell, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, devtools.getDevtoolsProps(componentName)), rest), {}, {
50
51
  influencerPosition: influencerPosition,
51
52
  influencerWidth: influencerWidth,
52
53
  ref: ref,
53
54
  size: 'wide'
54
- }));
55
+ }), children);
55
56
  });
56
57
 
57
58
  // Return a placeholder if not released and not enabled by feature flag
@@ -50,8 +50,6 @@ export * from './NonLinearReading';
50
50
  export * from './BigNumbers';
51
51
  export * from './TruncatedList';
52
52
  export * from './InterstitialScreen';
53
- export * from './InterstitialScreenView';
54
- export * from './InterstitialScreenViewModule';
55
53
  export * from './DelimitedList';
56
54
  export * from './Decorator';
57
55
  export * from './DecoratorLink';
@@ -14,8 +14,8 @@ export declare function useOverflowItems<T extends Item>(items: T[] | undefined,
14
14
  maxWidth?: number;
15
15
  }) => void): {
16
16
  visibleItems: T[];
17
- itemRefHandler: (id: string, node: HTMLElement | null) => () => void;
17
+ itemRefHandler: (id: string, node: HTMLElement | null) => void;
18
18
  hiddenItems: T[];
19
- offsetRefHandler: (node: any) => any;
19
+ offsetRefHandler: (node: HTMLElement | null) => HTMLElement;
20
20
  };
21
21
  export {};
@@ -125,8 +125,6 @@ declare namespace defaults {
125
125
  let InlineTipButton: boolean;
126
126
  let InlineTipLink: boolean;
127
127
  let InterstitialScreen: boolean;
128
- let InterstitialScreenView: boolean;
129
- let InterstitialScreenViewModule: boolean;
130
128
  let NonLinearReading: boolean;
131
129
  }
132
130
  export { component_1 as component };
@@ -134,8 +134,6 @@ var defaults = {
134
134
  InlineTipButton: false,
135
135
  InlineTipLink: false,
136
136
  InterstitialScreen: false,
137
- InterstitialScreenView: false,
138
- InterstitialScreenViewModule: false,
139
137
  NonLinearReading: false
140
138
  },
141
139
  // feature level flags
package/lib/index.js CHANGED
@@ -98,8 +98,6 @@ var NonLinearReading = require('./components/NonLinearReading/NonLinearReading.j
98
98
  var BigNumbers = require('./components/BigNumbers/BigNumbers.js');
99
99
  var TruncatedList = require('./components/TruncatedList/TruncatedList.js');
100
100
  var InterstitialScreen = require('./components/InterstitialScreen/InterstitialScreen.js');
101
- var InterstitialScreenView = require('./components/InterstitialScreenView/InterstitialScreenView.js');
102
- var InterstitialScreenViewModule = require('./components/InterstitialScreenViewModule/InterstitialScreenViewModule.js');
103
101
  var DelimitedList = require('./components/DelimitedList/DelimitedList.js');
104
102
  var FullPageError = require('./components/FullPageError/FullPageError.js');
105
103
  var SearchBar = require('./components/SearchBar/SearchBar.js');
@@ -438,14 +436,6 @@ Object.defineProperty(exports, "InterstitialScreen", {
438
436
  enumerable: true,
439
437
  get: function () { return InterstitialScreen.InterstitialScreen; }
440
438
  });
441
- Object.defineProperty(exports, "InterstitialScreenView", {
442
- enumerable: true,
443
- get: function () { return InterstitialScreenView.InterstitialScreenView; }
444
- });
445
- Object.defineProperty(exports, "InterstitialScreenViewModule", {
446
- enumerable: true,
447
- get: function () { return InterstitialScreenViewModule.InterstitialScreenViewModule; }
448
- });
449
439
  Object.defineProperty(exports, "DelimitedList", {
450
440
  enumerable: true,
451
441
  get: function () { return DelimitedList.DelimitedList; }
package/lib/settings.d.ts CHANGED
@@ -111,8 +111,6 @@ export const pkg: {
111
111
  InlineTipButton: boolean;
112
112
  InlineTipLink: boolean;
113
113
  InterstitialScreen: boolean;
114
- InterstitialScreenView: boolean;
115
- InterstitialScreenViewModule: boolean;
116
114
  NonLinearReading: boolean;
117
115
  };
118
116
  feature: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.64.0",
4
+ "version": "2.65.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -50,7 +50,7 @@
50
50
  "clean": "rimraf es lib css scss",
51
51
  "generate": "cross-env FORCE_COLOR=1 node scripts/generate",
52
52
  "postinstall": "ibmtelemetry --config=telemetry.yml",
53
- "telemetry-config": "ibmtelemetry-config generate --id 495342db-5046-4ecf-85ea-9ffceb6f8cdf --endpoint https://collector-prod.1am6wm210aow.us-south.codeengine.appdomain.cloud/v1/metrics --files ./src/components/**/*.(tsx|js|jsx)",
53
+ "telemetry-config": "ibmtelemetry-config generate --id 495342db-5046-4ecf-85ea-9ffceb6f8cdf --endpoint https://www-api.ibm.com/ibm-telemetry/v1/metrics --files ./src/components/**/*.(tsx|js|jsx)",
54
54
  "test": "jest --colors",
55
55
  "//upgrade-dependencies": "# don't upgrade carbon (done globally), react/react-dom (explicit range peer dependency), chalk (issue #1596)",
56
56
  "upgrade-dependencies": "npm-check-updates -u --dep dev,peer,prod --color --reject '/(carbon|^react$|^react-dom$|^chalk$|^namor)/'"
@@ -72,7 +72,7 @@
72
72
  "@rollup/plugin-typescript": "^12.1.2",
73
73
  "@types/react-table": "^7.7.20",
74
74
  "babel-plugin-dev-expression": "^0.2.3",
75
- "babel-preset-ibm-cloud-cognitive": "^0.22.0",
75
+ "babel-preset-ibm-cloud-cognitive": "^0.23.0-rc.0",
76
76
  "chalk": "^4.1.2",
77
77
  "change-case": "5.4.4",
78
78
  "classnames": "^2.5.1",
@@ -81,7 +81,7 @@
81
81
  "fs-extra": "^11.3.0",
82
82
  "glob": "^11.0.1",
83
83
  "jest": "^29.7.0",
84
- "jest-config-ibm-cloud-cognitive": "^1.23.0",
84
+ "jest-config-ibm-cloud-cognitive": "^1.24.0-rc.0",
85
85
  "jest-environment-jsdom": "^29.7.0",
86
86
  "namor": "^1.1.2",
87
87
  "npm-check-updates": "^17.1.15",
@@ -90,13 +90,13 @@
90
90
  "rollup": "^4.35.0",
91
91
  "rollup-plugin-strip-banner": "^3.1.0",
92
92
  "sass": "^1.85.1",
93
- "typescript-config-carbon": "^0.3.0",
93
+ "typescript-config-carbon": "^0.5.0",
94
94
  "yargs": "^17.7.2"
95
95
  },
96
96
  "dependencies": {
97
97
  "@babel/runtime": "^7.26.10",
98
98
  "@carbon/feature-flags": "^0.24.0",
99
- "@carbon/ibm-products-styles": "^2.60.0",
99
+ "@carbon/ibm-products-styles": "^2.61.0-rc.0",
100
100
  "@carbon/telemetry": "^0.1.0",
101
101
  "@carbon/utilities": "^0.4.0",
102
102
  "@dnd-kit/core": "^6.3.1",
@@ -117,5 +117,5 @@
117
117
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0 || ^19.0.0",
118
118
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0 || ^19.0.0"
119
119
  },
120
- "gitHead": "cc3ffcb1d51b9f3d99550cb9768deb8bc22eab5e"
120
+ "gitHead": "1ae84b1d3e24190c7235618e084dc950a1cc8842"
121
121
  }
@@ -234,6 +234,8 @@ $draghandle-btn-class: #{$block-class}__handle;
234
234
  display: flex;
235
235
  align-items: center;
236
236
  justify-content: flex-end;
237
+ margin-block-start: $spacing-05;
238
+ padding-block-end: $spacing-05;
237
239
  }
238
240
 
239
241
  // THEME
@@ -27,6 +27,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--coachmark-overlay-elements;
27
27
 
28
28
  .#{$block-class} {
29
29
  &__element-stepped-media {
30
+ padding: 0 $spacing-05;
30
31
  /* stylelint-disable-next-line function-no-unknown -- to-rem carbon replacement for rem */
31
32
  block-size: to-rem(128px);
32
33
  margin-block-end: $spacing-05;