@epa-wg/custom-element-dist 0.0.29 → 0.0.32

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 (175) hide show
  1. package/.idea/custom-element-dist.iml +11 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +25 -0
  3. package/.idea/misc.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/vcs.xml +6 -0
  6. package/.storybook/main.ts +21 -19
  7. package/.storybook/preview.ts +25 -25
  8. package/README.md +4 -4
  9. package/coverage/coverage-final.json +21 -21
  10. package/coverage/index.html +26 -26
  11. package/coverage/src/custom-element/coverage.svg +1 -1
  12. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  13. package/coverage/src/custom-element/custom-element.js.html +543 -441
  14. package/coverage/src/custom-element/http-request.js.html +12 -12
  15. package/coverage/src/custom-element/index.html +18 -18
  16. package/coverage/src/custom-element/local-storage.js.html +52 -52
  17. package/coverage/src/custom-element/location-element.js.html +4 -4
  18. package/coverage/src/custom-element/module-url.js.html +1 -1
  19. package/coverage/src/index.html +1 -1
  20. package/coverage/src/mocks/handlers.ts.html +1 -1
  21. package/coverage/src/mocks/index.html +1 -1
  22. package/coverage/src/stories/attributes.test.stories.ts/coverage.svg +1 -1
  23. package/coverage/src/stories/attributes.test.stories.ts.html +335 -35
  24. package/coverage/src/stories/coverage.svg +1 -1
  25. package/coverage/src/stories/css.test.stories.ts.html +1 -1
  26. package/coverage/src/stories/dom-merge.test.stories.ts.html +1 -1
  27. package/coverage/src/stories/external-template.test.stories.ts.html +2 -2
  28. package/coverage/src/stories/form.test.stories.ts.html +1 -1
  29. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  30. package/coverage/src/stories/index.html +22 -22
  31. package/coverage/src/stories/local-storage.test.stories.ts.html +17 -17
  32. package/coverage/src/stories/location-element.test.stories.ts.html +3 -6
  33. package/coverage/src/stories/module-url.test.stories.ts.html +1 -1
  34. package/coverage/src/stories/set-url.test.stories.ts.html +1 -1
  35. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +1 -1
  36. package/coverage/src/stories/slice-events.test.stories.ts.html +284 -23
  37. package/coverage/src/stories/slots.test.stories.ts.html +1 -1
  38. package/coverage/src/stories/testStoryBook.ts.html +12 -12
  39. package/coverage/src/stories/version-select.test.stories.ts.html +3 -3
  40. package/coverage/src/sum.ts.html +1 -1
  41. package/dist/custom-element-D2wf_rqP.js +576 -0
  42. package/dist/custom-element-Dtzhbjkc.cjs +97 -0
  43. package/dist/custom-element-bundle.cjs +1 -1
  44. package/dist/custom-element-bundle.js +30 -28
  45. package/dist/demo/a.html +51 -38
  46. package/dist/demo/a.svg +26 -26
  47. package/dist/demo/data-slices.html +37 -0
  48. package/dist/demo/external-template.html +1 -0
  49. package/dist/demo/form.html +42 -0
  50. package/dist/demo/hex-grid-dce.html +1 -1
  51. package/dist/demo/hex-grid.html +1 -1
  52. package/dist/demo/parameters.html +20 -1
  53. package/dist/demo/s.xml +6 -12
  54. package/dist/demo/s.xslt +64 -15
  55. package/dist/demo/ss.html +4 -23
  56. package/package.json +13 -13
  57. package/public/demo/a.html +51 -38
  58. package/public/demo/a.svg +26 -26
  59. package/public/demo/data-slices.html +37 -0
  60. package/public/demo/external-template.html +1 -0
  61. package/public/demo/form.html +42 -0
  62. package/public/demo/hex-grid-dce.html +1 -1
  63. package/public/demo/hex-grid.html +1 -1
  64. package/public/demo/parameters.html +20 -1
  65. package/public/demo/s.xml +6 -12
  66. package/public/demo/s.xslt +64 -15
  67. package/public/demo/ss.html +4 -23
  68. package/src/custom-element/custom-element.js +76 -42
  69. package/src/custom-element/demo/a.html +51 -38
  70. package/src/custom-element/demo/a.svg +26 -26
  71. package/src/custom-element/demo/data-slices.html +37 -0
  72. package/src/custom-element/demo/external-template.html +1 -0
  73. package/src/custom-element/demo/form.html +42 -0
  74. package/src/custom-element/demo/hex-grid-dce.html +1 -1
  75. package/src/custom-element/demo/hex-grid.html +1 -1
  76. package/src/custom-element/demo/parameters.html +20 -1
  77. package/src/custom-element/demo/s.xml +6 -12
  78. package/src/custom-element/demo/s.xslt +64 -15
  79. package/src/custom-element/demo/ss.html +4 -23
  80. package/src/custom-element/ide/web-types-dce.json +1 -1
  81. package/src/custom-element/ide/web-types-xsl.json +1 -1
  82. package/src/material/angular.css +987 -987
  83. package/src/material/components/autocomplete.html +239 -240
  84. package/src/material/components/dropdown.html +110 -46
  85. package/src/material/components/icon-link.html +160 -160
  86. package/src/material/components/input.html +363 -0
  87. package/src/material/components/menu.html +234 -234
  88. package/src/material/components.html +121 -120
  89. package/src/material/demo.css +36 -31
  90. package/src/material/index.html +110 -110
  91. package/src/material/material.css +356 -356
  92. package/src/material/theme/README.md +17 -17
  93. package/src/material/theme/semantic.css +113 -112
  94. package/src/mocks/versions.mock.ts +8 -8
  95. package/src/stories/attributes.test.stories.ts +123 -23
  96. package/src/stories/external-template.test.stories.ts +1 -1
  97. package/src/stories/location-element.test.stories.ts +1 -2
  98. package/src/stories/slice-events.test.stories.ts +87 -0
  99. package/storybook-static/assets/Color-F6OSRLHC-BU3iy8jH.js +1 -0
  100. package/storybook-static/assets/{Configure-DOhzHFEs.js → Configure-DN6ifayP.js} +1 -1
  101. package/storybook-static/assets/{DocsRenderer-CFRXHY34-BSJkbsd6.js → DocsRenderer-CFRXHY34-BaVEufDj.js} +2 -2
  102. package/storybook-static/assets/attributes.test.stories-D1X6EBrd.js +278 -0
  103. package/storybook-static/assets/{css.test.stories-pgbBc17d.js → css.test.stories-Cp_g2hE1.js} +1 -1
  104. package/storybook-static/assets/custom-element-uuAtIYWS.js +97 -0
  105. package/storybook-static/assets/{dom-merge.test.stories-CXcYP_-J.js → dom-merge.test.stories-hbpdCka0.js} +1 -1
  106. package/storybook-static/assets/entry-preview-DHVXbf3x.js +26 -0
  107. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +2 -0
  108. package/storybook-static/assets/{external-template.test.stories-CpJ68Ghy.js → external-template.test.stories-BK89h6sk.js} +3 -3
  109. package/storybook-static/assets/{form.test.stories-D35lyqd8.js → form.test.stories-BfoLe_rw.js} +1 -1
  110. package/storybook-static/assets/{handlers-CW9pDZnt.js → handlers-yVPwH_Nz.js} +21 -21
  111. package/storybook-static/assets/{http-request.stories-CBbknCOO.js → http-request.stories-CBFJS2Ws.js} +1 -1
  112. package/storybook-static/assets/iframe-CJEL_4Nu.js +2 -0
  113. package/storybook-static/assets/index-BcZLpTeD.js +8 -0
  114. package/storybook-static/assets/{index-BSz1w4Gl.js → index-CxRwF5Or.js} +130 -130
  115. package/storybook-static/assets/index-D5fBh-7N.js +1 -0
  116. package/storybook-static/assets/{index-YxUFxnQR.js → index-DM-KBPdl.js} +1 -1
  117. package/storybook-static/assets/{index-B3QjF0Ed.js → index-RSFf30w1.js} +1 -1
  118. package/storybook-static/assets/index-SnjB5uV8.js +769 -0
  119. package/storybook-static/assets/{local-storage.test.stories-BY-PWhuk.js → local-storage.test.stories-C0Yzy6Am.js} +1 -1
  120. package/storybook-static/assets/{location-element.test.stories-3auBYEaU.js → location-element.test.stories-DNFrEu5A.js} +1 -1
  121. package/storybook-static/assets/{module-url.test.stories-B7L9cL60.js → module-url.test.stories-CXibF5Ta.js} +1 -1
  122. package/storybook-static/assets/{preview-CfWMRsRq.js → preview-Bnd0XhaF.js} +2 -2
  123. package/storybook-static/assets/{preview-BRPR-UXC.js → preview-CNKoaWES.js} +1 -1
  124. package/storybook-static/assets/preview-DAeyCMnM.js +1 -0
  125. package/storybook-static/assets/preview-DJMlNTk8.js +2 -0
  126. package/storybook-static/assets/{set-url.test.stories-CuSuDLIx.js → set-url.test.stories-BBfLxv2u.js} +1 -1
  127. package/storybook-static/assets/{slice-events.test.stories-BkRKsKem.js → slice-events.test.stories-HcXF8XQI.js} +138 -13
  128. package/storybook-static/assets/{slots.test.stories-BJCUWFkE.js → slots.test.stories-i6mnIFM2.js} +1 -1
  129. package/storybook-static/assets/tiny-invariant-CopsF_GD.js +1 -0
  130. package/storybook-static/assets/{version-select.test.stories-B3ybJn_Z.js → version-select.test.stories-BsUFH6Va.js} +1 -1
  131. package/storybook-static/demo/a.html +51 -38
  132. package/storybook-static/demo/a.svg +26 -26
  133. package/storybook-static/demo/data-slices.html +37 -0
  134. package/storybook-static/demo/external-template.html +1 -0
  135. package/storybook-static/demo/form.html +42 -0
  136. package/storybook-static/demo/hex-grid-dce.html +1 -1
  137. package/storybook-static/demo/hex-grid.html +1 -1
  138. package/storybook-static/demo/parameters.html +20 -1
  139. package/storybook-static/demo/s.xml +6 -12
  140. package/storybook-static/demo/s.xslt +64 -15
  141. package/storybook-static/demo/ss.html +4 -23
  142. package/storybook-static/iframe.html +2 -2
  143. package/storybook-static/index.html +4 -0
  144. package/storybook-static/index.json +1 -1
  145. package/storybook-static/project.json +1 -1
  146. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +333 -0
  147. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +40 -0
  148. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +1 -1
  149. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  150. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +82 -85
  151. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  152. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  153. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  154. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +66 -67
  155. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +1 -1
  156. package/storybook-static/sb-manager/globals-module-info.js +25 -3
  157. package/storybook-static/sb-manager/globals-runtime.js +29585 -43124
  158. package/storybook-static/sb-manager/runtime.js +10647 -9399
  159. package/storybook-static/sb-preview/runtime.js +3536 -5860
  160. package/test-runner-jest.config.js +15 -0
  161. package/dist/custom-element-BOIPgtxz.js +0 -565
  162. package/dist/custom-element-CUsSENWc.cjs +0 -97
  163. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  164. package/storybook-static/assets/Color-ERTF36HU-CQkSD2nd.js +0 -1
  165. package/storybook-static/assets/attributes.test.stories-BJBuuXgZ.js +0 -150
  166. package/storybook-static/assets/custom-element-BDGsYgbP.js +0 -97
  167. package/storybook-static/assets/entry-preview-C313OLrj.js +0 -26
  168. package/storybook-static/assets/entry-preview-docs-B7ORr9w5.js +0 -2
  169. package/storybook-static/assets/iframe-DOi4N7qI.js +0 -2
  170. package/storybook-static/assets/index-BdcJ-iJ7.js +0 -8
  171. package/storybook-static/assets/index-CaL3Qp7t.js +0 -634
  172. package/storybook-static/assets/index-DgFM0Ce3.js +0 -1
  173. package/storybook-static/assets/preview-C992A1Y-.js +0 -2
  174. package/storybook-static/assets/preview-CcS4DQh8.js +0 -1
  175. package/storybook-static/assets/tiny-invariant-BxWVcicq.js +0 -1
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">26.08% </span>
26
+ <span class="strong">17.04% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/46</span>
28
+ <span class='fraction'>15/88</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">20% </span>
40
+ <span class="strong">13.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/10</span>
42
+ <span class='fraction'>2/15</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">26.82% </span>
47
+ <span class="strong">17.07% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/41</span>
49
+ <span class='fraction'>14/82</span>
50
50
  </div>
51
51
 
52
52
 
@@ -206,7 +206,107 @@
206
206
  <a name='L141'></a><a href='#L141'>141</a>
207
207
  <a name='L142'></a><a href='#L142'>142</a>
208
208
  <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
210
310
  <span class="cline-any cline-neutral">&nbsp;</span>
211
311
  <span class="cline-any cline-neutral">&nbsp;</span>
212
312
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -221,8 +321,8 @@
221
321
  <span class="cline-any cline-neutral">&nbsp;</span>
222
322
  <span class="cline-any cline-neutral">&nbsp;</span>
223
323
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">3x</span>
225
- <span class="cline-any cline-yes">3x</span>
324
+ <span class="cline-any cline-yes">6x</span>
325
+ <span class="cline-any cline-yes">6x</span>
226
326
  <span class="cline-any cline-neutral">&nbsp;</span>
227
327
  <span class="cline-any cline-neutral">&nbsp;</span>
228
328
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -246,6 +346,40 @@
246
346
  <span class="cline-any cline-neutral">&nbsp;</span>
247
347
  <span class="cline-any cline-neutral">&nbsp;</span>
248
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-no">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
353
+ <span class="cline-any cline-no">&nbsp;</span>
354
+ <span class="cline-any cline-no">&nbsp;</span>
355
+ <span class="cline-any cline-no">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-yes">1x</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-no">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-yes">1x</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
383
  <span class="cline-any cline-neutral">&nbsp;</span>
250
384
  <span class="cline-any cline-neutral">&nbsp;</span>
251
385
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -288,22 +422,50 @@
288
422
  <span class="cline-any cline-neutral">&nbsp;</span>
289
423
  <span class="cline-any cline-no">&nbsp;</span>
290
424
  <span class="cline-any cline-no">&nbsp;</span>
291
- <span class="cline-any cline-no">&nbsp;</span>
292
425
  <span class="cline-any cline-neutral">&nbsp;</span>
293
426
  <span class="cline-any cline-no">&nbsp;</span>
294
427
  <span class="cline-any cline-no">&nbsp;</span>
295
428
  <span class="cline-any cline-no">&nbsp;</span>
296
429
  <span class="cline-any cline-no">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
298
431
  <span class="cline-any cline-no">&nbsp;</span>
299
432
  <span class="cline-any cline-no">&nbsp;</span>
300
433
  <span class="cline-any cline-no">&nbsp;</span>
301
434
  <span class="cline-any cline-neutral">&nbsp;</span>
302
435
  <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
439
  <span class="cline-any cline-no">&nbsp;</span>
304
440
  <span class="cline-any cline-no">&nbsp;</span>
305
441
  <span class="cline-any cline-neutral">&nbsp;</span>
306
442
  <span class="cline-any cline-no">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-yes">1x</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-no">&nbsp;</span>
465
+ <span class="cline-any cline-no">&nbsp;</span>
466
+ <span class="cline-any cline-no">&nbsp;</span>
467
+ <span class="cline-any cline-no">&nbsp;</span>
468
+ <span class="cline-any cline-no">&nbsp;</span>
307
469
  <span class="cline-any cline-no">&nbsp;</span>
308
470
  <span class="cline-any cline-no">&nbsp;</span>
309
471
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -327,14 +489,52 @@
327
489
  <span class="cline-any cline-neutral">&nbsp;</span>
328
490
  <span class="cline-any cline-neutral">&nbsp;</span>
329
491
  <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-no">&nbsp;</span>
500
+ <span class="cline-any cline-no">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-no">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
504
  <span class="cline-any cline-no">&nbsp;</span>
331
505
  <span class="cline-any cline-no">&nbsp;</span>
332
506
  <span class="cline-any cline-no">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-no">&nbsp;</span>
333
509
  <span class="cline-any cline-no">&nbsp;</span>
334
510
  <span class="cline-any cline-no">&nbsp;</span>
335
511
  <span class="cline-any cline-no">&nbsp;</span>
336
512
  <span class="cline-any cline-no">&nbsp;</span>
337
513
  <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-no">&nbsp;</span>
515
+ <span class="cline-any cline-no">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
520
+ <span class="cline-any cline-no">&nbsp;</span>
521
+ <span class="cline-any cline-no">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-no">&nbsp;</span>
525
+ <span class="cline-any cline-no">&nbsp;</span>
526
+ <span class="cline-any cline-no">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-no">&nbsp;</span>
529
+ <span class="cline-any cline-no">&nbsp;</span>
530
+ <span class="cline-any cline-no">&nbsp;</span>
531
+ <span class="cline-any cline-no">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-no">&nbsp;</span>
534
+ <span class="cline-any cline-no">&nbsp;</span>
535
+ <span class="cline-any cline-no">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
538
  <span class="cline-any cline-neutral">&nbsp;</span>
339
539
  <span class="cline-any cline-neutral">&nbsp;</span>
340
540
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -352,9 +552,9 @@
352
552
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
353
553
  &nbsp;
354
554
  import type { StoryObj } from '@storybook/web-components';
355
- import {expect, within} from '@storybook/test';
555
+ import {expect, userEvent, within} from '@storybook/test';
356
556
  &nbsp;
357
- import '../custom-element/custom-element.js';
557
+ import {cloneAs, mix} from'../custom-element/custom-element.js';
358
558
  &nbsp;
359
559
  type TProps = { title: string; body:string};
360
560
  &nbsp;
@@ -380,12 +580,46 @@ const meta =
380
580
  &nbsp;
381
581
  export default meta;
382
582
  &nbsp;
583
+ export const CloneAs:Story =
584
+ { args : {title: 'cloneAs(el,newTag)', body:`
585
+ &lt;p&gt;&lt;code&gt;cloneAs()&lt;/code&gt; used for conversion of &lt;code&gt;attribute&lt;/code&gt; to &lt;code&gt;xsl:param&lt;/code&gt;&lt;/p&gt;
586
+ &lt;attribute data-testid="t1" &gt;default_P1 &lt;/attribute&gt;
587
+ &lt;attribute data-testid="t2" select="'always_p2'" &gt;&lt;/attribute&gt;
588
+ &lt;attribute data-testid="t3" &gt;&lt;/attribute&gt;
589
+ `}
590
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
591
+ {
592
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
593
+ &nbsp;
594
+ const cmp = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async ( t</span>id:string ) =&gt;</span>
595
+ { const t1 = <span class="cstat-no" title="statement not covered" >await canvas.findByTestId(tid);</span>
596
+ const c1 = <span class="cstat-no" title="statement not covered" >cloneAs(t1, 'xsl:param');</span>
597
+ <span class="cstat-no" title="statement not covered" > for( let a of t1.attributes )</span>
598
+ { <span class="cstat-no" title="statement not covered" >await expect(a.value).toEqual(c1.getAttribute(a.name)); }</span>
599
+ &nbsp;
600
+ <span class="cstat-no" title="statement not covered" > await expect( c1.textContent ).toEqual(t1.textContent);</span>
601
+ }
602
+ <span class="cstat-no" title="statement not covered" > await cmp('t1');</span>
603
+ <span class="cstat-no" title="statement not covered" > await cmp('t2');</span>
604
+ <span class="cstat-no" title="statement not covered" > await cmp('t3');</span>
605
+ },
606
+ };
607
+ export const Mix:Story =
608
+ { args : {title: 'mix(to,from)', body:`
609
+ &lt;p&gt;&lt;code&gt;mix(to,from)&lt;/code&gt; used for &lt;code&gt;attribute&lt;/code&gt; collections&lt;/p&gt;
610
+ `}
611
+ , play: <span class="fstat-no" title="function not covered" >async () =&gt;</span>
612
+ {
613
+ <span class="cstat-no" title="statement not covered" > await expect( mix({},{a:1,b:'2'})).toEqual({a:1,b:'2'});</span>
614
+ },
615
+ };
616
+ &nbsp;
383
617
  export const AttributeDefaults:Story =
384
618
  { args : {title: 'Attributes definition', body:`
385
619
  &lt;p&gt;Params needed to declare DCE attributes and track the attributes changes. It also is used by IDE and validation.&lt;/p&gt;
386
620
  &lt;custom-element tag="dce-link" &gt;
387
621
  &lt;template&gt;
388
- &lt;attribute name="p1"&gt;default_P1 &lt;/attribute&gt;
622
+ &lt;attribute name="p1"&gt;default_P1&lt;/attribute&gt;
389
623
  &lt;attribute name="p2" select="'always_p2'" &gt;&lt;/attribute&gt;
390
624
  &lt;attribute name="p3" select="//p3 ?? 'def_P3' "&gt;&lt;/attribute&gt;
391
625
  p1: &lt;code data-testid="p1"&gt;{$p1}&lt;/code&gt; &lt;br/&gt;
@@ -415,40 +649,40 @@ export const AttributesRuntimeChange:Story =
415
649
  &lt;attribute name="p1"&gt;default_P1 &lt;/attribute&gt;
416
650
  &lt;attribute name="p2" select="'always_p2'" &gt;&lt;/attribute&gt;
417
651
  &lt;attribute name="p3" select="//p3 ?? 'def_P3' "&gt;&lt;/attribute&gt;
418
- p1: &lt;code data-testid="p1"&gt;{$p1}&lt;/code&gt; &lt;br/&gt;
419
- p2: &lt;code data-testid="p2"&gt;{$p2}&lt;/code&gt; &lt;br/&gt;
420
- p3: &lt;code data-testid="p3"&gt;{$p3}&lt;/code&gt;
652
+ p1: &lt;code data-testid="t1"&gt;{$p1}&lt;/code&gt; &lt;br/&gt;
653
+ p2: &lt;code data-testid="t2"&gt;{$p2}&lt;/code&gt; &lt;br/&gt;
654
+ p3: &lt;code data-testid="t3"&gt;{$p3}&lt;/code&gt;
421
655
  &lt;/template&gt;
422
656
  &lt;/custom-element&gt;
423
657
  &lt;section&gt;
424
- &lt;dce-link2 id="dce2" p1="123" p2="override ignored as select is defined"&gt;&lt;/dce-link2&gt; &lt;br&gt;
425
- &lt;div&gt;&lt;input id="i1" value="p1"&gt; &lt;button onclick="dce2.setAttribute('p1',i1.value)"&gt; set p1&lt;/button&gt; &lt;/div&gt;
426
- &lt;div&gt;&lt;input id="i2" value="p2"&gt; &lt;button onclick="dce2.setAttribute('p2',i2.value)"&gt; set p2&lt;/button&gt; &lt;/div&gt;
427
- &lt;div&gt;&lt;input id="i3" value="p3"&gt; &lt;button onclick="dce2.setAttribute('p3',i3.value)"&gt; set p3&lt;/button&gt; &lt;/div&gt;
658
+ &lt;dce-link2 id="dce2" p1="123" p2="override ignored as select is defined"&gt;&lt;/dce-link2&gt; &lt;br&gt;
659
+ &lt;div&gt;&lt;input id="i1" value="P1"&gt; &lt;button onclick="dce2.setAttribute('p1',i1.value)"&gt; set p1&lt;/button&gt; &lt;/div&gt;
660
+ &lt;div&gt;&lt;input id="i2" value="P2"&gt; &lt;button onclick="dce2.setAttribute('p2',i2.value)"&gt; set p2&lt;/button&gt; &lt;/div&gt;
661
+ &lt;div&gt;&lt;input id="i3" value="P3"&gt; &lt;button onclick="dce2.setAttribute('p3',i3.value)"&gt; set p3&lt;/button&gt; &lt;/div&gt;
428
662
  &lt;/section&gt;
429
663
  `}
430
664
  , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
431
665
  {
432
- const titleText = <span class="cstat-no" title="statement not covered" >AttributeDefaults.args!.title as string;</span>
433
666
  const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement)</span>
434
- , code = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (<span class="cstat-no" title="statement not covered" >i</span>d) =&gt; (await canvas.findByTestId(id)).textContent.trim();</span></span>
667
+ , code = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (i</span>d:string) =&gt; <span class="cstat-no" title="statement not covered" >await canvas.findByTestId(id);</span></span>
435
668
  &nbsp;
436
669
  <span class="cstat-no" title="statement not covered" > await sleep(20)</span>
437
- <span class="cstat-no" title="statement not covered" > expect( await code('p1') ).toEqual('123' );</span>
438
- <span class="cstat-no" title="statement not covered" > expect( await code('p2') ).toEqual('always_p2', 'no overrides due to value is hardcoded' );</span>
439
- <span class="cstat-no" title="statement not covered" > expect( await code('p3') ).toEqual('def_P3' );</span>
440
- &nbsp;
441
- <span class="cstat-no" title="statement not covered" > dce2.setAttribute('p1',i1.value);</span>
442
- <span class="cstat-no" title="statement not covered" > await sleep(10)</span>
443
- <span class="cstat-no" title="statement not covered" > expect( await code('p1') ).toEqual('p1','set p1 in runtime' );</span>
670
+ <span class="cstat-no" title="statement not covered" > expect( await code('t1') ).toHaveTextContent('123' );</span>
671
+ <span class="cstat-no" title="statement not covered" > expect( await code('t2') ).toHaveTextContent('always_p2'); // no overrides due to value is hardcoded</span>
672
+ <span class="cstat-no" title="statement not covered" > expect( await code('t3') ).toHaveTextContent('def_P3' );</span>
673
+ const dce2 = <span class="cstat-no" title="statement not covered" >window.dce2;</span>
674
+ <span class="cstat-no" title="statement not covered" > dce2.setAttribute('P1',i1.value);</span>
675
+ <span class="cstat-no" title="statement not covered" > await expect(await canvas.findByText('P1')).toBeInTheDocument();</span>
676
+ <span class="cstat-no" title="statement not covered" > expect( await code('t1') ).toHaveTextContent('P1'); // 4. set p1 in runtime'</span>
444
677
  &nbsp;
445
678
  <span class="cstat-no" title="statement not covered" > dce2.setAttribute('p2',i2.value);</span>
446
- <span class="cstat-no" title="statement not covered" > await sleep(10)</span>
447
- <span class="cstat-no" title="statement not covered" > expect( await code('p2') ).toEqual('always_p2','can not set p2 in runtime' );</span>
679
+ // await expect(await canvas.findByText('P2')).toBeInTheDocument();
680
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('t2') ).toHaveTextContent('always_p2'); // can not set p2 in runtime</span>
448
681
  &nbsp;
449
682
  <span class="cstat-no" title="statement not covered" > dce2.setAttribute('p3',i3.value);</span>
450
- <span class="cstat-no" title="statement not covered" > await sleep(10)</span>
451
- <span class="cstat-no" title="statement not covered" > expect( await code('p3') ).toEqual('p3','set p3 in runtime' );</span>
683
+ <span class="cstat-no" title="statement not covered" > await expect(await canvas.findByText('P3')).toBeInTheDocument();</span>
684
+ &nbsp;
685
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('t3') ).toHaveTextContent('P3'); // set p3 in runtime</span>
452
686
  },
453
687
  };
454
688
  &nbsp;
@@ -481,6 +715,72 @@ export const InstanceAttributes:Story =
481
715
  };
482
716
  &nbsp;
483
717
  &nbsp;
718
+ export const AttributesPropagationUp:Story =
719
+ { args : {title: 'Instance Attributes', body:`
720
+ &lt;p&gt;Attributes with value(p2) or &lt;code&gt;select&lt;/code&gt;(p3) should be propagated to DCE&lt;/p&gt;
721
+ &lt;p&gt;p1 attribute is not propagated as does not have the value.&lt;/p&gt;
722
+ &lt;custom-element tag="sample-el"&gt;
723
+ &lt;template&gt;
724
+ &lt;attribute name="data-testid"&gt;&lt;/attribute&gt;
725
+ &lt;attribute name="p1"&gt;&lt;/attribute&gt;
726
+ &lt;attribute name="p2"&gt;DEFAULT VALUE&lt;/attribute&gt;
727
+ &lt;attribute name="p3" select=" //from-input ?? 'abc' "&gt;&lt;/attribute&gt;
728
+ &lt;input slice="from-input" slice-event="input"/&gt;&lt;br/&gt;
729
+ p1:&lt;code data-testid="{$data-testid}-p1" &gt;{ $p1 }&lt;/code&gt;&lt;br/&gt;
730
+ p2:&lt;code data-testid="{$data-testid}-p2" &gt;{ $p2 }&lt;/code&gt;&lt;br/&gt;
731
+ p2:&lt;code data-testid="{$data-testid}-p3" &gt;{ $p3 }&lt;/code&gt;&lt;br/&gt;
732
+ //from-input: {//from-input} &lt;hr/&gt;
733
+ &lt;/template&gt;
734
+ &lt;/custom-element&gt;
735
+ &nbsp;
736
+ &lt;sample-el data-testid="t1" value="123" &gt;&lt;/sample-el&gt;
737
+ &lt;sample-el data-testid="t2" p1="P1" p2="123" p3="P3" &gt;&lt;/sample-el&gt;
738
+ &lt;sample-el data-testid="t3" &gt;&lt;/sample-el&gt;
739
+ `}
740
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
741
+ {
742
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement)</span>
743
+ , code = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (<span class="cstat-no" title="statement not covered" >i</span>d:string) =&gt; (await canvas.findByTestId(id)).textContent?.trim();</span></span>
744
+ &nbsp;
745
+ <span class="cstat-no" title="statement not covered" > await sleep(20)</span>
746
+
747
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t1-p1') ).toEqual('' );</span>
748
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t1-p2') ).toEqual('DEFAULT VALUE' );</span>
749
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t1-p3') ).toEqual('abc' );</span>
750
+ &nbsp;
751
+ const t1 = <span class="cstat-no" title="statement not covered" >await canvas.findByTestId('t1');</span>
752
+ <span class="cstat-no" title="statement not covered" > await expect( t1 ).toHaveAttribute('value','123');</span>
753
+ <span class="cstat-no" title="statement not covered" > await expect( t1 ).toHaveAttribute('p2','DEFAULT VALUE');</span>
754
+ <span class="cstat-no" title="statement not covered" > await expect( t1 ).toHaveAttribute('p3','abc');</span>
755
+ <span class="cstat-no" title="statement not covered" > await expect( t1 ).not.toHaveAttribute('p1');</span>
756
+ &nbsp;
757
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t2-p1') ).toEqual('P1' );</span>
758
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t2-p2') ).toEqual('123' );</span>
759
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t2-p3') ).toEqual('abc' );</span>
760
+
761
+ const t2 = <span class="cstat-no" title="statement not covered" >await canvas.findByTestId('t2');</span>
762
+ <span class="cstat-no" title="statement not covered" > await expect( t2 ).toHaveAttribute('p1','P1');</span>
763
+ <span class="cstat-no" title="statement not covered" > await expect( t2 ).toHaveAttribute('p2','123');</span>
764
+ <span class="cstat-no" title="statement not covered" > await expect( t2 ).toHaveAttribute('p3','abc');</span>
765
+ &nbsp;
766
+ &nbsp;
767
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t3-p1') ).toEqual('' );</span>
768
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t3-p2') ).toEqual('DEFAULT VALUE' );</span>
769
+ <span class="cstat-no" title="statement not covered" > await expect( await code('t3-p3') ).toEqual('abc' );</span>
770
+
771
+ const t3 = <span class="cstat-no" title="statement not covered" >await canvas.findByTestId('t3');</span>
772
+ <span class="cstat-no" title="statement not covered" > await expect( t1 ).not.toHaveAttribute('p1');</span>
773
+ <span class="cstat-no" title="statement not covered" > await expect( t3 ).toHaveAttribute('p2','DEFAULT VALUE');</span>
774
+ <span class="cstat-no" title="statement not covered" > await expect( t3 ).toHaveAttribute('p3','abc');</span>
775
+ &nbsp;
776
+ <span class="cstat-no" title="statement not covered" > t3.querySelector('input')?.focus();</span>
777
+ <span class="cstat-no" title="statement not covered" > await userEvent.keyboard('DCE');</span>
778
+ <span class="cstat-no" title="statement not covered" > await expect( t3 ).toHaveAttribute('p3','DCE');</span>
779
+ &nbsp;
780
+ },
781
+ };
782
+ &nbsp;
783
+ &nbsp;
484
784
  //#region unit tests
485
785
  /* istanbul ignore else -- @preserve */
486
786
  if( 'test' === import.meta.env.MODE &amp;&amp;
@@ -499,7 +799,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
499
799
  <div class='footer quiet pad2 space-top1 center small'>
500
800
  Code coverage generated by
501
801
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
502
- at 2024-11-07T07:50:22.395Z
802
+ at 2024-11-28T15:54:41.264Z
503
803
  </div>
504
804
  <script src="../../prettify.js"></script>
505
805
  <script>
@@ -6,5 +6,5 @@
6
6
  <rect width="140" height="32" fill="#473" rx="4"/>
7
7
  <rect width="88" height="32" fill="#534" rx="4"/>
8
8
  <text x="8" y="21" class="heavy">coverage</text>
9
- <text x="94" y="22" class="percent">27.87%</text>
9
+ <text x="94" y="22" class="percent">26.56%</text>
10
10
  </svg>
@@ -445,7 +445,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
445
445
  <div class='footer quiet pad2 space-top1 center small'>
446
446
  Code coverage generated by
447
447
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
448
- at 2024-11-07T07:50:22.395Z
448
+ at 2024-11-28T15:54:41.264Z
449
449
  </div>
450
450
  <script src="../../prettify.js"></script>
451
451
  <script>
@@ -691,7 +691,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
691
691
  <div class='footer quiet pad2 space-top1 center small'>
692
692
  Code coverage generated by
693
693
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
694
- at 2024-11-07T07:50:22.395Z
694
+ at 2024-11-28T15:54:41.264Z
695
695
  </div>
696
696
  <script src="../../prettify.js"></script>
697
697
  <script>
@@ -629,7 +629,7 @@ export const TemplateInPage:Story =
629
629
  {
630
630
  const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
631
631
  <span class="cstat-no" title="statement not covered" > await canvas.findByText(TemplateInPage.args!.title as string);</span>
632
- const val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rop)=&gt; <span class="cstat-no" title="statement not covered" >canvas.getByTestId(prop).textContent.trim();</span></span>
632
+ const val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rop:string)=&gt; <span class="cstat-no" title="statement not covered" >canvas.getByTestId(prop).textContent?.trim();</span></span>
633
633
  &nbsp;
634
634
  <span class="cstat-no" title="statement not covered" > expect(val('slot-override')).toEqual('👋 World!');</span>
635
635
  <span class="cstat-no" title="statement not covered" > expect(val('slot-default' )).toEqual('Hello World!');</span>
@@ -850,7 +850,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
850
850
  <div class='footer quiet pad2 space-top1 center small'>
851
851
  Code coverage generated by
852
852
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
853
- at 2024-11-07T07:50:22.395Z
853
+ at 2024-11-28T15:54:41.264Z
854
854
  </div>
855
855
  <script src="../../prettify.js"></script>
856
856
  <script>
@@ -646,7 +646,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
646
646
  <div class='footer quiet pad2 space-top1 center small'>
647
647
  Code coverage generated by
648
648
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
649
- at 2024-11-07T07:50:22.395Z
649
+ at 2024-11-28T15:54:41.264Z
650
650
  </div>
651
651
  <script src="../../prettify.js"></script>
652
652
  <script>
@@ -802,7 +802,7 @@ from &lt;code&gt;${url}&lt;/code&gt;
802
802
  <div class='footer quiet pad2 space-top1 center small'>
803
803
  Code coverage generated by
804
804
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
805
- at 2024-11-07T07:50:22.395Z
805
+ at 2024-11-28T15:54:41.264Z
806
806
  </div>
807
807
  <script src="../../prettify.js"></script>
808
808
  <script>