carbon-react 151.2.2 → 151.3.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/esm/__internal__/dom/globals.d.ts +51 -0
- package/esm/__internal__/dom/globals.js +59 -0
- package/esm/__internal__/utils/helpers/events/events.d.ts +8 -0
- package/esm/__internal__/utils/helpers/events/events.js +12 -0
- package/esm/__spec_helper__/mock-element-scrollto.js +3 -0
- package/esm/__spec_helper__/mock-match-media.js +1 -1
- package/esm/__spec_helper__/mock-resize-observer.js +1 -1
- package/esm/components/action-popover/action-popover.component.js +7 -2
- package/esm/components/date/__internal__/date-picker/date-picker.component.js +11 -2
- package/esm/components/flat-table/__internal__/flat-table.context.d.ts +3 -1
- package/esm/components/flat-table/__internal__/flat-table.context.js +2 -1
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +4 -1
- package/esm/components/flat-table/flat-table.component.js +10 -1
- package/esm/components/icon/icon.style.js +6 -4
- package/esm/components/menu/menu-full-screen/menu-full-screen.component.js +2 -1
- package/esm/components/modal/__internal__/modal-manager.js +18 -7
- package/esm/components/modal/modal.component.js +3 -1
- package/esm/components/multi-action-button/multi-action-button.component.js +6 -1
- package/esm/components/popover-container/popover-container.component.js +7 -2
- package/esm/components/split-button/split-button.component.js +5 -0
- package/esm/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js +3 -1
- package/esm/hooks/__internal__/useScrollBlock/scroll-block-manager.js +11 -4
- package/lib/__internal__/dom/globals.d.ts +51 -0
- package/lib/__internal__/dom/globals.js +67 -0
- package/lib/__internal__/utils/helpers/events/events.d.ts +8 -0
- package/lib/__internal__/utils/helpers/events/events.js +12 -0
- package/lib/__spec_helper__/mock-element-scrollto.js +3 -0
- package/lib/__spec_helper__/mock-match-media.js +1 -1
- package/lib/__spec_helper__/mock-resize-observer.js +1 -1
- package/lib/components/action-popover/action-popover.component.js +6 -1
- package/lib/components/date/__internal__/date-picker/date-picker.component.js +10 -1
- package/lib/components/flat-table/__internal__/flat-table.context.d.ts +3 -1
- package/lib/components/flat-table/__internal__/flat-table.context.js +2 -1
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +4 -1
- package/lib/components/flat-table/flat-table.component.js +10 -1
- package/lib/components/icon/icon.style.js +6 -4
- package/lib/components/menu/menu-full-screen/menu-full-screen.component.js +2 -1
- package/lib/components/modal/__internal__/modal-manager.js +18 -7
- package/lib/components/modal/modal.component.js +3 -1
- package/lib/components/multi-action-button/multi-action-button.component.js +5 -0
- package/lib/components/popover-container/popover-container.component.js +6 -1
- package/lib/components/split-button/split-button.component.js +5 -0
- package/lib/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js +3 -1
- package/lib/hooks/__internal__/useScrollBlock/scroll-block-manager.js +12 -6
- package/package.json +2 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the global `window` object in a way that is friendly to SSR.
|
|
3
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
4
|
+
* Some examples where you can ignore this:
|
|
5
|
+
* - `useEffect` hooks
|
|
6
|
+
* - `useLayoutEffect` hooks
|
|
7
|
+
* - Callbacks for event listeners
|
|
8
|
+
* - Files with the `"use-client"` directive
|
|
9
|
+
*
|
|
10
|
+
* Primarily, this is necessary when attempting to access the `window` object during rendering of components.
|
|
11
|
+
* However, even still, where possible, it is recommended to avoid accessing the `window` object during rendering
|
|
12
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
13
|
+
* client renders due to missing environment-specific data (e.g., `window.innerWidth` being undefined on the server).
|
|
14
|
+
*
|
|
15
|
+
* @returns The global `window` object, if it exists.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getWindow(): (Window & typeof globalThis) | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the global `document` object in a way that is friendly to SSR.
|
|
20
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
21
|
+
* Some examples where you can ignore this:
|
|
22
|
+
* - `useEffect` hooks
|
|
23
|
+
* - `useLayoutEffect` hooks
|
|
24
|
+
* - Callbacks for event listeners
|
|
25
|
+
* - Files with the `"use-client"` directive
|
|
26
|
+
*
|
|
27
|
+
* Primarily, this is necessary when attempting to access the `document` object during rendering of components.
|
|
28
|
+
* However, even still, where possible, it is recommended to avoid accessing the `document` object during rendering
|
|
29
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
30
|
+
* client renders due to missing environment-specific data (e.g., `document.children` being undefined on the server).
|
|
31
|
+
*
|
|
32
|
+
* @returns The global `document` object, if it exists.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getDocument(): Document | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Returns the global `navigator` object in a way that is friendly to SSR.
|
|
37
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
38
|
+
* Some examples where you can ignore this:
|
|
39
|
+
* - `useEffect` hooks
|
|
40
|
+
* - `useLayoutEffect` hooks
|
|
41
|
+
* - Callbacks for event listeners
|
|
42
|
+
* - Files with the `"use-client"` directive
|
|
43
|
+
*
|
|
44
|
+
* Primarily, this is necessary when attempting to access the `navigator` object during rendering of components.
|
|
45
|
+
* However, even still, where possible, it is recommended to avoid accessing the `navigator` object during rendering
|
|
46
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
47
|
+
* client renders due to missing environment-specific data (e.g., `navigator.userAgent` being undefined on the server).
|
|
48
|
+
*
|
|
49
|
+
* @returns The global `navigator` object, if it exists.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getNavigator(): Navigator | undefined;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getDocument = getDocument;
|
|
7
|
+
exports.getNavigator = getNavigator;
|
|
8
|
+
exports.getWindow = getWindow;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the global `window` object in a way that is friendly to SSR.
|
|
11
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
12
|
+
* Some examples where you can ignore this:
|
|
13
|
+
* - `useEffect` hooks
|
|
14
|
+
* - `useLayoutEffect` hooks
|
|
15
|
+
* - Callbacks for event listeners
|
|
16
|
+
* - Files with the `"use-client"` directive
|
|
17
|
+
*
|
|
18
|
+
* Primarily, this is necessary when attempting to access the `window` object during rendering of components.
|
|
19
|
+
* However, even still, where possible, it is recommended to avoid accessing the `window` object during rendering
|
|
20
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
21
|
+
* client renders due to missing environment-specific data (e.g., `window.innerWidth` being undefined on the server).
|
|
22
|
+
*
|
|
23
|
+
* @returns The global `window` object, if it exists.
|
|
24
|
+
*/
|
|
25
|
+
function getWindow() {
|
|
26
|
+
return typeof window !== "undefined" ? window : undefined;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Returns the global `document` object in a way that is friendly to SSR.
|
|
31
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
32
|
+
* Some examples where you can ignore this:
|
|
33
|
+
* - `useEffect` hooks
|
|
34
|
+
* - `useLayoutEffect` hooks
|
|
35
|
+
* - Callbacks for event listeners
|
|
36
|
+
* - Files with the `"use-client"` directive
|
|
37
|
+
*
|
|
38
|
+
* Primarily, this is necessary when attempting to access the `document` object during rendering of components.
|
|
39
|
+
* However, even still, where possible, it is recommended to avoid accessing the `document` object during rendering
|
|
40
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
41
|
+
* client renders due to missing environment-specific data (e.g., `document.children` being undefined on the server).
|
|
42
|
+
*
|
|
43
|
+
* @returns The global `document` object, if it exists.
|
|
44
|
+
*/
|
|
45
|
+
function getDocument() {
|
|
46
|
+
return typeof document !== "undefined" ? document : undefined;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Returns the global `navigator` object in a way that is friendly to SSR.
|
|
51
|
+
* This check can be avoided if you are sure that the code will only run in the browser.
|
|
52
|
+
* Some examples where you can ignore this:
|
|
53
|
+
* - `useEffect` hooks
|
|
54
|
+
* - `useLayoutEffect` hooks
|
|
55
|
+
* - Callbacks for event listeners
|
|
56
|
+
* - Files with the `"use-client"` directive
|
|
57
|
+
*
|
|
58
|
+
* Primarily, this is necessary when attempting to access the `navigator` object during rendering of components.
|
|
59
|
+
* However, even still, where possible, it is recommended to avoid accessing the `navigator` object during rendering
|
|
60
|
+
* because it can lead to hydration mismatches. This happens when the server-rendered HTML differs from what the
|
|
61
|
+
* client renders due to missing environment-specific data (e.g., `navigator.userAgent` being undefined on the server).
|
|
62
|
+
*
|
|
63
|
+
* @returns The global `navigator` object, if it exists.
|
|
64
|
+
*/
|
|
65
|
+
function getNavigator() {
|
|
66
|
+
return typeof navigator !== "undefined" ? navigator : undefined;
|
|
67
|
+
}
|
|
@@ -71,6 +71,14 @@ declare const Events: {
|
|
|
71
71
|
* Determines if the key pressed is the end key
|
|
72
72
|
* */
|
|
73
73
|
isEndKey: (ev: React.KeyboardEvent | KeyboardEvent) => boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Determines if the key pressed is the page up key
|
|
76
|
+
* */
|
|
77
|
+
isPageUpKey: (ev: React.KeyboardEvent | KeyboardEvent) => boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Determines if the key pressed is the page down key
|
|
80
|
+
* */
|
|
81
|
+
isPageDownKey: (ev: React.KeyboardEvent | KeyboardEvent) => boolean;
|
|
74
82
|
/**
|
|
75
83
|
* Gets the event's path which is an array of the objects on which listeners will be invoked.
|
|
76
84
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath
|
|
@@ -109,6 +109,18 @@ const Events = {
|
|
|
109
109
|
isEndKey: ev => {
|
|
110
110
|
return ev.key === "End";
|
|
111
111
|
},
|
|
112
|
+
/**
|
|
113
|
+
* Determines if the key pressed is the page up key
|
|
114
|
+
* */
|
|
115
|
+
isPageUpKey: ev => {
|
|
116
|
+
return ev.key === "PageUp";
|
|
117
|
+
},
|
|
118
|
+
/**
|
|
119
|
+
* Determines if the key pressed is the page down key
|
|
120
|
+
* */
|
|
121
|
+
isPageDownKey: ev => {
|
|
122
|
+
return ev.key === "PageDown";
|
|
123
|
+
},
|
|
112
124
|
/**
|
|
113
125
|
* Gets the event's path which is an array of the objects on which listeners will be invoked.
|
|
114
126
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath
|
|
@@ -7,6 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
const setupScrollToMock = () => {
|
|
8
8
|
// need to mock the `scrollTo` method, which is undefined in JSDOM. As we're not actually testing this behaviour, just make it
|
|
9
9
|
// do nothing.
|
|
10
|
+
if (typeof window === "undefined") {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
10
13
|
HTMLElement.prototype.scrollTo = () => {};
|
|
11
14
|
};
|
|
12
15
|
var _default = exports.default = setupScrollToMock;
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
const setupResizeObserverMock = () => {
|
|
8
|
-
if (
|
|
8
|
+
if (typeof window === "undefined") {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
11
|
window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(callback => {
|
|
@@ -18,6 +18,7 @@ var _actionPopoverDivider = _interopRequireDefault(require("./action-popover-div
|
|
|
18
18
|
var _actionPopover2 = _interopRequireDefault(require("./__internal__/action-popover.context"));
|
|
19
19
|
var _useModalManager = _interopRequireDefault(require("../../hooks/__internal__/useModalManager"));
|
|
20
20
|
var _actionPopoverUtils = require("./__internal__/action-popover-utils");
|
|
21
|
+
var _flatTable = _interopRequireDefault(require("../flat-table/__internal__/flat-table.context"));
|
|
21
22
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -45,6 +46,9 @@ const ActionPopover = exports.ActionPopover = /*#__PURE__*/(0, _react.forwardRef
|
|
|
45
46
|
const [guid] = (0, _react.useState)((0, _guid.default)());
|
|
46
47
|
const buttonRef = (0, _react.useRef)(null);
|
|
47
48
|
const menu = (0, _react.useRef)(null);
|
|
49
|
+
const {
|
|
50
|
+
isInFlatTable
|
|
51
|
+
} = (0, _react.useContext)(_flatTable.default);
|
|
48
52
|
const hasProperChildren = (0, _react.useMemo)(() => {
|
|
49
53
|
const incorrectChild = _react.default.Children.toArray(children).find(child => {
|
|
50
54
|
if (! /*#__PURE__*/_react.default.isValidElement(child)) {
|
|
@@ -222,7 +226,8 @@ const ActionPopover = exports.ActionPopover = /*#__PURE__*/(0, _react.forwardRef
|
|
|
222
226
|
}
|
|
223
227
|
}, isOpen && /*#__PURE__*/_react.default.createElement(_popover.default, {
|
|
224
228
|
placement: mappedPlacement,
|
|
225
|
-
reference: buttonRef
|
|
229
|
+
reference: buttonRef,
|
|
230
|
+
disableBackgroundUI: isInFlatTable
|
|
226
231
|
}, /*#__PURE__*/_react.default.createElement(_actionPopoverMenu.default, _extends({
|
|
227
232
|
"data-component": "action-popover",
|
|
228
233
|
ref: menu
|
|
@@ -14,6 +14,7 @@ var _weekday = _interopRequireDefault(require("../weekday"));
|
|
|
14
14
|
var _utils = require("../utils");
|
|
15
15
|
var _focusTrapUtils = require("../../../../__internal__/focus-trap/focus-trap-utils");
|
|
16
16
|
var _events = _interopRequireDefault(require("../../../../__internal__/utils/helpers/events"));
|
|
17
|
+
var _flatTable = _interopRequireDefault(require("../../../flat-table/__internal__/flat-table.context"));
|
|
17
18
|
var _dayPicker = _interopRequireDefault(require("./day-picker.style"));
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -109,6 +110,13 @@ const DatePicker = ({
|
|
|
109
110
|
}
|
|
110
111
|
}, 0);
|
|
111
112
|
};
|
|
113
|
+
const {
|
|
114
|
+
isInFlatTable,
|
|
115
|
+
setHasOpenDatePicker
|
|
116
|
+
} = (0, _react.useContext)(_flatTable.default);
|
|
117
|
+
(0, _react.useEffect)(() => {
|
|
118
|
+
setHasOpenDatePicker?.(!!open);
|
|
119
|
+
}, [open, setHasOpenDatePicker]);
|
|
112
120
|
(0, _react.useEffect)(() => {
|
|
113
121
|
if (selectedDays) {
|
|
114
122
|
setFocusedMonth(selectedDays);
|
|
@@ -131,7 +139,8 @@ const DatePicker = ({
|
|
|
131
139
|
placement: "bottom-start",
|
|
132
140
|
reference: inputElement,
|
|
133
141
|
middleware: popoverMiddleware,
|
|
134
|
-
disablePortal: disablePortal
|
|
142
|
+
disablePortal: disablePortal,
|
|
143
|
+
disableBackgroundUI: isInFlatTable
|
|
135
144
|
}, /*#__PURE__*/_react.default.createElement(_dayPicker.default, {
|
|
136
145
|
id: "styled-day-picker",
|
|
137
146
|
"data-role": "date-picker",
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { Dispatch, SetStateAction } from "react";
|
|
2
2
|
import { FlatTableProps } from "../flat-table.component";
|
|
3
3
|
export interface FlatTableContextProps extends Pick<FlatTableProps, "colorTheme" | "size"> {
|
|
4
4
|
getTabStopElementId: () => string;
|
|
5
|
+
isInFlatTable?: boolean;
|
|
6
|
+
setHasOpenDatePicker?: Dispatch<SetStateAction<boolean>>;
|
|
5
7
|
}
|
|
6
8
|
declare const _default: React.Context<FlatTableContextProps>;
|
|
7
9
|
export default _default;
|
|
@@ -7,5 +7,6 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
var _default = exports.default = /*#__PURE__*/_react.default.createContext({
|
|
10
|
-
getTabStopElementId: () => ""
|
|
10
|
+
getTabStopElementId: () => "",
|
|
11
|
+
isInFlatTable: false
|
|
11
12
|
});
|
|
@@ -13,6 +13,7 @@ var _flatTableHeader = _interopRequireDefault(require("../flat-table-header/flat
|
|
|
13
13
|
var _icon = _interopRequireDefault(require("../../icon/icon.style"));
|
|
14
14
|
var _color = require("../../../style/utils/color");
|
|
15
15
|
var _addFocusStyling = _interopRequireDefault(require("../../../style/utils/add-focus-styling"));
|
|
16
|
+
var _globals = require("../../../__internal__/dom/globals");
|
|
16
17
|
var _browserTypeCheck = require("../../../__internal__/utils/helpers/browser-type-check");
|
|
17
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -110,6 +111,7 @@ const StyledFlatTableRow = _styledComponents.default.tr`
|
|
|
110
111
|
draggable,
|
|
111
112
|
rowHeight
|
|
112
113
|
}) => {
|
|
114
|
+
const nav = (0, _globals.getNavigator)();
|
|
113
115
|
const backgroundColor = bgColor ? (0, _color.toColor)(theme, bgColor) : undefined;
|
|
114
116
|
const customBorderColor = horizontalBorderColor ? (0, _color.toColor)(theme, horizontalBorderColor) : undefined;
|
|
115
117
|
const colorOfSelected = isInSidebar ? "var(--colorsUtilityMajor150)" : "var(--colorsUtilityMajor075)";
|
|
@@ -218,7 +220,8 @@ const StyledFlatTableRow = _styledComponents.default.tr`
|
|
|
218
220
|
}
|
|
219
221
|
|
|
220
222
|
/* Styling for safari. Position relative does not work on tr elements on Safari */
|
|
221
|
-
|
|
223
|
+
// FIXME: this can cause hydration mismatches during SSR.
|
|
224
|
+
${nav && (0, _browserTypeCheck.isSafari)(nav) && (0, _styledComponents.css)`
|
|
222
225
|
position: -webkit-sticky;
|
|
223
226
|
:after {
|
|
224
227
|
border: none;
|
|
@@ -52,6 +52,7 @@ const FlatTable = ({
|
|
|
52
52
|
const {
|
|
53
53
|
isInSidebar
|
|
54
54
|
} = (0, _react.useContext)(_drawerSidebar.default);
|
|
55
|
+
const [hasOpenDatePicker, setHasOpenDatePicker] = (0, _react.useState)(false);
|
|
55
56
|
(0, _react.useLayoutEffect)(() => {
|
|
56
57
|
const findRow = (rows, isFirstCol) => rows.find((row, index) => {
|
|
57
58
|
const cells = Array.from(row.querySelectorAll("td, th"));
|
|
@@ -110,6 +111,12 @@ const FlatTable = ({
|
|
|
110
111
|
return;
|
|
111
112
|
}
|
|
112
113
|
const currentFocusIndex = focusableElementsArray.findIndex(el => el === document.activeElement);
|
|
114
|
+
if (hasOpenDatePicker && (hasStickyHead || hasStickyFooter)) {
|
|
115
|
+
if (_events.default.isPageUpKey(ev) || _events.default.isPageDownKey(ev) || _events.default.isHomeKey(ev) || _events.default.isEndKey(ev)) {
|
|
116
|
+
ev.preventDefault();
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
113
120
|
if (_events.default.isDownKey(ev)) {
|
|
114
121
|
ev.preventDefault();
|
|
115
122
|
if (currentFocusIndex !== -1 && currentFocusIndex < focusableElementsArray.length) {
|
|
@@ -192,7 +199,9 @@ const FlatTable = ({
|
|
|
192
199
|
value: {
|
|
193
200
|
colorTheme,
|
|
194
201
|
size,
|
|
195
|
-
getTabStopElementId
|
|
202
|
+
getTabStopElementId,
|
|
203
|
+
isInFlatTable: true,
|
|
204
|
+
setHasOpenDatePicker
|
|
196
205
|
}
|
|
197
206
|
}, children))), footer && /*#__PURE__*/_react.default.createElement(_flatTable.StyledFlatTableFooter, {
|
|
198
207
|
hasStickyFooter: hasStickyFooter,
|
|
@@ -11,6 +11,7 @@ var _base = _interopRequireDefault(require("../../style/themes/base"));
|
|
|
11
11
|
var _addFocusStyling = _interopRequireDefault(require("../../style/utils/add-focus-styling"));
|
|
12
12
|
var _color = _interopRequireDefault(require("../../style/utils/color"));
|
|
13
13
|
var _getColorValue = _interopRequireDefault(require("../../style/utils/get-color-value"));
|
|
14
|
+
var _globals = require("../../__internal__/dom/globals");
|
|
14
15
|
var _browserTypeCheck = _interopRequireWildcard(require("../../__internal__/utils/helpers/browser-type-check"));
|
|
15
16
|
var _iconConfig = _interopRequireDefault(require("./icon-config"));
|
|
16
17
|
var _iconUnicodes = _interopRequireDefault(require("./icon-unicodes"));
|
|
@@ -57,6 +58,8 @@ const StyledIcon = _styledComponents.default.span`
|
|
|
57
58
|
let finalHoverColor;
|
|
58
59
|
let bgColor;
|
|
59
60
|
let bgHoverColor;
|
|
61
|
+
const win = (0, _globals.getWindow)();
|
|
62
|
+
const nav = (0, _globals.getNavigator)();
|
|
60
63
|
const adjustedBgSize = adjustIconBgSize(fontSize, bgSize);
|
|
61
64
|
try {
|
|
62
65
|
if (disabled) {
|
|
@@ -125,12 +128,11 @@ const StyledIcon = _styledComponents.default.span`
|
|
|
125
128
|
font-size: ${_iconConfig.default.iconSize[fontSize]};
|
|
126
129
|
line-height: ${_iconConfig.default.iconSize[fontSize]};
|
|
127
130
|
`}
|
|
128
|
-
|
|
129
|
-
${type === "services" && (0, _browserTypeCheck.default)(
|
|
131
|
+
// FIXME: this can cause hydration mismatches during SSR.
|
|
132
|
+
${win && type === "services" && (0, _browserTypeCheck.default)(win) && (0, _styledComponents.css)`
|
|
130
133
|
margin-top: ${fontSize === "small" ? "-7px" : "-8px"};
|
|
131
134
|
`}
|
|
132
|
-
|
|
133
|
-
${type === "services" && (0, _browserTypeCheck.isSafari)(navigator) && !(0, _browserTypeCheck.default)(window) && (0, _styledComponents.css)`
|
|
135
|
+
${nav && win && type === "services" && (0, _browserTypeCheck.isSafari)(nav) && !(0, _browserTypeCheck.default)(win) && (0, _styledComponents.css)`
|
|
134
136
|
margin-top: -6px;
|
|
135
137
|
`}
|
|
136
138
|
|
|
@@ -16,6 +16,7 @@ var _icon = _interopRequireDefault(require("../../icon"));
|
|
|
16
16
|
var _portal = _interopRequireDefault(require("../../portal"));
|
|
17
17
|
var _focusTrap = _interopRequireDefault(require("../../../__internal__/focus-trap"));
|
|
18
18
|
var _menuDivider = _interopRequireDefault(require("../menu-divider/menu-divider.component"));
|
|
19
|
+
var _globals = require("../../../__internal__/dom/globals");
|
|
19
20
|
var _useLocale = _interopRequireDefault(require("../../../hooks/__internal__/useLocale"));
|
|
20
21
|
var _useModalAria = _interopRequireDefault(require("../../../hooks/__internal__/useModalAria"));
|
|
21
22
|
var _useModalManager = _interopRequireDefault(require("../../../hooks/__internal__/useModalManager"));
|
|
@@ -63,7 +64,7 @@ const MenuFullscreen = ({
|
|
|
63
64
|
closeModal,
|
|
64
65
|
modalRef: menuRef,
|
|
65
66
|
topModalOverride,
|
|
66
|
-
focusCallToActionElement:
|
|
67
|
+
focusCallToActionElement: (0, _globals.getDocument)()?.activeElement
|
|
67
68
|
});
|
|
68
69
|
return /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, {
|
|
69
70
|
nodeRef: menuRef,
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.ModalManagerInstance = void 0;
|
|
7
|
+
var _globals = require("../../../__internal__/dom/globals");
|
|
7
8
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
8
9
|
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
9
10
|
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
@@ -33,12 +34,17 @@ let ModalManagerInstance = exports.ModalManagerInstance = /*#__PURE__*/function
|
|
|
33
34
|
});
|
|
34
35
|
this.callTopModalSetters();
|
|
35
36
|
});
|
|
37
|
+
const safeWindow = (0, _globals.getWindow)();
|
|
38
|
+
if (!safeWindow) {
|
|
39
|
+
this.modalList = [];
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
36
42
|
// Due to possibility of multiple carbon versions using it
|
|
37
43
|
// it is necessary to maintain same structure in this global variable
|
|
38
|
-
if (!
|
|
39
|
-
|
|
44
|
+
if (!safeWindow.__CARBON_INTERNALS_MODAL_LIST) {
|
|
45
|
+
safeWindow.__CARBON_INTERNALS_MODAL_LIST = [];
|
|
40
46
|
}
|
|
41
|
-
this.modalList =
|
|
47
|
+
this.modalList = safeWindow.__CARBON_INTERNALS_MODAL_LIST;
|
|
42
48
|
}
|
|
43
49
|
return _createClass(ModalManagerInstance, [{
|
|
44
50
|
key: "getTopModal",
|
|
@@ -84,16 +90,21 @@ let ModalManagerInstance = exports.ModalManagerInstance = /*#__PURE__*/function
|
|
|
84
90
|
}, {
|
|
85
91
|
key: "clearList",
|
|
86
92
|
value: function clearList() {
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
const safeWindow = (0, _globals.getWindow)();
|
|
94
|
+
const cleared = [];
|
|
95
|
+
if (safeWindow) {
|
|
96
|
+
safeWindow.__CARBON_INTERNALS_MODAL_LIST = cleared;
|
|
97
|
+
}
|
|
98
|
+
this.modalList = cleared;
|
|
89
99
|
this.callTopModalSetters();
|
|
90
100
|
}
|
|
91
101
|
}, {
|
|
92
102
|
key: "callTopModalSetters",
|
|
93
103
|
value: function callTopModalSetters() {
|
|
94
|
-
|
|
104
|
+
const safeWindow = (0, _globals.getWindow)();
|
|
105
|
+
if (safeWindow?.__CARBON_INTERNALS_MODAL_SETTER_LIST) {
|
|
95
106
|
const topModal = this.getTopModal()?.modal || null;
|
|
96
|
-
for (const setTopModal of
|
|
107
|
+
for (const setTopModal of safeWindow.__CARBON_INTERNALS_MODAL_SETTER_LIST) {
|
|
97
108
|
setTopModal(topModal);
|
|
98
109
|
}
|
|
99
110
|
}
|
|
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactTransitionGroup = require("react-transition-group");
|
|
9
9
|
var _useScrollBlock = _interopRequireDefault(require("../../hooks/__internal__/useScrollBlock"));
|
|
10
10
|
var _portal = _interopRequireDefault(require("../portal"));
|
|
11
|
+
var _globals = require("../../__internal__/dom/globals");
|
|
11
12
|
var _events = _interopRequireDefault(require("../../__internal__/utils/helpers/events"));
|
|
12
13
|
var _useModalManager = _interopRequireDefault(require("../../hooks/__internal__/useModalManager"));
|
|
13
14
|
var _modal = require("./modal.style");
|
|
@@ -62,13 +63,14 @@ const Modal = ({
|
|
|
62
63
|
onCancel(ev);
|
|
63
64
|
}
|
|
64
65
|
}, [disableClose, disableEscKey, onCancel]);
|
|
66
|
+
const safeDocument = (0, _globals.getDocument)();
|
|
65
67
|
(0, _useModalManager.default)({
|
|
66
68
|
open,
|
|
67
69
|
closeModal,
|
|
68
70
|
modalRef: ref,
|
|
69
71
|
setTriggerRefocusFlag,
|
|
70
72
|
topModalOverride,
|
|
71
|
-
focusCallToActionElement: restoreFocusOnClose ?
|
|
73
|
+
focusCallToActionElement: restoreFocusOnClose && safeDocument ? safeDocument.activeElement : undefined
|
|
72
74
|
});
|
|
73
75
|
let background;
|
|
74
76
|
let content;
|
|
@@ -13,6 +13,7 @@ var _button = _interopRequireDefault(require("../button"));
|
|
|
13
13
|
var _popover = _interopRequireDefault(require("../../__internal__/popover"));
|
|
14
14
|
var _utils = require("../../style/utils");
|
|
15
15
|
var _useChildButtons = _interopRequireDefault(require("../../hooks/__internal__/useChildButtons"));
|
|
16
|
+
var _flatTable = _interopRequireDefault(require("../flat-table/__internal__/flat-table.context"));
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -33,6 +34,9 @@ const MultiActionButton = exports.MultiActionButton = /*#__PURE__*/(0, _react.fo
|
|
|
33
34
|
...rest
|
|
34
35
|
}, ref) => {
|
|
35
36
|
const buttonRef = (0, _react.useRef)(null);
|
|
37
|
+
const {
|
|
38
|
+
isInFlatTable
|
|
39
|
+
} = (0, _react.useContext)(_flatTable.default);
|
|
36
40
|
(0, _react.useImperativeHandle)(ref, () => ({
|
|
37
41
|
focusMainButton() {
|
|
38
42
|
buttonRef.current?.focus();
|
|
@@ -67,6 +71,7 @@ const MultiActionButton = exports.MultiActionButton = /*#__PURE__*/(0, _react.fo
|
|
|
67
71
|
...(0, _utils.filterOutStyledSystemSpacingProps)(rest)
|
|
68
72
|
};
|
|
69
73
|
const renderAdditionalButtons = () => /*#__PURE__*/_react.default.createElement(_popover.default, {
|
|
74
|
+
disableBackgroundUI: isInFlatTable,
|
|
70
75
|
disablePortal: true,
|
|
71
76
|
placement: position === "left" ? "bottom-start" : /* istanbul ignore next */"bottom-end",
|
|
72
77
|
reference: buttonNode,
|
|
@@ -20,6 +20,7 @@ var _modal = _interopRequireDefault(require("../modal/__internal__/modal.context
|
|
|
20
20
|
var _useFocusPortalContent = _interopRequireDefault(require("../../hooks/__internal__/useFocusPortalContent"));
|
|
21
21
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
22
22
|
var _focusTrapUtils = require("../../__internal__/focus-trap/focus-trap-utils");
|
|
23
|
+
var _flatTable = _interopRequireDefault(require("../flat-table/__internal__/flat-table.context"));
|
|
23
24
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -106,6 +107,9 @@ const PopoverContainer = exports.PopoverContainer = /*#__PURE__*/(0, _react.forw
|
|
|
106
107
|
const isOpen = isControlled ? open : isOpenInternal;
|
|
107
108
|
const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
|
|
108
109
|
const popoverMiddleware = usePopoverMiddleware(shouldCoverButton);
|
|
110
|
+
const {
|
|
111
|
+
isInFlatTable
|
|
112
|
+
} = (0, _react.useContext)(_flatTable.default);
|
|
109
113
|
const closePopover = (0, _react.useCallback)(ev => {
|
|
110
114
|
/* istanbul ignore else */
|
|
111
115
|
if (!isControlled) setIsOpenInternal(false);
|
|
@@ -249,7 +253,8 @@ const PopoverContainer = exports.PopoverContainer = /*#__PURE__*/(0, _react.forw
|
|
|
249
253
|
placement: position === "right" ? "bottom-start" : "bottom-end",
|
|
250
254
|
popoverStrategy: disableAnimation || reduceMotion ? "fixed" : "absolute",
|
|
251
255
|
middleware: popoverMiddleware,
|
|
252
|
-
childRefOverride: popoverContentNodeRef
|
|
256
|
+
childRefOverride: popoverContentNodeRef,
|
|
257
|
+
disableBackgroundUI: isInFlatTable
|
|
253
258
|
}, childrenToRender())));
|
|
254
259
|
});
|
|
255
260
|
var _default = exports.default = PopoverContainer;
|
|
@@ -20,6 +20,7 @@ var _themes = require("../../style/themes");
|
|
|
20
20
|
var _useChildButtons = _interopRequireDefault(require("../../hooks/__internal__/useChildButtons"));
|
|
21
21
|
var _splitButton2 = _interopRequireDefault(require("./__internal__/split-button.context"));
|
|
22
22
|
var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
|
|
23
|
+
var _flatTable = _interopRequireDefault(require("../flat-table/__internal__/flat-table.context"));
|
|
23
24
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -47,6 +48,9 @@ const SplitButton = exports.SplitButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
47
48
|
const buttonLabelId = (0, _react.useRef)((0, _guid.default)());
|
|
48
49
|
const mainButtonRef = (0, _react.useRef)(null);
|
|
49
50
|
const toggleButtonRef = (0, _react.useRef)(null);
|
|
51
|
+
const {
|
|
52
|
+
isInFlatTable
|
|
53
|
+
} = (0, _react.useContext)(_flatTable.default);
|
|
50
54
|
(0, _react.useImperativeHandle)(ref, () => ({
|
|
51
55
|
focusMainButton() {
|
|
52
56
|
mainButtonRef.current?.focus();
|
|
@@ -133,6 +137,7 @@ const SplitButton = exports.SplitButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
133
137
|
function renderAdditionalButtons() {
|
|
134
138
|
if (!showAdditionalButtons) return null;
|
|
135
139
|
return /*#__PURE__*/_react.default.createElement(_popover.default, {
|
|
140
|
+
disableBackgroundUI: isInFlatTable,
|
|
136
141
|
disablePortal: true,
|
|
137
142
|
placement: position === "left" ? /* istanbul ignore next */"bottom-start" : "bottom-end",
|
|
138
143
|
popoverStrategy: "fixed",
|
|
@@ -14,6 +14,7 @@ var _icon = _interopRequireDefault(require("../../icon"));
|
|
|
14
14
|
var _box = _interopRequireDefault(require("../../box"));
|
|
15
15
|
var _verticalMenu = require("../vertical-menu.style");
|
|
16
16
|
var _verticalMenuFullScreen = _interopRequireDefault(require("./__internal__/vertical-menu-full-screen.context"));
|
|
17
|
+
var _globals = require("../../../__internal__/dom/globals");
|
|
17
18
|
var _events = _interopRequireDefault(require("../../../__internal__/utils/helpers/events/events"));
|
|
18
19
|
var _useModalManager = _interopRequireDefault(require("../../../hooks/__internal__/useModalManager"));
|
|
19
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -36,12 +37,13 @@ const VerticalMenuFullScreen = ({
|
|
|
36
37
|
onClose(ev);
|
|
37
38
|
}
|
|
38
39
|
}, [onClose]);
|
|
40
|
+
const safeDocument = (0, _globals.getDocument)();
|
|
39
41
|
(0, _useModalManager.default)({
|
|
40
42
|
open: isOpen,
|
|
41
43
|
closeModal: handleKeyDown,
|
|
42
44
|
modalRef: menuWrapperRef,
|
|
43
45
|
topModalOverride: true,
|
|
44
|
-
focusCallToActionElement:
|
|
46
|
+
focusCallToActionElement: safeDocument?.activeElement
|
|
45
47
|
});
|
|
46
48
|
|
|
47
49
|
// TODO remove this as part of FE-5650
|
|
@@ -4,32 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _globals = require("../../../__internal__/dom/globals");
|
|
7
8
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
8
9
|
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
9
10
|
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
10
11
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
// TODO: This component can be refactored to remove redundant code
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // TODO: This component can be refactored to remove redundant code
|
|
14
14
|
// once we can confirm that all Sage products use version 105.0.0^
|
|
15
15
|
let ScrollBlockManager = /*#__PURE__*/function () {
|
|
16
16
|
function ScrollBlockManager() {
|
|
17
17
|
_classCallCheck(this, ScrollBlockManager);
|
|
18
18
|
_defineProperty(this, "components", void 0);
|
|
19
19
|
_defineProperty(this, "originalValues", void 0);
|
|
20
|
+
const safeWindow = (0, _globals.getWindow)();
|
|
21
|
+
if (!safeWindow) {
|
|
22
|
+
this.components = {};
|
|
23
|
+
this.originalValues = [];
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
20
26
|
// Due to possibility of multiple carbon versions using it
|
|
21
27
|
// it is necessary to maintain same structure in this global variable
|
|
22
|
-
if (!
|
|
23
|
-
|
|
28
|
+
if (!safeWindow.__CARBON_INTERNALS_SCROLL_BLOCKERS) {
|
|
29
|
+
safeWindow.__CARBON_INTERNALS_SCROLL_BLOCKERS = {
|
|
24
30
|
components: {},
|
|
25
31
|
// originalValues can be removed
|
|
26
32
|
originalValues: [],
|
|
27
33
|
restoreValues: null
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
|
-
this.components =
|
|
36
|
+
this.components = safeWindow.__CARBON_INTERNALS_SCROLL_BLOCKERS.components;
|
|
31
37
|
// TODO: originalValues can be removed
|
|
32
|
-
this.originalValues =
|
|
38
|
+
this.originalValues = safeWindow.__CARBON_INTERNALS_SCROLL_BLOCKERS.originalValues;
|
|
33
39
|
}
|
|
34
40
|
return _createClass(ScrollBlockManager, [{
|
|
35
41
|
key: "registerComponent",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carbon-react",
|
|
3
|
-
"version": "151.
|
|
3
|
+
"version": "151.3.0",
|
|
4
4
|
"description": "A library of reusable React components for easily building user interfaces.",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
"eslint-plugin-playwright": "^1.6.0",
|
|
132
132
|
"eslint-plugin-react": "^7.33.2",
|
|
133
133
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
134
|
+
"eslint-plugin-ssr-friendly": "^1.3.0",
|
|
134
135
|
"eslint-plugin-testing-library": "^6.2.2",
|
|
135
136
|
"events": "~1.1.1",
|
|
136
137
|
"fast-glob": "^3.3.2",
|