react-mosaic-component2
Version:
A React Tiling Window Manager
33 lines (32 loc) • 1.06 kB
JavaScript
// src/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}`)
}
);
};
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
};