@deque/cauldron-react 6.23.3 → 6.24.0-canary.65176d96
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.
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DialogContextValue {
|
|
3
|
+
headingId: string;
|
|
4
|
+
headingRef: React.RefObject<HTMLHeadingElement>;
|
|
5
|
+
headingLevel: number;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
forceAction: boolean;
|
|
8
|
+
closeButtonText: string;
|
|
9
|
+
}
|
|
10
|
+
declare const DialogContext: React.Context<DialogContextValue | null>;
|
|
11
|
+
declare function useDialogContext(): DialogContextValue;
|
|
12
|
+
export { DialogContext, useDialogContext };
|
|
13
|
+
export type { DialogContextValue };
|
|
@@ -6,7 +6,7 @@ export interface DialogProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
6
6
|
dialogRef?: React.Ref<HTMLDivElement>;
|
|
7
7
|
onClose?: () => void;
|
|
8
8
|
forceAction?: boolean;
|
|
9
|
-
heading
|
|
9
|
+
heading?: string | React.ReactElement<any> | {
|
|
10
10
|
text: React.ReactElement<any> | string;
|
|
11
11
|
level: number | undefined;
|
|
12
12
|
};
|
|
@@ -32,4 +32,28 @@ declare const DialogFooter: {
|
|
|
32
32
|
({ children, className, align, ...other }: DialogFooterProps): React.JSX.Element;
|
|
33
33
|
displayName: string;
|
|
34
34
|
};
|
|
35
|
-
export
|
|
35
|
+
export type DialogHeaderProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
36
|
+
className?: string;
|
|
37
|
+
};
|
|
38
|
+
declare const DialogHeader: {
|
|
39
|
+
({ children, className, ...other }: DialogHeaderProps): React.JSX.Element;
|
|
40
|
+
displayName: string;
|
|
41
|
+
};
|
|
42
|
+
export interface DialogHeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
|
|
43
|
+
children: React.ReactNode;
|
|
44
|
+
className?: string;
|
|
45
|
+
level?: number;
|
|
46
|
+
}
|
|
47
|
+
declare const DialogHeading: {
|
|
48
|
+
({ children, className, level: levelProp, ...other }: DialogHeadingProps): React.JSX.Element;
|
|
49
|
+
displayName: string;
|
|
50
|
+
};
|
|
51
|
+
export interface DialogCloseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
52
|
+
children?: React.ReactNode;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
declare const DialogCloseButton: {
|
|
56
|
+
({ children, className, ...other }: DialogCloseButtonProps): React.JSX.Element | null;
|
|
57
|
+
displayName: string;
|
|
58
|
+
};
|
|
59
|
+
export { Dialog, DialogContent, DialogFooter, DialogHeader, DialogHeading, DialogCloseButton };
|
|
@@ -4,6 +4,18 @@ interface ModalProps extends Omit<DialogProps, 'forceAction'> {
|
|
|
4
4
|
variant?: 'info';
|
|
5
5
|
}
|
|
6
6
|
declare const Modal: ({ children, className, variant, ...other }: ModalProps) => React.JSX.Element;
|
|
7
|
+
declare const ModalHeader: {
|
|
8
|
+
({ children, className, ...other }: import("../Dialog").DialogHeaderProps): React.JSX.Element;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
declare const ModalHeading: {
|
|
12
|
+
({ children, className, level: levelProp, ...other }: import("../Dialog").DialogHeadingProps): React.JSX.Element;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
declare const ModalCloseButton: {
|
|
16
|
+
({ children, className, ...other }: import("../Dialog").DialogCloseButtonProps): React.JSX.Element | null;
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
7
19
|
declare const ModalContent: {
|
|
8
20
|
({ children, className, align, ...other }: import("../Dialog").DialogContentProps): React.JSX.Element;
|
|
9
21
|
displayName: string;
|
|
@@ -13,4 +25,4 @@ declare const ModalFooter: {
|
|
|
13
25
|
displayName: string;
|
|
14
26
|
};
|
|
15
27
|
export default Modal;
|
|
16
|
-
export { Modal, ModalContent, ModalFooter };
|
|
28
|
+
export { Modal, ModalHeader, ModalHeading, ModalCloseButton, ModalContent, ModalFooter };
|
|
@@ -7,6 +7,7 @@ interface TableHeaderProps extends Omit<React.ThHTMLAttributes<HTMLTableHeaderCe
|
|
|
7
7
|
sortAscendingAnnouncement?: string;
|
|
8
8
|
sortDescendingAnnouncement?: string;
|
|
9
9
|
align?: ColumnAlignment;
|
|
10
|
+
variant?: 'header' | 'cell';
|
|
10
11
|
}
|
|
11
12
|
declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableHeaderCellElement>>;
|
|
12
13
|
export default TableHeader;
|
package/lib/index.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export { default as TopBar, TopBarTrigger, TopBarMenu, TopBarItem } from './comp
|
|
|
14
14
|
export { default as NavBar, NavItem } from './components/NavBar';
|
|
15
15
|
export { default as SideBar } from './components/SideBar';
|
|
16
16
|
export { Alert, AlertContent, AlertActions } from './components/Alert';
|
|
17
|
-
export { Dialog, DialogContent, DialogFooter } from './components/Dialog';
|
|
18
|
-
export { default as Modal, ModalContent, ModalFooter } from './components/Modal';
|
|
17
|
+
export { Dialog, DialogHeader, DialogHeading, DialogCloseButton, DialogContent, DialogFooter } from './components/Dialog';
|
|
18
|
+
export { default as Modal, ModalCloseButton, ModalHeader, ModalHeading, ModalContent, ModalFooter } from './components/Modal';
|
|
19
19
|
export { default as SkipLink } from './components/SkipLink';
|
|
20
20
|
export { default as Button } from './components/Button';
|
|
21
21
|
export { default as IconButton } from './components/IconButton';
|
package/lib/index.js
CHANGED
|
@@ -1517,6 +1517,15 @@ function useFocusTrap(target, options) {
|
|
|
1517
1517
|
return focusTrap;
|
|
1518
1518
|
}
|
|
1519
1519
|
|
|
1520
|
+
var DialogContext = React.createContext(null);
|
|
1521
|
+
function useDialogContext() {
|
|
1522
|
+
var context = React.useContext(DialogContext);
|
|
1523
|
+
if (!context) {
|
|
1524
|
+
throw new Error('Dialog compound components must be rendered within a Dialog');
|
|
1525
|
+
}
|
|
1526
|
+
return context;
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1520
1529
|
var isEscape = function (event) {
|
|
1521
1530
|
return event.key === 'Escape' || event.key === 'Esc' || event.keyCode === 27;
|
|
1522
1531
|
};
|
|
@@ -1526,6 +1535,9 @@ var Dialog = React.forwardRef(function (_a, ref) {
|
|
|
1526
1535
|
var _f = tslib.__read(nextId.useId(1, 'dialog-title-'), 1), headingId = _f[0];
|
|
1527
1536
|
var headingRef = React.useRef(null);
|
|
1528
1537
|
var isolatorRef = React.useRef();
|
|
1538
|
+
var headingLevel = typeof heading === 'object' && 'level' in heading && heading.level
|
|
1539
|
+
? heading.level
|
|
1540
|
+
: 2;
|
|
1529
1541
|
var handleClose = React.useCallback(function () {
|
|
1530
1542
|
var _a;
|
|
1531
1543
|
(_a = isolatorRef.current) === null || _a === void 0 ? void 0 : _a.deactivate();
|
|
@@ -1577,6 +1589,29 @@ var Dialog = React.forwardRef(function (_a, ref) {
|
|
|
1577
1589
|
disabled: !show,
|
|
1578
1590
|
initialFocusElement: headingRef
|
|
1579
1591
|
});
|
|
1592
|
+
React.useEffect(function () {
|
|
1593
|
+
if (show && !heading && dialogRef.current) {
|
|
1594
|
+
var hasHeading = dialogRef.current.querySelector('.Dialog__heading');
|
|
1595
|
+
if (process.env.NODE_ENV !== 'production' && !hasHeading) {
|
|
1596
|
+
throw Error('Dialog: No heading provided. When using a custom header, include a DialogHeading component for accessibility.');
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
}, [show, heading]);
|
|
1600
|
+
var contextValue = React.useMemo(function () { return ({
|
|
1601
|
+
headingId: headingId,
|
|
1602
|
+
headingRef: headingRef,
|
|
1603
|
+
headingLevel: headingLevel,
|
|
1604
|
+
onClose: handleClose,
|
|
1605
|
+
forceAction: forceAction,
|
|
1606
|
+
closeButtonText: closeButtonText
|
|
1607
|
+
}); }, [
|
|
1608
|
+
headingId,
|
|
1609
|
+
headingRef,
|
|
1610
|
+
headingLevel,
|
|
1611
|
+
handleClose,
|
|
1612
|
+
forceAction,
|
|
1613
|
+
closeButtonText
|
|
1614
|
+
]);
|
|
1580
1615
|
if (!show || !isBrowser()) {
|
|
1581
1616
|
return null;
|
|
1582
1617
|
}
|
|
@@ -1586,23 +1621,18 @@ var Dialog = React.forwardRef(function (_a, ref) {
|
|
|
1586
1621
|
: portal
|
|
1587
1622
|
: // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc
|
|
1588
1623
|
document.body;
|
|
1589
|
-
var closeButton = !forceAction ? (React__default["default"].createElement("button", { className: "Dialog__close", type: "button", onClick: handleClose },
|
|
1590
|
-
React__default["default"].createElement(Icon, { type: "close", "aria-hidden": "true" }),
|
|
1591
|
-
React__default["default"].createElement(Offscreen, null, closeButtonText))) : null;
|
|
1592
|
-
var HeadingLevel = "h".concat(typeof heading === 'object' && 'level' in heading && heading.level
|
|
1593
|
-
? heading.level
|
|
1594
|
-
: 2);
|
|
1595
1624
|
var dialog = (React__default["default"].createElement(ClickOutsideListener$1, { onClickOutside: handleClickOutside },
|
|
1596
1625
|
React__default["default"].createElement("div", tslib.__assign({ role: "dialog", className: classNames__default["default"]('Dialog', className, {
|
|
1597
1626
|
'Dialog--show': show
|
|
1598
1627
|
}), ref: dialogRef, "aria-labelledby": headingId }, other),
|
|
1599
|
-
React__default["default"].createElement(
|
|
1600
|
-
React__default["default"].createElement("div", { className: "
|
|
1601
|
-
React__default["default"].createElement(
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1628
|
+
React__default["default"].createElement(DialogContext.Provider, { value: contextValue },
|
|
1629
|
+
React__default["default"].createElement("div", { className: "Dialog__inner" },
|
|
1630
|
+
heading ? (React__default["default"].createElement(DialogHeader, null,
|
|
1631
|
+
React__default["default"].createElement(DialogHeading, null, typeof heading === 'object' && 'text' in heading
|
|
1632
|
+
? heading.text
|
|
1633
|
+
: heading),
|
|
1634
|
+
React__default["default"].createElement(DialogCloseButton, null))) : null,
|
|
1635
|
+
children)))));
|
|
1606
1636
|
return reactDom.createPortal(dialog,
|
|
1607
1637
|
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc
|
|
1608
1638
|
portalElement || document.body);
|
|
@@ -1626,6 +1656,30 @@ var DialogFooter = function (_a) {
|
|
|
1626
1656
|
}) }, other), children));
|
|
1627
1657
|
};
|
|
1628
1658
|
DialogFooter.displayName = 'DialogFooter';
|
|
1659
|
+
var DialogHeader = function (_a) {
|
|
1660
|
+
var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
|
|
1661
|
+
return (React__default["default"].createElement("div", tslib.__assign({ className: classNames__default["default"]('Dialog__header', className) }, other), children));
|
|
1662
|
+
};
|
|
1663
|
+
DialogHeader.displayName = 'DialogHeader';
|
|
1664
|
+
var DialogHeading = function (_a) {
|
|
1665
|
+
var children = _a.children, className = _a.className, levelProp = _a.level, other = tslib.__rest(_a, ["children", "className", "level"]);
|
|
1666
|
+
var _b = useDialogContext(), headingId = _b.headingId, headingRef = _b.headingRef, headingLevel = _b.headingLevel;
|
|
1667
|
+
var HeadingLevel = "h".concat(levelProp !== null && levelProp !== void 0 ? levelProp : headingLevel);
|
|
1668
|
+
return (React__default["default"].createElement(HeadingLevel, tslib.__assign({ className: classNames__default["default"]('Dialog__heading', className), ref: headingRef, tabIndex: -1, id: headingId }, other), children));
|
|
1669
|
+
};
|
|
1670
|
+
DialogHeading.displayName = 'DialogHeading';
|
|
1671
|
+
var DialogCloseButton = function (_a) {
|
|
1672
|
+
var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
|
|
1673
|
+
var _b = useDialogContext(), onClose = _b.onClose, forceAction = _b.forceAction, closeButtonText = _b.closeButtonText;
|
|
1674
|
+
if (forceAction && process.env.NODE_ENV !== 'production') {
|
|
1675
|
+
console.warn('DialogCloseButton: Component will not render because forceAction is true. Remove DialogCloseButton from your custom header when using forceAction.');
|
|
1676
|
+
return null;
|
|
1677
|
+
}
|
|
1678
|
+
return (React__default["default"].createElement("button", tslib.__assign({ className: classNames__default["default"]('Dialog__close', className), type: "button", onClick: onClose }, other), children !== null && children !== void 0 ? children : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1679
|
+
React__default["default"].createElement(Icon, { type: "close", "aria-hidden": "true" }),
|
|
1680
|
+
React__default["default"].createElement(Offscreen, null, closeButtonText)))));
|
|
1681
|
+
};
|
|
1682
|
+
DialogCloseButton.displayName = 'DialogCloseButton';
|
|
1629
1683
|
|
|
1630
1684
|
var Alert = function (_a) {
|
|
1631
1685
|
var children = _a.children, className = _a.className, _b = _a.variant, variant = _b === void 0 ? 'default' : _b, heading = _a.heading, other = tslib.__rest(_a, ["children", "className", "variant", "heading"]);
|
|
@@ -1649,6 +1703,9 @@ var Modal = function (_a) {
|
|
|
1649
1703
|
'Modal--info': variant === 'info'
|
|
1650
1704
|
}) }, other, { forceAction: false }), children));
|
|
1651
1705
|
};
|
|
1706
|
+
var ModalHeader = DialogHeader;
|
|
1707
|
+
var ModalHeading = DialogHeading;
|
|
1708
|
+
var ModalCloseButton = DialogCloseButton;
|
|
1652
1709
|
var ModalContent = DialogContent;
|
|
1653
1710
|
var ModalFooter = DialogFooter;
|
|
1654
1711
|
|
|
@@ -3130,9 +3187,9 @@ var TableHead = React.forwardRef(function (_a, ref) {
|
|
|
3130
3187
|
TableHead.displayName = 'TableHead';
|
|
3131
3188
|
|
|
3132
3189
|
var TableHeader = React.forwardRef(function (_a, ref) {
|
|
3133
|
-
var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className, _b = _a.sortAscendingAnnouncement, sortAscendingAnnouncement = _b === void 0 ? 'sorted ascending' : _b, _c = _a.sortDescendingAnnouncement, sortDescendingAnnouncement = _c === void 0 ? 'sorted descending' : _c, align = _a.align, style = _a.style, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className", "sortAscendingAnnouncement", "sortDescendingAnnouncement", "align", "style"]);
|
|
3190
|
+
var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className, _b = _a.sortAscendingAnnouncement, sortAscendingAnnouncement = _b === void 0 ? 'sorted ascending' : _b, _c = _a.sortDescendingAnnouncement, sortDescendingAnnouncement = _c === void 0 ? 'sorted descending' : _c, align = _a.align, _d = _a.variant, variant = _d === void 0 ? 'header' : _d, style = _a.style, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className", "sortAscendingAnnouncement", "sortDescendingAnnouncement", "align", "variant", "style"]);
|
|
3134
3191
|
var tableHeaderRef = useSharedRef(ref);
|
|
3135
|
-
var
|
|
3192
|
+
var _e = useTable(), layout = _e.layout, columns = _e.columns;
|
|
3136
3193
|
var tableGridStyles = useTableGridStyles({
|
|
3137
3194
|
elementRef: tableHeaderRef,
|
|
3138
3195
|
align: align,
|
|
@@ -3147,7 +3204,9 @@ var TableHeader = React.forwardRef(function (_a, ref) {
|
|
|
3147
3204
|
: sortDirection === 'descending'
|
|
3148
3205
|
? sortDescendingAnnouncement
|
|
3149
3206
|
: '';
|
|
3150
|
-
return (React__default["default"].createElement("th", tslib.__assign({ ref: tableHeaderRef, "aria-sort": sortDirection, className: classNames__default["default"]('
|
|
3207
|
+
return (React__default["default"].createElement("th", tslib.__assign({ ref: tableHeaderRef, "aria-sort": sortDirection, className: classNames__default["default"](variant === 'cell'
|
|
3208
|
+
? ['TableCell', 'TableHeader--cell-variant']
|
|
3209
|
+
: 'TableHeader', className, {
|
|
3151
3210
|
'TableHeader--sort-ascending': sortDirection === 'ascending',
|
|
3152
3211
|
'TableHeader--sort-descending': sortDirection === 'descending'
|
|
3153
3212
|
}), style: tslib.__assign(tslib.__assign({}, tableGridStyles), style) }, other), !!onSort && !!sortDirection ? (React__default["default"].createElement("button", { onClick: onSort, className: "TableHeader__sort-button", type: "button" },
|
|
@@ -4558,7 +4617,7 @@ var Combobox = React.forwardRef(function (_a, ref) {
|
|
|
4558
4617
|
// it's a correct mapping from Combobox's multiselect & value props
|
|
4559
4618
|
React__default["default"].createElement(Listbox, { className: classNames__default["default"]('Combobox__listbox', {
|
|
4560
4619
|
'Combobox__listbox--open': open
|
|
4561
|
-
}), role: noMatchingOptions ? 'presentation' : 'listbox', "aria-labelledby": noMatchingOptions ? undefined : "".concat(id, "-label"), id: "".concat(id, "-listbox"), value: multiselect ? selectedValues : selectedValues[0], onMouseDown: handleComboboxOptionMouseDown, onClick: handleComboboxOptionClick, onSelectionChange: handleSelectionChange, onActiveChange: handleActiveChange, ref: listboxRef, tabIndex: undefined, "aria-activedescendant": undefined, multiselect: multiselect, disabled: disabled },
|
|
4620
|
+
}), role: noMatchingOptions ? 'presentation' : 'listbox', "aria-labelledby": noMatchingOptions ? undefined : "".concat(id, "-label"), id: "".concat(id, "-listbox"), value: multiselect ? selectedValues : selectedValues[0], onMouseDown: handleComboboxOptionMouseDown, onClick: handleComboboxOptionClick, onSelectionChange: handleSelectionChange, onActiveChange: handleActiveChange, ref: listboxRef, tabIndex: noMatchingOptions ? undefined : -1, "aria-activedescendant": undefined, multiselect: multiselect, disabled: disabled },
|
|
4562
4621
|
comboboxOptions,
|
|
4563
4622
|
noMatchingOptions));
|
|
4564
4623
|
var errorId = "".concat(id, "-error");
|
|
@@ -5456,8 +5515,11 @@ exports.DescriptionList = DescriptionList;
|
|
|
5456
5515
|
exports.DescriptionListItem = DescriptionListItem;
|
|
5457
5516
|
exports.DescriptionTerm = DescriptionTerm;
|
|
5458
5517
|
exports.Dialog = Dialog;
|
|
5518
|
+
exports.DialogCloseButton = DialogCloseButton;
|
|
5459
5519
|
exports.DialogContent = DialogContent;
|
|
5460
5520
|
exports.DialogFooter = DialogFooter;
|
|
5521
|
+
exports.DialogHeader = DialogHeader;
|
|
5522
|
+
exports.DialogHeading = DialogHeading;
|
|
5461
5523
|
exports.Drawer = Drawer;
|
|
5462
5524
|
exports.EmptyState = EmptyState;
|
|
5463
5525
|
exports.ExpandCollapsePanel = ExpandCollapsePanel;
|
|
@@ -5478,8 +5540,11 @@ exports.Main = Main;
|
|
|
5478
5540
|
exports.MenuBar = TopBar$1;
|
|
5479
5541
|
exports.MenuItem = MenuItem;
|
|
5480
5542
|
exports.Modal = Modal;
|
|
5543
|
+
exports.ModalCloseButton = ModalCloseButton;
|
|
5481
5544
|
exports.ModalContent = ModalContent;
|
|
5482
5545
|
exports.ModalFooter = ModalFooter;
|
|
5546
|
+
exports.ModalHeader = ModalHeader;
|
|
5547
|
+
exports.ModalHeading = ModalHeading;
|
|
5483
5548
|
exports.NavBar = NavBar;
|
|
5484
5549
|
exports.NavItem = NavItem;
|
|
5485
5550
|
exports.Notice = Notice;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deque/cauldron-react",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.24.0-canary.65176d96",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "Fully accessible react components library for Deque Cauldron",
|
|
6
6
|
"homepage": "https://cauldron.dequelabs.com/",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"focusable": "^2.3.0",
|
|
29
29
|
"keyname": "^0.1.0",
|
|
30
30
|
"react-id-generator": "^3.0.1",
|
|
31
|
-
"react-syntax-highlighter": "^
|
|
31
|
+
"react-syntax-highlighter": "^16.0.1",
|
|
32
32
|
"tslib": "^2.4.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@types/node": "^17.0.42",
|
|
52
52
|
"@types/react": "^18.0.12",
|
|
53
53
|
"@types/react-dom": "^18.0.5",
|
|
54
|
-
"@types/react-syntax-highlighter": "^15.5.
|
|
54
|
+
"@types/react-syntax-highlighter": "^15.5.13",
|
|
55
55
|
"@types/sinon": "^10",
|
|
56
56
|
"autoprefixer": "^9.7.6",
|
|
57
57
|
"babel-plugin-module-resolver": "^4.0.0",
|
|
@@ -79,8 +79,5 @@
|
|
|
79
79
|
"peerDependencies": {
|
|
80
80
|
"react": ">=16.6 <= 18",
|
|
81
81
|
"react-dom": ">=16.6 <= 18"
|
|
82
|
-
},
|
|
83
|
-
"resolutions": {
|
|
84
|
-
"**/refractor/prismjs": "^1.30.0"
|
|
85
82
|
}
|
|
86
83
|
}
|