@typesafe-html5/typescript 0.2.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +166 -0
  2. package/block/article/article.ts +506 -0
  3. package/block/aside/aside.ts +522 -0
  4. package/block/audio/audio.ts +506 -0
  5. package/block/blockquote/blockquote.ts +522 -0
  6. package/block/body/body.ts +458 -0
  7. package/block/canvas/canvas.ts +538 -0
  8. package/block/caption/caption.ts +506 -0
  9. package/block/colgroup/colgroup.ts +154 -0
  10. package/block/datalist/datalist.ts +506 -0
  11. package/block/dd/dd.ts +506 -0
  12. package/block/del/del.ts +538 -0
  13. package/block/details/details.ts +586 -0
  14. package/block/dialog/dialog.ts +586 -0
  15. package/block/div/div.ts +586 -0
  16. package/block/dl/dl.ts +506 -0
  17. package/block/dt/dt.ts +506 -0
  18. package/block/embed/embed.ts +317 -0
  19. package/block/fieldset/fieldset.ts +570 -0
  20. package/block/figcaption/figcaption.ts +506 -0
  21. package/block/figure/figure.ts +506 -0
  22. package/block/footer/footer.ts +522 -0
  23. package/block/form/form.ts +490 -0
  24. package/block/h1/h1.ts +490 -0
  25. package/block/h2/h2.ts +490 -0
  26. package/block/h3/h3.ts +490 -0
  27. package/block/h4/h4.ts +490 -0
  28. package/block/h5/h5.ts +490 -0
  29. package/block/h6/h6.ts +490 -0
  30. package/block/header/header.ts +298 -0
  31. package/block/hgroup/hgroup.ts +506 -0
  32. package/block/hr/hr.ts +189 -0
  33. package/block/html/html.ts +106 -0
  34. package/block/iframe/iframe.ts +538 -0
  35. package/block/ins/ins.ts +538 -0
  36. package/block/legend/legend.ts +506 -0
  37. package/block/li/li.ts +602 -0
  38. package/block/main/main.ts +538 -0
  39. package/block/map/map.ts +522 -0
  40. package/block/menu/menu.ts +554 -0
  41. package/block/nav/nav.ts +554 -0
  42. package/block/noscript/noscript.ts +282 -0
  43. package/block/object/object.ts +618 -0
  44. package/block/ol/ol.ts +618 -0
  45. package/block/optgroup/optgroup.ts +522 -0
  46. package/block/option/option.ts +618 -0
  47. package/block/p/p.ts +506 -0
  48. package/block/picture/picture.ts +506 -0
  49. package/block/pre/pre.ts +506 -0
  50. package/block/section/section.ts +538 -0
  51. package/block/summary/summary.ts +570 -0
  52. package/block/table/table.ts +570 -0
  53. package/block/tbody/tbody.ts +506 -0
  54. package/block/td/td.ts +666 -0
  55. package/block/template/template.ts +506 -0
  56. package/block/tfoot/tfoot.ts +506 -0
  57. package/block/th/th.ts +682 -0
  58. package/block/thead/thead.ts +506 -0
  59. package/block/tr/tr.ts +682 -0
  60. package/block/ul/ul.ts +570 -0
  61. package/block/video/video.ts +666 -0
  62. package/index.ts +126 -0
  63. package/inline/a/a.ts +682 -0
  64. package/inline/abbr/abbr.ts +490 -0
  65. package/inline/address/address.ts +474 -0
  66. package/inline/b/b.ts +506 -0
  67. package/inline/bdi/bdi.ts +490 -0
  68. package/inline/bdo/bdo.ts +506 -0
  69. package/inline/button/button.ts +826 -0
  70. package/inline/cite/cite.ts +506 -0
  71. package/inline/code/code.ts +506 -0
  72. package/inline/data/data.ts +522 -0
  73. package/inline/dfn/dfn.ts +506 -0
  74. package/inline/em/em.ts +506 -0
  75. package/inline/i/i.ts +506 -0
  76. package/inline/img/img.ts +445 -0
  77. package/inline/input/input.ts +1197 -0
  78. package/inline/kbd/kbd.ts +506 -0
  79. package/inline/label/label.ts +538 -0
  80. package/inline/mark/mark.ts +506 -0
  81. package/inline/meter/meter.ts +554 -0
  82. package/inline/output/output.ts +426 -0
  83. package/inline/progress/progress.ts +490 -0
  84. package/inline/q/q.ts +522 -0
  85. package/inline/rp/rp.ts +506 -0
  86. package/inline/rt/rt.ts +506 -0
  87. package/inline/ruby/ruby.ts +506 -0
  88. package/inline/s/s.ts +506 -0
  89. package/inline/samp/samp.ts +506 -0
  90. package/inline/select/select.ts +810 -0
  91. package/inline/slot/slot.ts +522 -0
  92. package/inline/small/small.ts +506 -0
  93. package/inline/span/span.ts +506 -0
  94. package/inline/strong/strong.ts +506 -0
  95. package/inline/sub/sub.ts +506 -0
  96. package/inline/sup/sup.ts +506 -0
  97. package/inline/svg/svg.ts +618 -0
  98. package/inline/textarea/textarea.ts +874 -0
  99. package/inline/time/time.ts +522 -0
  100. package/inline/u/u.ts +506 -0
  101. package/inline/var/var.ts +506 -0
  102. package/package.json +32 -0
  103. package/tsconfig.json +26 -0
  104. package/void/area/area.ts +397 -0
  105. package/void/base/base.ts +61 -0
  106. package/void/br/br.ts +77 -0
  107. package/void/col/col.ts +77 -0
  108. package/void/head/head.ts +58 -0
  109. package/void/link/link.ts +253 -0
  110. package/void/meta/meta.ts +157 -0
  111. package/void/param/param.ts +93 -0
  112. package/void/script/script.ts +250 -0
  113. package/void/source/source.ts +125 -0
  114. package/void/style/style.ts +154 -0
  115. package/void/title/title.ts +58 -0
  116. package/void/track/track.ts +157 -0
  117. package/void/wbr/wbr.ts +61 -0
@@ -0,0 +1,506 @@
1
+ /**
2
+ * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
+ *
4
+ * @generated December 28, 2025 12:26:31
5
+ * @component Audio
6
+ * @description
7
+ */
8
+
9
+ export interface AudioProps {
10
+ /**
11
+ * Child content or elements
12
+ */
13
+ children?: string | HTMLElement | (string | HTMLElement)[];
14
+ /**
15
+ * specifies a shortcut key (or keys) to activate or focus an element
16
+ */
17
+ accesskey?: string | null | undefined;
18
+ /**
19
+ * Indicates whether assistive technologies should present the entire region as a whole when changes occur.
20
+ */
21
+ 'aria-atomic'?: 'false' | 'true' | boolean | null | undefined;
22
+ /**
23
+ * The aria-busy attribute is used to indicate whether an element is currently busy or not.
24
+ */
25
+ 'aria-busy'?: 'true' | 'false' | boolean | null | undefined;
26
+ /**
27
+ * Identifies the element(s) whose contents or presence are controlled by this element. Value is a list of IDs separated by a space
28
+ */
29
+ 'aria-controls'?: string | null | undefined;
30
+ /**
31
+ * Identifies the element(s) that describes the object. Value is a list of IDs separated by a space
32
+ */
33
+ 'aria-describedby'?: string | null | undefined;
34
+ /**
35
+ * References an element that provides additional details about the current element.
36
+ */
37
+ 'aria-details'?: string | null | undefined;
38
+ /**
39
+ * Defines keyboard shortcuts available for the element.
40
+ */
41
+ 'aria-keyshortcuts'?: string | null | undefined;
42
+ /**
43
+ * Identifies the element(s) that labels the current element. Value is a list of IDs separated by a space
44
+ */
45
+ 'aria-labelledby'?: string | null | undefined;
46
+ /**
47
+ * Defines how updates to the element should be announced to screen readers.
48
+ */
49
+ 'aria-live'?: 'off' | 'polite' | 'assertive' | null | undefined;
50
+ /**
51
+ * Indicates what content changes should be announced in a live region.
52
+ */
53
+ 'aria-relevant'?: 'additions' | 'removals' | 'text' | 'all' | 'additions text' | null | undefined;
54
+ /**
55
+ * Provides a human-readable custom role description for assistive technologies.
56
+ */
57
+ 'aria-roledescription'?: string | null | undefined;
58
+ /**
59
+ * When present, it specifies that the audio or video will automatically start playing as soon as it can do so without stopping.
60
+ */
61
+ autoplay?: boolean | null | undefined;
62
+ /**
63
+ * When present, it specifies that audio or video controls should be displayed (such as play, pause, and volume).
64
+ */
65
+ controls?: boolean | null | undefined;
66
+ /**
67
+ * Specifies how the element handles cross-origin requests.
68
+ */
69
+ crossorigin?: 'anonymous' | 'use-credentials' | null | undefined;
70
+ /**
71
+ * Indicates whether the element is draggable
72
+ */
73
+ draggable?: boolean | null | undefined;
74
+ /**
75
+ * Indicates whether the element is hidden
76
+ */
77
+ hidden?: boolean | null | undefined;
78
+ /**
79
+ * Specifies the primary language for the element's content
80
+ */
81
+ lang?: string | null | undefined;
82
+ /**
83
+ * When present, it specifies that the audio or video will start over again every time it is finished.
84
+ */
85
+ loop?: boolean | null | undefined;
86
+ /**
87
+ * When present, it specifies that the audio output of the video should be muted.
88
+ */
89
+ muted?: boolean | null | undefined;
90
+ /**
91
+ *
92
+ */
93
+ popover?: 'auto' | 'hint' | 'manual' | null | undefined;
94
+ /**
95
+ *
96
+ */
97
+ preload?: 'auto' | 'metadata' | 'none' | null | undefined;
98
+ /**
99
+ * Defines the semantic purpose of an element for assistive technologies.
100
+ */
101
+ role?: 'alert' | 'application' | 'article' | 'banner' | 'button' | 'checkbox' | 'complementary' | 'contentinfo' | 'dialog' | 'form' | 'grid' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listbox' | 'listitem' | 'main' | 'menu' | 'menubar' | 'menuitem' | 'navigation' | 'none' | 'presentation' | 'radio' | 'region' | 'search' | 'status' | 'tab' | 'tablist' | 'tabpanel' | 'textbox' | 'toolbar' | 'tooltip' | null | undefined;
102
+ /**
103
+ * Represents a slot in a shadow DOM
104
+ */
105
+ slot?: string | null | undefined;
106
+ /**
107
+ * Specifies the URL of the external resource to be embedded or referenced.
108
+ */
109
+ src?: string | null | undefined;
110
+ /**
111
+ * Represents the CSS inline style of the element
112
+ */
113
+ style?: string | null | undefined;
114
+ /**
115
+ * Represents a tab order of the element
116
+ */
117
+ tabindex?: number | null | undefined;
118
+ /**
119
+ * Represents a title or tooltip for the element
120
+ */
121
+ title?: string | null | undefined;
122
+ /**
123
+ * used to tell user agents whether the content should be translated.
124
+ */
125
+ translate?: 'yes' | 'no' | null | undefined;
126
+ }
127
+
128
+ /**
129
+ * Audio -
130
+ */
131
+ export class Audio {
132
+ private element: HTMLElement;
133
+
134
+ constructor(props: AudioProps = {}) {
135
+ this.element = document.createElement('audio');
136
+ this.applyProps(props);
137
+ }
138
+
139
+ private applyProps(props: AudioProps): void {
140
+ if (props.children !== undefined) {
141
+ this.setChildren(props.children);
142
+ }
143
+ if (props.accesskey !== undefined) {
144
+ this.element.setAttribute('accesskey', String(props.accesskey));
145
+ }
146
+ if (props['aria-atomic'] !== undefined) {
147
+ this.setAriaAtomic(props['aria-atomic']);
148
+ }
149
+ if (props['aria-busy'] !== undefined) {
150
+ this.setAriaBusy(props['aria-busy']);
151
+ }
152
+ if (props['aria-controls'] !== undefined) {
153
+ this.element.setAttribute('aria-controls', String(props['aria-controls']));
154
+ }
155
+ if (props['aria-describedby'] !== undefined) {
156
+ this.element.setAttribute('aria-describedby', String(props['aria-describedby']));
157
+ }
158
+ if (props['aria-details'] !== undefined) {
159
+ this.element.setAttribute('aria-details', String(props['aria-details']));
160
+ }
161
+ if (props['aria-keyshortcuts'] !== undefined) {
162
+ this.element.setAttribute('aria-keyshortcuts', String(props['aria-keyshortcuts']));
163
+ }
164
+ if (props['aria-labelledby'] !== undefined) {
165
+ this.element.setAttribute('aria-labelledby', String(props['aria-labelledby']));
166
+ }
167
+ if (props['aria-live'] !== undefined) {
168
+ this.setAriaLive(props['aria-live']);
169
+ }
170
+ if (props['aria-relevant'] !== undefined) {
171
+ this.setAriaRelevant(props['aria-relevant']);
172
+ }
173
+ if (props['aria-roledescription'] !== undefined) {
174
+ this.element.setAttribute('aria-roledescription', String(props['aria-roledescription']));
175
+ }
176
+ if (props.autoplay !== undefined) {
177
+ this.element.setAttribute('autoplay', String(props.autoplay));
178
+ }
179
+ if (props.controls !== undefined) {
180
+ this.element.setAttribute('controls', String(props.controls));
181
+ }
182
+ if (props.crossorigin !== undefined) {
183
+ this.setCrossorigin(props.crossorigin);
184
+ }
185
+ if (props.draggable !== undefined) {
186
+ this.element.setAttribute('draggable', String(props.draggable));
187
+ }
188
+ if (props.hidden !== undefined) {
189
+ this.element.setAttribute('hidden', String(props.hidden));
190
+ }
191
+ if (props.lang !== undefined) {
192
+ this.element.setAttribute('lang', String(props.lang));
193
+ }
194
+ if (props.loop !== undefined) {
195
+ this.element.setAttribute('loop', String(props.loop));
196
+ }
197
+ if (props.muted !== undefined) {
198
+ this.element.setAttribute('muted', String(props.muted));
199
+ }
200
+ if (props.popover !== undefined) {
201
+ this.setPopover(props.popover);
202
+ }
203
+ if (props.preload !== undefined) {
204
+ this.setPreload(props.preload);
205
+ }
206
+ if (props.role !== undefined) {
207
+ this.setRole(props.role);
208
+ }
209
+ if (props.slot !== undefined) {
210
+ this.element.setAttribute('slot', String(props.slot));
211
+ }
212
+ if (props.src !== undefined) {
213
+ this.element.setAttribute('src', String(props.src));
214
+ }
215
+ if (props.style !== undefined) {
216
+ this.element.setAttribute('style', String(props.style));
217
+ }
218
+ if (props.tabindex !== undefined) {
219
+ this.element.setAttribute('tabindex', String(props.tabindex));
220
+ }
221
+ if (props.title !== undefined) {
222
+ this.element.setAttribute('title', String(props.title));
223
+ }
224
+ if (props.translate !== undefined) {
225
+ this.setTranslate(props.translate);
226
+ }
227
+ }
228
+
229
+ setAccesskey(value: string | null | undefined): this {
230
+ if (value === null || value === undefined) {
231
+ this.element.removeAttribute('accesskey');
232
+ } else {
233
+ this.element.setAttribute('accesskey', String(value));
234
+ }
235
+ return this;
236
+ }
237
+
238
+ setAriaAtomic(value: 'false' | 'true' | boolean | null | undefined): this {
239
+ if (value === null || value === undefined) {
240
+ this.element.removeAttribute('aria-atomic');
241
+ } else {
242
+ this.element.setAttribute('aria-atomic', String(value));
243
+ }
244
+ return this;
245
+ }
246
+
247
+ setAriaBusy(value: 'true' | 'false' | boolean | null | undefined): this {
248
+ if (value === null || value === undefined) {
249
+ this.element.removeAttribute('aria-busy');
250
+ } else {
251
+ this.element.setAttribute('aria-busy', String(value));
252
+ }
253
+ return this;
254
+ }
255
+
256
+ setAriaControls(value: string | null | undefined): this {
257
+ if (value === null || value === undefined) {
258
+ this.element.removeAttribute('aria-controls');
259
+ } else {
260
+ this.element.setAttribute('aria-controls', String(value));
261
+ }
262
+ return this;
263
+ }
264
+
265
+ setAriaDescribedby(value: string | null | undefined): this {
266
+ if (value === null || value === undefined) {
267
+ this.element.removeAttribute('aria-describedby');
268
+ } else {
269
+ this.element.setAttribute('aria-describedby', String(value));
270
+ }
271
+ return this;
272
+ }
273
+
274
+ setAriaDetails(value: string | null | undefined): this {
275
+ if (value === null || value === undefined) {
276
+ this.element.removeAttribute('aria-details');
277
+ } else {
278
+ this.element.setAttribute('aria-details', String(value));
279
+ }
280
+ return this;
281
+ }
282
+
283
+ setAriaKeyshortcuts(value: string | null | undefined): this {
284
+ if (value === null || value === undefined) {
285
+ this.element.removeAttribute('aria-keyshortcuts');
286
+ } else {
287
+ this.element.setAttribute('aria-keyshortcuts', String(value));
288
+ }
289
+ return this;
290
+ }
291
+
292
+ setAriaLabelledby(value: string | null | undefined): this {
293
+ if (value === null || value === undefined) {
294
+ this.element.removeAttribute('aria-labelledby');
295
+ } else {
296
+ this.element.setAttribute('aria-labelledby', String(value));
297
+ }
298
+ return this;
299
+ }
300
+
301
+ setAriaLive(value: 'off' | 'polite' | 'assertive' | null | undefined): this {
302
+ if (value === null || value === undefined) {
303
+ this.element.removeAttribute('aria-live');
304
+ } else {
305
+ this.element.setAttribute('aria-live', String(value));
306
+ }
307
+ return this;
308
+ }
309
+
310
+ setAriaRelevant(value: 'additions' | 'removals' | 'text' | 'all' | 'additions text' | null | undefined): this {
311
+ if (value === null || value === undefined) {
312
+ this.element.removeAttribute('aria-relevant');
313
+ } else {
314
+ this.element.setAttribute('aria-relevant', String(value));
315
+ }
316
+ return this;
317
+ }
318
+
319
+ setAriaRoledescription(value: string | null | undefined): this {
320
+ if (value === null || value === undefined) {
321
+ this.element.removeAttribute('aria-roledescription');
322
+ } else {
323
+ this.element.setAttribute('aria-roledescription', String(value));
324
+ }
325
+ return this;
326
+ }
327
+
328
+ setAutoplay(value: boolean | null | undefined): this {
329
+ if (value === true) {
330
+ this.element.setAttribute('autoplay', '');
331
+ } else {
332
+ this.element.removeAttribute('autoplay');
333
+ }
334
+ return this;
335
+ }
336
+
337
+ setControls(value: boolean | null | undefined): this {
338
+ if (value === true) {
339
+ this.element.setAttribute('controls', '');
340
+ } else {
341
+ this.element.removeAttribute('controls');
342
+ }
343
+ return this;
344
+ }
345
+
346
+ setCrossorigin(value: 'anonymous' | 'use-credentials' | null | undefined): this {
347
+ if (value === null || value === undefined) {
348
+ this.element.removeAttribute('crossorigin');
349
+ } else {
350
+ this.element.setAttribute('crossorigin', String(value));
351
+ }
352
+ return this;
353
+ }
354
+
355
+ setDraggable(value: boolean | null | undefined): this {
356
+ if (value === true) {
357
+ this.element.setAttribute('draggable', '');
358
+ } else {
359
+ this.element.removeAttribute('draggable');
360
+ }
361
+ return this;
362
+ }
363
+
364
+ setHidden(value: boolean | null | undefined): this {
365
+ if (value === true) {
366
+ this.element.setAttribute('hidden', '');
367
+ } else {
368
+ this.element.removeAttribute('hidden');
369
+ }
370
+ return this;
371
+ }
372
+
373
+ setLang(value: string | null | undefined): this {
374
+ if (value === null || value === undefined) {
375
+ this.element.removeAttribute('lang');
376
+ } else {
377
+ this.element.setAttribute('lang', String(value));
378
+ }
379
+ return this;
380
+ }
381
+
382
+ setLoop(value: boolean | null | undefined): this {
383
+ if (value === true) {
384
+ this.element.setAttribute('loop', '');
385
+ } else {
386
+ this.element.removeAttribute('loop');
387
+ }
388
+ return this;
389
+ }
390
+
391
+ setMuted(value: boolean | null | undefined): this {
392
+ if (value === true) {
393
+ this.element.setAttribute('muted', '');
394
+ } else {
395
+ this.element.removeAttribute('muted');
396
+ }
397
+ return this;
398
+ }
399
+
400
+ setPopover(value: 'auto' | 'hint' | 'manual' | null | undefined): this {
401
+ if (value === null || value === undefined) {
402
+ this.element.removeAttribute('popover');
403
+ } else {
404
+ this.element.setAttribute('popover', String(value));
405
+ }
406
+ return this;
407
+ }
408
+
409
+ setPreload(value: 'auto' | 'metadata' | 'none' | null | undefined): this {
410
+ if (value === null || value === undefined) {
411
+ this.element.removeAttribute('preload');
412
+ } else {
413
+ this.element.setAttribute('preload', String(value));
414
+ }
415
+ return this;
416
+ }
417
+
418
+ setRole(value: 'alert' | 'application' | 'article' | 'banner' | 'button' | 'checkbox' | 'complementary' | 'contentinfo' | 'dialog' | 'form' | 'grid' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listbox' | 'listitem' | 'main' | 'menu' | 'menubar' | 'menuitem' | 'navigation' | 'none' | 'presentation' | 'radio' | 'region' | 'search' | 'status' | 'tab' | 'tablist' | 'tabpanel' | 'textbox' | 'toolbar' | 'tooltip' | null | undefined): this {
419
+ if (value === null || value === undefined) {
420
+ this.element.removeAttribute('role');
421
+ } else {
422
+ this.element.setAttribute('role', String(value));
423
+ }
424
+ return this;
425
+ }
426
+
427
+ setSlot(value: string | null | undefined): this {
428
+ if (value === null || value === undefined) {
429
+ this.element.removeAttribute('slot');
430
+ } else {
431
+ this.element.setAttribute('slot', String(value));
432
+ }
433
+ return this;
434
+ }
435
+
436
+ setSrc(value: string | null | undefined): this {
437
+ if (value === null || value === undefined) {
438
+ this.element.removeAttribute('src');
439
+ } else {
440
+ this.element.setAttribute('src', String(value));
441
+ }
442
+ return this;
443
+ }
444
+
445
+ setStyle(value: string | null | undefined): this {
446
+ if (value === null || value === undefined) {
447
+ this.element.removeAttribute('style');
448
+ } else {
449
+ this.element.setAttribute('style', String(value));
450
+ }
451
+ return this;
452
+ }
453
+
454
+ setTabindex(value: number | null | undefined): this {
455
+ if (value === null || value === undefined) {
456
+ this.element.removeAttribute('tabindex');
457
+ } else {
458
+ this.element.setAttribute('tabindex', String(value));
459
+ }
460
+ return this;
461
+ }
462
+
463
+ setTitle(value: string | null | undefined): this {
464
+ if (value === null || value === undefined) {
465
+ this.element.removeAttribute('title');
466
+ } else {
467
+ this.element.setAttribute('title', String(value));
468
+ }
469
+ return this;
470
+ }
471
+
472
+ setTranslate(value: 'yes' | 'no' | null | undefined): this {
473
+ if (value === null || value === undefined) {
474
+ this.element.removeAttribute('translate');
475
+ } else {
476
+ this.element.setAttribute('translate', String(value));
477
+ }
478
+ return this;
479
+ }
480
+
481
+ setChildren(children: string | HTMLElement | (string | HTMLElement)[]): this {
482
+ // Clear existing children
483
+ while (this.element.firstChild) {
484
+ this.element.removeChild(this.element.firstChild);
485
+ }
486
+
487
+ if (typeof children === 'string') {
488
+ this.element.textContent = children;
489
+ } else if (Array.isArray(children)) {
490
+ children.forEach(child => {
491
+ if (typeof child === 'string') {
492
+ this.element.appendChild(document.createTextNode(child));
493
+ } else {
494
+ this.element.appendChild(child);
495
+ }
496
+ });
497
+ } else {
498
+ this.element.appendChild(children);
499
+ }
500
+ return this;
501
+ }
502
+
503
+ getElement(): HTMLElement {
504
+ return this.element;
505
+ }
506
+ }