@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 CHANGED
@@ -1,4 +1,4 @@
1
- import { CalcInterpolation, Equation } from '@arbor-css/calc';
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]: CalcInterpolation;
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]: CalcInterpolation;
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]?: CalcInterpolation;
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: Equation) => void): void;
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
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAO,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACnE,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,iBAAiB;CACvC,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,iBAAiB;CAC3B,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,iBAAiB;CAC5B,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,QAAQ,KAAK,IAAI,QAmB9C"}
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
@@ -1,4 +1,4 @@
1
- import { css } from '@arbor-css/calc';
1
+ import { css } from '@arbor-css/css-eval';
2
2
  import { createTokenFactory, isToken, } from '@arbor-css/tokens';
3
3
  export function isFunctionParamWithMeta(param) {
4
4
  return typeof param === 'object' && 'name' in param;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CalcEvaluationContext, Css, type Equation } from '@arbor-css/calc';
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: Css, ...params: ParamsAsInterpolations<TParams>) => Equation;
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: Equation;
45
+ equation: Css;
46
46
  definition: string;
47
- compute: (params: ParamsAsCallInputs<TParams>, ctx?: CalcEvaluationContext) => string;
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
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EAGrB,GAAG,EACH,KAAK,QAAQ,EAGb,MAAM,iBAAiB,CAAC;AACzB,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,GAAG,EACR,GAAG,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,KACtC,QAAQ,CAAC;CACd,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,CA0CzB;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,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CACR,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACnC,GAAG,CAAC,EAAE,qBAAqB,KACvB,MAAM,CAAC;IACZ;;;;;;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"}
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 { computeEquation, css, printComputationResult, printEquation, } from '@arbor-css/calc';
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 equation = definition(css, ...paramsAsInterpolations(parameters, name));
15
- const body = printEquation(equation);
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, ctx) {
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 = computeEquation(equation, {
31
- ...ctx,
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,eAAe,EACf,GAAG,EAGH,sBAAsB,EACtB,aAAa,GACb,MAAM,iBAAiB,CAAC;AAEzB,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,QAAQ,GAAG,UAAU,CAC1B,GAAG,EACH,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAC3C,CAAC;QACF,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,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,CACN,MAAmC,EACnC,GAA2B;gBAE3B,MAAM,eAAe,GAAsC,EAAE,CAAC;gBAC9D,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,eAAe,CAAC,QAAQ,EAAE;oBACxC,GAAG,GAAG;oBACN,cAAc,EAAE;wBACf,GAAG,GAAG,EAAE,cAAc;wBACtB,GAAG,eAAe;qBAClB;iBACD,CAAC,CAAC;gBACH,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACvC,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;AAyBD,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,IAAI,KAAK,CAAC;AAC/E,CAAC"}
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 { CalcInterpolation, Css, type Equation } from '@arbor-css/calc';
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: Equation;
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 = CalcInterpolation | Equation;
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
- export declare function normalizeMixinBody(body: MixinBodyObject | MixinBodyList): ArborMixinBody;
30
- export type ArborMixinDefinition = MixinBodyObject | MixinBodyList;
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: Css, inputs: {
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, parameters: CreateMixinParameters<TParams, TTokens>) => ArborMixin<TParams, SimpleTokensAsTokenDefinitions<TTokens>>;
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: ArborMixinBody;
79
+ body: Css;
72
80
  definition: string;
73
81
  /**
74
- * Computes the mixin's body based on provided parameters. This
75
- * can be used to compose mixins together, by applying one mixin from
76
- * an extended preset "into" another mixin you define by spreading the
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: (colorParam) => ({
83
- * color: colorParam,
84
- * padding: '8px',
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 }, { mixins }) => [
90
- * ...mixins.base.apply('red'),
91
- * {
92
- * background: 'black',
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>) => MixinBodyList;
102
+ apply: (params: ParamsAsCallInputs<TParams>) => Css;
98
103
  parameters: TParams;
99
104
  parameterTokens: Token[];
100
105
  contributeTokens: TTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"}
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, isCalcEquation, printEquation, } from '@arbor-css/calc';
2
- import { convertSimpleTokenSchema, isToken, } from '@arbor-css/tokens';
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 toEquation(value) {
13
- if (isCalcEquation(value)) {
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 body = normalizeMixinBody(definition(css, tokensAndParams));
83
- const cssBody = printBody(body);
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
- })} { ${cssBody} }`,
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
- prop: name,
104
- value,
105
- });
55
+ parameterDeclarations.push(css `
56
+ ${name}: ${value};
57
+ `);
106
58
  });
107
- return [...parameterDeclarations, ...body];
59
+ return css `
60
+ ${parameterDeclarations} ${rawDefinition}
61
+ `;
108
62
  },
109
63
  parameters,
110
64
  parameterTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"}
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.108",
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/calc": "0.0.108",
30
- "@arbor-css/tokens": "0.0.108"
29
+ "@arbor-css/css-eval": "0.0.110",
30
+ "@arbor-css/tokens": "0.0.110"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "tsc",