UNPKG

@lonli-lokli/react-mosaic-component

Version:
40 lines (39 loc) 1.24 kB
// libs/react-mosaic-component/src/lib/util/OptionalBlueprint.tsx import classNames from "classnames"; import { kebabCase } from "lodash-es"; import * as React from "react"; import { MosaicContext } from "../contextTypes.mjs"; var OptionalBlueprint; ((OptionalBlueprint2) => { OptionalBlueprint2.Icon = ({ icon, className, size = "standard" }) => { const { blueprintNamespace } = React.useContext(MosaicContext); return /* @__PURE__ */ React.createElement( "span", { className: classNames( className, getIconClass(blueprintNamespace, icon), { [`${blueprintNamespace}-icon`]: size === "empty", [`${blueprintNamespace}-icon-${size}`]: size !== "empty" } ) } ); }; function getClasses(blueprintNamespace, ...names) { return names.map((name) => `${blueprintNamespace}-${kebabCase(name)}`).join(" "); } OptionalBlueprint2.getClasses = getClasses; function getIconClass(blueprintNamespace, iconName) { return `${blueprintNamespace}-icon-${kebabCase(iconName)}`; } OptionalBlueprint2.getIconClass = getIconClass; })(OptionalBlueprint || (OptionalBlueprint = {})); export { OptionalBlueprint };