@gsretail.com/gui-core
Version:
A skeleton to create your own React component library using Rollup, TypeScript, Sass and Storybook
2 lines (1 loc) • 1.24 kB
JavaScript
import{Children as n,isValidElement as r,cloneElement as e}from"react";function t(e,t){var i=Object.create(null);return e&&n.map(e,(function(n){return n})).forEach((function(n){i[n.key]=function(n){return t&&r(n)?t(n):n}(n)})),i}function i(n,r){function e(e){return e in r?r[e]:n[e]}n=n||{},r=r||{};var t,i=Object.create(null),u=[];for(var o in n)o in r?u.length&&(i[o]=u,u=[]):u.push(o);var c={};for(var f in r){if(i[f])for(t=0;t<i[f].length;t++){var a=i[f][t];c[i[f][t]]=e(a)}c[f]=e(f)}for(t=0;t<u.length;t++)c[u[t]]=e(u[t]);return c}function u(n,r,e){return null!=e[r]?e[r]:n.props[r]}function o(n,r){return t(n.children,(function(t){return e(t,{onExited:r.bind(null,t),in:!0,appear:u(t,"appear",n),enter:u(t,"enter",n),exit:u(t,"exit",n)})}))}function c(n,o,c){var f=t(n.children),a=i(o,f);return Object.keys(a).forEach((function(t){var i=a[t];if(r(i)){var l=t in o,p=t in f,x=o[t],v=r(x)&&!x.props.in;!p||l&&!v?p||!l||v?p&&l&&r(x)&&(a[t]=e(i,{onExited:c.bind(null,i),in:x.props.in,exit:u(i,"exit",n),enter:u(i,"enter",n)})):a[t]=e(i,{in:!1}):a[t]=e(i,{onExited:c.bind(null,i),in:!0,exit:u(i,"exit",n),enter:u(i,"enter",n)})}})),a}export{t as getChildMapping,o as getInitialChildMapping,c as getNextChildMapping,i as mergeChildMappings};