@animus-ui/core 0.1.1-beta.4 → 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.
Files changed (48) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +1 -86
  3. package/dist/Animus.d.ts +63 -0
  4. package/dist/AnimusConfig.d.ts +8 -0
  5. package/dist/{utils/__fixtures__ → __fixtures__}/testConfig.d.ts +0 -0
  6. package/dist/compatTheme.d.ts +20 -0
  7. package/dist/config.d.ts +2193 -0
  8. package/dist/createAnimus.d.ts +1 -1
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.d.ts +417 -997
  11. package/dist/index.esm.js +1 -1
  12. package/dist/legacy/compose.d.ts +2 -0
  13. package/dist/legacy/config.d.ts +85 -0
  14. package/dist/legacy/core.d.ts +12 -0
  15. package/dist/legacy/create.d.ts +2 -0
  16. package/dist/{internal → legacy}/createCss.d.ts +1 -1
  17. package/dist/legacy/createParser.d.ts +9 -0
  18. package/dist/{internal → legacy}/createStates.d.ts +1 -1
  19. package/dist/{styles → legacy}/createTransform.d.ts +1 -1
  20. package/dist/{internal → legacy}/createVariant.d.ts +1 -1
  21. package/dist/{utils → legacy}/responsive.d.ts +3 -2
  22. package/dist/properties/getStylePropNames.d.ts +1 -0
  23. package/dist/{utils/propNames.d.ts → properties/orderPropNames.d.ts} +1 -1
  24. package/dist/{utils → properties}/styledOptions.d.ts +0 -1
  25. package/dist/scales/lookupScaleValue.d.ts +3 -0
  26. package/dist/styles/createParser.d.ts +2 -2
  27. package/dist/styles/createPropertyStyle.d.ts +3 -0
  28. package/dist/styles/responsive.d.ts +14 -0
  29. package/dist/transforms/border.d.ts +1 -0
  30. package/dist/transforms/index.d.ts +2 -0
  31. package/dist/transforms/utils.d.ts +2 -0
  32. package/dist/types/config.d.ts +25 -62
  33. package/dist/types/properties.d.ts +4 -3
  34. package/dist/types/props.d.ts +1 -5
  35. package/dist/types/scales.d.ts +2 -0
  36. package/dist/types/shared.d.ts +4 -0
  37. package/dist/types/theme.d.ts +0 -16
  38. package/dist/types/utils.d.ts +1 -0
  39. package/package.json +2 -2
  40. package/dist/animusBuilder.d.ts +0 -81
  41. package/dist/configBuilder.d.ts +0 -11
  42. package/dist/deprecated/core.d.ts +0 -10
  43. package/dist/internal/compose.d.ts +0 -2
  44. package/dist/internal/create.d.ts +0 -2
  45. package/dist/props/baseConfig.d.ts +0 -588
  46. package/dist/props/baseScales.d.ts +0 -51
  47. package/dist/scales/createScaleLookup.d.ts +0 -5
  48. package/dist/utils/getStaticProperties.d.ts +0 -1
@@ -1,2 +1,2 @@
1
- import { AnimusConfig } from './configBuilder';
1
+ import { AnimusConfig } from './AnimusConfig';
2
2
  export declare const createAnimus: () => AnimusConfig<{}, {}>;
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=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],p=-1,i=1,a=1,n=(r,e)=>r<e?p:e<r?i:a,d=["_","xs","sm","md","lg","xl"],c=r=>`@media screen and (min-width: ${r}px)`,l={xs:480,sm:768,md:1024,lg:1200,xl:1440},g=(e,t,o,s,p)=>{const i=r.get(o,t);switch(typeof i){case"string":case"number":case"function":return Object.assign(e,s.styleFn(i,t,o));case"object":if(!p.mediaQueries)return;if(a=i,Array.isArray(a))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:p,prop:i}=t,[a,...n]=r;return a&&Object.assign(s,p(a,i,e)),n.forEach(((r,t)=>{const a=o[t];a&&void 0!==r&&Object.assign(s,{[a]:p(r,i,e)})})),s})(i,o,s,p.mediaQueries.array));if(i&&(e=>r.intersection(Object.keys(e),d).length>0)(i))return r.merge(e,((r,e,t,o)=>{const s={},{styleFn:p,prop:i}=t,{_:a,...n}=r;return a&&Object.assign(s,p(a,i,e)),Object.keys(o).forEach((r=>{const t=n[r];void 0!==t&&Object.assign(s,{[o[r]]:p(t,i,e)})})),s})(i,o,s,p.mediaQueries.map))}var a};function u(e){const t=(r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:d}=r,{property:c,properties:l=[]}=o,{property:g,properties:u=[]}=d,y=s.includes(c),b=s.includes(g);if(y&&b){const r=l.length,e=u.length;if(c!==g)return n(s.indexOf(c),s.indexOf(g));if(c===g){if(0===r)return p;if(0===e)return i}return n(e,r)}return y?p:b?i:a})))(e),o={mediaQueries:null};return Object.assign(((s,p=!1)=>{const i={},{theme:a}=s;return o.mediaQueries||(o.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:p,xl:i}=e??{};return{map:r.mapValues(e,c),array:[t,o,s,p,i].map(c)}})(a?.breakpoints??l)),p?Object.keys(s).forEach((t=>{const p=e[t];p?g(i,t,s,p,o):"theme"!==t&&Object.assign(i,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];g(i,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})(i,o.mediaQueries.array):i}),{propNames:t,config:e})}const y=(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}},b=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},m=(e,t,o,s)=>{const{base:p}=t,{parser:i,getMediaSelectors:a,getActiveOverrides:n}=s,{theme:d}=o,c=Object.values(r.pick(t,n(o))),l=a(o),[g,u]=b(i({...p,theme:d},!0),l);for(const r in g)e[r]=g[r];c.forEach((t=>{((e={},t,o,s,p,i)=>{const[a,n]=b(s({...e,theme:p},!0),i);for(const r in a)t[r]=a[r];i.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,u,i,d,l)})),l.forEach((t=>{const o=u[t];r.isEmpty(o)||(e[t]=o)}))},h=(e,t={},o={},s={},p={})=>{const i=((e={},t={},o={},s)=>{const p={};return Object.entries(e).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(p,[e,"base"],t):r.set(p,["primary","base",e],t)})),Object.entries(t).forEach((([e,{variants:t}])=>{Object.entries(t).forEach((([t,o])=>{const i=`${e}-${t}`;Object.entries(o).forEach((([e,t])=>{!s.includes(e)&&r.isObject(t)?r.set(p,[e,i],t):r.set(p,["primary",i,e],t)}))}))})),Object.entries(o).forEach((([e,t])=>{Object.entries(t).forEach((([t,o])=>{!s.includes(t)&&r.isObject(o)?r.set(p,[t,e],o):r.set(p,["primary",e,t],o)}))})),p})(t,o,s,e.propNames),a={parser:e,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??l;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:y(o,s)};return r=>{const{vars:t}=r,o={...t};return Object.entries(i).forEach((([e,t={}])=>{"primary"===e?m(o,t,r,a):(o[e]={},m(o[e],t,r,a))})),m(o,{base:e(r)},r,a),o}};function f(e,t){const{transform:o=r.identity,property:s,properties:p=[s],scale:i}=t,a=(e=>r.isString(e)?(t,o)=>r.get(o,["theme",e,t]):r.isArray(e)?r=>r:r.isObject(e)?t=>r.get(e,t):()=>{})(i),n=void 0===i||r.isArray(i);return{...t,prop:e,styleFn:(e,t,s)=>{const i={};if(r.isUndefined(e))return i;let d,c,l=!1;switch(typeof e){case"number":case"string":c=a(e,s),l=void 0!==c||n,d=c??e;break;case"function":s.theme&&(d=e(s.theme));break;default:return i}return p.forEach((e=>{let t=d;switch(l&&!r.isUndefined(t)&&(t=o(t,e,s)),typeof t){case"number":case"string":return i[e]=t;case"object":return Object.assign(i,t)}})),i}}}function R(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=f(t,r[t]));return u(e)}class x{props={};parser={};groups=[];base={};statesConfig={};variants={};custom={};constructor(r,e,t,o,s,p,i){this.props=r,this.parser=e,this.groups=p,this.base=t,this.statesConfig=s,this.variants=o,this.custom=i}asComponent(r){const e=h(R({...this.parser.config,...this.custom}),this.base,this.variants,this.statesConfig,{});return t.default(r)(e)}build(){return h(R({...this.parser.config,...this.custom}),this.base,this.variants,this.statesConfig,{})}}class w extends x{constructor(r,e,t,o,s,p){super(r,e,t,o,s,p,{})}customProps(r){return new x(this.props,this.parser,this.base,this.variants,this.statesConfig,this.groups,r)}}class C extends w{constructor(r,e,t,o,s){super(r,e,t,o,s,[])}systemProps(r){return new w(this.props,this.parser,this.base,this.variants,this.statesConfig,Object.keys(r))}}class S extends C{constructor(r,e,t,o){super(r,e,t,o,{})}states(r){return new C(this.props,this.parser,this.base,this.variants,r)}variant(e){const t=e.prop||"variant";return new S(this.props,this.parser,this.base,r.merge(this.variants,{[t]:e}))}}class v extends S{constructor(r,e,t){super(r,e,t,{})}variant(e){const t=e.prop||"variant";return new S(this.props,this.parser,this.base,r.merge(this.variants,{[t]:e}))}}class j extends v{constructor(r){super(r,R(r.props),{})}styles(r){return new v(this.props,this.parser,r)}}class T{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new T({...this.#r,...e},{...this.#e,...t})}build(){return new j({props:this.#r,groups:this.#e})}}const O=()=>new T,A=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,k=/(-?\d*\.?\d+)(%|\w*)/,B=e=>{if(r.isNumber(e))return A(e);if(e.includes("calc"))return e;const[t,o,s]=k.exec(e)||[];if(void 0===t)return e;const p=parseFloat(o);return s?`${p}${s}`:A(p)},W={max:"max-content",min:"min-content"},E=new RegExp(/^[0-9]*$/),L=e=>{var t;return`minmax(0, ${t=e,E.test(t)?`${e}fr`:r.get(W,e,e)})`},G=(r,e)=>{const t=L(r);return e>1?`repeat(${e}, ${t})`:t},$=r=>{const e=r.split(":");let t=["",0],o="";for(let r=0;r<e.length+1;r+=1){const s=o.length>0?" ":"",p=e[r];t?.[0]!==p?(t[0].length&&(o+=s+G(...t)),p&&(t=[p,1])):t[1]+=1}return o},I=e=>r.isNumber(e)?G("1",e):$(e),F={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},z={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...F},H={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},Q={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...z,...H},X={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},Y={gridAutoColumns:{property:"gridAutoColumns"},gridAutoRows:{property:"gridAutoRows"},gridTemplateColumns:{property:"gridTemplateColumns"},gridTemplateRows:{property:"gridTemplateRows"},gridTemplateAreas:{property:"gridTemplateAreas"},gridAutoFlow:{property:"gridAutoFlow"},gap:{property:"gap",scale:"spacing"},rowGap:{property:"rowGap",scale:"spacing"},columnGap:{property:"columnGap",scale:"spacing"},flow:{property:"gridAutoFlow",scale:{row:"row",column:"column",dense:"dense","column-dense":"column dense","row-dense":"row dense"}},cols:{property:"gridTemplateColumns",transform:I,scale:[]},rows:{property:"gridTemplateRows",transform:I,scale:[]},autoRows:{property:"gridAutoRows",transform:L},autoCols:{property:"gridAutoColumns",transform:L},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...z,...X},P={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"}},D={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"},...F,...X,...H},N={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"}},_=O().addGroup("space",N).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("layout",D).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("typography",{fontFamily:{property:"fontFamily",scale:"fontFamily"},fontWeight:{property:"fontWeight",scale:{400:400,600:600,700:700}},lineHeight:{property:"lineHeight",scale:"lineHeight",lineHeight:[1,1.5]},fontSize:{property:"fontSize",scale:{64:64,44:44,34:34,26:26,22:22,20:20,18:18,16:16,14:14}},letterSpacing:{property:"letterSpacing"},textAlign:{property:"textAlign"},fontStyle:{property:"fontStyle"},textDecoration:{property:"textDecoration"},textTransform:{property:"textTransform"},whiteSpace:{property:"whiteSpace"}}).addGroup("shadows",{boxShadow:{property:"boxShadow"},textShadow:{property:"textShadow"}}).addGroup("borders",{border:{property:"border",scale:"borders"},borderX:{property:"border",properties:["borderLeft","borderRight"],scale:"borders"},borderY:{property:"border",properties:["borderTop","borderBottom"],scale:"borders"},borderTop:{property:"borderTop",scale:"borders"},borderRight:{property:"borderRight",scale:"borders"},borderBottom:{property:"borderBottom",scale:"borders"},borderLeft:{property:"borderLeft",scale:"borders"},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"},borderRadiusLeft:{property:"borderRadius",properties:["borderTopLeftRadius","borderBottomLeftRadius"],scale:"radii"},borderRadiusTop:{property:"borderRadius",properties:["borderTopLeftRadius","borderTopRightRadius"],scale:"radii"},borderRadiusBottom:{property:"borderRadius",properties:["borderBottomLeftRadius","borderBottomRightRadius"],scale:"radii"},borderRadiusRight:{property:"borderRadius",properties:["borderTopRightRadius","borderBottomRightRadius"],scale:"radii"},borderRadiusTopLeft:{property:"borderTopLeftRadius",scale:"radii"},borderRadiusTopRight:{property:"borderTopRightRadius",scale:"radii"},borderRadiusBottomRight:{property:"borderBottomRightRadius",scale:"radii"},borderRadiusBottomLeft:{property:"borderBottomLeftRadius",scale:"radii"},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"}}).addGroup("positioning",P).addGroup("flex",Q).addGroup("grid",Y).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}),M=_.build();exports.AnimusConfig=T,exports.animus=M,exports.coreConfig=_,exports.createAnimus=O,exports.createScale=o,exports.gridItem=L,exports.gridItemRatio=I,exports.parseGridRatio=$,exports.percentageOrAbsolute=A,exports.repeatGridItem=G,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;