@animus-ui/core 0.1.1-beta.8 → 0.1.1-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.1.1-beta.9](https://github.com/codecaaron/animus/compare/@animus-ui/core@0.1.1-beta.8...@animus-ui/core@0.1.1-beta.9) (2022-01-18)
7
+
8
+ **Note:** Version bump only for package @animus-ui/core
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.1.1-beta.8](https://github.com/codecaaron/animus/compare/@animus-ui/core@0.1.1-beta.7...@animus-ui/core@0.1.1-beta.8) (2022-01-16)
7
15
 
8
16
  **Note:** Version bump only for package @animus-ui/core
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("lodash");function e(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var t=e(require("@emotion/styled"));const o=()=>[],s={spacing:[0,4,8,12,16,24,32,40,48,64,96],fontSize:[64,44,34,26,22,20,18,16,14],lineHeight:{body:1.5,heading:1},fontWeight:[400,600,700],fontFamily:{body:"Verdana, sans-serif",heading:"Verdana, Lato, sans-serif",monospace:"monospace"},radii:[2,4,6,8],borders:[1,2,3],colors:{},modes:{},mode:void 0},i=(e,t,o)=>{if(r.isArray(t))return e;if(r.isObject(t))return r.get(t,e);if(r.isString(t)){const i=r.get(o,t,r.get(s,t));if(!i)return;return r.isArray(i)?e:r.get(i,e)}},p=(e,t,o)=>{const s={},{transform:p=r.identity,property:n,properties:a=[n],scale:d,variable:c}=o,l=void 0===d||r.isArray(d);if(r.isUndefined(e))return s;let u,g,y=!1;switch(typeof e){case"number":case"string":g=i(e,d,t?.theme),y=void 0!==g||l,u=g??e;break;case"function":t.theme&&(u=e(t.theme));break;default:return s}if(a.forEach((e=>{let o=u;switch(y&&!r.isUndefined(o)&&(o=p(o,e,t)),typeof o){case"number":case"string":return s[e]=o;case"object":return Object.assign(s,o)}})),c){let e=u;y&&!r.isUndefined(e)&&(e=p(e,n,t)),e&&"object"!=typeof e&&(s[c]=e)}return s},n=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],a=-1,d=1,c=1,l=(r,e)=>r<e?a:e<r?d:c,u=r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:i,properties:p=[]}=o,{property:u,properties:g=[]}=s,y=n.includes(i),m=n.includes(u);if(y&&m){const r=p.length,e=g.length;if(i!==u)return l(n.indexOf(i),n.indexOf(u));if(i===u){if(0===r)return a;if(0===e)return d}return l(e,r)}return y?a:m?d:c})),g=["_","xs","sm","md","lg","xl"],y=r=>`@media screen and (min-width: ${r}px)`,m={xs:480,sm:768,md:1024,lg:1200,xl:1440},b=(e,t,o,s,i)=>{const n=r.get(o,t);switch(typeof n){case"string":case"number":case"function":return Object.assign(e,p(n,o,s));case"object":if(!i.mediaQueries)return;if(a=n,Array.isArray(a))return r.merge(e,((r,e,t,o)=>{const s={},[i,...n]=r;return i&&Object.assign(s,p(i,e,t)),n.forEach(((r,i)=>{const n=o[i];n&&void 0!==r&&Object.assign(s,{[n]:p(r,e,t)})})),s})(n,o,s,i.mediaQueries.array));if(n&&(e=>r.intersection(Object.keys(e),g).length>0)(n))return r.merge(e,((r,e,t,o)=>{const s={},{_:i,...n}=r;return i&&Object.assign(s,p(i,e,t)),Object.keys(o).forEach((r=>{const i=n[r];void 0!==i&&Object.assign(s,{[o[r]]:p(i,e,t)})})),s})(n,o,s,i.mediaQueries.map))}var a};function f(e){const t=u(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:n}=s;return null===o.mediaQueries&&(o.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:i,xl:p}=e??{};return{map:r.mapValues(e,y),array:[t,o,s,i,p].map(y)}})(n?.breakpoints??m)),i?Object.keys(s).forEach((t=>{const i=e[t];i?b(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];b(p,r,s,t,o)})),null!==o.mediaQueries?((e,t)=>{const o=r.omit(e,t);return t.forEach((r=>{e[r]&&(o[r]=e[r])})),o})(p,o.mediaQueries.array):p}),{propNames:t,config:e})}const h=(r,e)=>{const t=Object.keys(r),o=Object.keys(e);return r=>{const e=[];return t.forEach((t=>{r[t]&&e.push(`${t}-${r[t]}`)})),o.forEach((t=>{r[t]&&e.push(t)})),e}},R=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},x=(e,t,o,s)=>{const{base:i}=t,{parser:p,getMediaSelectors:n,getActiveOverrides:a}=s,{theme:d}=o,c=Object.values(r.pick(t,a(o))),l=n(o),[u,g]=R(p({...i,theme:d},!0),l);for(const r in u)e[r]=u[r];c.forEach((t=>{((e={},t,o,s,i,p)=>{const[n,a]=R(s({...e,theme:i},!0),p);for(const r in n)t[r]=n[r];p.forEach((e=>{const t=a[e];if(!t||r.isEmpty(t))return;o[e]||(o[e]={});const s=o[e];for(const r in t)s[r]=t[r]}))})(t,e,g,p,d,l)})),l.forEach((t=>{const o=g[t];r.isEmpty(o)||(e[t]=o)}))},w=(e,t={},o={},s={},i={})=>{const p=((e={},t={},o={},s)=>{const i={};return Object.entries(e).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(i,[e,"base"],t):r.set(i,["primary","base",e],t)})),Object.entries(t).forEach((([e,{variants:t}])=>{Object.entries(t).forEach((([t,o])=>{const p=`${e}-${t}`;Object.entries(o).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(i,[e,p],t):r.set(i,["primary",p,e],t)}))}))})),Object.entries(o).forEach((([e,t])=>{Object.entries(t).forEach((([t,o])=>{!s.includes(t)&&r.isObject(o)?r.set(i,[t,e],o):r.set(i,["primary",e,t],o)}))})),i})(t,o,s,e.propNames),n={parser:e,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??m;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:h(o,s)};return r=>{const{vars:t}=r,o={...t};return Object.entries(p).forEach((([e,t={}])=>{"primary"===e?x(o,t,r,n):(o[e]={},x(o[e],t,r,n))})),x(o,{base:e(r)},r,n),o}};class S{propRegistry={};groupRegistry={};parser={};baseStyles={};statesConfig={};variants={};activeGroups={};custom={};constructor(r,e,t,o,s,i,p,n){this.propRegistry=r,this.groupRegistry=e,this.parser=t,this.baseStyles=o,this.variants=s,this.statesConfig=i,this.activeGroups=p,this.custom=n}asComponent(r){const e=w(f({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig,{});return t.default(r)(e)}build(){return w(f({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig,{})}}class j extends S{constructor(r,e,t,o,s,i,p){super(r,e,t,o,s,i,p,{})}props(r){return new S(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,this.activeGroups,r)}}class v extends j{constructor(r,e,t,o,s,i){super(r,e,t,o,s,i,{})}groups(r){return new j(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,r)}}class C extends v{constructor(r,e,t,o,s){super(r,e,t,o,s,{})}states(r){return new v(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,r)}variant(e){const t=e.prop||"variant";return new C(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,r.merge(this.variants,{[t]:e}))}}class O extends C{constructor(r,e,t,o){super(r,e,t,o,{})}variant(e){const t=e.prop||"variant";return new C(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,r.merge(this.variants,{[t]:e}))}}class T extends O{constructor(r,e){super(r,e,f(r),{})}styles(r){return new O(this.propRegistry,this.groupRegistry,this.parser,r)}}class k{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new k({...this.#r,...e},{...this.#e,...t})}build(){const r=this.#r,e=this.#e;return new T(r,e)}}const E=()=>new k,A=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,W=/(-?\d*\.?\d+)(%|\w*)/,B=e=>{if(r.isNumber(e))return A(e);if(e.includes("calc"))return e;const[t,o,s]=W.exec(e)||[];if(void 0===t)return e;const i=parseFloat(o);return s?`${i}${s}`:A(i)},L={max:"max-content",min:"min-content"},G=new RegExp(/^[0-9]*$/),Q=e=>{var t;return`minmax(0, ${t=e,G.test(t)?`${e}fr`:r.get(L,e,e)})`},$=(r,e)=>{const t=Q(r);return e>1?`repeat(${e}, ${t})`:t},F=r=>{const e=r.split(":");let t=["",0],o="";for(let r=0;r<e.length+1;r+=1){const s=o.length>0?" ":"",i=e[r];t?.[0]!==i?(t[0].length&&(o+=s+$(...t)),i&&(t=[i,1])):t[1]+=1}return o},I=e=>r.isNumber(e)?$("1",e):F(e),z=(r,e)=>"number"==typeof r?e(r):r,H=r=>z(r,(r=>`${r}px`)),N=r=>z(r,(r=>`${r}px solid currentColor`)),U=(e,t)=>r.pick(e,r.keys(e).filter((r=>!t.includes(r)))),V=["_","xs","sm","md","lg","xl"],X=r=>`@media screen and (min-width: ${r}px)`,Y={xs:480,sm:768,md:1024,lg:1200,xl:1440},_=(e,t,o,s,i)=>{const p=r.get(o,t);switch(typeof p){case"string":case"number":case"function":return Object.assign(e,s.styleFn(p,t,o));case"object":if(!i.mediaQueries)return;if(n=p,Array.isArray(n))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,[n,...a]=r;return n&&Object.assign(s,i(n,p,e)),a.forEach(((r,t)=>{const n=o[t];n&&void 0!==r&&Object.assign(s,{[n]:i(r,p,e)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(e=>r.intersection(Object.keys(e),V).length>0)(p))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,{_:n,...a}=r;return n&&Object.assign(s,i(n,p,e)),Object.keys(o).forEach((r=>{const t=a[r];void 0!==t&&Object.assign(s,{[o[r]]:i(t,p,e)})})),s})(p,o,s,i.mediaQueries.map))}var n};function P(e){const t=u(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:n}=s;return null===o.mediaQueries&&(o.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:i,xl:p}=e??{};return{map:r.mapValues(e,X),array:[t,o,s,i,p].map(X)}})(n?.breakpoints??Y)),i?Object.keys(s).forEach((t=>{const i=e[t];i?_(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];_(p,r,s,t,o)})),null!==o.mediaQueries?((e,t)=>{const o=r.omit(e,t);return t.forEach((r=>{e[r]&&(o[r]=e[r])})),o})(p,o.mediaQueries.array):p}),{propNames:t,config:e})}function D(e,t){const{transform:o=r.identity,property:s,properties:p=[s],scale:n,variable:a}=t,d=void 0===n||r.isArray(n);return{...t,prop:e,styleFn:(e,t,c)=>{const l={};if(r.isUndefined(e))return l;let u,g,y=!1;switch(typeof e){case"number":case"string":g=i(e,n,c.theme),y=void 0!==g||d,u=g??e;break;case"function":c.theme&&(u=e(c.theme));break;default:return l}if(p.forEach((e=>{let t=u;switch(y&&!r.isUndefined(t)&&(t=o(t,e,c)),typeof t){case"number":case"string":return l[e]=t;case"object":return Object.assign(l,t)}})),a){let e=u;y&&!r.isUndefined(e)&&(e=o(e,s,c)),e&&"object"!=typeof e&&(l[a]=e)}return l}}}function M(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=D(t,r[t]));return P(e)}function q(e){const t=M(e),o=t.propNames;return e=>{let s;const i=Object.keys(e).filter((t=>!o.includes(t)&&r.isObject(e[t]))),p=U(e,["theme",...i,...o]);return({theme:r})=>{if(s)return s;const n=t({...e,theme:r});return i.forEach((s=>{const i=e[s]??{};n[s]={...U(i,o),...t({...i,theme:r})}})),s={...p,...n},s}}}const J={compose:function(...r){return P(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:M,createCss:q,createVariant:function(e){const t=q(e);return({prop:e="variant",defaultVariant:o,base:s={},variants:i})=>{const p=t(s),n={};return Object.keys(i).forEach((r=>{const e=r,o=i[e];n[e]=t(o)})),t=>{const{[e]:s=o}=t,i={};return s?r.merge(i,p(t),n?.[s]?.(t)):i}}},createStates:function(e){const t=q(e);return e=>{const o=Object.keys(e),s={};return o.forEach((r=>{const o=r,i=e[o];s[o]=t(i)})),e=>{const t={};return o.forEach((o=>{r.merge(t,e[o]&&s[o](e))})),t}}}},K={border:{property:"border",scale:"borders",transform:N},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:N},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:N},borderTop:{property:"borderTop",scale:"borders",transform:N},borderRight:{property:"borderRight",scale:"borders",transform:N},borderBottom:{property:"borderBottom",scale:"borders",transform:N},borderLeft:{property:"borderLeft",scale:"borders",transform:N},borderWidth:{property:"borderWidth"},borderWidthX:{property:"borderWidth",properties:["borderLeftWidth","borderRightWidth"]},borderWidthY:{property:"borderWidth",properties:["borderTopWidth","borderBottomWidth"]},borderWidthLeft:{property:"borderLeftWidth"},borderWidthRight:{property:"borderRightWidth"},borderWidthTop:{property:"borderTopWidth"},borderWidthBottom:{property:"borderBottomWidth"},borderRadius:{property:"borderRadius",scale:"radii",transform:H},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii",transform:H},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii",transform:H},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii",transform:H},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii",transform:H},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii",transform:H},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii",transform:H},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii",transform:H},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii",transform:H},borderStyle:{property:"borderStyle"},borderStyleX:{property:"borderStyle",properties:["borderLeftStyle","borderRightStyle"]},borderStyleY:{property:"borderStyle",properties:["borderTopStyle","borderBottomStyle"]},borderStyleLeft:{property:"borderLeftStyle"},borderStyleRight:{property:"borderRightStyle"},borderStyleTop:{property:"borderTopStyle"},borderStyleBottom:{property:"borderBottomStyle"}},Z={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},rr={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},er={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...rr},tr={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},or={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...er,...tr,...Z},sr={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},ir={gridAutoColumns:{property:"gridAutoColumns"},gridAutoRows:{property:"gridAutoRows"},gridTemplateColumns:{property:"gridTemplateColumns"},gridTemplateRows:{property:"gridTemplateRows"},gridTemplateAreas:{property:"gridTemplateAreas"},gridAutoFlow:{property:"gridAutoFlow"},flow:{property:"gridAutoFlow",scale:[]},cols:{property:"gridTemplateColumns",transform:I,scale:[]},rows:{property:"gridTemplateRows",transform:I,scale:[]},autoRows:{property:"gridAutoRows",transform:Q},autoCols:{property:"gridAutoColumns",transform:Q},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...er,...sr,...Z},pr={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:B},top:{property:"top",transform:B},right:{property:"right",transform:B},bottom:{property:"bottom",transform:B},left:{property:"left",transform:B},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},nr={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:B},width:{property:"width",transform:B},minWidth:{property:"minWidth",transform:B},maxWidth:{property:"maxWidth",transform:B},height:{property:"height",transform:B},minHeight:{property:"minHeight",transform:B},maxHeight:{property:"maxHeight",transform:B},verticalAlign:{property:"verticalAlign"},...rr,...sr,...tr},ar={m:{property:"margin",scale:"spacing"},mx:{property:"margin",properties:["marginLeft","marginRight"],scale:"spacing"},my:{property:"margin",properties:["marginTop","marginBottom"],scale:"spacing"},mt:{property:"marginTop",scale:"spacing"},mb:{property:"marginBottom",scale:"spacing"},mr:{property:"marginRight",scale:"spacing"},ml:{property:"marginLeft",scale:"spacing"},p:{property:"padding",scale:"spacing"},px:{property:"padding",properties:["paddingLeft","paddingRight"],scale:"spacing"},py:{property:"padding",properties:["paddingTop","paddingBottom"],scale:"spacing"},pt:{property:"paddingTop",scale:"spacing"},pb:{property:"paddingBottom",scale:"spacing"},pr:{property:"paddingRight",scale:"spacing"},pl:{property:"paddingLeft",scale:"spacing"}},dr=E().addGroup("flex",or).addGroup("grid",ir).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}).addGroup("space",ar).addGroup("color",{color:{property:"color",scale:"colors"},textColor:{property:"color",scale:"colors"},bg:{property:"backgroundColor",scale:"colors"},borderColor:{property:"borderColor",scale:"colors"},borderColorX:{property:"borderColor",properties:["borderLeftColor","borderRightColor"],scale:"colors"},borderColorY:{property:"borderColor",properties:["borderTopColor","borderBottomColor"],scale:"colors"},borderColorLeft:{property:"borderLeftColor",scale:"colors"},borderColorRight:{property:"borderRightColor",scale:"colors"},borderColorTop:{property:"borderTopColor",scale:"colors"},borderColorBottom:{property:"borderBottomColor",scale:"colors"}}).addGroup("layout",nr).addGroup("borders",K).addGroup("shadows",{boxShadow:{property:"boxShadow"},textShadow:{property:"textShadow"}}).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("typography",{fontFamily:{property:"fontFamily",scale:"fontFamily"},fontWeight:{property:"fontWeight",scale:"fontWeight"},lineHeight:{property:"lineHeight",scale:"lineHeight",lineHeight:"lineHeight"},fontSize:{property:"fontSize",scale:"fontSize"},letterSpacing:{property:"letterSpacing"},textAlign:{property:"textAlign"},fontStyle:{property:"fontStyle"},textDecoration:{property:"textDecoration"},textTransform:{property:"textTransform"},whiteSpace:{property:"whiteSpace"}}).addGroup("positioning",pr);dr.build();const cr=dr.build();exports.AnimusConfig=k,exports.animus=cr,exports.animusProps=J,exports.borderShorthand=N,exports.compatTheme=s,exports.config=dr,exports.createAnimus=E,exports.createScale=o,exports.gridItem=Q,exports.gridItemRatio=I,exports.numberToPx=H,exports.numberToTemplate=z,exports.parseGridRatio=F,exports.percentageOrAbsolute=A,exports.repeatGridItem=$,exports.size=B;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("lodash");function e(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var t=e(require("@emotion/styled"));const o=()=>[],s=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,i=/(-?\d*\.?\d+)(%|\w*)/,p=e=>{if(r.isNumber(e))return s(e);if(e.includes("calc"))return e;const[t,o,p]=i.exec(e)||[];if(void 0===t)return e;const n=parseFloat(o);return p?`${n}${p}`:s(n)},n={max:"max-content",min:"min-content"},a=new RegExp(/^[0-9]*$/),d=e=>{var t;return`minmax(0, ${t=e,a.test(t)?`${e}fr`:r.get(n,e,e)})`},c=(r,e)=>{const t=d(r);return e>1?`repeat(${e}, ${t})`:t},l=r=>{const e=r.split(":");let t=["",0],o="";for(let r=0;r<e.length+1;r+=1){const s=o.length>0?" ":"",i=e[r];t?.[0]!==i?(t[0].length&&(o+=s+c(...t)),i&&(t=[i,1])):t[1]+=1}return o},u=e=>r.isNumber(e)?c("1",e):l(e),g=(r,e)=>"number"==typeof r?e(r):r,y=r=>g(r,(r=>`${r}px`)),m=r=>g(r,(r=>`${r}px solid currentColor`)),b={spacing:[0,4,8,12,16,24,32,40,48,64,96],fontSize:[64,44,34,26,22,20,18,16,14],lineHeight:{body:1.5,heading:1},fontWeight:[400,600,700],fontFamily:{body:"Verdana, sans-serif",heading:"Verdana, Lato, sans-serif",monospace:"monospace"},radii:[2,4,6,8],borders:[1,2,3],colors:{},modes:{},mode:void 0},f=(e,t,o)=>{if(r.isArray(t))return e;if(r.isObject(t))return r.get(t,e);if(r.isString(t)){const s=r.get(o,t,r.get(b,t));if(!s)return;return r.isArray(s)?e:r.get(s,e)}},h=(e,t,o)=>{const s={},{transform:i=r.identity,property:p,properties:n=[p],scale:a,variable:d}=o,c=void 0===a||r.isArray(a);if(r.isUndefined(e))return s;let l,u,g=!1;switch(typeof e){case"number":case"string":u=f(e,a,t?.theme),g=void 0!==u||c,l=u??e;break;case"function":t.theme&&(l=e(t.theme));break;default:return s}if(n.forEach((e=>{let o=l;switch(g&&!r.isUndefined(o)&&(o=i(o,e,t)),typeof o){case"number":case"string":return s[e]=o;case"object":return Object.assign(s,o)}})),d){let e=l;g&&!r.isUndefined(e)&&(e=i(e,p,t)),e&&"object"!=typeof e&&(s[d]=e)}return s},R=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],x=-1,w=1,S=1,j=(r,e)=>r<e?x:e<r?w:S,v=r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:i,properties:p=[]}=o,{property:n,properties:a=[]}=s,d=R.includes(i),c=R.includes(n);if(d&&c){const r=p.length,e=a.length;if(i!==n)return j(R.indexOf(i),R.indexOf(n));if(i===n){if(0===r)return x;if(0===e)return w}return j(e,r)}return d?x:c?w:S})),C=["_","xs","sm","md","lg","xl"],O=r=>`@media screen and (min-width: ${r}px)`,T={xs:480,sm:768,md:1024,lg:1200,xl:1440},k=(e,t,o,s,i)=>{const p=r.get(o,t);switch(typeof p){case"string":case"number":case"function":return Object.assign(e,h(p,o,s));case"object":if(!i.mediaQueries)return;if(n=p,Array.isArray(n))return r.merge(e,((r,e,t,o)=>{const s={},[i,...p]=r;return i&&Object.assign(s,h(i,e,t)),p.forEach(((r,i)=>{const p=o[i];p&&void 0!==r&&Object.assign(s,{[p]:h(r,e,t)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(e=>r.intersection(Object.keys(e),C).length>0)(p))return r.merge(e,((r,e,t,o)=>{const s={},{_:i,...p}=r;return i&&Object.assign(s,h(i,e,t)),Object.keys(o).forEach((r=>{const i=p[r];void 0!==i&&Object.assign(s,{[o[r]]:h(i,e,t)})})),s})(p,o,s,i.mediaQueries.map))}var n};function E(e){const t=v(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:n}=s;return null===o.mediaQueries&&(o.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:i,xl:p}=e??{};return{map:r.mapValues(e,O),array:[t,o,s,i,p].map(O)}})(n?.breakpoints??T)),i?Object.keys(s).forEach((t=>{const i=e[t];i?k(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];k(p,r,s,t,o)})),null!==o.mediaQueries?((e,t)=>{const o=r.omit(e,t);return t.forEach((r=>{e[r]&&(o[r]=e[r])})),o})(p,o.mediaQueries.array):p}),{propNames:t,config:e})}const A=(r,e)=>{const t=Object.keys(r),o=Object.keys(e);return r=>{const e=[];return t.forEach((t=>{r[t]&&e.push(`${t}-${r[t]}`)})),o.forEach((t=>{r[t]&&e.push(t)})),e}},W=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},B=(e,t,o,s)=>{const{base:i}=t,{parser:p,getMediaSelectors:n,getActiveOverrides:a}=s,{theme:d}=o,c=Object.values(r.pick(t,a(o))),l=n(o),[u,g]=W(p({...i,theme:d},!0),l);for(const r in u)e[r]=u[r];c.forEach((t=>{((e={},t,o,s,i,p)=>{const[n,a]=W(s({...e,theme:i},!0),p);for(const r in n)t[r]=n[r];p.forEach((e=>{const t=a[e];if(!t||r.isEmpty(t))return;o[e]||(o[e]={});const s=o[e];for(const r in t)s[r]=t[r]}))})(t,e,g,p,d,l)})),l.forEach((t=>{const o=g[t];r.isEmpty(o)||(e[t]=o)}))},L=(e,t={},o={},s={})=>{const i=((e={},t={},o={},s)=>{const i={};return Object.entries(e).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(i,[e,"base"],t):r.set(i,["primary","base",e],t)})),Object.entries(t).forEach((([e,{variants:t}])=>{Object.entries(t).forEach((([t,o])=>{const p=`${e}-${t}`;Object.entries(o).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(i,[e,p],t):r.set(i,["primary",p,e],t)}))}))})),Object.entries(o).forEach((([e,t])=>{Object.entries(t).forEach((([t,o])=>{!s.includes(t)&&r.isObject(o)?r.set(i,[t,e],o):r.set(i,["primary",e,t],o)}))})),i})(t,o,s,e.propNames),p={parser:e,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??T;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:A(o,s)};return r=>{const{vars:t}=r,o={...t};return Object.entries(i).forEach((([e,t={}])=>{"primary"===e?B(o,t,r,p):(o[e]={},B(o[e],t,r,p))})),B(o,{base:e(r)},r,p),o}};class G{propRegistry={};groupRegistry={};parser={};baseStyles={};statesConfig={};variants={};activeGroups={};custom={};constructor(r,e,t,o,s,i,p,n){this.propRegistry=r,this.groupRegistry=e,this.parser=t,this.baseStyles=o,this.variants=s,this.statesConfig=i,this.activeGroups=p,this.custom=n}asComponent(r){const e=L(E({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig);return t.default(r)(e)}build(){return L(E({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig)}}class Q extends G{constructor(r,e,t,o,s,i,p){super(r,e,t,o,s,i,p,{})}props(r){return new G(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,this.activeGroups,r)}}class $ extends Q{constructor(r,e,t,o,s,i){super(r,e,t,o,s,i,{})}groups(r){return new Q(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,r)}}class F extends ${constructor(r,e,t,o,s){super(r,e,t,o,s,{})}states(r){return new $(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,r)}variant(e){const t=e.prop||"variant";return new F(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,r.merge(this.variants,{[t]:e}))}}class I extends F{constructor(r,e,t,o){super(r,e,t,o,{})}variant(e){const t=e.prop||"variant";return new F(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,r.merge(this.variants,{[t]:e}))}}class z extends I{constructor(r,e){super(r,e,E(r),{})}styles(r){return new I(this.propRegistry,this.groupRegistry,this.parser,r)}}class H{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new H({...this.#r,...e},{...this.#e,...t})}build(){const r=this.#r,e=this.#e;return new z(r,e)}}const N=()=>new H,U={border:{property:"border",scale:"borders",transform:m},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:m},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:m},borderTop:{property:"borderTop",scale:"borders",transform:m},borderRight:{property:"borderRight",scale:"borders",transform:m},borderBottom:{property:"borderBottom",scale:"borders",transform:m},borderLeft:{property:"borderLeft",scale:"borders",transform:m},borderWidth:{property:"borderWidth"},borderWidthX:{property:"borderWidth",properties:["borderLeftWidth","borderRightWidth"]},borderWidthY:{property:"borderWidth",properties:["borderTopWidth","borderBottomWidth"]},borderWidthLeft:{property:"borderLeftWidth"},borderWidthRight:{property:"borderRightWidth"},borderWidthTop:{property:"borderTopWidth"},borderWidthBottom:{property:"borderBottomWidth"},borderRadius:{property:"borderRadius",scale:"radii",transform:y},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii",transform:y},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii",transform:y},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii",transform:y},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii",transform:y},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii",transform:y},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii",transform:y},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii",transform:y},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii",transform:y},borderStyle:{property:"borderStyle"},borderStyleX:{property:"borderStyle",properties:["borderLeftStyle","borderRightStyle"]},borderStyleY:{property:"borderStyle",properties:["borderTopStyle","borderBottomStyle"]},borderStyleLeft:{property:"borderLeftStyle"},borderStyleRight:{property:"borderRightStyle"},borderStyleTop:{property:"borderTopStyle"},borderStyleBottom:{property:"borderBottomStyle"}},V={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},X={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},Y={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...X},_={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},P={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...Y,..._,...V},D={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},M={gridAutoColumns:{property:"gridAutoColumns"},gridAutoRows:{property:"gridAutoRows"},gridTemplateColumns:{property:"gridTemplateColumns"},gridTemplateRows:{property:"gridTemplateRows"},gridTemplateAreas:{property:"gridTemplateAreas"},gridAutoFlow:{property:"gridAutoFlow"},flow:{property:"gridAutoFlow",scale:[]},cols:{property:"gridTemplateColumns",transform:u,scale:[]},rows:{property:"gridTemplateRows",transform:u,scale:[]},autoRows:{property:"gridAutoRows",transform:d},autoCols:{property:"gridAutoColumns",transform:d},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...Y,...D,...V},q={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:p},top:{property:"top",transform:p},right:{property:"right",transform:p},bottom:{property:"bottom",transform:p},left:{property:"left",transform:p},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},J={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:p},width:{property:"width",transform:p},minWidth:{property:"minWidth",transform:p},maxWidth:{property:"maxWidth",transform:p},height:{property:"height",transform:p},minHeight:{property:"minHeight",transform:p},maxHeight:{property:"maxHeight",transform:p},verticalAlign:{property:"verticalAlign"},...X,...D,..._},K={m:{property:"margin",scale:"spacing"},mx:{property:"margin",properties:["marginLeft","marginRight"],scale:"spacing"},my:{property:"margin",properties:["marginTop","marginBottom"],scale:"spacing"},mt:{property:"marginTop",scale:"spacing"},mb:{property:"marginBottom",scale:"spacing"},mr:{property:"marginRight",scale:"spacing"},ml:{property:"marginLeft",scale:"spacing"},p:{property:"padding",scale:"spacing"},px:{property:"padding",properties:["paddingLeft","paddingRight"],scale:"spacing"},py:{property:"padding",properties:["paddingTop","paddingBottom"],scale:"spacing"},pt:{property:"paddingTop",scale:"spacing"},pb:{property:"paddingBottom",scale:"spacing"},pr:{property:"paddingRight",scale:"spacing"},pl:{property:"paddingLeft",scale:"spacing"}},Z=N().addGroup("flex",P).addGroup("grid",M).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}).addGroup("space",K).addGroup("color",{color:{property:"color",scale:"colors"},textColor:{property:"color",scale:"colors"},bg:{property:"backgroundColor",scale:"colors"},borderColor:{property:"borderColor",scale:"colors"},borderColorX:{property:"borderColor",properties:["borderLeftColor","borderRightColor"],scale:"colors"},borderColorY:{property:"borderColor",properties:["borderTopColor","borderBottomColor"],scale:"colors"},borderColorLeft:{property:"borderLeftColor",scale:"colors"},borderColorRight:{property:"borderRightColor",scale:"colors"},borderColorTop:{property:"borderTopColor",scale:"colors"},borderColorBottom:{property:"borderBottomColor",scale:"colors"}}).addGroup("layout",J).addGroup("borders",U).addGroup("shadows",{boxShadow:{property:"boxShadow"},textShadow:{property:"textShadow"}}).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("typography",{fontFamily:{property:"fontFamily",scale:"fontFamily"},fontWeight:{property:"fontWeight",scale:"fontWeight"},lineHeight:{property:"lineHeight",scale:"lineHeight",lineHeight:"lineHeight"},fontSize:{property:"fontSize",scale:"fontSize"},letterSpacing:{property:"letterSpacing"},textAlign:{property:"textAlign"},fontStyle:{property:"fontStyle"},textDecoration:{property:"textDecoration"},textTransform:{property:"textTransform"},whiteSpace:{property:"whiteSpace"}}).addGroup("positioning",q);Z.build();const rr=(e,t)=>r.pick(e,r.keys(e).filter((r=>!t.includes(r)))),er=["_","xs","sm","md","lg","xl"],tr=r=>`@media screen and (min-width: ${r}px)`,or={xs:480,sm:768,md:1024,lg:1200,xl:1440},sr=(e,t,o,s,i)=>{const p=r.get(o,t);switch(typeof p){case"string":case"number":case"function":return Object.assign(e,s.styleFn(p,t,o));case"object":if(!i.mediaQueries)return;if(n=p,Array.isArray(n))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,[n,...a]=r;return n&&Object.assign(s,i(n,p,e)),a.forEach(((r,t)=>{const n=o[t];n&&void 0!==r&&Object.assign(s,{[n]:i(r,p,e)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(e=>r.intersection(Object.keys(e),er).length>0)(p))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,{_:n,...a}=r;return n&&Object.assign(s,i(n,p,e)),Object.keys(o).forEach((r=>{const t=a[r];void 0!==t&&Object.assign(s,{[o[r]]:i(t,p,e)})})),s})(p,o,s,i.mediaQueries.map))}var n};function ir(e){const t=v(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:n}=s;return null===o.mediaQueries&&(o.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:i,xl:p}=e??{};return{map:r.mapValues(e,tr),array:[t,o,s,i,p].map(tr)}})(n?.breakpoints??or)),i?Object.keys(s).forEach((t=>{const i=e[t];i?sr(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];sr(p,r,s,t,o)})),null!==o.mediaQueries?((e,t)=>{const o=r.omit(e,t);return t.forEach((r=>{e[r]&&(o[r]=e[r])})),o})(p,o.mediaQueries.array):p}),{propNames:t,config:e})}function pr(e,t){const{transform:o=r.identity,property:s,properties:i=[s],scale:p,variable:n}=t,a=void 0===p||r.isArray(p);return{...t,prop:e,styleFn:(e,t,d)=>{const c={};if(r.isUndefined(e))return c;let l,u,g=!1;switch(typeof e){case"number":case"string":u=f(e,p,d.theme),g=void 0!==u||a,l=u??e;break;case"function":d.theme&&(l=e(d.theme));break;default:return c}if(i.forEach((e=>{let t=l;switch(g&&!r.isUndefined(t)&&(t=o(t,e,d)),typeof t){case"number":case"string":return c[e]=t;case"object":return Object.assign(c,t)}})),n){let e=l;g&&!r.isUndefined(e)&&(e=o(e,s,d)),e&&"object"!=typeof e&&(c[n]=e)}return c}}}function nr(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=pr(t,r[t]));return ir(e)}function ar(e){const t=nr(e),o=t.propNames;return e=>{let s;const i=Object.keys(e).filter((t=>!o.includes(t)&&r.isObject(e[t]))),p=rr(e,["theme",...i,...o]);return({theme:r})=>{if(s)return s;const n=t({...e,theme:r});return i.forEach((s=>{const i=e[s]??{};n[s]={...rr(i,o),...t({...i,theme:r})}})),s={...p,...n},s}}}const dr={compose:function(...r){return ir(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:nr,createCss:ar,createVariant:function(e){const t=ar(e);return({prop:e="variant",defaultVariant:o,base:s={},variants:i})=>{const p=t(s),n={};return Object.keys(i).forEach((r=>{const e=r,o=i[e];n[e]=t(o)})),t=>{const{[e]:s=o}=t,i={};return s?r.merge(i,p(t),n?.[s]?.(t)):i}}},createStates:function(e){const t=ar(e);return e=>{const o=Object.keys(e),s={};return o.forEach((r=>{const o=r,i=e[o];s[o]=t(i)})),e=>{const t={};return o.forEach((o=>{r.merge(t,e[o]&&s[o](e))})),t}}}},cr=Z.build();exports.AnimusConfig=H,exports.animus=cr,exports.animusProps=dr,exports.borderShorthand=m,exports.compatTheme=b,exports.config=Z,exports.createAnimus=N,exports.createScale=o,exports.gridItem=d,exports.gridItemRatio=u,exports.numberToPx=y,exports.numberToTemplate=g,exports.parseGridRatio=l,exports.percentageOrAbsolute=s,exports.repeatGridItem=c,exports.size=p;
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import{isArray as r,isObject as e,get as t,isString as o,isUndefined as s,identity as i,mapValues as p,omit as a,intersection as n,merge as d,pick as c,isEmpty as l,set as u,isNumber as g,keys as y}from"lodash";import m from"@emotion/styled";const f=()=>[],b={spacing:[0,4,8,12,16,24,32,40,48,64,96],fontSize:[64,44,34,26,22,20,18,16,14],lineHeight:{body:1.5,heading:1},fontWeight:[400,600,700],fontFamily:{body:"Verdana, sans-serif",heading:"Verdana, Lato, sans-serif",monospace:"monospace"},radii:[2,4,6,8],borders:[1,2,3],colors:{},modes:{},mode:void 0},h=(s,i,p)=>{if(r(i))return s;if(e(i))return t(i,s);if(o(i)){const e=t(p,i,t(b,i));if(!e)return;return r(e)?s:t(e,s)}},R=(e,t,o)=>{const p={},{transform:a=i,property:n,properties:d=[n],scale:c,variable:l}=o,u=void 0===c||r(c);if(s(e))return p;let g,y,m=!1;switch(typeof e){case"number":case"string":y=h(e,c,t?.theme),m=void 0!==y||u,g=y??e;break;case"function":t.theme&&(g=e(t.theme));break;default:return p}if(d.forEach((r=>{let e=g;switch(m&&!s(e)&&(e=a(e,r,t)),typeof e){case"number":case"string":return p[r]=e;case"object":return Object.assign(p,e)}})),l){let r=g;m&&!s(r)&&(r=a(r,n,t)),r&&"object"!=typeof r&&(p[l]=r)}return p},x=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],w=-1,S=1,v=1,j=(r,e)=>r<e?w:e<r?S:v,C=r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:i,properties:p=[]}=o,{property:a,properties:n=[]}=s,d=x.includes(i),c=x.includes(a);if(d&&c){const r=p.length,e=n.length;if(i!==a)return j(x.indexOf(i),x.indexOf(a));if(i===a){if(0===r)return w;if(0===e)return S}return j(e,r)}return d?w:c?S:v})),O=["_","xs","sm","md","lg","xl"],T=r=>`@media screen and (min-width: ${r}px)`,k={xs:480,sm:768,md:1024,lg:1200,xl:1440},E=(r,e,o,s,i)=>{const p=t(o,e);switch(typeof p){case"string":case"number":case"function":return Object.assign(r,R(p,o,s));case"object":if(!i.mediaQueries)return;if(a=p,Array.isArray(a))return d(r,((r,e,t,o)=>{const s={},[i,...p]=r;return i&&Object.assign(s,R(i,e,t)),p.forEach(((r,i)=>{const p=o[i];p&&void 0!==r&&Object.assign(s,{[p]:R(r,e,t)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(r=>n(Object.keys(r),O).length>0)(p))return d(r,((r,e,t,o)=>{const s={},{_:i,...p}=r;return i&&Object.assign(s,R(i,e,t)),Object.keys(o).forEach((r=>{const i=p[r];void 0!==i&&Object.assign(s,{[o[r]]:R(i,e,t)})})),s})(p,o,s,i.mediaQueries.map))}var a};function W(r){const e=C(r),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const n={},{theme:d}=s;return null===o.mediaQueries&&(o.mediaQueries=(r=>{if(void 0===r)return null;const{xs:e,sm:t,md:o,lg:s,xl:i}=r??{};return{map:p(r,T),array:[e,t,o,s,i].map(T)}})(d?.breakpoints??k)),i?Object.keys(s).forEach((e=>{const i=r[e];i?E(n,e,s,i,o):"theme"!==e&&Object.assign(n,{[e]:t(s,e)})})):e.forEach((e=>{const t=r[e];E(n,e,s,t,o)})),null!==o.mediaQueries?((r,e)=>{const t=a(r,e);return e.forEach((e=>{r[e]&&(t[e]=r[e])})),t})(n,o.mediaQueries.array):n}),{propNames:e,config:r})}const B=(r,e)=>{const t=Object.keys(r),o=Object.keys(e);return r=>{const e=[];return t.forEach((t=>{r[t]&&e.push(`${t}-${r[t]}`)})),o.forEach((t=>{r[t]&&e.push(t)})),e}},L=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},A=(r,e,t,o)=>{const{base:s}=e,{parser:i,getMediaSelectors:p,getActiveOverrides:a}=o,{theme:n}=t,d=Object.values(c(e,a(t))),u=p(t),[g,y]=L(i({...s,theme:n},!0),u);for(const e in g)r[e]=g[e];d.forEach((e=>{((r={},e,t,o,s,i)=>{const[p,a]=L(o({...r,theme:s},!0),i);for(const r in p)e[r]=p[r];i.forEach((r=>{const e=a[r];if(!e||l(e))return;t[r]||(t[r]={});const o=t[r];for(const r in e)o[r]=e[r]}))})(e,r,y,i,n,u)})),u.forEach((e=>{const t=y[e];l(t)||(r[e]=t)}))},G=(r,t={},o={},s={},i={})=>{const p=((r={},t={},o={},s)=>{const i={};return Object.entries(r).forEach((([r,t])=>{!s.includes(r)&&e(t)?u(i,[r,"base"],t):u(i,["primary","base",r],t)})),Object.entries(t).forEach((([r,{variants:t}])=>{Object.entries(t).forEach((([t,o])=>{const p=`${r}-${t}`;Object.entries(o).forEach((([r,t])=>{!s.includes(r)&&e(t)?u(i,[r,p],t):u(i,["primary",p,r],t)}))}))})),Object.entries(o).forEach((([r,t])=>{Object.entries(t).forEach((([t,o])=>{!s.includes(t)&&e(o)?u(i,[t,r],o):u(i,["primary",r,t],o)}))})),i})(t,o,s,r.propNames),a={parser:r,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??k;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:B(o,s)};return e=>{const{vars:t}=e,o={...t};return Object.entries(p).forEach((([r,t={}])=>{"primary"===r?A(o,t,e,a):(o[r]={},A(o[r],t,e,a))})),A(o,{base:r(e)},e,a),o}};class Q{propRegistry={};groupRegistry={};parser={};baseStyles={};statesConfig={};variants={};activeGroups={};custom={};constructor(r,e,t,o,s,i,p,a){this.propRegistry=r,this.groupRegistry=e,this.parser=t,this.baseStyles=o,this.variants=s,this.statesConfig=i,this.activeGroups=p,this.custom=a}asComponent(r){const e=G(W({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig,{});return m(r)(e)}build(){return G(W({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig,{})}}class $ extends Q{constructor(r,e,t,o,s,i,p){super(r,e,t,o,s,i,p,{})}props(r){return new Q(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,this.activeGroups,r)}}class F extends ${constructor(r,e,t,o,s,i){super(r,e,t,o,s,i,{})}groups(r){return new $(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,r)}}class H extends F{constructor(r,e,t,o,s){super(r,e,t,o,s,{})}states(r){return new F(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,r)}variant(r){const e=r.prop||"variant";return new H(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,d(this.variants,{[e]:r}))}}class z extends H{constructor(r,e,t,o){super(r,e,t,o,{})}variant(r){const e=r.prop||"variant";return new H(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,d(this.variants,{[e]:r}))}}class I extends z{constructor(r,e){super(r,e,W(r),{})}styles(r){return new z(this.propRegistry,this.groupRegistry,this.parser,r)}}class X{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new X({...this.#r,...e},{...this.#e,...t})}build(){const r=this.#r,e=this.#e;return new I(r,e)}}const Y=()=>new X,D=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,N=/(-?\d*\.?\d+)(%|\w*)/,V=r=>{if(g(r))return D(r);if(r.includes("calc"))return r;const[e,t,o]=N.exec(r)||[];if(void 0===e)return r;const s=parseFloat(t);return o?`${s}${o}`:D(s)},_={max:"max-content",min:"min-content"},M=new RegExp(/^[0-9]*$/),P=r=>{var e;return`minmax(0, ${e=r,M.test(e)?`${r}fr`:t(_,r,r)})`},q=(r,e)=>{const t=P(r);return e>1?`repeat(${e}, ${t})`:t},J=r=>{const e=r.split(":");let t=["",0],o="";for(let r=0;r<e.length+1;r+=1){const s=o.length>0?" ":"",i=e[r];t?.[0]!==i?(t[0].length&&(o+=s+q(...t)),i&&(t=[i,1])):t[1]+=1}return o},K=r=>g(r)?q("1",r):J(r),U=(r,e)=>"number"==typeof r?e(r):r,Z=r=>U(r,(r=>`${r}px`)),rr=r=>U(r,(r=>`${r}px solid currentColor`)),er=(r,e)=>c(r,y(r).filter((r=>!e.includes(r)))),tr=["_","xs","sm","md","lg","xl"],or=r=>`@media screen and (min-width: ${r}px)`,sr={xs:480,sm:768,md:1024,lg:1200,xl:1440},ir=(r,e,o,s,i)=>{const p=t(o,e);switch(typeof p){case"string":case"number":case"function":return Object.assign(r,s.styleFn(p,e,o));case"object":if(!i.mediaQueries)return;if(a=p,Array.isArray(a))return d(r,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,[a,...n]=r;return a&&Object.assign(s,i(a,p,e)),n.forEach(((r,t)=>{const a=o[t];a&&void 0!==r&&Object.assign(s,{[a]:i(r,p,e)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(r=>n(Object.keys(r),tr).length>0)(p))return d(r,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,{_:a,...n}=r;return a&&Object.assign(s,i(a,p,e)),Object.keys(o).forEach((r=>{const t=n[r];void 0!==t&&Object.assign(s,{[o[r]]:i(t,p,e)})})),s})(p,o,s,i.mediaQueries.map))}var a};function pr(r){const e=C(r),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const n={},{theme:d}=s;return null===o.mediaQueries&&(o.mediaQueries=(r=>{if(void 0===r)return null;const{xs:e,sm:t,md:o,lg:s,xl:i}=r??{};return{map:p(r,or),array:[e,t,o,s,i].map(or)}})(d?.breakpoints??sr)),i?Object.keys(s).forEach((e=>{const i=r[e];i?ir(n,e,s,i,o):"theme"!==e&&Object.assign(n,{[e]:t(s,e)})})):e.forEach((e=>{const t=r[e];ir(n,e,s,t,o)})),null!==o.mediaQueries?((r,e)=>{const t=a(r,e);return e.forEach((e=>{r[e]&&(t[e]=r[e])})),t})(n,o.mediaQueries.array):n}),{propNames:e,config:r})}function ar(e,t){const{transform:o=i,property:p,properties:a=[p],scale:n,variable:d}=t,c=void 0===n||r(n);return{...t,prop:e,styleFn:(r,e,t)=>{const i={};if(s(r))return i;let l,u,g=!1;switch(typeof r){case"number":case"string":u=h(r,n,t.theme),g=void 0!==u||c,l=u??r;break;case"function":t.theme&&(l=r(t.theme));break;default:return i}if(a.forEach((r=>{let e=l;switch(g&&!s(e)&&(e=o(e,r,t)),typeof e){case"number":case"string":return i[r]=e;case"object":return Object.assign(i,e)}})),d){let r=l;g&&!s(r)&&(r=o(r,p,t)),r&&"object"!=typeof r&&(i[d]=r)}return i}}}function nr(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=ar(t,r[t]));return pr(e)}function dr(r){const t=nr(r),o=t.propNames;return r=>{let s;const i=Object.keys(r).filter((t=>!o.includes(t)&&e(r[t]))),p=er(r,["theme",...i,...o]);return({theme:e})=>{if(s)return s;const a=t({...r,theme:e});return i.forEach((s=>{const i=r[s]??{};a[s]={...er(i,o),...t({...i,theme:e})}})),s={...p,...a},s}}}const cr={compose:function(...r){return pr(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:nr,createCss:dr,createVariant:function(r){const e=dr(r);return({prop:r="variant",defaultVariant:t,base:o={},variants:s})=>{const i=e(o),p={};return Object.keys(s).forEach((r=>{const t=r,o=s[t];p[t]=e(o)})),e=>{const{[r]:o=t}=e,s={};return o?d(s,i(e),p?.[o]?.(e)):s}}},createStates:function(r){const e=dr(r);return r=>{const t=Object.keys(r),o={};return t.forEach((t=>{const s=t,i=r[s];o[s]=e(i)})),r=>{const e={};return t.forEach((t=>{d(e,r[t]&&o[t](r))})),e}}}},lr={border:{property:"border",scale:"borders",transform:rr},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:rr},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:rr},borderTop:{property:"borderTop",scale:"borders",transform:rr},borderRight:{property:"borderRight",scale:"borders",transform:rr},borderBottom:{property:"borderBottom",scale:"borders",transform:rr},borderLeft:{property:"borderLeft",scale:"borders",transform:rr},borderWidth:{property:"borderWidth"},borderWidthX:{property:"borderWidth",properties:["borderLeftWidth","borderRightWidth"]},borderWidthY:{property:"borderWidth",properties:["borderTopWidth","borderBottomWidth"]},borderWidthLeft:{property:"borderLeftWidth"},borderWidthRight:{property:"borderRightWidth"},borderWidthTop:{property:"borderTopWidth"},borderWidthBottom:{property:"borderBottomWidth"},borderRadius:{property:"borderRadius",scale:"radii",transform:Z},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii",transform:Z},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii",transform:Z},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii",transform:Z},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii",transform:Z},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii",transform:Z},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii",transform:Z},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii",transform:Z},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii",transform:Z},borderStyle:{property:"borderStyle"},borderStyleX:{property:"borderStyle",properties:["borderLeftStyle","borderRightStyle"]},borderStyleY:{property:"borderStyle",properties:["borderTopStyle","borderBottomStyle"]},borderStyleLeft:{property:"borderLeftStyle"},borderStyleRight:{property:"borderRightStyle"},borderStyleTop:{property:"borderTopStyle"},borderStyleBottom:{property:"borderBottomStyle"}},ur={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},gr={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},yr={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...gr},mr={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},fr={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...yr,...mr,...ur},br={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},hr={gridAutoColumns:{property:"gridAutoColumns"},gridAutoRows:{property:"gridAutoRows"},gridTemplateColumns:{property:"gridTemplateColumns"},gridTemplateRows:{property:"gridTemplateRows"},gridTemplateAreas:{property:"gridTemplateAreas"},gridAutoFlow:{property:"gridAutoFlow"},flow:{property:"gridAutoFlow",scale:[]},cols:{property:"gridTemplateColumns",transform:K,scale:[]},rows:{property:"gridTemplateRows",transform:K,scale:[]},autoRows:{property:"gridAutoRows",transform:P},autoCols:{property:"gridAutoColumns",transform:P},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...yr,...br,...ur},Rr={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:V},top:{property:"top",transform:V},right:{property:"right",transform:V},bottom:{property:"bottom",transform:V},left:{property:"left",transform:V},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},xr={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:V},width:{property:"width",transform:V},minWidth:{property:"minWidth",transform:V},maxWidth:{property:"maxWidth",transform:V},height:{property:"height",transform:V},minHeight:{property:"minHeight",transform:V},maxHeight:{property:"maxHeight",transform:V},verticalAlign:{property:"verticalAlign"},...gr,...br,...mr},wr={m:{property:"margin",scale:"spacing"},mx:{property:"margin",properties:["marginLeft","marginRight"],scale:"spacing"},my:{property:"margin",properties:["marginTop","marginBottom"],scale:"spacing"},mt:{property:"marginTop",scale:"spacing"},mb:{property:"marginBottom",scale:"spacing"},mr:{property:"marginRight",scale:"spacing"},ml:{property:"marginLeft",scale:"spacing"},p:{property:"padding",scale:"spacing"},px:{property:"padding",properties:["paddingLeft","paddingRight"],scale:"spacing"},py:{property:"padding",properties:["paddingTop","paddingBottom"],scale:"spacing"},pt:{property:"paddingTop",scale:"spacing"},pb:{property:"paddingBottom",scale:"spacing"},pr:{property:"paddingRight",scale:"spacing"},pl:{property:"paddingLeft",scale:"spacing"}},Sr=Y().addGroup("flex",fr).addGroup("grid",hr).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}).addGroup("space",wr).addGroup("color",{color:{property:"color",scale:"colors"},textColor:{property:"color",scale:"colors"},bg:{property:"backgroundColor",scale:"colors"},borderColor:{property:"borderColor",scale:"colors"},borderColorX:{property:"borderColor",properties:["borderLeftColor","borderRightColor"],scale:"colors"},borderColorY:{property:"borderColor",properties:["borderTopColor","borderBottomColor"],scale:"colors"},borderColorLeft:{property:"borderLeftColor",scale:"colors"},borderColorRight:{property:"borderRightColor",scale:"colors"},borderColorTop:{property:"borderTopColor",scale:"colors"},borderColorBottom:{property:"borderBottomColor",scale:"colors"}}).addGroup("layout",xr).addGroup("borders",lr).addGroup("shadows",{boxShadow:{property:"boxShadow"},textShadow:{property:"textShadow"}}).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("typography",{fontFamily:{property:"fontFamily",scale:"fontFamily"},fontWeight:{property:"fontWeight",scale:"fontWeight"},lineHeight:{property:"lineHeight",scale:"lineHeight",lineHeight:"lineHeight"},fontSize:{property:"fontSize",scale:"fontSize"},letterSpacing:{property:"letterSpacing"},textAlign:{property:"textAlign"},fontStyle:{property:"fontStyle"},textDecoration:{property:"textDecoration"},textTransform:{property:"textTransform"},whiteSpace:{property:"whiteSpace"}}).addGroup("positioning",Rr);Sr.build();const vr=Sr.build();export{X as AnimusConfig,vr as animus,cr as animusProps,rr as borderShorthand,b as compatTheme,Sr as config,Y as createAnimus,f as createScale,P as gridItem,K as gridItemRatio,Z as numberToPx,U as numberToTemplate,J as parseGridRatio,D as percentageOrAbsolute,q as repeatGridItem,V as size};
1
+ import{isNumber as r,get as e,isArray as t,isObject as o,isString as s,isUndefined as i,identity as p,mapValues as a,omit as n,intersection as d,merge as c,pick as l,isEmpty as u,set as g,keys as y}from"lodash";import m from"@emotion/styled";const f=()=>[],b=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,h=/(-?\d*\.?\d+)(%|\w*)/,R=e=>{if(r(e))return b(e);if(e.includes("calc"))return e;const[t,o,s]=h.exec(e)||[];if(void 0===t)return e;const i=parseFloat(o);return s?`${i}${s}`:b(i)},x={max:"max-content",min:"min-content"},w=new RegExp(/^[0-9]*$/),S=r=>{var t;return`minmax(0, ${t=r,w.test(t)?`${r}fr`:e(x,r,r)})`},v=(r,e)=>{const t=S(r);return e>1?`repeat(${e}, ${t})`:t},j=r=>{const e=r.split(":");let t=["",0],o="";for(let r=0;r<e.length+1;r+=1){const s=o.length>0?" ":"",i=e[r];t?.[0]!==i?(t[0].length&&(o+=s+v(...t)),i&&(t=[i,1])):t[1]+=1}return o},C=e=>r(e)?v("1",e):j(e),O=(r,e)=>"number"==typeof r?e(r):r,T=r=>O(r,(r=>`${r}px`)),k=r=>O(r,(r=>`${r}px solid currentColor`)),E={spacing:[0,4,8,12,16,24,32,40,48,64,96],fontSize:[64,44,34,26,22,20,18,16,14],lineHeight:{body:1.5,heading:1},fontWeight:[400,600,700],fontFamily:{body:"Verdana, sans-serif",heading:"Verdana, Lato, sans-serif",monospace:"monospace"},radii:[2,4,6,8],borders:[1,2,3],colors:{},modes:{},mode:void 0},W=(r,i,p)=>{if(t(i))return r;if(o(i))return e(i,r);if(s(i)){const o=e(p,i,e(E,i));if(!o)return;return t(o)?r:e(o,r)}},B=(r,e,o)=>{const s={},{transform:a=p,property:n,properties:d=[n],scale:c,variable:l}=o,u=void 0===c||t(c);if(i(r))return s;let g,y,m=!1;switch(typeof r){case"number":case"string":y=W(r,c,e?.theme),m=void 0!==y||u,g=y??r;break;case"function":e.theme&&(g=r(e.theme));break;default:return s}if(d.forEach((r=>{let t=g;switch(m&&!i(t)&&(t=a(t,r,e)),typeof t){case"number":case"string":return s[r]=t;case"object":return Object.assign(s,t)}})),l){let r=g;m&&!i(r)&&(r=a(r,n,e)),r&&"object"!=typeof r&&(s[l]=r)}return s},L=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],A=-1,G=1,Q=1,$=(r,e)=>r<e?A:e<r?G:Q,F=r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:i,properties:p=[]}=o,{property:a,properties:n=[]}=s,d=L.includes(i),c=L.includes(a);if(d&&c){const r=p.length,e=n.length;if(i!==a)return $(L.indexOf(i),L.indexOf(a));if(i===a){if(0===r)return A;if(0===e)return G}return $(e,r)}return d?A:c?G:Q})),H=["_","xs","sm","md","lg","xl"],z=r=>`@media screen and (min-width: ${r}px)`,I={xs:480,sm:768,md:1024,lg:1200,xl:1440},X=(r,t,o,s,i)=>{const p=e(o,t);switch(typeof p){case"string":case"number":case"function":return Object.assign(r,B(p,o,s));case"object":if(!i.mediaQueries)return;if(a=p,Array.isArray(a))return c(r,((r,e,t,o)=>{const s={},[i,...p]=r;return i&&Object.assign(s,B(i,e,t)),p.forEach(((r,i)=>{const p=o[i];p&&void 0!==r&&Object.assign(s,{[p]:B(r,e,t)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(r=>d(Object.keys(r),H).length>0)(p))return c(r,((r,e,t,o)=>{const s={},{_:i,...p}=r;return i&&Object.assign(s,B(i,e,t)),Object.keys(o).forEach((r=>{const i=p[r];void 0!==i&&Object.assign(s,{[o[r]]:B(i,e,t)})})),s})(p,o,s,i.mediaQueries.map))}var a};function Y(r){const t=F(r),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:d}=s;return null===o.mediaQueries&&(o.mediaQueries=(r=>{if(void 0===r)return null;const{xs:e,sm:t,md:o,lg:s,xl:i}=r??{};return{map:a(r,z),array:[e,t,o,s,i].map(z)}})(d?.breakpoints??I)),i?Object.keys(s).forEach((t=>{const i=r[t];i?X(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:e(s,t)})})):t.forEach((e=>{const t=r[e];X(p,e,s,t,o)})),null!==o.mediaQueries?((r,e)=>{const t=n(r,e);return e.forEach((e=>{r[e]&&(t[e]=r[e])})),t})(p,o.mediaQueries.array):p}),{propNames:t,config:r})}const D=(r,e)=>{const t=Object.keys(r),o=Object.keys(e);return r=>{const e=[];return t.forEach((t=>{r[t]&&e.push(`${t}-${r[t]}`)})),o.forEach((t=>{r[t]&&e.push(t)})),e}},N=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},V=(r,e,t,o)=>{const{base:s}=e,{parser:i,getMediaSelectors:p,getActiveOverrides:a}=o,{theme:n}=t,d=Object.values(l(e,a(t))),c=p(t),[g,y]=N(i({...s,theme:n},!0),c);for(const e in g)r[e]=g[e];d.forEach((e=>{((r={},e,t,o,s,i)=>{const[p,a]=N(o({...r,theme:s},!0),i);for(const r in p)e[r]=p[r];i.forEach((r=>{const e=a[r];if(!e||u(e))return;t[r]||(t[r]={});const o=t[r];for(const r in e)o[r]=e[r]}))})(e,r,y,i,n,c)})),c.forEach((e=>{const t=y[e];u(t)||(r[e]=t)}))},_=(r,e={},t={},s={})=>{const i=((r={},e={},t={},s)=>{const i={};return Object.entries(r).forEach((([r,e])=>{!s.includes(r)&&o(e)?g(i,[r,"base"],e):g(i,["primary","base",r],e)})),Object.entries(e).forEach((([r,{variants:e}])=>{Object.entries(e).forEach((([e,t])=>{const p=`${r}-${e}`;Object.entries(t).forEach((([r,e])=>{!s.includes(r)&&o(e)?g(i,[r,p],e):g(i,["primary",p,r],e)}))}))})),Object.entries(t).forEach((([r,e])=>{Object.entries(e).forEach((([e,t])=>{!s.includes(e)&&o(t)?g(i,[e,r],t):g(i,["primary",r,e],t)}))})),i})(e,t,s,r.propNames),p={parser:r,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??I;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:D(t,s)};return e=>{const{vars:t}=e,o={...t};return Object.entries(i).forEach((([r,t={}])=>{"primary"===r?V(o,t,e,p):(o[r]={},V(o[r],t,e,p))})),V(o,{base:r(e)},e,p),o}};class M{propRegistry={};groupRegistry={};parser={};baseStyles={};statesConfig={};variants={};activeGroups={};custom={};constructor(r,e,t,o,s,i,p,a){this.propRegistry=r,this.groupRegistry=e,this.parser=t,this.baseStyles=o,this.variants=s,this.statesConfig=i,this.activeGroups=p,this.custom=a}asComponent(r){const e=_(Y({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig);return m(r)(e)}build(){return _(Y({...this.parser.config,...this.custom}),this.baseStyles,this.variants,this.statesConfig)}}class P extends M{constructor(r,e,t,o,s,i,p){super(r,e,t,o,s,i,p,{})}props(r){return new M(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,this.activeGroups,r)}}class q extends P{constructor(r,e,t,o,s,i){super(r,e,t,o,s,i,{})}groups(r){return new P(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,this.statesConfig,r)}}class J extends q{constructor(r,e,t,o,s){super(r,e,t,o,s,{})}states(r){return new q(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,this.variants,r)}variant(r){const e=r.prop||"variant";return new J(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,c(this.variants,{[e]:r}))}}class K extends J{constructor(r,e,t,o){super(r,e,t,o,{})}variant(r){const e=r.prop||"variant";return new J(this.propRegistry,this.groupRegistry,this.parser,this.baseStyles,c(this.variants,{[e]:r}))}}class U extends K{constructor(r,e){super(r,e,Y(r),{})}styles(r){return new K(this.propRegistry,this.groupRegistry,this.parser,r)}}class Z{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new Z({...this.#r,...e},{...this.#e,...t})}build(){const r=this.#r,e=this.#e;return new U(r,e)}}const rr=()=>new Z,er={border:{property:"border",scale:"borders",transform:k},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:k},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:k},borderTop:{property:"borderTop",scale:"borders",transform:k},borderRight:{property:"borderRight",scale:"borders",transform:k},borderBottom:{property:"borderBottom",scale:"borders",transform:k},borderLeft:{property:"borderLeft",scale:"borders",transform:k},borderWidth:{property:"borderWidth"},borderWidthX:{property:"borderWidth",properties:["borderLeftWidth","borderRightWidth"]},borderWidthY:{property:"borderWidth",properties:["borderTopWidth","borderBottomWidth"]},borderWidthLeft:{property:"borderLeftWidth"},borderWidthRight:{property:"borderRightWidth"},borderWidthTop:{property:"borderTopWidth"},borderWidthBottom:{property:"borderBottomWidth"},borderRadius:{property:"borderRadius",scale:"radii",transform:T},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii",transform:T},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii",transform:T},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii",transform:T},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii",transform:T},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii",transform:T},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii",transform:T},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii",transform:T},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii",transform:T},borderStyle:{property:"borderStyle"},borderStyleX:{property:"borderStyle",properties:["borderLeftStyle","borderRightStyle"]},borderStyleY:{property:"borderStyle",properties:["borderTopStyle","borderBottomStyle"]},borderStyleLeft:{property:"borderLeftStyle"},borderStyleRight:{property:"borderRightStyle"},borderStyleTop:{property:"borderTopStyle"},borderStyleBottom:{property:"borderBottomStyle"}},tr={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},or={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},sr={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...or},ir={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},pr={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...sr,...ir,...tr},ar={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},nr={gridAutoColumns:{property:"gridAutoColumns"},gridAutoRows:{property:"gridAutoRows"},gridTemplateColumns:{property:"gridTemplateColumns"},gridTemplateRows:{property:"gridTemplateRows"},gridTemplateAreas:{property:"gridTemplateAreas"},gridAutoFlow:{property:"gridAutoFlow"},flow:{property:"gridAutoFlow",scale:[]},cols:{property:"gridTemplateColumns",transform:C,scale:[]},rows:{property:"gridTemplateRows",transform:C,scale:[]},autoRows:{property:"gridAutoRows",transform:S},autoCols:{property:"gridAutoColumns",transform:S},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...sr,...ar,...tr},dr={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:R},top:{property:"top",transform:R},right:{property:"right",transform:R},bottom:{property:"bottom",transform:R},left:{property:"left",transform:R},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},cr={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:R},width:{property:"width",transform:R},minWidth:{property:"minWidth",transform:R},maxWidth:{property:"maxWidth",transform:R},height:{property:"height",transform:R},minHeight:{property:"minHeight",transform:R},maxHeight:{property:"maxHeight",transform:R},verticalAlign:{property:"verticalAlign"},...or,...ar,...ir},lr={m:{property:"margin",scale:"spacing"},mx:{property:"margin",properties:["marginLeft","marginRight"],scale:"spacing"},my:{property:"margin",properties:["marginTop","marginBottom"],scale:"spacing"},mt:{property:"marginTop",scale:"spacing"},mb:{property:"marginBottom",scale:"spacing"},mr:{property:"marginRight",scale:"spacing"},ml:{property:"marginLeft",scale:"spacing"},p:{property:"padding",scale:"spacing"},px:{property:"padding",properties:["paddingLeft","paddingRight"],scale:"spacing"},py:{property:"padding",properties:["paddingTop","paddingBottom"],scale:"spacing"},pt:{property:"paddingTop",scale:"spacing"},pb:{property:"paddingBottom",scale:"spacing"},pr:{property:"paddingRight",scale:"spacing"},pl:{property:"paddingLeft",scale:"spacing"}},ur=rr().addGroup("flex",pr).addGroup("grid",nr).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}).addGroup("space",lr).addGroup("color",{color:{property:"color",scale:"colors"},textColor:{property:"color",scale:"colors"},bg:{property:"backgroundColor",scale:"colors"},borderColor:{property:"borderColor",scale:"colors"},borderColorX:{property:"borderColor",properties:["borderLeftColor","borderRightColor"],scale:"colors"},borderColorY:{property:"borderColor",properties:["borderTopColor","borderBottomColor"],scale:"colors"},borderColorLeft:{property:"borderLeftColor",scale:"colors"},borderColorRight:{property:"borderRightColor",scale:"colors"},borderColorTop:{property:"borderTopColor",scale:"colors"},borderColorBottom:{property:"borderBottomColor",scale:"colors"}}).addGroup("layout",cr).addGroup("borders",er).addGroup("shadows",{boxShadow:{property:"boxShadow"},textShadow:{property:"textShadow"}}).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("typography",{fontFamily:{property:"fontFamily",scale:"fontFamily"},fontWeight:{property:"fontWeight",scale:"fontWeight"},lineHeight:{property:"lineHeight",scale:"lineHeight",lineHeight:"lineHeight"},fontSize:{property:"fontSize",scale:"fontSize"},letterSpacing:{property:"letterSpacing"},textAlign:{property:"textAlign"},fontStyle:{property:"fontStyle"},textDecoration:{property:"textDecoration"},textTransform:{property:"textTransform"},whiteSpace:{property:"whiteSpace"}}).addGroup("positioning",dr);ur.build();const gr=(r,e)=>l(r,y(r).filter((r=>!e.includes(r)))),yr=["_","xs","sm","md","lg","xl"],mr=r=>`@media screen and (min-width: ${r}px)`,fr={xs:480,sm:768,md:1024,lg:1200,xl:1440},br=(r,t,o,s,i)=>{const p=e(o,t);switch(typeof p){case"string":case"number":case"function":return Object.assign(r,s.styleFn(p,t,o));case"object":if(!i.mediaQueries)return;if(a=p,Array.isArray(a))return c(r,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,[a,...n]=r;return a&&Object.assign(s,i(a,p,e)),n.forEach(((r,t)=>{const a=o[t];a&&void 0!==r&&Object.assign(s,{[a]:i(r,p,e)})})),s})(p,o,s,i.mediaQueries.array));if(p&&(r=>d(Object.keys(r),yr).length>0)(p))return c(r,((r,e,t,o)=>{const s={},{styleFn:i,prop:p}=t,{_:a,...n}=r;return a&&Object.assign(s,i(a,p,e)),Object.keys(o).forEach((r=>{const t=n[r];void 0!==t&&Object.assign(s,{[o[r]]:i(t,p,e)})})),s})(p,o,s,i.mediaQueries.map))}var a};function hr(r){const t=F(r),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:d}=s;return null===o.mediaQueries&&(o.mediaQueries=(r=>{if(void 0===r)return null;const{xs:e,sm:t,md:o,lg:s,xl:i}=r??{};return{map:a(r,mr),array:[e,t,o,s,i].map(mr)}})(d?.breakpoints??fr)),i?Object.keys(s).forEach((t=>{const i=r[t];i?br(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:e(s,t)})})):t.forEach((e=>{const t=r[e];br(p,e,s,t,o)})),null!==o.mediaQueries?((r,e)=>{const t=n(r,e);return e.forEach((e=>{r[e]&&(t[e]=r[e])})),t})(p,o.mediaQueries.array):p}),{propNames:t,config:r})}function Rr(r,e){const{transform:o=p,property:s,properties:a=[s],scale:n,variable:d}=e,c=void 0===n||t(n);return{...e,prop:r,styleFn:(r,e,t)=>{const p={};if(i(r))return p;let l,u,g=!1;switch(typeof r){case"number":case"string":u=W(r,n,t.theme),g=void 0!==u||c,l=u??r;break;case"function":t.theme&&(l=r(t.theme));break;default:return p}if(a.forEach((r=>{let e=l;switch(g&&!i(e)&&(e=o(e,r,t)),typeof e){case"number":case"string":return p[r]=e;case"object":return Object.assign(p,e)}})),d){let r=l;g&&!i(r)&&(r=o(r,s,t)),r&&"object"!=typeof r&&(p[d]=r)}return p}}}function xr(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=Rr(t,r[t]));return hr(e)}function wr(r){const e=xr(r),t=e.propNames;return r=>{let s;const i=Object.keys(r).filter((e=>!t.includes(e)&&o(r[e]))),p=gr(r,["theme",...i,...t]);return({theme:o})=>{if(s)return s;const a=e({...r,theme:o});return i.forEach((s=>{const i=r[s]??{};a[s]={...gr(i,t),...e({...i,theme:o})}})),s={...p,...a},s}}}const Sr={compose:function(...r){return hr(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:xr,createCss:wr,createVariant:function(r){const e=wr(r);return({prop:r="variant",defaultVariant:t,base:o={},variants:s})=>{const i=e(o),p={};return Object.keys(s).forEach((r=>{const t=r,o=s[t];p[t]=e(o)})),e=>{const{[r]:o=t}=e,s={};return o?c(s,i(e),p?.[o]?.(e)):s}}},createStates:function(r){const e=wr(r);return r=>{const t=Object.keys(r),o={};return t.forEach((t=>{const s=t,i=r[s];o[s]=e(i)})),r=>{const e={};return t.forEach((t=>{c(e,r[t]&&o[t](r))})),e}}}},vr=ur.build();export{Z as AnimusConfig,vr as animus,Sr as animusProps,k as borderShorthand,E as compatTheme,ur as config,rr as createAnimus,f as createScale,S as gridItem,C as gridItemRatio,T as numberToPx,O as numberToTemplate,j as parseGridRatio,b as percentageOrAbsolute,v as repeatGridItem,R as size};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  /**
2
3
  * Emotion will not attempt to forward all system props - so this pre filters all possible exceptions to search agains
3
4
  * props like `color` and `width`.
@@ -1,3 +1,3 @@
1
1
  import { Prop } from '../types/config';
2
2
  import { AbstractProps, CSSObject } from '..';
3
- export declare const createPropertyStyle: <Config extends Prop, Value extends unknown>(value: Value, props: AbstractProps, config: Config) => CSSObject;
3
+ export declare const createPropertyStyle: <Config extends Prop, Value>(value: Value, props: AbstractProps, config: Config) => CSSObject;
@@ -1,2 +1,2 @@
1
1
  import { AbstractParser } from '../types/config';
2
- export declare const createStylist: (parser: AbstractParser, base?: Record<string, any>, variants?: Record<string, any>, states?: Record<string, any>, defaults?: Record<string, any>) => (props: any) => any;
2
+ export declare const createStylist: (parser: AbstractParser, base?: Record<string, any>, variants?: Record<string, any>, states?: Record<string, any>) => (props: any) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@animus-ui/core",
3
3
  "description": "Constraint based CSS in JS Foundations",
4
- "version": "0.1.1-beta.8",
4
+ "version": "0.1.1-beta.9",
5
5
  "keywords": [
6
6
  "emotion",
7
7
  "css",
@@ -23,9 +23,11 @@
23
23
  "scripts": {
24
24
  "build:clean": "rm -rf ./dist",
25
25
  "build": "yarn build:clean && rollup -c",
26
- "lernaBuildTask": "yarn build"
26
+ "lernaBuildTask": "yarn build",
27
+ "compile": "tsc --noEmit"
27
28
  },
28
29
  "peerDependencies": {
30
+ "@emotion/is-prop-valid": "^1.1.1",
29
31
  "@emotion/react": ">=11.0.0",
30
32
  "@emotion/styled": ">=11.0.0",
31
33
  "lodash": "*",
@@ -34,5 +36,5 @@
34
36
  "dependencies": {
35
37
  "csstype": "^3.0.7"
36
38
  },
37
- "gitHead": "8ecdcfba58bd23efdd50b732cb72f234fa8739d2"
39
+ "gitHead": "4eb343b48a448f4e19eb2f2b96c66c9a64d60019"
38
40
  }