@snowball-tech/fractal
Version:
Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS
3 lines • 1.26 kB
JavaScript
'use client';
import{Children as c,cloneElement as a,Fragment as h,isValidElement as l}from"react";import k from"lodash/fp/isArray";import A from"lodash/fp/isBoolean";import m from"lodash/fp/isEmpty";import R from"lodash/fp/isNil";import x from"lodash/fp/isNumber";import b from"lodash/fp/isObject";import w from"lodash/fp/isString";function y(r,t,e,o){let i=Array.isArray(e)?e:[e],s=R(o)||m(o)?[]:Array.isArray(o)?o:[o],n=!1;return c.forEach(r,p=>{if(n||!l(p))return;let u=p.props;n=(t==="*"||p.type===t)&&i.every(f=>Object.hasOwn(u,f)&&!!u[f]),!n&&u.children?n=y(u.children,t,e,o):n&&!m(s)&&(n=s.every(f=>!Object.hasOwn(u,f)))}),n}function C(r,t,e){let o=r;return c.count(r)===0?r:(c.count(r)===1&&l(r)&&r.type===h&&(o=r.props.children),c.map(o,i=>{if(!l(i))return i;let s=i.type,n=i.props;return!m(e)&&(w(s)&&s!==e||b(s)&&s.displayName!==e)?a(i,{...n}):!m(n.children)&&k(n.children)?a(i,{...n,...t(n)},C(n.children,t,e)):a(i,t(n))}))}function g(r){try{if(R(r)||A(r)||!r)return"";let t="";if(w(r))t=r;else if(x(r))t=r.toString();else if(b(r)&&Symbol.iterator in r)for(let e of r)t+=g(e);else l(r)&&(t+=g(r.props.children));return t.replaceAll("[object Object]","").trim()}catch{return""}}export{y as a,C as b,g as c};
//# sourceMappingURL=chunk-LYTTDLE2.js.map