UNPKG

@fluentui/react-northstar

Version:
78 lines (76 loc) 3.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.renderComponent = void 0; var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty")); var _reactBindings = require("@fluentui/react-bindings"); var _reactNorthstarStylesRenderer = require("@fluentui/react-northstar-styles-renderer"); var _styles = require("@fluentui/styles"); var _providerMissingHandler = require("./providerMissingHandler"); var renderComponent = function renderComponent(config, context) { var className = config.className, displayName = config.displayName, handledProps = config.handledProps, props = config.props, state = config.state, actionHandlers = config.actionHandlers, render = config.render, _config$saveDebug = config.saveDebug, saveDebug = _config$saveDebug === void 0 ? function () {} : _config$saveDebug; if ((0, _isEmpty2.default)(context)) { (0, _providerMissingHandler.logProviderMissingWarning)(); } var _getTelemetry = (0, _reactBindings.deprecated_getTelemetry)(displayName, context.telemetry, config.isFirstRenderRef), setStart = _getTelemetry.setStart, setEnd = _getTelemetry.setEnd; var rtl = context.rtl || false; setStart(); var ElementType = (0, _reactBindings.getElementType)(props); var unhandledProps = (0, _reactBindings.getUnhandledProps)(handledProps, props); var stateAndProps = Object.assign({}, state, props); var accessibility = (0, _reactBindings.unstable_getAccessibility)(displayName, props.accessibility, stateAndProps, rtl, actionHandlers); var _getStyles = (0, _reactBindings.unstable_getStyles)({ allDisplayNames: [displayName], className: className, disableAnimations: context.disableAnimations || false, primaryDisplayName: displayName, componentProps: stateAndProps, inlineStylesProps: stateAndProps, renderer: context.renderer || _reactNorthstarStylesRenderer.noopRenderer, rtl: rtl, saveDebug: saveDebug, theme: context.theme || _styles.emptyTheme, performance: Object.assign({}, context.performance, { // we cannot enable caching for class components enableStylesCaching: false, enableBooleanVariablesCaching: false }), telemetry: context.telemetry }), classes = _getStyles.classes, variables = _getStyles.variables, styles = _getStyles.styles, theme = _getStyles.theme; var resolvedConfig = { ElementType: ElementType, unhandledProps: unhandledProps, classes: classes, variables: variables, styles: styles, accessibility: accessibility, rtl: rtl, theme: theme }; if (accessibility.focusZone) { var originalElementType = resolvedConfig.ElementType; resolvedConfig.ElementType = _reactBindings.FocusZone; resolvedConfig.unhandledProps = Object.assign({}, resolvedConfig.unhandledProps, accessibility.focusZone.props); resolvedConfig.unhandledProps.as = originalElementType; resolvedConfig.unhandledProps.isRtl = resolvedConfig.rtl; } var element = render(resolvedConfig); setEnd(); return element; }; exports.renderComponent = renderComponent; //# sourceMappingURL=renderComponent.js.map