Outlook_Addin_LLM/node_modules/@fluentui/react-jsx-runtime/lib/jsx/jsxDEVSlot.js

33 lines
1.4 KiB
JavaScript
Raw Normal View History

import * as React from 'react';
import { getMetadataFromSlotComponent } from '../utils/getMetadataFromSlotComponent';
import { DevRuntime } from '../utils/DevRuntime';
export const jsxDEVSlot = (type, overrideProps, key, source, self)=>{
const { elementType, renderFunction, props: slotProps } = getMetadataFromSlotComponent(type);
const props = {
...slotProps,
...overrideProps
};
if (renderFunction) {
// if runtime is static
if (source === true) {
return DevRuntime.jsxDEV(React.Fragment, {
children: renderFunction(elementType, {
...props,
/**
* If the runtime is static then children is an array and this array won't be keyed.
* Then we should wrap children by a static fragment
* as there's no way to know if renderFunction will render statically or dynamically
*/ children: DevRuntime.jsxDEV(React.Fragment, {
children: props.children
}, undefined, true, self)
})
}, key, false, self);
}
// if runtime is dynamic (source = false) things are simpler
return DevRuntime.jsxDEV(React.Fragment, {
children: renderFunction(elementType, props)
}, key, source, self);
}
return DevRuntime.jsxDEV(elementType, props, key, source, self);
};