fix(react-overlay): fix types for some of ref properties (#36188)

* fix(react-overlay): fix types for some of ref properties

- OverlayRenderProps.props.ref
- OverlayRenderProps.arrowProps.ref
- DropdownToggleRenderProps.props.ref

* Update DropdownToggle.d.ts

* Update Overlay.d.ts
This commit is contained in:
tomoya yokota
2019-06-19 03:18:07 +09:00
committed by Daniel Rosenwasser
parent 7012fe61b0
commit ebd664074e
4 changed files with 19 additions and 7 deletions

View File

@@ -10,7 +10,7 @@ declare namespace DropdownToggle {
show: boolean;
toggle(show: boolean): void;
props: {
ref?(element: HTMLElement): void;
ref: (popperNode: HTMLElement | null) => void;
'aria-haspopup': true;
'aria-expanded': boolean;
};

View File

@@ -18,12 +18,12 @@ declare namespace Overlay {
outOfBoundaries?: boolean;
scheduleUpdate(): void;
props: {
ref?(element: HTMLElement): void;
ref: (popperNode: HTMLElement | null) => void;
style: { [key: string]: string | number };
'aria-labelledby'?: string;
};
arrowProps: {
ref?(element: HTMLElement): void;
ref: (popperNode: HTMLElement | null) => void;
style: { [key: string]: string | number };
};
}

View File

@@ -22,8 +22,14 @@ interface OverlayTriggerProps extends Overlay.OverlayProps {
overlay: any;
}
function renderOverlayContent({ props }: Overlay.OverlayRenderProps) {
return <div {...props}>Popover content</div>;
function renderOverlayContent({ props, arrowProps }: Overlay.OverlayRenderProps) {
return (
<div ref={props.ref} {...props}>
<div ref={arrowProps.ref}>
Popover content
</div>
</div>
);
}
class TestOverlay extends React.Component<{}, { open: boolean }> {
target: HTMLElement | null = null;

View File

@@ -17,8 +17,14 @@ class TestAffix extends React.Component {
}
}
function renderOverlayContent({ props }: OverlayRenderProps) {
return <div {...props}>Popover content</div>;
function renderOverlayContent({ props, arrowProps }: OverlayRenderProps) {
return (
<div ref={props.ref} {...props}>
<div ref={arrowProps.ref}>
Popover content
</div>
</div>
);
}
class TestOverlay extends React.Component<{}, { open: boolean }> {