@epa-wg/custom-element-dist 0.0.26 → 0.0.28

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 (216) hide show
  1. package/.storybook/main.ts +2 -2
  2. package/.storybook/preview.ts +1 -1
  3. package/README.md +4 -4
  4. package/bin/vitest/vitest-browser-importmaps.mjs +20 -20
  5. package/coverage/coverage-final.json +22 -22
  6. package/coverage/index.html +26 -26
  7. package/coverage/src/custom-element/coverage.svg +1 -1
  8. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  9. package/coverage/src/custom-element/custom-element.js.html +662 -380
  10. package/coverage/src/custom-element/demo/index.html +1 -1
  11. package/coverage/src/custom-element/demo/z.js.html +1 -1
  12. package/coverage/src/custom-element/http-request.js.html +12 -12
  13. package/coverage/src/custom-element/index.html +21 -21
  14. package/coverage/src/custom-element/local-storage.js.html +78 -63
  15. package/coverage/src/custom-element/location-element.js.html +4 -4
  16. package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
  17. package/coverage/src/custom-element/module-url.js.html +16 -10
  18. package/coverage/src/index.html +1 -1
  19. package/coverage/src/mocks/handlers.ts.html +1 -1
  20. package/coverage/src/mocks/index.html +1 -1
  21. package/coverage/src/stories/attributes.test.stories.ts.html +17 -11
  22. package/coverage/src/stories/coverage.svg +1 -1
  23. package/coverage/src/stories/css.test.stories.ts.html +8 -2
  24. package/coverage/src/stories/dom-merge.test.stories.ts.html +17 -11
  25. package/coverage/src/stories/external-template.test.stories.ts.html +13 -10
  26. package/coverage/src/stories/form.test.stories.ts.html +8 -2
  27. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  28. package/coverage/src/stories/index.html +26 -26
  29. package/coverage/src/stories/local-storage.test.stories.ts/coverage.svg +1 -1
  30. package/coverage/src/stories/local-storage.test.stories.ts.html +106 -76
  31. package/coverage/src/stories/location-element.test.stories.ts.html +8 -2
  32. package/coverage/src/stories/module-url.test.stories.ts.html +8 -2
  33. package/coverage/src/stories/set-url.test.stories.ts.html +8 -2
  34. package/coverage/src/stories/slice-events.test.stories.ts.html +8 -2
  35. package/coverage/src/stories/slots.test.stories.ts.html +8 -2
  36. package/coverage/src/stories/testStoryBook.ts.html +12 -12
  37. package/coverage/src/stories/version-select.test.stories.ts.html +8 -2
  38. package/coverage/src/sum.ts.html +1 -1
  39. package/dist/custom-element-BOIPgtxz.js +565 -0
  40. package/dist/custom-element-CUsSENWc.cjs +97 -0
  41. package/dist/custom-element-bundle.cjs +1 -1
  42. package/dist/custom-element-bundle.js +25 -21
  43. package/dist/demo/a.svg +27 -0
  44. package/dist/demo/demo.css +6 -7
  45. package/dist/demo/external-template.html +3 -3
  46. package/dist/demo/npm-versions-demo.html +21 -8
  47. package/dist/demo/npm-versions.html +54 -25
  48. package/dist/demo/s.xml +11 -21
  49. package/dist/demo/s.xslt +16 -74
  50. package/dist/demo/s1.xslt +59 -59
  51. package/dist/demo/ss.html +24 -57
  52. package/dist/demo/z.html +33 -62
  53. package/dist/demo/z.xml +59 -59
  54. package/dist/demo/z1.html +34 -0
  55. package/dist/local-storage-78EivJ_B.cjs +1 -0
  56. package/dist/local-storage-DzmNKzgN.js +66 -0
  57. package/dist/mockServiceWorker.js +1 -1
  58. package/package.json +27 -25
  59. package/public/demo/a.svg +27 -0
  60. package/public/demo/demo.css +6 -7
  61. package/public/demo/external-template.html +3 -3
  62. package/public/demo/npm-versions-demo.html +21 -8
  63. package/public/demo/npm-versions.html +54 -25
  64. package/public/demo/s.xml +11 -21
  65. package/public/demo/s.xslt +16 -74
  66. package/public/demo/s1.xslt +59 -59
  67. package/public/demo/ss.html +24 -57
  68. package/public/demo/z.html +33 -62
  69. package/public/demo/z.xml +59 -59
  70. package/public/demo/z1.html +34 -0
  71. package/public/mockServiceWorker.js +1 -1
  72. package/src/custom-element/custom-element.js +123 -29
  73. package/src/custom-element/demo/a.svg +27 -0
  74. package/src/custom-element/demo/demo.css +6 -7
  75. package/src/custom-element/demo/external-template.html +3 -3
  76. package/src/custom-element/demo/npm-versions-demo.html +21 -8
  77. package/src/custom-element/demo/npm-versions.html +54 -25
  78. package/src/custom-element/demo/s.xml +11 -21
  79. package/src/custom-element/demo/s.xslt +16 -74
  80. package/src/custom-element/demo/s1.xslt +59 -59
  81. package/src/custom-element/demo/ss.html +24 -57
  82. package/src/custom-element/demo/z.html +33 -62
  83. package/src/custom-element/demo/z.xml +59 -59
  84. package/src/custom-element/demo/z1.html +34 -0
  85. package/src/custom-element/ide/web-types-dce.json +1 -1
  86. package/src/custom-element/ide/web-types-xsl.json +1 -1
  87. package/src/custom-element/index.html +19 -2
  88. package/src/custom-element/local-storage.js +19 -14
  89. package/src/custom-element/module-url.js +3 -2
  90. package/src/dce-social-preview.png +0 -0
  91. package/src/material/angular.css +987 -0
  92. package/src/material/components/autocomplete.html +241 -0
  93. package/src/material/components/dropdown.html +115 -0
  94. package/src/material/components/menu.html +235 -0
  95. package/src/material/components.html +109 -0
  96. package/src/material/demo.css +31 -0
  97. package/src/material/index.html +169 -0
  98. package/src/material/material.css +357 -0
  99. package/src/material/theme/README.md +18 -0
  100. package/src/material/theme/semantic.css +112 -0
  101. package/src/mocks/versions.mock.ts +8 -8
  102. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  103. package/src/stories/attributes.test.stories.ts +6 -4
  104. package/src/stories/css.test.stories.ts +2 -0
  105. package/src/stories/dom-merge.test.stories.ts +11 -9
  106. package/src/stories/external-template.test.stories.ts +4 -3
  107. package/src/stories/form.test.stories.ts +2 -0
  108. package/src/stories/local-storage.test.stories.ts +63 -53
  109. package/src/stories/location-element.test.stories.ts +2 -0
  110. package/src/stories/module-url.test.stories.ts +2 -0
  111. package/src/stories/set-url.test.stories.ts +2 -0
  112. package/src/stories/slice-events.test.stories.ts +2 -0
  113. package/src/stories/slots.test.stories.ts +2 -0
  114. package/src/stories/version-select.test.stories.ts +2 -0
  115. package/src/sum.test.ts +5 -5
  116. package/src/sum.ts +3 -3
  117. package/storybook-static/assets/Color-ERTF36HU-ChyYtq0t.js +1 -0
  118. package/storybook-static/assets/Configure-CJVwFVjC.js +165 -0
  119. package/storybook-static/assets/DocsRenderer-CFRXHY34-Bz6q-OqD.js +2 -0
  120. package/storybook-static/assets/{attributes.test.stories-DIQXccHc.js → attributes.test.stories-BJBuuXgZ.js} +13 -14
  121. package/storybook-static/assets/{css.test.stories-BV2hi4CY.js → css.test.stories-pgbBc17d.js} +1 -1
  122. package/storybook-static/assets/custom-element-BDGsYgbP.js +97 -0
  123. package/storybook-static/assets/{dom-merge.test.stories-Dws0C2-g.js → dom-merge.test.stories-CXcYP_-J.js} +26 -24
  124. package/storybook-static/assets/entry-preview-C313OLrj.js +26 -0
  125. package/storybook-static/assets/{entry-preview-docs-BMKNVQXA.js → entry-preview-docs-B7ORr9w5.js} +2 -2
  126. package/storybook-static/assets/{external-template.test.stories-BHO48b0j.js → external-template.test.stories-CpJ68Ghy.js} +19 -20
  127. package/storybook-static/assets/{form.test.stories-dv9mwp24.js → form.test.stories-D35lyqd8.js} +2 -2
  128. package/storybook-static/assets/{handlers-CaCq2ZPF.js → handlers-B-OZtf2K.js} +13 -13
  129. package/storybook-static/assets/{http-request.stories-B2ke7LtS.js → http-request.stories-DccXgHyF.js} +6 -6
  130. package/storybook-static/assets/iframe-Ddc_axoC.js +2 -0
  131. package/storybook-static/assets/index-BSz1w4Gl.js +234 -0
  132. package/storybook-static/assets/index-BdcJ-iJ7.js +8 -0
  133. package/storybook-static/assets/index-CiCdFubk.js +634 -0
  134. package/storybook-static/assets/{index-Dz4OaB2k.js → index-f2MAjm2i.js} +1 -1
  135. package/storybook-static/assets/index-lY6s0fkU.js +1 -0
  136. package/storybook-static/assets/index-tfEkrhWr.js +1 -0
  137. package/storybook-static/assets/local-storage.test.stories-BY-PWhuk.js +420 -0
  138. package/storybook-static/assets/{location-element.test.stories-BiFvBop7.js → location-element.test.stories-3auBYEaU.js} +3 -3
  139. package/storybook-static/assets/{module-url.test.stories-BXoM34tX.js → module-url.test.stories-B7L9cL60.js} +6 -6
  140. package/storybook-static/assets/{preview-0Jj89qip.js → preview-BRPR-UXC.js} +1 -1
  141. package/storybook-static/assets/preview-BUQm51_C.js +52 -0
  142. package/storybook-static/assets/{preview-DB9FwMii.js → preview-BWzBA1C2.js} +1 -1
  143. package/storybook-static/assets/preview-BhhEZcNS.js +1 -0
  144. package/storybook-static/assets/preview-CcS4DQh8.js +1 -0
  145. package/storybook-static/assets/{preview-Cg7hXPRq.js → preview-CfH4_OzN.js} +2 -2
  146. package/storybook-static/assets/{preview-FpHGYA1q.js → preview-DHPc-V4N.js} +1 -1
  147. package/storybook-static/assets/preview-DYzi3Z2p.js +1 -0
  148. package/storybook-static/assets/{preview-4Up_z4Em.js → preview-caVMbCIR.js} +2 -2
  149. package/storybook-static/assets/preview-ncvtW_hb.js +34 -0
  150. package/storybook-static/assets/{set-url.test.stories-Cg5Z0r7x.js → set-url.test.stories-CuSuDLIx.js} +3 -3
  151. package/storybook-static/assets/{slice-events.test.stories-D_ttGp3g.js → slice-events.test.stories-BkRKsKem.js} +4 -4
  152. package/storybook-static/assets/{slots.test.stories-DBNXOm0T.js → slots.test.stories-BJCUWFkE.js} +8 -8
  153. package/storybook-static/assets/{version-select.test.stories-CgV3UCim.js → version-select.test.stories-B3ybJn_Z.js} +2 -2
  154. package/storybook-static/demo/a.svg +27 -0
  155. package/storybook-static/demo/demo.css +6 -7
  156. package/storybook-static/demo/external-template.html +3 -3
  157. package/storybook-static/demo/npm-versions-demo.html +21 -8
  158. package/storybook-static/demo/npm-versions.html +54 -25
  159. package/storybook-static/demo/s.xml +11 -21
  160. package/storybook-static/demo/s.xslt +16 -74
  161. package/storybook-static/demo/s1.xslt +59 -59
  162. package/storybook-static/demo/ss.html +24 -57
  163. package/storybook-static/demo/z.html +33 -62
  164. package/storybook-static/demo/z.xml +59 -59
  165. package/storybook-static/demo/z1.html +34 -0
  166. package/storybook-static/iframe.html +1 -1
  167. package/storybook-static/index.html +3 -7
  168. package/storybook-static/mockServiceWorker.js +1 -1
  169. package/storybook-static/project.json +1 -1
  170. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +1 -1
  171. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +9 -9
  172. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +76 -94
  173. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  174. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  175. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
  176. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  177. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +211 -0
  178. package/storybook-static/sb-addons/interactions-9/manager-bundle.js.LEGAL.txt +0 -0
  179. package/storybook-static/sb-manager/globals-module-info.js +11 -0
  180. package/storybook-static/sb-manager/globals-runtime.js +27803 -26928
  181. package/storybook-static/sb-manager/runtime.js +10341 -10136
  182. package/storybook-static/sb-preview/runtime.js +3841 -3828
  183. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  184. package/.idea/compiler.xml +0 -6
  185. package/.idea/custom-element-dist.iml +0 -13
  186. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  187. package/.idea/misc.xml +0 -6
  188. package/.idea/modules.xml +0 -8
  189. package/.idea/vcs.xml +0 -6
  190. package/.vscode/settings.json +0 -24
  191. package/dist/custom-element-CckoVsvO.cjs +0 -53
  192. package/dist/custom-element-b7c_7Kz4.js +0 -485
  193. package/dist/local-storage-Boafngui.cjs +0 -1
  194. package/dist/local-storage-BqDEu2kF.js +0 -59
  195. package/storybook-static/assets/Color-KGDBMAHA-CH-YyWYq.js +0 -1
  196. package/storybook-static/assets/Configure-DFL_bm2M.js +0 -173
  197. package/storybook-static/assets/DocsRenderer-PKQXORMH-Bz-_1hmS.js +0 -2
  198. package/storybook-static/assets/custom-element-wn23PUwN.js +0 -231
  199. package/storybook-static/assets/entry-preview-BKQ8UCxI.js +0 -8
  200. package/storybook-static/assets/iframe-D4Sos1HO.js +0 -2
  201. package/storybook-static/assets/index-BnXBQqj9.js +0 -605
  202. package/storybook-static/assets/index-C8k3Z-3Y.js +0 -28
  203. package/storybook-static/assets/index-Cpxqn5iQ.js +0 -1
  204. package/storybook-static/assets/index-DGdNYaqV.js +0 -8
  205. package/storybook-static/assets/index-sm7QlJZE.js +0 -1
  206. package/storybook-static/assets/lit-element-DzhCn-8W.js +0 -19
  207. package/storybook-static/assets/local-storage.test.stories-BpogLNq-.js +0 -419
  208. package/storybook-static/assets/preview-BJPLiuSt.js +0 -1
  209. package/storybook-static/assets/preview-BMWqy4Bi.js +0 -1
  210. package/storybook-static/assets/preview-BnWGZYux.js +0 -1
  211. package/storybook-static/assets/preview-Djh1_Tal.js +0 -20
  212. package/storybook-static/assets/preview-oHxXRSIu.js +0 -48
  213. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js +0 -333
  214. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +0 -40
  215. package/storybook-static/sb-addons/interactions-10/manager-bundle.js +0 -234
  216. /package/{storybook-static/sb-addons/interactions-10/manager-bundle.js.LEGAL.txt → src/material/guide/getting-started/index.html} +0 -0
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">6.06% </span>
26
+ <span class="strong">7.23% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/231</span>
28
+ <span class='fraction'>17/235</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">12.5% </span>
40
+ <span class="strong">13.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/16</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">5.88% </span>
47
+ <span class="strong">7.07% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/221</span>
49
+ <span class='fraction'>16/226</span>
50
50
  </div>
51
51
 
52
52
 
@@ -463,7 +463,17 @@
463
463
  <a name='L398'></a><a href='#L398'>398</a>
464
464
  <a name='L399'></a><a href='#L399'>399</a>
465
465
  <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
467
477
  <span class="cline-any cline-neutral">&nbsp;</span>
468
478
  <span class="cline-any cline-neutral">&nbsp;</span>
469
479
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -473,7 +483,8 @@
473
483
  <span class="cline-any cline-neutral">&nbsp;</span>
474
484
  <span class="cline-any cline-neutral">&nbsp;</span>
475
485
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-yes">1x</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-yes">2x</span>
477
488
  <span class="cline-any cline-neutral">&nbsp;</span>
478
489
  <span class="cline-any cline-neutral">&nbsp;</span>
479
490
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -485,8 +496,9 @@
485
496
  <span class="cline-any cline-neutral">&nbsp;</span>
486
497
  <span class="cline-any cline-neutral">&nbsp;</span>
487
498
  <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-yes">4x</span>
489
- <span class="cline-any cline-yes">4x</span>
499
+ <span class="cline-any cline-yes">8x</span>
500
+ <span class="cline-any cline-yes">8x</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
502
  <span class="cline-any cline-neutral">&nbsp;</span>
491
503
  <span class="cline-any cline-neutral">&nbsp;</span>
492
504
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -508,15 +520,18 @@
508
520
  <span class="cline-any cline-neutral">&nbsp;</span>
509
521
  <span class="cline-any cline-neutral">&nbsp;</span>
510
522
  <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-yes">2x</span>
511
524
  <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-yes">1x</span>
513
525
  <span class="cline-any cline-neutral">&nbsp;</span>
514
526
  <span class="cline-any cline-neutral">&nbsp;</span>
515
527
  <span class="cline-any cline-neutral">&nbsp;</span>
516
528
  <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-yes">2x</span>
530
+ <span class="cline-any cline-yes">2x</span>
531
+ <span class="cline-any cline-yes">2x</span>
517
532
  <span class="cline-any cline-neutral">&nbsp;</span>
518
533
  <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-yes">1x</span>
534
+ <span class="cline-any cline-yes">2x</span>
520
535
  <span class="cline-any cline-neutral">&nbsp;</span>
521
536
  <span class="cline-any cline-neutral">&nbsp;</span>
522
537
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -531,15 +546,17 @@
531
546
  <span class="cline-any cline-no">&nbsp;</span>
532
547
  <span class="cline-any cline-no">&nbsp;</span>
533
548
  <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
549
  <span class="cline-any cline-no">&nbsp;</span>
536
550
  <span class="cline-any cline-no">&nbsp;</span>
537
551
  <span class="cline-any cline-no">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-no">&nbsp;</span>
538
554
  <span class="cline-any cline-no">&nbsp;</span>
539
555
  <span class="cline-any cline-no">&nbsp;</span>
540
556
  <span class="cline-any cline-no">&nbsp;</span>
541
557
  <span class="cline-any cline-neutral">&nbsp;</span>
542
558
  <span class="cline-any cline-no">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
560
  <span class="cline-any cline-no">&nbsp;</span>
544
561
  <span class="cline-any cline-no">&nbsp;</span>
545
562
  <span class="cline-any cline-no">&nbsp;</span>
@@ -548,8 +565,8 @@
548
565
  <span class="cline-any cline-no">&nbsp;</span>
549
566
  <span class="cline-any cline-no">&nbsp;</span>
550
567
  <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
568
  <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
570
  <span class="cline-any cline-no">&nbsp;</span>
554
571
  <span class="cline-any cline-no">&nbsp;</span>
555
572
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -557,7 +574,7 @@
557
574
  <span class="cline-any cline-neutral">&nbsp;</span>
558
575
  <span class="cline-any cline-neutral">&nbsp;</span>
559
576
  <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-yes">1x</span>
577
+ <span class="cline-any cline-yes">2x</span>
561
578
  <span class="cline-any cline-neutral">&nbsp;</span>
562
579
  <span class="cline-any cline-neutral">&nbsp;</span>
563
580
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -568,6 +585,7 @@
568
585
  <span class="cline-any cline-no">&nbsp;</span>
569
586
  <span class="cline-any cline-no">&nbsp;</span>
570
587
  <span class="cline-any cline-no">&nbsp;</span>
588
+ <span class="cline-any cline-no">&nbsp;</span>
571
589
  <span class="cline-any cline-neutral">&nbsp;</span>
572
590
  <span class="cline-any cline-no">&nbsp;</span>
573
591
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -588,7 +606,7 @@
588
606
  <span class="cline-any cline-neutral">&nbsp;</span>
589
607
  <span class="cline-any cline-neutral">&nbsp;</span>
590
608
  <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">1x</span>
609
+ <span class="cline-any cline-yes">2x</span>
592
610
  <span class="cline-any cline-neutral">&nbsp;</span>
593
611
  <span class="cline-any cline-neutral">&nbsp;</span>
594
612
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -632,7 +650,7 @@
632
650
  <span class="cline-any cline-neutral">&nbsp;</span>
633
651
  <span class="cline-any cline-neutral">&nbsp;</span>
634
652
  <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-yes">1x</span>
653
+ <span class="cline-any cline-yes">2x</span>
636
654
  <span class="cline-any cline-neutral">&nbsp;</span>
637
655
  <span class="cline-any cline-neutral">&nbsp;</span>
638
656
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -855,21 +873,24 @@
855
873
  <span class="cline-any cline-neutral">&nbsp;</span>
856
874
  <span class="cline-any cline-neutral">&nbsp;</span>
857
875
  <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-yes">1x</span>
859
876
  <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-yes">2x</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-yes">2x</span>
881
+ <span class="cline-any cline-yes">2x</span>
882
+ <span class="cline-any cline-yes">2x</span>
883
+ <span class="cline-any cline-yes">2x</span>
860
884
  <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-yes">1x</span>
862
- <span class="cline-any cline-yes">1x</span>
863
- <span class="cline-any cline-yes">1x</span>
864
- <span class="cline-any cline-yes">1x</span>
865
885
  <span class="cline-any cline-neutral">&nbsp;</span>
866
886
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
867
887
  &nbsp;
868
888
  import type { StoryObj } from '@storybook/web-components';
869
- import {expect, getByTestId, within} from '@storybook/test';
889
+ import {expect, userEvent, within} from '@storybook/test';
870
890
  &nbsp;
871
891
  import '../custom-element/custom-element.js';
872
892
  import '../custom-element/local-storage.js';
893
+ import {localStorage_clear, localStorage_removeItem, localStorageSetItem} from "../custom-element";
873
894
  &nbsp;
874
895
  type TProps = { title: string; slice: string; key: string; value:string; live:string; body:string};
875
896
  const defs: TProps =
@@ -915,41 +936,47 @@ const meta =
915
936
  &nbsp;
916
937
  export default meta;
917
938
  &nbsp;
939
+ window['localStorageSetItem'] = localStorageSetItem;
940
+ window['localStorage_clear'] = localStorage_clear;
941
+ window['localStorage_removeItem'] = localStorage_removeItem;
942
+ &nbsp;
918
943
  export const Demo:Story =
919
944
  { args : {title: 'live value', live:'live', body:`
920
945
  &lt;input placeholder="value for localStorage" id="textinput"
921
946
  slice="${defs.slice}"
922
947
  value="{ //${defs.slice} ?? '${ defs.value }' }"/&gt;
923
- &lt;button onclick="localStorage.setItem('${defs.key}',textinput.value )"&gt;set&lt;/button&gt;
924
- &lt;button onclick="localStorage.setItem('${defs.key}','text value' )"&gt;text value&lt;/button&gt;
925
- &lt;button onclick="localStorage.setItem('${defs.key}','another text')"&gt;another text&lt;/button&gt;
926
- &lt;button onclick="localStorage.removeItem('${defs.key}' )"&gt;set blank&lt;/button&gt;
948
+ &lt;button onclick="localStorageSetItem('${defs.key}',textinput.value )"&gt;set&lt;/button&gt;
949
+ &lt;button onclick="localStorageSetItem('${defs.key}','text value' )"&gt;text value&lt;/button&gt;
950
+ &lt;button onclick="localStorageSetItem('${defs.key}','another text')"&gt;another text&lt;/button&gt;
951
+ &lt;button onclick="localStorage_removeItem('${defs.key}' )"&gt;set blank&lt;/button&gt;
927
952
  `}
928
953
  , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
929
954
  {
955
+ <span class="cstat-no" title="statement not covered" > localStorage_clear();</span>
930
956
  const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
931
957
  <span class="cstat-no" title="statement not covered" > await canvas.findByText(Demo.args!.title as string);</span>
932
958
  const val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()=&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByTestId('slice-value').textContent</span></span>
933
- , byText = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >txt =&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByText(txt);</span></span>
959
+ <span class="cstat-no" title="statement not covered" > await userEvent.click(await canvas.findByText('set blank'));</span>
960
+ <span class="cstat-no" title="statement not covered" > await expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');</span>
961
+ <span class="cstat-no" title="statement not covered" > await expect( val() ).toEqual('');</span>
934
962
  &nbsp;
935
- <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
936
- <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');</span>
937
- <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('');</span>
938
- <span class="cstat-no" title="statement not covered" > byText('text value').click();</span>
963
+ <span class="cstat-no" title="statement not covered" > await userEvent.click(canvas.getByText('text value'));</span>
939
964
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
940
- <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('text value');</span>
965
+ <span class="cstat-no" title="statement not covered" > await expect(localStorage.getItem(defs.key)).toEqual('text value', 'from localStorage');</span>
966
+ <span class="cstat-no" title="statement not covered" > await expect( val() ).toEqual('text value');</span>
941
967
  &nbsp;
942
968
  <span class="cstat-no" title="statement not covered" > window['textinput'].value = 'textinput.value';</span>
943
- <span class="cstat-no" title="statement not covered" > byText('set').click();</span>
969
+ &nbsp;
970
+ <span class="cstat-no" title="statement not covered" > await userEvent.click(canvas.getByText('set'));</span>
944
971
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
945
972
  <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('textinput.value');</span>
946
973
  &nbsp;
947
- <span class="cstat-no" title="statement not covered" > byText('another text').click();</span>
974
+ <span class="cstat-no" title="statement not covered" > await userEvent.click(canvas.getByText('another text'));</span>
948
975
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
949
976
  <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('another text');</span>
950
977
  &nbsp;
978
+ <span class="cstat-no" title="statement not covered" > await userEvent.click(canvas.getByText('set blank'));</span>
951
979
  &nbsp;
952
- <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
953
980
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
954
981
  <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('');</span>
955
982
  },
@@ -959,31 +986,32 @@ export const Demo:Story =
959
986
  export const AlwaysOverride:Story =
960
987
  { args : {title: 'AlwaysOverride', live:'', value:'ABC', body:`
961
988
  buttons are changing the localStorage value, but without 'live' attribute slice ^^ from &lt;i&gt;local-storage&lt;/i&gt; is not updated&lt;br/&gt;
962
- &lt;button onclick="localStorage.setItem('${defs.key}','text value' )"&gt;text value&lt;/button&gt;
963
- &lt;button onclick="localStorage.removeItem('${defs.key}' )"&gt;set blank&lt;/button&gt;
989
+ &lt;button onclick="localStorageSetItem('${defs.key}','text value')"&gt;text value&lt;/button&gt;
990
+ &lt;button onclick="localStorage_removeItem('${defs.key}')"&gt;set blank&lt;/button&gt;
964
991
  `}
965
992
  , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
966
993
  {
967
994
  const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
968
995
  <span class="cstat-no" title="statement not covered" > await canvas.findByText(AlwaysOverride.args!.title as string);</span>
969
- const val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()=&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByTestId('slice-value').textContent</span></span>
970
- , byText = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >txt =&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByText(txt);</span></span>
996
+ const val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()=&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByTestId('slice-value').textContent;</span></span>
997
+ const click = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (t</span>ext)=&gt; <span class="cstat-no" title="statement not covered" >await userEvent.click( await canvas.findByText(text) );</span></span>
998
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
971
999
  &nbsp;
972
- <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual('ABC', 'from localStorage');</span>
1000
+ <span class="cstat-no" title="statement not covered" > await expect( localStorage.getItem(defs.key)).toEqual('ABC');</span>
973
1001
  &nbsp;
974
- <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
975
- <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');</span>
1002
+ <span class="cstat-no" title="statement not covered" > await click('set blank')</span>
1003
+ <span class="cstat-no" title="statement not covered" > await expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');</span>
976
1004
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
977
- <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('ABC');</span>
1005
+ <span class="cstat-no" title="statement not covered" > await expect( val() ).toEqual('ABC');</span>
978
1006
  &nbsp;
979
- <span class="cstat-no" title="statement not covered" > byText('text value').click();</span>
1007
+ <span class="cstat-no" title="statement not covered" > await click('text value');</span>
980
1008
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
981
- <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual('text value', 'from localStorage');</span>
982
- <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('ABC');</span>
1009
+ <span class="cstat-no" title="statement not covered" > await expect(localStorage.getItem(defs.key)).toEqual('text value', 'from localStorage');</span>
1010
+ <span class="cstat-no" title="statement not covered" > await expect( val() ).toEqual('ABC');</span>
983
1011
  &nbsp;
984
- <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
1012
+ <span class="cstat-no" title="statement not covered" > await click('set blank');</span>
985
1013
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
986
- <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('ABC');</span>
1014
+ <span class="cstat-no" title="statement not covered" > await expect( val() ).toEqual('ABC');</span>
987
1015
  },
988
1016
  };
989
1017
  &nbsp;
@@ -991,15 +1019,15 @@ export const FromStorageWithDefault:Story =
991
1019
  { args : {title: 'live value with defaults', live:'', value:'ABC', body:`
992
1020
  &nbsp;
993
1021
  &lt;local-storage key="attr2Key" slice="attr2-key" type="text" live="live" slice-value="@value ?? 'DEF2'"&gt;&lt;/local-storage&gt;
994
- &lt;button onclick="localStorage.removeItem('attr2Key')"&gt;clear key&lt;/button&gt;
995
- &lt;button onclick="localStorage.setItem('attr2Key','attr2Key value')"&gt;update attr2-key value&lt;/button&gt;
1022
+ &lt;button onclick="localStorage_removeItem('attr2Key')"&gt;clear key&lt;/button&gt;
1023
+ &lt;button onclick="localStorageSetItem('attr2Key','attr2Key value')"&gt;update attr2-key value&lt;/button&gt;
996
1024
  //attr2-key: &lt;code data-testid="key2-value"&gt;{//attr2-key}&lt;/code&gt;&lt;br/&gt;
997
1025
  &nbsp;
998
1026
  &lt;local-storage key="attr3Key" slice="attr3-key" type="text" live="live" slice-value="@value ?? 'DEF3'"&gt;&lt;/local-storage&gt;
999
- &lt;button onclick="localStorage.removeItem('attr3Key')"&gt;clear attr3-key key&lt;/button&gt;
1000
- &lt;button onclick="localStorage.setItem('attr3Key','attr3Key value')"&gt;update attr3-key value&lt;/button&gt;
1027
+ &lt;button onclick="localStorage_removeItem('attr3Key')"&gt;clear attr3-key key&lt;/button&gt;
1028
+ &lt;button onclick="localStorageSetItem('attr3Key','attr3Key value')"&gt;update attr3-key value&lt;/button&gt;
1001
1029
  //attr3-key: &lt;code data-testid="key3-value"&gt;{//attr3-key}&lt;/code&gt;&lt;br/&gt;
1002
- &lt;button onclick="localStorage.clear()"&gt;clear localStorage&lt;/button&gt;
1030
+ &lt;button onclick="localStorage_clear()"&gt;clear localStorage&lt;/button&gt;
1003
1031
  `}
1004
1032
  , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
1005
1033
  {
@@ -1042,39 +1070,39 @@ export const TypeAttribute:Story =
1042
1070
  &lt;local-storage key="jsonKey" slice="json-key" type="json" live="live"&gt;&lt;/local-storage&gt;
1043
1071
  &lt;input id="typesinput" placeholder="set value"&gt;&lt;button onclick="
1044
1072
  'textKey,dateKey,timeKey,localDateTimeKey,numberKey,jsonKey'.split(',')
1045
- .map( k=&gt; localStorage.setItem(k, typesinput.value) )
1073
+ .map( k=&gt; localStorageSetItem(k, typesinput.value) )
1046
1074
  "&gt; set to all&lt;/button&gt;&lt;br&gt;
1047
1075
  &lt;hr&gt;
1048
1076
  text-key:
1049
- &lt;button onclick="localStorage.setItem('textKey', 'ABC' )"&gt;ABC&lt;/button&gt;
1077
+ &lt;button onclick="localStorageSetItem('textKey', 'ABC' )"&gt;ABC&lt;/button&gt;
1050
1078
  &lt;code data-testid="text-key"&gt;{//text-key }&lt;/code&gt;&lt;br&gt;
1051
1079
  date-key:
1052
- &lt;button onclick="localStorage.setItem('dateKey', '2024-04-20T03:58:42.131Z')"&gt;2024-04-21T03:58:42.131Z &lt;/button&gt;
1053
- &lt;button onclick="localStorage.setItem('dateKey', new Date(Date.now()).toISOString())"&gt;now &lt;/button&gt;
1054
- &lt;button onclick="localStorage.setItem('dateKey', 'ABC' )"&gt;date ABC - invalid &lt;/button&gt;
1080
+ &lt;button onclick="localStorageSetItem('dateKey', '2024-04-20T03:58:42.131Z')"&gt;2024-04-21T03:58:42.131Z &lt;/button&gt;
1081
+ &lt;button onclick="localStorageSetItem('dateKey', new Date(Date.now()).toISOString())"&gt;now &lt;/button&gt;
1082
+ &lt;button onclick="localStorageSetItem('dateKey', 'ABC' )"&gt;date ABC - invalid &lt;/button&gt;
1055
1083
  &lt;code data-testid="date-key"&gt;{//date-key }&lt;/code&gt;&lt;br&gt;
1056
1084
  time-key:
1057
- &lt;button onclick="localStorage.setItem('timeKey', '13:30')"&gt;13:30 &lt;/button&gt;
1085
+ &lt;button onclick="localStorageSetItem('timeKey', '13:30')"&gt;13:30 &lt;/button&gt;
1058
1086
  &lt;code data-testid="time-key"&gt;{//time-key }&lt;/code&gt;&lt;br&gt;
1059
1087
  local-date-time:
1060
- &lt;button onclick="localStorage.setItem('localDateTimeKey', '1977-04-01T14:00:30')"&gt;1977-04-01T14:00:30 - local &lt;/button&gt;
1088
+ &lt;button onclick="localStorageSetItem('localDateTimeKey', '1977-04-01T14:00:30')"&gt;1977-04-01T14:00:30 - local &lt;/button&gt;
1061
1089
  &lt;code data-testid="local-date-time"&gt;{//local-date-time}&lt;/code&gt;&lt;br&gt;
1062
1090
  number-key:
1063
- &lt;button onclick="localStorage.setItem('numberKey', '2024' )"&gt;2024 - number &lt;/button&gt;
1064
- &lt;button onclick="localStorage.setItem('numberKey', '24' )"&gt;24 - number &lt;/button&gt;
1065
- &lt;button onclick="localStorage.setItem('numberKey', '1.23456e+5' )"&gt;1.23456e+5 &lt;/button&gt;
1066
- &lt;button onclick="localStorage.setItem('numberKey', '0001' )"&gt;0001 &lt;/button&gt;
1067
- &lt;button onclick="localStorage.setItem('numberKey', '000' )"&gt;000 &lt;/button&gt;
1068
- &lt;button onclick="localStorage.setItem('numberKey', '0' )"&gt;0 &lt;/button&gt;
1069
- &lt;button onclick="localStorage.setItem('numberKey', 'ABC' )"&gt;ABC - invalid, NaN &lt;/button&gt;
1091
+ &lt;button onclick="localStorageSetItem('numberKey', '2024' )"&gt;2024 - number &lt;/button&gt;
1092
+ &lt;button onclick="localStorageSetItem('numberKey', '24' )"&gt;24 - number &lt;/button&gt;
1093
+ &lt;button onclick="localStorageSetItem('numberKey', '1.23456e+5' )"&gt;1.23456e+5 &lt;/button&gt;
1094
+ &lt;button onclick="localStorageSetItem('numberKey', '0001' )"&gt;0001 &lt;/button&gt;
1095
+ &lt;button onclick="localStorageSetItem('numberKey', '000' )"&gt;000 &lt;/button&gt;
1096
+ &lt;button onclick="localStorageSetItem('numberKey', '0' )"&gt;0 &lt;/button&gt;
1097
+ &lt;button onclick="localStorageSetItem('numberKey', 'ABC' )"&gt;ABC - invalid, NaN &lt;/button&gt;
1070
1098
  &lt;code data-testid="number-key"&gt;{//number-key }&lt;/code&gt; &lt;br&gt;
1071
1099
  &lt;fieldset&gt;
1072
1100
  &lt;legend&gt;json-key: &lt;/legend&gt;
1073
1101
  &nbsp;
1074
- &lt;button onclick="localStorage.setItem('jsonKey', JSON.stringify('ABC'))"&gt;'ABC' - string &lt;/button&gt;
1075
- &lt;button onclick="localStorage.setItem('jsonKey', JSON.stringify(12.345))"&gt;12.345 - number &lt;/button&gt;
1076
- &lt;button onclick="localStorage.setItem('jsonKey', JSON.stringify(window.JsonSample) )"&gt;a:1,b:'B' -json &lt;/button&gt;
1077
- &lt;button onclick="localStorage.setItem('jsonKey', 'ABC' )"&gt;ABC - invalid &lt;/button&gt;&lt;br&gt;
1102
+ &lt;button onclick="localStorageSetItem('jsonKey', JSON.stringify('ABC'))"&gt;'ABC' - string &lt;/button&gt;
1103
+ &lt;button onclick="localStorageSetItem('jsonKey', JSON.stringify(12.345))"&gt;12.345 - number &lt;/button&gt;
1104
+ &lt;button onclick="localStorageSetItem('jsonKey', JSON.stringify(window.JsonSample) )"&gt;a:1,b:'B' -json &lt;/button&gt;
1105
+ &lt;button onclick="localStorageSetItem('jsonKey', 'ABC' )"&gt;ABC - invalid &lt;/button&gt;&lt;br&gt;
1078
1106
  json-key:&lt;code data-testid="json-key"&gt;&lt;xsl:apply-templates select="//json-key/value/@*|//json-key/text()|//json-key/value/text()" mode="json"&gt;&lt;/xsl:apply-templates&gt;&lt;/code&gt;
1079
1107
  &lt;/fieldset&gt;
1080
1108
  &lt;xsl:template mode="json" match="*|@*"&gt;
@@ -1089,8 +1117,8 @@ export const TypeAttribute:Story =
1089
1117
  <span class="cstat-no" title="statement not covered" > await canvas.findByText(TypeAttribute.args!.title as string);</span>
1090
1118
  const byText = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >txt =&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByText(txt)</span></span>
1091
1119
  , val = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >testId =&gt; <span class="cstat-no" title="statement not covered" >c</span>anvas.getByTestId(testId).textContent</span></span>
1092
- , expectVal = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(k</span>ey,value) =&gt; { <span class="cstat-no" title="statement not covered" >expect(val( key )).toEqual( value, key ) }</span>;</span>
1093
- <span class="cstat-no" title="statement not covered" > localStorage.clear(); // cleanup before test</span>
1120
+ , expectVal = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(k</span>ey,value) =&gt; { <span class="cstat-no" title="statement not covered" >expect(val( key ).trim()).toEqual( value, key ) }</span>;</span>
1121
+ <span class="cstat-no" title="statement not covered" > localStorage_clear(); // cleanup before test</span>
1094
1122
  <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1095
1123
  &nbsp;
1096
1124
  <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'');</span>
@@ -1250,10 +1278,11 @@ export const TypeAttribute:Story =
1250
1278
  <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1251
1279
  <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1252
1280
  <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1253
- <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'\na : 1b : B' );</span>
1281
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'a : 1b : B' );</span>
1254
1282
  },
1255
1283
  };
1256
1284
  &nbsp;
1285
+ //#region unit tests
1257
1286
  /* istanbul ignore else -- @preserve */
1258
1287
  if( 'test' === import.meta.env.MODE &amp;&amp;
1259
1288
  !import.meta.url.includes('skiptest') )
@@ -1263,6 +1292,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
1263
1292
  const { describe } = await import('vitest')
1264
1293
  describe(meta.title, () =&gt; testStoryBook( mod, meta ) );
1265
1294
  }
1295
+ //#endregion
1266
1296
  &nbsp;</pre></td></tr></table></pre>
1267
1297
 
1268
1298
  <div class='push'></div><!-- for sticky footer -->
@@ -1270,7 +1300,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
1270
1300
  <div class='footer quiet pad2 space-top1 center small'>
1271
1301
  Code coverage generated by
1272
1302
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1273
- at 2024-09-01T19:14:49.300Z
1303
+ at 2024-11-07T03:27:34.733Z
1274
1304
  </div>
1275
1305
  <script src="../../prettify.js"></script>
1276
1306
  <script>
@@ -208,7 +208,9 @@
208
208
  <a name='L143'></a><a href='#L143'>143</a>
209
209
  <a name='L144'></a><a href='#L144'>144</a>
210
210
  <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
212
214
  <span class="cline-any cline-neutral">&nbsp;</span>
213
215
  <span class="cline-any cline-neutral">&nbsp;</span>
214
216
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -345,6 +347,7 @@
345
347
  <span class="cline-any cline-neutral">&nbsp;</span>
346
348
  <span class="cline-any cline-neutral">&nbsp;</span>
347
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
351
  <span class="cline-any cline-yes">1x</span>
349
352
  <span class="cline-any cline-neutral">&nbsp;</span>
350
353
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -353,6 +356,7 @@
353
356
  <span class="cline-any cline-yes">1x</span>
354
357
  <span class="cline-any cline-yes">1x</span>
355
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
360
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
357
361
  &nbsp;
358
362
  import type { StoryObj } from '@storybook/web-components';
@@ -489,6 +493,7 @@ export const SrcAttribute:Story =
489
493
  };
490
494
  &nbsp;
491
495
  &nbsp;
496
+ //#region unit tests
492
497
  /* istanbul ignore else -- @preserve */
493
498
  if( 'test' === import.meta.env.MODE &amp;&amp;
494
499
  !import.meta.url.includes('skiptest') )
@@ -498,6 +503,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
498
503
  const { describe } = await import('vitest')
499
504
  describe(meta.title, () =&gt; testStoryBook( mod, meta ) );
500
505
  }
506
+ //#endregion
501
507
  &nbsp;</pre></td></tr></table></pre>
502
508
 
503
509
  <div class='push'></div><!-- for sticky footer -->
@@ -505,7 +511,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
505
511
  <div class='footer quiet pad2 space-top1 center small'>
506
512
  Code coverage generated by
507
513
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
508
- at 2024-09-01T19:14:49.300Z
514
+ at 2024-11-07T03:27:34.733Z
509
515
  </div>
510
516
  <script src="../../prettify.js"></script>
511
517
  <script>
@@ -246,7 +246,9 @@
246
246
  <a name='L181'></a><a href='#L181'>181</a>
247
247
  <a name='L182'></a><a href='#L182'>182</a>
248
248
  <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
250
252
  <span class="cline-any cline-neutral">&nbsp;</span>
251
253
  <span class="cline-any cline-neutral">&nbsp;</span>
252
254
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -421,6 +423,7 @@
421
423
  <span class="cline-any cline-neutral">&nbsp;</span>
422
424
  <span class="cline-any cline-neutral">&nbsp;</span>
423
425
  <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
427
  <span class="cline-any cline-yes">1x</span>
425
428
  <span class="cline-any cline-neutral">&nbsp;</span>
426
429
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -429,6 +432,7 @@
429
432
  <span class="cline-any cline-yes">1x</span>
430
433
  <span class="cline-any cline-yes">1x</span>
431
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
436
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
433
437
  &nbsp;
434
438
  // importmap is located at .storybook/preview-head.html
@@ -603,6 +607,7 @@ export const HashWithinLib:Story =
603
607
  };
604
608
  &nbsp;
605
609
  &nbsp;
610
+ //#region unit tests
606
611
  /* istanbul ignore else -- @preserve */
607
612
  if( 'test' === import.meta.env.MODE &amp;&amp;
608
613
  !import.meta.url.includes('skiptest') )
@@ -612,6 +617,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
612
617
  const { describe } = await import('vitest')
613
618
  describe(meta.title, () =&gt; testStoryBook( mod, meta ) );
614
619
  }
620
+ //#endregion
615
621
  &nbsp;</pre></td></tr></table></pre>
616
622
 
617
623
  <div class='push'></div><!-- for sticky footer -->
@@ -619,7 +625,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
619
625
  <div class='footer quiet pad2 space-top1 center small'>
620
626
  Code coverage generated by
621
627
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
622
- at 2024-09-01T19:14:49.300Z
628
+ at 2024-11-07T03:27:34.733Z
623
629
  </div>
624
630
  <script src="../../prettify.js"></script>
625
631
  <script>
@@ -177,7 +177,9 @@
177
177
  <a name='L112'></a><a href='#L112'>112</a>
178
178
  <a name='L113'></a><a href='#L113'>113</a>
179
179
  <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
181
183
  <span class="cline-any cline-neutral">&nbsp;</span>
182
184
  <span class="cline-any cline-neutral">&nbsp;</span>
183
185
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -284,6 +286,7 @@
284
286
  <span class="cline-any cline-neutral">&nbsp;</span>
285
287
  <span class="cline-any cline-neutral">&nbsp;</span>
286
288
  <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
290
  <span class="cline-any cline-yes">1x</span>
288
291
  <span class="cline-any cline-neutral">&nbsp;</span>
289
292
  <span class="cline-any cline-yes">1x</span>
@@ -291,6 +294,7 @@
291
294
  <span class="cline-any cline-yes">1x</span>
292
295
  <span class="cline-any cline-yes">1x</span>
293
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
298
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
295
299
  &nbsp;
296
300
  import type {StoryObj} from '@storybook/web-components';
@@ -397,6 +401,7 @@ export const DynamicMethod: Story =
397
401
  };
398
402
  &nbsp;
399
403
  &nbsp;
404
+ //#region unit tests
400
405
  /* istanbul ignore else -- @preserve */
401
406
  if ('test' === import.meta.env.MODE &amp;&amp;
402
407
  !import.meta.url.includes('skiptest')) {
@@ -405,6 +410,7 @@ if ('test' === import.meta.env.MODE &amp;&amp;
405
410
  const {describe} = await import('vitest')
406
411
  describe(meta.title, () =&gt; testStoryBook(mod, meta));
407
412
  }
413
+ //#endregion
408
414
  &nbsp;</pre></td></tr></table></pre>
409
415
 
410
416
  <div class='push'></div><!-- for sticky footer -->
@@ -412,7 +418,7 @@ if ('test' === import.meta.env.MODE &amp;&amp;
412
418
  <div class='footer quiet pad2 space-top1 center small'>
413
419
  Code coverage generated by
414
420
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
415
- at 2024-09-01T19:14:49.300Z
421
+ at 2024-11-07T03:27:34.733Z
416
422
  </div>
417
423
  <script src="../../prettify.js"></script>
418
424
  <script>