@deque/cauldron-react 4.2.1-canary.f766f9dd → 4.3.0-canary.3e730f66
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/Checkbox/index.d.ts +1 -1
- package/lib/components/Code/index.d.ts +1 -0
- package/lib/components/ExpandCollapsePanel/PanelTrigger.d.ts +6 -1
- package/lib/components/Icon/types.d.ts +1 -1
- package/lib/components/IconButton/index.d.ts +8 -1
- package/lib/components/LoaderOverlay/index.d.ts +1 -0
- package/lib/components/RadioGroup/index.d.ts +2 -2
- package/lib/components/Table/Table.d.ts +2 -6
- package/lib/components/Table/TableBody.d.ts +2 -6
- package/lib/components/Table/TableCell.d.ts +2 -6
- package/lib/components/Table/TableHead.d.ts +2 -6
- package/lib/components/Table/TableHeader.d.ts +6 -4
- package/lib/components/Table/TableRow.d.ts +2 -6
- package/lib/components/TwoColumnPanel/TwoColumnPanel.d.ts +2 -0
- package/lib/dropper.js +24 -0
- package/lib/index.js +88 -51
- package/lib/utils/useSharedRef.d.ts +16 -0
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import React, { InputHTMLAttributes, Ref } from 'react';
|
|
|
2
2
|
export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
3
3
|
id: string;
|
|
4
4
|
label: React.ReactNode;
|
|
5
|
-
labelDescription?:
|
|
5
|
+
labelDescription?: React.ReactNode;
|
|
6
6
|
error?: React.ReactNode;
|
|
7
7
|
customIcon?: React.ReactNode;
|
|
8
8
|
checkboxRef?: Ref<HTMLInputElement>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
+
import { IconType } from '../Icon';
|
|
3
4
|
export interface PanelTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
5
|
children?: ((props: {
|
|
5
6
|
open: boolean;
|
|
@@ -7,14 +8,18 @@ export interface PanelTriggerProps extends React.ButtonHTMLAttributes<HTMLButton
|
|
|
7
8
|
open?: boolean;
|
|
8
9
|
fullWidth?: string;
|
|
9
10
|
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
11
|
+
iconExpanded?: IconType;
|
|
12
|
+
iconCollapsed?: IconType;
|
|
10
13
|
}
|
|
11
|
-
declare function PanelTrigger({ children, className, open, fullWidth, onClick, ...other }: PanelTriggerProps): JSX.Element;
|
|
14
|
+
declare function PanelTrigger({ children, className, open, fullWidth, onClick, iconExpanded, iconCollapsed, ...other }: PanelTriggerProps): JSX.Element;
|
|
12
15
|
declare namespace PanelTrigger {
|
|
13
16
|
var propTypes: {
|
|
14
17
|
children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
15
18
|
open: PropTypes.Requireable<boolean>;
|
|
16
19
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
17
20
|
className: PropTypes.Requireable<string>;
|
|
21
|
+
iconExpanded: PropTypes.Requireable<string>;
|
|
22
|
+
iconCollapsed: PropTypes.Requireable<string>;
|
|
18
23
|
};
|
|
19
24
|
}
|
|
20
25
|
declare const _default: React.MemoExoticComponent<typeof PanelTrigger>;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* GENERATED CODE. DO NOT EDIT DIRECTLY!
|
|
3
3
|
*/
|
|
4
4
|
/** IconType represents each valid icon type. */
|
|
5
|
-
export declare type IconType = 'add-user' | 'arrow-circle-up' | 'arrow-circle-down' | 'arrow-circle-left' | 'arrow-circle-right' | 'arrow-up' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrows-alt' | 'bolt' | 'caution' | 'check-circle' | 'check-shield' | 'check-solid' | 'check' | 'checkbox-checked' | 'checkbox-unchecked' | 'chevron-double-up' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'close' | 'code' | 'copy' | 'download' | 'exchange' | 'external-link' | 'eye' | 'filter' | 'flag' | 'gears' | 'grid' | 'hamburger-menu' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'list' | 'lock' | 'magnifying-glass' | 'menu' | 'minus' | 'new-releases' | 'new' | 'no' | 'pencil' | 'plus' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle' | 'resend' | 'robot' | 'run-again' | 'save' | 'share' | 'sort-triangle' | 'sort' | 'star' | 'sun' | 'tag' | 'target' | 'trash' | 'triangle-up' | 'triangle-down' | 'triangle-left' | 'triangle-right' | 'upload';
|
|
5
|
+
export declare type IconType = 'add-user' | 'arrow-circle-up' | 'arrow-circle-down' | 'arrow-circle-left' | 'arrow-circle-right' | 'arrow-up' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrows-alt' | 'bolt' | 'caution' | 'check-circle' | 'check-shield' | 'check-solid' | 'check' | 'checkbox-checked' | 'checkbox-unchecked' | 'chevron-double-up' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'close' | 'code' | 'copy' | 'download' | 'dropper' | 'exchange' | 'external-link' | 'eye' | 'filter' | 'flag' | 'gears' | 'grid' | 'hamburger-menu' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'list' | 'lock' | 'magnifying-glass' | 'menu' | 'minus' | 'new-releases' | 'new' | 'no' | 'pencil' | 'plus' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle' | 'resend' | 'robot' | 'run-again' | 'save' | 'share' | 'sort-triangle' | 'sort' | 'star' | 'sun' | 'tag' | 'target' | 'trash' | 'triangle-up' | 'triangle-down' | 'triangle-left' | 'triangle-right' | 'upload';
|
|
6
6
|
/** iconTypes holds each valid icon type. */
|
|
7
7
|
export declare const iconTypes: string[];
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unfortunately, eslint does not recognize the Polymorphic component has propTypes set
|
|
3
|
+
*
|
|
4
|
+
* We might be able to remove this if we upgrade eslint and associated plugins
|
|
5
|
+
* See: https://github.com/dequelabs/cauldron/issues/451
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
1
8
|
import * as Polymorphic from '../../utils/polymorphic-type';
|
|
2
9
|
import { IconType } from '../Icon';
|
|
3
10
|
import { TooltipProps } from '../Tooltip';
|
|
4
11
|
export interface IconButtonOwnProps {
|
|
5
12
|
icon: IconType;
|
|
6
|
-
label:
|
|
13
|
+
label: React.ReactNode;
|
|
7
14
|
tooltipPlacement?: TooltipProps['placement'];
|
|
8
15
|
tooltipVariant?: TooltipProps['variant'];
|
|
9
16
|
tooltipPortal?: TooltipProps['portal'];
|
|
@@ -4,6 +4,7 @@ interface LoaderOverlayProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
4
4
|
label?: string;
|
|
5
5
|
focusOnInitialRender?: boolean;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
+
focusTrap?: boolean;
|
|
7
8
|
}
|
|
8
9
|
declare const LoaderOverlay: React.ForwardRefExoticComponent<LoaderOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
10
|
export default LoaderOverlay;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
export interface RadioItem extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
4
|
-
label:
|
|
4
|
+
label: React.ReactNode;
|
|
5
5
|
value?: string;
|
|
6
|
-
labelDescription?:
|
|
6
|
+
labelDescription?: React.ReactNode;
|
|
7
7
|
}
|
|
8
8
|
export interface RadioGroupProps {
|
|
9
9
|
name?: string;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { TableHTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
interface TableProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
3
|
declare const Table: {
|
|
8
|
-
({ children, className, ...other }:
|
|
4
|
+
({ children, className, ...other }: TableHTMLAttributes<HTMLTableElement>): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
10
6
|
propTypes: {
|
|
11
7
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
interface TableBodyProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
3
|
declare const TableBody: {
|
|
8
|
-
({ children, className, ...other }:
|
|
4
|
+
({ children, className, ...other }: HTMLAttributes<HTMLTableSectionElement>): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
10
6
|
propTypes: {
|
|
11
7
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { TdHTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
3
|
declare const TableCell: {
|
|
8
|
-
({ children, className, ...other }:
|
|
4
|
+
({ children, className, ...other }: TdHTMLAttributes<HTMLTableCellElement>): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
10
6
|
propTypes: {
|
|
11
7
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
interface TableHeadProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
3
|
declare const TableHead: {
|
|
8
|
-
({ children, className, ...other }:
|
|
4
|
+
({ children, className, ...other }: HTMLAttributes<HTMLTableSectionElement>): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
10
6
|
propTypes: {
|
|
11
7
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ThHTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
declare type SortDirection = 'ascending' | 'descending' | 'none';
|
|
4
4
|
interface TableHeaderProps extends ThHTMLAttributes<HTMLTableCellElement> {
|
|
5
|
-
children: React.ReactNode;
|
|
6
5
|
sortDirection?: SortDirection;
|
|
7
6
|
onSort?: () => void;
|
|
8
|
-
|
|
7
|
+
sortAscendingAnnouncement?: string;
|
|
8
|
+
sortDescendingAnnouncement?: string;
|
|
9
9
|
}
|
|
10
10
|
declare const TableHeader: {
|
|
11
|
-
({ children, sortDirection, onSort, className, ...other }: TableHeaderProps): JSX.Element;
|
|
11
|
+
({ children, sortDirection, onSort, className, sortAscendingAnnouncement, sortDescendingAnnouncement, ...other }: TableHeaderProps): JSX.Element;
|
|
12
12
|
displayName: string;
|
|
13
13
|
propTypes: {
|
|
14
14
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
15
15
|
sortDirection: PropTypes.Requireable<string>;
|
|
16
16
|
onSort: PropTypes.Requireable<(...args: any[]) => any>;
|
|
17
17
|
className: PropTypes.Requireable<string>;
|
|
18
|
+
sortAscendingAnnouncement: PropTypes.Requireable<string>;
|
|
19
|
+
sortDescendingAnnouncement: PropTypes.Requireable<string>;
|
|
18
20
|
};
|
|
19
21
|
};
|
|
20
22
|
export default TableHeader;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
interface TableRowProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
3
|
declare const TableRow: {
|
|
8
|
-
({ children, className, ...other }:
|
|
4
|
+
({ children, className, ...other }: HTMLAttributes<HTMLTableRowElement>): JSX.Element;
|
|
9
5
|
displayName: string;
|
|
10
6
|
propTypes: {
|
|
11
7
|
children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import SkipLink from '../SkipLink';
|
|
2
3
|
interface TwoColumnPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
initialCollapsed?: boolean;
|
|
4
5
|
showCollapsedPanelLabel?: string;
|
|
5
6
|
hideCollapsedPanelLabel?: string;
|
|
7
|
+
skipLink?: SkipLink;
|
|
6
8
|
}
|
|
7
9
|
declare const TwoColumnPanel: React.ForwardRefExoticComponent<TwoColumnPanelProps & React.RefAttributes<HTMLDivElement>>;
|
|
8
10
|
export default TwoColumnPanel;
|
package/lib/dropper.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var React__default = _interopDefault(React);
|
|
7
|
+
|
|
8
|
+
var _path;
|
|
9
|
+
|
|
10
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
11
|
+
|
|
12
|
+
const SvgDropper = props => /*#__PURE__*/React.createElement("svg", _extends({
|
|
13
|
+
overflow: "visible",
|
|
14
|
+
preserveAspectRatio: "none",
|
|
15
|
+
viewBox: "0 0 24 24",
|
|
16
|
+
height: 24,
|
|
17
|
+
width: 24
|
|
18
|
+
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
19
|
+
d: "m20.71 5.63-2.34-2.34a.996.996 0 0 0-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42zM6.92 19 5 17.08l8.06-8.06 1.92 1.92L6.92 19z",
|
|
20
|
+
fill: "currentColor",
|
|
21
|
+
vectorEffect: "non-scaling-stroke"
|
|
22
|
+
})));
|
|
23
|
+
|
|
24
|
+
exports.default = SvgDropper;
|
package/lib/index.js
CHANGED
|
@@ -147,6 +147,7 @@ var iconTypes = [
|
|
|
147
147
|
'code',
|
|
148
148
|
'copy',
|
|
149
149
|
'download',
|
|
150
|
+
'dropper',
|
|
150
151
|
'exchange',
|
|
151
152
|
'external-link',
|
|
152
153
|
'eye',
|
|
@@ -213,6 +214,7 @@ function __variableDynamicImportRuntime0__(path) {
|
|
|
213
214
|
case './icons/code.svg': return Promise.resolve().then(function () { return require('./code.js'); });
|
|
214
215
|
case './icons/copy.svg': return Promise.resolve().then(function () { return require('./copy.js'); });
|
|
215
216
|
case './icons/download.svg': return Promise.resolve().then(function () { return require('./download.js'); });
|
|
217
|
+
case './icons/dropper.svg': return Promise.resolve().then(function () { return require('./dropper.js'); });
|
|
216
218
|
case './icons/exchange.svg': return Promise.resolve().then(function () { return require('./exchange.js'); });
|
|
217
219
|
case './icons/external-link.svg': return Promise.resolve().then(function () { return require('./external-link.js'); });
|
|
218
220
|
case './icons/eye.svg': return Promise.resolve().then(function () { return require('./eye.js'); });
|
|
@@ -1663,13 +1665,6 @@ var IconButton = React.forwardRef(function (_a, ref) {
|
|
|
1663
1665
|
accessibilityProps['aria-disabled'] = disabled;
|
|
1664
1666
|
}
|
|
1665
1667
|
}
|
|
1666
|
-
React.useEffect(function () {
|
|
1667
|
-
var _a;
|
|
1668
|
-
if (!disabled) {
|
|
1669
|
-
return;
|
|
1670
|
-
}
|
|
1671
|
-
(_a = internalRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-label', label);
|
|
1672
|
-
}, [disabled]);
|
|
1673
1668
|
return (React__default.createElement(React__default.Fragment, null,
|
|
1674
1669
|
React__default.createElement(Component, tslib.__assign({ className: classNames(className, {
|
|
1675
1670
|
IconButton: true,
|
|
@@ -1677,7 +1672,8 @@ var IconButton = React.forwardRef(function (_a, ref) {
|
|
|
1677
1672
|
'IconButton--secondary': variant === 'secondary',
|
|
1678
1673
|
'IconButton--error': variant === 'error'
|
|
1679
1674
|
}), ref: internalRef, disabled: disabled, tabIndex: disabled ? -1 : tabIndex }, accessibilityProps, other),
|
|
1680
|
-
React__default.createElement(Icon, { type: icon })
|
|
1675
|
+
React__default.createElement(Icon, { type: icon }),
|
|
1676
|
+
React__default.createElement(Offscreen, null, label)),
|
|
1681
1677
|
!disabled && (React__default.createElement(Tooltip, { target: internalRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
|
|
1682
1678
|
});
|
|
1683
1679
|
IconButton.propTypes = {
|
|
@@ -1685,7 +1681,7 @@ IconButton.propTypes = {
|
|
|
1685
1681
|
as: PropTypes.elementType,
|
|
1686
1682
|
// @ts-expect-error
|
|
1687
1683
|
icon: PropTypes.string.isRequired,
|
|
1688
|
-
label: PropTypes.
|
|
1684
|
+
label: PropTypes.node.isRequired,
|
|
1689
1685
|
// @ts-expect-error
|
|
1690
1686
|
tooltipPlacement: PropTypes.string,
|
|
1691
1687
|
// @ts-expect-error
|
|
@@ -2360,7 +2356,7 @@ var RadioGroup = function (_a) {
|
|
|
2360
2356
|
var _a;
|
|
2361
2357
|
handleChange(radioValue);
|
|
2362
2358
|
onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
|
|
2363
|
-
}, disabled: disabled, checked: isChecked, "aria-describedby": labelDescription
|
|
2359
|
+
}, disabled: disabled, checked: isChecked, "aria-describedby": labelDescription ? id + "Desc" : undefined }, other)),
|
|
2364
2360
|
React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
|
|
2365
2361
|
'Field__label--disabled': disabled
|
|
2366
2362
|
}) }, label),
|
|
@@ -2600,16 +2596,18 @@ var TextField = /** @class */ (function (_super) {
|
|
|
2600
2596
|
}(React__default.Component));
|
|
2601
2597
|
|
|
2602
2598
|
function PanelTrigger(_a) {
|
|
2603
|
-
var children = _a.children, className = _a.className, open = _a.open, fullWidth = _a.fullWidth, onClick = _a.onClick, other = tslib.__rest(_a, ["children", "className", "open", "fullWidth", "onClick"]);
|
|
2599
|
+
var children = _a.children, className = _a.className, open = _a.open, fullWidth = _a.fullWidth, onClick = _a.onClick, _b = _a.iconExpanded, iconExpanded = _b === void 0 ? 'chevron-down' : _b, _c = _a.iconCollapsed, iconCollapsed = _c === void 0 ? 'chevron-right' : _c, other = tslib.__rest(_a, ["children", "className", "open", "fullWidth", "onClick", "iconExpanded", "iconCollapsed"]);
|
|
2604
2600
|
return (React__default.createElement("button", tslib.__assign({}, other, { className: classNames('ExpandCollapse__trigger', fullWidth ? 'fullWidth' : '', className), type: "button", "aria-expanded": open, onClick: onClick }),
|
|
2605
2601
|
React__default.createElement("div", { className: "ExpandCollapse__trigger-title" }, typeof children === 'function' ? children({ open: !!open }) : children),
|
|
2606
|
-
React__default.createElement(Icon, { type: open ?
|
|
2602
|
+
React__default.createElement(Icon, { type: open ? iconExpanded : iconCollapsed })));
|
|
2607
2603
|
}
|
|
2608
2604
|
PanelTrigger.propTypes = {
|
|
2609
2605
|
children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
|
|
2610
2606
|
open: PropTypes.bool,
|
|
2611
2607
|
onClick: PropTypes.func,
|
|
2612
|
-
className: PropTypes.string
|
|
2608
|
+
className: PropTypes.string,
|
|
2609
|
+
iconExpanded: PropTypes.string,
|
|
2610
|
+
iconCollapsed: PropTypes.string
|
|
2613
2611
|
};
|
|
2614
2612
|
var PanelTrigger$1 = React__default.memo(PanelTrigger);
|
|
2615
2613
|
|
|
@@ -7984,8 +7982,8 @@ SyntaxHighlighter.registerLanguage('css', css_1);
|
|
|
7984
7982
|
SyntaxHighlighter.registerLanguage('html', xml_1);
|
|
7985
7983
|
SyntaxHighlighter.registerLanguage('yaml', yaml_1);
|
|
7986
7984
|
var Code = function (_a) {
|
|
7987
|
-
var children = _a.children, className = _a.className, props = tslib.__rest(_a, ["children", "className"]);
|
|
7988
|
-
return (React__default.createElement(SyntaxHighlighter, tslib.__assign({}, props, { useInlineStyles: false, className: classNames('Code', className) }), children));
|
|
7985
|
+
var children = _a.children, className = _a.className, tabIndex = _a.tabIndex, props = tslib.__rest(_a, ["children", "className", "tabIndex"]);
|
|
7986
|
+
return (React__default.createElement(SyntaxHighlighter, tslib.__assign({}, props, { useInlineStyles: false, className: classNames('Code', className), tabIndex: tabIndex }), children));
|
|
7989
7987
|
};
|
|
7990
7988
|
Code.displayName = 'Code';
|
|
7991
7989
|
Code.propTypes = {
|
|
@@ -8000,9 +7998,31 @@ function AxeLoader() {
|
|
|
8000
7998
|
React__default.createElement("path", { fill: "currentColor", d: "M379 549.9h-27.6v-16.7c-7.4 13.5-22.8 20.2-39 20.2-37.1 0-58.9-28.9-58.9-61.6 0-36.5 26.4-61.4 58.9-61.4 21.1 0 34 11.2 39 20.5V434H379v115.9zm-97.8-57.4c0 14.3 10.3 35.2 35.2 35.2 15.4 0 25.5-8 30.8-18.6 2.7-5.1 4-10.5 4.4-16.2.2-5.5-.8-11.2-3.2-16.2-4.9-11-15.6-20.5-32.3-20.5-22.4 0-35 18.1-35 36.1v.2zM436.2 488.9l-39-54.8h33.3l22.6 35.6 22.6-35.6h32.9l-38.8 54.8 43.2 61h-34L453.1 510l-26.2 39.9h-33.5l42.8-61z" })));
|
|
8001
7999
|
}
|
|
8002
8000
|
|
|
8003
|
-
|
|
8004
|
-
|
|
8005
|
-
|
|
8001
|
+
/**
|
|
8002
|
+
* When a component needs to track an internal ref on a component that has a
|
|
8003
|
+
* forwarded ref, useSharedRef will return a MutableRefObject<T> that will
|
|
8004
|
+
* correctly invoke the parent ref as well providing an internal ref.
|
|
8005
|
+
*
|
|
8006
|
+
* @example
|
|
8007
|
+
* React.forwardRef(function Component({ children }, ref) {
|
|
8008
|
+
* const internalRef = useSharedRef<HTMLElement>(ref)
|
|
8009
|
+
* if (internalRef.current) {
|
|
8010
|
+
* // do something with the internal ref...
|
|
8011
|
+
* }
|
|
8012
|
+
* return (<div ref={internalRef}>...</div>)
|
|
8013
|
+
* })
|
|
8014
|
+
*/
|
|
8015
|
+
function useSharedRef(ref) {
|
|
8016
|
+
var internalRef = React.useRef();
|
|
8017
|
+
React.useEffect(function () {
|
|
8018
|
+
setRef(ref, internalRef.current);
|
|
8019
|
+
}, [ref]);
|
|
8020
|
+
return internalRef;
|
|
8021
|
+
}
|
|
8022
|
+
|
|
8023
|
+
var LoaderOverlay = React.forwardRef(function (_a, ref) {
|
|
8024
|
+
var className = _a.className, variant = _a.variant, label = _a.label, children = _a.children, focusOnInitialRender = _a.focusOnInitialRender, _b = _a.focusTrap, focusTrap = _b === void 0 ? false : _b, other = tslib.__rest(_a, ["className", "variant", "label", "children", "focusOnInitialRender", "focusTrap"]);
|
|
8025
|
+
var overlayRef = useSharedRef(ref);
|
|
8006
8026
|
React.useEffect(function () {
|
|
8007
8027
|
if (!!focusOnInitialRender && overlayRef.current) {
|
|
8008
8028
|
setTimeout(function () {
|
|
@@ -8012,21 +8032,25 @@ var LoaderOverlay = React__default.forwardRef(function (_a, ref) {
|
|
|
8012
8032
|
}
|
|
8013
8033
|
return;
|
|
8014
8034
|
}, [overlayRef.current]);
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8035
|
+
var Wrapper = focusTrap ? FocusTrap : React__default.Fragment;
|
|
8036
|
+
var wrapperProps = focusTrap
|
|
8037
|
+
? {
|
|
8038
|
+
focusTrapOptions: {
|
|
8039
|
+
fallbackFocus: '.Loader__overlay'
|
|
8040
|
+
}
|
|
8018
8041
|
}
|
|
8019
|
-
|
|
8020
|
-
return (React__default.createElement(
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
React__default.createElement(
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
-
|
|
8042
|
+
: {};
|
|
8043
|
+
return (React__default.createElement(Wrapper, tslib.__assign({}, wrapperProps),
|
|
8044
|
+
React__default.createElement("div", tslib.__assign({ className: classNames('Loader__overlay', className, variant === 'large'
|
|
8045
|
+
? 'Loader__overlay--large'
|
|
8046
|
+
: variant === 'small'
|
|
8047
|
+
? 'Loader__overlay--small'
|
|
8048
|
+
: ''), ref: overlayRef, tabIndex: -1 }, other),
|
|
8049
|
+
React__default.createElement("div", { className: "Loader__overlay__loader" },
|
|
8050
|
+
React__default.createElement(Loader, { variant: variant }),
|
|
8051
|
+
React__default.createElement(AxeLoader, null)),
|
|
8052
|
+
label ? (React__default.createElement("span", { className: "Loader__overlay__label" }, label)) : null,
|
|
8053
|
+
children)));
|
|
8030
8054
|
});
|
|
8031
8055
|
LoaderOverlay.propTypes = {
|
|
8032
8056
|
className: PropTypes.string,
|
|
@@ -8106,20 +8130,32 @@ TableHead.propTypes = {
|
|
|
8106
8130
|
};
|
|
8107
8131
|
|
|
8108
8132
|
var TableHeader = function (_a) {
|
|
8109
|
-
var children = _a.children, sortDirection = _a.sortDirection, onSort = _a.onSort, className = _a.className, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className"]);
|
|
8133
|
+
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, other = tslib.__rest(_a, ["children", "sortDirection", "onSort", "className", "sortAscendingAnnouncement", "sortDescendingAnnouncement"]);
|
|
8134
|
+
// When the sort direction changes, we want to announce the change in a live region
|
|
8135
|
+
// because changes to the sort value is not widely supported yet
|
|
8136
|
+
// see: https://a11ysupport.io/tech/aria/aria-sort_attribute
|
|
8137
|
+
var announcement = sortDirection === 'ascending'
|
|
8138
|
+
? sortAscendingAnnouncement
|
|
8139
|
+
: sortDirection === 'descending'
|
|
8140
|
+
? sortDescendingAnnouncement
|
|
8141
|
+
: '';
|
|
8110
8142
|
return (React__default.createElement("th", tslib.__assign({ "aria-sort": sortDirection, className: classNames('TableHeader', className, {
|
|
8111
8143
|
'TableHeader--sort-ascending': sortDirection === 'ascending',
|
|
8112
8144
|
'TableHeader--sort-descending': sortDirection === 'descending'
|
|
8113
8145
|
}) }, other), !!onSort && !!sortDirection ? (React__default.createElement("button", { onClick: onSort, className: "TableHeader__sort-button", type: "button" },
|
|
8114
8146
|
children,
|
|
8115
|
-
React__default.createElement("span", { "aria-hidden": "true" }, sortDirection === 'none' ? (React__default.createElement(Icon, { type: "sort-triangle" })) : sortDirection === 'ascending' ? (React__default.createElement(Icon, { type: "triangle-up" })) : (React__default.createElement(Icon, { type: "triangle-down" })))
|
|
8147
|
+
React__default.createElement("span", { "aria-hidden": "true" }, sortDirection === 'none' ? (React__default.createElement(Icon, { type: "sort-triangle" })) : sortDirection === 'ascending' ? (React__default.createElement(Icon, { type: "triangle-up" })) : (React__default.createElement(Icon, { type: "triangle-down" }))),
|
|
8148
|
+
React__default.createElement(Offscreen, null,
|
|
8149
|
+
React__default.createElement("span", { role: "status", "aria-live": "polite" }, announcement)))) : (children)));
|
|
8116
8150
|
};
|
|
8117
8151
|
TableHeader.displayName = 'TableHeader';
|
|
8118
8152
|
TableHeader.propTypes = {
|
|
8119
8153
|
children: PropTypes.node.isRequired,
|
|
8120
8154
|
sortDirection: PropTypes.string,
|
|
8121
8155
|
onSort: PropTypes.func,
|
|
8122
|
-
className: PropTypes.string
|
|
8156
|
+
className: PropTypes.string,
|
|
8157
|
+
sortAscendingAnnouncement: PropTypes.string,
|
|
8158
|
+
sortDescendingAnnouncement: PropTypes.string
|
|
8123
8159
|
};
|
|
8124
8160
|
|
|
8125
8161
|
var TableRow = function (_a) {
|
|
@@ -8526,11 +8562,23 @@ var BreadcrumbLink = React.forwardRef(function (_a, ref) {
|
|
|
8526
8562
|
return (React__default.createElement(ElementType, tslib.__assign({ className: classNames('Link', 'Breadcrumb__Link', className), ref: ref }, props), children));
|
|
8527
8563
|
});
|
|
8528
8564
|
|
|
8565
|
+
var ColumnLeft = React.forwardRef(function (_a, ref) {
|
|
8566
|
+
var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
|
|
8567
|
+
return (React__default.createElement("section", tslib.__assign({ className: classNames('TwoColumnPanel__Left', className) }, props, { ref: ref }), children));
|
|
8568
|
+
});
|
|
8569
|
+
ColumnLeft.displayName = 'ColumnLeft';
|
|
8570
|
+
|
|
8571
|
+
var ColumnRight = React.forwardRef(function (_a, ref) {
|
|
8572
|
+
var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
|
|
8573
|
+
return (React__default.createElement("section", tslib.__assign({ className: classNames('TwoColumnPanel__Right', className) }, props, { ref: ref }), children));
|
|
8574
|
+
});
|
|
8575
|
+
ColumnRight.displayName = 'ColumnRight';
|
|
8576
|
+
|
|
8529
8577
|
var TwoColumnPanel = React.forwardRef(function (_a, ref) {
|
|
8530
|
-
var className = _a.className, children = _a.children, _b = _a.initialCollapsed, initialCollapsed = _b === void 0 ? false : _b, _c = _a.showCollapsedPanelLabel, showCollapsedPanelLabel = _c === void 0 ? 'Show Panel' : _c, _d = _a.hideCollapsedPanelLabel, hideCollapsedPanelLabel = _d === void 0 ? 'Hide Panel' : _d, props = tslib.__rest(_a, ["className", "children", "initialCollapsed", "showCollapsedPanelLabel", "hideCollapsedPanelLabel"]);
|
|
8531
|
-
var
|
|
8532
|
-
var
|
|
8533
|
-
var
|
|
8578
|
+
var className = _a.className, children = _a.children, _b = _a.initialCollapsed, initialCollapsed = _b === void 0 ? false : _b, _c = _a.showCollapsedPanelLabel, showCollapsedPanelLabel = _c === void 0 ? 'Show Panel' : _c, _d = _a.hideCollapsedPanelLabel, hideCollapsedPanelLabel = _d === void 0 ? 'Hide Panel' : _d, _e = _a.skipLink, skipLink = _e === void 0 ? null : _e, props = tslib.__rest(_a, ["className", "children", "initialCollapsed", "showCollapsedPanelLabel", "hideCollapsedPanelLabel", "skipLink"]);
|
|
8579
|
+
var _f = tslib.__read(React.useState(initialCollapsed), 2), isCollapsed = _f[0], setCollapsed = _f[1];
|
|
8580
|
+
var _g = tslib.__read(React.useState(false), 2), isFocusTrap = _g[0], setIsFocusTrap = _g[1];
|
|
8581
|
+
var _h = tslib.__read(React.useState(!initialCollapsed), 2), showPanel = _h[0], setShowPanel = _h[1];
|
|
8534
8582
|
var togglePanel = function () {
|
|
8535
8583
|
if (isCollapsed) {
|
|
8536
8584
|
setShowPanel(true);
|
|
@@ -8657,6 +8705,7 @@ var TwoColumnPanel = React.forwardRef(function (_a, ref) {
|
|
|
8657
8705
|
fallbackFocus: columnLeftRef.current
|
|
8658
8706
|
}, containerElements: [columnLeftRef.current] }),
|
|
8659
8707
|
React__default.createElement(ClickOutsideListener, { onClickOutside: handleClickOutside, target: columnLeftRef.current }),
|
|
8708
|
+
isCollapsed ? null : skipLink,
|
|
8660
8709
|
showPanel ? ColumnLeftComponent : null,
|
|
8661
8710
|
ColumnRightComponent));
|
|
8662
8711
|
});
|
|
@@ -8674,18 +8723,6 @@ var ColumnGroupHeader = React.forwardRef(function (_a, ref) {
|
|
|
8674
8723
|
});
|
|
8675
8724
|
ColumnGroupHeader.displayName = 'ColumnGroupHeader';
|
|
8676
8725
|
|
|
8677
|
-
var ColumnLeft = React.forwardRef(function (_a, ref) {
|
|
8678
|
-
var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
|
|
8679
|
-
return (React__default.createElement("section", tslib.__assign({ className: classNames('TwoColumnPanel__Left', className) }, props, { ref: ref }), children));
|
|
8680
|
-
});
|
|
8681
|
-
ColumnLeft.displayName = 'ColumnLeft';
|
|
8682
|
-
|
|
8683
|
-
var ColumnRight = React.forwardRef(function (_a, ref) {
|
|
8684
|
-
var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
|
|
8685
|
-
return (React__default.createElement("section", tslib.__assign({ className: classNames('TwoColumnPanel__Right', className) }, props, { ref: ref }), children));
|
|
8686
|
-
});
|
|
8687
|
-
ColumnRight.displayName = 'ColumnRight';
|
|
8688
|
-
|
|
8689
8726
|
var ColumnList = React.forwardRef(function (_a, ref) {
|
|
8690
8727
|
var className = _a.className, children = _a.children, props = tslib.__rest(_a, ["className", "children"]);
|
|
8691
8728
|
return (React__default.createElement("div", tslib.__assign({ className: classNames('TwoColumnPanel__List', className) }, props, { ref: ref }), children));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MutableRefObject, Ref } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* When a component needs to track an internal ref on a component that has a
|
|
4
|
+
* forwarded ref, useSharedRef will return a MutableRefObject<T> that will
|
|
5
|
+
* correctly invoke the parent ref as well providing an internal ref.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* React.forwardRef(function Component({ children }, ref) {
|
|
9
|
+
* const internalRef = useSharedRef<HTMLElement>(ref)
|
|
10
|
+
* if (internalRef.current) {
|
|
11
|
+
* // do something with the internal ref...
|
|
12
|
+
* }
|
|
13
|
+
* return (<div ref={internalRef}>...</div>)
|
|
14
|
+
* })
|
|
15
|
+
*/
|
|
16
|
+
export default function useSharedRef<T>(ref: Ref<T>): MutableRefObject<T>;
|