@deque/cauldron-react 5.0.0 → 5.1.0-canary.1a1011cd

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.
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Cauldron } from '../../types';
3
3
  declare type BreadcrumbProps = {
4
- separator?: string;
4
+ separator?: React.ReactNode;
5
5
  } & React.HTMLAttributes<HTMLElement> & Cauldron.LabelProps;
6
6
  declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
7
7
  export default Breadcrumb;
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { SyntaxHighlighterProps } from 'react-syntax-highlighter';
3
- interface Props extends SyntaxHighlighterProps {
3
+ declare type Props = {
4
4
  children: string;
5
5
  language?: 'javascript' | 'css' | 'html' | 'yaml';
6
6
  className?: string;
7
- tabIndex?: number;
8
- }
7
+ scrollable?: boolean;
8
+ } & SyntaxHighlighterProps & React.HTMLAttributes<HTMLDivElement>;
9
9
  declare const Code: React.ComponentType<React.PropsWithChildren<Props>>;
10
10
  export default Code;
@@ -40,6 +40,7 @@ export default class Dialog extends React.Component<DialogProps, DialogState> {
40
40
  private heading;
41
41
  constructor(props: DialogProps);
42
42
  componentDidMount(): void;
43
+ componentWillUnmount(): void;
43
44
  componentDidUpdate(prevProps: DialogProps): void;
44
45
  private attachIsolator;
45
46
  render(): JSX.Element | null;
@@ -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' | 'clipboard' | 'close' | 'code' | 'copy' | 'download' | 'dropper' | 'exchange' | 'export-solid' | 'external-link' | 'eye' | 'filter-solid' | 'filter' | 'flag' | 'gears' | 'grid' | 'hamburger-menu' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'link' | 'list' | 'lock' | 'magnifying-glass' | 'menu' | 'minus' | 'new-releases' | 'new' | 'no' | 'pencil' | 'person-running' | 'play' | 'plus' | 'question-circle-alt' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle-square' | 'recycle' | 'resend' | 'robot' | 'run-again' | 'save' | 'share' | 'sort-triangle' | 'sort' | 'star' | 'sun' | 'table-sort-ascending' | 'table-sort-descending' | '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' | 'clipboard' | 'close' | 'code' | 'copy' | 'download' | 'dropper' | 'exchange' | 'export-solid' | 'external-link' | 'eye' | 'filter-solid' | 'filter' | 'flag' | 'gears' | 'github' | 'grid' | 'hamburger-menu' | 'hashtag' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'link' | 'linkedin' | 'list' | 'lock' | 'magnifying-glass' | 'menu' | 'minus' | 'new-releases' | 'new' | 'no' | 'pencil' | 'person-running' | 'play' | 'plus' | 'question-circle-alt' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle-square' | 'recycle' | 'resend' | 'robot' | 'run-again' | 'save' | 'share-nodes' | 'share' | 'sort-triangle' | 'sort' | 'star' | 'sun' | 'table-sort-ascending' | 'table-sort-descending' | 'tag' | 'target' | 'trash' | 'triangle-up' | 'triangle-down' | 'triangle-left' | 'triangle-right' | 'twitter' | 'upload';
6
6
  /** iconTypes holds each valid icon type. */
7
7
  export declare const iconTypes: string[];
@@ -3,9 +3,10 @@ import PropTypes from 'prop-types';
3
3
  interface NavItemProps extends React.HTMLAttributes<HTMLLIElement> {
4
4
  children: React.ReactNode;
5
5
  active: boolean;
6
+ 'aria-current'?: 'page' | 'step' | 'location' | true | false;
6
7
  }
7
8
  declare const NavItem: {
8
- ({ children, active, ...other }: NavItemProps): JSX.Element;
9
+ ({ children, active, "aria-current": ariaCurrent, ...other }: NavItemProps): JSX.Element;
9
10
  displayName: string;
10
11
  propTypes: {
11
12
  children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface OffscreenProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ export interface OffscreenProps extends React.HTMLAttributes<HTMLSpanElement> {
3
3
  }
4
4
  declare const Offscreen: (props: OffscreenProps) => JSX.Element;
5
5
  export default Offscreen;
@@ -1,14 +1,15 @@
1
1
  import React from 'react';
2
2
  import { Placement } from '@popperjs/core';
3
+ import { ContentNode } from '../../types';
3
4
  interface Props extends React.HTMLAttributes<HTMLDivElement> {
4
5
  totalItems: number;
5
6
  itemsPerPage?: number;
6
7
  currentPage?: number;
7
8
  statusLabel?: React.ReactNode;
8
- firstPageLabel?: string;
9
- previousPageLabel?: string;
10
- nextPageLabel?: string;
11
- lastPageLabel?: string;
9
+ firstPageLabel?: ContentNode;
10
+ previousPageLabel?: ContentNode;
11
+ nextPageLabel?: ContentNode;
12
+ lastPageLabel?: ContentNode;
12
13
  onNextPageClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
13
14
  onPreviousPageClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
14
15
  onFirstPageClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
@@ -0,0 +1,14 @@
1
+ import React, { HTMLAttributes, ReactNode } from 'react';
2
+ interface PanelProps extends HTMLAttributes<HTMLElement> {
3
+ children: ReactNode;
4
+ heading?: ReactNode | {
5
+ id?: string;
6
+ text: ReactNode;
7
+ level: number | undefined;
8
+ };
9
+ collapsed?: boolean;
10
+ className?: string;
11
+ padding?: boolean;
12
+ }
13
+ declare const Panel: React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<HTMLElement>>;
14
+ export default Panel;
@@ -0,0 +1,8 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface PanelContentProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ className?: string;
5
+ padding?: boolean;
6
+ }
7
+ declare const PanelContent: React.ForwardRefExoticComponent<PanelContentProps & React.RefAttributes<HTMLDivElement>>;
8
+ export default PanelContent;
@@ -0,0 +1,7 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ className?: string;
5
+ }
6
+ declare const PanelHeader: React.ForwardRefExoticComponent<PanelHeaderProps & React.RefAttributes<HTMLDivElement>>;
7
+ export default PanelHeader;
@@ -1,13 +1,5 @@
1
- import React, { HTMLAttributes, ReactNode } from 'react';
2
- interface PanelProps extends HTMLAttributes<HTMLElement> {
3
- children: ReactNode;
4
- heading?: ReactNode | {
5
- id?: string;
6
- text: ReactNode;
7
- level: number | undefined;
8
- };
9
- collapsed?: boolean;
10
- className?: string;
11
- }
12
- declare const Panel: React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<HTMLElement>>;
1
+ import Panel from './Panel';
2
+ import PanelContent from './PanelContent';
3
+ import PanelHeader from './PanelHeader';
13
4
  export default Panel;
5
+ export { Panel, PanelContent, PanelHeader };
@@ -15,5 +15,5 @@ export interface SelectProps extends Omit<React.HTMLProps<HTMLSelectElement>, 'c
15
15
  defaultValue?: any;
16
16
  onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;
17
17
  }
18
- declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "form" | "list" | "step" | "cite" | "data" | "label" | "span" | "summary" | "pattern" | "type" | "key" | "download" | "target" | "name" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "open" | "error" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "dateTime" | "default" | "defer" | "encType" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "useMap" | "width" | "wmode" | "wrap" | "options" | "requiredText"> & React.RefAttributes<HTMLSelectElement>>;
18
+ declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "form" | "list" | "step" | "cite" | "data" | "label" | "span" | "summary" | "pattern" | "type" | "key" | "download" | "target" | "name" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "open" | "error" | "start" | "content" | "size" | "default" | "wrap" | "multiple" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "useMap" | "width" | "wmode" | "options" | "requiredText"> & React.RefAttributes<HTMLSelectElement>>;
19
19
  export default Select;
@@ -44,6 +44,7 @@ export default class Toast extends React.Component<ToastProps, ToastState> {
44
44
  constructor(props: ToastProps);
45
45
  componentDidMount(): void;
46
46
  componentDidUpdate(prevProps: ToastProps): void;
47
+ componentWillUnmount(): void;
47
48
  render(): JSX.Element;
48
49
  dismissToast(): void;
49
50
  showToast(): void;
package/lib/github.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 SvgGithub = 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: "M8.03 19.14c0 .1-.11.17-.25.17-.16.01-.27-.06-.27-.17 0-.1.11-.17.25-.17.15-.01.27.06.27.17Zm-1.5-.22c-.03.1.06.21.21.24.13.05.27 0 .3-.1s-.06-.21-.21-.25c-.13-.03-.27.01-.3.11Zm2.14-.08c-.14.03-.24.13-.22.24.01.1.14.16.29.13.14-.03.24-.13.22-.22-.01-.09-.15-.15-.29-.14ZM11.85.3C5.13.3 0 5.39 0 12.11c0 5.37 3.38 9.96 8.2 11.57.62.11.84-.27.84-.59s-.01-1.95-.01-2.97c0 0-3.39.73-4.1-1.44 0 0-.55-1.41-1.35-1.77 0 0-1.11-.76.08-.75 0 0 1.2.1 1.87 1.25 1.06 1.87 2.84 1.33 3.53 1.01.11-.77.43-1.31.77-1.63-2.7-.3-5.43-.69-5.43-5.35 0-1.33.37-2 1.14-2.85-.13-.31-.54-1.61.13-3.29 1.01-.31 3.34 1.31 3.34 1.31.97-.27 2.01-.41 3.04-.41s2.07.14 3.04.41c0 0 2.33-1.63 3.34-1.31.66 1.68.25 2.97.13 3.29.77.86 1.25 1.52 1.25 2.85 0 4.67-2.85 5.04-5.55 5.35.45.38.82 1.11.82 2.25 0 1.63-.01 3.65-.01 4.05 0 .31.22.7.84.59 4.84-1.61 8.12-6.2 8.12-11.56C24 5.39 18.56.3 11.85.3ZM4.71 16.99c-.06.05-.05.16.03.25.08.08.19.11.25.05.06-.05.05-.16-.03-.25-.08-.08-.19-.11-.25-.05Zm-.52-.39c-.03.06.01.14.11.19.08.05.17.03.21-.03.03-.06-.01-.14-.11-.19-.1-.03-.17-.01-.21.03Zm1.57 1.72c-.08.06-.05.21.06.3.11.11.25.13.31.05.06-.06.03-.21-.06-.3-.11-.11-.25-.13-.31-.05Zm-.55-.71c-.08.05-.08.17 0 .29s.21.16.27.11c.08-.06.08-.19 0-.3-.07-.11-.19-.16-.27-.1Z",
20
+ fill: "currentColor",
21
+ vectorEffect: "non-scaling-stroke"
22
+ })));
23
+
24
+ exports.default = SvgGithub;
package/lib/hashtag.js ADDED
@@ -0,0 +1,23 @@
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 SvgHashtag = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ preserveAspectRatio: "none",
14
+ viewBox: "0 0 24 24",
15
+ height: 24,
16
+ width: 24
17
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
18
+ d: "M9.71.02c.93.16 1.56 1.04 1.41 1.97l-.52 3.15h5.09l.62-3.71C16.47.5 17.35-.13 18.28.02s1.56 1.04 1.41 1.97l-.52 3.15h3.12a1.71 1.71 0 1 1 0 3.42H18.6l-1.14 6.85h3.12a1.71 1.71 0 1 1 0 3.42h-3.69l-.62 3.71c-.16.93-1.04 1.56-1.97 1.41s-1.56-1.04-1.41-1.97l.52-3.14h-5.1l-.62 3.71c-.16.93-1.04 1.56-1.97 1.41s-1.56-1.04-1.41-1.97l.52-3.15H1.72c-.95.01-1.72-.75-1.72-1.7s.77-1.71 1.71-1.71H5.4l1.14-6.85H3.42a1.71 1.71 0 1 1 0-3.42h3.69l.62-3.71C7.89.52 8.77-.11 9.7.04Zm.31 8.55-1.14 6.85h5.09l1.14-6.85h-5.09Z",
19
+ fill: "currentColor",
20
+ vectorEffect: "non-scaling-stroke"
21
+ })));
22
+
23
+ exports.default = SvgHashtag;
package/lib/index.d.ts CHANGED
@@ -43,7 +43,7 @@ export { default as Table, TableBody, TableCell, TableHead, TableHeader, TableRo
43
43
  export { default as Tabs, Tab, TabPanel } from './components/Tabs';
44
44
  export { DescriptionList, DescriptionListItem, DescriptionTerm, DescriptionDetails } from './components/DescriptionList';
45
45
  export { default as Stepper, Step } from './components/Stepper';
46
- export { default as Panel } from './components/Panel';
46
+ export { default as Panel, PanelHeader, PanelContent } from './components/Panel';
47
47
  export { default as IssuePanel } from './components/IssuePanel';
48
48
  export { default as ProgressBar } from './components/ProgressBar';
49
49
  export { Address, AddressLine, AddressCityStateZip } from './components/Address';
package/lib/index.js CHANGED
@@ -16,6 +16,7 @@ var reactDom = require('react-dom');
16
16
  var FocusTrap = _interopDefault(require('focus-trap-react'));
17
17
  var reactPopper = require('react-popper');
18
18
  var focusable = _interopDefault(require('focusable'));
19
+ require('fault');
19
20
 
20
21
  var Main = /** @class */ (function (_super) {
21
22
  tslib.__extends(Main, _super);
@@ -110,7 +111,7 @@ var Workspace = /** @class */ (function (_super) {
110
111
  return Workspace;
111
112
  }(React__default.Component));
112
113
 
113
- var Offscreen = function (props) { return (React__default.createElement("div", tslib.__assign({ className: "Offscreen" }, props))); };
114
+ var Offscreen = function (props) { return (React__default.createElement("span", tslib.__assign({ className: "Offscreen" }, props))); };
114
115
 
115
116
  /*!
116
117
  * GENERATED CODE. DO NOT EDIT DIRECTLY!
@@ -157,14 +158,17 @@ var iconTypes = [
157
158
  'filter',
158
159
  'flag',
159
160
  'gears',
161
+ 'github',
160
162
  'grid',
161
163
  'hamburger-menu',
164
+ 'hashtag',
162
165
  'highlight',
163
166
  'info-circle-alt',
164
167
  'info-circle',
165
168
  'info-square',
166
169
  'kabob',
167
170
  'link',
171
+ 'linkedin',
168
172
  'list',
169
173
  'lock',
170
174
  'magnifying-glass',
@@ -187,6 +191,7 @@ var iconTypes = [
187
191
  'robot',
188
192
  'run-again',
189
193
  'save',
194
+ 'share-nodes',
190
195
  'share',
191
196
  'sort-triangle',
192
197
  'sort',
@@ -201,6 +206,7 @@ var iconTypes = [
201
206
  'triangle-down',
202
207
  'triangle-left',
203
208
  'triangle-right',
209
+ 'twitter',
204
210
  'upload'
205
211
  ];
206
212
 
@@ -234,14 +240,17 @@ function __variableDynamicImportRuntime0__(path) {
234
240
  case './icons/filter.svg': return Promise.resolve().then(function () { return require('./filter.js'); });
235
241
  case './icons/flag.svg': return Promise.resolve().then(function () { return require('./flag.js'); });
236
242
  case './icons/gears.svg': return Promise.resolve().then(function () { return require('./gears.js'); });
243
+ case './icons/github.svg': return Promise.resolve().then(function () { return require('./github.js'); });
237
244
  case './icons/grid.svg': return Promise.resolve().then(function () { return require('./grid.js'); });
238
245
  case './icons/hamburger-menu.svg': return Promise.resolve().then(function () { return require('./hamburger-menu.js'); });
246
+ case './icons/hashtag.svg': return Promise.resolve().then(function () { return require('./hashtag.js'); });
239
247
  case './icons/highlight.svg': return Promise.resolve().then(function () { return require('./highlight.js'); });
240
248
  case './icons/info-circle-alt.svg': return Promise.resolve().then(function () { return require('./info-circle-alt.js'); });
241
249
  case './icons/info-circle.svg': return Promise.resolve().then(function () { return require('./info-circle.js'); });
242
250
  case './icons/info-square.svg': return Promise.resolve().then(function () { return require('./info-square.js'); });
243
251
  case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob.js'); });
244
252
  case './icons/link.svg': return Promise.resolve().then(function () { return require('./link.js'); });
253
+ case './icons/linkedin.svg': return Promise.resolve().then(function () { return require('./linkedin.js'); });
245
254
  case './icons/list.svg': return Promise.resolve().then(function () { return require('./list.js'); });
246
255
  case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock.js'); });
247
256
  case './icons/magnifying-glass.svg': return Promise.resolve().then(function () { return require('./magnifying-glass.js'); });
@@ -264,6 +273,7 @@ function __variableDynamicImportRuntime0__(path) {
264
273
  case './icons/robot.svg': return Promise.resolve().then(function () { return require('./robot.js'); });
265
274
  case './icons/run-again.svg': return Promise.resolve().then(function () { return require('./run-again.js'); });
266
275
  case './icons/save.svg': return Promise.resolve().then(function () { return require('./save.js'); });
276
+ case './icons/share-nodes.svg': return Promise.resolve().then(function () { return require('./share-nodes.js'); });
267
277
  case './icons/share.svg': return Promise.resolve().then(function () { return require('./share.js'); });
268
278
  case './icons/sort-triangle.svg': return Promise.resolve().then(function () { return require('./sort-triangle.js'); });
269
279
  case './icons/sort.svg': return Promise.resolve().then(function () { return require('./sort.js'); });
@@ -275,6 +285,7 @@ function __variableDynamicImportRuntime0__(path) {
275
285
  case './icons/target.svg': return Promise.resolve().then(function () { return require('./target.js'); });
276
286
  case './icons/trash.svg': return Promise.resolve().then(function () { return require('./trash.js'); });
277
287
  case './icons/triangle.svg': return Promise.resolve().then(function () { return require('./triangle.js'); });
288
+ case './icons/twitter.svg': return Promise.resolve().then(function () { return require('./twitter.js'); });
278
289
  case './icons/upload.svg': return Promise.resolve().then(function () { return require('./upload.js'); });
279
290
  default: return new Promise(function(resolve, reject) {
280
291
  (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
@@ -1304,10 +1315,14 @@ NavBar.propTypes = {
1304
1315
  };
1305
1316
 
1306
1317
  var NavItem = function (_a) {
1307
- var children = _a.children, active = _a.active, other = tslib.__rest(_a, ["children", "active"]);
1318
+ var children = _a.children, active = _a.active, _b = _a["aria-current"], ariaCurrent = _b === void 0 ? true : _b, other = tslib.__rest(_a, ["children", "active", 'aria-current']);
1319
+ var additionalProps = {};
1320
+ if (active) {
1321
+ additionalProps['aria-current'] = ariaCurrent;
1322
+ }
1308
1323
  return (React__default.createElement("li", tslib.__assign({ className: classNames('NavItem', {
1309
1324
  'NavItem--active': active
1310
- }) }, other), children));
1325
+ }) }, additionalProps, other), children));
1311
1326
  };
1312
1327
  NavItem.displayName = 'NavItem';
1313
1328
  NavItem.propTypes = {
@@ -1517,6 +1532,10 @@ var Dialog = /** @class */ (function (_super) {
1517
1532
  this.attachIsolator(function () { return setTimeout(_this.focusHeading); });
1518
1533
  }
1519
1534
  };
1535
+ Dialog.prototype.componentWillUnmount = function () {
1536
+ var isolator = this.state.isolator;
1537
+ isolator === null || isolator === void 0 ? void 0 : isolator.deactivate();
1538
+ };
1520
1539
  Dialog.prototype.componentDidUpdate = function (prevProps) {
1521
1540
  if (!prevProps.show && this.props.show) {
1522
1541
  this.attachIsolator(this.focusHeading);
@@ -1569,8 +1588,8 @@ var Dialog = /** @class */ (function (_super) {
1569
1588
  };
1570
1589
  Dialog.prototype.close = function () {
1571
1590
  var _a, _b, _c;
1591
+ (_a = this.state.isolator) === null || _a === void 0 ? void 0 : _a.deactivate();
1572
1592
  if (this.props.show) {
1573
- (_a = this.state.isolator) === null || _a === void 0 ? void 0 : _a.deactivate();
1574
1593
  (_c = (_b = this.props).onClose) === null || _c === void 0 ? void 0 : _c.call(_b);
1575
1594
  }
1576
1595
  };
@@ -1912,7 +1931,7 @@ var IconButton = React.forwardRef(function (_a, ref) {
1912
1931
  'IconButton--error': variant === 'error'
1913
1932
  }), ref: internalRef, disabled: disabled, tabIndex: disabled ? -1 : tabIndex }, accessibilityProps, other),
1914
1933
  React__default.createElement(Icon, { type: icon }),
1915
- React__default.createElement(Offscreen, null, label)),
1934
+ disabled && React__default.createElement(Offscreen, null, label)),
1916
1935
  !disabled && (React__default.createElement(Tooltip, { target: internalRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
1917
1936
  });
1918
1937
  IconButton.propTypes = {
@@ -2344,6 +2363,10 @@ var Toast = /** @class */ (function (_super) {
2344
2363
  }
2345
2364
  }
2346
2365
  };
2366
+ Toast.prototype.componentWillUnmount = function () {
2367
+ var isolator = this.state.isolator;
2368
+ isolator === null || isolator === void 0 ? void 0 : isolator.deactivate();
2369
+ };
2347
2370
  Toast.prototype.render = function () {
2348
2371
  var _this = this;
2349
2372
  var animationClass = this.state.animationClass;
@@ -2354,7 +2377,7 @@ var Toast = /** @class */ (function (_super) {
2354
2377
  var scrim = type === 'action-needed' && show ? (React__default.createElement("div", { className: "Scrim--light Scrim--show Scrim--fade-in" })) : null;
2355
2378
  var defaultProps = {
2356
2379
  tabIndex: -1,
2357
- className: "Toast Toast--".concat(typeMap[type].className, " ").concat(animationClass)
2380
+ className: classNames('Toast', "Toast--".concat(typeMap[type].className), animationClass, { 'Toast--non-dismissible': !dismissible })
2358
2381
  };
2359
2382
  if (!focus) {
2360
2383
  defaultProps.role = 'alert';
@@ -8146,9 +8169,35 @@ SyntaxHighlighter.registerLanguage('yaml', yaml_1);
8146
8169
  // HACK: This is a workaround for a bug in react-syntax-highlighter's types.
8147
8170
  var Highlighter = SyntaxHighlighter;
8148
8171
  var Code = function (_a) {
8149
- var children = _a.children, className = _a.className, tabIndex = _a.tabIndex, props = tslib.__rest(_a, ["children", "className", "tabIndex"]);
8150
- return (React__default.createElement(React__default.Fragment, null,
8151
- React__default.createElement(Highlighter, tslib.__assign({}, props, { useInlineStyles: false, className: classNames('Code', className), tabIndex: tabIndex }), children)));
8172
+ var children = _a.children, className = _a.className, _b = _a.scrollable, scrollable = _b === void 0 ? false : _b, props = tslib.__rest(_a, ["children", "className", "scrollable"]);
8173
+ var ref = React.useRef(null);
8174
+ var _c = tslib.__read(React.useState(false), 2), scrollableRegion = _c[0], setScrollableRegion = _c[1];
8175
+ // react-syntax-highlighter does not provide direct access to its dom elements
8176
+ // via refs, but we can specify the wrapping tags to bypass this limitation
8177
+ // see: https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/335
8178
+ var PreWithRef = function (preProps) { return (React__default.createElement("pre", tslib.__assign({}, preProps, { ref: ref }))); };
8179
+ React.useEffect(function () {
8180
+ var _a;
8181
+ // Track the containing element because resize observer will not
8182
+ // trigger once an element becomes scrollable
8183
+ if (scrollable && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.parentElement)) {
8184
+ var listener = function () {
8185
+ if (!ref.current) {
8186
+ return;
8187
+ }
8188
+ var element = ref.current;
8189
+ setScrollableRegion(element.clientWidth < element.scrollWidth);
8190
+ };
8191
+ var observer_1 = new ResizeObserver(listener);
8192
+ observer_1.observe(ref.current.parentElement);
8193
+ }
8194
+ return function () {
8195
+ setScrollableRegion(false);
8196
+ };
8197
+ }, [scrollable]);
8198
+ return (React__default.createElement(Highlighter, tslib.__assign({}, props, { PreTag: PreWithRef, useInlineStyles: false, className: classNames('Code', className, {
8199
+ 'Code--scrollable': scrollable
8200
+ }), tabIndex: scrollableRegion ? 0 : undefined }), children));
8152
8201
  };
8153
8202
  Code.displayName = 'Code';
8154
8203
  Code.propTypes = {
@@ -8585,7 +8634,7 @@ Stepper.propTypes = {
8585
8634
 
8586
8635
  var Panel = React.forwardRef(function (_a, ref) {
8587
8636
  var _b;
8588
- var children = _a.children, collapsed = _a.collapsed, className = _a.className, heading = _a.heading, other = tslib.__rest(_a, ["children", "collapsed", "className", "heading"]);
8637
+ var children = _a.children, collapsed = _a.collapsed, className = _a.className, heading = _a.heading, _c = _a.padding, padding = _c === void 0 ? true : _c, other = tslib.__rest(_a, ["children", "collapsed", "className", "heading", "padding"]);
8589
8638
  var headingId = !heading
8590
8639
  ? undefined
8591
8640
  : typeof heading === 'object' && 'id' in heading
@@ -8607,6 +8656,7 @@ var Panel = React.forwardRef(function (_a, ref) {
8607
8656
  };
8608
8657
  return (React__default.createElement("section", tslib.__assign({ "aria-labelledby": headingId, className: classNames('Panel', className, (_b = {},
8609
8658
  _b['Panel--collapsed'] = collapsed,
8659
+ _b['Panel--no-padding'] = !padding,
8610
8660
  _b)), ref: ref }, other),
8611
8661
  React__default.createElement(Heading, null),
8612
8662
  children));
@@ -8617,6 +8667,34 @@ Panel.propTypes = {
8617
8667
  children: PropTypes.node.isRequired,
8618
8668
  // @ts-expect-error
8619
8669
  heading: PropTypes.oneOfType([PropTypes.object, PropTypes.node]),
8670
+ className: PropTypes.string,
8671
+ padding: PropTypes.bool,
8672
+ collapsed: PropTypes.bool
8673
+ };
8674
+
8675
+ var PanelContent = React.forwardRef(function (_a, ref) {
8676
+ var _b;
8677
+ var children = _a.children, className = _a.className, _c = _a.padding, padding = _c === void 0 ? true : _c, otherProps = tslib.__rest(_a, ["children", "className", "padding"]);
8678
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Panel__Content', className, (_b = {},
8679
+ _b['Panel__Content--no-padding'] = !padding,
8680
+ _b)), ref: ref }, otherProps), children));
8681
+ });
8682
+ PanelContent.displayName = 'PanelContent';
8683
+ PanelContent.propTypes = {
8684
+ //@ts-expect-error
8685
+ children: PropTypes.node.isRequired,
8686
+ className: PropTypes.string,
8687
+ padding: PropTypes.bool
8688
+ };
8689
+
8690
+ var PanelHeader = React.forwardRef(function (_a, ref) {
8691
+ var children = _a.children, className = _a.className, otherProps = tslib.__rest(_a, ["children", "className"]);
8692
+ return (React__default.createElement("div", tslib.__assign({ className: classNames('Panel__Header', className), ref: ref }, otherProps), children));
8693
+ });
8694
+ PanelHeader.displayName = 'PanelHeader';
8695
+ PanelHeader.propTypes = {
8696
+ //@ts-expect-error
8697
+ children: PropTypes.node.isRequired,
8620
8698
  className: PropTypes.string
8621
8699
  };
8622
8700
 
@@ -8674,6 +8752,16 @@ AddressCityStateZip.propTypes = {
8674
8752
  className: PropTypes.string
8675
8753
  };
8676
8754
 
8755
+ /**
8756
+ * This prop type is meant to ensure that a prop can actually be rendered as content.
8757
+ * It should match the ContentNode type in types.ts
8758
+ */
8759
+ var contentNode = PropTypes.oneOfType([
8760
+ PropTypes.string,
8761
+ PropTypes.number,
8762
+ PropTypes.element
8763
+ ]);
8764
+
8677
8765
  var Pagination = React__default.forwardRef(function (_a, ref) {
8678
8766
  var totalItems = _a.totalItems, _b = _a.itemsPerPage, itemsPerPage = _b === void 0 ? 10 : _b, _c = _a.currentPage, currentPage = _c === void 0 ? 1 : _c, statusLabel = _a.statusLabel, _d = _a.firstPageLabel, firstPageLabel = _d === void 0 ? 'First page' : _d, _e = _a.previousPageLabel, previousPageLabel = _e === void 0 ? 'Previous page' : _e, _f = _a.nextPageLabel, nextPageLabel = _f === void 0 ? 'Next page' : _f, _g = _a.lastPageLabel, lastPageLabel = _g === void 0 ? 'Last page' : _g, _h = _a.tooltipPlacement, tooltipPlacement = _h === void 0 ? 'bottom' : _h, onNextPageClick = _a.onNextPageClick, onPreviousPageClick = _a.onPreviousPageClick, onFirstPageClick = _a.onFirstPageClick, onLastPageClick = _a.onLastPageClick, className = _a.className, _j = _a.thin, thin = _j === void 0 ? false : _j, other = tslib.__rest(_a, ["totalItems", "itemsPerPage", "currentPage", "statusLabel", "firstPageLabel", "previousPageLabel", "nextPageLabel", "lastPageLabel", "tooltipPlacement", "onNextPageClick", "onPreviousPageClick", "onFirstPageClick", "onLastPageClick", "className", "thin"]);
8679
8767
  var itemStart = currentPage * itemsPerPage - itemsPerPage + 1;
@@ -8684,10 +8772,10 @@ var Pagination = React__default.forwardRef(function (_a, ref) {
8684
8772
  'Pagination--thin': thin
8685
8773
  }) }, other),
8686
8774
  React__default.createElement("ul", null,
8687
- React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { className: "IconButton", hideElementOnHidden: true, association: "aria-labelledby", tooltip: firstPageLabel, placement: tooltipPlacement },
8688
- React__default.createElement(Icon, { type: "chevron-double-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-left", tooltipPlacement: tooltipPlacement, label: firstPageLabel, onClick: onFirstPageClick }))),
8689
- React__default.createElement("li", null, isFirstPage ? (React__default.createElement(TooltipTabstop, { className: "IconButton", hideElementOnHidden: true, association: "aria-labelledby", tooltip: previousPageLabel, placement: tooltipPlacement },
8690
- React__default.createElement(Icon, { type: "chevron-left" }))) : (React__default.createElement(IconButton, { icon: "chevron-left", tooltipPlacement: tooltipPlacement, label: previousPageLabel, onClick: onPreviousPageClick }))),
8775
+ React__default.createElement("li", null,
8776
+ React__default.createElement(IconButton, { icon: "chevron-double-left", tooltipPlacement: tooltipPlacement, label: firstPageLabel, "aria-disabled": isFirstPage, onClick: isFirstPage ? undefined : onFirstPageClick })),
8777
+ React__default.createElement("li", null,
8778
+ React__default.createElement(IconButton, { icon: "chevron-left", tooltipPlacement: tooltipPlacement, label: previousPageLabel, "aria-disabled": isFirstPage, onClick: isFirstPage ? undefined : onPreviousPageClick })),
8691
8779
  React__default.createElement("li", null,
8692
8780
  React__default.createElement("span", { role: "log", "aria-atomic": "true" }, statusLabel || (React__default.createElement("span", null,
8693
8781
  "Showing ",
@@ -8697,10 +8785,10 @@ var Pagination = React__default.forwardRef(function (_a, ref) {
8697
8785
  React__default.createElement("strong", null, itemEnd),
8698
8786
  " of ",
8699
8787
  React__default.createElement("strong", null, totalItems))))),
8700
- React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { className: "IconButton", hideElementOnHidden: true, association: "aria-labelledby", tooltip: nextPageLabel, placement: tooltipPlacement },
8701
- React__default.createElement(Icon, { type: "chevron-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-right", tooltipPlacement: tooltipPlacement, label: nextPageLabel, onClick: onNextPageClick }))),
8702
- React__default.createElement("li", null, isLastPage ? (React__default.createElement(TooltipTabstop, { className: "IconButton", hideElementOnHidden: true, association: "aria-labelledby", tooltip: lastPageLabel, placement: tooltipPlacement },
8703
- React__default.createElement(Icon, { type: "chevron-double-right" }))) : (React__default.createElement(IconButton, { icon: "chevron-double-right", tooltipPlacement: tooltipPlacement, label: lastPageLabel, onClick: onLastPageClick }))))));
8788
+ React__default.createElement("li", null,
8789
+ React__default.createElement(IconButton, { icon: "chevron-right", tooltipPlacement: tooltipPlacement, label: nextPageLabel, "aria-disabled": isLastPage, onClick: isLastPage ? undefined : onNextPageClick })),
8790
+ React__default.createElement("li", null,
8791
+ React__default.createElement(IconButton, { icon: "chevron-double-right", tooltipPlacement: tooltipPlacement, label: lastPageLabel, "aria-disabled": isLastPage, onClick: isLastPage ? undefined : onLastPageClick })))));
8704
8792
  });
8705
8793
  Pagination.displayName = 'Pagination';
8706
8794
  Pagination.propTypes = {
@@ -8708,17 +8796,18 @@ Pagination.propTypes = {
8708
8796
  itemsPerPage: PropTypes.number,
8709
8797
  currentPage: PropTypes.number,
8710
8798
  statusLabel: PropTypes.element,
8711
- firstPageLabel: PropTypes.string,
8712
- previousPageLabel: PropTypes.string,
8713
- nextPageLabel: PropTypes.string,
8714
- lastPageLabel: PropTypes.string,
8799
+ firstPageLabel: contentNode,
8800
+ previousPageLabel: contentNode,
8801
+ nextPageLabel: contentNode,
8802
+ lastPageLabel: contentNode,
8715
8803
  onNextPageClick: PropTypes.func,
8716
8804
  onPreviousPageClick: PropTypes.func,
8717
8805
  onFirstPageClick: PropTypes.func,
8718
8806
  onLastPageClick: PropTypes.func,
8719
8807
  // @ts-expect-error
8720
8808
  tooltipPlacement: PropTypes.string,
8721
- className: PropTypes.string
8809
+ className: PropTypes.string,
8810
+ thin: PropTypes.bool
8722
8811
  };
8723
8812
 
8724
8813
  var usePagination = function (_a) {
@@ -9078,6 +9167,8 @@ exports.OptionsMenuTrigger = OptionsMenuTrigger;
9078
9167
  exports.OptionsMenuWrapper = OptionsMenuWrapper;
9079
9168
  exports.Pagination = Pagination;
9080
9169
  exports.Panel = Panel;
9170
+ exports.PanelContent = PanelContent;
9171
+ exports.PanelHeader = PanelHeader;
9081
9172
  exports.PanelTrigger = PanelTrigger$1;
9082
9173
  exports.Pointout = Pointout;
9083
9174
  exports.ProgressBar = ProgressBar;
@@ -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 SvgLinkedin = 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: "M5.37 24H.4V7.98h4.98V24ZM2.88 5.79C1.29 5.79 0 4.47 0 2.88a2.88 2.88 0 0 1 5.76 0c0 1.59-1.29 2.91-2.88 2.91ZM23.99 24h-4.96v-7.8c0-1.86-.04-4.24-2.59-4.24s-2.98 2.02-2.98 4.11V24H8.49V7.98h4.77v2.19h.07c.66-1.26 2.29-2.59 4.71-2.59 5.04 0 5.96 3.32 5.96 7.62V24Z",
20
+ fill: "currentColor",
21
+ vectorEffect: "non-scaling-stroke"
22
+ })));
23
+
24
+ exports.default = SvgLinkedin;
@@ -0,0 +1,6 @@
1
+ import PropTypes from 'prop-types';
2
+ /**
3
+ * This prop type is meant to ensure that a prop can actually be rendered as content.
4
+ * It should match the ContentNode type in types.ts
5
+ */
6
+ export declare const contentNode: PropTypes.Requireable<string | number | PropTypes.ReactElementLike>;
@@ -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 SvgShareNodes = props => /*#__PURE__*/React.createElement("svg", _extends({
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ viewBox: "0 0 448 512",
15
+ overflow: "visible",
16
+ height: 24,
17
+ width: 24
18
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
19
+ d: "M352 224c53 0 96-43 96-96s-43-96-96-96-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9 0 53 43 96 96 96s96-43 96-96-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9.7-7.8.7-11.9s-.2-8-.7-11.9l94.1-47c17.2 16.7 40.7 26.9 66.6 26.9z",
20
+ vectorEffect: "non-scaling-stroke",
21
+ fill: "currentColor"
22
+ })));
23
+
24
+ exports.default = SvgShareNodes;
package/lib/twitter.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 SvgTwitter = 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: "M21.53 7.11c.02.21.02.43.02.64 0 6.5-4.95 13.99-13.99 13.99-2.79 0-5.38-.81-7.55-2.21.4.05.78.06 1.19.06 2.3 0 4.42-.78 6.11-2.1a4.94 4.94 0 0 1-4.6-3.41c.3.05.61.08.93.08.44 0 .88-.06 1.29-.17A4.926 4.926 0 0 1 .99 9.16V9.1c.65.37 1.42.59 2.22.62a4.92 4.92 0 0 1-2.19-4.1c0-.91.24-1.75.67-2.48a14.02 14.02 0 0 0 10.14 5.15c-.08-.37-.12-.75-.12-1.13 0-2.71 2.19-4.92 4.92-4.92 1.42 0 2.7.59 3.59 1.55 1.11-.21 2.18-.62 3.12-1.19a4.93 4.93 0 0 1-2.16 2.71c.99-.11 1.95-.38 2.83-.76-.67.97-1.51 1.84-2.47 2.54Z",
20
+ fill: "currentColor",
21
+ vectorEffect: "non-scaling-stroke"
22
+ })));
23
+
24
+ exports.default = SvgTwitter;
package/lib/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ReactElement, ReactFragment, ReactPortal } from 'react';
1
2
  export declare namespace Cauldron {
2
3
  type LabelProps = {
3
4
  'aria-label': string;
@@ -5,3 +6,8 @@ export declare namespace Cauldron {
5
6
  'aria-labelledby': string;
6
7
  };
7
8
  }
9
+ /**
10
+ * This type is meant to ensure that a prop can actually be rendered as content.
11
+ * Explicit equivalent of Exclude<ReactNode, boolean | null | undefined>
12
+ */
13
+ export declare type ContentNode = string | number | ReactFragment | ReactPortal | ReactElement;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-react",
3
- "version": "5.0.0",
3
+ "version": "5.1.0-canary.1a1011cd",
4
4
  "description": "Fully accessible react components library for Deque Cauldron",
5
5
  "homepage": "https://cauldron.dequelabs.com/",
6
6
  "publishConfig": {
@@ -126,4 +126,4 @@
126
126
  "\\.svg$": "<rootDir>/__tests__/svgMock.js"
127
127
  }
128
128
  }
129
- }
129
+ }