zyzz 0.0.11 → 0.0.12

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.
@@ -1,6 +1,7 @@
1
1
  import type { style } from './styleFunction.js';
2
2
  import type * as Config from './Config.js';
3
3
  import type * as Binding from './internal/Binding.js';
4
+ import type * as Completion from './internal/Completion.js';
4
5
  import type * as Condition from './internal/Condition.js';
5
6
  import type * as Shorthands from './internal/Shorthands.js';
6
7
  import type * as Style from './Style.js';
@@ -23,6 +24,16 @@ type Choice<choices> = ChoiceName<Omit<choices, DynamicKeys<choices>>> | {
23
24
  } : never;
24
25
  }[DynamicKeys<choices>];
25
26
  type CheckedChoice<style, tokens extends Theme.Tokens, layers extends string, mappings extends Shorthands.Map> = style extends (values: infer values) => infer body ? (values: values) => CheckedStyles<body, tokens, layers, mappings> & Binding.Checked<body> & Binding.TokenSlots<body, values, tokens, mappings> & (string extends keyof values ? never : values extends Record<string, string | number> & Binding.Inputs<values> ? unknown : never) : CheckedStyles<style, tokens, layers, mappings>;
27
+ type SuggestedStyles<tokens extends Theme.Tokens> = Completion.Properties<tokens> & Readonly<Record<string, unknown>>;
28
+ /** Editor hints remain independent of declaration and selection validation. */
29
+ type Suggestions<tokens extends Theme.Tokens> = {
30
+ readonly base?: SuggestedStyles<tokens> | undefined;
31
+ readonly compoundVariants?: readonly {
32
+ readonly style: SuggestedStyles<tokens>;
33
+ readonly when: unknown;
34
+ }[] | undefined;
35
+ readonly variants?: Readonly<Record<string, Readonly<Record<string, SuggestedStyles<tokens> | ((...args: never[]) => SuggestedStyles<tokens>)>>>> | undefined;
36
+ };
26
37
  type Keys<value> = value extends unknown ? keyof value : never;
27
38
  type Selections<axes> = {
28
39
  readonly [axis in keyof axes]?: Choice<axes[axis]> | null | undefined;
@@ -61,11 +72,11 @@ type Checked<definition, tokens extends Theme.Tokens, layers extends string, map
61
72
  * @returns A callable selecting precompiled styles and returning one props object.
62
73
  * @throws {Error} When uncompiled authoring omits an explicit identity.
63
74
  */
64
- export declare function variants<const definition extends Record<string, unknown>>(definition: definition & NoInfer<Checked<definition, {}, never, {}>>, options?: style.DefinitionOptions): variants.ReturnType<definition>;
75
+ export declare function variants<const definition extends Record<string, unknown>>(definition: definition & NoInfer<Checked<definition, {}, never, {}>> & Suggestions<{}>, options?: style.DefinitionOptions): variants.ReturnType<definition>;
65
76
  /** Inferred recipe authoring and selection contracts. */
66
77
  export declare namespace variants {
67
78
  /** Theme-bound authoring with the same inferred selection contract. */
68
- type Bound<tokens extends Theme.Tokens, output extends style.Output = 'react', layers extends string = never, mappings extends Shorthands.Map = {}> = <const definition extends Record<string, unknown>>(definition: definition & NoInfer<Checked<definition, tokens, layers, mappings>>, options?: style.DefinitionOptions) => ReturnType<definition, output>;
79
+ type Bound<tokens extends Theme.Tokens, output extends style.Output = 'react', layers extends string = never, mappings extends Shorthands.Map = {}> = <const definition extends Record<string, unknown>>(definition: definition & NoInfer<Checked<definition, tokens, layers, mappings>> & Suggestions<tokens>, options?: style.DefinitionOptions) => ReturnType<definition, output>;
69
80
  /** Callable selection; omitted values use defaults and null suppresses them. */
70
81
  type ReturnType<definition, output extends style.Output = 'react'> = <const input extends Input<definition, output> = Input<definition, output>>(input?: input & Record<Exclude<Keys<input>, keyof Input<definition, output>>, never>) => style.Props<output> & {
71
82
  readonly [axis in keyof Axes<definition> as `data-${axis & string}`]?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variants.js","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AAmKpD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,UAAoE,EACpE,OAAO,GAA4B,EAAE;IAErC,OAAO,SAAS,CAAC,QAAQ,CACvB,UAAU,EACV,OAAO,CAC2B,CAAA;AACtC,CAAC;AAgCD,wDAAwD;AACxD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,mDAAmD;IACnD;QACE,KAAK,CACH,4FAA4F,CAC7F,CAAA;IACH,CAAC;IACD,qCAAqC;IAC5B,IAAI,GAAG,gCAAgC,CAAA;CACjD"}
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AAiMpD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,UAEiB,EACjB,OAAO,GAA4B,EAAE;IAErC,OAAO,SAAS,CAAC,QAAQ,CACvB,UAAU,EACV,OAAO,CAC2B,CAAA;AACtC,CAAC;AAiCD,wDAAwD;AACxD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,mDAAmD;IACnD;QACE,KAAK,CACH,4FAA4F,CAC7F,CAAA;IACH,CAAC;IACD,qCAAqC;IAC5B,IAAI,GAAG,gCAAgC,CAAA;CACjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "license": "MIT",
5
5
  "description": "Modern, universal, simple styling library for the Web and React Native",
6
6
  "repository": {
package/src/variants.ts CHANGED
@@ -3,6 +3,7 @@ import * as Authoring from './internal/Authoring.js'
3
3
  import type { style } from './styleFunction.js'
4
4
  import type * as Config from './Config.js'
5
5
  import type * as Binding from './internal/Binding.js'
6
+ import type * as Completion from './internal/Completion.js'
6
7
  import type * as Condition from './internal/Condition.js'
7
8
  import type * as Shorthands from './internal/Shorthands.js'
8
9
  import type * as Style from './Style.js'
@@ -59,6 +60,35 @@ type CheckedChoice<
59
60
  ? unknown
60
61
  : never)
61
62
  : CheckedStyles<style, tokens, layers, mappings>
63
+
64
+ type SuggestedStyles<tokens extends Theme.Tokens> =
65
+ Completion.Properties<tokens> & Readonly<Record<string, unknown>>
66
+
67
+ /** Editor hints remain independent of declaration and selection validation. */
68
+ type Suggestions<tokens extends Theme.Tokens> = {
69
+ readonly base?: SuggestedStyles<tokens> | undefined
70
+ readonly compoundVariants?:
71
+ | readonly {
72
+ readonly style: SuggestedStyles<tokens>
73
+ readonly when: unknown
74
+ }[]
75
+ | undefined
76
+ readonly variants?:
77
+ | Readonly<
78
+ Record<
79
+ string,
80
+ Readonly<
81
+ Record<
82
+ string,
83
+ | SuggestedStyles<tokens>
84
+ | ((...args: never[]) => SuggestedStyles<tokens>)
85
+ >
86
+ >
87
+ >
88
+ >
89
+ | undefined
90
+ }
91
+
62
92
  type Keys<value> = value extends unknown ? keyof value : never
63
93
  type Selections<axes> = {
64
94
  readonly [axis in keyof axes]?: Choice<axes[axis]> | null | undefined
@@ -169,7 +199,9 @@ type Checked<
169
199
  * @throws {Error} When uncompiled authoring omits an explicit identity.
170
200
  */
171
201
  export function variants<const definition extends Record<string, unknown>>(
172
- definition: definition & NoInfer<Checked<definition, {}, never, {}>>,
202
+ definition: definition &
203
+ NoInfer<Checked<definition, {}, never, {}>> &
204
+ Suggestions<{}>,
173
205
  options: style.DefinitionOptions = {},
174
206
  ): variants.ReturnType<definition> {
175
207
  return Authoring.variants(
@@ -188,7 +220,8 @@ export declare namespace variants {
188
220
  mappings extends Shorthands.Map = {},
189
221
  > = <const definition extends Record<string, unknown>>(
190
222
  definition: definition &
191
- NoInfer<Checked<definition, tokens, layers, mappings>>,
223
+ NoInfer<Checked<definition, tokens, layers, mappings>> &
224
+ Suggestions<tokens>,
192
225
  options?: style.DefinitionOptions,
193
226
  ) => ReturnType<definition, output>
194
227