"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const index = require("./dist-es-motion-index.cjs");
const isSvgComponent = require("./dist-es-render-dom-utils-is-svg-component.cjs");
const configMotion = require("./dist-es-render-svg-config-motion.cjs");
const configMotion$1 = require("./dist-es-render-html-config-motion.cjs");
const useRender = require("./dist-es-render-dom-use-render.cjs");
function createMotionComponentFactory(preloadedFeatures, createVisualElement) {
  return function createMotionComponent(Component, { forwardMotionProps } = { forwardMotionProps: false }) {
    const baseConfig = isSvgComponent.isSVGComponent(Component) ? configMotion.svgMotionConfig : configMotion$1.htmlMotionConfig;
    const config = {
      ...baseConfig,
      preloadedFeatures,
      useRender: useRender.createUseRender(forwardMotionProps),
      createVisualElement,
      Component
    };
    return index.createRendererMotionComponent(config);
  };
}
exports.createMotionComponentFactory = createMotionComponentFactory;
//# sourceMappingURL=dist-es-render-components-create-factory.cjs.map
