UNPKG

@grandlinex/react-components

Version:
60 lines (59 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isCnxInput = isCnxInput; exports.classN = classN; exports.styleM = styleM; exports.renderIcon = renderIcon; const react_icons_1 = require("@grandlinex/react-icons"); const util_1 = require("../../util"); function isCnxInput(obj) { return (Array.isArray(obj) && obj.length >= 2 && obj.length <= 3 && typeof obj[0] === 'boolean' && typeof obj[1] === 'string' && (typeof obj[2] === 'string' || obj.length === 2)); } function classN(className, merge) { const out = []; if (!className && !merge) { return undefined; } if (isCnxInput(className) || typeof className === 'string') { out.push(className); } else if (className) { out.push(...className); } if (isCnxInput(merge) || typeof merge === 'string') { out.push(merge); } else if (merge) { console.log('merge', merge); out.push(...merge); console.log('out', out); } return (0, util_1.cnx)(...out); } function styleM(style, merged) { let out = {}; if (merged) { out = { ...merged, }; } if (style) { out = { ...style, }; } return out; } function renderIcon(icon, size = react_icons_1.ISize.MD) { if (!icon) return null; if (typeof icon === 'string') { return (0, react_icons_1.getIcon)(icon)({ size }); } return icon; }