praxis-kit 6.1.1 → 6.2.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.
@@ -1,5 +1,15 @@
1
- // ../../lib/primitive/src/guards/children/component-id.ts
2
- var COMPONENT_DEFAULT_TAG = /* @__PURE__ */ Symbol.for("praxis.component-default-tag");
1
+ // ../../lib/primitive/src/tag/resolve-tag.ts
2
+ function makeResolveTag(defaultTag) {
3
+ return function tag(as) {
4
+ return as ?? defaultTag;
5
+ };
6
+ }
7
+
8
+ // ../../lib/primitive/src/merge/constants.ts
9
+ var EVENT_HANDLER_RE = /^on[A-Z]/;
10
+
11
+ // ../../lib/primitive/src/rule/rule-brand.ts
12
+ var RULE_BRAND = /* @__PURE__ */ Symbol("praxis-kit/dynamic-rule");
3
13
 
4
14
  // ../../lib/primitive/src/guards/foundational/is-defined.ts
5
15
  function isUndefined(value) {
@@ -34,77 +44,277 @@ function isPlainObject(value) {
34
44
  return proto === Object.prototype || proto === null;
35
45
  }
36
46
 
37
- // ../../lib/primitive/src/guards/children/is-tag.ts
38
- function getAsProp(child) {
39
- if (!isObject(child) || !("props" in child)) return void 0;
40
- const props = child.props;
41
- if (!isObject(props)) return void 0;
42
- const as = props.as;
43
- return isString(as) && as !== "" ? as : void 0;
47
+ // ../../lib/primitive/src/rule/is-dynamic-rule.ts
48
+ function isDynamicRule(rule) {
49
+ return isObject(rule, true) && rule[RULE_BRAND] === true;
44
50
  }
45
- function getTag(child) {
46
- if (!isObject(child) || !("type" in child)) return void 0;
47
- const t = child.type;
48
- if (isString(t)) return t;
49
- if (typeof t === "function" || isObject(t)) {
50
- const defaultTag = t[COMPONENT_DEFAULT_TAG];
51
- if (!isString(defaultTag)) return void 0;
52
- return getAsProp(child) ?? defaultTag;
53
- }
54
- return void 0;
51
+
52
+ // ../../lib/primitive/src/rule/resolve-rule.ts
53
+ function resolveRule(rule, context) {
54
+ return isDynamicRule(rule) ? rule.resolve(context) : rule;
55
55
  }
56
- function isTag(...args) {
57
- if (isString(args[0])) {
58
- const set3 = new Set(args);
59
- return (child2) => {
60
- const tag2 = getTag(child2);
61
- return tag2 !== void 0 && set3.has(tag2);
62
- };
63
- }
64
- const [child, ...tags] = args;
65
- const set2 = new Set(tags);
66
- const tag = getTag(child);
67
- return tag !== void 0 && set2.has(tag);
56
+
57
+ // ../../lib/primitive/src/utils/assert-never.ts
58
+ function assertNever(value) {
59
+ throw new Error(`Unexpected value: ${String(value)}`);
68
60
  }
69
61
 
70
- // ../../adapters/preact/src/create-contract-component.ts
71
- import { forwardRef as forwardRef2 } from "preact/compat";
62
+ // ../../lib/primitive/src/utils/cn.ts
63
+ import { clsx } from "clsx";
64
+ function cn(...inputs) {
65
+ return clsx(...inputs);
66
+ }
72
67
 
73
- // ../../lib/adapter-utils/src/invariant.ts
74
- function panic(message) {
75
- throw new Error(message);
68
+ // ../../lib/primitive/src/utils/iterate.ts
69
+ function find(iterable, callback) {
70
+ for (const value of iterable) {
71
+ const result = callback(value);
72
+ if (result != null) {
73
+ return result;
74
+ }
75
+ }
76
+ return null;
76
77
  }
77
- function invariant(condition, message) {
78
- if (!condition) panic(message);
78
+ function some(iterable, predicate) {
79
+ for (const value of iterable) {
80
+ if (predicate(value)) return true;
81
+ }
82
+ return false;
79
83
  }
80
-
81
- // ../../lib/adapter-utils/src/runtime/apply-display-name.ts
82
- function applyDisplayName(component, name) {
83
- Object.assign(component, { displayName: name ?? "PolymorphicComponent" });
84
+ function every(iterable, predicate) {
85
+ let index = 0;
86
+ for (const value of iterable) {
87
+ if (!predicate(value, index++)) {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
84
92
  }
85
-
86
- // ../../lib/adapter-utils/src/runtime/define-component.ts
87
- function defineContractComponent(options) {
88
- return (factory) => factory(options);
93
+ function* filter(iterable, predicate) {
94
+ let index = 0;
95
+ for (const value of iterable) {
96
+ if (predicate(value, index++)) {
97
+ yield value;
98
+ }
99
+ }
100
+ }
101
+ function* map(iterable, callback) {
102
+ let index = 0;
103
+ for (const value of iterable) {
104
+ yield callback(value, index++);
105
+ }
106
+ }
107
+ function forEach(iterable, callback) {
108
+ let index = 0;
109
+ for (const value of iterable) {
110
+ callback(value, index++);
111
+ }
112
+ }
113
+ function reduce(iterable, initial, callback) {
114
+ let accumulator = initial;
115
+ let index = 0;
116
+ for (const value of iterable) {
117
+ accumulator = callback(accumulator, value, index++);
118
+ }
119
+ return accumulator;
120
+ }
121
+ function collect(iterable, callback) {
122
+ const result = {};
123
+ let index = 0;
124
+ for (const value of iterable) {
125
+ const entry = callback(value, index++);
126
+ if (entry === null) {
127
+ return null;
128
+ }
129
+ result[entry[0]] = entry[1];
130
+ }
131
+ return result;
132
+ }
133
+ function findLast(value, callback) {
134
+ for (let index = value.length - 1; index >= 0; index--) {
135
+ const result = callback(value[index], index);
136
+ if (result != null) {
137
+ return result;
138
+ }
139
+ }
140
+ return null;
141
+ }
142
+ function* items(collection) {
143
+ for (let i = 0; i < collection.length; i++) {
144
+ const item = collection.item(i);
145
+ if (item !== null) {
146
+ yield item;
147
+ }
148
+ }
149
+ }
150
+ function nodeList(list) {
151
+ return {
152
+ *[Symbol.iterator]() {
153
+ for (let i = 0; i < list.length; i++) {
154
+ const node = list.item(i);
155
+ if (node !== null) {
156
+ yield node;
157
+ }
158
+ }
159
+ }
160
+ };
161
+ }
162
+ function mapEntries(m) {
163
+ return m.entries();
164
+ }
165
+ function set(s) {
166
+ return s.values();
167
+ }
168
+ function hasOwn(object, key) {
169
+ return Object.hasOwn(object, key);
170
+ }
171
+ function* entries(object) {
172
+ for (const key in object) {
173
+ if (!hasOwn(object, key)) continue;
174
+ yield [key, object[key]];
175
+ }
176
+ }
177
+ function* keys(object) {
178
+ for (const [key] of entries(object)) {
179
+ yield key;
180
+ }
181
+ }
182
+ function* values(object) {
183
+ for (const [, value] of entries(object)) {
184
+ yield value;
185
+ }
186
+ }
187
+ function mapValues(object, callback) {
188
+ const result = {};
189
+ for (const [key, value] of entries(object)) {
190
+ result[key] = callback(value, key);
191
+ }
192
+ return result;
193
+ }
194
+ function forEachEntry(object, callback) {
195
+ for (const [key, value] of entries(object)) {
196
+ callback(key, value);
197
+ }
198
+ }
199
+ function forEachKey(object, callback) {
200
+ for (const key of keys(object)) {
201
+ callback(key);
202
+ }
203
+ }
204
+ function forEachValue(object, callback) {
205
+ for (const value of values(object)) {
206
+ callback(value);
207
+ }
208
+ }
209
+ function forEachSet(s, callback) {
210
+ for (const value of s) {
211
+ callback(value);
212
+ }
89
213
  }
214
+ var iterate = Object.freeze({
215
+ entries,
216
+ filter,
217
+ find,
218
+ findLast,
219
+ forEach,
220
+ forEachEntry,
221
+ forEachKey,
222
+ forEachSet,
223
+ forEachValue,
224
+ items,
225
+ keys,
226
+ map,
227
+ mapEntries,
228
+ mapValues,
229
+ nodeList,
230
+ reduce,
231
+ collect,
232
+ set,
233
+ some,
234
+ every,
235
+ values
236
+ });
90
237
 
91
- // ../../lib/primitive/src/constants/aria/global-aria-attributes.ts
92
- var GLOBAL_ARIA_ATTRIBUTES = /* @__PURE__ */ new Set([
93
- "aria-atomic",
94
- "aria-busy",
95
- "aria-controls",
96
- "aria-current",
97
- "aria-describedby",
98
- "aria-details",
99
- "aria-disabled",
100
- "aria-errormessage",
101
- "aria-flowto",
102
- "aria-hidden",
103
- "aria-keyshortcuts",
104
- "aria-label",
105
- "aria-labelledby",
106
- "aria-live",
107
- "aria-owns",
238
+ // ../../lib/primitive/src/utils/lru-cache.ts
239
+ var LRUCache = class {
240
+ #maxSize;
241
+ #store = /* @__PURE__ */ new Map();
242
+ constructor(maxSize) {
243
+ if (!Number.isInteger(maxSize) || maxSize < 1) {
244
+ throw new RangeError("LRUCache maxSize must be a positive integer.");
245
+ }
246
+ this.#maxSize = maxSize;
247
+ }
248
+ get(key) {
249
+ if (!this.#store.has(key)) return void 0;
250
+ const value = this.#store.get(key);
251
+ this.#store.delete(key);
252
+ this.#store.set(key, value);
253
+ return value;
254
+ }
255
+ set(key, value) {
256
+ this.#store.delete(key);
257
+ this.#store.set(key, value);
258
+ if (this.#store.size > this.#maxSize) {
259
+ const lru = this.#store.keys().next().value;
260
+ if (lru !== void 0) this.#store.delete(lru);
261
+ }
262
+ }
263
+ has(key) {
264
+ return this.#store.has(key);
265
+ }
266
+ delete(key) {
267
+ return this.#store.delete(key);
268
+ }
269
+ get size() {
270
+ return this.#store.size;
271
+ }
272
+ clear() {
273
+ this.#store.clear();
274
+ }
275
+ };
276
+
277
+ // ../../lib/primitive/src/utils/merge-refs.ts
278
+ function mergeRefsCore(...refs) {
279
+ const resolvedRefs = refs.filter((r) => r != null);
280
+ if (resolvedRefs.length === 0) return null;
281
+ if (resolvedRefs.length === 1) return resolvedRefs[0] ?? null;
282
+ return (value) => {
283
+ iterate.forEach(resolvedRefs, (ref) => {
284
+ if (isFunction(ref)) {
285
+ ref(value);
286
+ } else {
287
+ ref.current = value;
288
+ }
289
+ });
290
+ };
291
+ }
292
+
293
+ // ../../lib/primitive/src/utils/merge-props.ts
294
+ function mergeProps(defaultProps, props) {
295
+ return {
296
+ ...defaultProps ?? {},
297
+ ...props
298
+ };
299
+ }
300
+
301
+ // ../../lib/primitive/src/constants/aria/global-aria-attributes.ts
302
+ var GLOBAL_ARIA_ATTRIBUTES = /* @__PURE__ */ new Set([
303
+ "aria-atomic",
304
+ "aria-busy",
305
+ "aria-controls",
306
+ "aria-current",
307
+ "aria-describedby",
308
+ "aria-details",
309
+ "aria-disabled",
310
+ "aria-errormessage",
311
+ "aria-flowto",
312
+ "aria-hidden",
313
+ "aria-keyshortcuts",
314
+ "aria-label",
315
+ "aria-labelledby",
316
+ "aria-live",
317
+ "aria-owns",
108
318
  "aria-relevant",
109
319
  "aria-roledescription"
110
320
  ]);
@@ -412,6 +622,9 @@ var ROLE_RESTRICTED_ATTRIBUTES = /* @__PURE__ */ new Map([
412
622
  ]
413
623
  ]);
414
624
 
625
+ // ../../lib/primitive/src/constants/primitive/slot-name.ts
626
+ var SLOT_NAME = "Slot";
627
+
415
628
  // ../../lib/primitive/src/guards/aria/is-aria-attribute.ts
416
629
  function isGlobalAriaAttribute(attr) {
417
630
  return GLOBAL_ARIA_ATTRIBUTES.has(attr);
@@ -423,9 +636,6 @@ function isAriaAttributeValidForRole(attr, role) {
423
636
  return allowedRoles.has(role);
424
637
  }
425
638
 
426
- // ../../lib/primitive/src/constants/primitive/slot-name.ts
427
- var SLOT_NAME = "Slot";
428
-
429
639
  // ../../lib/primitive/src/guards/aria/is-aria-role.ts
430
640
  function isStrongImplicitRole(tag) {
431
641
  if (!(tag in IMPLICIT_ROLE_RECORD)) return false;
@@ -452,282 +662,72 @@ function isKnownAriaRole(value) {
452
662
  return isString(value) && KNOWN_ARIA_ROLES_SET.has(value);
453
663
  }
454
664
 
455
- // ../../lib/contract/src/aria/aria-role-policy.ts
456
- function getImplicitRole(tag, props) {
457
- if (tag in IMPLICIT_ROLE_RECORD) return IMPLICIT_ROLE_RECORD[tag];
458
- if (tag === "input") return getInputImplicitRole(props?.type);
459
- if (tag === "img") return props?.alt === "" ? "none" : "img";
460
- if (tag === "section" || tag === "form") {
461
- return getConditionalImplicitRole(tag, props?.["aria-label"], props?.["aria-labelledby"]);
665
+ // ../../lib/primitive/src/guards/children/component-id.ts
666
+ var COMPONENT_DEFAULT_TAG = /* @__PURE__ */ Symbol.for("praxis.component-default-tag");
667
+
668
+ // ../../lib/primitive/src/guards/children/is-tag.ts
669
+ function getAsProp(child) {
670
+ if (!isObject(child) || !("props" in child)) return void 0;
671
+ const props = child.props;
672
+ if (!isObject(props)) return void 0;
673
+ const as = props.as;
674
+ return isString(as) && as !== "" ? as : void 0;
675
+ }
676
+ function getTag(child) {
677
+ if (!isObject(child) || !("type" in child)) return void 0;
678
+ const t = child.type;
679
+ if (isString(t)) return t;
680
+ if (typeof t === "function" || isObject(t)) {
681
+ const defaultTag = t[COMPONENT_DEFAULT_TAG];
682
+ if (!isString(defaultTag)) return void 0;
683
+ return getAsProp(child) ?? defaultTag;
462
684
  }
463
685
  return void 0;
464
686
  }
465
-
466
- // ../../lib/primitive/src/tag/resolve-tag.ts
467
- function makeResolveTag(defaultTag) {
468
- return function tag(as) {
469
- return as ?? defaultTag;
470
- };
687
+ function isTag(...args) {
688
+ if (isString(args[0])) {
689
+ const set3 = new Set(args);
690
+ return (child2) => {
691
+ const tag2 = getTag(child2);
692
+ return tag2 !== void 0 && set3.has(tag2);
693
+ };
694
+ }
695
+ const [child, ...tags] = args;
696
+ const set2 = new Set(tags);
697
+ const tag = getTag(child);
698
+ return tag !== void 0 && set2.has(tag);
471
699
  }
472
700
 
473
- // ../../lib/primitive/src/merge/constants.ts
474
- var EVENT_HANDLER_RE = /^on[A-Z]/;
475
-
476
- // ../../lib/primitive/src/rule/rule-brand.ts
477
- var RULE_BRAND = /* @__PURE__ */ Symbol("praxis-kit/dynamic-rule");
478
-
479
- // ../../lib/primitive/src/rule/is-dynamic-rule.ts
480
- function isDynamicRule(rule) {
481
- return isObject(rule, true) && rule[RULE_BRAND] === true;
482
- }
701
+ // ../../adapters/preact/src/create-contract-component.ts
702
+ import { forwardRef as forwardRef2 } from "preact/compat";
483
703
 
484
- // ../../lib/primitive/src/rule/resolve-rule.ts
485
- function resolveRule(rule, context) {
486
- return isDynamicRule(rule) ? rule.resolve(context) : rule;
704
+ // ../../lib/adapter-utils/src/invariant.ts
705
+ function panic(message) {
706
+ throw new Error(message);
487
707
  }
488
-
489
- // ../../lib/primitive/src/utils/assert-never.ts
490
- function assertNever(value) {
491
- throw new Error(`Unexpected value: ${String(value)}`);
708
+ function invariant(condition, message) {
709
+ if (!condition) panic(message);
492
710
  }
493
711
 
494
- // ../../lib/primitive/src/utils/cn.ts
495
- import { clsx } from "clsx";
496
- function cn(...inputs) {
497
- return clsx(...inputs);
712
+ // ../../lib/adapter-utils/src/runtime/apply-display-name.ts
713
+ function applyDisplayName(component, name) {
714
+ Object.assign(component, { displayName: name ?? "PolymorphicComponent" });
498
715
  }
499
716
 
500
- // ../../lib/primitive/src/utils/iterate.ts
501
- function find(iterable, callback) {
502
- for (const value of iterable) {
503
- const result = callback(value);
504
- if (result != null) {
505
- return result;
506
- }
507
- }
508
- return null;
509
- }
510
- function some(iterable, predicate) {
511
- for (const value of iterable) {
512
- if (predicate(value)) return true;
513
- }
514
- return false;
515
- }
516
- function every(iterable, predicate) {
517
- let index = 0;
518
- for (const value of iterable) {
519
- if (!predicate(value, index++)) {
520
- return false;
521
- }
522
- }
523
- return true;
524
- }
525
- function* filter(iterable, predicate) {
526
- let index = 0;
527
- for (const value of iterable) {
528
- if (predicate(value, index++)) {
529
- yield value;
530
- }
531
- }
532
- }
533
- function* map(iterable, callback) {
534
- let index = 0;
535
- for (const value of iterable) {
536
- yield callback(value, index++);
537
- }
538
- }
539
- function forEach(iterable, callback) {
540
- let index = 0;
541
- for (const value of iterable) {
542
- callback(value, index++);
543
- }
544
- }
545
- function reduce(iterable, initial, callback) {
546
- let accumulator = initial;
547
- let index = 0;
548
- for (const value of iterable) {
549
- accumulator = callback(accumulator, value, index++);
550
- }
551
- return accumulator;
552
- }
553
- function collect(iterable, callback) {
554
- const result = {};
555
- let index = 0;
556
- for (const value of iterable) {
557
- const entry = callback(value, index++);
558
- if (entry === null) {
559
- return null;
560
- }
561
- result[entry[0]] = entry[1];
562
- }
563
- return result;
564
- }
565
- function findLast(value, callback) {
566
- for (let index = value.length - 1; index >= 0; index--) {
567
- const result = callback(value[index], index);
568
- if (result != null) {
569
- return result;
570
- }
571
- }
572
- return null;
573
- }
574
- function* items(collection) {
575
- for (let i = 0; i < collection.length; i++) {
576
- const item = collection.item(i);
577
- if (item !== null) {
578
- yield item;
579
- }
580
- }
581
- }
582
- function nodeList(list) {
583
- return {
584
- *[Symbol.iterator]() {
585
- for (let i = 0; i < list.length; i++) {
586
- const node = list.item(i);
587
- if (node !== null) {
588
- yield node;
589
- }
590
- }
591
- }
592
- };
593
- }
594
- function mapEntries(m) {
595
- return m.entries();
596
- }
597
- function set(s) {
598
- return s.values();
599
- }
600
- function hasOwn(object, key) {
601
- return Object.hasOwn(object, key);
602
- }
603
- function* entries(object) {
604
- for (const key in object) {
605
- if (!hasOwn(object, key)) continue;
606
- yield [key, object[key]];
607
- }
608
- }
609
- function* keys(object) {
610
- for (const [key] of entries(object)) {
611
- yield key;
612
- }
613
- }
614
- function* values(object) {
615
- for (const [, value] of entries(object)) {
616
- yield value;
617
- }
618
- }
619
- function mapValues(object, callback) {
620
- const result = {};
621
- for (const [key, value] of entries(object)) {
622
- result[key] = callback(value, key);
623
- }
624
- return result;
625
- }
626
- function forEachEntry(object, callback) {
627
- for (const [key, value] of entries(object)) {
628
- callback(key, value);
629
- }
630
- }
631
- function forEachKey(object, callback) {
632
- for (const key of keys(object)) {
633
- callback(key);
634
- }
635
- }
636
- function forEachValue(object, callback) {
637
- for (const value of values(object)) {
638
- callback(value);
639
- }
640
- }
641
- function forEachSet(s, callback) {
642
- for (const value of s) {
643
- callback(value);
644
- }
717
+ // ../../lib/adapter-utils/src/runtime/define-component.ts
718
+ function defineContractComponent(options) {
719
+ return (factory) => factory(options);
645
720
  }
646
- var iterate = Object.freeze({
647
- entries,
648
- filter,
649
- find,
650
- findLast,
651
- forEach,
652
- forEachEntry,
653
- forEachKey,
654
- forEachSet,
655
- forEachValue,
656
- items,
657
- keys,
658
- map,
659
- mapEntries,
660
- mapValues,
661
- nodeList,
662
- reduce,
663
- collect,
664
- set,
665
- some,
666
- every,
667
- values
668
- });
669
721
 
670
- // ../../lib/primitive/src/utils/lru-cache.ts
671
- var LRUCache = class {
672
- #maxSize;
673
- #store = /* @__PURE__ */ new Map();
674
- constructor(maxSize) {
675
- if (!Number.isInteger(maxSize) || maxSize < 1) {
676
- throw new RangeError("LRUCache maxSize must be a positive integer.");
677
- }
678
- this.#maxSize = maxSize;
679
- }
680
- get(key) {
681
- if (!this.#store.has(key)) return void 0;
682
- const value = this.#store.get(key);
683
- this.#store.delete(key);
684
- this.#store.set(key, value);
685
- return value;
686
- }
687
- set(key, value) {
688
- this.#store.delete(key);
689
- this.#store.set(key, value);
690
- if (this.#store.size > this.#maxSize) {
691
- const lru = this.#store.keys().next().value;
692
- if (lru !== void 0) this.#store.delete(lru);
693
- }
694
- }
695
- has(key) {
696
- return this.#store.has(key);
697
- }
698
- delete(key) {
699
- return this.#store.delete(key);
700
- }
701
- get size() {
702
- return this.#store.size;
703
- }
704
- clear() {
705
- this.#store.clear();
722
+ // ../../lib/contract/src/aria/aria-role-policy.ts
723
+ function getImplicitRole(tag, props) {
724
+ if (tag in IMPLICIT_ROLE_RECORD) return IMPLICIT_ROLE_RECORD[tag];
725
+ if (tag === "input") return getInputImplicitRole(props?.type);
726
+ if (tag === "img") return props?.alt === "" ? "none" : "img";
727
+ if (tag === "section" || tag === "form") {
728
+ return getConditionalImplicitRole(tag, props?.["aria-label"], props?.["aria-labelledby"]);
706
729
  }
707
- };
708
-
709
- // ../../lib/primitive/src/utils/merge-refs.ts
710
- function mergeRefsCore(...refs) {
711
- const resolvedRefs = refs.filter((r) => r != null);
712
- if (resolvedRefs.length === 0) return null;
713
- if (resolvedRefs.length === 1) return resolvedRefs[0] ?? null;
714
- return (value) => {
715
- iterate.forEach(resolvedRefs, (ref) => {
716
- if (isFunction(ref)) {
717
- ref(value);
718
- } else {
719
- ref.current = value;
720
- }
721
- });
722
- };
723
- }
724
-
725
- // ../../lib/primitive/src/utils/merge-props.ts
726
- function mergeProps(defaultProps, props) {
727
- return {
728
- ...defaultProps ?? {},
729
- ...props
730
- };
730
+ return void 0;
731
731
  }
732
732
 
733
733
  // ../../lib/contract/src/diagnostics/aria.ts
@@ -2545,7 +2545,10 @@ function resolveFactoryOptions(options = {}) {
2545
2545
  const variantKeys = styling?.variants === void 0 ? EMPTY_VARIANT_KEYS : new Set(Object.keys(styling.variants));
2546
2546
  return Object.freeze({
2547
2547
  defaultTag: options.tag ?? "div",
2548
- diagnostics: resolveDiagnostics(enforcement?.diagnostics, silentDiagnostics),
2548
+ diagnostics: resolveDiagnostics(
2549
+ enforcement?.diagnostics,
2550
+ options.diagnostics ?? silentDiagnostics
2551
+ ),
2549
2552
  variantKeys,
2550
2553
  ...whenDefined("displayName", options.name),
2551
2554
  ...whenDefined("defaultProps", options.defaults),