@fluentui/react-northstar
Version:
A themable React component library.
67 lines (64 loc) • 3.85 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.createComponentInternal = void 0;
var _keys2 = _interopRequireDefault(require("lodash/keys"));
var _reactBindings = require("@fluentui/react-bindings");
var React = _interopRequireWildcard(require("react"));
var _renderComponent = require("./renderComponent");
var _factories = require("./factories");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var createComponentInternal = function createComponentInternal(_ref) {
var _ref$displayName = _ref.displayName,
displayName = _ref$displayName === void 0 ? 'FluentUIComponent' : _ref$displayName,
_ref$className = _ref.className,
className = _ref$className === void 0 ? 'fluent-ui-component' : _ref$className,
_ref$shorthandPropNam = _ref.shorthandPropName,
shorthandPropName = _ref$shorthandPropNam === void 0 ? 'children' : _ref$shorthandPropNam,
_ref$defaultProps = _ref.defaultProps,
defaultProps = _ref$defaultProps === void 0 ? {} : _ref$defaultProps,
_ref$handledProps = _ref.handledProps,
handledProps = _ref$handledProps === void 0 ? [] : _ref$handledProps,
propTypes = _ref.propTypes,
actionHandlers = _ref.actionHandlers,
_render = _ref.render;
var mergedDefaultProps = Object.assign({
as: 'div'
}, defaultProps);
var FluentComponent = function FluentComponent(props) {
// Stores debug information for component.
// Note that this ref should go as the first one, to be discoverable by debug utils.
var ref = React.useRef(null);
var context = (0, _reactBindings.useFluentContext)();
var isFirstRenderRef = React.useRef(true);
return (0, _renderComponent.renderComponent)({
className: className,
displayName: displayName,
handledProps: (0, _keys2.default)(propTypes).concat(handledProps),
props: props,
state: {},
actionHandlers: actionHandlers,
render: function render(config) {
return _render(config, props);
},
saveDebug: function saveDebug(fluentUIDebug) {
return ref.current = {
fluentUIDebug: fluentUIDebug
};
},
isFirstRenderRef: isFirstRenderRef
}, context);
};
FluentComponent.deprecated_className = className;
FluentComponent.create = (0, _factories.createShorthandFactory)({
Component: mergedDefaultProps.as,
mappedProp: shorthandPropName
});
FluentComponent.displayName = displayName;
FluentComponent.propTypes = propTypes; // TODO: generate prop types
FluentComponent.defaultProps = mergedDefaultProps;
return FluentComponent;
};
exports.createComponentInternal = createComponentInternal;
//# sourceMappingURL=createComponentInternal.js.map
;