import classNames from 'classnames'; import camelize from 'dom-helpers/camelize'; import * as React from 'react'; import { useBootstrapPrefix } from './ThemeProvider'; import { jsx as _jsx } from "react/jsx-runtime"; const pascalCase = str => str[0].toUpperCase() + camelize(str).slice(1); // TODO: emstricten & fix the typing here! `createWithBsPrefix...` export default function createWithBsPrefix(prefix, { displayName = pascalCase(prefix), Component, defaultProps } = {}) { const BsComponent = /*#__PURE__*/React.forwardRef(({ className, bsPrefix, as: Tag = Component || 'div', ...props }, ref) => { const resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix); return /*#__PURE__*/_jsx(Tag, { ref: ref, className: classNames(className, resolvedPrefix), ...props }); }); BsComponent.defaultProps = defaultProps; BsComponent.displayName = displayName; return BsComponent; }