@ui5/webcomponents-tools 1.21.2 → 1.22.0-rc.1

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.
@@ -0,0 +1,871 @@
1
+ export type Privacy = "private" | "protected" | "public"
2
+
3
+ /**
4
+ * The top-level interface of a custom elements manifest file.
5
+ *
6
+ * Because custom elements are JavaScript classes, describing a custom element
7
+ * may require describing arbitrary JavaScript concepts like modules, classes,
8
+ * functions, etc. So custom elements manifests are capable of documenting
9
+ * the elements in a package, as well as those JavaScript concepts.
10
+ *
11
+ * The modules described in a package should be the public entrypoints that
12
+ * other packages may import from. Multiple modules may export the same object
13
+ * via re-exports, but in most cases a package should document the single
14
+ * canonical export that should be used.
15
+ */
16
+ export interface Package {
17
+ /**
18
+ * Whether the package is deprecated.
19
+ * If the value is a string, it's the reason for the deprecation.
20
+ */
21
+ deprecated?: string | boolean
22
+ /**
23
+ * An array of the modules this package contains.
24
+ */
25
+ modules: JavaScriptModule[]
26
+ /**
27
+ * The Markdown to use for the main readme of this package.
28
+ *
29
+ * This can be used to override the readme used by Github or npm if that
30
+ * file contains information irrelevant to custom element catalogs and
31
+ * documentation viewers.
32
+ */
33
+ readme?: string
34
+ /**
35
+ * The version of the schema used in this file.
36
+ */
37
+ schemaVersion: string
38
+ }
39
+ export interface JavaScriptModule {
40
+ /**
41
+ * The declarations of a module.
42
+ *
43
+ * For documentation purposes, all declarations that are reachable from
44
+ * exports should be described here. Ie, functions and objects that may be
45
+ * properties of exported objects, or passed as arguments to functions.
46
+ */
47
+ declarations?: (
48
+ | ClassDeclaration
49
+ | FunctionDeclaration
50
+ | MixinDeclaration
51
+ | VariableDeclaration
52
+ | CustomElementDeclaration
53
+ | CustomElementMixinDeclaration
54
+ )[]
55
+ /**
56
+ * Whether the module is deprecated.
57
+ * If the value is a string, it's the reason for the deprecation.
58
+ */
59
+ deprecated?: string | boolean
60
+ /**
61
+ * A markdown description of the module.
62
+ */
63
+ description?: string
64
+ /**
65
+ * The exports of a module. This includes JavaScript exports and
66
+ * custom element definitions.
67
+ */
68
+ exports?: (JavaScriptExport | CustomElementExport)[]
69
+ kind: "javascript-module"
70
+ /**
71
+ * Path to the javascript file needed to be imported.
72
+ * (not the path for example to a typescript file.)
73
+ */
74
+ path: string
75
+ /**
76
+ * A markdown summary suitable for display in a listing.
77
+ */
78
+ summary?: string
79
+ }
80
+ export interface ClassDeclaration {
81
+ /**
82
+ * Whether the class or mixin is deprecated.
83
+ * If the value is a string, it's the reason for the deprecation.
84
+ */
85
+ deprecated?: string | boolean
86
+ /**
87
+ * A markdown description of the class.
88
+ */
89
+ description?: string
90
+ kind: "class"
91
+ members?: (ClassField | ClassMethod)[]
92
+ /**
93
+ * Any class mixins applied in the extends clause of this class.
94
+ *
95
+ * If mixins are applied in the class definition, then the true superclass
96
+ * of this class is the result of applying mixins in order to the superclass.
97
+ *
98
+ * Mixins must be listed in order of their application to the superclass or
99
+ * previous mixin application. This means that the innermost mixin is listed
100
+ * first. This may read backwards from the common order in JavaScript, but
101
+ * matches the order of language used to describe mixin application, like
102
+ * "S with A, B".
103
+ */
104
+ mixins?: Reference[]
105
+ name: string
106
+ source?: SourceReference
107
+ /**
108
+ * A markdown summary suitable for display in a listing.
109
+ */
110
+ summary?: string
111
+ /**
112
+ * A reference to an export of a module.
113
+ *
114
+ * All references are required to be publically accessible, so the canonical
115
+ * representation of a reference is the export it's available from.
116
+ *
117
+ * `package` should generally refer to an npm package name. If `package` is
118
+ * undefined then the reference is local to this package. If `module` is
119
+ * undefined the reference is local to the containing module.
120
+ *
121
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
122
+ * use a `package` name of `"global:"`.
123
+ */
124
+ superclass?: {
125
+ module?: string
126
+ name: string
127
+ package?: string
128
+ [k: string]: unknown
129
+ }
130
+ }
131
+ export interface ClassField {
132
+ default?: string
133
+ /**
134
+ * Whether the property is deprecated.
135
+ * If the value is a string, it's the reason for the deprecation.
136
+ */
137
+ deprecated?: string | boolean
138
+ /**
139
+ * A markdown description of the field.
140
+ */
141
+ description?: string
142
+ inheritedFrom?: Reference
143
+ kind: "field"
144
+ name: string
145
+ privacy?: Privacy
146
+ /**
147
+ * Whether the property is read-only.
148
+ */
149
+ readonly?: boolean
150
+ source?: SourceReference
151
+ static?: boolean
152
+ /**
153
+ * A markdown summary suitable for display in a listing.
154
+ */
155
+ summary?: string
156
+ type?: Type
157
+ }
158
+ /**
159
+ * A reference to an export of a module.
160
+ *
161
+ * All references are required to be publically accessible, so the canonical
162
+ * representation of a reference is the export it's available from.
163
+ *
164
+ * `package` should generally refer to an npm package name. If `package` is
165
+ * undefined then the reference is local to this package. If `module` is
166
+ * undefined the reference is local to the containing module.
167
+ *
168
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
169
+ * use a `package` name of `"global:"`.
170
+ */
171
+ export interface Reference {
172
+ module?: string
173
+ name: string
174
+ package?: string
175
+ }
176
+ /**
177
+ * A reference to the source of a declaration or member.
178
+ */
179
+ export interface SourceReference {
180
+ /**
181
+ * An absolute URL to the source (ie. a GitHub URL).
182
+ */
183
+ href: string
184
+ }
185
+ export interface Type {
186
+ /**
187
+ * An array of references to the types in the type string.
188
+ *
189
+ * These references have optional indices into the type string so that tools
190
+ * can understand the references in the type string independently of the type
191
+ * system and syntax. For example, a documentation viewer could display the
192
+ * type `Array<FooElement | BarElement>` with cross-references to `FooElement`
193
+ * and `BarElement` without understanding arrays, generics, or union types.
194
+ */
195
+ references?: TypeReference[]
196
+ source?: SourceReference
197
+ /**
198
+ * The full string representation of the type, in whatever type syntax is
199
+ * used, such as JSDoc, Closure, or TypeScript.
200
+ */
201
+ text: string
202
+ }
203
+ /**
204
+ * A reference that is associated with a type string and optionally a range
205
+ * within the string.
206
+ *
207
+ * Start and end must both be present or not present. If they're present, they
208
+ * are indices into the associated type string. If they are missing, the entire
209
+ * type string is the symbol referenced and the name should match the type
210
+ * string.
211
+ */
212
+ export interface TypeReference {
213
+ end?: number
214
+ module?: string
215
+ name: string
216
+ package?: string
217
+ start?: number
218
+ }
219
+ export interface ClassMethod {
220
+ /**
221
+ * Whether the function is deprecated.
222
+ * If the value is a string, it's the reason for the deprecation.
223
+ */
224
+ deprecated?: string | boolean
225
+ /**
226
+ * A markdown description.
227
+ */
228
+ description?: string
229
+ inheritedFrom?: Reference
230
+ kind: "method"
231
+ name: string
232
+ parameters?: Parameter[]
233
+ privacy?: Privacy
234
+ return?: {
235
+ /**
236
+ * A markdown description.
237
+ */
238
+ description?: string
239
+ /**
240
+ * A markdown summary suitable for display in a listing.
241
+ */
242
+ summary?: string
243
+ type?: Type
244
+ [k: string]: unknown
245
+ }
246
+ source?: SourceReference
247
+ static?: boolean
248
+ /**
249
+ * A markdown summary suitable for display in a listing.
250
+ */
251
+ summary?: string
252
+ }
253
+ export interface Parameter {
254
+ default?: string
255
+ /**
256
+ * Whether the property is deprecated.
257
+ * If the value is a string, it's the reason for the deprecation.
258
+ */
259
+ deprecated?: string | boolean
260
+ /**
261
+ * A markdown description of the field.
262
+ */
263
+ description?: string
264
+ name: string
265
+ /**
266
+ * Whether the parameter is optional. Undefined implies non-optional.
267
+ */
268
+ optional?: boolean
269
+ /**
270
+ * Whether the property is read-only.
271
+ */
272
+ readonly?: boolean
273
+ /**
274
+ * Whether the parameter is a rest parameter. Only the last parameter may be a rest parameter.
275
+ * Undefined implies single parameter.
276
+ */
277
+ rest?: boolean
278
+ /**
279
+ * A markdown summary suitable for display in a listing.
280
+ */
281
+ summary?: string
282
+ type?: Type
283
+ }
284
+ export interface FunctionDeclaration {
285
+ /**
286
+ * Whether the function is deprecated.
287
+ * If the value is a string, it's the reason for the deprecation.
288
+ */
289
+ deprecated?: string | boolean
290
+ /**
291
+ * A markdown description.
292
+ */
293
+ description?: string
294
+ kind: "function"
295
+ name: string
296
+ parameters?: Parameter[]
297
+ return?: {
298
+ /**
299
+ * A markdown description.
300
+ */
301
+ description?: string
302
+ /**
303
+ * A markdown summary suitable for display in a listing.
304
+ */
305
+ summary?: string
306
+ type?: Type
307
+ [k: string]: unknown
308
+ }
309
+ source?: SourceReference
310
+ /**
311
+ * A markdown summary suitable for display in a listing.
312
+ */
313
+ summary?: string
314
+ }
315
+ /**
316
+ * A description of a class mixin.
317
+ *
318
+ * Mixins are functions which generate a new subclass of a given superclass.
319
+ * This interfaces describes the class and custom element features that
320
+ * are added by the mixin. As such, it extends the CustomElement interface and
321
+ * ClassLike interface.
322
+ *
323
+ * Since mixins are functions, it also extends the FunctionLike interface. This
324
+ * means a mixin is callable, and has parameters and a return type.
325
+ *
326
+ * The return type is often hard or impossible to accurately describe in type
327
+ * systems like TypeScript. It requires generics and an `extends` operator
328
+ * that TypeScript lacks. Therefore it's recommended that the return type is
329
+ * left empty. The most common form of a mixin function takes a single
330
+ * argument, so consumers of this interface should assume that the return type
331
+ * is the single argument subclassed by this declaration.
332
+ *
333
+ * A mixin should not have a superclass. If a mixins composes other mixins,
334
+ * they should be listed in the `mixins` field.
335
+ *
336
+ * See [this article]{@link https://justinfagnani.com/2015/12/21/real-mixins-with-javascript-classes/}
337
+ * for more information on the classmixin pattern in JavaScript.
338
+ */
339
+ export interface MixinDeclaration {
340
+ /**
341
+ * Whether the class or mixin is deprecated.
342
+ * If the value is a string, it's the reason for the deprecation.
343
+ */
344
+ deprecated?: string | boolean
345
+ /**
346
+ * A markdown description of the class.
347
+ */
348
+ description?: string
349
+ kind: "mixin"
350
+ members?: (ClassField | ClassMethod)[]
351
+ /**
352
+ * Any class mixins applied in the extends clause of this class.
353
+ *
354
+ * If mixins are applied in the class definition, then the true superclass
355
+ * of this class is the result of applying mixins in order to the superclass.
356
+ *
357
+ * Mixins must be listed in order of their application to the superclass or
358
+ * previous mixin application. This means that the innermost mixin is listed
359
+ * first. This may read backwards from the common order in JavaScript, but
360
+ * matches the order of language used to describe mixin application, like
361
+ * "S with A, B".
362
+ */
363
+ mixins?: Reference[]
364
+ name: string
365
+ parameters?: Parameter[]
366
+ return?: {
367
+ /**
368
+ * A markdown description.
369
+ */
370
+ description?: string
371
+ /**
372
+ * A markdown summary suitable for display in a listing.
373
+ */
374
+ summary?: string
375
+ type?: Type
376
+ [k: string]: unknown
377
+ }
378
+ source?: SourceReference
379
+ /**
380
+ * A markdown summary suitable for display in a listing.
381
+ */
382
+ summary?: string
383
+ /**
384
+ * A reference to an export of a module.
385
+ *
386
+ * All references are required to be publically accessible, so the canonical
387
+ * representation of a reference is the export it's available from.
388
+ *
389
+ * `package` should generally refer to an npm package name. If `package` is
390
+ * undefined then the reference is local to this package. If `module` is
391
+ * undefined the reference is local to the containing module.
392
+ *
393
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
394
+ * use a `package` name of `"global:"`.
395
+ */
396
+ superclass?: {
397
+ module?: string
398
+ name: string
399
+ package?: string
400
+ [k: string]: unknown
401
+ }
402
+ }
403
+ export interface VariableDeclaration {
404
+ default?: string
405
+ /**
406
+ * Whether the property is deprecated.
407
+ * If the value is a string, it's the reason for the deprecation.
408
+ */
409
+ deprecated?: string | boolean
410
+ /**
411
+ * A markdown description of the field.
412
+ */
413
+ description?: string
414
+ kind: "variable"
415
+ name: string
416
+ /**
417
+ * Whether the property is read-only.
418
+ */
419
+ readonly?: boolean
420
+ source?: SourceReference
421
+ /**
422
+ * A markdown summary suitable for display in a listing.
423
+ */
424
+ summary?: string
425
+ type?: Type
426
+ }
427
+ /**
428
+ * A description of a custom element class.
429
+ *
430
+ * Custom elements are JavaScript classes, so this extends from
431
+ * `ClassDeclaration` and adds custom-element-specific features like
432
+ * attributes, events, and slots.
433
+ *
434
+ * Note that `tagName` in this interface is optional. Tag names are not
435
+ * neccessarily part of a custom element class, but belong to the definition
436
+ * (often called the "registration") or the `customElements.define()` call.
437
+ *
438
+ * Because classes and tag names can only be registered once, there's a
439
+ * one-to-one relationship between classes and tag names. For ease of use,
440
+ * we allow the tag name here.
441
+ *
442
+ * Some packages define and register custom elements in separate modules. In
443
+ * these cases one `Module` should contain the `CustomElement` without a
444
+ * tagName, and another `Module` should contain the
445
+ * `CustomElementExport`.
446
+ */
447
+ export interface CustomElementDeclaration {
448
+ /**
449
+ * The attributes that this element is known to understand.
450
+ */
451
+ attributes?: Attribute[]
452
+ cssParts?: CssPart[]
453
+ cssProperties?: CssCustomProperty[]
454
+ /**
455
+ * Distinguishes a regular JavaScript class from a
456
+ * custom element class
457
+ */
458
+ customElement: true
459
+ demos?: Demo[]
460
+ /**
461
+ * Whether the class or mixin is deprecated.
462
+ * If the value is a string, it's the reason for the deprecation.
463
+ */
464
+ deprecated?: string | boolean
465
+ /**
466
+ * A markdown description of the class.
467
+ */
468
+ description?: string
469
+ /**
470
+ * The events that this element fires.
471
+ */
472
+ events?: Event[]
473
+ kind: "class"
474
+ members?: (ClassField | ClassMethod)[]
475
+ /**
476
+ * Any class mixins applied in the extends clause of this class.
477
+ *
478
+ * If mixins are applied in the class definition, then the true superclass
479
+ * of this class is the result of applying mixins in order to the superclass.
480
+ *
481
+ * Mixins must be listed in order of their application to the superclass or
482
+ * previous mixin application. This means that the innermost mixin is listed
483
+ * first. This may read backwards from the common order in JavaScript, but
484
+ * matches the order of language used to describe mixin application, like
485
+ * "S with A, B".
486
+ */
487
+ mixins?: Reference[]
488
+ name: string
489
+ /**
490
+ * The shadow dom content slots that this element accepts.
491
+ */
492
+ slots?: Slot[]
493
+ source?: SourceReference
494
+ /**
495
+ * A markdown summary suitable for display in a listing.
496
+ */
497
+ summary?: string
498
+ /**
499
+ * A reference to an export of a module.
500
+ *
501
+ * All references are required to be publically accessible, so the canonical
502
+ * representation of a reference is the export it's available from.
503
+ *
504
+ * `package` should generally refer to an npm package name. If `package` is
505
+ * undefined then the reference is local to this package. If `module` is
506
+ * undefined the reference is local to the containing module.
507
+ *
508
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
509
+ * use a `package` name of `"global:"`.
510
+ */
511
+ superclass?: {
512
+ module?: string
513
+ name: string
514
+ package?: string
515
+ [k: string]: unknown
516
+ }
517
+ /**
518
+ * An optional tag name that should be specified if this is a
519
+ * self-registering element.
520
+ *
521
+ * Self-registering elements must also include a CustomElementExport
522
+ * in the module's exports.
523
+ */
524
+ tagName?: string
525
+ }
526
+ export interface Attribute {
527
+ /**
528
+ * The default value of the attribute, if any.
529
+ *
530
+ * As attributes are always strings, this is the actual value, not a human
531
+ * readable description.
532
+ */
533
+ default?: string
534
+ /**
535
+ * Whether the attribute is deprecated.
536
+ * If the value is a string, it's the reason for the deprecation.
537
+ */
538
+ deprecated?: string | boolean
539
+ /**
540
+ * A markdown description.
541
+ */
542
+ description?: string
543
+ /**
544
+ * The name of the field this attribute is associated with, if any.
545
+ */
546
+ fieldName?: string
547
+ inheritedFrom?: Reference
548
+ name: string
549
+ /**
550
+ * A markdown summary suitable for display in a listing.
551
+ */
552
+ summary?: string
553
+ /**
554
+ * The type that the attribute will be serialized/deserialized as.
555
+ */
556
+ type?: {
557
+ /**
558
+ * An array of references to the types in the type string.
559
+ *
560
+ * These references have optional indices into the type string so that tools
561
+ * can understand the references in the type string independently of the type
562
+ * system and syntax. For example, a documentation viewer could display the
563
+ * type `Array<FooElement | BarElement>` with cross-references to `FooElement`
564
+ * and `BarElement` without understanding arrays, generics, or union types.
565
+ */
566
+ references?: TypeReference[]
567
+ source?: SourceReference
568
+ /**
569
+ * The full string representation of the type, in whatever type syntax is
570
+ * used, such as JSDoc, Closure, or TypeScript.
571
+ */
572
+ text: string
573
+ [k: string]: unknown
574
+ }
575
+ }
576
+ /**
577
+ * The description of a CSS Part
578
+ */
579
+ export interface CssPart {
580
+ /**
581
+ * Whether the CSS shadow part is deprecated.
582
+ * If the value is a string, it's the reason for the deprecation.
583
+ */
584
+ deprecated?: string | boolean
585
+ /**
586
+ * A markdown description.
587
+ */
588
+ description?: string
589
+ name: string
590
+ /**
591
+ * A markdown summary suitable for display in a listing.
592
+ */
593
+ summary?: string
594
+ }
595
+ export interface CssCustomProperty {
596
+ default?: string
597
+ /**
598
+ * Whether the CSS custom property is deprecated.
599
+ * If the value is a string, it's the reason for the deprecation.
600
+ */
601
+ deprecated?: string | boolean
602
+ /**
603
+ * A markdown description.
604
+ */
605
+ description?: string
606
+ /**
607
+ * The name of the property, including leading `--`.
608
+ */
609
+ name: string
610
+ /**
611
+ * A markdown summary suitable for display in a listing.
612
+ */
613
+ summary?: string
614
+ /**
615
+ * The expected syntax of the defined property. Defaults to "*".
616
+ *
617
+ * The syntax must be a valid CSS [syntax string](https://developer.mozilla.org/en-US/docs/Web/CSS/@property/syntax)
618
+ * as defined in the CSS Properties and Values API.
619
+ *
620
+ * Examples:
621
+ *
622
+ * "<color>": accepts a color
623
+ * "<length> | <percentage>": accepts lengths or percentages but not calc expressions with a combination of the two
624
+ * "small | medium | large": accepts one of these values set as custom idents.
625
+ * "*": any valid token
626
+ */
627
+ syntax?: string
628
+ }
629
+ export interface Demo {
630
+ /**
631
+ * A markdown description of the demo.
632
+ */
633
+ description?: string
634
+ source?: SourceReference
635
+ /**
636
+ * Relative URL of the demo if it's published with the package. Absolute URL
637
+ * if it's hosted.
638
+ */
639
+ url: string
640
+ }
641
+ export interface Event {
642
+ /**
643
+ * Whether the event is deprecated.
644
+ * If the value is a string, it's the reason for the deprecation.
645
+ */
646
+ deprecated?: string | boolean
647
+ /**
648
+ * A markdown description.
649
+ */
650
+ description?: string
651
+ inheritedFrom?: Reference
652
+ name: string
653
+ /**
654
+ * A markdown summary suitable for display in a listing.
655
+ */
656
+ summary?: string
657
+ /**
658
+ * The type of the event object that's fired.
659
+ */
660
+ type: {
661
+ /**
662
+ * An array of references to the types in the type string.
663
+ *
664
+ * These references have optional indices into the type string so that tools
665
+ * can understand the references in the type string independently of the type
666
+ * system and syntax. For example, a documentation viewer could display the
667
+ * type `Array<FooElement | BarElement>` with cross-references to `FooElement`
668
+ * and `BarElement` without understanding arrays, generics, or union types.
669
+ */
670
+ references?: TypeReference[]
671
+ source?: SourceReference
672
+ /**
673
+ * The full string representation of the type, in whatever type syntax is
674
+ * used, such as JSDoc, Closure, or TypeScript.
675
+ */
676
+ text: string
677
+ [k: string]: unknown
678
+ }
679
+ }
680
+ export interface Slot {
681
+ /**
682
+ * Whether the slot is deprecated.
683
+ * If the value is a string, it's the reason for the deprecation.
684
+ */
685
+ deprecated?: string | boolean
686
+ /**
687
+ * A markdown description.
688
+ */
689
+ description?: string
690
+ /**
691
+ * The slot name, or the empty string for an unnamed slot.
692
+ */
693
+ name: string
694
+ /**
695
+ * A markdown summary suitable for display in a listing.
696
+ */
697
+ summary?: string
698
+ }
699
+ /**
700
+ * A class mixin that also adds custom element related properties.
701
+ */
702
+ export interface CustomElementMixinDeclaration {
703
+ /**
704
+ * The attributes that this element is known to understand.
705
+ */
706
+ attributes?: Attribute[]
707
+ cssParts?: CssPart[]
708
+ cssProperties?: CssCustomProperty[]
709
+ /**
710
+ * Distinguishes a regular JavaScript class from a
711
+ * custom element class
712
+ */
713
+ customElement: true
714
+ demos?: Demo[]
715
+ /**
716
+ * Whether the class or mixin is deprecated.
717
+ * If the value is a string, it's the reason for the deprecation.
718
+ */
719
+ deprecated?: string | boolean
720
+ /**
721
+ * A markdown description of the class.
722
+ */
723
+ description?: string
724
+ /**
725
+ * The events that this element fires.
726
+ */
727
+ events?: Event[]
728
+ kind: "mixin"
729
+ members?: (ClassField | ClassMethod)[]
730
+ /**
731
+ * Any class mixins applied in the extends clause of this class.
732
+ *
733
+ * If mixins are applied in the class definition, then the true superclass
734
+ * of this class is the result of applying mixins in order to the superclass.
735
+ *
736
+ * Mixins must be listed in order of their application to the superclass or
737
+ * previous mixin application. This means that the innermost mixin is listed
738
+ * first. This may read backwards from the common order in JavaScript, but
739
+ * matches the order of language used to describe mixin application, like
740
+ * "S with A, B".
741
+ */
742
+ mixins?: Reference[]
743
+ name: string
744
+ parameters?: Parameter[]
745
+ return?: {
746
+ /**
747
+ * A markdown description.
748
+ */
749
+ description?: string
750
+ /**
751
+ * A markdown summary suitable for display in a listing.
752
+ */
753
+ summary?: string
754
+ type?: Type
755
+ [k: string]: unknown
756
+ }
757
+ /**
758
+ * The shadow dom content slots that this element accepts.
759
+ */
760
+ slots?: Slot[]
761
+ source?: SourceReference
762
+ /**
763
+ * A markdown summary suitable for display in a listing.
764
+ */
765
+ summary?: string
766
+ /**
767
+ * A reference to an export of a module.
768
+ *
769
+ * All references are required to be publically accessible, so the canonical
770
+ * representation of a reference is the export it's available from.
771
+ *
772
+ * `package` should generally refer to an npm package name. If `package` is
773
+ * undefined then the reference is local to this package. If `module` is
774
+ * undefined the reference is local to the containing module.
775
+ *
776
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
777
+ * use a `package` name of `"global:"`.
778
+ */
779
+ superclass?: {
780
+ module?: string
781
+ name: string
782
+ package?: string
783
+ [k: string]: unknown
784
+ }
785
+ /**
786
+ * An optional tag name that should be specified if this is a
787
+ * self-registering element.
788
+ *
789
+ * Self-registering elements must also include a CustomElementExport
790
+ * in the module's exports.
791
+ */
792
+ tagName?: string
793
+ }
794
+ export interface JavaScriptExport {
795
+ /**
796
+ * A reference to an export of a module.
797
+ *
798
+ * All references are required to be publically accessible, so the canonical
799
+ * representation of a reference is the export it's available from.
800
+ *
801
+ * `package` should generally refer to an npm package name. If `package` is
802
+ * undefined then the reference is local to this package. If `module` is
803
+ * undefined the reference is local to the containing module.
804
+ *
805
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
806
+ * use a `package` name of `"global:"`.
807
+ */
808
+ declaration: {
809
+ module?: string
810
+ name: string
811
+ package?: string
812
+ [k: string]: unknown
813
+ }
814
+ /**
815
+ * Whether the export is deprecated. For example, the name of the export was changed.
816
+ * If the value is a string, it's the reason for the deprecation.
817
+ */
818
+ deprecated?: string | boolean
819
+ kind: "js"
820
+ /**
821
+ * The name of the exported symbol.
822
+ *
823
+ * JavaScript has a number of ways to export objects which determine the
824
+ * correct name to use.
825
+ *
826
+ * - Default exports must use the name "default".
827
+ * - Named exports use the name that is exported. If the export is renamed
828
+ * with the "as" clause, use the exported name.
829
+ * - Aggregating exports (`* from`) should use the name `*`
830
+ */
831
+ name: string
832
+ }
833
+ /**
834
+ * A global custom element defintion, ie the result of a
835
+ * `customElements.define()` call.
836
+ *
837
+ * This is represented as an export because a definition makes the element
838
+ * available outside of the module it's defined it.
839
+ */
840
+ export interface CustomElementExport {
841
+ /**
842
+ * A reference to an export of a module.
843
+ *
844
+ * All references are required to be publically accessible, so the canonical
845
+ * representation of a reference is the export it's available from.
846
+ *
847
+ * `package` should generally refer to an npm package name. If `package` is
848
+ * undefined then the reference is local to this package. If `module` is
849
+ * undefined the reference is local to the containing module.
850
+ *
851
+ * References to global symbols like `Array`, `HTMLElement`, or `Event` should
852
+ * use a `package` name of `"global:"`.
853
+ */
854
+ declaration: {
855
+ module?: string
856
+ name: string
857
+ package?: string
858
+ [k: string]: unknown
859
+ }
860
+ /**
861
+ * Whether the custom-element export is deprecated.
862
+ * For example, a future version will not register the custom element in this file.
863
+ * If the value is a string, it's the reason for the deprecation.
864
+ */
865
+ deprecated?: string | boolean
866
+ kind: "custom-element-definition"
867
+ /**
868
+ * The tag name of the custom element.
869
+ */
870
+ name: string
871
+ }