@carbon/react 1.31.3 → 1.32.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/README.md +1 -1
- package/es/components/Accordion/Accordion.Skeleton.d.ts +64 -0
- package/es/components/Accordion/Accordion.Skeleton.js +3 -3
- package/es/components/Accordion/Accordion.d.ts +65 -0
- package/es/components/Accordion/Accordion.js +5 -6
- package/es/components/Accordion/AccordionItem.d.ts +105 -0
- package/es/components/Accordion/AccordionItem.js +12 -9
- package/es/components/Accordion/AccordionProvider.d.ts +20 -0
- package/es/components/Accordion/AccordionProvider.js +25 -0
- package/es/components/Accordion/index.d.ts +11 -0
- package/es/components/Button/Button.Skeleton.d.ts +28 -0
- package/es/components/Button/Button.Skeleton.js +5 -3
- package/es/components/Button/Button.d.ts +72 -0
- package/es/components/Button/Button.js +13 -10
- package/es/components/Button/index.d.ts +11 -0
- package/es/components/Button/index.js +2 -1
- package/es/components/ButtonSet/ButtonSet.d.ts +17 -0
- package/es/components/ButtonSet/ButtonSet.js +1 -2
- package/es/components/ButtonSet/index.d.ts +9 -0
- package/es/components/CodeSnippet/CodeSnippet.js +1 -0
- package/es/components/ComboButton/index.js +1 -0
- package/es/components/ComposedModal/ComposedModal.d.ts +70 -0
- package/es/components/ComposedModal/ComposedModal.js +58 -67
- package/es/components/ComposedModal/ModalFooter.d.ts +71 -0
- package/es/components/ComposedModal/ModalFooter.js +22 -19
- package/es/components/ComposedModal/ModalHeader.d.ts +58 -0
- package/es/components/ComposedModal/ModalHeader.js +8 -25
- package/es/components/ComposedModal/index.d.ts +9 -0
- package/es/components/ContainedList/ContainedList.js +12 -1
- package/es/components/ContentSwitcher/ContentSwitcher.d.ts +109 -0
- package/es/components/ContentSwitcher/ContentSwitcher.js +14 -6
- package/es/components/DangerButton/DangerButton.d.ts +9 -0
- package/es/components/DangerButton/DangerButton.js +2 -2
- package/es/components/DangerButton/index.d.ts +9 -0
- package/es/components/DataTable/TableBatchAction.js +1 -0
- package/es/components/DataTable/TableBatchActions.js +1 -0
- package/es/components/DataTable/TableBody.d.ts +29 -0
- package/es/components/DataTable/TableBody.js +2 -3
- package/es/components/DataTable/TableContainer.d.ts +51 -0
- package/es/components/DataTable/TableContainer.js +3 -4
- package/es/components/DataTable/TableExpandHeader.d.ts +86 -0
- package/es/components/DataTable/TableExpandHeader.js +4 -5
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +12 -16
- package/es/components/Dropdown/Dropdown.js +1 -0
- package/es/components/FluidTextInput/FluidTextInput.js +1 -0
- package/es/components/FormGroup/FormGroup.d.ts +80 -0
- package/es/components/IconButton/index.js +3 -2
- package/es/components/Layout/index.d.ts +74 -0
- package/es/components/Layout/index.js +14 -5
- package/es/components/Link/Link.d.ts +2 -2
- package/es/components/Link/Link.js +2 -1
- package/es/components/MenuButton/index.js +1 -0
- package/es/components/Modal/Modal.js +1 -0
- package/es/components/ModalWrapper/ModalWrapper.js +1 -0
- package/es/components/Notification/Notification.d.ts +531 -0
- package/es/components/Notification/Notification.js +40 -6
- package/es/components/Notification/index.d.ts +7 -0
- package/es/components/PrimaryButton/PrimaryButton.js +1 -0
- package/es/components/SecondaryButton/SecondaryButton.js +1 -0
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/SkeletonText/SkeletonText.d.ts +61 -0
- package/es/components/SkeletonText/SkeletonText.js +15 -17
- package/es/components/SkeletonText/index.d.ts +9 -0
- package/es/components/Switch/Switch.d.ts +56 -0
- package/es/components/Switch/Switch.js +4 -4
- package/es/components/Tab/index.d.ts +9 -0
- package/es/components/TabContent/TabContent.d.ts +40 -0
- package/es/components/TabContent/TabContent.js +6 -12
- package/es/components/TabContent/index.d.ts +10 -0
- package/es/components/Tabs/Tabs.Skeleton.d.ts +33 -0
- package/es/components/Tabs/Tabs.Skeleton.js +2 -2
- package/es/components/Tabs/Tabs.d.ts +311 -0
- package/es/components/Tabs/Tabs.js +151 -97
- package/es/components/Tabs/index.d.ts +10 -0
- package/es/components/Tabs/usePressable.js +11 -0
- package/es/components/TextInput/ControlledPasswordInput.d.ts +90 -0
- package/es/components/TextInput/ControlledPasswordInput.js +5 -6
- package/es/components/Tile/Tile.d.ts +153 -0
- package/es/components/Tile/Tile.js +62 -74
- package/es/components/Tile/index.d.ts +7 -0
- package/es/components/Toggle/Toggle.Skeleton.d.ts +3 -47
- package/es/components/Toggle/Toggle.Skeleton.js +24 -64
- package/es/components/Toggle/Toggle.js +1 -1
- package/es/components/UIShell/HeaderGlobalAction.js +1 -0
- package/es/components/UIShell/HeaderPanel.js +61 -5
- package/es/components/UIShell/SideNav.d.ts +1 -1
- package/es/components/UIShell/Switcher.js +45 -5
- package/es/components/UIShell/SwitcherItem.js +45 -6
- package/es/index.js +16 -16
- package/es/internal/keyboard/match.js +2 -2
- package/es/internal/useControllableState.js +2 -2
- package/es/internal/useMatchMedia.js +44 -0
- package/es/internal/wrapFocus.js +6 -6
- package/es/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
- package/es/prop-types/types.js +3 -0
- package/lib/components/Accordion/Accordion.Skeleton.d.ts +64 -0
- package/lib/components/Accordion/Accordion.Skeleton.js +3 -3
- package/lib/components/Accordion/Accordion.d.ts +65 -0
- package/lib/components/Accordion/Accordion.js +5 -6
- package/lib/components/Accordion/AccordionItem.d.ts +105 -0
- package/lib/components/Accordion/AccordionItem.js +11 -8
- package/lib/components/Accordion/AccordionProvider.d.ts +20 -0
- package/lib/components/Accordion/AccordionProvider.js +34 -0
- package/lib/components/Accordion/index.d.ts +11 -0
- package/lib/components/Button/Button.Skeleton.d.ts +28 -0
- package/lib/components/Button/Button.Skeleton.js +5 -3
- package/lib/components/Button/Button.d.ts +72 -0
- package/lib/components/Button/Button.js +18 -11
- package/lib/components/Button/index.d.ts +11 -0
- package/lib/components/Button/index.js +6 -0
- package/lib/components/ButtonSet/ButtonSet.d.ts +17 -0
- package/lib/components/ButtonSet/ButtonSet.js +1 -2
- package/lib/components/ButtonSet/index.d.ts +9 -0
- package/lib/components/CodeSnippet/CodeSnippet.js +1 -0
- package/lib/components/ComboButton/index.js +1 -0
- package/lib/components/ComposedModal/ComposedModal.d.ts +70 -0
- package/lib/components/ComposedModal/ComposedModal.js +58 -67
- package/lib/components/ComposedModal/ModalFooter.d.ts +71 -0
- package/lib/components/ComposedModal/ModalFooter.js +22 -19
- package/lib/components/ComposedModal/ModalHeader.d.ts +58 -0
- package/lib/components/ComposedModal/ModalHeader.js +8 -25
- package/lib/components/ComposedModal/index.d.ts +9 -0
- package/lib/components/ContainedList/ContainedList.js +12 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.d.ts +109 -0
- package/lib/components/ContentSwitcher/ContentSwitcher.js +14 -6
- package/lib/components/DangerButton/DangerButton.d.ts +9 -0
- package/lib/components/DangerButton/DangerButton.js +2 -2
- package/lib/components/DangerButton/index.d.ts +9 -0
- package/lib/components/DataTable/TableBatchAction.js +1 -0
- package/lib/components/DataTable/TableBatchActions.js +1 -0
- package/lib/components/DataTable/TableBody.d.ts +29 -0
- package/lib/components/DataTable/TableBody.js +3 -4
- package/lib/components/DataTable/TableContainer.d.ts +51 -0
- package/lib/components/DataTable/TableContainer.js +3 -4
- package/lib/components/DataTable/TableExpandHeader.d.ts +86 -0
- package/lib/components/DataTable/TableExpandHeader.js +4 -5
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +12 -16
- package/lib/components/Dropdown/Dropdown.js +1 -0
- package/lib/components/FluidTextInput/FluidTextInput.js +1 -0
- package/lib/components/FormGroup/FormGroup.d.ts +80 -0
- package/lib/components/IconButton/index.js +3 -2
- package/lib/components/Layout/index.d.ts +74 -0
- package/lib/components/Layout/index.js +14 -5
- package/lib/components/Link/Link.d.ts +2 -2
- package/lib/components/Link/Link.js +2 -1
- package/lib/components/MenuButton/index.js +1 -0
- package/lib/components/Modal/Modal.js +1 -0
- package/lib/components/ModalWrapper/ModalWrapper.js +1 -0
- package/lib/components/Notification/Notification.d.ts +531 -0
- package/lib/components/Notification/Notification.js +40 -6
- package/lib/components/Notification/index.d.ts +7 -0
- package/lib/components/PrimaryButton/PrimaryButton.js +1 -0
- package/lib/components/SecondaryButton/SecondaryButton.js +1 -0
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/SkeletonText/SkeletonText.d.ts +61 -0
- package/lib/components/SkeletonText/SkeletonText.js +15 -17
- package/lib/components/SkeletonText/index.d.ts +9 -0
- package/lib/components/Switch/Switch.d.ts +56 -0
- package/lib/components/Switch/Switch.js +4 -4
- package/lib/components/Tab/index.d.ts +9 -0
- package/lib/components/TabContent/TabContent.d.ts +40 -0
- package/lib/components/TabContent/TabContent.js +6 -12
- package/lib/components/TabContent/index.d.ts +10 -0
- package/lib/components/Tabs/Tabs.Skeleton.d.ts +33 -0
- package/lib/components/Tabs/Tabs.Skeleton.js +2 -2
- package/lib/components/Tabs/Tabs.d.ts +311 -0
- package/lib/components/Tabs/Tabs.js +150 -96
- package/lib/components/Tabs/index.d.ts +10 -0
- package/lib/components/Tabs/usePressable.js +11 -0
- package/lib/components/TextInput/ControlledPasswordInput.d.ts +90 -0
- package/lib/components/TextInput/ControlledPasswordInput.js +5 -6
- package/lib/components/Tile/Tile.d.ts +153 -0
- package/lib/components/Tile/Tile.js +62 -74
- package/lib/components/Tile/index.d.ts +7 -0
- package/lib/components/Toggle/Toggle.Skeleton.d.ts +3 -47
- package/lib/components/Toggle/Toggle.Skeleton.js +22 -62
- package/lib/components/Toggle/Toggle.js +1 -1
- package/lib/components/UIShell/HeaderGlobalAction.js +1 -0
- package/lib/components/UIShell/HeaderPanel.js +60 -4
- package/lib/components/UIShell/SideNav.d.ts +1 -1
- package/lib/components/UIShell/Switcher.js +44 -4
- package/lib/components/UIShell/SwitcherItem.js +45 -6
- package/lib/index.js +51 -47
- package/lib/internal/keyboard/match.js +2 -2
- package/lib/internal/useControllableState.js +2 -2
- package/lib/internal/useMatchMedia.js +48 -0
- package/lib/internal/wrapFocus.js +6 -6
- package/lib/prop-types/requiredIfGivenPropIsTruthy.js +1 -1
- package/lib/prop-types/types.js +3 -0
- package/package.json +4 -3
|
@@ -14,6 +14,10 @@ var React = require('react');
|
|
|
14
14
|
var cx = require('classnames');
|
|
15
15
|
var PropTypes = require('prop-types');
|
|
16
16
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
|
+
var useEvent = require('../../internal/useEvent.js');
|
|
18
|
+
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
19
|
+
var match = require('../../internal/keyboard/match.js');
|
|
20
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
17
21
|
|
|
18
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
23
|
|
|
@@ -26,19 +30,61 @@ const HeaderPanel = /*#__PURE__*/React__default["default"].forwardRef(function H
|
|
|
26
30
|
children,
|
|
27
31
|
className: customClassName,
|
|
28
32
|
expanded,
|
|
33
|
+
addFocusListeners = true,
|
|
34
|
+
onHeaderPanelFocus,
|
|
35
|
+
href,
|
|
29
36
|
...other
|
|
30
37
|
} = _ref;
|
|
31
38
|
const prefix = usePrefix.usePrefix();
|
|
39
|
+
const headerPanelReference = React.useRef(null);
|
|
40
|
+
const headerPanelRef = useMergedRefs.useMergedRefs([headerPanelReference, ref]);
|
|
41
|
+
const controlled = React.useRef(expanded !== undefined).current;
|
|
42
|
+
const [expandedState, setExpandedState] = React.useState(expanded);
|
|
43
|
+
const expandedProp = controlled ? expanded : expandedState;
|
|
44
|
+
const [lastClickedElement, setLastClickedElement] = React.useState(null);
|
|
32
45
|
const className = cx__default["default"](`${prefix}--header-panel`, {
|
|
33
|
-
[`${prefix}--header-panel--expanded`]:
|
|
46
|
+
[`${prefix}--header-panel--expanded`]: expandedProp,
|
|
34
47
|
[customClassName]: !!customClassName
|
|
35
48
|
});
|
|
49
|
+
const eventHandlers = {};
|
|
50
|
+
if (addFocusListeners) {
|
|
51
|
+
eventHandlers.onBlur = event => {
|
|
52
|
+
if (!event.currentTarget.contains(event.relatedTarget) && !lastClickedElement.classList.contains('cds--switcher__item-link')) {
|
|
53
|
+
setExpandedState(false);
|
|
54
|
+
setLastClickedElement(null);
|
|
55
|
+
if (expanded) {
|
|
56
|
+
onHeaderPanelFocus();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
eventHandlers.onKeyDown = event => {
|
|
61
|
+
if (match.match(event, keys.Escape)) {
|
|
62
|
+
setExpandedState(false);
|
|
63
|
+
onHeaderPanelFocus();
|
|
64
|
+
if (href) {
|
|
65
|
+
window.location.href = href;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
useEvent.useWindowEvent('click', () => {
|
|
71
|
+
const focusedElement = document.activeElement;
|
|
72
|
+
setLastClickedElement(focusedElement);
|
|
73
|
+
if (children.type.__docgenInfo.displayName === 'Switcher' && !focusedElement?.closest(`.${prefix}--header-panel--expanded`) && !focusedElement?.closest(`.${prefix}--header__action`) && !headerPanelRef?.current?.classList.contains(`${prefix}--switcher`) && expanded) {
|
|
74
|
+
setExpandedState(false);
|
|
75
|
+
onHeaderPanelFocus();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
36
78
|
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, other, {
|
|
37
79
|
className: className,
|
|
38
|
-
ref:
|
|
39
|
-
}), children);
|
|
80
|
+
ref: headerPanelRef
|
|
81
|
+
}, eventHandlers), children);
|
|
40
82
|
});
|
|
41
83
|
HeaderPanel.propTypes = {
|
|
84
|
+
/**
|
|
85
|
+
* Specify whether focus and blur listeners are added. They are by default.
|
|
86
|
+
*/
|
|
87
|
+
addFocusListeners: PropTypes__default["default"].bool,
|
|
42
88
|
/**
|
|
43
89
|
* The content that will render inside of the `HeaderPanel`
|
|
44
90
|
*/
|
|
@@ -50,7 +96,17 @@ HeaderPanel.propTypes = {
|
|
|
50
96
|
/**
|
|
51
97
|
* Specify whether the panel is expanded
|
|
52
98
|
*/
|
|
53
|
-
expanded: PropTypes__default["default"].bool
|
|
99
|
+
expanded: PropTypes__default["default"].bool,
|
|
100
|
+
/**
|
|
101
|
+
* Provide the `href` to the id of the element on your package that could
|
|
102
|
+
* be target.
|
|
103
|
+
*/
|
|
104
|
+
href: PropTypes__default["default"].string,
|
|
105
|
+
/**
|
|
106
|
+
* An optional listener that is called a callback to collapse the HeaderPanel
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
onHeaderPanelFocus: PropTypes__default["default"].func
|
|
54
110
|
};
|
|
55
111
|
HeaderPanel.displayName = 'HeaderPanel';
|
|
56
112
|
var HeaderPanel$1 = HeaderPanel;
|
|
@@ -20,5 +20,5 @@ interface SideNavProps extends ComponentProps<'nav'> {
|
|
|
20
20
|
onSideNavBlur?: () => void | undefined;
|
|
21
21
|
enterDelayMs?: number;
|
|
22
22
|
}
|
|
23
|
-
declare const SideNav: React.ForwardRefExoticComponent<Pick<SideNavProps, "children" | "
|
|
23
|
+
declare const SideNav: React.ForwardRefExoticComponent<Pick<SideNavProps, "children" | "slot" | "style" | "title" | "className" | "dir" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "onToggle" | "key" | "id" | "aria-controls" | "aria-expanded" | "onClick" | "onAnimationEnd" | "onKeyDown" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "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-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "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" | "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" | "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" | "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" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "href" | "expanded" | "enterDelayMs" | "defaultExpanded" | "addFocusListeners" | "isChildOfHeader" | "isFixedNav" | "isRail" | "isPersistent" | "addMouseListeners" | "onOverlayClick" | "onSideNavBlur"> & React.RefAttributes<HTMLElement>>;
|
|
24
24
|
export default SideNav;
|
|
@@ -15,6 +15,7 @@ var cx = require('classnames');
|
|
|
15
15
|
var PropTypes = require('prop-types');
|
|
16
16
|
var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
|
|
17
17
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
18
|
+
var useMergedRefs = require('../../internal/useMergedRefs.js');
|
|
18
19
|
|
|
19
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
21
|
|
|
@@ -22,13 +23,16 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
22
23
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
23
24
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
24
25
|
|
|
25
|
-
const Switcher = /*#__PURE__*/React__default["default"].forwardRef(function Switcher(props,
|
|
26
|
+
const Switcher = /*#__PURE__*/React__default["default"].forwardRef(function Switcher(props, forwardRef) {
|
|
27
|
+
const switcherRef = React.useRef(null);
|
|
28
|
+
const ref = useMergedRefs.useMergedRefs([switcherRef, forwardRef]);
|
|
26
29
|
const prefix = usePrefix.usePrefix();
|
|
27
30
|
const {
|
|
28
31
|
'aria-label': ariaLabel,
|
|
29
32
|
'aria-labelledby': ariaLabelledBy,
|
|
30
33
|
className: customClassName,
|
|
31
|
-
children
|
|
34
|
+
children,
|
|
35
|
+
expanded
|
|
32
36
|
} = props;
|
|
33
37
|
const accessibilityLabel = {
|
|
34
38
|
'aria-label': ariaLabel,
|
|
@@ -37,10 +41,42 @@ const Switcher = /*#__PURE__*/React__default["default"].forwardRef(function Swit
|
|
|
37
41
|
const className = cx__default["default"](`${prefix}--switcher`, {
|
|
38
42
|
[customClassName]: !!customClassName
|
|
39
43
|
});
|
|
44
|
+
const handleSwitcherItemFocus = _ref => {
|
|
45
|
+
let {
|
|
46
|
+
currentIndex,
|
|
47
|
+
direction
|
|
48
|
+
} = _ref;
|
|
49
|
+
const enabledIndices = React__default["default"].Children.toArray(children).reduce((acc, curr, i) => {
|
|
50
|
+
if (Object.keys(curr.props).length !== 0) {
|
|
51
|
+
acc.push(i);
|
|
52
|
+
}
|
|
53
|
+
return acc;
|
|
54
|
+
}, []);
|
|
55
|
+
const nextValidIndex = (() => {
|
|
56
|
+
const nextIndex = enabledIndices.indexOf(currentIndex) + direction;
|
|
57
|
+
switch (enabledIndices[nextIndex]) {
|
|
58
|
+
case undefined:
|
|
59
|
+
if (direction === -1) {
|
|
60
|
+
return enabledIndices[enabledIndices.length - 1];
|
|
61
|
+
}
|
|
62
|
+
return 0;
|
|
63
|
+
default:
|
|
64
|
+
return enabledIndices[nextIndex];
|
|
65
|
+
}
|
|
66
|
+
})();
|
|
67
|
+
const switcherItem = switcherRef.current.children[nextValidIndex].children[0];
|
|
68
|
+
switcherItem?.focus();
|
|
69
|
+
};
|
|
70
|
+
const childrenWithProps = React__default["default"].Children.toArray(children).map((child, index) => /*#__PURE__*/React__default["default"].cloneElement(child, {
|
|
71
|
+
handleSwitcherItemFocus,
|
|
72
|
+
index,
|
|
73
|
+
key: index,
|
|
74
|
+
expanded
|
|
75
|
+
}));
|
|
40
76
|
return /*#__PURE__*/React__default["default"].createElement("ul", _rollupPluginBabelHelpers["extends"]({
|
|
41
77
|
ref: ref,
|
|
42
78
|
className: className
|
|
43
|
-
}, accessibilityLabel),
|
|
79
|
+
}, accessibilityLabel), childrenWithProps);
|
|
44
80
|
});
|
|
45
81
|
Switcher.displayName = 'Switcher';
|
|
46
82
|
Switcher.propTypes = {
|
|
@@ -55,7 +91,11 @@ Switcher.propTypes = {
|
|
|
55
91
|
/**
|
|
56
92
|
* Optionally provide a custom class to apply to the underlying `<ul>` node
|
|
57
93
|
*/
|
|
58
|
-
className: PropTypes__default["default"].string
|
|
94
|
+
className: PropTypes__default["default"].string,
|
|
95
|
+
/**
|
|
96
|
+
* Specify whether the panel is expanded
|
|
97
|
+
*/
|
|
98
|
+
expanded: PropTypes__default["default"].bool
|
|
59
99
|
};
|
|
60
100
|
var Switcher$1 = Switcher;
|
|
61
101
|
|
|
@@ -16,6 +16,8 @@ var PropTypes = require('prop-types');
|
|
|
16
16
|
var AriaPropTypes = require('../../prop-types/AriaPropTypes.js');
|
|
17
17
|
var Link = require('./Link.js');
|
|
18
18
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
19
|
+
var match = require('../../internal/keyboard/match.js');
|
|
20
|
+
var keys = require('../../internal/keyboard/keys.js');
|
|
19
21
|
|
|
20
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
23
|
|
|
@@ -23,17 +25,21 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
23
25
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
24
26
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
25
27
|
|
|
26
|
-
const SwitcherItem = /*#__PURE__*/React__default["default"].forwardRef(function SwitcherItem(
|
|
27
|
-
|
|
28
|
-
const {
|
|
28
|
+
const SwitcherItem = /*#__PURE__*/React__default["default"].forwardRef(function SwitcherItem(_ref, ref) {
|
|
29
|
+
let {
|
|
29
30
|
'aria-label': ariaLabel,
|
|
30
31
|
'aria-labelledby': ariaLabelledBy,
|
|
31
32
|
className: customClassName,
|
|
32
33
|
children,
|
|
33
34
|
isSelected,
|
|
34
|
-
|
|
35
|
+
expanded,
|
|
36
|
+
tabIndex = expanded ? 0 : -1,
|
|
37
|
+
index,
|
|
38
|
+
handleSwitcherItemFocus,
|
|
39
|
+
onKeyDown = () => {},
|
|
35
40
|
...rest
|
|
36
|
-
} =
|
|
41
|
+
} = _ref;
|
|
42
|
+
const prefix = usePrefix.usePrefix();
|
|
37
43
|
const className = cx__default["default"](`${prefix}--switcher__item`, {
|
|
38
44
|
[customClassName]: !!customClassName
|
|
39
45
|
});
|
|
@@ -44,9 +50,30 @@ const SwitcherItem = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
44
50
|
const linkClassName = cx__default["default"](`${prefix}--switcher__item-link`, {
|
|
45
51
|
[`${prefix}--switcher__item-link--selected`]: isSelected
|
|
46
52
|
});
|
|
53
|
+
function setTabFocus(evt) {
|
|
54
|
+
if (match.match(evt, keys.ArrowDown)) {
|
|
55
|
+
evt.preventDefault();
|
|
56
|
+
handleSwitcherItemFocus?.({
|
|
57
|
+
currentIndex: index,
|
|
58
|
+
direction: 1
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (match.match(evt, keys.ArrowUp)) {
|
|
62
|
+
evt.preventDefault();
|
|
63
|
+
handleSwitcherItemFocus?.({
|
|
64
|
+
currentIndex: index,
|
|
65
|
+
direction: -1
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
47
69
|
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
48
70
|
className: className
|
|
49
|
-
}, /*#__PURE__*/React__default["default"].createElement(Link["default"], _rollupPluginBabelHelpers["extends"]({
|
|
71
|
+
}, /*#__PURE__*/React__default["default"].createElement(Link["default"], _rollupPluginBabelHelpers["extends"]({
|
|
72
|
+
onKeyDown: evt => {
|
|
73
|
+
setTabFocus(evt);
|
|
74
|
+
onKeyDown(evt);
|
|
75
|
+
}
|
|
76
|
+
}, rest, {
|
|
50
77
|
ref: ref,
|
|
51
78
|
className: linkClassName,
|
|
52
79
|
tabIndex: tabIndex
|
|
@@ -66,6 +93,18 @@ SwitcherItem.propTypes = {
|
|
|
66
93
|
* Optionally provide a custom class to apply to the underlying `<li>` node
|
|
67
94
|
*/
|
|
68
95
|
className: PropTypes__default["default"].string,
|
|
96
|
+
/**
|
|
97
|
+
* event handlers
|
|
98
|
+
*/
|
|
99
|
+
handleSwitcherItemFocus: PropTypes__default["default"].func,
|
|
100
|
+
/**
|
|
101
|
+
* Specify the index of the SwitcherItem
|
|
102
|
+
*/
|
|
103
|
+
index: PropTypes__default["default"].number,
|
|
104
|
+
/**
|
|
105
|
+
* event handlers
|
|
106
|
+
*/
|
|
107
|
+
onKeyDown: PropTypes__default["default"].func,
|
|
69
108
|
/**
|
|
70
109
|
* Specify the tab index of the Link
|
|
71
110
|
*/
|
package/lib/index.js
CHANGED
|
@@ -10,12 +10,22 @@
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
12
|
require('./feature-flags.js');
|
|
13
|
+
var Accordion = require('./components/Accordion/Accordion.js');
|
|
14
|
+
var AccordionItem = require('./components/Accordion/AccordionItem.js');
|
|
15
|
+
var Accordion_Skeleton = require('./components/Accordion/Accordion.Skeleton.js');
|
|
13
16
|
var AspectRatio = require('./components/AspectRatio/AspectRatio.js');
|
|
17
|
+
var Button = require('./components/Button/Button.js');
|
|
18
|
+
var Button_Skeleton = require('./components/Button/Button.Skeleton.js');
|
|
19
|
+
var ButtonSet = require('./components/ButtonSet/ButtonSet.js');
|
|
14
20
|
var Checkbox = require('./components/Checkbox/Checkbox.js');
|
|
15
21
|
var Checkbox_Skeleton = require('./components/Checkbox/Checkbox.Skeleton.js');
|
|
16
22
|
var index$3 = require('./components/ClassPrefix/index.js');
|
|
17
23
|
var index$4 = require('./components/ComboButton/index.js');
|
|
24
|
+
var ComposedModal = require('./components/ComposedModal/ComposedModal.js');
|
|
25
|
+
var ModalHeader = require('./components/ComposedModal/ModalHeader.js');
|
|
26
|
+
var ModalFooter = require('./components/ComposedModal/ModalFooter.js');
|
|
18
27
|
var index$5 = require('./components/ContentSwitcher/index.js');
|
|
28
|
+
var DangerButton = require('./components/DangerButton/DangerButton.js');
|
|
19
29
|
require('./components/DataTable/index.js');
|
|
20
30
|
var DataTableSkeleton = require('./components/DataTableSkeleton/DataTableSkeleton.js');
|
|
21
31
|
var DatePicker = require('./components/DatePicker/DatePicker.js');
|
|
@@ -35,17 +45,23 @@ var index$6 = require('./components/IdPrefix/index.js');
|
|
|
35
45
|
var Link = require('./components/Link/Link.js');
|
|
36
46
|
var ListItem = require('./components/ListItem/ListItem.js');
|
|
37
47
|
var index$7 = require('./components/MenuButton/index.js');
|
|
48
|
+
var Notification = require('./components/Notification/Notification.js');
|
|
38
49
|
var OrderedList = require('./components/OrderedList/OrderedList.js');
|
|
39
50
|
var index$8 = require('./components/OverflowMenu/index.js');
|
|
40
51
|
var Pagination_Skeleton = require('./components/Pagination/Pagination.Skeleton.js');
|
|
41
52
|
var RadioButton_Skeleton = require('./components/RadioButton/RadioButton.Skeleton.js');
|
|
42
53
|
var Search = require('./components/Search/Search.js');
|
|
43
54
|
var Search_Skeleton = require('./components/Search/Search.Skeleton.js');
|
|
55
|
+
var SkeletonText = require('./components/SkeletonText/SkeletonText.js');
|
|
44
56
|
var index$9 = require('./components/Slider/index.js');
|
|
57
|
+
var Tabs = require('./components/Tabs/Tabs.js');
|
|
58
|
+
var TabContent = require('./components/TabContent/TabContent.js');
|
|
59
|
+
var Tabs_Skeleton = require('./components/Tabs/Tabs.Skeleton.js');
|
|
45
60
|
var Tag_Skeleton = require('./components/Tag/Tag.Skeleton.js');
|
|
46
61
|
var TextArea = require('./components/TextArea/TextArea.js');
|
|
47
62
|
var TextArea_Skeleton = require('./components/TextArea/TextArea.Skeleton.js');
|
|
48
63
|
require('./components/TextInput/index.js');
|
|
64
|
+
var Tile = require('./components/Tile/Tile.js');
|
|
49
65
|
var index$a = require('./components/TileGroup/index.js');
|
|
50
66
|
var Toggle_Skeleton = require('./components/Toggle/Toggle.Skeleton.js');
|
|
51
67
|
var ToggleSmall_Skeleton = require('./components/ToggleSmall/ToggleSmall.Skeleton.js');
|
|
@@ -72,9 +88,6 @@ var FluidTextInput = require('./components/FluidTextInput/FluidTextInput.js');
|
|
|
72
88
|
var FluidTextInput_Skeleton = require('./components/FluidTextInput/FluidTextInput.Skeleton.js');
|
|
73
89
|
var PageSelector = require('./components/Pagination/experimental/PageSelector.js');
|
|
74
90
|
var Pagination = require('./components/Pagination/experimental/Pagination.js');
|
|
75
|
-
var AccordionItem = require('./components/Accordion/AccordionItem.js');
|
|
76
|
-
var Accordion_Skeleton = require('./components/Accordion/Accordion.Skeleton.js');
|
|
77
|
-
var Accordion = require('./components/Accordion/Accordion.js');
|
|
78
91
|
var Breadcrumb_Skeleton = require('./components/Breadcrumb/Breadcrumb.Skeleton.js');
|
|
79
92
|
var CheckboxGroup = require('./components/CheckboxGroup/CheckboxGroup.js');
|
|
80
93
|
var CodeSnippet_Skeleton = require('./components/CodeSnippet/CodeSnippet.Skeleton.js');
|
|
@@ -99,7 +112,6 @@ var Loading = require('./components/Loading/Loading.js');
|
|
|
99
112
|
var ModalWrapper = require('./components/ModalWrapper/ModalWrapper.js');
|
|
100
113
|
var NumberInput_Skeleton = require('./components/NumberInput/NumberInput.Skeleton.js');
|
|
101
114
|
var ProgressIndicator_Skeleton = require('./components/ProgressIndicator/ProgressIndicator.Skeleton.js');
|
|
102
|
-
var Tabs_Skeleton = require('./components/Tabs/Tabs.Skeleton.js');
|
|
103
115
|
var TextInput_Skeleton = require('./components/TextInput/TextInput.Skeleton.js');
|
|
104
116
|
var TextInput = require('./components/TextInput/TextInput.js');
|
|
105
117
|
var Toggle = require('./components/Toggle/Toggle.js');
|
|
@@ -136,14 +148,7 @@ var Text = require('./components/Text/Text.js');
|
|
|
136
148
|
var TextDirection = require('./components/Text/TextDirection.js');
|
|
137
149
|
var Breadcrumb = require('./components/Breadcrumb/Breadcrumb.js');
|
|
138
150
|
var BreadcrumbItem = require('./components/Breadcrumb/BreadcrumbItem.js');
|
|
139
|
-
var Button_Skeleton = require('./components/Button/Button.Skeleton.js');
|
|
140
|
-
var Button = require('./components/Button/Button.js');
|
|
141
|
-
var ButtonSet = require('./components/ButtonSet/ButtonSet.js');
|
|
142
151
|
var ComboBox = require('./components/ComboBox/ComboBox.js');
|
|
143
|
-
var ComposedModal = require('./components/ComposedModal/ComposedModal.js');
|
|
144
|
-
var ModalFooter = require('./components/ComposedModal/ModalFooter.js');
|
|
145
|
-
var ModalHeader = require('./components/ComposedModal/ModalHeader.js');
|
|
146
|
-
var DangerButton = require('./components/DangerButton/DangerButton.js');
|
|
147
152
|
var DataTable = require('./components/DataTable/DataTable.js');
|
|
148
153
|
var Table = require('./components/DataTable/Table.js');
|
|
149
154
|
var TableActionList = require('./components/DataTable/TableActionList.js');
|
|
@@ -173,7 +178,6 @@ var Menu = require('./components/Menu/Menu.js');
|
|
|
173
178
|
var MenuItem = require('./components/Menu/MenuItem.js');
|
|
174
179
|
var Modal = require('./components/Modal/Modal.js');
|
|
175
180
|
var MultiSelect = require('./components/MultiSelect/MultiSelect.js');
|
|
176
|
-
var Notification = require('./components/Notification/Notification.js');
|
|
177
181
|
var NumberInput = require('./components/NumberInput/NumberInput.js');
|
|
178
182
|
var OverflowMenuItem = require('./components/OverflowMenuItem/OverflowMenuItem.js');
|
|
179
183
|
var Pagination$1 = require('./components/Pagination/Pagination.js');
|
|
@@ -192,16 +196,12 @@ var SelectItem = require('./components/SelectItem/SelectItem.js');
|
|
|
192
196
|
var SelectItemGroup = require('./components/SelectItemGroup/SelectItemGroup.js');
|
|
193
197
|
var SkeletonIcon = require('./components/SkeletonIcon/SkeletonIcon.js');
|
|
194
198
|
var SkeletonPlaceholder = require('./components/SkeletonPlaceholder/SkeletonPlaceholder.js');
|
|
195
|
-
var SkeletonText = require('./components/SkeletonText/SkeletonText.js');
|
|
196
199
|
var Slider_Skeleton = require('./components/Slider/Slider.Skeleton.js');
|
|
197
200
|
var StructuredList_Skeleton = require('./components/StructuredList/StructuredList.Skeleton.js');
|
|
198
201
|
var StructuredList = require('./components/StructuredList/StructuredList.js');
|
|
199
202
|
var Switch = require('./components/Switch/Switch.js');
|
|
200
203
|
var IconSwitch = require('./components/Switch/IconSwitch.js');
|
|
201
|
-
var Tabs = require('./components/Tabs/Tabs.js');
|
|
202
|
-
var TabContent = require('./components/TabContent/TabContent.js');
|
|
203
204
|
var Tag = require('./components/Tag/Tag.js');
|
|
204
|
-
var Tile = require('./components/Tile/Tile.js');
|
|
205
205
|
var TimePicker = require('./components/TimePicker/TimePicker.js');
|
|
206
206
|
var TimePickerSelect = require('./components/TimePickerSelect/TimePickerSelect.js');
|
|
207
207
|
var Content = require('./components/UIShell/Content.js');
|
|
@@ -226,12 +226,27 @@ var Stack = require('./components/Stack/Stack.js');
|
|
|
226
226
|
|
|
227
227
|
|
|
228
228
|
|
|
229
|
+
exports.Accordion = Accordion["default"];
|
|
230
|
+
exports.AccordionItem = AccordionItem["default"];
|
|
231
|
+
exports.AccordionSkeleton = Accordion_Skeleton["default"];
|
|
229
232
|
exports.AspectRatio = AspectRatio["default"];
|
|
233
|
+
exports.Button = Button["default"];
|
|
234
|
+
exports.ButtonKinds = Button.ButtonKinds;
|
|
235
|
+
exports.ButtonSizes = Button.ButtonSizes;
|
|
236
|
+
exports.ButtonTooltipAlignments = Button.ButtonTooltipAlignments;
|
|
237
|
+
exports.ButtonTooltipPositions = Button.ButtonTooltipPositions;
|
|
238
|
+
exports.ButtonSkeleton = Button_Skeleton["default"];
|
|
239
|
+
exports.ButtonSet = ButtonSet["default"];
|
|
230
240
|
exports.Checkbox = Checkbox["default"];
|
|
231
241
|
exports.CheckboxSkeleton = Checkbox_Skeleton["default"];
|
|
232
242
|
exports.ClassPrefix = index$3.ClassPrefix;
|
|
233
243
|
exports.ComboButton = index$4.ComboButton;
|
|
244
|
+
exports.ComposedModal = ComposedModal["default"];
|
|
245
|
+
exports.ModalBody = ComposedModal.ModalBody;
|
|
246
|
+
exports.ModalHeader = ModalHeader.ModalHeader;
|
|
247
|
+
exports.ModalFooter = ModalFooter.ModalFooter;
|
|
234
248
|
exports.ContentSwitcher = index$5["default"];
|
|
249
|
+
exports.DangerButton = DangerButton["default"];
|
|
235
250
|
exports.DataTableSkeleton = DataTableSkeleton["default"];
|
|
236
251
|
exports.DatePicker = DatePicker["default"];
|
|
237
252
|
exports.DatePickerSkeleton = DatePicker_Skeleton["default"];
|
|
@@ -250,16 +265,36 @@ exports.IdPrefix = index$6.IdPrefix;
|
|
|
250
265
|
exports.Link = Link["default"];
|
|
251
266
|
exports.ListItem = ListItem["default"];
|
|
252
267
|
exports.MenuButton = index$7.MenuButton;
|
|
268
|
+
exports.ActionableNotification = Notification.ActionableNotification;
|
|
269
|
+
exports.InlineNotification = Notification.InlineNotification;
|
|
270
|
+
exports.NotificationActionButton = Notification.NotificationActionButton;
|
|
271
|
+
exports.NotificationButton = Notification.NotificationButton;
|
|
272
|
+
exports.ToastNotification = Notification.ToastNotification;
|
|
253
273
|
exports.OrderedList = OrderedList["default"];
|
|
254
274
|
exports.OverflowMenu = index$8["default"];
|
|
255
275
|
exports.PaginationSkeleton = Pagination_Skeleton["default"];
|
|
256
276
|
exports.RadioButtonSkeleton = RadioButton_Skeleton["default"];
|
|
257
277
|
exports.Search = Search["default"];
|
|
258
278
|
exports.SearchSkeleton = Search_Skeleton["default"];
|
|
279
|
+
exports.SkeletonText = SkeletonText["default"];
|
|
259
280
|
exports.Slider = index$9["default"];
|
|
281
|
+
exports.IconTab = Tabs.IconTab;
|
|
282
|
+
exports.Tab = Tabs.Tab;
|
|
283
|
+
exports.TabList = Tabs.TabList;
|
|
284
|
+
exports.TabPanel = Tabs.TabPanel;
|
|
285
|
+
exports.TabPanels = Tabs.TabPanels;
|
|
286
|
+
exports.Tabs = Tabs.Tabs;
|
|
287
|
+
exports.TabContent = TabContent["default"];
|
|
288
|
+
exports.TabsSkeleton = Tabs_Skeleton["default"];
|
|
260
289
|
exports.TagSkeleton = Tag_Skeleton["default"];
|
|
261
290
|
exports.TextArea = TextArea["default"];
|
|
262
291
|
exports.TextAreaSkeleton = TextArea_Skeleton["default"];
|
|
292
|
+
exports.ClickableTile = Tile.ClickableTile;
|
|
293
|
+
exports.ExpandableTile = Tile.ExpandableTile;
|
|
294
|
+
exports.SelectableTile = Tile.SelectableTile;
|
|
295
|
+
exports.Tile = Tile.Tile;
|
|
296
|
+
exports.TileAboveTheFoldContent = Tile.TileAboveTheFoldContent;
|
|
297
|
+
exports.TileBelowTheFoldContent = Tile.TileBelowTheFoldContent;
|
|
263
298
|
exports.TileGroup = index$a["default"];
|
|
264
299
|
exports.ToggleSkeleton = Toggle_Skeleton["default"];
|
|
265
300
|
exports.ToggleSmallSkeleton = ToggleSmall_Skeleton["default"];
|
|
@@ -299,9 +334,6 @@ exports.unstable__FluidTextInput = FluidTextInput["default"];
|
|
|
299
334
|
exports.unstable__FluidTextInputSkeleton = FluidTextInput_Skeleton["default"];
|
|
300
335
|
exports.unstable_PageSelector = PageSelector["default"];
|
|
301
336
|
exports.unstable_Pagination = Pagination["default"];
|
|
302
|
-
exports.AccordionItem = AccordionItem["default"];
|
|
303
|
-
exports.AccordionSkeleton = Accordion_Skeleton["default"];
|
|
304
|
-
exports.Accordion = Accordion["default"];
|
|
305
337
|
exports.BreadcrumbSkeleton = Breadcrumb_Skeleton["default"];
|
|
306
338
|
exports.CheckboxGroup = CheckboxGroup["default"];
|
|
307
339
|
exports.CodeSnippetSkeleton = CodeSnippet_Skeleton["default"];
|
|
@@ -326,7 +358,6 @@ exports.Loading = Loading["default"];
|
|
|
326
358
|
exports.ModalWrapper = ModalWrapper["default"];
|
|
327
359
|
exports.NumberInputSkeleton = NumberInput_Skeleton["default"];
|
|
328
360
|
exports.ProgressIndicatorSkeleton = ProgressIndicator_Skeleton["default"];
|
|
329
|
-
exports.TabsSkeleton = Tabs_Skeleton["default"];
|
|
330
361
|
exports.TextInputSkeleton = TextInput_Skeleton["default"];
|
|
331
362
|
exports.TextInput = TextInput["default"];
|
|
332
363
|
exports.Toggle = Toggle.Toggle;
|
|
@@ -363,15 +394,7 @@ exports.unstable_Text = Text.Text;
|
|
|
363
394
|
exports.unstable_TextDirection = TextDirection.TextDirection;
|
|
364
395
|
exports.Breadcrumb = Breadcrumb["default"];
|
|
365
396
|
exports.BreadcrumbItem = BreadcrumbItem["default"];
|
|
366
|
-
exports.ButtonSkeleton = Button_Skeleton["default"];
|
|
367
|
-
exports.Button = Button["default"];
|
|
368
|
-
exports.ButtonSet = ButtonSet["default"];
|
|
369
397
|
exports.ComboBox = ComboBox["default"];
|
|
370
|
-
exports.ComposedModal = ComposedModal["default"];
|
|
371
|
-
exports.ModalBody = ComposedModal.ModalBody;
|
|
372
|
-
exports.ModalFooter = ModalFooter.ModalFooter;
|
|
373
|
-
exports.ModalHeader = ModalHeader.ModalHeader;
|
|
374
|
-
exports.DangerButton = DangerButton["default"];
|
|
375
398
|
exports.DataTable = DataTable["default"];
|
|
376
399
|
exports.Table = Table.Table;
|
|
377
400
|
exports.TableActionList = TableActionList["default"];
|
|
@@ -405,11 +428,6 @@ exports.MenuItemRadioGroup = MenuItem.MenuItemRadioGroup;
|
|
|
405
428
|
exports.MenuItemSelectable = MenuItem.MenuItemSelectable;
|
|
406
429
|
exports.Modal = Modal["default"];
|
|
407
430
|
exports.MultiSelect = MultiSelect["default"];
|
|
408
|
-
exports.ActionableNotification = Notification.ActionableNotification;
|
|
409
|
-
exports.InlineNotification = Notification.InlineNotification;
|
|
410
|
-
exports.NotificationActionButton = Notification.NotificationActionButton;
|
|
411
|
-
exports.NotificationButton = Notification.NotificationButton;
|
|
412
|
-
exports.ToastNotification = Notification.ToastNotification;
|
|
413
431
|
exports.NumberInput = NumberInput.NumberInput;
|
|
414
432
|
exports.OverflowMenuItem = OverflowMenuItem["default"];
|
|
415
433
|
exports.Pagination = Pagination$1["default"];
|
|
@@ -429,7 +447,6 @@ exports.SelectItem = SelectItem["default"];
|
|
|
429
447
|
exports.SelectItemGroup = SelectItemGroup["default"];
|
|
430
448
|
exports.SkeletonIcon = SkeletonIcon["default"];
|
|
431
449
|
exports.SkeletonPlaceholder = SkeletonPlaceholder["default"];
|
|
432
|
-
exports.SkeletonText = SkeletonText["default"];
|
|
433
450
|
exports.SliderSkeleton = Slider_Skeleton["default"];
|
|
434
451
|
exports.StructuredListSkeleton = StructuredList_Skeleton["default"];
|
|
435
452
|
exports.StructuredListBody = StructuredList.StructuredListBody;
|
|
@@ -440,21 +457,8 @@ exports.StructuredListRow = StructuredList.StructuredListRow;
|
|
|
440
457
|
exports.StructuredListWrapper = StructuredList.StructuredListWrapper;
|
|
441
458
|
exports.Switch = Switch["default"];
|
|
442
459
|
exports.IconSwitch = IconSwitch["default"];
|
|
443
|
-
exports.IconTab = Tabs.IconTab;
|
|
444
|
-
exports.Tab = Tabs.Tab;
|
|
445
|
-
exports.TabList = Tabs.TabList;
|
|
446
|
-
exports.TabPanel = Tabs.TabPanel;
|
|
447
|
-
exports.TabPanels = Tabs.TabPanels;
|
|
448
|
-
exports.Tabs = Tabs.Tabs;
|
|
449
|
-
exports.TabContent = TabContent["default"];
|
|
450
460
|
exports.Tag = Tag["default"];
|
|
451
461
|
exports.types = Tag.types;
|
|
452
|
-
exports.ClickableTile = Tile.ClickableTile;
|
|
453
|
-
exports.ExpandableTile = Tile.ExpandableTile;
|
|
454
|
-
exports.SelectableTile = Tile.SelectableTile;
|
|
455
|
-
exports.Tile = Tile.Tile;
|
|
456
|
-
exports.TileAboveTheFoldContent = Tile.TileAboveTheFoldContent;
|
|
457
|
-
exports.TileBelowTheFoldContent = Tile.TileBelowTheFoldContent;
|
|
458
462
|
exports.TimePicker = TimePicker["default"];
|
|
459
463
|
exports.TimePickerSelect = TimePickerSelect["default"];
|
|
460
464
|
exports.Content = Content["default"];
|
|
@@ -30,7 +30,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
30
30
|
* }
|
|
31
31
|
* }
|
|
32
32
|
*
|
|
33
|
-
* @param {Event} event
|
|
33
|
+
* @param {Event|React.SyntheticEvent} event
|
|
34
34
|
* @param {Array<Key>} keysToMatch
|
|
35
35
|
* @returns {boolean}
|
|
36
36
|
*/
|
|
@@ -57,7 +57,7 @@ function matches(event, keysToMatch) {
|
|
|
57
57
|
* }
|
|
58
58
|
* }
|
|
59
59
|
*
|
|
60
|
-
* @param {React.
|
|
60
|
+
* @param {React.SyntheticEvent|Event|number|string} eventOrCode
|
|
61
61
|
* @param {Key} key
|
|
62
62
|
* @returns {boolean}
|
|
63
63
|
*/
|
|
@@ -23,7 +23,7 @@ var warning = require('./warning.js');
|
|
|
23
23
|
* uncontrolled, or vice-versa.
|
|
24
24
|
*
|
|
25
25
|
* @param {object} config
|
|
26
|
-
* @param {string} config.name - the name of the custom component
|
|
26
|
+
* @param {string} [config.name] - the name of the custom component
|
|
27
27
|
* @param {any} config.defaultValue - the default value used for the state. This will be
|
|
28
28
|
* the fallback value used if `value` is not defined.
|
|
29
29
|
* @param {Function} config.onChange - an optional function that is called when
|
|
@@ -31,7 +31,7 @@ var warning = require('./warning.js');
|
|
|
31
31
|
* controlled components that the value is requesting to be changed.
|
|
32
32
|
* @param {any} config.value - a controlled value. Omitting this means that the state is
|
|
33
33
|
* uncontrolled
|
|
34
|
-
* @returns {[any,
|
|
34
|
+
* @returns {[any, (v: any) => void]}
|
|
35
35
|
*/
|
|
36
36
|
function useControllableState(_ref) {
|
|
37
37
|
let {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var React = require('react');
|
|
13
|
+
var environment = require('./environment.js');
|
|
14
|
+
|
|
15
|
+
function useMatchMedia(mediaQueryString) {
|
|
16
|
+
const [matches, setMatches] = React.useState(() => {
|
|
17
|
+
if (environment.canUseDOM) {
|
|
18
|
+
const mediaQueryList = window.matchMedia(mediaQueryString);
|
|
19
|
+
return mediaQueryList.matches;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
});
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
function listener(event) {
|
|
25
|
+
setMatches(event.matches);
|
|
26
|
+
}
|
|
27
|
+
const mediaQueryList = window.matchMedia(mediaQueryString);
|
|
28
|
+
// Support fallback to `addListener` for broader browser support
|
|
29
|
+
if (mediaQueryList.addEventListener) {
|
|
30
|
+
mediaQueryList.addEventListener('change', listener);
|
|
31
|
+
} else {
|
|
32
|
+
mediaQueryList.addListener(listener);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Make sure the media query list is in sync with the matches state
|
|
36
|
+
setMatches(mediaQueryList.matches);
|
|
37
|
+
return () => {
|
|
38
|
+
if (mediaQueryList.addEventListener) {
|
|
39
|
+
mediaQueryList.removeEventListener('change', listener);
|
|
40
|
+
} else {
|
|
41
|
+
mediaQueryList.removeListener(listener);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}, [mediaQueryString]);
|
|
45
|
+
return matches;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.useMatchMedia = useMatchMedia;
|
|
@@ -32,12 +32,12 @@ function elementOrParentIsFloatingMenu(node) {
|
|
|
32
32
|
/**
|
|
33
33
|
* Ensures the focus is kept in the given `modalNode`, implementing "focus-wrap" behavior.
|
|
34
34
|
* @param {object} options The options.
|
|
35
|
-
* @param {
|
|
36
|
-
* @param {
|
|
37
|
-
* @param {
|
|
38
|
-
* @param {
|
|
39
|
-
* @param {
|
|
40
|
-
* @param {
|
|
35
|
+
* @param {HTMLElement|null} options.bodyNode
|
|
36
|
+
* @param {HTMLElement|null} options.startTrapNode The DOM node of the focus sentinel the is placed earlier next to `modalNode`.
|
|
37
|
+
* @param {HTMLElement|null} options.endTrapNode The DOM node of the focus sentinel the is placed next to `modalNode`.
|
|
38
|
+
* @param {HTMLElement} options.currentActiveNode The DOM node that has focus.
|
|
39
|
+
* @param {HTMLElement} options.oldActiveNode The DOM node that previously had focus.
|
|
40
|
+
* @param {string[]} [options.selectorsFloatingMenus] The CSS selectors that matches floating menus.
|
|
41
41
|
*/
|
|
42
42
|
function wrapFocus(_ref) {
|
|
43
43
|
let {
|