@animus-ui/core 0.1.1-beta.7 → 0.1.1-beta.8
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 +8 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/transforms/utils.d.ts +1 -0
- package/package.json +2 -2
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.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
|
+
|
|
8
|
+
**Note:** Version bump only for package @animus-ui/core
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [0.1.1-beta.7](https://github.com/codecaaron/animus/compare/@animus-ui/core@0.1.1-beta.6...@animus-ui/core@0.1.1-beta.7) (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)=>r.isString(t)&&o?.hasOwnProperty(t)?r.get(o,[t,e]):r.isString(t)&&s?.hasOwnProperty(t)?r.get(s,[t,e]):r.isArray(t)?e:r.isObject(t)?r.get(t,e):void 0,p=(e,t,o)=>{const s={},{transform:p=r.identity,property:a,properties:n=[a],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(n.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,a,t)),e&&"object"!=typeof e&&(s[c]=e)}return s},a=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],n=-1,d=1,c=1,l=(r,e)=>r<e?n: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=a.includes(i),m=a.includes(u);if(y&&m){const r=p.length,e=g.length;if(i!==u)return l(a.indexOf(i),a.indexOf(u));if(i===u){if(0===r)return n;if(0===e)return d}return l(e,r)}return y?n: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 a=r.get(o,t);switch(typeof a){case"string":case"number":case"function":return Object.assign(e,p(a,o,s));case"object":if(!i.mediaQueries)return;if(n=a,Array.isArray(n))return r.merge(e,((r,e,t,o)=>{const s={},[i,...a]=r;return i&&Object.assign(s,p(i,e,t)),a.forEach(((r,i)=>{const a=o[i];a&&void 0!==r&&Object.assign(s,{[a]:p(r,e,t)})})),s})(a,o,s,i.mediaQueries.array));if(a&&(e=>r.intersection(Object.keys(e),g).length>0)(a))return r.merge(e,((r,e,t,o)=>{const s={},{_:i,...a}=r;return i&&Object.assign(s,p(i,e,t)),Object.keys(o).forEach((r=>{const i=a[r];void 0!==i&&Object.assign(s,{[o[r]]:p(i,e,t)})})),s})(a,o,s,i.mediaQueries.map))}var n};function f(e){const t=u(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:a}=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)}})(a?.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:a,getActiveOverrides:n}=s,{theme:d}=o,c=Object.values(r.pick(t,n(o))),l=a(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[a,n]=R(s({...e,theme:i},!0),p);for(const r in a)t[r]=a[r];p.forEach((e=>{const t=n[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),a={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,a):(o[e]={},x(o[e],t,r,a))})),x(o,{base:e(r)},r,a),o}};class S{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=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=>"number"==typeof r?`${r}px`:r,H=r=>`${z(r)} solid currentColor`,P=(e,t)=>r.pick(e,r.keys(e).filter((r=>!t.includes(r)))),N=["_","xs","sm","md","lg","xl"],U=r=>`@media screen and (min-width: ${r}px)`,V={xs:480,sm:768,md:1024,lg:1200,xl:1440},X=(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(a=p,Array.isArray(a))return r.merge(e,((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&&(e=>r.intersection(Object.keys(e),N).length>0)(p))return r.merge(e,((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 Y(e){const t=u(e),o={mediaQueries:null};return Object.assign(((s,i=!1)=>{const p={},{theme:a}=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,U),array:[t,o,s,i,p].map(U)}})(a?.breakpoints??V)),i?Object.keys(s).forEach((t=>{const i=e[t];i?X(p,t,s,i,o):"theme"!==t&&Object.assign(p,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];X(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 _(e,t){const{transform:o=r.identity,property:s,properties:p=[s],scale:a,variable:n}=t,d=void 0===a||r.isArray(a);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,a,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)}})),n){let e=u;y&&!r.isUndefined(e)&&(e=o(e,s,c)),e&&"object"!=typeof e&&(l[n]=e)}return l}}}function D(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=_(t,r[t]));return Y(e)}function M(e){const t=D(e),o=t.propNames;return e=>{let s;const i=Object.keys(e).filter((t=>!o.includes(t)&&r.isObject(e[t]))),p=P(e,["theme",...i,...o]);return({theme:r})=>{if(s)return s;const a=t({...e,theme:r});return i.forEach((s=>{const i=e[s]??{};a[s]={...P(i,o),...t({...i,theme:r})}})),s={...p,...a},s}}}const q={compose:function(...r){return Y(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:D,createCss:M,createVariant:function(e){const t=M(e);return({prop:e="variant",defaultVariant:o,base:s={},variants:i})=>{const p=t(s),a={};return Object.keys(i).forEach((r=>{const e=r,o=i[e];a[e]=t(o)})),t=>{const{[e]:s=o}=t,i={};return s?r.merge(i,p(t),a?.[s]?.(t)):i}}},createStates:function(e){const t=M(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}}}},J={border:{property:"border",scale:"borders",transform:H},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:H},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:H},borderTop:{property:"borderTop",scale:"borders",transform:H},borderRight:{property:"borderRight",scale:"borders",transform:H},borderBottom:{property:"borderBottom",scale:"borders",transform:H},borderLeft:{property:"borderLeft",scale:"borders",transform:H},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"}},K={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},Z={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},rr={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...Z},er={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},tr={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...rr,...er,...K},or={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},sr={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"]},...rr,...or,...K},ir={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"}},pr={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"},...Z,...or,...er},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"}},nr=E().addGroup("flex",tr).addGroup("grid",sr).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",pr).addGroup("borders",J).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",ir);nr.build();const dr=nr.build();exports.AnimusConfig=k,exports.animus=dr,exports.animusProps=q,exports.borderShorthand=H,exports.compatTheme=s,exports.config=nr,exports.createAnimus=E,exports.createScale=o,exports.gridItem=Q,exports.gridItemRatio=I,exports.numberToPx=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={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;
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isString as r,get as e,isArray as t,isObject 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 y,keys as g}from"lodash";import m from"@emotion/styled";const b=()=>[],f={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)=>r(i)&&p?.hasOwnProperty(i)?e(p,[i,s]):r(i)&&f?.hasOwnProperty(i)?e(f,[i,s]):t(i)?s:o(i)?e(i,s):void 0,R=(r,e,o)=>{const p={},{transform:a=i,property:n,properties:d=[n],scale:c,variable:l}=o,u=void 0===c||t(c);if(s(r))return p;let y,g,m=!1;switch(typeof r){case"number":case"string":g=h(r,c,e?.theme),m=void 0!==g||u,y=g??r;break;case"function":e.theme&&(y=r(e.theme));break;default:return p}if(d.forEach((r=>{let t=y;switch(m&&!s(t)&&(t=a(t,r,e)),typeof t){case"number":case"string":return p[r]=t;case"object":return Object.assign(p,t)}})),l){let r=y;m&&!s(r)&&(r=a(r,n,e)),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,t,o,s,i)=>{const p=e(o,t);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 t=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((t=>{const i=r[t];i?E(n,t,s,i,o):"theme"!==t&&Object.assign(n,{[t]:e(s,t)})})):t.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:t,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),[y,g]=L(i({...s,theme:n},!0),u);for(const e in y)r[e]=y[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,g,i,n,u)})),u.forEach((e=>{const t=g[e];l(t)||(r[e]=t)}))},G=(r,e={},t={},s={},i={})=>{const p=((r={},e={},t={},s)=>{const i={};return Object.entries(r).forEach((([r,e])=>{!s.includes(r)&&o(e)?u(i,[r,"base"],e):u(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)?u(i,[r,p],e):u(i,["primary",p,r],e)}))}))})),Object.entries(t).forEach((([r,e])=>{Object.entries(e).forEach((([e,t])=>{!s.includes(e)&&o(t)?u(i,[e,r],t):u(i,["primary",r,e],t)}))})),i})(e,t,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(t,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*)/,P=r=>{if(y(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)},V={max:"max-content",min:"min-content"},_=new RegExp(/^[0-9]*$/),M=r=>{var t;return`minmax(0, ${t=r,_.test(t)?`${r}fr`:e(V,r,r)})`},q=(r,e)=>{const t=M(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=>y(r)?q("1",r):J(r),U=r=>"number"==typeof r?`${r}px`:r,Z=r=>`${U(r)} solid currentColor`,rr=(r,e)=>c(r,g(r).filter((r=>!e.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=(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 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),er).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 ir(r){const t=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,tr),array:[e,t,o,s,i].map(tr)}})(d?.breakpoints??or)),i?Object.keys(s).forEach((t=>{const i=r[t];i?sr(n,t,s,i,o):"theme"!==t&&Object.assign(n,{[t]:e(s,t)})})):t.forEach((e=>{const t=r[e];sr(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:t,config:r})}function pr(r,e){const{transform:o=i,property:p,properties:a=[p],scale:n,variable:d}=e,c=void 0===n||t(n);return{...e,prop:r,styleFn:(r,e,t)=>{const i={};if(s(r))return i;let l,u,y=!1;switch(typeof r){case"number":case"string":u=h(r,n,t.theme),y=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(y&&!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;y&&!s(r)&&(r=o(r,p,t)),r&&"object"!=typeof r&&(i[d]=r)}return i}}}function ar(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=pr(t,r[t]));return ir(e)}function nr(r){const e=ar(r),t=e.propNames;return r=>{let s;const i=Object.keys(r).filter((e=>!t.includes(e)&&o(r[e]))),p=rr(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]={...rr(i,t),...e({...i,theme:o})}})),s={...p,...a},s}}}const dr={compose:function(...r){return ir(r.reduce(((r,e)=>({...r,...e.config})),{}))},create:ar,createCss:nr,createVariant:function(r){const e=nr(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=nr(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}}}},cr={border:{property:"border",scale:"borders",transform:Z},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders",transform:Z},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders",transform:Z},borderTop:{property:"borderTop",scale:"borders",transform:Z},borderRight:{property:"borderRight",scale:"borders",transform:Z},borderBottom:{property:"borderBottom",scale:"borders",transform:Z},borderLeft:{property:"borderLeft",scale:"borders",transform:Z},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:U},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii",transform:U},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii",transform:U},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii",transform:U},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii",transform:U},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii",transform:U},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii",transform:U},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii",transform:U},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii",transform:U},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"}},lr={gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"}},ur={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"},...ur},gr={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},mr={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...yr,...gr,...lr},br={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},fr={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:M},autoCols:{property:"gridAutoColumns",transform:M},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...yr,...br,...lr},hr={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"}},Rr={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"},...ur,...br,...gr},xr={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"}},wr=Y().addGroup("flex",mr).addGroup("grid",fr).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}).addGroup("space",xr).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",Rr).addGroup("borders",cr).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",hr);wr.build();const Sr=wr.build();export{X as AnimusConfig,Sr as animus,dr as animusProps,Z as borderShorthand,f as compatTheme,wr as config,Y as createAnimus,b as createScale,M as gridItem,K as gridItemRatio,U as numberToPx,J as parseGridRatio,D as percentageOrAbsolute,q as repeatGridItem,P as size};
|
|
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};
|
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.
|
|
4
|
+
"version": "0.1.1-beta.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"emotion",
|
|
7
7
|
"css",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"csstype": "^3.0.7"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "8ecdcfba58bd23efdd50b732cb72f234fa8739d2"
|
|
38
38
|
}
|