zyzz 0.0.33 → 0.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/binding/compiler.wasm +0 -0
  2. package/binding/wasi/zyzz.wasm32-wasi.wasm +0 -0
  3. package/binding/zyzz.darwin-arm64.node +0 -0
  4. package/binding/zyzz.darwin-x64.node +0 -0
  5. package/binding/zyzz.linux-arm64-gnu.node +0 -0
  6. package/binding/zyzz.linux-arm64-musl.node +0 -0
  7. package/binding/zyzz.linux-x64-gnu.node +0 -0
  8. package/binding/zyzz.linux-x64-musl.node +0 -0
  9. package/binding/zyzz.win32-arm64-msvc.node +0 -0
  10. package/binding/zyzz.win32-x64-msvc.node +0 -0
  11. package/dist/Style.d.ts +1 -1
  12. package/dist/Style.d.ts.map +1 -1
  13. package/dist/Style.js.map +1 -1
  14. package/dist/Vars.d.ts +17 -11
  15. package/dist/Vars.d.ts.map +1 -1
  16. package/dist/Vars.js.map +1 -1
  17. package/dist/babel/index.d.ts.map +1 -1
  18. package/dist/babel/index.js +10 -1
  19. package/dist/babel/index.js.map +1 -1
  20. package/dist/base-ui/react/Config.d.ts +48 -0
  21. package/dist/base-ui/react/Config.d.ts.map +1 -0
  22. package/dist/base-ui/react/Config.js +30 -0
  23. package/dist/base-ui/react/Config.js.map +1 -0
  24. package/dist/base-ui/react/Style.d.ts +47 -0
  25. package/dist/base-ui/react/Style.d.ts.map +1 -0
  26. package/dist/base-ui/react/Style.js +12 -0
  27. package/dist/base-ui/react/Style.js.map +1 -0
  28. package/dist/base-ui/react/index.d.ts +13 -0
  29. package/dist/base-ui/react/index.d.ts.map +1 -0
  30. package/dist/base-ui/react/index.js +13 -0
  31. package/dist/base-ui/react/index.js.map +1 -0
  32. package/dist/base-ui/react/internal/Attributes.generated.d.ts +372 -0
  33. package/dist/base-ui/react/internal/Attributes.generated.d.ts.map +1 -0
  34. package/dist/base-ui/react/internal/Attributes.generated.js +403 -0
  35. package/dist/base-ui/react/internal/Attributes.generated.js.map +1 -0
  36. package/dist/base-ui/react/internal/Authoring.d.ts +9 -0
  37. package/dist/base-ui/react/internal/Authoring.d.ts.map +1 -0
  38. package/dist/base-ui/react/internal/Authoring.js +139 -0
  39. package/dist/base-ui/react/internal/Authoring.js.map +1 -0
  40. package/dist/base-ui/react/internal/Types.generated.d.ts +18933 -0
  41. package/dist/base-ui/react/internal/Types.generated.d.ts.map +1 -0
  42. package/dist/base-ui/react/internal/Types.generated.js +2 -0
  43. package/dist/base-ui/react/internal/Types.generated.js.map +1 -0
  44. package/dist/binding/compiler.wasm +0 -0
  45. package/dist/compiler/Graph.d.ts +1 -1
  46. package/dist/compiler/Graph.d.ts.map +1 -1
  47. package/dist/compiler/internal/Modules.d.ts +33 -0
  48. package/dist/compiler/internal/Modules.d.ts.map +1 -0
  49. package/dist/compiler/internal/Modules.js +56 -0
  50. package/dist/compiler/internal/Modules.js.map +1 -0
  51. package/dist/compiler/internal/Results.d.ts +2 -26
  52. package/dist/compiler/internal/Results.d.ts.map +1 -1
  53. package/dist/compiler/internal/Results.js +4 -57
  54. package/dist/compiler/internal/Results.js.map +1 -1
  55. package/dist/compiler/wasm/Graph.d.ts +70 -0
  56. package/dist/compiler/wasm/Graph.d.ts.map +1 -0
  57. package/dist/compiler/wasm/Graph.js +70 -0
  58. package/dist/compiler/wasm/Graph.js.map +1 -0
  59. package/dist/compiler/wasm/index.d.ts +8 -0
  60. package/dist/compiler/wasm/index.d.ts.map +1 -0
  61. package/dist/compiler/wasm/index.js +8 -0
  62. package/dist/compiler/wasm/index.js.map +1 -0
  63. package/dist/default.js.zyzz.json +1 -1
  64. package/dist/internal/Configuration.d.ts +2 -1
  65. package/dist/internal/Configuration.d.ts.map +1 -1
  66. package/dist/internal/Configuration.js.map +1 -1
  67. package/dist/internal/Value.d.ts +4 -0
  68. package/dist/internal/Value.d.ts.map +1 -1
  69. package/dist/internal/Value.js.map +1 -1
  70. package/dist/internal/VariableSets.d.ts.map +1 -1
  71. package/dist/internal/VariableSets.js +16 -0
  72. package/dist/internal/VariableSets.js.map +1 -1
  73. package/dist/internal/Wasm.d.ts +7 -5
  74. package/dist/internal/Wasm.d.ts.map +1 -1
  75. package/dist/internal/Wasm.js +19 -7
  76. package/dist/internal/Wasm.js.map +1 -1
  77. package/dist/vite/index.d.ts.map +1 -1
  78. package/dist/vite/index.js +9 -1
  79. package/dist/vite/index.js.map +1 -1
  80. package/dist/web/internal/Wasm.generated.d.ts.map +1 -1
  81. package/dist/web/internal/Wasm.generated.js +1 -1
  82. package/dist/web/internal/Wasm.generated.js.map +1 -1
  83. package/package.json +20 -1
  84. package/src/Style.ts +4 -1
  85. package/src/Vars.ts +41 -21
  86. package/src/babel/index.ts +13 -1
  87. package/src/base-ui/react/Config.ts +74 -0
  88. package/src/base-ui/react/Style.ts +109 -0
  89. package/src/base-ui/react/index.ts +12 -0
  90. package/src/base-ui/react/internal/Attributes.generated.ts +403 -0
  91. package/src/base-ui/react/internal/Authoring.ts +173 -0
  92. package/src/base-ui/react/internal/Catalog.generated.ts +8088 -0
  93. package/src/base-ui/react/internal/Types.generated.ts +19016 -0
  94. package/src/compiler/Graph.ts +1 -1
  95. package/src/compiler/internal/Modules.ts +94 -0
  96. package/src/compiler/internal/Results.ts +6 -91
  97. package/src/compiler/wasm/Graph.ts +178 -0
  98. package/src/compiler/wasm/index.ts +7 -0
  99. package/src/internal/Configuration.ts +4 -1
  100. package/src/internal/Value.ts +5 -0
  101. package/src/internal/VariableSets.ts +22 -0
  102. package/src/internal/Wasm.ts +22 -7
  103. package/src/vite/index.ts +12 -1
  104. package/src/web/internal/Wasm.generated.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Wasm.generated.js","sourceRoot":"","sources":["../../../src/web/internal/Wasm.generated.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAW,sy/5BAAsy/5B,CAAA"}
1
+ {"version":3,"file":"Wasm.generated.js","sourceRoot":"","sources":["../../../src/web/internal/Wasm.generated.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAW,sx/5BAAsx/5B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyzz",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "license": "MIT",
5
5
  "description": "Modern, universal, simple styling library for the Web and React Native",
6
6
  "homepage": "https://zyzz.style",
@@ -27,6 +27,7 @@
27
27
  "main": "./dist/index.js",
28
28
  "files": [
29
29
  "binding/*.node",
30
+ "binding/compiler.wasm",
30
31
  "binding/wasi/wasi-worker.mjs",
31
32
  "binding/wasi/zyzz.wasi.cjs",
32
33
  "binding/wasi/zyzz.wasm32-wasi.wasm",
@@ -76,11 +77,25 @@
76
77
  "types": "./dist/babel/index.d.ts",
77
78
  "default": "./dist/babel/index.js"
78
79
  },
80
+ "./base-ui/react": {
81
+ "src": "./src/base-ui/react/index.ts",
82
+ "types": "./dist/base-ui/react/index.d.ts",
83
+ "default": "./dist/base-ui/react/index.js"
84
+ },
79
85
  "./compiler": {
80
86
  "src": "./src/compiler/index.ts",
81
87
  "types": "./dist/compiler/index.d.ts",
82
88
  "default": "./dist/compiler/index.js"
83
89
  },
90
+ "./compiler.wasm": {
91
+ "src": "./binding/compiler.wasm",
92
+ "default": "./dist/binding/compiler.wasm"
93
+ },
94
+ "./compiler/wasm": {
95
+ "src": "./src/compiler/wasm/index.ts",
96
+ "types": "./dist/compiler/wasm/index.d.ts",
97
+ "default": "./dist/compiler/wasm/index.js"
98
+ },
84
99
  "./default": {
85
100
  "src": "./src/default.ts",
86
101
  "types": "./dist/default.d.ts",
@@ -205,6 +220,7 @@
205
220
  },
206
221
  "peerDependencies": {
207
222
  "@babel/core": "^7.29.7",
223
+ "@base-ui/react": "1.8.0",
208
224
  "next": "^16.3.5",
209
225
  "react": "^19.0.0",
210
226
  "react-native": ">=0.86.0 <1.0.0",
@@ -215,6 +231,9 @@
215
231
  "@babel/core": {
216
232
  "optional": true
217
233
  },
234
+ "@base-ui/react": {
235
+ "optional": true
236
+ },
218
237
  "next": {
219
238
  "optional": true
220
239
  },
package/src/Style.ts CHANGED
@@ -67,7 +67,10 @@ export type Accepted<
67
67
  : key extends 'typography'
68
68
  ? literal extends true
69
69
  ? never
70
- : Value.Atom<Typography.Names<tokens>>
70
+ : style[key] extends Value.Atom<Typography.Names<tokens>>
71
+ ? style[key]
72
+ : // A disjoint literal would reduce the whole object to `never`, so the brand keeps the error on this property.
73
+ Value.Unmatched<Typography.Names<tokens>>
71
74
  : key extends keyof Literal.Properties
72
75
  ? (literal extends true
73
76
  ? LiteralDeclarations
package/src/Vars.ts CHANGED
@@ -39,6 +39,11 @@ export type Values = {
39
39
  readonly [key: string]: Value | Values | readonly string[]
40
40
  }
41
41
 
42
+ /** Extension values: overrides, additions, and `null` removals of existing paths. */
43
+ export type Changes = {
44
+ readonly [key: string]: Value | Changes | readonly string[] | null
45
+ }
46
+
42
47
  /** Immutable references retaining their shared set contract. */
43
48
  export type Definition<values extends Values = Values> = (Values extends values
44
49
  ? {}
@@ -184,21 +189,25 @@ type Merge<base, derived> = {
184
189
  }
185
190
 
186
191
  /**
187
- * Overrides existing leaves and adds new ones. Without an id, the extension is an
188
- * alternative set sharing the base's identity; with one, it is a new set whose
189
- * inherited leaves reference the base's variables. Restating a base leaf, such as
190
- * `base.spacing.md` at `spacing.md`, keeps it.
191
- * @throws {InvalidError} If an override changes a domain or an addition replaces a leaf with a category, or the reverse.
192
+ * Overrides existing leaves, adds new ones, and removes paths set to `null`. Without
193
+ * an id, the extension is an alternative set sharing the base's identity; with one,
194
+ * it is a new set whose inherited leaves reference the base's variables. Restating a
195
+ * base leaf, such as `base.spacing.md` at `spacing.md`, keeps it. A removed path
196
+ * leaves the extension's references and emitted variables, and `null` at a category
197
+ * removes every leaf below it.
198
+ * @throws {InvalidError} If an override changes a domain, an addition replaces a leaf with a category or the reverse, or a removal names a path the base lacks.
192
199
  */
193
- export function extend<const base extends Values, const values extends Values>(
200
+ export function extend<const base extends Values, const values extends Changes>(
194
201
  variables: Definition<base>,
195
202
  values: values & NoInfer<Extension<base, values>>,
196
203
  options?: style.DefinitionOptions,
197
- ): Definition<Extended<base, values>>
204
+ ): Extended<base, values> extends infer extended extends Values
205
+ ? Definition<extended>
206
+ : never
198
207
  /** Deeply merges derived leaves over the extended set, rejecting existing paths. */
199
208
  export function extend<
200
209
  const base extends Values,
201
- const values extends Values,
210
+ const values extends Changes,
202
211
  const derived extends Values,
203
212
  >(
204
213
  variables: Definition<base>,
@@ -210,10 +219,13 @@ export function extend<
210
219
  ) => Validated<derived, false, true>
211
220
  >,
212
221
  options?: style.DefinitionOptions,
213
- ): Definition<Extended<Extended<base, values>, derived>>
222
+ ): Extended<Extended<base, values>, derived> extends infer extended extends
223
+ Values
224
+ ? Definition<extended>
225
+ : never
214
226
  export function extend(
215
227
  variables: Definition,
216
- values: Values,
228
+ values: Changes,
217
229
  derive: style.DefinitionOptions | ((vars: References<Values>) => Values) = {},
218
230
  options: style.DefinitionOptions = {},
219
231
  ): Definition {
@@ -249,9 +261,13 @@ export function extend(
249
261
  })
250
262
  }
251
263
 
252
- /** Base values grown by an extension; overridden leaves keep their base types. Unexported so declarations inline it. */
264
+ /** Base values grown by an extension; overridden leaves keep their base types and removed paths drop. Unexported so declarations inline it. */
253
265
  type Extended<base, values> = {
254
- readonly [key in keyof base | keyof values]: key extends keyof base
266
+ readonly [key in keyof base | keyof values as key extends keyof values
267
+ ? values[key] extends null
268
+ ? never
269
+ : key
270
+ : key]: key extends keyof base
255
271
  ? key extends keyof values
256
272
  ? base[key] extends Value
257
273
  ? base[key]
@@ -264,20 +280,24 @@ type Extended<base, values> = {
264
280
  : never
265
281
  }
266
282
 
267
- /** Compatible overrides at existing leaves, plus new leaves and categories. */
283
+ /** Compatible overrides and `null` removals at existing paths, plus new leaves and categories. */
268
284
  type Extension<base, values, typography extends boolean = false> = {
269
285
  readonly [key in keyof values]: key extends keyof base
270
286
  ? base[key] extends Value
271
- ? Conditional<Compatible<Scalar<base[key]>>>
287
+ ? Conditional<Compatible<Scalar<base[key]>>> | null
272
288
  : base[key] extends readonly string[]
273
289
  ? readonly string[]
274
- : values[key] extends Value
275
- ? never
276
- : Extension<
277
- base[key],
278
- values[key],
279
- key extends 'typography' ? true : typography
280
- >
290
+ : values[key] extends null
291
+ ? key extends 'breakpoint' | 'container'
292
+ ? never
293
+ : null
294
+ : values[key] extends Value
295
+ ? never
296
+ : Extension<
297
+ base[key],
298
+ values[key],
299
+ key extends 'typography' ? true : typography
300
+ >
281
301
  : key extends 'containerNames'
282
302
  ? readonly string[]
283
303
  : key extends
@@ -109,7 +109,8 @@ export function zyzz(
109
109
  (node.type === 'ExportNamedDeclaration' ||
110
110
  node.type === 'ExportAllDeclaration') &&
111
111
  node.exportKind !== 'type' &&
112
- node.source?.value === 'zyzz'
112
+ (node.source?.value === 'zyzz' ||
113
+ node.source?.value === 'zyzz/base-ui/react')
113
114
  )
114
115
  throw new Error(
115
116
  'Zyzz Babel does not support re-exporting authoring helpers. Export compiled style definitions instead.',
@@ -118,6 +119,16 @@ export function zyzz(
118
119
  continue
119
120
  if (
120
121
  node.source.value === 'zyzz/default' ||
122
+ (node.source.value === 'zyzz/base-ui/react' &&
123
+ node.specifiers.some(
124
+ (specifier) =>
125
+ specifier.type === 'ImportNamespaceSpecifier' ||
126
+ (specifier.type === 'ImportSpecifier' &&
127
+ specifier.importKind !== 'type' &&
128
+ (specifier.imported.type === 'Identifier'
129
+ ? specifier.imported.name
130
+ : specifier.imported.value) === 'defineConfig'),
131
+ )) ||
121
132
  (node.source.value === 'zyzz' &&
122
133
  node.specifiers.some(
123
134
  (specifier) =>
@@ -137,6 +148,7 @@ export function zyzz(
137
148
  (node) =>
138
149
  node.type === 'ImportDeclaration' &&
139
150
  (node.source.value === 'zyzz' ||
151
+ node.source.value === 'zyzz/base-ui/react' ||
140
152
  node.source.value === 'zyzz/default' ||
141
153
  node.source.value === 'zyzz/web'),
142
154
  )
@@ -0,0 +1,74 @@
1
+ /** Binds Base UI state authoring to the ordinary variable configuration. @module */
2
+ import * as Authoring from './internal/Authoring.js'
3
+ import * as Config from '../../Config.js'
4
+ import type * as Shorthands from '../../internal/Shorthands.js'
5
+ import type * as Style from './Style.js'
6
+ import type * as Vars from '../../Vars.js'
7
+
8
+ type Values<options> = options extends { vars: infer values }
9
+ ? options extends { defaultVars: infer name extends keyof values }
10
+ ? Vars.Extract<values[name]>
11
+ : Vars.Extract<values>
12
+ : {}
13
+
14
+ /**
15
+ * Creates configured authoring with component-first Base UI styles.
16
+ * The ordinary variable sets, layers, mappings, shorthands, and recipes are retained.
17
+ * Output is React props. Component-first variants and callbacks are not supported.
18
+ * Pass `tokens` from `zyzz/default` as `vars` to retain default token strings,
19
+ * including inside component states. The unconfigured entrypoint stays token-free.
20
+ * @example
21
+ * ```ts
22
+ * import { defineConfig } from 'zyzz/base-ui/react'
23
+ * import { tokens } from 'zyzz/default'
24
+ *
25
+ * // Share default tokens with ordinary and component-first styles.
26
+ * export const { style, variants, vars } = defineConfig({ id: 'default', vars: tokens })
27
+ * ```
28
+ * @param options - The ordinary defineConfig options, with React output.
29
+ * @returns Configured helpers whose style also accepts imported Base UI parts.
30
+ */
31
+ export function create<const options extends create.Options = {}>(
32
+ options: Parameters<typeof Config.create<options>>[0] = {} as never,
33
+ ): create.ReturnType<options> {
34
+ if ((options as Config.create.Options)?.output === 'html')
35
+ throw new Config.InvalidError(
36
+ 'Base UI configuration requires React output.',
37
+ )
38
+
39
+ const config = Config.create<options>(options)
40
+
41
+ return {
42
+ ...config,
43
+ style: Authoring.bind(config.style as Authoring.bind.Factory),
44
+ } as create.ReturnType<options>
45
+ }
46
+
47
+ /** Configured Base UI authoring contracts. */
48
+ export declare namespace create {
49
+ /** Ordinary configuration constrained to React props. */
50
+ type Options = Config.create.Options & {
51
+ /** Base UI components consume React className and style props. */
52
+ readonly output?: 'react' | undefined
53
+ }
54
+ /** Existing helpers with the component-first static style overload. */
55
+ type ReturnType<options extends Options = {}> = Omit<
56
+ Config.create.ReturnType<options>,
57
+ 'style'
58
+ > & {
59
+ /** Authors ordinary styles and component-aware static Base UI declarations. */
60
+ readonly style: Config.create.ReturnType<options>['style'] &
61
+ Style.Factory<
62
+ Vars.Mapped<
63
+ Values<options>,
64
+ options extends { mappings: infer map } ? map : {}
65
+ >,
66
+ options extends { layers: readonly (infer layer extends string)[] }
67
+ ? layer
68
+ : never,
69
+ options extends { shorthands: infer map extends Shorthands.Map }
70
+ ? map
71
+ : {}
72
+ >
73
+ }
74
+ }
@@ -0,0 +1,109 @@
1
+ /** Component-aware static declarations layered over ordinary style overloads. @module */
2
+ import type * as Completion from '../../internal/Completion.js'
3
+ import type * as Condition from '../../internal/Condition.js'
4
+ import type * as Configuration from '../../internal/Configuration.js'
5
+ import type * as Shorthands from '../../internal/Shorthands.js'
6
+ import type * as Theme from '../../internal/Theme.js'
7
+ import type * as Types from './internal/Types.generated.js'
8
+ import * as Authoring from './internal/Authoring.js'
9
+ import { style as rootStyle } from '../../styleFunction.js'
10
+
11
+ type MarkerKeys<marker> = {
12
+ [key in keyof marker]-?: true extends marker[key] ? key : never
13
+ }[keyof marker]
14
+
15
+ type Keys<input> = input extends { readonly [Types.part]?: infer marker }
16
+ ? MarkerKeys<marker>
17
+ : never
18
+
19
+ type Identity<component> = component extends (props: infer props) => unknown
20
+ ? Extract<Keys<component> | Keys<props>, keyof Types.Parts>
21
+ : never
22
+
23
+ type Hints<
24
+ part extends keyof Types.Parts,
25
+ tokens extends Theme.Tokens,
26
+ > = Completion.Properties<tokens> & {
27
+ readonly selectors?: {
28
+ readonly [selector in keyof Types.Selectors[part]]?: Hints<part, tokens>
29
+ } & Readonly<Record<string, Hints<part, tokens>>>
30
+ readonly states?: Types.States<Hints<part, tokens>>[part]
31
+ } & {
32
+ readonly [key in Condition.Keys<tokens> | Condition.Suggestions]?: Hints<
33
+ part,
34
+ tokens
35
+ >
36
+ }
37
+
38
+ type Body<
39
+ input,
40
+ part extends keyof Types.Parts,
41
+ tokens extends Theme.Tokens,
42
+ layers extends string,
43
+ mappings extends Shorthands.Map,
44
+ > = {
45
+ readonly [key in keyof input]: key extends 'states'
46
+ ? {
47
+ readonly [name in keyof input[key]]: name extends keyof Types.States<true>[part]
48
+ ? NonNullable<Types.States<true>[part][name]> extends true
49
+ ? Body<input[key][name], part, tokens, layers, mappings>
50
+ : {
51
+ readonly [value in keyof input[key][name]]: value extends keyof NonNullable<
52
+ Types.States<true>[part][name]
53
+ >
54
+ ? Body<
55
+ input[key][name][value],
56
+ part,
57
+ tokens,
58
+ layers,
59
+ mappings
60
+ >
61
+ : never
62
+ }
63
+ : never
64
+ }
65
+ : key extends 'selectors'
66
+ ? {
67
+ readonly [selector in keyof input[key]]: Body<
68
+ input[key][selector],
69
+ part,
70
+ tokens,
71
+ layers,
72
+ mappings
73
+ >
74
+ }
75
+ : key extends
76
+ | Exclude<Condition.Keys<tokens, key>, `@layer${string}`>
77
+ | '@layer'
78
+ | `@layer ${layers}`
79
+ ? Body<input[key], part, tokens, layers, mappings>
80
+ : Configuration.Body<Pick<input, key>, tokens, layers, mappings>[key]
81
+ }
82
+
83
+ /** Component-first static overload. Ordinary style overloads remain available. */
84
+ export type Factory<
85
+ tokens extends Theme.Tokens = {},
86
+ layers extends string = never,
87
+ mappings extends Shorthands.Map = {},
88
+ > = {
89
+ <const component, const input extends Record<string, unknown>>(
90
+ component: component &
91
+ ([Identity<NoInfer<component>>] extends [never] ? never : unknown),
92
+ styles: input &
93
+ NoInfer<Body<input, Identity<component>, tokens, layers, mappings>> &
94
+ Hints<Identity<NoInfer<component>>, tokens>,
95
+ options?: rootStyle.DefinitionOptions,
96
+ ): rootStyle.ReturnType
97
+ }
98
+
99
+ /**
100
+ * Declares styles for an imported Base UI part, or ordinary token-free styles.
101
+ * Component-first calls accept static objects. `states` checks documented attributes,
102
+ * while `selectors` suggests those attributes and accepts arbitrary CSS selectors.
103
+ * Compilation resolves component imports and emits CSS ahead of time. No component
104
+ * wrapper, registration, or runtime CSS insertion is required.
105
+ * @see https://base-ui.com/react/handbook/styling
106
+ */
107
+ export const style: typeof rootStyle & Factory = Authoring.bind(
108
+ rootStyle as Authoring.bind.Factory,
109
+ ) as typeof rootStyle & Factory
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Opts into typed Base UI states and component-aware selector suggestions.
3
+ * `style` accepts static component-first declarations. `defineConfig` binds that
4
+ * overload to ordinary variable sets and shorthands. CSS is emitted ahead of time.
5
+ * Default token strings are opt-in through `defineConfig({ vars: tokens })`,
6
+ * with `tokens` imported from `zyzz/default`.
7
+ * @module
8
+ */
9
+ /** Configures variables and component-aware Base UI style authoring. */
10
+ export { create as defineConfig } from './Config.js'
11
+ /** Authors static states and selectors for an imported Base UI component part. */
12
+ export { style } from './Style.js'