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