@carbon/ibm-products 2.79.0-rc.0 → 2.80.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/carbon.css +39 -19
- package/css/carbon.css.map +1 -1
- package/css/index-full-carbon.css +186 -80
- 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 +147 -61
- 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 +147 -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 +150 -66
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Coachmark/Coachmark.d.ts +2 -1
- package/es/components/Coachmark/Coachmark.js +6 -0
- package/es/components/Coachmark/CoachmarkDragbar.d.ts +2 -1
- package/es/components/Coachmark/CoachmarkDragbar.js +7 -0
- package/es/components/Coachmark/CoachmarkHeader.d.ts +2 -1
- package/es/components/Coachmark/CoachmarkHeader.js +7 -0
- package/es/components/Coachmark/CoachmarkOverlay.d.ts +2 -1
- package/es/components/Coachmark/CoachmarkOverlay.js +1 -0
- package/es/components/Coachmark/CoachmarkTagline.d.ts +2 -1
- package/es/components/Coachmark/CoachmarkTagline.js +7 -0
- package/es/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +3 -2
- package/es/components/Coachmark/utils/hooks.js +4 -3
- package/es/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +2 -1
- package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -0
- package/es/components/CoachmarkButton/CoachmarkButton.d.ts +2 -1
- package/es/components/CoachmarkButton/CoachmarkButton.js +1 -0
- package/es/components/CoachmarkFixed/CoachmarkFixed.d.ts +1 -0
- package/es/components/CoachmarkFixed/CoachmarkFixed.js +7 -0
- package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.d.ts +2 -1
- package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -0
- package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +2 -1
- package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -0
- package/es/components/CoachmarkStack/CoachmarkStack.d.ts +2 -1
- package/es/components/CoachmarkStack/CoachmarkStack.js +7 -0
- package/es/components/CreateFullPage/CreateFullPage.js +1 -1
- package/es/components/CreateTearsheet/CreateTearsheet.js +2 -2
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +2 -21
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +3 -2
- package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +4 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.d.ts +1 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +6 -1
- package/es/components/Datagrid/useResizeTable.js +2 -2
- package/es/components/Datagrid/useSelectRows.js +3 -2
- package/es/components/Datagrid/useStickyColumn.js +3 -2
- package/es/components/PageHeader/next/PageHeader.js +4 -3
- package/es/components/ScrollGradient/constants.js +3 -2
- package/es/components/Tearsheet/TearsheetShell.js +4 -6
- package/es/components/Tearsheet/next/StackContext.d.ts +21 -0
- package/es/components/Tearsheet/next/StackContext.js +94 -0
- package/es/components/Tearsheet/next/Tearsheet.d.ts +13 -2
- package/es/components/Tearsheet/next/Tearsheet.js +46 -10
- package/es/components/Tearsheet/next/TearsheetBody.d.ts +6 -0
- package/es/components/Tearsheet/next/TearsheetBody.js +19 -7
- package/es/components/Tearsheet/next/TearsheetHeaderActions.js +9 -4
- package/es/components/Tearsheet/next/TearsheetHeaderContent.d.ts +22 -8
- package/es/components/Tearsheet/next/TearsheetHeaderContent.js +14 -27
- package/es/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts +3 -2
- package/es/components/Tearsheet/next/index.d.ts +2 -0
- package/es/components/index.d.ts +2 -1
- package/es/global/js/hooks/useCreateComponentFocus.js +34 -4
- package/es/global/js/hooks/useIsomorphicEffect.d.ts +7 -1
- package/es/global/js/hooks/useIsomorphicEffect.js +1 -2
- package/es/global/js/hooks/useResizeObserver.js +4 -3
- package/es/global/js/hooks/useWindowResize.js +3 -2
- package/es/global/js/hooks/useWindowScroll.js +3 -2
- package/es/index.js +2 -2
- package/lib/components/Coachmark/Coachmark.d.ts +2 -1
- package/lib/components/Coachmark/Coachmark.js +6 -0
- package/lib/components/Coachmark/CoachmarkDragbar.d.ts +2 -1
- package/lib/components/Coachmark/CoachmarkDragbar.js +7 -0
- package/lib/components/Coachmark/CoachmarkHeader.d.ts +2 -1
- package/lib/components/Coachmark/CoachmarkHeader.js +7 -0
- package/lib/components/Coachmark/CoachmarkOverlay.d.ts +2 -1
- package/lib/components/Coachmark/CoachmarkOverlay.js +1 -0
- package/lib/components/Coachmark/CoachmarkTagline.d.ts +2 -1
- package/lib/components/Coachmark/CoachmarkTagline.js +7 -0
- package/lib/components/Coachmark/next/Coachmark/CoachmarkBubble/CoachmarkBubble.js +2 -1
- package/lib/components/Coachmark/utils/hooks.js +3 -2
- package/lib/components/CoachmarkBeacon/CoachmarkBeacon.d.ts +2 -1
- package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +7 -0
- package/lib/components/CoachmarkButton/CoachmarkButton.d.ts +2 -1
- package/lib/components/CoachmarkButton/CoachmarkButton.js +1 -0
- package/lib/components/CoachmarkFixed/CoachmarkFixed.d.ts +1 -0
- package/lib/components/CoachmarkFixed/CoachmarkFixed.js +7 -0
- package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.d.ts +2 -1
- package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +1 -0
- package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +2 -1
- package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +1 -0
- package/lib/components/CoachmarkStack/CoachmarkStack.d.ts +2 -1
- package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -0
- package/lib/components/CreateFullPage/CreateFullPage.js +1 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +2 -2
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +2 -21
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +4 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +2 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.d.ts +1 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +6 -1
- package/lib/components/Datagrid/useResizeTable.js +2 -2
- package/lib/components/Datagrid/useSelectRows.js +2 -1
- package/lib/components/Datagrid/useStickyColumn.js +2 -1
- package/lib/components/PageHeader/next/PageHeader.js +3 -2
- package/lib/components/ScrollGradient/constants.js +2 -1
- package/lib/components/Tearsheet/TearsheetShell.js +3 -5
- package/lib/components/Tearsheet/next/StackContext.d.ts +21 -0
- package/lib/components/Tearsheet/next/StackContext.js +97 -0
- package/lib/components/Tearsheet/next/Tearsheet.d.ts +13 -2
- package/lib/components/Tearsheet/next/Tearsheet.js +44 -8
- package/lib/components/Tearsheet/next/TearsheetBody.d.ts +6 -0
- package/lib/components/Tearsheet/next/TearsheetBody.js +19 -7
- package/lib/components/Tearsheet/next/TearsheetHeaderActions.js +8 -3
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.d.ts +22 -8
- package/lib/components/Tearsheet/next/TearsheetHeaderContent.js +12 -25
- package/lib/components/Tearsheet/next/_story-assets/StepTearsheet.d.ts +3 -2
- package/lib/components/Tearsheet/next/index.d.ts +2 -0
- package/lib/components/index.d.ts +2 -1
- package/lib/global/js/hooks/useCreateComponentFocus.js +34 -4
- package/lib/global/js/hooks/useIsomorphicEffect.d.ts +7 -1
- package/lib/global/js/hooks/useIsomorphicEffect.js +1 -2
- package/lib/global/js/hooks/useResizeObserver.js +3 -2
- package/lib/global/js/hooks/useWindowResize.js +2 -1
- package/lib/global/js/hooks/useWindowScroll.js +2 -1
- package/lib/index.js +15 -13
- package/package.json +14 -14
- package/scss/components/Tearsheet/_tearsheet.scss +11 -6
- package/scss/components/Tearsheet/_tearsheet_next.scss +218 -96
- package/telemetry.yml +11 -7
- package/es/components/Tearsheet/next/index.js +0 -8
- package/lib/components/Tearsheet/next/index.js +0 -14
|
@@ -28,11 +28,41 @@ const useCreateComponentFocus = _ref => {
|
|
|
28
28
|
await wait(10);
|
|
29
29
|
elm.focus();
|
|
30
30
|
};
|
|
31
|
+
// FUNCTION TO ENSURE THE ELEMENT TARGETED IS NOT CONTAINED IN AN ELEMENT MARKED 'INERT'
|
|
32
|
+
const isNotContainedInInert = elm => {
|
|
33
|
+
if (!elm) return false;
|
|
34
|
+
const inertParent = elm.closest('[inert]');
|
|
35
|
+
return !inertParent || !inertParent.hasAttribute('inert') && !elm.disabled;
|
|
36
|
+
};
|
|
37
|
+
const getActiveStep = () => {
|
|
38
|
+
const allSteps = Array.from(document.querySelectorAll(blockClass));
|
|
39
|
+
return allSteps.find(el => {
|
|
40
|
+
let currentStep = el;
|
|
41
|
+
while (currentStep) {
|
|
42
|
+
if (currentStep.hasAttribute('inert')) return false;
|
|
43
|
+
currentStep = currentStep.parentElement;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const getFocusableElement = containingElement => {
|
|
49
|
+
const focusElementQuery = `button, input[type="button"], input, select, textarea, a[href]`;
|
|
50
|
+
// PREFER THE USER DEFINED firstFocusElement IF IT EXISTS
|
|
51
|
+
const firstFocusEl = containingElement.querySelector(firstFocusElement);
|
|
52
|
+
if (firstFocusEl && isNotContainedInInert(firstFocusEl) && !firstFocusEl.disabled) {
|
|
53
|
+
return firstFocusEl;
|
|
54
|
+
}
|
|
55
|
+
// BACKUP TO INTERACTIVE ELEMENT LIST
|
|
56
|
+
const bakFocusEl = Array.from(containingElement.querySelectorAll(focusElementQuery));
|
|
57
|
+
return bakFocusEl.find(el => isNotContainedInInert(el) && !el.disabled);
|
|
58
|
+
};
|
|
31
59
|
if (previousState?.currentStep !== currentStep && currentStep > 0) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
60
|
+
// GET THE CURRENT STEP ELEMENT
|
|
61
|
+
const activeStepElement = getActiveStep();
|
|
62
|
+
if (activeStepElement && isNotContainedInInert(activeStepElement)) {
|
|
63
|
+
const focusEl = getFocusableElement(activeStepElement);
|
|
64
|
+
if (focusEl) {
|
|
65
|
+
awaitFocus(focusEl);
|
|
36
66
|
}
|
|
37
67
|
}
|
|
38
68
|
}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024, 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
|
+
*/
|
|
2
7
|
import { useEffect } from 'react';
|
|
8
|
+
export declare const useIsomorphicEffect: typeof useEffect;
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { useLayoutEffect, useEffect } from 'react';
|
|
9
9
|
|
|
10
|
-
//
|
|
11
|
-
// useLayoutEffect on the client, useEffect on the server
|
|
10
|
+
// Custom hook that uses either `useLayoutEffect` or `useEffect` based on the environment (client-side or server-side).
|
|
12
11
|
const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
13
12
|
|
|
14
13
|
export { useIsomorphicEffect };
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { useState, useRef, useEffect
|
|
8
|
+
import { useState, useRef, useEffect } from 'react';
|
|
9
|
+
import { useIsomorphicEffect } from './useIsomorphicEffect.js';
|
|
9
10
|
|
|
10
11
|
const useResizeObserver = (ref, onResize) => {
|
|
11
12
|
const [width, setWidth] = useState(-1);
|
|
@@ -13,7 +14,7 @@ const useResizeObserver = (ref, onResize) => {
|
|
|
13
14
|
const entriesToHandle = useRef(null);
|
|
14
15
|
const cb = useRef(onResize);
|
|
15
16
|
useEffect(() => {
|
|
16
|
-
// ref for onResize removes it as dependency from
|
|
17
|
+
// ref for onResize removes it as dependency from useIsomorphicEffect
|
|
17
18
|
// This significantly reduces repeated calls if a function is redefined on every
|
|
18
19
|
// render
|
|
19
20
|
cb.current = onResize;
|
|
@@ -35,7 +36,7 @@ const useResizeObserver = (ref, onResize) => {
|
|
|
35
36
|
// Ignoring exhaustive-deps as we do NOT want to include the ref in dep array
|
|
36
37
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
37
38
|
}, [width, height]);
|
|
38
|
-
|
|
39
|
+
useIsomorphicEffect(() => {
|
|
39
40
|
if (!ref?.current) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { useRef
|
|
8
|
+
import { useRef } from 'react';
|
|
9
|
+
import { useIsomorphicEffect } from './useIsomorphicEffect.js';
|
|
9
10
|
|
|
10
11
|
const windowExists = typeof window !== `undefined`;
|
|
11
12
|
const getWindowSize = () => {
|
|
@@ -47,7 +48,7 @@ const useWindowResize = function (effect, deps) {
|
|
|
47
48
|
windowSize.current = newVal.current;
|
|
48
49
|
throttleTimeout.current = null;
|
|
49
50
|
};
|
|
50
|
-
|
|
51
|
+
useIsomorphicEffect(() => {
|
|
51
52
|
const handleResize = () => {
|
|
52
53
|
if (throttleInterval) {
|
|
53
54
|
if (throttleTimeout.current === null) {
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { useRef
|
|
8
|
+
import { useRef } from 'react';
|
|
9
|
+
import { useIsomorphicEffect } from './useIsomorphicEffect.js';
|
|
9
10
|
import { scrollableAncestor } from '../utils/scrollableAncestor.js';
|
|
10
11
|
|
|
11
12
|
const windowExists = typeof window !== `undefined`;
|
|
@@ -44,7 +45,7 @@ const useTargetScroll = function (target, effect, deps, throttleInterval) {
|
|
|
44
45
|
scrollPosition.current = newVal.current;
|
|
45
46
|
throttleTimeout.current = null;
|
|
46
47
|
};
|
|
47
|
-
|
|
48
|
+
useIsomorphicEffect(() => {
|
|
48
49
|
const handleScroll = () => {
|
|
49
50
|
if (throttleInterval) {
|
|
50
51
|
if (throttleTimeout.current === null) {
|
package/es/index.js
CHANGED
|
@@ -62,8 +62,8 @@ export { TruncatedText as preview__TruncatedText } from './components/TruncatedT
|
|
|
62
62
|
export { FeatureFlags as preview__FeatureFlags, useFeatureFlag as preview__useFeatureFlag, useFeatureFlags as preview__useFeatureFlags } from './components/FeatureFlags/index.js';
|
|
63
63
|
import * as index$3 from './components/PageHeader/next/index.js';
|
|
64
64
|
export { index$3 as preview__PageHeader };
|
|
65
|
-
|
|
66
|
-
export {
|
|
65
|
+
export { Tearsheet as preview__Tearsheet } from './components/Tearsheet/next/Tearsheet.js';
|
|
66
|
+
export { StackProvider } from './components/Tearsheet/next/StackContext.js';
|
|
67
67
|
export { BigNumber as previewCandidate__BigNumber } from './components/BigNumber/BigNumber.js';
|
|
68
68
|
export { Coachmark as previewCandidate__Coachmark } from './components/Coachmark/Coachmark.js';
|
|
69
69
|
export { BEACON_KIND, COACHMARK_ALIGNMENT, COACHMARK_OVERLAY_KIND } from './components/Coachmark/utils/enums.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -87,6 +87,7 @@ export interface CoachmarkProps {
|
|
|
87
87
|
* Coachmarks are used to call out specific functionality or concepts
|
|
88
88
|
* within the UI that may not be intuitive but are important for the
|
|
89
89
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
90
|
+
* @deprecated This component is deprecated.
|
|
90
91
|
*/
|
|
91
92
|
export declare const Coachmark: React.ForwardRefExoticComponent<CoachmarkProps & React.RefAttributes<HTMLElement>>;
|
|
92
93
|
export declare const deprecatedProps: {
|
|
@@ -38,6 +38,7 @@ const defaults = {
|
|
|
38
38
|
* Coachmarks are used to call out specific functionality or concepts
|
|
39
39
|
* within the UI that may not be intuitive but are important for the
|
|
40
40
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
41
|
+
* @deprecated This component is deprecated.
|
|
41
42
|
*/
|
|
42
43
|
|
|
43
44
|
const Coachmark = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
@@ -217,6 +218,11 @@ const overlayRefType = typeof HTMLElement === 'undefined' ? index.default.object
|
|
|
217
218
|
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
|
218
219
|
index.default.instanceOf(HTMLElement);
|
|
219
220
|
|
|
221
|
+
/**@ts-ignore*/
|
|
222
|
+
Coachmark.deprecated = {
|
|
223
|
+
level: 'warn',
|
|
224
|
+
details: `${componentName} is deprecated.`
|
|
225
|
+
};
|
|
220
226
|
// Return a placeholder if not released and not enabled by feature flag
|
|
221
227
|
|
|
222
228
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -35,6 +35,7 @@ interface CoachmarkDragbarProps {
|
|
|
35
35
|
/**
|
|
36
36
|
* DO NOT USE. This component is for the exclusive use
|
|
37
37
|
* of other Onboarding components.
|
|
38
|
+
* @deprecated This component is deprecated.
|
|
38
39
|
*/
|
|
39
40
|
export declare const CoachmarkDragbar: React.ForwardRefExoticComponent<Omit<CoachmarkDragbarProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
40
41
|
export {};
|
|
@@ -35,6 +35,7 @@ const defaults = {
|
|
|
35
35
|
/**
|
|
36
36
|
* DO NOT USE. This component is for the exclusive use
|
|
37
37
|
* of other Onboarding components.
|
|
38
|
+
* @deprecated This component is deprecated.
|
|
38
39
|
*/
|
|
39
40
|
const CoachmarkDragbar = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
40
41
|
let {
|
|
@@ -97,6 +98,12 @@ const CoachmarkDragbar = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
97
98
|
}));
|
|
98
99
|
});
|
|
99
100
|
|
|
101
|
+
/**@ts-ignore*/
|
|
102
|
+
CoachmarkDragbar.deprecated = {
|
|
103
|
+
level: 'warn',
|
|
104
|
+
details: `${componentName} is deprecated.`
|
|
105
|
+
};
|
|
106
|
+
|
|
100
107
|
// Return a placeholder if not released and not enabled by feature flag
|
|
101
108
|
|
|
102
109
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -22,6 +22,7 @@ interface CoachmarkHeaderProps {
|
|
|
22
22
|
/**
|
|
23
23
|
* DO NOT USE. This component is for the exclusive use
|
|
24
24
|
* of other Onboarding components.
|
|
25
|
+
* @deprecated This component is deprecated.
|
|
25
26
|
*/
|
|
26
27
|
export declare const CoachmarkHeader: React.ForwardRefExoticComponent<CoachmarkHeaderProps & React.RefAttributes<HTMLElement>>;
|
|
27
28
|
export {};
|
|
@@ -29,6 +29,7 @@ const defaults = {
|
|
|
29
29
|
/**
|
|
30
30
|
* DO NOT USE. This component is for the exclusive use
|
|
31
31
|
* of other Onboarding components.
|
|
32
|
+
* @deprecated This component is deprecated.
|
|
32
33
|
*/
|
|
33
34
|
const CoachmarkHeader = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
34
35
|
let {
|
|
@@ -55,6 +56,12 @@ const CoachmarkHeader = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
55
56
|
})));
|
|
56
57
|
});
|
|
57
58
|
|
|
59
|
+
/**@ts-ignore*/
|
|
60
|
+
CoachmarkHeader.deprecated = {
|
|
61
|
+
level: 'warn',
|
|
62
|
+
details: `${componentName} is deprecated.`
|
|
63
|
+
};
|
|
64
|
+
|
|
58
65
|
// Return a placeholder if not released and not enabled by feature flag
|
|
59
66
|
|
|
60
67
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -41,6 +41,7 @@ interface CoachmarkOverlayProps {
|
|
|
41
41
|
/**
|
|
42
42
|
* DO NOT USE. This component is for the exclusive use
|
|
43
43
|
* of other Onboarding components.
|
|
44
|
+
* @deprecated This component is deprecated.
|
|
44
45
|
*/
|
|
45
46
|
export declare const CoachmarkOverlay: React.ForwardRefExoticComponent<Omit<CoachmarkOverlayProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
46
47
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -26,6 +26,7 @@ interface CoachmarkTaglineProps {
|
|
|
26
26
|
/**
|
|
27
27
|
* DO NOT USE. This component is for the exclusive use
|
|
28
28
|
* of other Onboarding components.
|
|
29
|
+
* @deprecated This component is deprecated.
|
|
29
30
|
*/
|
|
30
31
|
export declare const CoachmarkTagline: React.ForwardRefExoticComponent<CoachmarkTaglineProps & React.RefAttributes<HTMLDivElement>>;
|
|
31
32
|
export {};
|
|
@@ -30,6 +30,7 @@ const defaults = {
|
|
|
30
30
|
/**
|
|
31
31
|
* DO NOT USE. This component is for the exclusive use
|
|
32
32
|
* of other Onboarding components.
|
|
33
|
+
* @deprecated This component is deprecated.
|
|
33
34
|
*/
|
|
34
35
|
const CoachmarkTagline = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
35
36
|
let {
|
|
@@ -66,6 +67,12 @@ const CoachmarkTagline = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
66
67
|
})));
|
|
67
68
|
});
|
|
68
69
|
|
|
70
|
+
/**@ts-ignore*/
|
|
71
|
+
CoachmarkTagline.deprecated = {
|
|
72
|
+
level: 'warn',
|
|
73
|
+
details: `${componentName} is deprecated.`
|
|
74
|
+
};
|
|
75
|
+
|
|
69
76
|
// Return a placeholder if not released and not enabled by feature flag
|
|
70
77
|
|
|
71
78
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -12,6 +12,7 @@ var cx = require('classnames');
|
|
|
12
12
|
var react = require('@carbon/react');
|
|
13
13
|
var React = require('react');
|
|
14
14
|
var settings = require('../../../../../settings.js');
|
|
15
|
+
var useIsomorphicEffect = require('../../../../../global/js/hooks/useIsomorphicEffect.js');
|
|
15
16
|
var floatingUi_reactDom = require('../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js');
|
|
16
17
|
var floatingUi_dom = require('../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js');
|
|
17
18
|
|
|
@@ -34,7 +35,7 @@ const CoachmarkBubble = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
34
35
|
const tooltipRef = React.useRef(null);
|
|
35
36
|
const arrowRef = React.useRef(null);
|
|
36
37
|
const targetRef = React.useRef(null);
|
|
37
|
-
|
|
38
|
+
useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
38
39
|
if (target) {
|
|
39
40
|
if (typeof target === 'string') {
|
|
40
41
|
if (target === '#' || target.trim() === '') {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
var React = require('react');
|
|
11
11
|
var enums = require('./enums.js');
|
|
12
|
+
var useIsomorphicEffect = require('../../../global/js/hooks/useIsomorphicEffect.js');
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Detects when a user clicks outside of the element
|
|
@@ -21,10 +22,10 @@ var enums = require('./enums.js');
|
|
|
21
22
|
function useClickOutsideElement(coachmarkRef, overlayRef, overlayKind, callback) {
|
|
22
23
|
const cb = React.useRef(undefined);
|
|
23
24
|
const isTooltip = overlayKind === enums.COACHMARK_OVERLAY_KIND.TOOLTIP;
|
|
24
|
-
|
|
25
|
+
useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
25
26
|
cb.current = callback;
|
|
26
27
|
}, [callback]);
|
|
27
|
-
|
|
28
|
+
useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
28
29
|
function handleClickOutside(event) {
|
|
29
30
|
const isOverlayOutside = overlayRef.current && !overlayRef.current.contains(event.target);
|
|
30
31
|
const isOutsideCoachmark = coachmarkRef.current && !coachmarkRef.current.contains(event.target);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -35,5 +35,6 @@ export interface CoachmarkBeaconProps {
|
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Use beacon for the target prop of a Coachmark component.
|
|
38
|
+
* @deprecated This component is deprecated.
|
|
38
39
|
*/
|
|
39
40
|
export declare const CoachmarkBeacon: React.ForwardRefExoticComponent<CoachmarkBeaconProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -25,6 +25,7 @@ const defaults = {
|
|
|
25
25
|
};
|
|
26
26
|
/**
|
|
27
27
|
* Use beacon for the target prop of a Coachmark component.
|
|
28
|
+
* @deprecated This component is deprecated.
|
|
28
29
|
*/
|
|
29
30
|
const CoachmarkBeacon = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
30
31
|
const {
|
|
@@ -53,6 +54,12 @@ const CoachmarkBeacon = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
53
54
|
})))));
|
|
54
55
|
});
|
|
55
56
|
|
|
57
|
+
/**@ts-ignore*/
|
|
58
|
+
CoachmarkBeacon.deprecated = {
|
|
59
|
+
level: 'warn',
|
|
60
|
+
details: `${componentName} is deprecated.`
|
|
61
|
+
};
|
|
62
|
+
|
|
56
63
|
// Return a placeholder if not released and not enabled by feature flag
|
|
57
64
|
|
|
58
65
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -17,5 +17,6 @@ export interface CoachmarkButtonProps {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Use CoachmarkButton for the target prop of a Coachmark component.
|
|
20
|
+
* @deprecated This component is deprecated.
|
|
20
21
|
*/
|
|
21
22
|
export declare const CoachmarkButton: React.ForwardRefExoticComponent<CoachmarkButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -47,5 +47,6 @@ export interface CoachmarkFixedProps {
|
|
|
47
47
|
* within the UI that may not be intuitive but are important for the
|
|
48
48
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
49
49
|
* This variant allows the a coachmark overlay to be displayed by interacting with the tagline.
|
|
50
|
+
* @deprecated This component is deprecated.
|
|
50
51
|
*/
|
|
51
52
|
export declare const CoachmarkFixed: React.ForwardRefExoticComponent<CoachmarkFixedProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -40,6 +40,7 @@ const defaults = {
|
|
|
40
40
|
* within the UI that may not be intuitive but are important for the
|
|
41
41
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
42
42
|
* This variant allows the a coachmark overlay to be displayed by interacting with the tagline.
|
|
43
|
+
* @deprecated This component is deprecated.
|
|
43
44
|
*/
|
|
44
45
|
const CoachmarkFixed = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
45
46
|
let {
|
|
@@ -165,6 +166,12 @@ const CoachmarkFixed = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
165
166
|
portalNode?.current)));
|
|
166
167
|
});
|
|
167
168
|
|
|
169
|
+
/**@ts-ignore*/
|
|
170
|
+
CoachmarkFixed.deprecated = {
|
|
171
|
+
level: 'warn',
|
|
172
|
+
details: `${componentName} is deprecated.`
|
|
173
|
+
};
|
|
174
|
+
|
|
168
175
|
// Return a placeholder if not released and not enabled by feature flag
|
|
169
176
|
|
|
170
177
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -28,5 +28,6 @@ export interface CoachmarkOverlayElementProps {
|
|
|
28
28
|
* Component to be displayed within a CoachmarkOverlayElements container.
|
|
29
29
|
* Can be used 1 to N number, to display content in a Coachmark's overlay
|
|
30
30
|
* in a carousel fashion.
|
|
31
|
+
* @deprecated This component is deprecated.
|
|
31
32
|
*/
|
|
32
33
|
export declare const CoachmarkOverlayElement: React.ForwardRefExoticComponent<CoachmarkOverlayElementProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -21,6 +21,7 @@ const componentName = 'CoachmarkOverlayElement';
|
|
|
21
21
|
* Component to be displayed within a CoachmarkOverlayElements container.
|
|
22
22
|
* Can be used 1 to N number, to display content in a Coachmark's overlay
|
|
23
23
|
* in a carousel fashion.
|
|
24
|
+
* @deprecated This component is deprecated.
|
|
24
25
|
*/
|
|
25
26
|
const CoachmarkOverlayElement = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
26
27
|
let {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -52,5 +52,6 @@ export interface CoachmarkOverlayElementsProps {
|
|
|
52
52
|
/**
|
|
53
53
|
* Composable container to allow for the displaying of CoachmarkOverlayElement
|
|
54
54
|
* components in a carousel fashion.
|
|
55
|
+
* @deprecated This component is deprecated.
|
|
55
56
|
*/
|
|
56
57
|
export declare const CoachmarkOverlayElements: React.ForwardRefExoticComponent<CoachmarkOverlayElementsProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -49,6 +49,7 @@ const defaults = {
|
|
|
49
49
|
/**
|
|
50
50
|
* Composable container to allow for the displaying of CoachmarkOverlayElement
|
|
51
51
|
* components in a carousel fashion.
|
|
52
|
+
* @deprecated This component is deprecated.
|
|
52
53
|
*/
|
|
53
54
|
const CoachmarkOverlayElements = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
54
55
|
let {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2023,
|
|
2
|
+
* Copyright IBM Corp. 2023, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -66,6 +66,7 @@ interface CoachmarkStackProps {
|
|
|
66
66
|
* within the UI that may not be intuitive but are important for the
|
|
67
67
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
68
68
|
* This variant allows the stacking of multiple coachmark overlays to be displayed by interacting with the tagline.
|
|
69
|
+
* @deprecated This component is deprecated.
|
|
69
70
|
*/
|
|
70
71
|
export declare const CoachmarkStack: React.ForwardRefExoticComponent<CoachmarkStackProps & React.RefAttributes<HTMLDivElement>>;
|
|
71
72
|
export {};
|
|
@@ -47,6 +47,7 @@ const defaults = {
|
|
|
47
47
|
* within the UI that may not be intuitive but are important for the
|
|
48
48
|
* user to gain understanding of the product's main value and discover new use cases.
|
|
49
49
|
* This variant allows the stacking of multiple coachmark overlays to be displayed by interacting with the tagline.
|
|
50
|
+
* @deprecated This component is deprecated.
|
|
50
51
|
*/
|
|
51
52
|
const CoachmarkStack = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
52
53
|
let {
|
|
@@ -215,6 +216,12 @@ const CoachmarkStack = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
215
216
|
}), portalNode?.current ? /*#__PURE__*/ReactDOM.createPortal(wrappedChildren, portalNode?.current) : null));
|
|
216
217
|
});
|
|
217
218
|
|
|
219
|
+
/**@ts-ignore*/
|
|
220
|
+
CoachmarkStack.deprecated = {
|
|
221
|
+
level: 'warn',
|
|
222
|
+
details: `${componentName} is deprecated.`
|
|
223
|
+
};
|
|
224
|
+
|
|
218
225
|
// Return a placeholder if not released and not enabled by feature flag
|
|
219
226
|
|
|
220
227
|
// The display name of the component, used by React. Note that displayName
|
|
@@ -113,7 +113,7 @@ const CreateFullPage = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
113
113
|
useCreateComponentFocus.useCreateComponentFocus({
|
|
114
114
|
previousState,
|
|
115
115
|
currentStep,
|
|
116
|
-
blockClass
|
|
116
|
+
blockClass: `.${blockClass} .${settings.pkg.prefix}--create-full-page__step`,
|
|
117
117
|
onMount,
|
|
118
118
|
firstFocusElement
|
|
119
119
|
});
|
|
@@ -101,9 +101,9 @@ const CreateTearsheet = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
101
101
|
useCreateComponentFocus.useCreateComponentFocus({
|
|
102
102
|
previousState,
|
|
103
103
|
currentStep,
|
|
104
|
-
blockClass
|
|
104
|
+
blockClass: `.${blockClass} .${settings.pkg.prefix}--tearsheet-create__step`,
|
|
105
105
|
onMount,
|
|
106
|
-
firstFocusElement
|
|
106
|
+
firstFocusElement: firstFocusElement || selectorPrimaryFocus
|
|
107
107
|
});
|
|
108
108
|
useValidCreateStepCount.useValidCreateStepCount(stepData.length, componentName);
|
|
109
109
|
useResetCreateComponent.useResetCreateComponent({
|
|
@@ -92,31 +92,11 @@ const CreateTearsheetStep = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
92
92
|
React.useEffect(() => {
|
|
93
93
|
setShouldIncludeStep(includeStep);
|
|
94
94
|
}, [includeStep, stepsContext, title]);
|
|
95
|
-
const setFocusChildrenTabIndex = (childInputs, value) => {
|
|
96
|
-
if (childInputs?.length) {
|
|
97
|
-
childInputs.forEach(child => {
|
|
98
|
-
child.tabIndex = value;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
95
|
|
|
103
96
|
// Whenever we are the current step, supply our disableSubmit and onNext values to the
|
|
104
97
|
// steps container context so that it can manage the 'Next' button appropriately.
|
|
105
98
|
React.useEffect(() => {
|
|
106
|
-
const focusElementQuery = `button, input, select, textarea, a`;
|
|
107
|
-
if (stepNumber !== stepsContext?.currentStep) {
|
|
108
|
-
// Specify tab-index -1 for focusable elements not contained
|
|
109
|
-
// in the current step so that the useFocus hook can exclude
|
|
110
|
-
// from the focus trap
|
|
111
|
-
const childInputs = stepRefValue?.querySelectorAll(focusElementQuery);
|
|
112
|
-
setFocusChildrenTabIndex(childInputs, -1);
|
|
113
|
-
}
|
|
114
99
|
if (stepNumber === stepsContext?.currentStep) {
|
|
115
|
-
// Specify tab-index 0 for current step focusable elements
|
|
116
|
-
// for the useFocus hook to know which elements to include
|
|
117
|
-
// in focus trap
|
|
118
|
-
const childInputs = stepRefValue?.querySelectorAll(focusElementQuery);
|
|
119
|
-
setFocusChildrenTabIndex(childInputs, 0);
|
|
120
100
|
stepsContext.setIsDisabled(!!disableSubmit);
|
|
121
101
|
stepsContext?.setOnNext(onNext); // needs to be updated here otherwise there could be stale state values from only initially setting onNext
|
|
122
102
|
stepsContext?.setOnPrevious(onPrevious);
|
|
@@ -141,7 +121,8 @@ const CreateTearsheetStep = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
|
141
121
|
return null;
|
|
142
122
|
};
|
|
143
123
|
return stepsContext ? /*#__PURE__*/React.createElement("div", {
|
|
144
|
-
ref: stepRef
|
|
124
|
+
ref: stepRef,
|
|
125
|
+
inert: stepNumber !== stepsContext?.currentStep
|
|
145
126
|
}, /*#__PURE__*/React.createElement(react.Grid, _rollupPluginBabelHelpers.extends({}, rest, {
|
|
146
127
|
className: cx(blockClass, className, {
|
|
147
128
|
[`${blockClass}__step--hidden-step`]: stepNumber !== stepsContext?.currentStep,
|
|
@@ -13,11 +13,12 @@ var react = require('@carbon/react');
|
|
|
13
13
|
var cx = require('classnames');
|
|
14
14
|
var settings = require('../../../settings.js');
|
|
15
15
|
var stateReducer = require('./addons/stateReducer.js');
|
|
16
|
+
var useIsomorphicEffect = require('../../../global/js/hooks/useIsomorphicEffect.js');
|
|
16
17
|
|
|
17
18
|
const blockClass = `${settings.pkg.prefix}--datagrid`;
|
|
18
19
|
const SelectAll = datagridState => {
|
|
19
20
|
const [windowSize, setWindowSize] = React.useState();
|
|
20
|
-
|
|
21
|
+
useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
21
22
|
setWindowSize(window.innerWidth);
|
|
22
23
|
/* istanbul ignore next */
|
|
23
24
|
function updateSize() {
|
|
@@ -16,6 +16,7 @@ var cx = require('classnames');
|
|
|
16
16
|
var react = require('@carbon/react');
|
|
17
17
|
var icons = require('@carbon/react/icons');
|
|
18
18
|
var settings = require('../../../settings.js');
|
|
19
|
+
var useIsomorphicEffect = require('../../../global/js/hooks/useIsomorphicEffect.js');
|
|
19
20
|
|
|
20
21
|
const blockClass = `${settings.pkg.prefix}--datagrid`;
|
|
21
22
|
const SELECT_ALL_PAGE_ROWS = 'pageRows';
|
|
@@ -44,7 +45,7 @@ const SelectAllWithToggle = _ref => {
|
|
|
44
45
|
}
|
|
45
46
|
}, [isAllRowsSelected, selectAllMode, onSelectAllRows]);
|
|
46
47
|
const [windowSize, setWindowSize] = React.useState();
|
|
47
|
-
|
|
48
|
+
useIsomorphicEffect.useIsomorphicEffect(() => {
|
|
48
49
|
setWindowSize(window.innerWidth);
|
|
49
50
|
function updateSize() {
|
|
50
51
|
setWindowSize(window.innerWidth);
|
package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
|
@@ -97,6 +97,10 @@ const CustomizeColumnsTearsheet = _ref => {
|
|
|
97
97
|
}, [columnObjects]);
|
|
98
98
|
const string = searchText.trim().toLowerCase();
|
|
99
99
|
React.useEffect(() => {
|
|
100
|
+
// prevent this effect from running when columns are being resized
|
|
101
|
+
if (!isOpen) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
100
104
|
if (prevColumnDefinitions.current !== columnDefinitions) {
|
|
101
105
|
setColumnObjects(columnDefinitions);
|
|
102
106
|
}
|