UNPKG

alinea

Version:
64 lines (62 loc) 1.98 kB
// node_modules/@alinea/styler/dist/index.js var hasClassName = Symbol.for("@alinea/styler/hasClassName"); var VARIANT_PREFIX = "is-"; function styler(input, globals = [], module = typeof input === "object" ? input : void 0) { const className = typeof input === "string" ? input : ""; const result = module?.[className] ?? className; return new Proxy( Object.assign( function instance(...variants) { return variants.flatMap(function makeVariant(variant) { if (!variant) return []; if (Array.isArray(variant)) return variant.map(makeVariant); if (typeof variant === "function") return variant[hasClassName]; if (typeof variant === "object") { if (hasClassName in variant) return variant[hasClassName]; return Object.entries(variant).map(([cl, active]) => active && cl).filter(Boolean).map(makeVariant); } const requestedVariant = VARIANT_PREFIX + variant; return module?.[requestedVariant] ?? requestedVariant; }).concat(globals).concat(result).join(" "); }, { [hasClassName]: result, toString() { return result; }, with(...extra) { return styler( className, globals.concat(extra.filter(Boolean)), module ); }, mergeProps(props) { if (!props) return this; return this.with(props.className); } } ), { get(target, property) { if (typeof property !== "string") return target[property]; return target[property] ??= styler( className ? `${className}-${property}` : property, void 0, module ); } } ); } styler.global = (className) => { return { [hasClassName]: className }; }; styler.merge = (props) => { return styler.global(props.className); }; var dist_default = styler; export { styler, dist_default };