@animus-ui/core 0.0.1-fb698e5b.0 → 0.1.1-beta.2
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 +32 -0
- package/dist/animusBuilder.d.ts +7 -8
- package/dist/deprecated/core.d.ts +9 -9
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.esm.js +1 -1
- package/dist/props/baseConfig.d.ts +2 -0
- package/dist/styles/createParser.d.ts +7 -0
- package/package.json +2 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## 0.1.1-beta.2 (2022-01-09)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 0.1.1-beta.1 (2022-01-09)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## 0.1.1-beta.0 (2022-01-09)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @animus-ui/core
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [0.1.1-beta.1](https://github.com/codecaaron/animus/compare/v0.1.1-beta.0...v0.1.1-beta.1) (2022-01-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @animus-ui/core
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 0.1.1-beta.0 (2022-01-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @animus-ui/core
|
package/dist/animusBuilder.d.ts
CHANGED
|
@@ -7,30 +7,29 @@ export declare class AnimusWithAll<C extends PropConfig, P extends Parser<Transf
|
|
|
7
7
|
defaultVariant?: any;
|
|
8
8
|
base?: CSSProps<AbstractProps, SystemProps<P>>;
|
|
9
9
|
variants: CSSPropMap<AbstractProps, SystemProps<P>>;
|
|
10
|
-
}>, States extends CSSPropMap<AbstractProps, SystemProps<P>>, G extends (keyof C['groups'])[] | never[]> {
|
|
10
|
+
}>, States extends CSSPropMap<AbstractProps, SystemProps<P>>, G extends (keyof C['groups'])[] | never[], CustomProps extends PropConfig['props']> {
|
|
11
11
|
props: C;
|
|
12
12
|
parser: P;
|
|
13
13
|
groups: G;
|
|
14
14
|
base: Base;
|
|
15
15
|
statesConfig: States;
|
|
16
16
|
variants: Variants;
|
|
17
|
-
|
|
17
|
+
custom: CustomProps;
|
|
18
|
+
constructor(props: C, parser: P, base: Base, variants: Variants, states: States, groups: G, custom: CustomProps);
|
|
18
19
|
asComponent<T extends keyof JSX.IntrinsicElements>(component: T): import("@emotion/styled").StyledComponent<{
|
|
19
20
|
theme?: import("@emotion/react").Theme | undefined;
|
|
20
21
|
as?: import("react").ElementType<any> | undefined;
|
|
21
|
-
} & { [
|
|
22
|
-
build(): (props: ThemeProps<{ [
|
|
22
|
+
} & { [K_4 in keyof ThemeProps<{ [K in keyof Arg<P> as K extends C["groups"][G[number]][number] ? K : never]?: Arg<P>[K] | undefined; } & { [K_1 in keyof Variants]?: keyof Variants[K_1]["variants"] | undefined; } & { [K_2 in keyof States]?: boolean | undefined; } & { [K_3 in keyof import("./types/config").ParserProps<TransformerMap<CustomProps>>]: import("./types/config").ParserProps<TransformerMap<CustomProps>>[K_3]; }>]: ThemeProps<{ [K in keyof Arg<P> as K extends C["groups"][G[number]][number] ? K : never]?: Arg<P>[K] | undefined; } & { [K_1 in keyof Variants]?: keyof Variants[K_1]["variants"] | undefined; } & { [K_2 in keyof States]?: boolean | undefined; } & { [K_3 in keyof import("./types/config").ParserProps<TransformerMap<CustomProps>>]: import("./types/config").ParserProps<TransformerMap<CustomProps>>[K_3]; }>[K_4]; }, JSX.IntrinsicElements[T], {}>;
|
|
23
|
+
build(): (props: { [K in keyof ThemeProps<{ [K_1 in keyof Arg<P> as K_1 extends C["groups"][G[number]][number] ? K_1 : never]?: Arg<P>[K_1] | undefined; } & { [K_2 in keyof Variants]?: keyof Variants[K_2]["variants"] | undefined; } & { [K_3 in keyof States]?: boolean | undefined; } & { [K_4 in keyof import("./types/config").ParserProps<TransformerMap<CustomProps>>]: import("./types/config").ParserProps<TransformerMap<CustomProps>>[K_4]; }>]: ThemeProps<{ [K_1 in keyof Arg<P> as K_1 extends C["groups"][G[number]][number] ? K_1 : never]?: Arg<P>[K_1] | undefined; } & { [K_2 in keyof Variants]?: keyof Variants[K_2]["variants"] | undefined; } & { [K_3 in keyof States]?: boolean | undefined; } & { [K_4 in keyof import("./types/config").ParserProps<TransformerMap<CustomProps>>]: import("./types/config").ParserProps<TransformerMap<CustomProps>>[K_4]; }>[K]; }) => CSSObject;
|
|
23
24
|
}
|
|
24
25
|
declare class AnimusWithSystem<C extends PropConfig, P extends Parser<TransformerMap<C['props']>>, Base extends CSSProps<AbstractProps, SystemProps<P>>, Variants extends Record<string, {
|
|
25
26
|
prop?: any;
|
|
26
27
|
defaultVariant?: any;
|
|
27
28
|
base?: CSSProps<AbstractProps, SystemProps<P>>;
|
|
28
29
|
variants: CSSPropMap<AbstractProps, SystemProps<P>>;
|
|
29
|
-
}>, States extends CSSPropMap<AbstractProps, SystemProps<P>>, G extends (keyof C['groups'])[] | never[]> extends AnimusWithAll<C, P, Base, Variants, States, G> {
|
|
30
|
+
}>, States extends CSSPropMap<AbstractProps, SystemProps<P>>, G extends (keyof C['groups'])[] | never[]> extends AnimusWithAll<C, P, Base, Variants, States, G, {}> {
|
|
30
31
|
constructor(props: C, parser: P, base: Base, variants: Variants, states: States, groups: G);
|
|
31
|
-
customProps<
|
|
32
|
-
props: C["props"] & ExtraProps;
|
|
33
|
-
}, Parser<TransformerMap<C["props"] & ExtraProps>>, Base, Variants, States, G>;
|
|
32
|
+
customProps<CustomProps extends Record<string, Prop>>(config: CustomProps): AnimusWithAll<C, P, Base, Variants, States, G, CustomProps>;
|
|
34
33
|
}
|
|
35
34
|
declare class AnimusWithStates<C extends PropConfig, P extends Parser<TransformerMap<C['props']>>, Base extends CSSProps<AbstractProps, SystemProps<P>>, Variants extends Record<string, {
|
|
36
35
|
prop?: any;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { createCss } from '../internal/createCss';
|
|
2
|
+
import { createVariant } from '../internal/createVariant';
|
|
3
|
+
import { create } from '../internal/create';
|
|
4
|
+
import { compose } from '../internal/compose';
|
|
5
|
+
export declare const animusProps: {
|
|
6
|
+
compose: typeof compose;
|
|
7
|
+
create: typeof create;
|
|
8
|
+
createCss: typeof createCss;
|
|
9
|
+
createVariant: typeof createVariant;
|
|
10
10
|
};
|
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=(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}},p=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},i=(e,t,o,s)=>{const{base:i}=t,{parser:a,getMediaSelectors:n,getActiveOverrides:d}=s,{theme:c}=o,l=Object.values(r.pick(t,d(o))),g=n(o),[u,y]=p(a({...i,theme:c},!0),g);for(const r in u)e[r]=u[r];l.forEach((t=>{((e={},t,o,s,i,a)=>{const[n,d]=p(s({...e,theme:i},!0),a);for(const r in n)t[r]=n[r];a.forEach((e=>{const t=d[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,y,a,c,g)})),g.forEach((t=>{const o=y[t];r.isEmpty(o)||(e[t]=o)}))},a=(e,t={},o={},p={},a={})=>{const n=((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,p,e.propNames),d={parser:e,getMediaSelectors:({theme:r})=>["xs","sm","md","lg","xl"].map((e=>r?.breakpoints[e])),getActiveOverrides:s(o,p)};return r=>{const{vars:t}=r,o={...t};return Object.entries(n).forEach((([e,t={}])=>{"primary"===e?i(o,t,r,d):(o[e]={},i(o[e],t,r,d))})),i(o,{base:e(r)},r,d),o}},n=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],d=-1,c=1,l=1,g=(r,e)=>r<e?d:e<r?c:l,u=["_","xs","sm","md","lg","xl"],y=r=>`@media screen and (min-width: ${r}px)`,b={xs:480,sm:768,md:1024,lg:1200,xl:1440},m=(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),u).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 h(e){const t=(r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:p,properties:i=[]}=o,{property:a,properties:u=[]}=s,y=n.includes(p),b=n.includes(a);if(y&&b){const r=i.length,e=u.length;if(p!==a)return g(n.indexOf(p),n.indexOf(a));if(p===a){if(0===r)return d;if(0===e)return c}return g(e,r)}return y?d:b?c:l})))(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,y),array:[t,o,s,p,i].map(y)}})(a?.breakpoints??b)),p?Object.keys(s).forEach((t=>{const p=e[t];p?m(i,t,s,p,o):"theme"!==t&&Object.assign(i,{[t]:r.get(s,t)})})):t.forEach((r=>{const t=e[r];m(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})}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 h(e)}class x{props={};parser={};groups=[];base={};statesConfig={};variants={};constructor(r,e,t,o,s,p){this.props=r,this.parser=e,this.groups=p,this.base=t,this.statesConfig=s,this.variants=o}asComponent(r){const e=a(this.parser,this.base,this.variants,this.statesConfig,{});return t.default(r)(e)}build(){return a(this.parser,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){const e={...this.props.props,...r},t=R(e);return new x({...this.props,props:e},t,this.base,this.variants,this.statesConfig,this.groups)}}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"},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=["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;
|
package/dist/index.d.ts
CHANGED
|
@@ -577,10 +577,11 @@ export declare const coreConfig: import("./configBuilder").AnimusConfig<{
|
|
|
577
577
|
readonly property: "none";
|
|
578
578
|
readonly scale: "mode";
|
|
579
579
|
};
|
|
580
|
+
} & {
|
|
580
581
|
readonly vars: {
|
|
581
582
|
readonly property: "variables";
|
|
582
583
|
};
|
|
583
|
-
}, Record<"space", ("p" | "px" | "py" | "pt" | "pb" | "pr" | "pl" | "m" | "mx" | "my" | "mt" | "mb" | "mr" | "ml")[]> & Record<"background", ("backgroundImage" | "backgroundRepeat" | "backgroundSize" | "background" | "backgroundPosition")[]> & Record<"layout", ("alignSelf" | "display" | "flexBasis" | "flexGrow" | "flexShrink" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "height" | "justifySelf" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "overflowX" | "overflowY" | "verticalAlign" | "width" | "gridArea" | "gridColumn" | "gridRow" | "overflow" | "area" | "size")[]> & Record<"color", ("color" | "borderColor" | "textColor" | "bg" | "borderColorX" | "borderColorY" | "borderColorLeft" | "borderColorRight" | "borderColorTop" | "borderColorBottom")[]> & Record<"typography", ("fontSize" | "letterSpacing" | "fontFamily" | "fontWeight" | "lineHeight" | "fontStyle" | "textAlign" | "textTransform" | "whiteSpace" | "textDecoration")[]> & Record<"shadows", ("boxShadow" | "textShadow")[]> & Record<"borders", ("border" | "borderBottom" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "borderX" | "borderY" | "borderWidthX" | "borderWidthY" | "borderWidthLeft" | "borderWidthRight" | "borderWidthTop" | "borderWidthBottom" | "borderRadiusLeft" | "borderRadiusTop" | "borderRadiusBottom" | "borderRadiusRight" | "borderRadiusTopLeft" | "borderRadiusTopRight" | "borderRadiusBottomRight" | "borderRadiusBottomLeft" | "borderStyleX" | "borderStyleY" | "borderStyleLeft" | "borderStyleRight" | "borderStyleTop" | "borderStyleBottom")[]> & Record<"positioning", ("bottom" | "inset" | "left" | "opacity" | "position" | "right" | "top" | "zIndex")[]> & Record<"flex", ("alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "gridArea" | "area")[]> & Record<"grid", ("alignContent" | "alignItems" | "alignSelf" | "columnGap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "rowGap" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "area" | "flow" | "cols" | "rows" | "autoRows" | "autoCols" | "alignAll")[]> & Record<"mode",
|
|
584
|
+
}, Record<"space", ("p" | "px" | "py" | "pt" | "pb" | "pr" | "pl" | "m" | "mx" | "my" | "mt" | "mb" | "mr" | "ml")[]> & Record<"background", ("backgroundImage" | "backgroundRepeat" | "backgroundSize" | "background" | "backgroundPosition")[]> & Record<"layout", ("alignSelf" | "display" | "flexBasis" | "flexGrow" | "flexShrink" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "height" | "justifySelf" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "overflowX" | "overflowY" | "verticalAlign" | "width" | "gridArea" | "gridColumn" | "gridRow" | "overflow" | "area" | "size")[]> & Record<"color", ("color" | "borderColor" | "textColor" | "bg" | "borderColorX" | "borderColorY" | "borderColorLeft" | "borderColorRight" | "borderColorTop" | "borderColorBottom")[]> & Record<"typography", ("fontSize" | "letterSpacing" | "fontFamily" | "fontWeight" | "lineHeight" | "fontStyle" | "textAlign" | "textTransform" | "whiteSpace" | "textDecoration")[]> & Record<"shadows", ("boxShadow" | "textShadow")[]> & Record<"borders", ("border" | "borderBottom" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "borderX" | "borderY" | "borderWidthX" | "borderWidthY" | "borderWidthLeft" | "borderWidthRight" | "borderWidthTop" | "borderWidthBottom" | "borderRadiusLeft" | "borderRadiusTop" | "borderRadiusBottom" | "borderRadiusRight" | "borderRadiusTopLeft" | "borderRadiusTopRight" | "borderRadiusBottomRight" | "borderRadiusBottomLeft" | "borderStyleX" | "borderStyleY" | "borderStyleLeft" | "borderStyleRight" | "borderStyleTop" | "borderStyleBottom")[]> & Record<"positioning", ("bottom" | "inset" | "left" | "opacity" | "position" | "right" | "top" | "zIndex")[]> & Record<"flex", ("alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "gridArea" | "area")[]> & Record<"grid", ("alignContent" | "alignItems" | "alignSelf" | "columnGap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "rowGap" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "area" | "flow" | "cols" | "rows" | "autoRows" | "autoCols" | "alignAll")[]> & Record<"mode", "mode"[]> & Record<"vars", "vars"[]>>;
|
|
584
585
|
export declare const animus: import("./animusBuilder").Animus<{
|
|
585
586
|
props: {
|
|
586
587
|
readonly p: {
|
|
@@ -1093,7 +1094,8 @@ export declare const animus: import("./animusBuilder").Animus<{
|
|
|
1093
1094
|
positioning: ("bottom" | "inset" | "left" | "opacity" | "position" | "right" | "top" | "zIndex")[];
|
|
1094
1095
|
flex: ("alignContent" | "alignItems" | "alignSelf" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "justifyContent" | "justifyItems" | "justifySelf" | "order" | "flex" | "gridArea" | "area")[];
|
|
1095
1096
|
grid: ("alignContent" | "alignItems" | "alignSelf" | "columnGap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumnEnd" | "gridColumnStart" | "gridRowEnd" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "rowGap" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "area" | "flow" | "cols" | "rows" | "autoRows" | "autoCols" | "alignAll")[];
|
|
1096
|
-
mode:
|
|
1097
|
+
mode: "mode"[];
|
|
1098
|
+
vars: "vars"[];
|
|
1097
1099
|
};
|
|
1098
1100
|
}, import("./types/config").Parser<import("./types/config").TransformerMap<{
|
|
1099
1101
|
readonly p: {
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{pick as r,isEmpty as e,isObject as o,set as t,mapValues as p,omit as s,intersection as i,get as a,merge as n,isString as d,isArray as c,isUndefined as l,identity as y,isNumber as g}from"lodash";import u from"@emotion/styled";const b=()=>[],m=(r,e)=>{const o=Object.keys(r),t=Object.keys(e);return r=>{const e=[];return o.forEach((o=>{r[o]&&e.push(`${o}-${r[o]}`)})),t.forEach((o=>{r[o]&&e.push(o)})),e}},h=(r,e)=>{const o={},t={};return Object.entries(r).forEach((([r,p])=>{(e.includes(r)?t:o)[r]=p})),[o,t]},f=(o,t,p,s)=>{const{base:i}=t,{parser:a,getMediaSelectors:n,getActiveOverrides:d}=s,{theme:c}=p,l=Object.values(r(t,d(p))),y=n(p),[g,u]=h(a({...i,theme:c},!0),y);for(const r in g)o[r]=g[r];l.forEach((r=>{((r={},o,t,p,s,i)=>{const[a,n]=h(p({...r,theme:s},!0),i);for(const r in a)o[r]=a[r];i.forEach((r=>{const o=n[r];if(!o||e(o))return;t[r]||(t[r]={});const p=t[r];for(const r in o)p[r]=o[r]}))})(r,o,u,a,c,y)})),y.forEach((r=>{const t=u[r];e(t)||(o[r]=t)}))},R=(r,e={},p={},s={},i={})=>{const a=((r={},e={},p={},s)=>{const i={};return Object.entries(r).forEach((([r,e])=>{!s.includes(r)&&o(e)?t(i,[r,"base"],e):t(i,["primary","base",r],e)})),Object.entries(e).forEach((([r,{variants:e}])=>{Object.entries(e).forEach((([e,p])=>{const a=`${r}-${e}`;Object.entries(p).forEach((([r,e])=>{!s.includes(r)&&o(e)?t(i,[r,a],e):t(i,["primary",a,r],e)}))}))})),Object.entries(p).forEach((([r,e])=>{Object.entries(e).forEach((([e,p])=>{!s.includes(e)&&o(p)?t(i,[e,r],p):t(i,["primary",r,e],p)}))})),i})(e,p,s,r.propNames),n={parser:r,getMediaSelectors:({theme:r})=>["xs","sm","md","lg","xl"].map((e=>r?.breakpoints[e])),getActiveOverrides:m(p,s)};return e=>{const{vars:o}=e,t={...o};return Object.entries(a).forEach((([r,o={}])=>{"primary"===r?f(t,o,e,n):(t[r]={},f(t[r],o,e,n))})),f(t,{base:r(e)},e,n),t}},w=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],x=-1,C=1,S=1,v=(r,e)=>r<e?x:e<r?C:S,T=["_","xs","sm","md","lg","xl"],j=r=>`@media screen and (min-width: ${r}px)`,O={xs:480,sm:768,md:1024,lg:1200,xl:1440},B=(r,e,o,t,p)=>{const s=a(o,e);switch(typeof s){case"string":case"number":case"function":return Object.assign(r,t.styleFn(s,e,o));case"object":if(!p.mediaQueries)return;if(d=s,Array.isArray(d))return n(r,((r,e,o,t)=>{const p={},{styleFn:s,prop:i}=o,[a,...n]=r;return a&&Object.assign(p,s(a,i,e)),n.forEach(((r,o)=>{const a=t[o];a&&void 0!==r&&Object.assign(p,{[a]:s(r,i,e)})})),p})(s,o,t,p.mediaQueries.array));if(s&&(r=>i(Object.keys(r),T).length>0)(s))return n(r,((r,e,o,t)=>{const p={},{styleFn:s,prop:i}=o,{_:a,...n}=r;return a&&Object.assign(p,s(a,i,e)),Object.keys(t).forEach((r=>{const o=n[r];void 0!==o&&Object.assign(p,{[t[r]]:s(o,i,e)})})),p})(s,o,t,p.mediaQueries.map))}var d};function k(r){const e=(r=>Object.keys(r).sort(((e,o)=>{const{[e]:t,[o]:p}=r,{property:s,properties:i=[]}=t,{property:a,properties:n=[]}=p,d=w.includes(s),c=w.includes(a);if(d&&c){const r=i.length,e=n.length;if(s!==a)return v(w.indexOf(s),w.indexOf(a));if(s===a){if(0===r)return x;if(0===e)return C}return v(e,r)}return d?x:c?C:S})))(r),o={mediaQueries:null};return Object.assign(((t,i=!1)=>{const n={},{theme:d}=t;return o.mediaQueries||(o.mediaQueries=(r=>{if(void 0===r)return null;const{xs:e,sm:o,md:t,lg:s,xl:i}=r??{};return{map:p(r,j),array:[e,o,t,s,i].map(j)}})(d?.breakpoints??O)),i?Object.keys(t).forEach((e=>{const p=r[e];p?B(n,e,t,p,o):"theme"!==e&&Object.assign(n,{[e]:a(t,e)})})):e.forEach((e=>{const p=r[e];B(n,e,t,p,o)})),null!==o.mediaQueries?((r,e)=>{const o=s(r,e);return e.forEach((e=>{r[e]&&(o[e]=r[e])})),o})(n,o.mediaQueries.array):n}),{propNames:e,config:r})}function W(r,e){const{transform:t=y,property:p,properties:s=[p],scale:i}=e,n=(r=>d(r)?(e,o)=>a(o,["theme",r,e]):c(r)?r=>r:o(r)?e=>a(r,e):()=>{})(i),g=void 0===i||c(i);return{...e,prop:r,styleFn:(r,e,o)=>{const p={};if(l(r))return p;let i,a,d=!1;switch(typeof r){case"number":case"string":a=n(r,o),d=void 0!==a||g,i=a??r;break;case"function":o.theme&&(i=r(o.theme));break;default:return p}return s.forEach((r=>{let e=i;switch(d&&!l(e)&&(e=t(e,r,o)),typeof e){case"number":case"string":return p[r]=e;case"object":return Object.assign(p,e)}})),p}}}function L(r){const e={};for(const o in r)"string"==typeof o&&(e[o]=W(o,r[o]));return k(e)}class A{props={};parser={};groups=[];base={};statesConfig={};variants={};constructor(r,e,o,t,p,s){this.props=r,this.parser=e,this.groups=s,this.base=o,this.statesConfig=p,this.variants=t}asComponent(r){const e=R(this.parser,this.base,this.variants,this.statesConfig,{});return u(r)(e)}build(){return R(this.parser,this.base,this.variants,this.statesConfig,{})}}class E extends A{constructor(r,e,o,t,p,s){super(r,e,o,t,p,s)}customProps(r){const e={...this.props.props,...r},o=L(e);return new A({...this.props,props:e},o,this.base,this.variants,this.statesConfig,this.groups)}}class G extends E{constructor(r,e,o,t,p){super(r,e,o,t,p,[])}systemProps(r){return new E(this.props,this.parser,this.base,this.variants,this.statesConfig,Object.keys(r))}}class $ extends G{constructor(r,e,o,t){super(r,e,o,t,{})}states(r){return new G(this.props,this.parser,this.base,this.variants,r)}variant(r){const e=r.prop||"variant";return new $(this.props,this.parser,this.base,n(this.variants,{[e]:r}))}}class F extends ${constructor(r,e,o){super(r,e,o,{})}variant(r){const e=r.prop||"variant";return new $(this.props,this.parser,this.base,n(this.variants,{[e]:r}))}}class I extends F{constructor(r){super(r,L(r.props),{})}styles(r){return new F(this.props,this.parser,r)}}class H{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const o={[r]:Object.keys(e)};return new H({...this.#r,...e},{...this.#e,...o})}build(){return new I({props:this.#r,groups:this.#e})}}const Q=()=>new H,z=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,X=/(-?\d*\.?\d+)(%|\w*)/,Y=r=>{if(g(r))return z(r);if(r.includes("calc"))return r;const[e,o,t]=X.exec(r)||[];if(void 0===e)return r;const p=parseFloat(o);return t?`${p}${t}`:z(p)},D={max:"max-content",min:"min-content"},P=new RegExp(/^[0-9]*$/),M=r=>{var e;return`minmax(0, ${e=r,P.test(e)?`${r}fr`:a(D,r,r)})`},N=(r,e)=>{const o=M(r);return e>1?`repeat(${e}, ${o})`:o},_=r=>{const e=r.split(":");let o=["",0],t="";for(let r=0;r<e.length+1;r+=1){const p=t.length>0?" ":"",s=e[r];o?.[0]!==s?(o[0].length&&(t+=p+N(...o)),s&&(o=[s,1])):o[1]+=1}return t},q=r=>g(r)?N("1",r):_(r),J={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},K={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...J},U={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},V={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...K,...U},Z={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},rr={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:q,scale:[]},rows:{property:"gridTemplateRows",transform:q,scale:[]},autoRows:{property:"gridAutoRows",transform:M},autoCols:{property:"gridAutoColumns",transform:M},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...K,...Z},er={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:Y},top:{property:"top",transform:Y},right:{property:"right",transform:Y},bottom:{property:"bottom",transform:Y},left:{property:"left",transform:Y},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},or={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:Y},width:{property:"width",transform:Y},minWidth:{property:"minWidth",transform:Y},maxWidth:{property:"maxWidth",transform:Y},height:{property:"height",transform:Y},minHeight:{property:"minHeight",transform:Y},maxHeight:{property:"maxHeight",transform:Y},verticalAlign:{property:"verticalAlign"},...J,...Z,...U},tr={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"}},pr=Q().addGroup("space",tr).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("layout",or).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",er).addGroup("flex",V).addGroup("grid",rr).addGroup("mode",{mode:{property:"none",scale:"mode"},vars:{property:"variables"}}),sr=pr.build();export{H as AnimusConfig,sr as animus,pr as coreConfig,Q as createAnimus,b as createScale,M as gridItem,q as gridItemRatio,_ as parseGridRatio,z as percentageOrAbsolute,N as repeatGridItem,Y as size};
|
|
1
|
+
import{mapValues as r,omit as e,intersection as t,get as o,merge as s,pick as p,isEmpty as i,isObject as a,set as n,isString as d,isArray as c,isUndefined as l,identity as y,isNumber as g}from"lodash";import u from"@emotion/styled";const b=()=>[],m=["border","borderTop","borderBottom","borderLeft","borderRight","borderWidth","borderStyle","borderColor","background","flex","margin","padding","transition","gap","grid","gridArea","gridColumn","gridRow","gridTemplate","overflow","transition"],h=-1,f=1,R=1,w=(r,e)=>r<e?h:e<r?f:R,x=["_","xs","sm","md","lg","xl"],C=r=>`@media screen and (min-width: ${r}px)`,S={xs:480,sm:768,md:1024,lg:1200,xl:1440},v=(r,e,p,i,a)=>{const n=o(p,e);switch(typeof n){case"string":case"number":case"function":return Object.assign(r,i.styleFn(n,e,p));case"object":if(!a.mediaQueries)return;if(d=n,Array.isArray(d))return s(r,((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})(n,p,i,a.mediaQueries.array));if(n&&(r=>t(Object.keys(r),x).length>0)(n))return s(r,((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})(n,p,i,a.mediaQueries.map))}var d};function T(t){const s=(r=>Object.keys(r).sort(((e,t)=>{const{[e]:o,[t]:s}=r,{property:p,properties:i=[]}=o,{property:a,properties:n=[]}=s,d=m.includes(p),c=m.includes(a);if(d&&c){const r=i.length,e=n.length;if(p!==a)return w(m.indexOf(p),m.indexOf(a));if(p===a){if(0===r)return h;if(0===e)return f}return w(e,r)}return d?h:c?f:R})))(t),p={mediaQueries:null};return Object.assign(((i,a=!1)=>{const n={},{theme:d}=i;return p.mediaQueries||(p.mediaQueries=(e=>{if(void 0===e)return null;const{xs:t,sm:o,md:s,lg:p,xl:i}=e??{};return{map:r(e,C),array:[t,o,s,p,i].map(C)}})(d?.breakpoints??S)),a?Object.keys(i).forEach((r=>{const e=t[r];e?v(n,r,i,e,p):"theme"!==r&&Object.assign(n,{[r]:o(i,r)})})):s.forEach((r=>{const e=t[r];v(n,r,i,e,p)})),null!==p.mediaQueries?((r,t)=>{const o=e(r,t);return t.forEach((e=>{r[e]&&(o[e]=r[e])})),o})(n,p.mediaQueries.array):n}),{propNames:s,config:t})}const j=(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}},O=(r,e)=>{const t={},o={};return Object.entries(r).forEach((([r,s])=>{(e.includes(r)?o:t)[r]=s})),[t,o]},B=(r,e,t,o)=>{const{base:s}=e,{parser:a,getMediaSelectors:n,getActiveOverrides:d}=o,{theme:c}=t,l=Object.values(p(e,d(t))),y=n(t),[g,u]=O(a({...s,theme:c},!0),y);for(const e in g)r[e]=g[e];l.forEach((e=>{((r={},e,t,o,s,p)=>{const[a,n]=O(o({...r,theme:s},!0),p);for(const r in a)e[r]=a[r];p.forEach((r=>{const e=n[r];if(!e||i(e))return;t[r]||(t[r]={});const o=t[r];for(const r in e)o[r]=e[r]}))})(e,r,u,a,c,y)})),y.forEach((e=>{const t=u[e];i(t)||(r[e]=t)}))},k=(r,e={},t={},o={},s={})=>{const p=((r={},e={},t={},o)=>{const s={};return Object.entries(r).forEach((([r,e])=>{!o.includes(r)&&a(e)?n(s,[r,"base"],e):n(s,["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])=>{!o.includes(r)&&a(e)?n(s,[r,p],e):n(s,["primary",p,r],e)}))}))})),Object.entries(t).forEach((([r,e])=>{Object.entries(e).forEach((([e,t])=>{!o.includes(e)&&a(t)?n(s,[e,r],t):n(s,["primary",r,e],t)}))})),s})(e,t,o,r.propNames),i={parser:r,getMediaSelectors:({theme:r})=>{const e=r?.breakpoints??S;return["xs","sm","md","lg","xl"].map((r=>e[r]))},getActiveOverrides:j(t,o)};return e=>{const{vars:t}=e,o={...t};return Object.entries(p).forEach((([r,t={}])=>{"primary"===r?B(o,t,e,i):(o[r]={},B(o[r],t,e,i))})),B(o,{base:r(e)},e,i),o}};function W(r,e){const{transform:t=y,property:s,properties:p=[s],scale:i}=e,n=(r=>d(r)?(e,t)=>o(t,["theme",r,e]):c(r)?r=>r:a(r)?e=>o(r,e):()=>{})(i),g=void 0===i||c(i);return{...e,prop:r,styleFn:(r,e,o)=>{const s={};if(l(r))return s;let i,a,d=!1;switch(typeof r){case"number":case"string":a=n(r,o),d=void 0!==a||g,i=a??r;break;case"function":o.theme&&(i=r(o.theme));break;default:return s}return p.forEach((r=>{let e=i;switch(d&&!l(e)&&(e=t(e,r,o)),typeof e){case"number":case"string":return s[r]=e;case"object":return Object.assign(s,e)}})),s}}}function L(r){const e={};for(const t in r)"string"==typeof t&&(e[t]=W(t,r[t]));return T(e)}class A{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=k(L({...this.parser.config,...this.custom}),this.base,this.variants,this.statesConfig,{});return u(r)(e)}build(){return k(L({...this.parser.config,...this.custom}),this.base,this.variants,this.statesConfig,{})}}class E extends A{constructor(r,e,t,o,s,p){super(r,e,t,o,s,p,{})}customProps(r){return new A(this.props,this.parser,this.base,this.variants,this.statesConfig,this.groups,r)}}class G extends E{constructor(r,e,t,o,s){super(r,e,t,o,s,[])}systemProps(r){return new E(this.props,this.parser,this.base,this.variants,this.statesConfig,Object.keys(r))}}class $ extends G{constructor(r,e,t,o){super(r,e,t,o,{})}states(r){return new G(this.props,this.parser,this.base,this.variants,r)}variant(r){const e=r.prop||"variant";return new $(this.props,this.parser,this.base,s(this.variants,{[e]:r}))}}class F extends ${constructor(r,e,t){super(r,e,t,{})}variant(r){const e=r.prop||"variant";return new $(this.props,this.parser,this.base,s(this.variants,{[e]:r}))}}class I extends F{constructor(r){super(r,L(r.props),{})}styles(r){return new F(this.props,this.parser,r)}}class H{#r={};#e={};constructor(r,e){this.#r=r||{},this.#e=e||{}}addGroup(r,e){const t={[r]:Object.keys(e)};return new H({...this.#r,...e},{...this.#e,...t})}build(){return new I({props:this.#r,groups:this.#e})}}const Q=()=>new H,z=r=>0===r?r:r<=1&&r>=-1?100*r+"%":`${r}px`,X=/(-?\d*\.?\d+)(%|\w*)/,Y=r=>{if(g(r))return z(r);if(r.includes("calc"))return r;const[e,t,o]=X.exec(r)||[];if(void 0===e)return r;const s=parseFloat(t);return o?`${s}${o}`:z(s)},D={max:"max-content",min:"min-content"},P=new RegExp(/^[0-9]*$/),M=r=>{var e;return`minmax(0, ${e=r,P.test(e)?`${r}fr`:o(D,r,r)})`},N=(r,e)=>{const t=M(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+N(...t)),p&&(t=[p,1])):t[1]+=1}return o},q=r=>g(r)?N("1",r):_(r),J={justifySelf:{property:"justifySelf"},alignSelf:{property:"alignSelf"},gridArea:{property:"gridArea"},area:{property:"gridArea"}},K={justifyContent:{property:"justifyContent"},justifyItems:{property:"justifyItems"},alignItems:{property:"alignItems"},alignContent:{property:"alignContent"},...J},U={flexBasis:{property:"flexBasis"},flexShrink:{property:"flexShrink"},flexGrow:{property:"flexGrow"},order:{property:"order"}},V={flexDirection:{property:"flexDirection"},flexWrap:{property:"flexWrap"},flex:{property:"flex"},...K,...U},Z={gridColumn:{property:"gridColumn"},gridRow:{property:"gridRow"},gridColumnStart:{property:"gridColumnStart"},gridRowStart:{property:"gridRowStart"},gridColumnEnd:{property:"gridColumnEnd"},gridRowEnd:{property:"gridRowEnd"}},rr={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:q,scale:[]},rows:{property:"gridTemplateRows",transform:q,scale:[]},autoRows:{property:"gridAutoRows",transform:M},autoCols:{property:"gridAutoColumns",transform:M},alignAll:{property:"justifyContent",properties:["justifyContent","alignItems"]},...K,...Z},er={position:{property:"position"},inset:{property:"inset",properties:["top","right","bottom","left"],transform:Y},top:{property:"top",transform:Y},right:{property:"right",transform:Y},bottom:{property:"bottom",transform:Y},left:{property:"left",transform:Y},zIndex:{property:"zIndex"},opacity:{property:"opacity"}},tr={display:{property:"display"},overflow:{property:"overflow"},overflowX:{property:"overflowX"},overflowY:{property:"overflowY"},size:{property:"width",properties:["width","height"],transform:Y},width:{property:"width",transform:Y},minWidth:{property:"minWidth",transform:Y},maxWidth:{property:"maxWidth",transform:Y},height:{property:"height",transform:Y},minHeight:{property:"minHeight",transform:Y},maxHeight:{property:"maxHeight",transform:Y},verticalAlign:{property:"verticalAlign"},...J,...Z,...U},or={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=Q().addGroup("space",or).addGroup("background",{background:{property:"background"},backgroundImage:{property:"backgroundImage"},backgroundSize:{property:"backgroundSize"},backgroundRepeat:{property:"backgroundRepeat"},backgroundPosition:{property:"backgroundPosition"}}).addGroup("layout",tr).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",er).addGroup("flex",V).addGroup("grid",rr).addGroup("mode",{mode:{property:"none",scale:"mode"}}).addGroup("vars",{vars:{property:"variables"}}),pr=sr.build();export{H as AnimusConfig,pr as animus,sr as coreConfig,Q as createAnimus,b as createScale,M as gridItem,q as gridItemRatio,_ as parseGridRatio,z as percentageOrAbsolute,N as repeatGridItem,Y as size};
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { AbstractPropTransformer, Parser } from '../types/config';
|
|
2
|
+
export declare const defaultBreakpoints: {
|
|
3
|
+
xs: number;
|
|
4
|
+
sm: number;
|
|
5
|
+
md: number;
|
|
6
|
+
lg: number;
|
|
7
|
+
xl: number;
|
|
8
|
+
};
|
|
2
9
|
export declare function createParser<Config extends Record<string, AbstractPropTransformer>>(config: Config): Parser<Config>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@animus-ui/core",
|
|
3
3
|
"description": "Constraint based CSS in JS for building scalable design systems",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.1.1-beta.2",
|
|
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": "10f4d6df3d99fb8e9105b48111aeb3c31ca8335f"
|
|
38
38
|
}
|