@deque/cauldron-react 6.27.0-canary.f0603405 → 7.0.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/lib/components/Dialog/DialogContext.d.ts +1 -0
- package/lib/components/Dialog/index.d.ts +1 -0
- package/lib/components/IconButton/index.d.ts +0 -12
- package/lib/components/Modal/index.d.ts +2 -1
- package/lib/components/Table/TableHeader.d.ts +2 -0
- package/lib/index.js +38 -42
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ export interface DialogProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
12
12
|
};
|
|
13
13
|
closeButtonText?: string;
|
|
14
14
|
portal?: React.RefObject<HTMLElement> | HTMLElement;
|
|
15
|
+
scrollable?: boolean;
|
|
15
16
|
}
|
|
16
17
|
declare const Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
18
|
export default Dialog;
|
|
@@ -7,18 +7,6 @@ export interface IconButtonProps extends PolymorphicProps<React.HTMLAttributes<H
|
|
|
7
7
|
label: React.ReactNode;
|
|
8
8
|
tooltipProps?: Omit<TooltipProps, 'children' | 'target'>;
|
|
9
9
|
disabled?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated use `tooltipProps.placement` instead
|
|
12
|
-
*/
|
|
13
|
-
tooltipPlacement?: TooltipProps['placement'];
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated use `tooltipProps.variant` instead
|
|
16
|
-
*/
|
|
17
|
-
tooltipVariant?: TooltipProps['variant'];
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated use `tooltipProps.portal` instead
|
|
20
|
-
*/
|
|
21
|
-
tooltipPortal?: TooltipProps['portal'];
|
|
22
10
|
variant?: 'primary' | 'secondary' | 'tertiary' | 'error';
|
|
23
11
|
large?: boolean;
|
|
24
12
|
}
|
|
@@ -2,8 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { DialogProps } from '../Dialog';
|
|
3
3
|
interface ModalProps extends Omit<DialogProps, 'forceAction'> {
|
|
4
4
|
variant?: 'info';
|
|
5
|
+
scrollable?: boolean;
|
|
5
6
|
}
|
|
6
|
-
declare const Modal: ({ children, className, variant, ...other }: ModalProps) => React.JSX.Element;
|
|
7
|
+
declare const Modal: ({ children, className, variant, scrollable, ...other }: ModalProps) => React.JSX.Element;
|
|
7
8
|
declare const ModalHeader: {
|
|
8
9
|
({ children, className, ...other }: import("../Dialog").DialogHeaderProps): React.JSX.Element;
|
|
9
10
|
displayName: string;
|
|
@@ -4,7 +4,9 @@ type SortDirection = 'ascending' | 'descending' | 'none';
|
|
|
4
4
|
interface TableHeaderProps extends Omit<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, 'align'> {
|
|
5
5
|
sortDirection?: SortDirection;
|
|
6
6
|
onSort?: () => void;
|
|
7
|
+
/** @deprecated No longer used. Sort state is communicated via aria-sort. */
|
|
7
8
|
sortAscendingAnnouncement?: string;
|
|
9
|
+
/** @deprecated No longer used. Sort state is communicated via aria-sort. */
|
|
8
10
|
sortDescendingAnnouncement?: string;
|
|
9
11
|
align?: ColumnAlignment;
|
|
10
12
|
variant?: 'header' | 'cell';
|
package/lib/index.js
CHANGED
|
@@ -1532,9 +1532,9 @@ var isEscape = function (event) {
|
|
|
1532
1532
|
return event.key === 'Escape' || event.key === 'Esc' || event.keyCode === 27;
|
|
1533
1533
|
};
|
|
1534
1534
|
var Dialog = React.forwardRef(function (_a, ref) {
|
|
1535
|
-
var dialogRefProp = _a.dialogRef, _b = _a.forceAction, forceAction = _b === void 0 ? false : _b, className = _a.className, children = _a.children, _c = _a.closeButtonText, closeButtonText = _c === void 0 ? 'Close' : _c, heading = _a.heading, _d = _a.show, show = _d === void 0 ? false : _d, portal = _a.portal, _e = _a.onClose, onClose =
|
|
1535
|
+
var dialogRefProp = _a.dialogRef, _b = _a.forceAction, forceAction = _b === void 0 ? false : _b, className = _a.className, children = _a.children, _c = _a.closeButtonText, closeButtonText = _c === void 0 ? 'Close' : _c, heading = _a.heading, _d = _a.show, show = _d === void 0 ? false : _d, portal = _a.portal, _e = _a.scrollable, scrollable = _e === void 0 ? false : _e, _f = _a.onClose, onClose = _f === void 0 ? function () { return null; } : _f, other = tslib.__rest(_a, ["dialogRef", "forceAction", "className", "children", "closeButtonText", "heading", "show", "portal", "scrollable", "onClose"]);
|
|
1536
1536
|
var dialogRef = useSharedRef(dialogRefProp || ref);
|
|
1537
|
-
var
|
|
1537
|
+
var _g = tslib.__read(nextId.useId(1, 'dialog-title-'), 1), headingId = _g[0];
|
|
1538
1538
|
var headingRef = React.useRef(null);
|
|
1539
1539
|
var isolatorRef = React.useRef();
|
|
1540
1540
|
var headingLevel = typeof heading === 'object' && 'level' in heading && heading.level
|
|
@@ -1605,14 +1605,16 @@ var Dialog = React.forwardRef(function (_a, ref) {
|
|
|
1605
1605
|
headingLevel: headingLevel,
|
|
1606
1606
|
onClose: handleClose,
|
|
1607
1607
|
forceAction: forceAction,
|
|
1608
|
-
closeButtonText: closeButtonText
|
|
1608
|
+
closeButtonText: closeButtonText,
|
|
1609
|
+
scrollable: scrollable
|
|
1609
1610
|
}); }, [
|
|
1610
1611
|
headingId,
|
|
1611
1612
|
headingRef,
|
|
1612
1613
|
headingLevel,
|
|
1613
1614
|
handleClose,
|
|
1614
1615
|
forceAction,
|
|
1615
|
-
closeButtonText
|
|
1616
|
+
closeButtonText,
|
|
1617
|
+
scrollable
|
|
1616
1618
|
]);
|
|
1617
1619
|
if (!show || !isBrowser()) {
|
|
1618
1620
|
return null;
|
|
@@ -1642,11 +1644,12 @@ var Dialog = React.forwardRef(function (_a, ref) {
|
|
|
1642
1644
|
Dialog.displayName = 'Dialog';
|
|
1643
1645
|
var DialogContent = function (_a) {
|
|
1644
1646
|
var children = _a.children, className = _a.className, align = _a.align, other = tslib.__rest(_a, ["children", "className", "align"]);
|
|
1647
|
+
var context = React.useContext(DialogContext);
|
|
1645
1648
|
return (React__default["default"].createElement("div", tslib.__assign({ className: classNames__default["default"]('Dialog__content', className, {
|
|
1646
1649
|
'text--align-left': align === 'left',
|
|
1647
1650
|
'text--align-center': align === 'center',
|
|
1648
1651
|
'text--align-right': align === 'right'
|
|
1649
|
-
}) }, other), children));
|
|
1652
|
+
}), tabIndex: (context === null || context === void 0 ? void 0 : context.scrollable) ? -1 : undefined }, other), children));
|
|
1650
1653
|
};
|
|
1651
1654
|
DialogContent.displayName = 'DialogContent';
|
|
1652
1655
|
var DialogFooter = function (_a) {
|
|
@@ -1700,10 +1703,11 @@ var AlertContent = DialogContent;
|
|
|
1700
1703
|
var AlertActions = DialogFooter;
|
|
1701
1704
|
|
|
1702
1705
|
var Modal = function (_a) {
|
|
1703
|
-
var children = _a.children, className = _a.className, variant = _a.variant, other = tslib.__rest(_a, ["children", "className", "variant"]);
|
|
1706
|
+
var children = _a.children, className = _a.className, variant = _a.variant, scrollable = _a.scrollable, other = tslib.__rest(_a, ["children", "className", "variant", "scrollable"]);
|
|
1704
1707
|
return (React__default["default"].createElement(Dialog, tslib.__assign({ className: classNames__default["default"]('Modal', className, {
|
|
1705
|
-
'Modal--info': variant === 'info'
|
|
1706
|
-
|
|
1708
|
+
'Modal--info': variant === 'info',
|
|
1709
|
+
'Modal--scrollable': scrollable
|
|
1710
|
+
}) }, other, { scrollable: scrollable, forceAction: false }), children));
|
|
1707
1711
|
};
|
|
1708
1712
|
var ModalHeader = DialogHeader;
|
|
1709
1713
|
var ModalHeading = DialogHeading;
|
|
@@ -2119,7 +2123,7 @@ var looksLikeLink = function (props) {
|
|
|
2119
2123
|
return 'to' in props || 'href' in props;
|
|
2120
2124
|
};
|
|
2121
2125
|
var IconButton = React.forwardRef(function (_a, ref) {
|
|
2122
|
-
var _b = _a.as, Component = _b === void 0 ? 'button' : _b, icon = _a.icon, label = _a.label,
|
|
2126
|
+
var _b = _a.as, Component = _b === void 0 ? 'button' : _b, icon = _a.icon, label = _a.label, _c = _a.tooltipProps, tooltipPropsProp = _c === void 0 ? {} : _c, className = _a.className, _d = _a.variant, variant = _d === void 0 ? 'secondary' : _d, disabled = _a.disabled, _e = _a.tabIndex, tabIndex = _e === void 0 ? 0 : _e, large = _a.large, other = tslib.__rest(_a, ["as", "icon", "label", "tooltipProps", "className", "variant", "disabled", "tabIndex", "large"]);
|
|
2123
2127
|
var internalRef = React.useRef();
|
|
2124
2128
|
React.useImperativeHandle(ref, function () { return internalRef.current; });
|
|
2125
2129
|
// Configure additional properties based on the type of the Component
|
|
@@ -2137,15 +2141,7 @@ var IconButton = React.forwardRef(function (_a, ref) {
|
|
|
2137
2141
|
accessibilityProps['aria-disabled'] = disabled;
|
|
2138
2142
|
}
|
|
2139
2143
|
}
|
|
2140
|
-
|
|
2141
|
-
if (!!tooltipPlacement || !!tooltipVariant || !!tooltipPortal) {
|
|
2142
|
-
React__default["default"].useEffect(function () {
|
|
2143
|
-
console.warn('[IconButton] The following props are deprecated: tooltipPlacement, tooltipVariant, tooltipPortal. ' +
|
|
2144
|
-
'See https://cauldron.dequelabs.com/components/IconButton for recommended replacement.');
|
|
2145
|
-
}, []);
|
|
2146
|
-
}
|
|
2147
|
-
}
|
|
2148
|
-
var tooltipProps = tslib.__assign({ placement: tooltipPlacement || 'auto', variant: tooltipVariant, portal: tooltipPortal, association: 'aria-labelledby', hideElementOnHidden: true }, tooltipPropsProp);
|
|
2144
|
+
var tooltipProps = tslib.__assign({ placement: 'auto', association: 'aria-labelledby', hideElementOnHidden: true }, tooltipPropsProp);
|
|
2149
2145
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2150
2146
|
React__default["default"].createElement(Component, tslib.__assign({ className: classNames__default["default"](className, {
|
|
2151
2147
|
IconButton: true,
|
|
@@ -3187,23 +3183,25 @@ var TableHead = React.forwardRef(function (_a, ref) {
|
|
|
3187
3183
|
TableHead.displayName = 'TableHead';
|
|
3188
3184
|
|
|
3189
3185
|
var TableHeader = React.forwardRef(function (_a, ref) {
|
|
3190
|
-
var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className,
|
|
3186
|
+
var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className, _sortAscendingAnnouncement = _a.sortAscendingAnnouncement, _sortDescendingAnnouncement = _a.sortDescendingAnnouncement, align = _a.align, _b = _a.variant, variant = _b === void 0 ? 'header' : _b, style = _a.style, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className", "sortAscendingAnnouncement", "sortDescendingAnnouncement", "align", "variant", "style"]);
|
|
3191
3187
|
var tableHeaderRef = useSharedRef(ref);
|
|
3192
|
-
var
|
|
3188
|
+
var _c = useTable(), layout = _c.layout, columns = _c.columns;
|
|
3193
3189
|
var tableGridStyles = useTableGridStyles({
|
|
3194
3190
|
elementRef: tableHeaderRef,
|
|
3195
3191
|
align: align,
|
|
3196
3192
|
columns: columns,
|
|
3197
3193
|
layout: layout
|
|
3198
3194
|
});
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3195
|
+
React.useEffect(function () {
|
|
3196
|
+
if (process.env.NODE_ENV === 'production')
|
|
3197
|
+
return;
|
|
3198
|
+
if (_sortAscendingAnnouncement !== undefined ||
|
|
3199
|
+
_sortDescendingAnnouncement !== undefined) {
|
|
3200
|
+
console.warn('[TableHeader] The following props are deprecated and no longer used: sortAscendingAnnouncement, sortDescendingAnnouncement. ' +
|
|
3201
|
+
'Sort state is communicated via aria-sort. ' +
|
|
3202
|
+
'See https://cauldron.dequelabs.com/components/Table for more information.');
|
|
3203
|
+
}
|
|
3204
|
+
}, [_sortAscendingAnnouncement, _sortDescendingAnnouncement]);
|
|
3207
3205
|
return (React__default["default"].createElement("th", tslib.__assign({ ref: tableHeaderRef, "aria-sort": sortDirection, className: classNames__default["default"](variant === 'cell'
|
|
3208
3206
|
? ['TableCell', 'TableHeader--cell-variant']
|
|
3209
3207
|
: 'TableHeader', className, {
|
|
@@ -3211,9 +3209,7 @@ var TableHeader = React.forwardRef(function (_a, ref) {
|
|
|
3211
3209
|
'TableHeader--sort-descending': sortDirection === 'descending'
|
|
3212
3210
|
}), style: tslib.__assign(tslib.__assign({}, tableGridStyles), style) }, other), !!onSort && !!sortDirection ? (React__default["default"].createElement("button", { onClick: onSort, className: "TableHeader__sort-button", type: "button" },
|
|
3213
3211
|
children,
|
|
3214
|
-
React__default["default"].createElement("span", { "aria-hidden": "true" }, sortDirection === 'none' ? (React__default["default"].createElement(Icon, { type: "sort-triangle" })) : sortDirection === 'ascending' ? (React__default["default"].createElement(Icon, { type: "table-sort-ascending" })) : (React__default["default"].createElement(Icon, { type: "table-sort-descending" })))
|
|
3215
|
-
React__default["default"].createElement(Offscreen, null,
|
|
3216
|
-
React__default["default"].createElement("span", { role: "status", "aria-live": "polite" }, announcement)))) : (children)));
|
|
3212
|
+
React__default["default"].createElement("span", { "aria-hidden": "true" }, sortDirection === 'none' ? (React__default["default"].createElement(Icon, { type: "sort-triangle" })) : sortDirection === 'ascending' ? (React__default["default"].createElement(Icon, { type: "table-sort-ascending" })) : (React__default["default"].createElement(Icon, { type: "table-sort-descending" }))))) : (children)));
|
|
3217
3213
|
});
|
|
3218
3214
|
TableHeader.displayName = 'TableHeader';
|
|
3219
3215
|
|
|
@@ -4610,16 +4606,6 @@ var Combobox = React.forwardRef(function (_a, ref) {
|
|
|
4610
4606
|
: ComboboxNoResults;
|
|
4611
4607
|
}, [renderNoResults]);
|
|
4612
4608
|
var noMatchingOptions = !!inputValue && !matchingOptions.size && (React__default["default"].createElement(NoMatchingOptions, null));
|
|
4613
|
-
var comboboxListbox = (
|
|
4614
|
-
// eslint-disable-next-line
|
|
4615
|
-
// @ts-expect-error
|
|
4616
|
-
// multiselect & value props are passed to Listbox, but TS is unable to infer that
|
|
4617
|
-
// it's a correct mapping from Combobox's multiselect & value props
|
|
4618
|
-
React__default["default"].createElement(Listbox, { className: classNames__default["default"]('Combobox__listbox', {
|
|
4619
|
-
'Combobox__listbox--open': open
|
|
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 },
|
|
4621
|
-
comboboxOptions,
|
|
4622
|
-
noMatchingOptions));
|
|
4623
4609
|
var errorId = "".concat(id, "-error");
|
|
4624
4610
|
var descriptionId = "".concat(id, "-description");
|
|
4625
4611
|
var describedby = ariaDescribedby;
|
|
@@ -4630,6 +4616,16 @@ var Combobox = React.forwardRef(function (_a, ref) {
|
|
|
4630
4616
|
describedby = addIdRef(describedby, errorId);
|
|
4631
4617
|
}
|
|
4632
4618
|
var inputProps = tslib.__assign(tslib.__assign({}, props), { 'aria-describedby': describedby });
|
|
4619
|
+
var comboboxListbox = (
|
|
4620
|
+
// eslint-disable-next-line
|
|
4621
|
+
// @ts-expect-error
|
|
4622
|
+
// multiselect & value props are passed to Listbox, but TS is unable to infer that
|
|
4623
|
+
// it's a correct mapping from Combobox's multiselect & value props
|
|
4624
|
+
React__default["default"].createElement(Listbox, { className: classNames__default["default"]('Combobox__listbox', {
|
|
4625
|
+
'Combobox__listbox--open': open
|
|
4626
|
+
}), role: noMatchingOptions ? 'presentation' : 'listbox', "aria-labelledby": noMatchingOptions ? undefined : "".concat(id, "-label"), "aria-describedby": describedby, 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 },
|
|
4627
|
+
comboboxOptions,
|
|
4628
|
+
noMatchingOptions));
|
|
4633
4629
|
return (React__default["default"].createElement("div", { id: id, className: classNames__default["default"]('Combobox', { 'Combobox--multiselect': multiselect }, className), ref: comboboxRef },
|
|
4634
4630
|
name &&
|
|
4635
4631
|
formValues.map(function (formValue, index) { return (React__default["default"].createElement("input", { type: "hidden", key: index, name: name, value: formValue })); }),
|
|
@@ -4662,7 +4658,7 @@ var Combobox = React.forwardRef(function (_a, ref) {
|
|
|
4662
4658
|
};
|
|
4663
4659
|
return (React__default["default"].createElement(ComboboxPill, { ref: refCallback, key: value, value: value, removeOptionLabel: removeOptionLabels[index], disabled: disabled, onClick: handleClick, onKeyDown: handlePillKeyDown }));
|
|
4664
4660
|
}),
|
|
4665
|
-
React__default["default"].createElement("input", tslib.__assign({ type: "text", id: "".concat(id, "-input"), ref: inputRef, value: inputValue, role: "combobox", disabled: disabled, "aria-autocomplete": !isAutoComplete ? 'none' : 'list', "aria-controls": "".concat(id, "-listbox"), "aria-expanded": open, "aria-haspopup": "listbox", "aria-activedescendant": open && activeDescendant ? activeDescendant.element.id : undefined }, inputProps, { onChange: handleChange, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur })),
|
|
4661
|
+
React__default["default"].createElement("input", tslib.__assign({ type: "text", id: "".concat(id, "-input"), ref: inputRef, value: inputValue, role: "combobox", disabled: disabled, "aria-invalid": error ? true : undefined, "aria-autocomplete": !isAutoComplete ? 'none' : 'list', "aria-controls": "".concat(id, "-listbox"), "aria-expanded": open, "aria-haspopup": "listbox", "aria-activedescendant": open && activeDescendant ? activeDescendant.element.id : undefined }, inputProps, { onChange: handleChange, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur })),
|
|
4666
4662
|
React__default["default"].createElement("span", { className: "Combobox__arrow" })),
|
|
4667
4663
|
React__default["default"].createElement(ComboboxProvider, { autocomplete: autocomplete, inputValue: inputValue, formValues: formValues, selectedValues: selectedValues, removeOptionLabels: removeOptionLabels, setRemoveOptionLabels: setRemoveOptionLabels, matches: !isAutoComplete || defaultAutoCompleteMatches, matchingOptions: matchingOptions, setMatchingOptions: setMatchingOptions, setFormValues: setFormValues }, portal && typeof document !== 'undefined'
|
|
4668
4664
|
? reactDom.createPortal(comboboxListbox,
|
package/package.json
CHANGED