Private
Public Access
1
0
Files
power-apps-codeapps-blog-part2/node_modules/@fluentui/react-drawer/lib/components/Drawer/useDrawer.js

29 lines
911 B
JavaScript

import * as React from 'react';
import { slot } from '@fluentui/react-utilities';
import { OverlayDrawer } from '../OverlayDrawer';
import { InlineDrawer } from '../InlineDrawer';
/**
* Create the state required to render Drawer.
*
* The returned state can be modified with hooks such as useDrawerStyles_unstable,
* before being passed to renderDrawer_unstable.
*
* @param props - props from this instance of Drawer
* @param ref - reference to root HTMLElement of Drawer
*/ export const useDrawer_unstable = (props, ref)=>{
// casting here to convert a union of functions to a single function with the union of parameters
const elementType = props.type === 'inline' ? InlineDrawer : OverlayDrawer;
const root = slot.always({
ref,
...props
}, {
elementType
});
return {
components: {
root: elementType
},
root
};
};