reshaped 3.3.9 → 3.3.11
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/CHANGELOG.md +3 -0
- package/dist/bundle.js +17 -16
- package/dist/components/Actionable/Actionable.types.d.ts +3 -3
- package/dist/components/Card/Card.d.ts +3 -3
- package/dist/components/Card/Card.types.d.ts +1 -1
- package/dist/components/Card/tests/Card.stories.d.ts +3 -3
- package/dist/components/Carousel/Carousel.types.d.ts +1 -1
- package/dist/components/Carousel/tests/Carousel.stories.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +1 -1
- package/dist/components/FormControl/FormControl.context.d.ts +12 -0
- package/dist/components/Grid/Grid.d.ts +2 -2
- package/dist/components/Grid/Grid.types.d.ts +3 -2
- package/dist/components/Grid/tests/Grid.stories.d.ts +2 -2
- package/dist/components/Hidden/Hidden.types.d.ts +1 -1
- package/dist/components/Modal/Modal.types.d.ts +1 -1
- package/dist/components/Overlay/Overlay.js +1 -1
- package/dist/components/Overlay/Overlay.types.d.ts +1 -1
- package/dist/components/Resizable/Resizable.js +3 -1
- package/dist/components/Resizable/Resizable.types.d.ts +2 -2
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +1 -1
- package/dist/components/Slider/Slider.types.d.ts +1 -1
- package/dist/components/Tabs/Tabs.types.d.ts +3 -3
- package/dist/components/Tabs/TabsContext.d.ts +3 -3
- package/dist/components/Tabs/TabsItem.js +1 -1
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/Text/Text.types.d.ts +1 -1
- package/dist/components/Text/tests/Text.stories.d.ts +1 -1
- package/dist/components/TextField/TextField.js +3 -1
- package/dist/components/Theme/Theme.types.d.ts +2 -2
- package/dist/components/Toast/ToastContainer.js +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +1 -1
- package/dist/components/View/View.d.ts +2 -2
- package/dist/components/View/View.js +4 -3
- package/dist/components/View/View.types.d.ts +2 -2
- package/dist/components/View/tests/View.stories.d.ts +2 -2
- package/dist/components/_private/Flyout/Flyout.types.d.ts +6 -6
- package/dist/components/_private/Flyout/FlyoutControlled.js +10 -4
- package/dist/components/_private/Flyout/tests/Flyout.stories.js +1 -1
- package/dist/components/_private/Flyout/useFlyout.d.ts +3 -3
- package/dist/components/_private/Portal/Portal.types.d.ts +3 -3
- package/dist/hooks/_private/useIsDismissible.d.ts +7 -2
- package/dist/hooks/_private/useIsDismissible.js +5 -2
- package/dist/hooks/_private/useOnClickOutside.d.ts +1 -1
- package/dist/hooks/useDrag.d.ts +3 -3
- package/dist/hooks/useHotkeys.d.ts +2 -2
- package/dist/hooks/useHotkeys.js +5 -1
- package/dist/hooks/useScrollLock.d.ts +1 -1
- package/dist/types/global.d.ts +1 -1
- package/package.json +3 -3
@@ -11,10 +11,10 @@ export type Props = {
|
|
11
11
|
disableFocusRing?: boolean;
|
12
12
|
borderRadius?: "inherit";
|
13
13
|
stopPropagation?: boolean;
|
14
|
-
as?: keyof JSX.IntrinsicElements;
|
14
|
+
as?: keyof React.JSX.IntrinsicElements;
|
15
15
|
className?: G.ClassName;
|
16
|
-
attributes?: G.Attributes<"button"> & Omit<JSX.IntrinsicElements["a"], keyof G.Attributes<"button">> & {
|
17
|
-
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>;
|
16
|
+
attributes?: G.Attributes<"button"> & Omit<React.JSX.IntrinsicElements["a"], keyof G.Attributes<"button">> & {
|
17
|
+
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement | null>;
|
18
18
|
};
|
19
19
|
};
|
20
20
|
export type Ref = React.Ref<HTMLButtonElement | HTMLAnchorElement>;
|
@@ -7,10 +7,10 @@ declare const Card: React.ForwardRefExoticComponent<{
|
|
7
7
|
children?: React.ReactNode;
|
8
8
|
onClick?: import("../Actionable").ActionableProps["onClick"];
|
9
9
|
href?: string;
|
10
|
-
as?: keyof JSX.IntrinsicElements | undefined;
|
10
|
+
as?: keyof React.JSX.IntrinsicElements | undefined;
|
11
11
|
className?: import("../../types/global").ClassName;
|
12
|
-
attributes?: (import("../../types/global").Attributes<keyof JSX.IntrinsicElements> & ((import("../../types/global").Attributes<"button"> & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "form" | "slot" | "style" | "title" | "disabled" | "className" | "color" | "hidden" | "content" | "ref" | "children" | "
|
13
|
-
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>;
|
12
|
+
attributes?: (import("../../types/global").Attributes<keyof React.JSX.IntrinsicElements> & ((import("../../types/global").Attributes<"button"> & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "form" | "slot" | "style" | "title" | "disabled" | "className" | "color" | "hidden" | "content" | "ref" | "children" | "onToggle" | "value" | "type" | "key" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "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-rowindextext" | "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" | "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" | "onResize" | "onResizeCapture" | "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" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture"> & {
|
13
|
+
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement | null>;
|
14
14
|
}) | undefined)) | undefined;
|
15
15
|
} & Pick<import("../View").ViewProps, "height"> & React.RefAttributes<HTMLElement>>;
|
16
16
|
export default Card;
|
@@ -2,7 +2,7 @@ import type React from "react";
|
|
2
2
|
import type { ActionableProps } from "../Actionable";
|
3
3
|
import type { ViewProps } from "../View";
|
4
4
|
import type * as G from "../../types/global";
|
5
|
-
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
5
|
+
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
6
6
|
padding?: G.Responsive<number>;
|
7
7
|
bleed?: G.Responsive<number>;
|
8
8
|
selected?: boolean;
|
@@ -9,10 +9,10 @@ declare const _default: {
|
|
9
9
|
children?: React.ReactNode;
|
10
10
|
onClick?: import("../../Actionable").ActionableProps["onClick"];
|
11
11
|
href?: string;
|
12
|
-
as?: keyof JSX.IntrinsicElements | undefined;
|
12
|
+
as?: keyof React.JSX.IntrinsicElements | undefined;
|
13
13
|
className?: import("../../../types/global").ClassName;
|
14
|
-
attributes?: (import("../../../types/global").Attributes<keyof JSX.IntrinsicElements> & ((import("../../../types/global").Attributes<"button"> & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "children" | "ref" | "style" | "form" | "slot" | "title" | "disabled" | "color" | "className" | "hidden" | "content" | "aria-orientation" | "role" | "suppressHydrationWarning" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "dir" | "name" | "key" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "nonce" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "type" | "id" | "lang" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "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-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "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" | "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" | "onResize" | "onResizeCapture" | "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" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & {
|
15
|
-
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>;
|
14
|
+
attributes?: (import("../../../types/global").Attributes<keyof React.JSX.IntrinsicElements> & ((import("../../../types/global").Attributes<"button"> & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "children" | "ref" | "style" | "form" | "slot" | "title" | "disabled" | "color" | "className" | "hidden" | "content" | "aria-orientation" | "role" | "suppressHydrationWarning" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "dir" | "name" | "key" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "draggable" | "enterKeyHint" | "nonce" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "onToggle" | "type" | "id" | "lang" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "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-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "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" | "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" | "onResize" | "onResizeCapture" | "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" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture"> & {
|
15
|
+
ref?: React.RefObject<HTMLButtonElement | HTMLAnchorElement | null>;
|
16
16
|
}) | undefined)) | undefined;
|
17
17
|
} & Pick<import("../../View").ViewProps, "height"> & React.RefAttributes<HTMLElement>>;
|
18
18
|
parameters: {
|
@@ -10,7 +10,7 @@ export declare enum ControlType {
|
|
10
10
|
}
|
11
11
|
export type ControlProps = {
|
12
12
|
type: ControlType;
|
13
|
-
scrollElRef: React.RefObject<HTMLElement>;
|
13
|
+
scrollElRef: React.RefObject<HTMLElement | null>;
|
14
14
|
scrollPosition: number;
|
15
15
|
onClick: () => void;
|
16
16
|
isRTL: boolean;
|
@@ -93,7 +93,7 @@ export const bleed = () => (<Example>
|
|
93
93
|
</Example.Item>
|
94
94
|
</Example>);
|
95
95
|
const RefDemo = () => {
|
96
|
-
const carouselRef = React.useRef();
|
96
|
+
const carouselRef = React.useRef(null);
|
97
97
|
return (<View gap={3}>
|
98
98
|
<View gap={3} direction="row">
|
99
99
|
<Button onClick={() => carouselRef.current?.navigateBack()}>Back</Button>
|
@@ -49,7 +49,7 @@ const DropdownMenuItem = (props) => {
|
|
49
49
|
};
|
50
50
|
const DropdownMenuSubMenu = (props) => {
|
51
51
|
const { children } = props;
|
52
|
-
const dropdownMenuRef = React.useRef();
|
52
|
+
const dropdownMenuRef = React.useRef(null);
|
53
53
|
return (_jsx(DropdownMenuSubContext.Provider, { value: dropdownMenuRef, children: _jsx(DropdownMenu, { triggerType: "hover", position: "end-top", contentGap: 0.5, instanceRef: dropdownMenuRef, children: children }) }));
|
54
54
|
};
|
55
55
|
const DropdownMenuSubTriggerItem = (props) => {
|
@@ -51,6 +51,10 @@ export declare const useFormControl: () => {
|
|
51
51
|
results?: number | undefined | undefined;
|
52
52
|
security?: string | undefined | undefined;
|
53
53
|
unselectable?: "on" | "off" | undefined | undefined;
|
54
|
+
popover?: "" | "auto" | "manual" | undefined | undefined;
|
55
|
+
popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
|
56
|
+
popoverTarget?: string | undefined | undefined;
|
57
|
+
inert?: boolean | undefined | undefined;
|
54
58
|
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
55
59
|
is?: string | undefined | undefined;
|
56
60
|
"aria-activedescendant"?: string | undefined | undefined;
|
@@ -268,8 +272,16 @@ export declare const useFormControl: () => {
|
|
268
272
|
onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
|
269
273
|
onAnimationIteration?: React.AnimationEventHandler<HTMLElement> | undefined;
|
270
274
|
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
|
275
|
+
onToggle?: React.ToggleEventHandler<HTMLElement> | undefined;
|
276
|
+
onBeforeToggle?: React.ToggleEventHandler<HTMLElement> | undefined;
|
277
|
+
onTransitionCancel?: React.TransitionEventHandler<HTMLElement> | undefined;
|
278
|
+
onTransitionCancelCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
271
279
|
onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
|
272
280
|
onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
281
|
+
onTransitionRun?: React.TransitionEventHandler<HTMLElement> | undefined;
|
282
|
+
onTransitionRunCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
283
|
+
onTransitionStart?: React.TransitionEventHandler<HTMLElement> | undefined;
|
284
|
+
onTransitionStartCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
273
285
|
} & {
|
274
286
|
id: string;
|
275
287
|
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type * as T from "./Grid.types";
|
2
2
|
declare const Grid: {
|
3
|
-
<As extends keyof JSX.IntrinsicElements = "div">(props: T.Props<As>): import("react/jsx-runtime").JSX.Element;
|
4
|
-
Item: <As extends keyof JSX.IntrinsicElements = "div">(props: T.ItemProps<As>) => import("react/jsx-runtime").JSX.Element;
|
3
|
+
<As extends keyof React.JSX.IntrinsicElements = "div">(props: T.Props<As>): import("react/jsx-runtime").JSX.Element;
|
4
|
+
Item: <As extends keyof React.JSX.IntrinsicElements = "div">(props: T.ItemProps<As>) => import("react/jsx-runtime").JSX.Element;
|
5
5
|
};
|
6
6
|
export default Grid;
|
@@ -1,7 +1,8 @@
|
|
1
|
+
import type React from "react";
|
1
2
|
import type { Property } from "csstype";
|
2
3
|
import type * as G from "../../types/global";
|
3
4
|
import type * as TStyles from "../../styles/types";
|
4
|
-
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
5
|
+
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
5
6
|
gap?: G.Responsive<number>;
|
6
7
|
align?: G.Responsive<TStyles.Align>;
|
7
8
|
justify?: G.Responsive<TStyles.Justify>;
|
@@ -16,7 +17,7 @@ export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
|
16
17
|
className?: G.ClassName;
|
17
18
|
attributes?: G.Attributes<TagName>;
|
18
19
|
};
|
19
|
-
export type ItemProps<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
20
|
+
export type ItemProps<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
20
21
|
area?: string;
|
21
22
|
colStart?: G.Responsive<number>;
|
22
23
|
colEnd?: G.Responsive<number>;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
declare const _default: {
|
2
2
|
title: string;
|
3
3
|
component: {
|
4
|
-
<As extends keyof JSX.IntrinsicElements = "div">(props: import("./..").GridProps<As>): import("react").JSX.Element;
|
5
|
-
Item: <As extends keyof JSX.IntrinsicElements = "div">(props: import("./..").GridItemProps<As>) => import("react").JSX.Element;
|
4
|
+
<As extends keyof React.JSX.IntrinsicElements = "div">(props: import("./..").GridProps<As>): import("react").JSX.Element;
|
5
|
+
Item: <As extends keyof React.JSX.IntrinsicElements = "div">(props: import("./..").GridItemProps<As>) => import("react").JSX.Element;
|
6
6
|
};
|
7
7
|
parameters: {
|
8
8
|
iframe: {
|
@@ -32,6 +32,6 @@ export type Props = {
|
|
32
32
|
className?: G.ClassName;
|
33
33
|
overlayClassName?: G.ClassName;
|
34
34
|
attributes?: G.Attributes<"div"> & {
|
35
|
-
ref?: React.RefObject<HTMLDivElement>;
|
35
|
+
ref?: React.RefObject<HTMLDivElement | null>;
|
36
36
|
};
|
37
37
|
} & Pick<OverlayProps, "onOpen" | "onAfterOpen" | "onAfterClose" | "active" | "containerRef">;
|
@@ -32,7 +32,7 @@ const Overlay = (props) => {
|
|
32
32
|
const { active: rendered, activate: render, deactivate: remove } = useToggle(active || false);
|
33
33
|
const { active: visible, activate: show, deactivate: hide } = useToggle(active || false);
|
34
34
|
// Check that when close was triggered there were no other overlays / flyouts rendered above it
|
35
|
-
const isDismissible = useIsDismissible(active, contentRef);
|
35
|
+
const isDismissible = useIsDismissible({ active, contentRef, blocking: true });
|
36
36
|
const rootClassNames = classNames(s.root, visible && s["--visible"], isTransparent && s["--click-through"], blurred && s["--blurred"], animated && s["--animated"], containerRef && s["--contained"], className);
|
37
37
|
const isInsideContent = (el) => {
|
38
38
|
if (!contentRef.current)
|
@@ -15,7 +15,7 @@ export type Props = {
|
|
15
15
|
onOpen?: () => void;
|
16
16
|
onAfterOpen?: () => void;
|
17
17
|
disableCloseOnClick?: boolean;
|
18
|
-
containerRef?: React.RefObject<HTMLElement>;
|
18
|
+
containerRef?: React.RefObject<HTMLElement | null>;
|
19
19
|
className?: G.ClassName;
|
20
20
|
attributes?: G.Attributes<"div">;
|
21
21
|
};
|
@@ -138,7 +138,9 @@ const Resizable = (props) => {
|
|
138
138
|
}
|
139
139
|
if (isComponent && child.type === Resizable.Item && child.props) {
|
140
140
|
const index = currentHandleIndex;
|
141
|
-
return (_jsx(PrivateResizableItem, { ...child.props, index: currentItemIndex++, ref: (el) =>
|
141
|
+
return (_jsx(PrivateResizableItem, { ...child.props, index: currentItemIndex++, ref: (el) => {
|
142
|
+
itemsRef.current[index] = { el, props: child.props };
|
143
|
+
} }));
|
142
144
|
}
|
143
145
|
return null;
|
144
146
|
});
|
@@ -15,11 +15,11 @@ export type PrivateItemProps = ItemProps & {
|
|
15
15
|
};
|
16
16
|
export type HandleProps = {
|
17
17
|
children?: (attributes: {
|
18
|
-
ref: React.RefObject<HTMLButtonElement>;
|
18
|
+
ref: React.RefObject<HTMLButtonElement | null>;
|
19
19
|
}) => React.ReactNode;
|
20
20
|
};
|
21
21
|
export type PrivateHandleProps = HandleProps & {
|
22
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
22
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
23
23
|
index: number;
|
24
24
|
onDrag: (args: UseDragCallbackArgs & {
|
25
25
|
index: number;
|
@@ -122,7 +122,7 @@ export const edgeCases = () => {
|
|
122
122
|
<Example.Item title="dynamic content update">
|
123
123
|
<View gap={4}>
|
124
124
|
<Button onClick={toggle.toggle}>Toggle</Button>
|
125
|
-
<ScrollArea height="100px" scrollbarDisplay="visible"
|
125
|
+
<ScrollArea height="100px" scrollbarDisplay="visible">
|
126
126
|
<View backgroundColor="neutral-faded" padding={4} width={toggle.active ? "120%" : "90%"}>
|
127
127
|
{toggle.active ? (<React.Fragment>
|
128
128
|
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem
|
@@ -77,6 +77,6 @@ export type ThumbProps = {
|
|
77
77
|
step: NonNullable<BaseProps["step"]>;
|
78
78
|
orientation: NonNullable<BaseProps["orientation"]>;
|
79
79
|
renderValue?: BaseProps["renderValue"];
|
80
|
-
tooltipRef: React.RefObject<HTMLDivElement>;
|
80
|
+
tooltipRef: React.RefObject<HTMLDivElement | null>;
|
81
81
|
};
|
82
82
|
export {};
|
@@ -55,9 +55,9 @@ export type Context = Pick<BaseProps, "itemWidth" | "onChange" | "variant" | "na
|
|
55
55
|
value?: string;
|
56
56
|
setDefaultValue: (value: string) => void;
|
57
57
|
id: string;
|
58
|
-
elActiveRef: React.
|
59
|
-
elPrevActiveRef: React.
|
60
|
-
elScrollableRef: React.
|
58
|
+
elActiveRef: React.RefObject<HTMLDivElement | null>;
|
59
|
+
elPrevActiveRef: React.RefObject<HTMLDivElement | null>;
|
60
|
+
elScrollableRef: React.RefObject<HTMLDivElement | null>;
|
61
61
|
selection: SelectionState;
|
62
62
|
setSelection: React.Dispatch<React.SetStateAction<SelectionState>>;
|
63
63
|
};
|
@@ -15,9 +15,9 @@ export declare const useTabs: (value?: string) => {
|
|
15
15
|
size: NonNullable<T.BaseProps["size"]>;
|
16
16
|
value?: string;
|
17
17
|
setDefaultValue: (value: string) => void;
|
18
|
-
elActiveRef: React.
|
19
|
-
elPrevActiveRef: React.
|
20
|
-
elScrollableRef: React.
|
18
|
+
elActiveRef: React.RefObject<HTMLDivElement | null>;
|
19
|
+
elPrevActiveRef: React.RefObject<HTMLDivElement | null>;
|
20
|
+
elScrollableRef: React.RefObject<HTMLDivElement | null>;
|
21
21
|
selection: T.SelectionState;
|
22
22
|
setSelection: React.Dispatch<React.SetStateAction<T.SelectionState>>;
|
23
23
|
};
|
@@ -42,7 +42,7 @@ const TabsItem = (props, ref) => {
|
|
42
42
|
return;
|
43
43
|
// Big enough value to show there are more items and not overlap arrow controls
|
44
44
|
const visibilityThreshold = 48;
|
45
|
-
const elItem = findParent(itemRef.current, (el) => el.hasAttribute("data-rs-tabs-item"));
|
45
|
+
const elItem = itemRef.current && findParent(itemRef.current, (el) => el.hasAttribute("data-rs-tabs-item"));
|
46
46
|
if (!elItem)
|
47
47
|
return;
|
48
48
|
const elScrollable = elScrollableRef.current;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import type * as T from "./Text.types";
|
2
|
-
declare const Text: <As extends keyof JSX.IntrinsicElements>(props: T.Props<As>) => import("react/jsx-runtime").JSX.Element;
|
2
|
+
declare const Text: <As extends keyof React.JSX.IntrinsicElements>(props: T.Props<As>) => import("react/jsx-runtime").JSX.Element;
|
3
3
|
export default Text;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type React from "react";
|
2
2
|
import type * as G from "../../types/global";
|
3
3
|
export type Variant = "title-1" | "title-2" | "title-3" | "title-4" | "title-5" | "title-6" | "featured-1" | "featured-2" | "featured-3" | "body-1" | "body-2" | "body-3" | "caption-1" | "caption-2";
|
4
|
-
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
4
|
+
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
5
5
|
variant?: G.Responsive<Variant>;
|
6
6
|
weight?: G.Responsive<"regular" | "medium" | "bold">;
|
7
7
|
color?: "neutral" | "neutral-faded" | "critical" | "warning" | "positive" | "primary" | "disabled";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
declare const _default: {
|
2
2
|
title: string;
|
3
|
-
component: <As extends keyof JSX.IntrinsicElements>(props: import("./..").TextProps<As>) => import("react").JSX.Element;
|
3
|
+
component: <As extends keyof React.JSX.IntrinsicElements>(props: import("./..").TextProps<As>) => import("react").JSX.Element;
|
4
4
|
parameters: {
|
5
5
|
iframe: {
|
6
6
|
url: string;
|
@@ -12,7 +12,9 @@ const TextFieldSlot = (props) => {
|
|
12
12
|
if (!icon && !slot && !affix)
|
13
13
|
return null;
|
14
14
|
// In case fragment is used, map over its children instead
|
15
|
-
const renderedSlot = React.isValidElement(slot) && slot.type === React.Fragment
|
15
|
+
const renderedSlot = React.isValidElement(slot) && slot.type === React.Fragment
|
16
|
+
? slot.props.children
|
17
|
+
: slot;
|
16
18
|
const slotNode = slot &&
|
17
19
|
React.Children.map(renderedSlot, (child) => (_jsx("div", { className: classNames(s.slot, s[`slot--position-${position}`]), children: child }, "slot")));
|
18
20
|
const iconNode = icon && (_jsx("label", { className: s.icon, htmlFor: id, children: _jsx(Icon, { size: responsivePropDependency(size, (size) => {
|
@@ -22,10 +22,10 @@ export type Props = {
|
|
22
22
|
};
|
23
23
|
export type PrivateProps = Props & {
|
24
24
|
scoped?: boolean;
|
25
|
-
scopeRef?: React.RefObject<HTMLDivElement>;
|
25
|
+
scopeRef?: React.RefObject<HTMLDivElement | null>;
|
26
26
|
};
|
27
27
|
export type GlobalColorModeProps = {
|
28
28
|
defaultMode: ColorMode;
|
29
|
-
scopeRef?: React.RefObject<HTMLDivElement>;
|
29
|
+
scopeRef?: React.RefObject<HTMLDivElement | null>;
|
30
30
|
children?: React.ReactNode;
|
31
31
|
};
|
@@ -13,7 +13,7 @@ const ToastContainer = (props) => {
|
|
13
13
|
const { timeout = "short" } = toastProps;
|
14
14
|
const { show, hide, remove } = React.useContext(ToastContext);
|
15
15
|
const [toastHeight, setToastHeight] = React.useState();
|
16
|
-
const timeoutRef = React.useRef();
|
16
|
+
const timeoutRef = React.useRef(null);
|
17
17
|
const resizingRef = React.useRef(false);
|
18
18
|
const wrapperRef = React.useRef(null);
|
19
19
|
const visible = status === "entered";
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import type * as T from "./Tooltip.types";
|
2
|
-
declare const Tooltip: (props: T.Props) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | null | undefined;
|
2
|
+
declare const Tooltip: (props: T.Props) => string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null | undefined;
|
3
3
|
export default Tooltip;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
declare const _default: {
|
2
2
|
title: string;
|
3
|
-
component: (props: import("./..").TooltipProps) => string | number | boolean | Iterable<import("react").ReactNode> | import("react").JSX.Element | null | undefined;
|
3
|
+
component: (props: import("./..").TooltipProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
4
4
|
parameters: {
|
5
5
|
iframe: {
|
6
6
|
url: string;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import type * as T from "./View.types";
|
3
3
|
declare const View: {
|
4
|
-
<As extends keyof JSX.IntrinsicElements = "div">(props: T.Props<As>): React.ReactNode;
|
5
|
-
Item: <As extends keyof JSX.IntrinsicElements = "div">(props: T.ItemProps<As>) => React.ReactNode;
|
4
|
+
<As extends keyof React.JSX.IntrinsicElements = "div">(props: T.Props<As>): React.ReactNode;
|
5
|
+
Item: <As extends keyof React.JSX.IntrinsicElements = "div">(props: T.ItemProps<As>) => React.ReactNode;
|
6
6
|
};
|
7
7
|
export default View;
|
@@ -124,22 +124,23 @@ const View = (props) => {
|
|
124
124
|
const formattedChildren = React.Children.map(children, (child, index) => {
|
125
125
|
if (!child)
|
126
126
|
return null;
|
127
|
+
const usedIndex = renderedItemIndex;
|
127
128
|
renderedItemIndex += 1;
|
128
129
|
if (child.type === Hidden) {
|
129
130
|
const { children: hiddenChild, ...hiddenProps } = child.props;
|
130
131
|
const key = child.key || index;
|
131
|
-
return (_createElement(Hidden, { ...hiddenProps, key: key }, renderItem({ child: hiddenChild, index:
|
132
|
+
return (_createElement(Hidden, { ...hiddenProps, key: key }, renderItem({ child: hiddenChild, index: usedIndex })));
|
132
133
|
}
|
133
134
|
if (child.type === React.Fragment && React.Children.count(child.props.children) > 1) {
|
134
135
|
return child.props.children.map((child) => {
|
135
136
|
if (!child)
|
136
137
|
return null;
|
137
|
-
const index =
|
138
|
+
const index = usedIndex;
|
138
139
|
renderedItemIndex += 1;
|
139
140
|
return renderItem({ child, index });
|
140
141
|
});
|
141
142
|
}
|
142
|
-
return renderItem({ child, index:
|
143
|
+
return renderItem({ child, index: usedIndex });
|
143
144
|
});
|
144
145
|
// Classnames and attributes are written here so we can assign nowrap to the root element based on the children
|
145
146
|
const rootClassNames = classNames(s.root, className, radiusStyles?.classNames, bleedStyles?.classNames, widthStyles?.classNames, heightStyles?.classNames, maxWidthStyles?.classNames, maxHeightStyles?.classNames, minWidthStyles?.classNames, minHeightStyles?.classNames, borderStyles?.classNames, backgroundColor && s[`--bg-${backgroundColor}`], shadow && s[`--shadow-${shadow}`], overflow && s[`--overflow-${overflow}`], animated && s["--animated"], divided && s["--divided"], (padding !== undefined || paddingInline !== undefined || paddingBlock !== undefined) &&
|
@@ -3,7 +3,7 @@ import type * as G from "../../types/global";
|
|
3
3
|
import type * as TStyles from "../../styles/types";
|
4
4
|
type Columns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "auto";
|
5
5
|
export type Direction = "row" | "column" | "row-reverse" | "column-reverse";
|
6
|
-
export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
6
|
+
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
7
7
|
children?: React.ReactNode;
|
8
8
|
as?: TagName;
|
9
9
|
divided?: boolean;
|
@@ -44,7 +44,7 @@ export type Props<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
|
44
44
|
className?: G.ClassName;
|
45
45
|
attributes?: G.Attributes<TagName>;
|
46
46
|
} & Pick<ItemProps, "grow">;
|
47
|
-
export type ItemProps<TagName extends keyof JSX.IntrinsicElements = "div"> = {
|
47
|
+
export type ItemProps<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
48
48
|
order?: G.Responsive<number>;
|
49
49
|
columns?: G.Responsive<Columns>;
|
50
50
|
grow?: G.Responsive<boolean>;
|
@@ -3,8 +3,8 @@ import { type ViewProps } from "./..";
|
|
3
3
|
declare const _default: {
|
4
4
|
title: string;
|
5
5
|
component: {
|
6
|
-
<As extends keyof JSX.IntrinsicElements = "div">(props: ViewProps<As>): React.ReactNode;
|
7
|
-
Item: <As extends keyof JSX.IntrinsicElements = "div">(props: import("./..").ViewItemProps<As>) => React.ReactNode;
|
6
|
+
<As extends keyof React.JSX.IntrinsicElements = "div">(props: ViewProps<As>): React.ReactNode;
|
7
|
+
Item: <As extends keyof React.JSX.IntrinsicElements = "div">(props: import("./..").ViewItemProps<As>) => React.ReactNode;
|
8
8
|
};
|
9
9
|
parameters: {
|
10
10
|
iframe: {
|
@@ -44,7 +44,7 @@ export type Instance = {
|
|
44
44
|
open: () => void;
|
45
45
|
close: () => void;
|
46
46
|
updatePosition: () => void;
|
47
|
-
} |
|
47
|
+
} | null;
|
48
48
|
type WithUncontrolled = {
|
49
49
|
active?: never;
|
50
50
|
defaultActive?: boolean;
|
@@ -54,7 +54,7 @@ type WithControlled = {
|
|
54
54
|
defaultActive?: never;
|
55
55
|
};
|
56
56
|
export type TriggerAttributes = {
|
57
|
-
ref: React.RefObject<HTMLButtonElement>;
|
57
|
+
ref: React.RefObject<HTMLButtonElement | null>;
|
58
58
|
onBlur?: (e: React.FocusEvent) => void;
|
59
59
|
onFocus?: () => void;
|
60
60
|
onMouseDown?: () => void;
|
@@ -93,8 +93,8 @@ type BaseProps = {
|
|
93
93
|
contentClassName?: string;
|
94
94
|
contentAttributes?: G.Attributes<"div">;
|
95
95
|
instanceRef?: React.Ref<Instance>;
|
96
|
-
containerRef?: React.RefObject<HTMLElement>;
|
97
|
-
initialFocusRef?: React.RefObject<HTMLElement>;
|
96
|
+
containerRef?: React.RefObject<HTMLElement | null>;
|
97
|
+
initialFocusRef?: React.RefObject<HTMLElement | null>;
|
98
98
|
};
|
99
99
|
export type DefaultProps = Required<{
|
100
100
|
position: BaseProps["position"];
|
@@ -115,8 +115,8 @@ export type ContextProps = {
|
|
115
115
|
id: string;
|
116
116
|
flyout: UseFlyoutData;
|
117
117
|
width?: Width;
|
118
|
-
triggerElRef?: React.RefObject<HTMLButtonElement>;
|
119
|
-
flyoutElRef: React.RefObject<HTMLDivElement>;
|
118
|
+
triggerElRef?: React.RefObject<HTMLButtonElement | null>;
|
119
|
+
flyoutElRef: React.RefObject<HTMLDivElement | null>;
|
120
120
|
handleClose: (options?: {
|
121
121
|
closeParents?: boolean;
|
122
122
|
}) => void;
|
@@ -37,10 +37,10 @@ const FlyoutRoot = (props) => {
|
|
37
37
|
const isParentTriggerInsideFlyout = !!parentTriggerRef?.current && parentContentRef?.current?.contains(parentTriggerRef.current);
|
38
38
|
const tryParentTrigger = !parentContentRef || isParentTriggerInsideFlyout;
|
39
39
|
const triggerElRef = (tryParentTrigger && parentTriggerRef) || internalTriggerElRef;
|
40
|
-
const triggerBoundsRef = React.useRef();
|
40
|
+
const triggerBoundsRef = React.useRef(null);
|
41
41
|
const flyoutElRef = React.useRef(null);
|
42
42
|
const id = useElementId(passedId);
|
43
|
-
const timerRef = React.useRef();
|
43
|
+
const timerRef = React.useRef(null);
|
44
44
|
const trapFocusRef = React.useRef(null);
|
45
45
|
const lockedRef = React.useRef(false);
|
46
46
|
// Check if transition had enough time to start when opening a flyout
|
@@ -68,7 +68,11 @@ const FlyoutRoot = (props) => {
|
|
68
68
|
const { status, updatePosition, render, hide, remove, show } = flyout;
|
69
69
|
const isRendered = status !== "idle";
|
70
70
|
// Don't create dismissible queue for hover flyout because they close all together on mouseout
|
71
|
-
const isDismissible = useIsDismissible(
|
71
|
+
const isDismissible = useIsDismissible({
|
72
|
+
active: isRendered && triggerType !== "hover",
|
73
|
+
contentRef: flyoutElRef,
|
74
|
+
triggerRef: triggerElRef,
|
75
|
+
});
|
72
76
|
const clearTimer = React.useCallback(() => {
|
73
77
|
if (timerRef.current)
|
74
78
|
clearTimeout(timerRef.current);
|
@@ -150,6 +154,8 @@ const FlyoutRoot = (props) => {
|
|
150
154
|
}, [isRendered, handleOpen, handleClose]);
|
151
155
|
const handleTriggerMouseDown = React.useCallback(() => {
|
152
156
|
const rect = triggerElRef.current?.getBoundingClientRect();
|
157
|
+
if (!rect)
|
158
|
+
return;
|
153
159
|
triggerBoundsRef.current = rect;
|
154
160
|
}, [triggerElRef]);
|
155
161
|
const handleContentMouseDown = () => {
|
@@ -169,7 +175,7 @@ const FlyoutRoot = (props) => {
|
|
169
175
|
* After animation has started, we're sure about the correct bounds
|
170
176
|
* so drop the cache to make flyout work when trigger moves around
|
171
177
|
*/
|
172
|
-
triggerBoundsRef.current =
|
178
|
+
triggerBoundsRef.current = null;
|
173
179
|
}, [resolvedActive]);
|
174
180
|
const handleTransitionEnd = React.useCallback((e) => {
|
175
181
|
if (flyoutElRef.current !== e.currentTarget || e.propertyName !== "transform")
|
@@ -254,7 +254,7 @@ export const testDynamicBounds = () => {
|
|
254
254
|
const [left, setLeft] = React.useState(50);
|
255
255
|
const [top, setTop] = React.useState(50);
|
256
256
|
const [size, setSize] = React.useState("medium");
|
257
|
-
const flyoutRef = React.useRef();
|
257
|
+
const flyoutRef = React.useRef(null);
|
258
258
|
React.useEffect(() => {
|
259
259
|
flyoutRef.current?.updatePosition();
|
260
260
|
}, [left, top]);
|
@@ -9,9 +9,9 @@ type UseFlyout = (args: {
|
|
9
9
|
contentGap?: number;
|
10
10
|
contentShift?: number;
|
11
11
|
container?: HTMLElement | null;
|
12
|
-
triggerElRef: React.RefObject<HTMLElement>;
|
13
|
-
flyoutElRef: React.RefObject<HTMLElement>;
|
14
|
-
triggerBounds?: DOMRect | G.Coordinates;
|
12
|
+
triggerElRef: React.RefObject<HTMLElement | null>;
|
13
|
+
flyoutElRef: React.RefObject<HTMLElement | null>;
|
14
|
+
triggerBounds?: DOMRect | G.Coordinates | null;
|
15
15
|
}) => Pick<T.State, "styles" | "position" | "status"> & {
|
16
16
|
updatePosition: (options?: {
|
17
17
|
sync?: boolean;
|