@yahoo/uds-create-config 2.24.0 → 2.25.0

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.
@@ -10,13 +10,40 @@ const TOP_LEVEL_KEYS = new Set([
10
10
  "builtAt",
11
11
  "namespace",
12
12
  "styleEngine",
13
+ "buildOptions",
13
14
  "defaultModes",
14
15
  "modes",
15
16
  "tokenGroups",
16
17
  "assetGroups",
18
+ "components",
19
+ "componentGroups",
17
20
  "linkedSystems"
18
21
  ]);
19
22
  const LINKED_SYSTEM_PIN_KEYS = new Set(["name", "version"]);
23
+ const BUILD_OPTIONS_KEYS = new Set(["componentsDir"]);
24
+ const COMPONENT_KEYS = new Set([
25
+ "id",
26
+ "layers",
27
+ "props",
28
+ "defaultProps",
29
+ "styles",
30
+ "label",
31
+ "description"
32
+ ]);
33
+ const COMPONENT_CONFIG_KEYS = new Set([
34
+ "base",
35
+ "variants",
36
+ "booleans",
37
+ "runtimeStates",
38
+ "values",
39
+ "description"
40
+ ]);
41
+ const LAYER_KEYS = new Set(["kind", "styleProp"]);
42
+ const COMPONENT_GROUP_KEYS = new Set([
43
+ "components",
44
+ "label",
45
+ "description"
46
+ ]);
20
47
  const GROUP_KEYS = new Set([
21
48
  "tokens",
22
49
  "label",
@@ -76,10 +103,13 @@ function validateSerializedNativeConfig(input, expectedSchemaVersion = 4) {
76
103
  if (input.builtAt !== void 0 && typeof input.builtAt !== "string") push(diagnostics, "INVALID_SCHEMA", ["builtAt"], configDefinition, "builtAt must be a string when present.");
77
104
  validateNamespace(input.namespace, diagnostics);
78
105
  validateStyleEngine(input.styleEngine, diagnostics);
106
+ validateBuildOptions(input.buildOptions, diagnostics);
79
107
  validateModes(input.modes, diagnostics);
80
108
  validateDefaultModes(input.defaultModes, input.modes, diagnostics);
81
109
  validateAssetGroups(input.assetGroups, diagnostics);
82
110
  validateTokenGroups(input.tokenGroups, diagnostics);
111
+ validateComponents(input.components, diagnostics);
112
+ validateComponentGroups(input.componentGroups, input.components, diagnostics);
83
113
  validateLinkedSystems(input.linkedSystems, diagnostics);
84
114
  validateReferences(input, diagnostics);
85
115
  validateModifierOwnership(input, diagnostics);
@@ -104,6 +134,235 @@ function validateLinkedSystems(value, diagnostics) {
104
134
  if (typeof pin.version !== "string" || !EXACT_SEMVER_RE.test(pin.version)) push(diagnostics, "INVALID_SCHEMA", [...path, "version"], definition, "A linked-system pin requires an exact semver version (no ranges).");
105
135
  }
106
136
  }
137
+ function validateBuildOptions(value, diagnostics) {
138
+ if (value === void 0) return;
139
+ if (!isRecord(value)) {
140
+ push(diagnostics, "INVALID_SCHEMA", ["buildOptions"], { kind: "config" }, "Native buildOptions must be an object.");
141
+ return;
142
+ }
143
+ reportUnknownKeys(value, BUILD_OPTIONS_KEYS, ["buildOptions"], { kind: "config" }, diagnostics);
144
+ if (value.componentsDir !== void 0 && (typeof value.componentsDir !== "string" || value.componentsDir.length === 0)) push(diagnostics, "INVALID_SCHEMA", ["buildOptions", "componentsDir"], { kind: "config" }, "Native componentsDir must be a non-empty path string.");
145
+ }
146
+ function validateComponents(value, diagnostics) {
147
+ if (value === void 0) return;
148
+ if (!isRecord(value)) {
149
+ push(diagnostics, "INVALID_SCHEMA", ["components"], { kind: "config" }, "Native components must be a record.");
150
+ return;
151
+ }
152
+ const ids = /* @__PURE__ */ new Map();
153
+ for (const [componentName, component] of Object.entries(value)) {
154
+ const path = ["components", componentName];
155
+ const definition = {
156
+ kind: "component",
157
+ name: componentName
158
+ };
159
+ if (!isRecord(component)) {
160
+ push(diagnostics, "INVALID_SCHEMA", path, definition, `Native component "${componentName}" must be an object.`);
161
+ continue;
162
+ }
163
+ reportUnknownKeys(component, COMPONENT_KEYS, path, definition, diagnostics);
164
+ if (typeof component.id !== "string" || component.id.length === 0) push(diagnostics, "INVALID_SCHEMA", [...path, "id"], definition, `Native component "${componentName}" must declare a stable id.`);
165
+ else {
166
+ const owner = ids.get(component.id);
167
+ if (owner !== void 0) push(diagnostics, "INVALID_SCHEMA", [...path, "id"], definition, `Native component id "${component.id}" is already registered as "${owner}".`);
168
+ else ids.set(component.id, componentName);
169
+ }
170
+ const layerNames = validateComponentLayers(component.layers, [...path, "layers"], definition, diagnostics);
171
+ validateComponentConfig(component.styles, [...path, "styles"], definition, layerNames, diagnostics);
172
+ validateComponentProps(component.props, path, definition, diagnostics);
173
+ validateComponentStyleProps(component, path, definition, diagnostics);
174
+ }
175
+ }
176
+ function validateComponentStyleProps(component, path, definition, diagnostics) {
177
+ const props = isRecord(component.props) ? component.props : {};
178
+ const styles = isRecord(component.styles) ? component.styles : {};
179
+ for (const [groupName, expectedKind] of [["variants", "variant"], ["booleans", "boolean"]]) {
180
+ const groups = styles[groupName];
181
+ if (!isRecord(groups)) continue;
182
+ for (const [propName, options] of Object.entries(groups)) {
183
+ const marker = props[propName];
184
+ if (!isRecord(marker) || marker.__kind !== expectedKind) {
185
+ push(diagnostics, "INVALID_REFERENCE", [
186
+ ...path,
187
+ "styles",
188
+ groupName,
189
+ propName
190
+ ], definition, `Native ${groupName} styles must target a ${expectedKind} component prop.`);
191
+ continue;
192
+ }
193
+ if (!isRecord(options)) continue;
194
+ const allowedOptions = expectedKind === "variant" && Array.isArray(marker.values) ? new Set(marker.values.map(String)) : new Set(["true", "false"]);
195
+ for (const optionName of Object.keys(options)) if (!allowedOptions.has(optionName)) push(diagnostics, "INVALID_REFERENCE", [
196
+ ...path,
197
+ "styles",
198
+ groupName,
199
+ propName,
200
+ optionName
201
+ ], definition, expectedKind === "variant" ? `Native variant style option "${optionName}" is not declared by prop "${propName}".` : `Native boolean style option "${optionName}" must be true or false.`);
202
+ }
203
+ }
204
+ }
205
+ function validateComponentProps(value, componentPath, definition, diagnostics) {
206
+ if (!isRecord(value)) {
207
+ push(diagnostics, "INVALID_SCHEMA", [...componentPath, "props"], definition, "Native component props must be a record.");
208
+ return;
209
+ }
210
+ for (const [propName, marker] of Object.entries(value)) {
211
+ if (!isRecord(marker) || ![
212
+ "slot",
213
+ "boolean",
214
+ "string",
215
+ "number",
216
+ "variant"
217
+ ].includes(String(marker.__kind))) {
218
+ push(diagnostics, "INVALID_SCHEMA", [
219
+ ...componentPath,
220
+ "props",
221
+ propName
222
+ ], definition, `Unknown native component prop marker "${String(isRecord(marker) ? marker.__kind : marker)}".`);
223
+ continue;
224
+ }
225
+ if (marker.__kind === "variant") {
226
+ if (!Array.isArray(marker.values) || marker.values.length === 0 || marker.values.some((option) => typeof option !== "string" && typeof option !== "number" || typeof option === "number" && !Number.isFinite(option))) push(diagnostics, "INVALID_SCHEMA", [
227
+ ...componentPath,
228
+ "props",
229
+ propName,
230
+ "values"
231
+ ], definition, "Native variant props require at least one finite number or string option.");
232
+ else if (new Set(marker.values.map(String)).size !== marker.values.length) push(diagnostics, "INVALID_SCHEMA", [
233
+ ...componentPath,
234
+ "props",
235
+ propName,
236
+ "values"
237
+ ], definition, "Native variant prop options must remain unique when serialized as object keys.");
238
+ }
239
+ }
240
+ }
241
+ function validateComponentLayers(value, path, definition, diagnostics) {
242
+ const names = /* @__PURE__ */ new Set();
243
+ if (!isRecord(value) || Object.keys(value).length === 0) {
244
+ push(diagnostics, "INVALID_SCHEMA", path, definition, "A native component must declare at least one layer.");
245
+ return names;
246
+ }
247
+ for (const [layerName, layer] of Object.entries(value)) {
248
+ names.add(layerName);
249
+ const layerPath = [...path, layerName];
250
+ if (!isRecord(layer)) {
251
+ push(diagnostics, "INVALID_SCHEMA", layerPath, definition, `Native layer "${layerName}" must be an object.`);
252
+ continue;
253
+ }
254
+ reportUnknownKeys(layer, LAYER_KEYS, layerPath, definition, diagnostics);
255
+ if (layer.kind !== "view" && layer.kind !== "text" && layer.kind !== "image") push(diagnostics, "INVALID_SCHEMA", [...layerPath, "kind"], definition, `Native layer "${layerName}" must use view, text, or image styles.`);
256
+ if (layer.styleProp !== void 0 && (typeof layer.styleProp !== "string" || layer.styleProp.length === 0)) push(diagnostics, "INVALID_SCHEMA", [...layerPath, "styleProp"], definition, "A public style prop name must be a non-empty string.");
257
+ }
258
+ return names;
259
+ }
260
+ function validateComponentConfig(value, path, definition, layerNames, diagnostics) {
261
+ if (!isRecord(value)) {
262
+ push(diagnostics, "INVALID_SCHEMA", path, definition, "Native component styles must be an object.");
263
+ return;
264
+ }
265
+ reportUnknownKeys(value, COMPONENT_CONFIG_KEYS, path, definition, diagnostics);
266
+ validateLayerStyleMap(value.base, [...path, "base"], definition, layerNames, diagnostics);
267
+ for (const key of ["variants", "booleans"]) {
268
+ const groups = value[key];
269
+ if (groups === void 0) continue;
270
+ if (!isRecord(groups)) {
271
+ push(diagnostics, "INVALID_SCHEMA", [...path, key], definition, `${key} must be a record.`);
272
+ continue;
273
+ }
274
+ for (const [propName, values] of Object.entries(groups)) {
275
+ if (!isRecord(values)) {
276
+ push(diagnostics, "INVALID_SCHEMA", [
277
+ ...path,
278
+ key,
279
+ propName
280
+ ], definition, `${key} styles for "${propName}" must be an option record.`);
281
+ continue;
282
+ }
283
+ for (const [optionName, styles] of Object.entries(values)) validateLayerStyleMap(styles, [
284
+ ...path,
285
+ key,
286
+ propName,
287
+ optionName
288
+ ], definition, layerNames, diagnostics);
289
+ }
290
+ }
291
+ if (value.runtimeStates !== void 0) if (!isRecord(value.runtimeStates)) push(diagnostics, "INVALID_SCHEMA", [...path, "runtimeStates"], definition, "Native runtimeStates must be a record.");
292
+ else for (const [stateName, styles] of Object.entries(value.runtimeStates)) validateLayerStyleMap(styles, [
293
+ ...path,
294
+ "runtimeStates",
295
+ stateName
296
+ ], definition, layerNames, diagnostics);
297
+ if (value.values !== void 0) if (!isRecord(value.values)) push(diagnostics, "INVALID_SCHEMA", [...path, "values"], definition, "Native named values must be a record.");
298
+ else for (const [name, namedValue] of Object.entries(value.values)) validateNativeValue(namedValue, [
299
+ ...path,
300
+ "values",
301
+ name
302
+ ], definition, diagnostics, true);
303
+ }
304
+ function validateLayerStyleMap(value, path, definition, layerNames, diagnostics) {
305
+ if (value === void 0) return;
306
+ if (!isRecord(value)) {
307
+ push(diagnostics, "INVALID_SCHEMA", path, definition, "Native component styles must be a layer record.");
308
+ return;
309
+ }
310
+ for (const [layerName, styles] of Object.entries(value)) {
311
+ if (!layerNames.has(layerName)) {
312
+ push(diagnostics, "INVALID_REFERENCE", [...path, layerName], definition, `Native layer "${layerName}" is not declared by this component.`);
313
+ continue;
314
+ }
315
+ if (!isRecord(styles)) {
316
+ push(diagnostics, "INVALID_SCHEMA", [...path, layerName], definition, `Styles for layer "${layerName}" must be an object.`);
317
+ continue;
318
+ }
319
+ for (const [property, styleValue] of Object.entries(styles)) validateComponentStyleValue(styleValue, [
320
+ ...path,
321
+ layerName,
322
+ property
323
+ ], definition, diagnostics);
324
+ }
325
+ }
326
+ function validateComponentStyleValue(value, path, definition, diagnostics) {
327
+ if (Array.isArray(value)) {
328
+ value.forEach((entry, index) => {
329
+ validateComponentStyleValue(entry, [...path, index], definition, diagnostics);
330
+ });
331
+ return;
332
+ }
333
+ if (isRecord(value) && !("__kind" in value)) {
334
+ for (const [key, nested] of Object.entries(value)) validateComponentStyleValue(nested, [...path, key], definition, diagnostics);
335
+ return;
336
+ }
337
+ validateNativeValue(value, path, definition, diagnostics, true);
338
+ }
339
+ function validateComponentGroups(value, components, diagnostics) {
340
+ if (value === void 0) return;
341
+ if (!isRecord(value)) {
342
+ push(diagnostics, "INVALID_SCHEMA", ["componentGroups"], { kind: "config" }, "Native componentGroups must be a record.");
343
+ return;
344
+ }
345
+ const registered = isRecord(components) ? components : {};
346
+ for (const [groupName, group] of Object.entries(value)) {
347
+ const path = ["componentGroups", groupName];
348
+ const definition = {
349
+ kind: "componentGroup",
350
+ name: groupName
351
+ };
352
+ if (!isRecord(group)) {
353
+ push(diagnostics, "INVALID_SCHEMA", path, definition, `Native component group "${groupName}" must be an object.`);
354
+ continue;
355
+ }
356
+ reportUnknownKeys(group, COMPONENT_GROUP_KEYS, path, definition, diagnostics);
357
+ if (!Array.isArray(group.components) || group.components.length === 0) push(diagnostics, "INVALID_SCHEMA", [...path, "components"], definition, "A native component group must contain at least one component.");
358
+ else for (const [index, componentName] of group.components.entries()) if (typeof componentName !== "string" || !(componentName in registered)) push(diagnostics, "INVALID_REFERENCE", [
359
+ ...path,
360
+ "components",
361
+ index
362
+ ], definition, `Native component "${String(componentName)}" is not registered.`);
363
+ for (const key of ["label", "description"]) if (group[key] !== void 0 && typeof group[key] !== "string") push(diagnostics, "INVALID_SCHEMA", [...path, key], definition, `${key} must be a string.`);
364
+ }
365
+ }
107
366
  function validateStyleEngine(value, diagnostics) {
108
367
  if (value !== void 0 && value !== "react-native" && value !== "unistyles") push(diagnostics, "INVALID_SCHEMA", ["styleEngine"], { kind: "config" }, "Native styleEngine must be \"react-native\" or \"unistyles\" when present.");
109
368
  }
@@ -376,9 +635,9 @@ function validateColorOperand(value, path, definition, diagnostics) {
376
635
  push(diagnostics, "INVALID_NATIVE_VALUE", path, definition, "Native color expressions accept color strings, token references, or nested mix() expressions.");
377
636
  }
378
637
  function validateReferences(config, diagnostics) {
379
- if (!isRecord(config.tokenGroups)) return;
638
+ const tokenGroups = isRecord(config.tokenGroups) ? config.tokenGroups : {};
380
639
  const tokens = /* @__PURE__ */ new Map();
381
- for (const [groupName, group] of Object.entries(config.tokenGroups)) {
640
+ for (const [groupName, group] of Object.entries(tokenGroups)) {
382
641
  if (!isRecord(group) || !isRecord(group.tokens)) continue;
383
642
  for (const [tokenName, definition] of Object.entries(group.tokens)) {
384
643
  if (!isRecord(definition)) continue;
@@ -403,6 +662,28 @@ function validateReferences(config, diagnostics) {
403
662
  }, tokens, assets, diagnostics);
404
663
  for (const modifiers of contexts) resolveTokenContext(tokenRef, modifiers, modifierLookup, tokens, diagnostics, [], token.path);
405
664
  }
665
+ for (const [componentName, component] of Object.entries(config.components ?? {})) collectComponentReferences(component, ["components", componentName], {
666
+ kind: "component",
667
+ name: componentName
668
+ }, tokens, assets, diagnostics);
669
+ }
670
+ function collectComponentReferences(value, path, definition, tokens, assets, diagnostics) {
671
+ if (Array.isArray(value)) {
672
+ value.forEach((entry, index) => {
673
+ collectComponentReferences(entry, [...path, index], definition, tokens, assets, diagnostics);
674
+ });
675
+ return;
676
+ }
677
+ if (!isRecord(value)) return;
678
+ if (isTokenRef(value)) {
679
+ if (typeof value.ref === "string" && !tokens.has(value.ref)) push(diagnostics, "UNRESOLVED_TOKEN_REFERENCE", path, definition, `Token reference "${value.ref}" does not resolve within this native config.`);
680
+ return;
681
+ }
682
+ if (isAssetRef(value)) {
683
+ collectAllReferences(value, path, definition, tokens, assets, diagnostics);
684
+ return;
685
+ }
686
+ for (const [key, nested] of Object.entries(value)) collectComponentReferences(nested, [...path, key], definition, tokens, assets, diagnostics);
406
687
  }
407
688
  function collectAllReferences(value, path, definition, tokens, assets, diagnostics) {
408
689
  walkValues(value, path, (entry, entryPath) => {
package/dist/native.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { AssetRef, TokenRef, asset, token } from "./refs.js";
2
2
  import { ColorSpace, MixExpr, alpha, mix } from "./colorExpressions.js";
3
3
  import { SystemLink, TokenType } from "./types.js";
4
- import { ModeDefinition, NativeAppearanceModeOption, NativeAssetGroupDefinition, NativeColorExpression, NativeDefaultModes, NativeFontAssetGroupDefinition, NativeFontAssetMember, NativeLiteral, NativeModeDefinition, NativeModeOptionDefinition, NativeSelectableValue, NativeStyleEngine, NativeTokenDefinition, NativeTokenGroupDefinition, NativeTokenValue, NativeViewportModeOption, OperatingSystemInput, OperatingSystemValue, SerializedNativeConfig } from "./native/types.js";
4
+ import { NativeComponentBuilder, NativeComponentDefinition, NativeComponentGroupDefinition, NativeComponentProps, NativeComponentStyleHelpers, NativeComponentStyledBuilder, NativeComponentStyles, NativeLayerDefinition, NativeLayerKind, NativeLayerStyle, NativeLayerStyles, NativeRenderProps, NativeStyleValue, RegisteredNativeComponent, SerializedNativeComponentGroup, defineNativeComponent, defineNativeComponentGroup, nativeLayer } from "./native/components.js";
5
+ import { ModeDefinition, NativeAppearanceModeOption, NativeAssetGroupDefinition, NativeBuildOptions, NativeColorExpression, NativeDefaultModes, NativeFontAssetGroupDefinition, NativeFontAssetMember, NativeLiteral, NativeModeDefinition, NativeModeOptionDefinition, NativeSelectableValue, NativeStyleEngine, NativeTokenDefinition, NativeTokenGroupDefinition, NativeTokenValue, NativeViewportModeOption, OperatingSystemInput, OperatingSystemValue, SerializedNativeConfig } from "./native/types.js";
5
6
  import { NativeAssetGroupBuilder, NativeFontAssetGroupConfig, defineAssetGroup } from "./native/assets.js";
6
7
  import { defineMode } from "./native/modes.js";
7
8
  import { NativeConfigDiagnostic, NativeConfigDiagnosticCode, validateSerializedNativeConfig } from "./native/validation.js";
8
9
  import { NativeConfig, NativeConfigValidationError } from "./native/NativeConfig.js";
9
10
  import { isOperatingSystemValue, operatingSystem } from "./native/values.js";
10
11
  import { DefinedNativeTokenGroup, defineTokenGroup } from "./native/index.js";
11
- export { AssetRef, ColorSpace, DefinedNativeTokenGroup, MixExpr, ModeDefinition, NativeAppearanceModeOption, NativeAssetGroupBuilder, NativeAssetGroupDefinition, NativeColorExpression, NativeConfig, NativeConfigDiagnostic, NativeConfigDiagnosticCode, NativeConfigValidationError, NativeDefaultModes, NativeFontAssetGroupConfig, NativeFontAssetGroupDefinition, NativeFontAssetMember, NativeLiteral, NativeModeDefinition, NativeModeOptionDefinition, NativeSelectableValue, NativeStyleEngine, NativeTokenDefinition, NativeTokenGroupDefinition, NativeTokenValue, NativeViewportModeOption, OperatingSystemInput, OperatingSystemValue, SerializedNativeConfig, SystemLink, TokenRef, TokenType, alpha, asset, defineAssetGroup, defineMode, defineTokenGroup, isOperatingSystemValue, mix, operatingSystem, token, validateSerializedNativeConfig };
12
+ export { AssetRef, ColorSpace, DefinedNativeTokenGroup, MixExpr, ModeDefinition, NativeAppearanceModeOption, NativeAssetGroupBuilder, NativeAssetGroupDefinition, NativeBuildOptions, NativeColorExpression, NativeComponentBuilder, NativeComponentDefinition, NativeComponentGroupDefinition, NativeComponentProps, NativeComponentStyleHelpers, NativeComponentStyledBuilder, NativeComponentStyles, NativeConfig, NativeConfigDiagnostic, NativeConfigDiagnosticCode, NativeConfigValidationError, NativeDefaultModes, NativeFontAssetGroupConfig, NativeFontAssetGroupDefinition, NativeFontAssetMember, NativeLayerDefinition, NativeLayerKind, NativeLayerStyle, NativeLayerStyles, NativeLiteral, NativeModeDefinition, NativeModeOptionDefinition, NativeRenderProps, NativeSelectableValue, NativeStyleEngine, NativeStyleValue, NativeTokenDefinition, NativeTokenGroupDefinition, NativeTokenValue, NativeViewportModeOption, OperatingSystemInput, OperatingSystemValue, RegisteredNativeComponent, SerializedNativeComponentGroup, SerializedNativeConfig, SystemLink, TokenRef, TokenType, alpha, asset, defineAssetGroup, defineMode, defineNativeComponent, defineNativeComponentGroup, defineTokenGroup, isOperatingSystemValue, mix, nativeLayer, operatingSystem, token, validateSerializedNativeConfig };
package/dist/native.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { asset, token } from "./refs.js";
2
2
  import { alpha, mix } from "./colorExpressions.js";
3
3
  import { defineAssetGroup } from "./native/assets.js";
4
+ import { defineNativeComponent, defineNativeComponentGroup, nativeLayer } from "./native/components.js";
4
5
  import { defineMode } from "./native/modes.js";
5
6
  import { isOperatingSystemValue, operatingSystem } from "./native/values.js";
6
7
  import { validateSerializedNativeConfig } from "./native/validation.js";
7
8
  import { NativeConfig, NativeConfigValidationError } from "./native/NativeConfig.js";
8
9
  import { defineTokenGroup } from "./native/index.js";
9
- export { NativeConfig, NativeConfigValidationError, alpha, asset, defineAssetGroup, defineMode, defineTokenGroup, isOperatingSystemValue, mix, operatingSystem, token, validateSerializedNativeConfig };
10
+ export { NativeConfig, NativeConfigValidationError, alpha, asset, defineAssetGroup, defineMode, defineNativeComponent, defineNativeComponentGroup, defineTokenGroup, isOperatingSystemValue, mix, nativeLayer, operatingSystem, token, validateSerializedNativeConfig };
@@ -22,16 +22,16 @@ import { wrapVoidElements } from "./wrappers/void-elements.js";
22
22
  * seen the element.
23
23
  */
24
24
  function wrapRegistry(reg, descriptor, assetMembersBySlug) {
25
- return aliasHtmlTypes(wrapInlineStyleProps(wrapNormalizeHex(wrapEventBridge(wrapVoidElements(wrapComponentTypedSlots(wrapSlotResolution({
25
+ return aliasHtmlTypes(wrapInlineStyleProps(wrapNormalizeHex(wrapEventBridge(wrapComponentTypedSlots(wrapSlotResolution(wrapVoidElements({
26
26
  ...reg,
27
27
  Fragment: reg.Fragment ?? FragmentRenderer,
28
28
  Slot: reg.Slot ?? SlotRenderer
29
- }), {
30
- componentSlots: descriptor?.componentSlots,
31
- assetMembersBySlug
32
- }), {
29
+ }, {
33
30
  voidComponents: descriptor?.voidComponents,
34
31
  noChildrenComponents: descriptor?.noChildrenComponents
32
+ })), {
33
+ componentSlots: descriptor?.componentSlots,
34
+ assetMembersBySlug
35
35
  }))), {
36
36
  cssPropertyToStyleProp: descriptor?.cssPropertyToStyleProp,
37
37
  layoutComponents: descriptor?.layoutComponents,