@arbor-css/functions 0.0.108 → 0.0.110
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/dist/common.d.ts +5 -5
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +1 -1
- package/dist/common.js.map +1 -1
- package/dist/functions.d.ts +4 -4
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +12 -12
- package/dist/functions.js.map +1 -1
- package/dist/mixins.d.ts +28 -23
- package/dist/mixins.d.ts.map +1 -1
- package/dist/mixins.js +19 -65
- package/dist/mixins.js.map +1 -1
- package/package.json +3 -3
package/dist/common.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Css, CssInterpolation } from '@arbor-css/css-eval';
|
|
2
2
|
import { PropertyType, Token } from '@arbor-css/tokens';
|
|
3
3
|
export type CssProperty = `--${string}`;
|
|
4
4
|
export type FunctionParamWithMeta = {
|
|
@@ -10,7 +10,7 @@ export type FunctionParamWithMeta = {
|
|
|
10
10
|
export type FunctionParam = CssProperty | FunctionParamWithMeta;
|
|
11
11
|
export type FunctionParams = readonly FunctionParam[];
|
|
12
12
|
export type ParamsAsInterpolations<TParams extends FunctionParams> = {
|
|
13
|
-
[K in keyof TParams]:
|
|
13
|
+
[K in keyof TParams]: CssInterpolation;
|
|
14
14
|
};
|
|
15
15
|
export type ParamsAsNames<TParams extends FunctionParams> = {
|
|
16
16
|
[K in keyof TParams]: TParams[K] extends FunctionParamWithMeta ? TParams[K]['name'] : TParams[K] extends CssProperty ? TParams[K] : never;
|
|
@@ -22,12 +22,12 @@ export type ParamsAsNames<TParams extends FunctionParams> = {
|
|
|
22
22
|
export type ParamsAsCallInputs<TParams extends FunctionParams> = {
|
|
23
23
|
[K in keyof TParams as TParams[K] extends {
|
|
24
24
|
fallback: string;
|
|
25
|
-
} ? never : TParams[K] extends FunctionParamWithMeta ? TParams[K]['name'] : TParams[K] extends CssProperty ? TParams[K] : never]:
|
|
25
|
+
} ? never : TParams[K] extends FunctionParamWithMeta ? TParams[K]['name'] : TParams[K] extends CssProperty ? TParams[K] : never]: CssInterpolation;
|
|
26
26
|
} & {
|
|
27
27
|
[K in keyof TParams as TParams[K] extends ({
|
|
28
28
|
name: CssProperty;
|
|
29
29
|
fallback: string;
|
|
30
|
-
}) ? TParams[K]['name'] : never]?:
|
|
30
|
+
}) ? TParams[K]['name'] : never]?: CssInterpolation;
|
|
31
31
|
};
|
|
32
32
|
export declare function isFunctionParamWithMeta(param: CssProperty | FunctionParamWithMeta): param is FunctionParamWithMeta;
|
|
33
33
|
export declare function paramsAsString<TParams extends FunctionParams>(params: TParams, { keepEmpty, nonce, }: {
|
|
@@ -37,5 +37,5 @@ export declare function paramsAsString<TParams extends FunctionParams>(params: T
|
|
|
37
37
|
export declare function getParamName(param: FunctionParam): string;
|
|
38
38
|
export declare function paramAsToken(param: FunctionParam, nonce: string): Token;
|
|
39
39
|
export declare function paramsAsInterpolations<TParams extends FunctionParams>(params: TParams, nonce: string): ParamsAsInterpolations<TParams>;
|
|
40
|
-
export declare function applyParameters(params: FunctionParams, inputs: Record<string, string>, nonce: string, apply: (name: string, value:
|
|
40
|
+
export declare function applyParameters(params: FunctionParams, inputs: Record<string, string>, nonce: string, apply: (name: string, value: Css) => void): void;
|
|
41
41
|
//# sourceMappingURL=common.d.ts.map
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAGN,YAAY,EACZ,KAAK,EACL,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,KAAK,MAAM,EAAE,CAAC;AACxC,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,qBAAqB,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,SAAS,aAAa,EAAE,CAAC;AACtD,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,cAAc,IAAI;KACnE,CAAC,IAAI,MAAM,OAAO,GAAG,gBAAgB;CACtC,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,cAAc,IAAI;KAC1D,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GACjB,OAAO,CAAC,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,GAC3C,KAAK;CACP,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,cAAc,IAAI;KAC/D,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,GACpE,OAAO,CAAC,CAAC,CAAC,SAAS,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAC7D,OAAO,CAAC,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,GAC3C,KAAK,GAAG,gBAAgB;CAC1B,GAAG;KACF,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CACzC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CACvC,GACA,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GACjB,KAAK,CAAC,CAAC,EAAE,gBAAgB;CAC3B,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,WAAW,GAAG,qBAAqB,GACxC,KAAK,IAAI,qBAAqB,CAEhC;AAED,wBAAgB,cAAc,CAAC,OAAO,SAAS,cAAc,EAC5D,MAAM,EAAE,OAAO,EACf,EACC,SAAS,EACT,KAAK,GACL,EAAE;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GACC,MAAM,CAqBR;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAQzD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAcvE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,cAAc,EACpE,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,GACX,sBAAsB,CAAC,OAAO,CAAC,CAYjC;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,QAmBzC"}
|
package/dist/common.js
CHANGED
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Css, CssTemplate } from '@arbor-css/css-eval';
|
|
2
2
|
import { Token } from '@arbor-css/tokens';
|
|
3
3
|
import { FunctionParams, ParamsAsCallInputs, ParamsAsInterpolations } from './common.js';
|
|
4
4
|
export declare const DEFAULT_FUNCTION_NAME_PREFIX = "--fn-";
|
|
@@ -14,7 +14,7 @@ declare const FUNCTION_BRAND = "@@FUNCTION@@";
|
|
|
14
14
|
export type CreateFunctionParameters<TParams extends FunctionParams> = {
|
|
15
15
|
description?: string;
|
|
16
16
|
parameters: TParams;
|
|
17
|
-
definition: (css:
|
|
17
|
+
definition: (css: CssTemplate, ...params: ParamsAsInterpolations<TParams>) => Css;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* Creates a CSS custom function definition with runtime compute capability.
|
|
@@ -42,9 +42,9 @@ export type ArborFunction<TParams extends FunctionParams = FunctionParams> = {
|
|
|
42
42
|
description?: string;
|
|
43
43
|
parameters: TParams;
|
|
44
44
|
parameterTokens: Token[];
|
|
45
|
-
equation:
|
|
45
|
+
equation: Css;
|
|
46
46
|
definition: string;
|
|
47
|
-
compute: (params: ParamsAsCallInputs<TParams
|
|
47
|
+
compute: (params: ParamsAsCallInputs<TParams>) => Css;
|
|
48
48
|
/**
|
|
49
49
|
* A printed representation of the function call signature, for use in
|
|
50
50
|
* documentation and error messages
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,GAAG,EACH,WAAW,EAGX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAEN,cAAc,EAEd,kBAAkB,EAClB,sBAAsB,EAGtB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,4BAA4B,UAAU,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,cAAc,iBAAiB,CAAC;AAEtC,MAAM,MAAM,wBAAwB,CAAC,OAAO,SAAS,cAAc,IAAI;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,CACX,GAAG,EAAE,WAAW,EAChB,GAAG,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,KACtC,GAAG,CAAC;CACT,CAAC;AACF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,SAAS,cAAc,EAC3D,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC,KACzC,aAAa,CAAC,OAAO,CAAC,CAAC;AAE5B,wBAAgB,qBAAqB,CAAC,EACrC,UAAyC,GACzC,GAAE;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACf,IAG0B,OAAO,SAAS,cAAc,QACtD,MAAM,2CAC6B,wBAAwB,CAAC,OAAO,CAAC,KACxE,aAAa,CAAC,OAAO,CAAC,CAsCzB;AAED,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,IAAI;IAC5E,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,KAAK,EAAE,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;IACtD;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,CAEtE"}
|
package/dist/functions.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { css, printCss, resolveProperties, } from '@arbor-css/css-eval';
|
|
2
2
|
import { applyParameters, paramAsToken, paramsAsInterpolations, paramsAsString, } from './common.js';
|
|
3
3
|
export const DEFAULT_FUNCTION_NAME_PREFIX = '--fn-';
|
|
4
4
|
const FUNCTION_BRAND = '@@FUNCTION@@';
|
|
@@ -11,8 +11,14 @@ export function createFunctionFactory({ namePrefix = DEFAULT_FUNCTION_NAME_PREFI
|
|
|
11
11
|
nonce: name,
|
|
12
12
|
});
|
|
13
13
|
const paramsAsTokens = parameters.map((p) => paramAsToken(p, name));
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const rawCss = definition(css, ...paramsAsInterpolations(parameters, name));
|
|
15
|
+
if (rawCss.type === 'stylesheet') {
|
|
16
|
+
throw new TypeError(`createFunction: the definition callback for '${cssName}' returned a stylesheet block, ` +
|
|
17
|
+
`but functions must return a single CSS value expression. ` +
|
|
18
|
+
`Use mixin (createMixin) instead for block-level definitions.`);
|
|
19
|
+
}
|
|
20
|
+
const equation = rawCss;
|
|
21
|
+
const body = printCss(equation);
|
|
16
22
|
const cssDefinition = `@function ${cssName}${paramsList} { result: ${body}; }`;
|
|
17
23
|
return {
|
|
18
24
|
[FUNCTION_BRAND]: true,
|
|
@@ -22,19 +28,13 @@ export function createFunctionFactory({ namePrefix = DEFAULT_FUNCTION_NAME_PREFI
|
|
|
22
28
|
parameterTokens: paramsAsTokens,
|
|
23
29
|
equation,
|
|
24
30
|
definition: cssDefinition,
|
|
25
|
-
compute(params
|
|
31
|
+
compute(params) {
|
|
26
32
|
const parameterValues = {};
|
|
27
33
|
applyParameters(parameters, params, name, (paramName, value) => {
|
|
28
34
|
parameterValues[paramName] = value;
|
|
29
35
|
});
|
|
30
|
-
const result =
|
|
31
|
-
|
|
32
|
-
propertyValues: {
|
|
33
|
-
...ctx?.propertyValues,
|
|
34
|
-
...parameterValues,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
return printComputationResult(result);
|
|
36
|
+
const result = resolveProperties(equation, parameterValues);
|
|
37
|
+
return result;
|
|
38
38
|
},
|
|
39
39
|
signature: `${cssName}${paramsAsString(parameters, { keepEmpty: true })}`,
|
|
40
40
|
};
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,GAAG,EAGH,QAAQ,EACR,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,eAAe,EAEf,YAAY,EAGZ,sBAAsB,EACtB,cAAc,GACd,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAWpD,MAAM,cAAc,GAAG,cAAc,CAAC;AA+BtC,MAAM,UAAU,qBAAqB,CAAC,EACrC,UAAU,GAAG,4BAA4B,MAGtC,EAAE;IACL,MAAM,cAAc,GAAG,UAAU,CAAC;IAElC,OAAO,SAAS,cAAc,CAC7B,IAAY,EACZ,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAqC;QAE1E,MAAM,OAAO,GAAG,GAAG,cAAc,GAAG,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE;YAC7C,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAClB,gDAAgD,OAAO,iCAAiC;gBACvF,2DAA2D;gBAC3D,8DAA8D,CAC/D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAa,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,aAAa,GAAG,aAAa,OAAO,GAAG,UAAU,cAAc,IAAI,KAAK,CAAC;QAE/E,OAAO;YACN,CAAC,cAAc,CAAC,EAAE,IAAa;YAC/B,IAAI,EAAE,OAAO;YACb,WAAW;YACX,UAAU;YACV,eAAe,EAAE,cAAc;YAC/B,QAAQ;YACR,UAAU,EAAE,aAAa;YACzB,OAAO,CAAC,MAAmC;gBAC1C,MAAM,eAAe,GAAiC,EAAE,CAAC;gBACzD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBAC9D,eAAe,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC5D,OAAO,MAAM,CAAC;YACf,CAAC;YACD,SAAS,EAAE,GAAG,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;SACzE,CAAC;IACH,CAA0B,CAAC;AAC5B,CAAC;AAsBD,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,IAAI,KAAK,CAAC;AAC/E,CAAC"}
|
package/dist/mixins.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Css, CssInterpolation, CssTemplate } from '@arbor-css/css-eval';
|
|
2
2
|
import { CreateToken, SimpleTokensAsTokenDefinitions, SimpleTokenSchema, Token, TokenSchema } from '@arbor-css/tokens';
|
|
3
3
|
import { FunctionParams, ParamsAsCallInputs, ParamsAsInterpolations } from './common.js';
|
|
4
4
|
export declare const DEFAULT_MIXIN_NAME_PREFIX = "--mx-";
|
|
5
5
|
declare const MIXIN_BRAND = "@@MIXIN@@";
|
|
6
6
|
export type ArborMixinDeclaration = {
|
|
7
7
|
prop: string;
|
|
8
|
-
value:
|
|
8
|
+
value: Css;
|
|
9
9
|
};
|
|
10
10
|
export type ArborMixinScope = {
|
|
11
11
|
scope: string;
|
|
@@ -13,7 +13,7 @@ export type ArborMixinScope = {
|
|
|
13
13
|
};
|
|
14
14
|
export type ArborMixinBodyEntry = ArborMixinDeclaration | ArborMixinScope;
|
|
15
15
|
export type ArborMixinBody = ArborMixinBodyEntry[];
|
|
16
|
-
type MixinValue =
|
|
16
|
+
type MixinValue = CssInterpolation | Css;
|
|
17
17
|
type MixinScopedBodyObject = Record<string, MixinValue>;
|
|
18
18
|
type MixinBodyObject = Record<string, MixinValue | MixinScopedBodyObject | MixinBodyList>;
|
|
19
19
|
export type MixinBodyListItem = {
|
|
@@ -26,15 +26,23 @@ export type MixinBodyListItem = {
|
|
|
26
26
|
type MixinBodyList = readonly MixinBodyListItem[];
|
|
27
27
|
export declare function isMixinPropertyDeclaration(entry: ArborMixinBodyEntry): entry is ArborMixinDeclaration;
|
|
28
28
|
export declare function isMixinScope(entry: ArborMixinBodyEntry): entry is ArborMixinScope;
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The definition returned by a mixin's `definition` callback.
|
|
31
|
+
* - Stylesheet form: `css\`color: red;\`` (multi-line template with declarations)
|
|
32
|
+
*
|
|
33
|
+
* Note: the `css\`\`` tagged template literal always returns `Css` by type,
|
|
34
|
+
* but at runtime, a template containing property declarations (`;` at top level)
|
|
35
|
+
* or scoped blocks (`{...}`) produces a `CssStylesheet`. The mixin factory
|
|
36
|
+
* detects this at runtime using `isCssStylesheet()`.
|
|
37
|
+
*/
|
|
38
|
+
export type ArborMixinDefinition = Css;
|
|
31
39
|
export interface CreateMixinParameters<TParams extends FunctionParams, TTokens extends SimpleTokenSchema = SimpleTokenSchema> {
|
|
32
40
|
description?: string | ((info: {
|
|
33
41
|
parameters: ParamsAsInterpolations<TParams>;
|
|
34
42
|
tokens: SimpleTokensAsTokenDefinitions<TTokens>;
|
|
35
43
|
}) => string);
|
|
36
44
|
parameters?: TParams;
|
|
37
|
-
definition: (css:
|
|
45
|
+
definition: (css: CssTemplate, inputs: {
|
|
38
46
|
parameters: ParamsAsInterpolations<TParams>;
|
|
39
47
|
tokens: SimpleTokensAsTokenDefinitions<TTokens>;
|
|
40
48
|
}) => ArborMixinDefinition;
|
|
@@ -59,7 +67,7 @@ export interface CreateMixinParameters<TParams extends FunctionParams, TTokens e
|
|
|
59
67
|
* 'box-shadow': css`var(--ring), var(--shadow)`,
|
|
60
68
|
* }),
|
|
61
69
|
*/
|
|
62
|
-
export type CreateMixin = <TParams extends FunctionParams, TTokens extends SimpleTokenSchema>(name: string,
|
|
70
|
+
export type CreateMixin = <TParams extends FunctionParams, TTokens extends SimpleTokenSchema>(name: string, config: CreateMixinParameters<TParams, TTokens>) => ArborMixin<TParams, SimpleTokensAsTokenDefinitions<TTokens>>;
|
|
63
71
|
export declare function createMixinFactory({ namePrefix, createToken, }: {
|
|
64
72
|
namePrefix?: string;
|
|
65
73
|
createToken: CreateToken;
|
|
@@ -68,33 +76,30 @@ export type ArborMixin<TParams extends FunctionParams, TTokens extends TokenSche
|
|
|
68
76
|
[MIXIN_BRAND]: true;
|
|
69
77
|
name: string;
|
|
70
78
|
description?: string;
|
|
71
|
-
body:
|
|
79
|
+
body: Css;
|
|
72
80
|
definition: string;
|
|
73
81
|
/**
|
|
74
|
-
* Computes the mixin's body based on provided parameters
|
|
75
|
-
* can be used to compose mixins
|
|
76
|
-
*
|
|
77
|
-
* result of this method.
|
|
82
|
+
* Computes the mixin's body based on provided parameters and returns it
|
|
83
|
+
* as a {@link CssStylesheet} fragment. This can be used to compose mixins
|
|
84
|
+
* together by interpolating the result into a `css\`\`` template:
|
|
78
85
|
*
|
|
79
86
|
* @example
|
|
80
87
|
* const baseMixin = createMixin('base', {
|
|
81
88
|
* parameters: ['--color'] as const,
|
|
82
|
-
* definition: (
|
|
83
|
-
* color:
|
|
84
|
-
* padding:
|
|
85
|
-
*
|
|
89
|
+
* definition: (css, { parameters: [color] }) => css`
|
|
90
|
+
* color: ${color};
|
|
91
|
+
* padding: 8px;
|
|
92
|
+
* `,
|
|
86
93
|
* });
|
|
87
94
|
*
|
|
88
95
|
* const extendedMixin = createMixin('extended', {
|
|
89
|
-
* definition: (css, { parameters
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* },
|
|
94
|
-
* ],
|
|
96
|
+
* definition: (css, { parameters: [color] }) => css`
|
|
97
|
+
* ${baseMixin.apply({ '--color': color })}
|
|
98
|
+
* background: black;
|
|
99
|
+
* `,
|
|
95
100
|
* });
|
|
96
101
|
*/
|
|
97
|
-
apply: (params: ParamsAsCallInputs<TParams>) =>
|
|
102
|
+
apply: (params: ParamsAsCallInputs<TParams>) => Css;
|
|
98
103
|
parameters: TParams;
|
|
99
104
|
parameterTokens: Token[];
|
|
100
105
|
contributeTokens: TTokens;
|
package/dist/mixins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"}
|
package/dist/mixins.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { css,
|
|
2
|
-
import { convertSimpleTokenSchema,
|
|
1
|
+
import { css, isCss, printCss, } from '@arbor-css/css-eval';
|
|
2
|
+
import { convertSimpleTokenSchema, } from '@arbor-css/tokens';
|
|
3
3
|
import { applyParameters, paramAsToken, paramsAsInterpolations, paramsAsString, } from './common.js';
|
|
4
4
|
export const DEFAULT_MIXIN_NAME_PREFIX = '--mx-';
|
|
5
5
|
const MIXIN_BRAND = '@@MIXIN@@';
|
|
@@ -9,65 +9,14 @@ export function isMixinPropertyDeclaration(entry) {
|
|
|
9
9
|
export function isMixinScope(entry) {
|
|
10
10
|
return 'scope' in entry;
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
if (
|
|
12
|
+
function toCss(value) {
|
|
13
|
+
if (isCss(value)) {
|
|
14
14
|
return value;
|
|
15
15
|
}
|
|
16
16
|
return css `
|
|
17
17
|
${value}
|
|
18
18
|
`;
|
|
19
19
|
}
|
|
20
|
-
export function normalizeMixinBody(body) {
|
|
21
|
-
if (Array.isArray(body)) {
|
|
22
|
-
const collected = [];
|
|
23
|
-
body.forEach((item) => {
|
|
24
|
-
if ('scope' in item) {
|
|
25
|
-
collected.push({
|
|
26
|
-
scope: item.scope,
|
|
27
|
-
children: normalizeMixinBody(item.children),
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else if ('prop' in item) {
|
|
31
|
-
collected.push({
|
|
32
|
-
prop: item.prop,
|
|
33
|
-
value: toEquation(item.value),
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
collected.push(...normalizeMixinBody(item));
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
return collected;
|
|
41
|
-
}
|
|
42
|
-
return Object.entries(body).map(([propOrScope, value]) => {
|
|
43
|
-
if (typeof value === 'object' &&
|
|
44
|
-
value !== null &&
|
|
45
|
-
!isCalcEquation(value) &&
|
|
46
|
-
!isToken(value)) {
|
|
47
|
-
return {
|
|
48
|
-
scope: propOrScope,
|
|
49
|
-
children: normalizeMixinBody(value),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
return {
|
|
53
|
-
prop: propOrScope,
|
|
54
|
-
value: toEquation(value),
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
function printBody(body) {
|
|
59
|
-
return body
|
|
60
|
-
.map((entry) => {
|
|
61
|
-
if (isMixinPropertyDeclaration(entry)) {
|
|
62
|
-
return `${entry.prop}: ${printEquation(entry.value)};`;
|
|
63
|
-
}
|
|
64
|
-
if (isMixinScope(entry)) {
|
|
65
|
-
return `${entry.scope} { ${printBody(entry.children)} }`;
|
|
66
|
-
}
|
|
67
|
-
return '';
|
|
68
|
-
})
|
|
69
|
-
.join(' ');
|
|
70
|
-
}
|
|
71
20
|
export function createMixinFactory({ namePrefix = DEFAULT_MIXIN_NAME_PREFIX, createToken, }) {
|
|
72
21
|
const mixinPrefix = namePrefix;
|
|
73
22
|
return function createMixin(name, { description, definition, parameters = [], contributeTokens: contributeTokensInput = {}, }) {
|
|
@@ -79,8 +28,12 @@ export function createMixinFactory({ namePrefix = DEFAULT_MIXIN_NAME_PREFIX, cre
|
|
|
79
28
|
parameters: paramsAsInterpolations(parameters, name),
|
|
80
29
|
tokens: contributeTokens,
|
|
81
30
|
};
|
|
82
|
-
const
|
|
83
|
-
|
|
31
|
+
const rawDefinition = definition(css, tokensAndParams);
|
|
32
|
+
// css`` returns Css by TS type but may actually produce a CssStylesheet
|
|
33
|
+
// at runtime when the template contains property declarations or blocks.
|
|
34
|
+
if (rawDefinition.type !== 'stylesheet') {
|
|
35
|
+
throw new Error(`Mixin definition must be a CSS declaration block or contain scoped blocks (received: ${printCss(rawDefinition)}) If you intended to return a single equation, wrap it in a declaration, e.g. css\`--value: ${rawDefinition};\``);
|
|
36
|
+
}
|
|
84
37
|
const parameterTokens = parameters.map((p) => paramAsToken(p, name));
|
|
85
38
|
return {
|
|
86
39
|
[MIXIN_BRAND]: true,
|
|
@@ -88,23 +41,24 @@ export function createMixinFactory({ namePrefix = DEFAULT_MIXIN_NAME_PREFIX, cre
|
|
|
88
41
|
description: typeof description === 'function' ?
|
|
89
42
|
description(tokensAndParams)
|
|
90
43
|
: description,
|
|
91
|
-
body,
|
|
44
|
+
body: rawDefinition,
|
|
92
45
|
definition: `@mixin ${cssName}${paramsAsString(parameters, {
|
|
93
46
|
nonce: name,
|
|
94
|
-
})} { ${
|
|
47
|
+
})} { ${printCss(rawDefinition)} }`,
|
|
95
48
|
apply: (values) => {
|
|
96
49
|
// we "apply" a mixin within another mixin by assigning
|
|
97
50
|
// the provided parameters to properties matching their names,
|
|
98
51
|
// prepending that to this mixin's body statements, and
|
|
99
|
-
// returning it all.
|
|
52
|
+
// returning it all as a CssStylesheet fragment.
|
|
100
53
|
const parameterDeclarations = [];
|
|
101
54
|
applyParameters(parameters, values, name, (name, value) => {
|
|
102
|
-
parameterDeclarations.push(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
});
|
|
55
|
+
parameterDeclarations.push(css `
|
|
56
|
+
${name}: ${value};
|
|
57
|
+
`);
|
|
106
58
|
});
|
|
107
|
-
return
|
|
59
|
+
return css `
|
|
60
|
+
${parameterDeclarations} ${rawDefinition}
|
|
61
|
+
`;
|
|
108
62
|
},
|
|
109
63
|
parameters,
|
|
110
64
|
parameterTokens,
|
package/dist/mixins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arbor-css/functions",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.110",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"vite": "^8.0.13"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@arbor-css/
|
|
30
|
-
"@arbor-css/tokens": "0.0.
|
|
29
|
+
"@arbor-css/css-eval": "0.0.110",
|
|
30
|
+
"@arbor-css/tokens": "0.0.110"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "tsc",
|