@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
17 lines (16 loc) • 778 B
JavaScript
import * as React from 'react';
import { createSubcomponent } from '@workday/canvas-kit-react/common';
import { usePopupPopper, Popper } from '@workday/canvas-kit-react/popup';
import { useDialogPopper, useDialogModel } from './hooks';
export const DialogPopper = createSubcomponent('div')({
displayName: 'Dialog.Popper',
modelHook: useDialogModel,
})(({ children, placement, popperOptions, ref, ...props }, Element, model) => {
const popperProps = usePopupPopper(model, { placement, popperOptions }, ref);
const elemProps = useDialogPopper(model, props);
if (model.state.visibility === 'hidden') {
return null;
}
return (React.createElement(Element, { ...elemProps },
React.createElement(Popper, { ...popperProps }, children)));
});