nanosplash 3.0.0 → 3.0.2

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 (77) hide show
  1. package/.github/workflows/ci.yml +50 -44
  2. package/.github/workflows/vitepress.yml +69 -0
  3. package/.prettierignore +1 -0
  4. package/.prettierrc +10 -10
  5. package/LICENSE +21 -0
  6. package/README.md +14 -41
  7. package/bun.lockb +0 -0
  8. package/coverage/DomUtilities.ts.html +568 -0
  9. package/coverage/Service.ts.html +718 -0
  10. package/coverage/Splash.ts.html +448 -0
  11. package/coverage/SplashQueue.ts.html +232 -0
  12. package/coverage/base.css +224 -0
  13. package/coverage/block-navigation.js +87 -0
  14. package/coverage/clover.xml +560 -0
  15. package/coverage/coverage-final.json +5 -0
  16. package/coverage/favicon.png +0 -0
  17. package/coverage/index.html +161 -0
  18. package/coverage/prettify.css +1 -0
  19. package/coverage/prettify.js +2 -0
  20. package/coverage/sort-arrow-sprite.png +0 -0
  21. package/coverage/sorter.js +196 -0
  22. package/dist/cjs/ns.cjs +2 -0
  23. package/dist/es/ns.js +342 -0
  24. package/dist/iife/ns.iife.js +2 -0
  25. package/docs/.vitepress/config.ts +75 -0
  26. package/docs/.vitepress/theme/css/style.css +157 -0
  27. package/docs/.vitepress/theme/index.ts +16 -0
  28. package/docs/.vitepress/theme/vue/Card.vue +31 -0
  29. package/docs/.vitepress/theme/vue/CardGrid.vue +17 -0
  30. package/docs/.vitepress/theme/vue/Exe.vue +86 -0
  31. package/docs/.vitepress/theme/vue/PlayGround.vue +50 -0
  32. package/docs/api/doc/hide.md +69 -0
  33. package/docs/api/doc/show.md +47 -0
  34. package/docs/api/start/features.md +17 -0
  35. package/docs/api/start/install.md +53 -0
  36. package/docs/api/start/playground.md +11 -0
  37. package/docs/api/start/usage.md +25 -0
  38. package/docs/index.md +30 -0
  39. package/package.json +86 -66
  40. package/src/style/ns.sass +95 -0
  41. package/src/ts/core/DomUtilities.ts +161 -0
  42. package/src/ts/core/Service.ts +211 -0
  43. package/src/ts/core/{Nanosplash/interfaces/NanosplashAPI.ts → ServiceInterface.ts} +18 -10
  44. package/src/ts/core/Splash.ts +121 -0
  45. package/src/ts/core/SplashInterface.ts +46 -0
  46. package/src/ts/core/SplashQueue.ts +49 -0
  47. package/src/ts/main.ts +9 -0
  48. package/src/ts/types/Types.ts +3 -0
  49. package/src/ts/types/global.d.ts +14 -0
  50. package/src/vite-env.d.ts +0 -8
  51. package/tests/DomUtilities.spec.ts +117 -0
  52. package/tests/Guid.spec.ts +5 -5
  53. package/tests/Service.spec.ts +198 -0
  54. package/tests/Splash.spec.ts +64 -0
  55. package/tests/TestUtilities.ts +48 -0
  56. package/tsconfig.json +21 -20
  57. package/vite.config.ts +14 -22
  58. package/dist/main.css +0 -1
  59. package/dist/ns.cjs.js +0 -1
  60. package/dist/ns.es.js +0 -330
  61. package/dist/ns.iife.js +0 -2
  62. package/index.html +0 -52
  63. package/src/main.ts +0 -8
  64. package/src/sass/ns.sass +0 -86
  65. package/src/ts/core/Nanosplash/Nanosplash.ts +0 -97
  66. package/src/ts/core/Nanosplash/interfaces/NanosplashInterface.ts +0 -42
  67. package/src/ts/core/Nanosplash/repositories/NanosplashRepository.ts +0 -178
  68. package/src/ts/core/Nanosplash/services/NanosplashService.ts +0 -222
  69. package/src/ts/types/Alias.d.ts +0 -1
  70. package/src/ts/types/Nanosplash.d.ts +0 -18
  71. package/src/ts/types/NanosplashService.d.ts +0 -1
  72. package/src/ts/util/Guid.ts +0 -13
  73. package/src/ts/util/Stack.ts +0 -73
  74. package/tests/Nanosplash.spec.ts +0 -64
  75. package/tests/NanosplashRepository.spec.ts +0 -91
  76. package/tests/NanosplashService.spec.ts +0 -119
  77. package/tests/Stack.spec.ts +0 -56
@@ -0,0 +1,448 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for Splash.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> Splash.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">99.17% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>120/121</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">94.11% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>16/17</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>11/11</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">99.17% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>120/121</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
188
+ <span class="cline-any cline-yes">1x</span>
189
+ <span class="cline-any cline-yes">1x</span>
190
+ <span class="cline-any cline-yes">1x</span>
191
+ <span class="cline-any cline-yes">1x</span>
192
+ <span class="cline-any cline-yes">1x</span>
193
+ <span class="cline-any cline-yes">1x</span>
194
+ <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-yes">1x</span>
196
+ <span class="cline-any cline-yes">1x</span>
197
+ <span class="cline-any cline-yes">1x</span>
198
+ <span class="cline-any cline-yes">22x</span>
199
+ <span class="cline-any cline-yes">22x</span>
200
+ <span class="cline-any cline-yes">22x</span>
201
+ <span class="cline-any cline-yes">22x</span>
202
+ <span class="cline-any cline-yes">22x</span>
203
+ <span class="cline-any cline-yes">22x</span>
204
+ <span class="cline-any cline-yes">22x</span>
205
+ <span class="cline-any cline-yes">22x</span>
206
+ <span class="cline-any cline-yes">22x</span>
207
+ <span class="cline-any cline-yes">22x</span>
208
+ <span class="cline-any cline-yes">22x</span>
209
+ <span class="cline-any cline-yes">22x</span>
210
+ <span class="cline-any cline-yes">22x</span>
211
+ <span class="cline-any cline-yes">22x</span>
212
+ <span class="cline-any cline-yes">22x</span>
213
+ <span class="cline-any cline-yes">22x</span>
214
+ <span class="cline-any cline-yes">22x</span>
215
+ <span class="cline-any cline-yes">22x</span>
216
+ <span class="cline-any cline-yes">22x</span>
217
+ <span class="cline-any cline-yes">22x</span>
218
+ <span class="cline-any cline-yes">22x</span>
219
+ <span class="cline-any cline-yes">22x</span>
220
+ <span class="cline-any cline-yes">22x</span>
221
+ <span class="cline-any cline-yes">22x</span>
222
+ <span class="cline-any cline-yes">22x</span>
223
+ <span class="cline-any cline-yes">22x</span>
224
+ <span class="cline-any cline-yes">22x</span>
225
+ <span class="cline-any cline-yes">22x</span>
226
+ <span class="cline-any cline-yes">22x</span>
227
+ <span class="cline-any cline-yes">22x</span>
228
+ <span class="cline-any cline-yes">22x</span>
229
+ <span class="cline-any cline-yes">22x</span>
230
+ <span class="cline-any cline-yes">682x</span>
231
+ <span class="cline-any cline-yes">682x</span>
232
+ <span class="cline-any cline-yes">682x</span>
233
+ <span class="cline-any cline-yes">22x</span>
234
+ <span class="cline-any cline-yes">22x</span>
235
+ <span class="cline-any cline-yes">22x</span>
236
+ <span class="cline-any cline-yes">22x</span>
237
+ <span class="cline-any cline-yes">22x</span>
238
+ <span class="cline-any cline-yes">22x</span>
239
+ <span class="cline-any cline-yes">22x</span>
240
+ <span class="cline-any cline-yes">22x</span>
241
+ <span class="cline-any cline-yes">22x</span>
242
+ <span class="cline-any cline-yes">22x</span>
243
+ <span class="cline-any cline-yes">22x</span>
244
+ <span class="cline-any cline-yes">22x</span>
245
+ <span class="cline-any cline-yes">22x</span>
246
+ <span class="cline-any cline-yes">22x</span>
247
+ <span class="cline-any cline-yes">22x</span>
248
+ <span class="cline-any cline-yes">22x</span>
249
+ <span class="cline-any cline-yes">51x</span>
250
+ <span class="cline-any cline-yes">51x</span>
251
+ <span class="cline-any cline-yes">22x</span>
252
+ <span class="cline-any cline-yes">22x</span>
253
+ <span class="cline-any cline-yes">22x</span>
254
+ <span class="cline-any cline-yes">22x</span>
255
+ <span class="cline-any cline-yes">22x</span>
256
+ <span class="cline-any cline-yes">117x</span>
257
+ <span class="cline-any cline-yes">117x</span>
258
+ <span class="cline-any cline-yes">22x</span>
259
+ <span class="cline-any cline-yes">22x</span>
260
+ <span class="cline-any cline-yes">22x</span>
261
+ <span class="cline-any cline-yes">22x</span>
262
+ <span class="cline-any cline-yes">22x</span>
263
+ <span class="cline-any cline-yes">80x</span>
264
+ <span class="cline-any cline-yes">80x</span>
265
+ <span class="cline-any cline-yes">80x</span>
266
+ <span class="cline-any cline-no">&nbsp;</span>
267
+ <span class="cline-any cline-yes">80x</span>
268
+ <span class="cline-any cline-yes">80x</span>
269
+ <span class="cline-any cline-yes">22x</span>
270
+ <span class="cline-any cline-yes">22x</span>
271
+ <span class="cline-any cline-yes">22x</span>
272
+ <span class="cline-any cline-yes">22x</span>
273
+ <span class="cline-any cline-yes">22x</span>
274
+ <span class="cline-any cline-yes">33x</span>
275
+ <span class="cline-any cline-yes">33x</span>
276
+ <span class="cline-any cline-yes">33x</span>
277
+ <span class="cline-any cline-yes">33x</span>
278
+ <span class="cline-any cline-yes">22x</span>
279
+ <span class="cline-any cline-yes">22x</span>
280
+ <span class="cline-any cline-yes">22x</span>
281
+ <span class="cline-any cline-yes">22x</span>
282
+ <span class="cline-any cline-yes">22x</span>
283
+ <span class="cline-any cline-yes">16x</span>
284
+ <span class="cline-any cline-yes">16x</span>
285
+ <span class="cline-any cline-yes">16x</span>
286
+ <span class="cline-any cline-yes">22x</span>
287
+ <span class="cline-any cline-yes">22x</span>
288
+ <span class="cline-any cline-yes">22x</span>
289
+ <span class="cline-any cline-yes">22x</span>
290
+ <span class="cline-any cline-yes">22x</span>
291
+ <span class="cline-any cline-yes">20x</span>
292
+ <span class="cline-any cline-yes">20x</span>
293
+ <span class="cline-any cline-yes">20x</span>
294
+ <span class="cline-any cline-yes">22x</span>
295
+ <span class="cline-any cline-yes">22x</span>
296
+ <span class="cline-any cline-yes">22x</span>
297
+ <span class="cline-any cline-yes">22x</span>
298
+ <span class="cline-any cline-yes">22x</span>
299
+ <span class="cline-any cline-yes">12x</span>
300
+ <span class="cline-any cline-yes">12x</span>
301
+ <span class="cline-any cline-yes">12x</span>
302
+ <span class="cline-any cline-yes">12x</span>
303
+ <span class="cline-any cline-yes">12x</span>
304
+ <span class="cline-any cline-yes">12x</span>
305
+ <span class="cline-any cline-yes">12x</span>
306
+ <span class="cline-any cline-yes">12x</span>
307
+ <span class="cline-any cline-yes">22x</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { GUIDString } from '../types/Types'
309
+ import { createElement, showElement, hideElement } from './DomUtilities'
310
+ import { SplashInterface } from './SplashInterface'
311
+ &nbsp;
312
+ /**
313
+ * # Splash
314
+ * Small splash screen that can be used to indicate that a process
315
+ * is running.
316
+ * @author Isak K. Hauge &lt;isakhauge@icloud.com&gt;
317
+ */
318
+ export class Splash implements SplashInterface {
319
+ /**
320
+ * # CSS Class Name
321
+ * The main CSS class name of the root element of a Nanosplash component.
322
+ */
323
+ public static readonly NSClass = 'ns'
324
+ &nbsp;
325
+ /**
326
+ * # Host CSS Class Name
327
+ * The CSS class name of the host element of a Nanosplash component.
328
+ * The host element is the element that the Nanosplash is attached to.
329
+ */
330
+ public static readonly NSHostClass = 'nsh'
331
+ &nbsp;
332
+ /**
333
+ * # ID
334
+ * Each Nanosplash instance is given a unique GUID.
335
+ */
336
+ private id: GUIDString | null
337
+ &nbsp;
338
+ /**
339
+ * # Element
340
+ * The root element of the Nanosplash component.
341
+ */
342
+ private element: HTMLDivElement | null
343
+ &nbsp;
344
+ /**
345
+ * # Generate GUID
346
+ * @returns {GUIDString} A GUID string.
347
+ * @private
348
+ */
349
+ private static generateGUID(): GUIDString {
350
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c =&gt; {
351
+ const r = (Math.random() * 16) | 0
352
+ const v = c === 'x' ? r : (r &amp; 0x3) | 0x8
353
+ return v.toString(16)
354
+ })
355
+ }
356
+ &nbsp;
357
+ /**
358
+ * # Constructor
359
+ * Creates a new Nanosplash instance.
360
+ */
361
+ public constructor() {
362
+ this.element = createElement()
363
+ this.element.id = this.id = Splash.generateGUID()
364
+ }
365
+ &nbsp;
366
+ /**
367
+ * @inheritdoc
368
+ */
369
+ public getId(): GUIDString | null {
370
+ return this.id
371
+ }
372
+ &nbsp;
373
+ /**
374
+ * @inheritdoc
375
+ */
376
+ public getElement(): HTMLDivElement | null {
377
+ return &lt;HTMLDivElement&gt;this.element
378
+ }
379
+ &nbsp;
380
+ /**
381
+ * @inheritdoc
382
+ */
383
+ public getTextElement(): HTMLDivElement {
384
+ return (
385
+ &lt;HTMLDivElement&gt;(
386
+ this.getElement()?.firstElementChild?.<span class="branch-0 cbranch-no" title="branch not covered" >firstElementChild</span>
387
+ <span class="cstat-no" title="statement not covered" > ) ?? null</span>
388
+ )
389
+ }
390
+ &nbsp;
391
+ /**
392
+ * @inheritdoc
393
+ */
394
+ public setText(text: string): Splash {
395
+ this.getTextElement().innerText = text
396
+ text.length &gt; 0 ? this.showText() : this.hideText()
397
+ return this
398
+ }
399
+ &nbsp;
400
+ /**
401
+ * @inheritdoc
402
+ */
403
+ public showText(): Splash {
404
+ showElement(this.getTextElement())
405
+ return this
406
+ }
407
+ &nbsp;
408
+ /**
409
+ * @inheritdoc
410
+ */
411
+ public hideText(): Splash {
412
+ hideElement(this.getTextElement())
413
+ return this
414
+ }
415
+ &nbsp;
416
+ /**
417
+ * @inheritdoc
418
+ */
419
+ public delete(): boolean {
420
+ this.id = null
421
+ if (this.element !== null) {
422
+ this.element.innerHTML = ''
423
+ this.element.remove()
424
+ this.element = null
425
+ }
426
+ return this.element === null
427
+ }
428
+ }
429
+ &nbsp;</pre></td></tr></table></pre>
430
+
431
+ <div class='push'></div><!-- for sticky footer -->
432
+ </div><!-- /wrapper -->
433
+ <div class='footer quiet pad2 space-top1 center small'>
434
+ Code coverage generated by
435
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
436
+ at 2023-10-19T21:38:28.926Z
437
+ </div>
438
+ <script src="prettify.js"></script>
439
+ <script>
440
+ window.onload = function () {
441
+ prettyPrint();
442
+ };
443
+ </script>
444
+ <script src="sorter.js"></script>
445
+ <script src="block-navigation.js"></script>
446
+ </body>
447
+ </html>
448
+