@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,250 @@
1
+ /**
2
+ * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
+ *
4
+ * @generated December 28, 2025 12:26:31
5
+ * @component Script
6
+ * @description
7
+ */
8
+
9
+ export interface ScriptProps {
10
+ /**
11
+ * Child content or elements
12
+ */
13
+ children?: string | HTMLElement | (string | HTMLElement)[];
14
+ /**
15
+ * When present, it specifies that the script will be executed asynchronously as soon as it is available.
16
+ */
17
+ async?: boolean | null | undefined;
18
+ /**
19
+ * Specifies the character encoding for the resource.
20
+ */
21
+ charset?: string | null | undefined;
22
+ /**
23
+ *
24
+ */
25
+ crossorigin?: 'anonymous' | 'use-credentials' | null | undefined;
26
+ /**
27
+ * When present, it specifies that the script should be executed after the page has been parsed.
28
+ */
29
+ defer?: boolean | null | undefined;
30
+ /**
31
+ * Indicates whether the element is hidden
32
+ */
33
+ hidden?: boolean | null | undefined;
34
+ /**
35
+ * Specifies the integrity value of a resource.
36
+ */
37
+ integrity?: string | null | undefined;
38
+ /**
39
+ * Specifies the primary language for the element's content
40
+ */
41
+ lang?: string | null | undefined;
42
+ /**
43
+ * Specifies a cryptographic nonce that can be used in Content Security Policy (CSP) checks.
44
+ */
45
+ nonce?: string | null | undefined;
46
+ /**
47
+ * Specifies the referrer policy for fetches initiated by the element.
48
+ */
49
+ referrerpolicy?: 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | null | undefined;
50
+ /**
51
+ * Specifies the URL of the external resource to be embedded or referenced.
52
+ */
53
+ src?: string | null | undefined;
54
+ /**
55
+ * Represents a title or tooltip for the element
56
+ */
57
+ title?: string | null | undefined;
58
+ /**
59
+ * Specifies the media type of the linked resource.
60
+ */
61
+ type?: 'text/javascript' | 'module' | null | undefined;
62
+ }
63
+
64
+ /**
65
+ * Script -
66
+ */
67
+ export class Script {
68
+ private element: HTMLElement;
69
+
70
+ constructor(props: ScriptProps = {}) {
71
+ this.element = document.createElement('script');
72
+ this.applyProps(props);
73
+ }
74
+
75
+ private applyProps(props: ScriptProps): void {
76
+ if (props.children !== undefined) {
77
+ this.setChildren(props.children);
78
+ }
79
+ if (props.async !== undefined) {
80
+ this.element.setAttribute('async', String(props.async));
81
+ }
82
+ if (props.charset !== undefined) {
83
+ this.element.setAttribute('charset', String(props.charset));
84
+ }
85
+ if (props.crossorigin !== undefined) {
86
+ this.setCrossorigin(props.crossorigin);
87
+ }
88
+ if (props.defer !== undefined) {
89
+ this.element.setAttribute('defer', String(props.defer));
90
+ }
91
+ if (props.hidden !== undefined) {
92
+ this.element.setAttribute('hidden', String(props.hidden));
93
+ }
94
+ if (props.integrity !== undefined) {
95
+ this.element.setAttribute('integrity', String(props.integrity));
96
+ }
97
+ if (props.lang !== undefined) {
98
+ this.element.setAttribute('lang', String(props.lang));
99
+ }
100
+ if (props.nonce !== undefined) {
101
+ this.element.setAttribute('nonce', String(props.nonce));
102
+ }
103
+ if (props.referrerpolicy !== undefined) {
104
+ this.setReferrerpolicy(props.referrerpolicy);
105
+ }
106
+ if (props.src !== undefined) {
107
+ this.element.setAttribute('src', String(props.src));
108
+ }
109
+ if (props.title !== undefined) {
110
+ this.element.setAttribute('title', String(props.title));
111
+ }
112
+ if (props.type !== undefined) {
113
+ this.setType(props.type);
114
+ }
115
+ }
116
+
117
+ setAsync(value: boolean | null | undefined): this {
118
+ if (value === true) {
119
+ this.element.setAttribute('async', '');
120
+ } else {
121
+ this.element.removeAttribute('async');
122
+ }
123
+ return this;
124
+ }
125
+
126
+ setCharset(value: string | null | undefined): this {
127
+ if (value === null || value === undefined) {
128
+ this.element.removeAttribute('charset');
129
+ } else {
130
+ this.element.setAttribute('charset', String(value));
131
+ }
132
+ return this;
133
+ }
134
+
135
+ setCrossorigin(value: 'anonymous' | 'use-credentials' | null | undefined): this {
136
+ if (value === null || value === undefined) {
137
+ this.element.removeAttribute('crossorigin');
138
+ } else {
139
+ this.element.setAttribute('crossorigin', String(value));
140
+ }
141
+ return this;
142
+ }
143
+
144
+ setDefer(value: boolean | null | undefined): this {
145
+ if (value === true) {
146
+ this.element.setAttribute('defer', '');
147
+ } else {
148
+ this.element.removeAttribute('defer');
149
+ }
150
+ return this;
151
+ }
152
+
153
+ setHidden(value: boolean | null | undefined): this {
154
+ if (value === true) {
155
+ this.element.setAttribute('hidden', '');
156
+ } else {
157
+ this.element.removeAttribute('hidden');
158
+ }
159
+ return this;
160
+ }
161
+
162
+ setIntegrity(value: string | null | undefined): this {
163
+ if (value === null || value === undefined) {
164
+ this.element.removeAttribute('integrity');
165
+ } else {
166
+ this.element.setAttribute('integrity', String(value));
167
+ }
168
+ return this;
169
+ }
170
+
171
+ setLang(value: string | null | undefined): this {
172
+ if (value === null || value === undefined) {
173
+ this.element.removeAttribute('lang');
174
+ } else {
175
+ this.element.setAttribute('lang', String(value));
176
+ }
177
+ return this;
178
+ }
179
+
180
+ setNonce(value: string | null | undefined): this {
181
+ if (value === null || value === undefined) {
182
+ this.element.removeAttribute('nonce');
183
+ } else {
184
+ this.element.setAttribute('nonce', String(value));
185
+ }
186
+ return this;
187
+ }
188
+
189
+ setReferrerpolicy(value: 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' | null | undefined): this {
190
+ if (value === null || value === undefined) {
191
+ this.element.removeAttribute('referrerpolicy');
192
+ } else {
193
+ this.element.setAttribute('referrerpolicy', String(value));
194
+ }
195
+ return this;
196
+ }
197
+
198
+ setSrc(value: string | null | undefined): this {
199
+ if (value === null || value === undefined) {
200
+ this.element.removeAttribute('src');
201
+ } else {
202
+ this.element.setAttribute('src', String(value));
203
+ }
204
+ return this;
205
+ }
206
+
207
+ setTitle(value: string | null | undefined): this {
208
+ if (value === null || value === undefined) {
209
+ this.element.removeAttribute('title');
210
+ } else {
211
+ this.element.setAttribute('title', String(value));
212
+ }
213
+ return this;
214
+ }
215
+
216
+ setType(value: 'text/javascript' | 'module' | null | undefined): this {
217
+ if (value === null || value === undefined) {
218
+ this.element.removeAttribute('type');
219
+ } else {
220
+ this.element.setAttribute('type', String(value));
221
+ }
222
+ return this;
223
+ }
224
+
225
+ setChildren(children: string | HTMLElement | (string | HTMLElement)[]): this {
226
+ // Clear existing children
227
+ while (this.element.firstChild) {
228
+ this.element.removeChild(this.element.firstChild);
229
+ }
230
+
231
+ if (typeof children === 'string') {
232
+ this.element.textContent = children;
233
+ } else if (Array.isArray(children)) {
234
+ children.forEach(child => {
235
+ if (typeof child === 'string') {
236
+ this.element.appendChild(document.createTextNode(child));
237
+ } else {
238
+ this.element.appendChild(child);
239
+ }
240
+ });
241
+ } else {
242
+ this.element.appendChild(children);
243
+ }
244
+ return this;
245
+ }
246
+
247
+ getElement(): HTMLElement {
248
+ return this.element;
249
+ }
250
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
+ *
4
+ * @generated December 28, 2025 12:26:31
5
+ * @component Source
6
+ * @description
7
+ */
8
+
9
+ export interface SourceProps {
10
+ /**
11
+ * Indicates whether the element is hidden
12
+ */
13
+ hidden?: boolean | null | undefined;
14
+ /**
15
+ * Specifies the media type for which the linked resource or style sheet is intended.
16
+ */
17
+ media?: string | null | undefined;
18
+ /**
19
+ * Specifies the sizes of the images or icons for different display/window sizes.
20
+ */
21
+ sizes?: string | null | undefined;
22
+ /**
23
+ * Specifies the URL of the external resource to be embedded or referenced.
24
+ */
25
+ src?: string | null | undefined;
26
+ /**
27
+ * Specifies a list of possible image sources for the browser to use.
28
+ */
29
+ srcset?: string | null | undefined;
30
+ /**
31
+ * Specifies the media type of the linked resource.
32
+ */
33
+ type?: string | null | undefined;
34
+ }
35
+
36
+ /**
37
+ * Source -
38
+ */
39
+ export class Source {
40
+ private element: HTMLElement;
41
+
42
+ constructor(props: SourceProps = {}) {
43
+ this.element = document.createElement('source');
44
+ this.applyProps(props);
45
+ }
46
+
47
+ private applyProps(props: SourceProps): void {
48
+ if (props.hidden !== undefined) {
49
+ this.element.setAttribute('hidden', String(props.hidden));
50
+ }
51
+ if (props.media !== undefined) {
52
+ this.element.setAttribute('media', String(props.media));
53
+ }
54
+ if (props.sizes !== undefined) {
55
+ this.element.setAttribute('sizes', String(props.sizes));
56
+ }
57
+ if (props.src !== undefined) {
58
+ this.element.setAttribute('src', String(props.src));
59
+ }
60
+ if (props.srcset !== undefined) {
61
+ this.element.setAttribute('srcset', String(props.srcset));
62
+ }
63
+ if (props.type !== undefined) {
64
+ this.element.setAttribute('type', String(props.type));
65
+ }
66
+ }
67
+
68
+ setHidden(value: boolean | null | undefined): this {
69
+ if (value === true) {
70
+ this.element.setAttribute('hidden', '');
71
+ } else {
72
+ this.element.removeAttribute('hidden');
73
+ }
74
+ return this;
75
+ }
76
+
77
+ setMedia(value: string | null | undefined): this {
78
+ if (value === null || value === undefined) {
79
+ this.element.removeAttribute('media');
80
+ } else {
81
+ this.element.setAttribute('media', String(value));
82
+ }
83
+ return this;
84
+ }
85
+
86
+ setSizes(value: string | null | undefined): this {
87
+ if (value === null || value === undefined) {
88
+ this.element.removeAttribute('sizes');
89
+ } else {
90
+ this.element.setAttribute('sizes', String(value));
91
+ }
92
+ return this;
93
+ }
94
+
95
+ setSrc(value: string | null | undefined): this {
96
+ if (value === null || value === undefined) {
97
+ this.element.removeAttribute('src');
98
+ } else {
99
+ this.element.setAttribute('src', String(value));
100
+ }
101
+ return this;
102
+ }
103
+
104
+ setSrcset(value: string | null | undefined): this {
105
+ if (value === null || value === undefined) {
106
+ this.element.removeAttribute('srcset');
107
+ } else {
108
+ this.element.setAttribute('srcset', String(value));
109
+ }
110
+ return this;
111
+ }
112
+
113
+ setType(value: string | null | undefined): this {
114
+ if (value === null || value === undefined) {
115
+ this.element.removeAttribute('type');
116
+ } else {
117
+ this.element.setAttribute('type', String(value));
118
+ }
119
+ return this;
120
+ }
121
+
122
+ getElement(): HTMLElement {
123
+ return this.element;
124
+ }
125
+ }
@@ -0,0 +1,154 @@
1
+ /**
2
+ * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
+ *
4
+ * @generated December 28, 2025 12:26:31
5
+ * @component Style
6
+ * @description
7
+ */
8
+
9
+ export interface StyleProps {
10
+ /**
11
+ * Child content or elements
12
+ */
13
+ children?: string | HTMLElement | (string | HTMLElement)[];
14
+ /**
15
+ * Represents the text direction of the element
16
+ */
17
+ dir?: 'ltr' | 'rtl' | 'auto' | null | undefined;
18
+ /**
19
+ * Specifies the primary language for the element's content
20
+ */
21
+ lang?: string | null | undefined;
22
+ /**
23
+ * Specifies the media type for which the linked resource or style sheet is intended.
24
+ */
25
+ media?: string | null | undefined;
26
+ /**
27
+ * Specifies a cryptographic nonce that can be used in Content Security Policy (CSP) checks.
28
+ */
29
+ nonce?: string | null | undefined;
30
+ /**
31
+ * Represents a title or tooltip for the element
32
+ */
33
+ title?: string | null | undefined;
34
+ /**
35
+ * Specifies the media type of the inline styles.
36
+ */
37
+ type?: 'text/css' | null | undefined;
38
+ }
39
+
40
+ /**
41
+ * Style -
42
+ */
43
+ export class Style {
44
+ private element: HTMLElement;
45
+
46
+ constructor(props: StyleProps = {}) {
47
+ this.element = document.createElement('style');
48
+ this.applyProps(props);
49
+ }
50
+
51
+ private applyProps(props: StyleProps): void {
52
+ if (props.children !== undefined) {
53
+ this.setChildren(props.children);
54
+ }
55
+ if (props.dir !== undefined) {
56
+ this.setDir(props.dir);
57
+ }
58
+ if (props.lang !== undefined) {
59
+ this.element.setAttribute('lang', String(props.lang));
60
+ }
61
+ if (props.media !== undefined) {
62
+ this.element.setAttribute('media', String(props.media));
63
+ }
64
+ if (props.nonce !== undefined) {
65
+ this.element.setAttribute('nonce', String(props.nonce));
66
+ }
67
+ if (props.title !== undefined) {
68
+ this.element.setAttribute('title', String(props.title));
69
+ }
70
+ if (props.type !== undefined) {
71
+ this.setType(props.type);
72
+ }
73
+ }
74
+
75
+ setDir(value: 'ltr' | 'rtl' | 'auto' | null | undefined): this {
76
+ if (value === null || value === undefined) {
77
+ this.element.removeAttribute('dir');
78
+ } else {
79
+ this.element.setAttribute('dir', String(value));
80
+ }
81
+ return this;
82
+ }
83
+
84
+ setLang(value: string | null | undefined): this {
85
+ if (value === null || value === undefined) {
86
+ this.element.removeAttribute('lang');
87
+ } else {
88
+ this.element.setAttribute('lang', String(value));
89
+ }
90
+ return this;
91
+ }
92
+
93
+ setMedia(value: string | null | undefined): this {
94
+ if (value === null || value === undefined) {
95
+ this.element.removeAttribute('media');
96
+ } else {
97
+ this.element.setAttribute('media', String(value));
98
+ }
99
+ return this;
100
+ }
101
+
102
+ setNonce(value: string | null | undefined): this {
103
+ if (value === null || value === undefined) {
104
+ this.element.removeAttribute('nonce');
105
+ } else {
106
+ this.element.setAttribute('nonce', String(value));
107
+ }
108
+ return this;
109
+ }
110
+
111
+ setTitle(value: string | null | undefined): this {
112
+ if (value === null || value === undefined) {
113
+ this.element.removeAttribute('title');
114
+ } else {
115
+ this.element.setAttribute('title', String(value));
116
+ }
117
+ return this;
118
+ }
119
+
120
+ setType(value: 'text/css' | null | undefined): this {
121
+ if (value === null || value === undefined) {
122
+ this.element.removeAttribute('type');
123
+ } else {
124
+ this.element.setAttribute('type', String(value));
125
+ }
126
+ return this;
127
+ }
128
+
129
+ setChildren(children: string | HTMLElement | (string | HTMLElement)[]): this {
130
+ // Clear existing children
131
+ while (this.element.firstChild) {
132
+ this.element.removeChild(this.element.firstChild);
133
+ }
134
+
135
+ if (typeof children === 'string') {
136
+ this.element.textContent = children;
137
+ } else if (Array.isArray(children)) {
138
+ children.forEach(child => {
139
+ if (typeof child === 'string') {
140
+ this.element.appendChild(document.createTextNode(child));
141
+ } else {
142
+ this.element.appendChild(child);
143
+ }
144
+ });
145
+ } else {
146
+ this.element.appendChild(children);
147
+ }
148
+ return this;
149
+ }
150
+
151
+ getElement(): HTMLElement {
152
+ return this.element;
153
+ }
154
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
+ *
4
+ * @generated December 28, 2025 12:26:31
5
+ * @component Title
6
+ * @description
7
+ */
8
+
9
+ export interface TitleProps {
10
+ /**
11
+ * Child content or elements
12
+ */
13
+ children?: string | HTMLElement | (string | HTMLElement)[];
14
+ }
15
+
16
+ /**
17
+ * Title -
18
+ */
19
+ export class Title {
20
+ private element: HTMLElement;
21
+
22
+ constructor(props: TitleProps = {}) {
23
+ this.element = document.createElement('title');
24
+ this.applyProps(props);
25
+ }
26
+
27
+ private applyProps(props: TitleProps): void {
28
+ if (props.children !== undefined) {
29
+ this.setChildren(props.children);
30
+ }
31
+ }
32
+
33
+ setChildren(children: string | HTMLElement | (string | HTMLElement)[]): this {
34
+ // Clear existing children
35
+ while (this.element.firstChild) {
36
+ this.element.removeChild(this.element.firstChild);
37
+ }
38
+
39
+ if (typeof children === 'string') {
40
+ this.element.textContent = children;
41
+ } else if (Array.isArray(children)) {
42
+ children.forEach(child => {
43
+ if (typeof child === 'string') {
44
+ this.element.appendChild(document.createTextNode(child));
45
+ } else {
46
+ this.element.appendChild(child);
47
+ }
48
+ });
49
+ } else {
50
+ this.element.appendChild(children);
51
+ }
52
+ return this;
53
+ }
54
+
55
+ getElement(): HTMLElement {
56
+ return this.element;
57
+ }
58
+ }