@epa-wg/custom-element-dist 0.0.21 → 0.0.23

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 (174) hide show
  1. package/.idea/.gitignore +8 -0
  2. package/README.md +4 -4
  3. package/coverage/coverage-final.json +13 -11
  4. package/coverage/index.html +30 -30
  5. package/coverage/src/custom-element/coverage.svg +1 -1
  6. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  7. package/coverage/src/custom-element/custom-element.js.html +603 -420
  8. package/coverage/src/custom-element/http-request.js.html +10 -10
  9. package/coverage/src/custom-element/index.html +18 -18
  10. package/coverage/src/custom-element/local-storage.js.html +2 -2
  11. package/coverage/src/custom-element/location-element.js.html +1 -1
  12. package/coverage/src/index.html +1 -1
  13. package/coverage/src/mocks/handlers.ts.html +1 -1
  14. package/coverage/src/mocks/index.html +1 -1
  15. package/coverage/src/stories/{css.stories.ts → attributes.test.stories.ts}/coverage.svg +1 -1
  16. package/coverage/src/stories/{attributes.stories.ts.html → attributes.test.stories.ts.html} +113 -83
  17. package/coverage/src/stories/coverage.svg +1 -1
  18. package/coverage/src/stories/css.test.stories.ts/coverage.svg +10 -0
  19. package/coverage/src/stories/{css.stories.ts.html → css.test.stories.ts.html} +122 -65
  20. package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +10 -0
  21. package/coverage/src/stories/{dom-merge.stories.ts.html → dom-merge.test.stories.ts.html} +118 -70
  22. package/coverage/src/stories/external-template.test.stories.ts/coverage.svg +10 -0
  23. package/coverage/src/stories/{external-template.stories.ts.html → external-template.test.stories.ts.html} +180 -150
  24. package/coverage/src/stories/form.test.stories.ts/coverage.svg +10 -0
  25. package/coverage/src/stories/form.test.stories.ts.html +655 -0
  26. package/coverage/src/stories/http-request.stories.ts.html +7 -7
  27. package/coverage/src/stories/index.html +118 -88
  28. package/coverage/src/stories/{dom-merge.stories.ts → local-storage.test.stories.ts}/coverage.svg +1 -1
  29. package/coverage/src/stories/{local-storage.stories.ts.html → local-storage.test.stories.ts.html} +475 -439
  30. package/coverage/src/stories/{external-template.stories.ts → location-element.test.stories.ts}/coverage.svg +1 -1
  31. package/coverage/src/stories/{location-element.stories.ts.html → location-element.test.stories.ts.html} +134 -98
  32. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +10 -0
  33. package/coverage/src/stories/slice-events.test.stories.ts.html +685 -0
  34. package/coverage/src/stories/slots.test.stories.ts/coverage.svg +10 -0
  35. package/coverage/src/stories/slots.test.stories.ts.html +736 -0
  36. package/coverage/src/stories/{renderPlay.ts.html → testStoryBook.ts.html} +44 -26
  37. package/coverage/src/sum.ts.html +1 -1
  38. package/dist/custom-element-BISbI4SU.js +463 -0
  39. package/dist/custom-element-N-sWiqGK.cjs +53 -0
  40. package/dist/custom-element-bundle.cjs +1 -1
  41. package/dist/custom-element-bundle.js +2 -2
  42. package/dist/mockServiceWorker.js +1 -1
  43. package/package.json +4 -4
  44. package/public/mockServiceWorker.js +1 -1
  45. package/src/custom-element/custom-element.d.ts +4 -0
  46. package/src/custom-element/custom-element.js +103 -42
  47. package/src/custom-element/demo/a.html +38 -41
  48. package/src/custom-element/demo/b.html +13 -0
  49. package/src/custom-element/demo/data-slices.html +32 -0
  50. package/src/custom-element/demo/form.html +240 -0
  51. package/src/custom-element/demo/s.xml +11 -14
  52. package/src/custom-element/demo/s.xslt +22 -38
  53. package/src/custom-element/demo/s1.xslt +60 -0
  54. package/src/custom-element/ide/customData-dce.json +14 -1
  55. package/src/custom-element/ide/web-types-dce.json +6 -1
  56. package/src/custom-element/ide/web-types-xsl.json +1 -1
  57. package/src/custom-element/index.html +1 -0
  58. package/src/custom-element.test.ts +24 -8
  59. package/src/stories/{attributes.stories.ts → attributes.test.stories.ts} +19 -9
  60. package/src/stories/{css.stories.ts → css.test.stories.ts} +28 -9
  61. package/src/stories/{dom-merge.stories.ts → dom-merge.test.stories.ts} +19 -3
  62. package/src/stories/{external-template.stories.ts → external-template.test.stories.ts} +13 -3
  63. package/src/stories/form.test.stories.ts +190 -0
  64. package/src/stories/http-request.stories.ts +6 -6
  65. package/src/stories/http-request.test.ts +0 -9
  66. package/src/stories/{local-storage.stories.ts → local-storage.test.stories.ts} +24 -12
  67. package/src/stories/{location-element.stories.ts → location-element.test.stories.ts} +21 -9
  68. package/src/stories/{slice-events.stories.ts → slice-events.test.stories.ts} +88 -5
  69. package/src/stories/slots.test.stories.ts +217 -0
  70. package/src/stories/testStoryBook.ts +28 -0
  71. package/storybook-static/assets/{Color-RQJUDNI5-C4yZhNbM.js → Color-PRSJMWNM-BD_Ds9NW.js} +1 -1
  72. package/storybook-static/assets/{Configure-C7d36rng.js → Configure-70I_VApa.js} +1 -1
  73. package/storybook-static/assets/DocsRenderer-K4EAMTCU-9dn0-HCP.js +2 -0
  74. package/storybook-static/assets/WithTooltip-KJL26V4Q-C6g5GOU9.js +1 -0
  75. package/storybook-static/assets/{attributes.stories-ZB0RTY1d.js → attributes.test.stories-BEOraI4E.js} +22 -21
  76. package/storybook-static/assets/css.test.stories-D9WaxrEv.js +96 -0
  77. package/storybook-static/assets/custom-element-BV8-hRQS.js +219 -0
  78. package/storybook-static/assets/{dom-merge.stories-CgHZUABU.js → dom-merge.test.stories-BhbNeum_.js} +5 -6
  79. package/storybook-static/assets/{entry-preview-CQqNFx4W.js → entry-preview-DrgzXgwT.js} +1 -1
  80. package/storybook-static/assets/{entry-preview-docs-CWgqLfd3.js → entry-preview-docs-Bxv0qQWs.js} +1 -1
  81. package/storybook-static/assets/{external-template.stories-DtSLMxvg.js → external-template.test.stories-Bpr_wxBo.js} +23 -24
  82. package/storybook-static/assets/form.test.stories-3tURbEdv.js +250 -0
  83. package/storybook-static/assets/{formatter-B5HCVTEV-tKeEfJA9.js → formatter-2WMMO6ZP-6IvBq34u.js} +5 -5
  84. package/storybook-static/assets/http-request.stories-8K_qSs8C.js +300 -0
  85. package/storybook-static/assets/iframe-zdt9kuj6.js +2 -0
  86. package/storybook-static/assets/index-B3oZkK3F.js +1 -0
  87. package/storybook-static/assets/index-C30JwJMK.js +548 -0
  88. package/storybook-static/assets/index-CVRyq5ci.js +27 -0
  89. package/storybook-static/assets/index-DXimoRZY.js +1 -0
  90. package/storybook-static/assets/{index-DnEJ_bKa.js → index-DhXZyjEd.js} +1 -1
  91. package/storybook-static/assets/index-DuIEV_9C.js +13 -0
  92. package/storybook-static/assets/{lit-element-B4_0akdT.js → lit-element-CenEXOuS.js} +2 -2
  93. package/storybook-static/assets/{local-storage.stories-BkO6djDz.js → local-storage.test.stories-CtisAQBB.js} +28 -24
  94. package/storybook-static/assets/{location-element.stories-DCIOUd0D.js → location-element.test.stories-5O_t_m4Y.js} +11 -11
  95. package/storybook-static/assets/preview-4Up_z4Em.js +7 -0
  96. package/storybook-static/assets/preview-BKCN0mOr.js +1 -0
  97. package/storybook-static/assets/{preview-CkgAD_DE.js → preview-D0eCfQft.js} +2 -2
  98. package/storybook-static/assets/preview-DRnyIGXK.js +48 -0
  99. package/storybook-static/assets/preview-FpHGYA1q.js +1 -0
  100. package/storybook-static/assets/{preview-PxUn-cIn.js → preview-TCN6m6T-.js} +1 -1
  101. package/storybook-static/assets/slice-events.test.stories-BSXCLIA5.js +231 -0
  102. package/storybook-static/assets/slots.test.stories-B1vqfHmN.js +214 -0
  103. package/storybook-static/assets/syntaxhighlighter-BP7B2CQK-DpPBKyTO.js +1 -0
  104. package/storybook-static/iframe.html +153 -10
  105. package/storybook-static/index.html +1 -1
  106. package/storybook-static/index.json +1 -1
  107. package/storybook-static/mockServiceWorker.js +1 -1
  108. package/storybook-static/project.json +1 -1
  109. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js +35 -29
  110. package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +1 -1
  111. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +1 -1
  112. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +5 -5
  113. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +35 -35
  114. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  115. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  116. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
  117. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  118. package/storybook-static/sb-addons/interactions-10/manager-bundle.js +18 -16
  119. package/storybook-static/sb-addons/links-1/manager-bundle.js +1 -1
  120. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +1 -1
  121. package/storybook-static/sb-manager/WithTooltip-KJL26V4Q-5LS5AN27.js +1 -0
  122. package/storybook-static/sb-manager/{chunk-S4VOIVUE.js → chunk-B3YDJJJH.js} +9 -9
  123. package/storybook-static/sb-manager/{chunk-FEE35O7J.js → chunk-BLWCBWKL.js} +3 -3
  124. package/storybook-static/sb-manager/{chunk-XCO5HRLK.js → chunk-GUVK2GTO.js} +3 -3
  125. package/storybook-static/sb-manager/chunk-LFRML3ZV.js +186 -0
  126. package/storybook-static/sb-manager/chunk-MC7RAF2B.js +274 -0
  127. package/storybook-static/sb-manager/{chunk-XP3HGWTR.js → chunk-ZR5JZWHI.js} +1 -1
  128. package/storybook-static/sb-manager/{formatter-B5HCVTEV-7DCBOGO6.js → formatter-2WMMO6ZP-JI7RHVTW.js} +1 -1
  129. package/storybook-static/sb-manager/globals-module-info.js +1 -1
  130. package/storybook-static/sb-manager/globals-runtime.js +1 -1
  131. package/storybook-static/sb-manager/index.js +1 -1
  132. package/storybook-static/sb-manager/runtime.js +1 -1
  133. package/storybook-static/sb-manager/{syntaxhighlighter-JOJW2KGS-VF6EEVPI.js → syntaxhighlighter-BP7B2CQK-WOJYHKQR.js} +1 -1
  134. package/storybook-static/sb-preview/runtime.js +28 -11
  135. package/tsconfig.json +31 -21
  136. package/vite.config.js +5 -5
  137. package/yarn.lock +10242 -0
  138. package/.vscode/settings.json +0 -24
  139. package/coverage/src/stories/local-storage.stories.ts/coverage.svg +0 -10
  140. package/coverage/src/stories/location-element.stories.ts/coverage.svg +0 -10
  141. package/coverage/src/stories/renderPlay.ts/coverage.svg +0 -10
  142. package/coverage/src/stories/slice-events.stories.ts/coverage.svg +0 -10
  143. package/coverage/src/stories/slice-events.stories.ts.html +0 -436
  144. package/dist/custom-element-B4v-KaIh.cjs +0 -53
  145. package/dist/custom-element-_g0GTup2.js +0 -436
  146. package/src/stories/attributes.test.ts +0 -14
  147. package/src/stories/css.test.ts +0 -12
  148. package/src/stories/dom-merge.test.ts +0 -12
  149. package/src/stories/external-template.test.ts +0 -12
  150. package/src/stories/local-storage.test.ts +0 -12
  151. package/src/stories/location-element.test.ts +0 -14
  152. package/src/stories/renderPlay.ts +0 -22
  153. package/src/stories/slice-events.test.ts +0 -12
  154. package/storybook-static/assets/DocsRenderer-K4EAMTCU-BLMupvSb.js +0 -2
  155. package/storybook-static/assets/WithTooltip-Y7J54OF7-BAQSPSFk.js +0 -1
  156. package/storybook-static/assets/css.stories-CLSX-Xxd.js +0 -86
  157. package/storybook-static/assets/custom-element-BLZZ00dz.js +0 -53
  158. package/storybook-static/assets/http-request.stories-CUzlXO89.js +0 -300
  159. package/storybook-static/assets/iframe-gCvlWuoC.js +0 -2
  160. package/storybook-static/assets/index-CBQwM6ST.js +0 -508
  161. package/storybook-static/assets/index-CDavW7r9.js +0 -193
  162. package/storybook-static/assets/index-CQA5dlr6.js +0 -13
  163. package/storybook-static/assets/index-DgaNIR0t.js +0 -1
  164. package/storybook-static/assets/index-Dkj0J1ds.js +0 -1
  165. package/storybook-static/assets/preview-C6t8KBFr.js +0 -1
  166. package/storybook-static/assets/preview-CYD85dwb.js +0 -7
  167. package/storybook-static/assets/preview-D8LadFCz.js +0 -48
  168. package/storybook-static/assets/preview-DNpCpRPf.js +0 -1
  169. package/storybook-static/assets/slice-events.stories-DXKjXI37.js +0 -115
  170. package/storybook-static/assets/syntaxhighlighter-JOJW2KGS-C04pIVD3.js +0 -1
  171. package/storybook-static/sb-manager/WithTooltip-Y7J54OF7-CEHQ77YF.js +0 -1
  172. package/storybook-static/sb-manager/chunk-E3WK6ZOZ.js +0 -234
  173. package/storybook-static/sb-manager/chunk-E6ABNH5R.js +0 -183
  174. /package/coverage/src/stories/{attributes.stories.ts → testStoryBook.ts}/coverage.svg +0 -0
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/stories/local-storage.stories.ts</title>
6
+ <title>Code coverage report for src/stories/local-storage.test.stories.ts</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/stories</a> local-storage.stories.ts</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/stories</a> local-storage.test.stories.ts</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">6.06% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>224/224</span>
28
+ <span class='fraction'>14/231</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>4/4</span>
35
+ <span class='fraction'>7/7</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">12.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>15/15</span>
42
+ <span class='fraction'>2/16</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">5.88% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>215/215</span>
49
+ <span class='fraction'>13/221</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -451,7 +451,19 @@
451
451
  <a name='L386'></a><a href='#L386'>386</a>
452
452
  <a name='L387'></a><a href='#L387'>387</a>
453
453
  <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
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>
455
467
  <span class="cline-any cline-neutral">&nbsp;</span>
456
468
  <span class="cline-any cline-neutral">&nbsp;</span>
457
469
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -469,7 +481,7 @@
469
481
  <span class="cline-any cline-neutral">&nbsp;</span>
470
482
  <span class="cline-any cline-neutral">&nbsp;</span>
471
483
  <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-yes">25x</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
473
485
  <span class="cline-any cline-neutral">&nbsp;</span>
474
486
  <span class="cline-any cline-neutral">&nbsp;</span>
475
487
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -515,31 +527,31 @@
515
527
  <span class="cline-any cline-neutral">&nbsp;</span>
516
528
  <span class="cline-any cline-neutral">&nbsp;</span>
517
529
  <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-yes">1x</span>
519
- <span class="cline-any cline-yes">1x</span>
520
- <span class="cline-any cline-yes">5x</span>
521
- <span class="cline-any cline-yes">5x</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-no">&nbsp;</span>
533
+ <span class="cline-any cline-no">&nbsp;</span>
522
534
  <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-yes">1x</span>
524
- <span class="cline-any cline-yes">1x</span>
525
- <span class="cline-any cline-yes">1x</span>
526
- <span class="cline-any cline-yes">1x</span>
527
- <span class="cline-any cline-yes">1x</span>
528
- <span class="cline-any cline-yes">1x</span>
535
+ <span class="cline-any cline-no">&nbsp;</span>
536
+ <span class="cline-any cline-no">&nbsp;</span>
537
+ <span class="cline-any cline-no">&nbsp;</span>
538
+ <span class="cline-any cline-no">&nbsp;</span>
539
+ <span class="cline-any cline-no">&nbsp;</span>
540
+ <span class="cline-any cline-no">&nbsp;</span>
529
541
  <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-yes">1x</span>
531
- <span class="cline-any cline-yes">1x</span>
532
- <span class="cline-any cline-yes">1x</span>
533
- <span class="cline-any cline-yes">1x</span>
542
+ <span class="cline-any cline-no">&nbsp;</span>
543
+ <span class="cline-any cline-no">&nbsp;</span>
544
+ <span class="cline-any cline-no">&nbsp;</span>
545
+ <span class="cline-any cline-no">&nbsp;</span>
534
546
  <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-yes">1x</span>
536
- <span class="cline-any cline-yes">1x</span>
537
- <span class="cline-any cline-yes">1x</span>
547
+ <span class="cline-any cline-no">&nbsp;</span>
548
+ <span class="cline-any cline-no">&nbsp;</span>
549
+ <span class="cline-any cline-no">&nbsp;</span>
538
550
  <span class="cline-any cline-neutral">&nbsp;</span>
539
551
  <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-yes">1x</span>
541
- <span class="cline-any cline-yes">1x</span>
542
- <span class="cline-any cline-yes">1x</span>
552
+ <span class="cline-any cline-no">&nbsp;</span>
553
+ <span class="cline-any cline-no">&nbsp;</span>
554
+ <span class="cline-any cline-no">&nbsp;</span>
543
555
  <span class="cline-any cline-neutral">&nbsp;</span>
544
556
  <span class="cline-any cline-neutral">&nbsp;</span>
545
557
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -552,26 +564,26 @@
552
564
  <span class="cline-any cline-neutral">&nbsp;</span>
553
565
  <span class="cline-any cline-neutral">&nbsp;</span>
554
566
  <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-yes">1x</span>
556
- <span class="cline-any cline-yes">1x</span>
557
- <span class="cline-any cline-yes">3x</span>
558
- <span class="cline-any cline-yes">3x</span>
567
+ <span class="cline-any cline-no">&nbsp;</span>
568
+ <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-no">&nbsp;</span>
570
+ <span class="cline-any cline-no">&nbsp;</span>
559
571
  <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-yes">1x</span>
572
+ <span class="cline-any cline-no">&nbsp;</span>
561
573
  <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-yes">1x</span>
563
- <span class="cline-any cline-yes">1x</span>
564
- <span class="cline-any cline-yes">1x</span>
565
- <span class="cline-any cline-yes">1x</span>
574
+ <span class="cline-any cline-no">&nbsp;</span>
575
+ <span class="cline-any cline-no">&nbsp;</span>
576
+ <span class="cline-any cline-no">&nbsp;</span>
577
+ <span class="cline-any cline-no">&nbsp;</span>
566
578
  <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-yes">1x</span>
568
- <span class="cline-any cline-yes">1x</span>
569
- <span class="cline-any cline-yes">1x</span>
570
- <span class="cline-any cline-yes">1x</span>
579
+ <span class="cline-any cline-no">&nbsp;</span>
580
+ <span class="cline-any cline-no">&nbsp;</span>
581
+ <span class="cline-any cline-no">&nbsp;</span>
582
+ <span class="cline-any cline-no">&nbsp;</span>
571
583
  <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-yes">1x</span>
573
- <span class="cline-any cline-yes">1x</span>
574
- <span class="cline-any cline-yes">1x</span>
584
+ <span class="cline-any cline-no">&nbsp;</span>
585
+ <span class="cline-any cline-no">&nbsp;</span>
586
+ <span class="cline-any cline-no">&nbsp;</span>
575
587
  <span class="cline-any cline-neutral">&nbsp;</span>
576
588
  <span class="cline-any cline-neutral">&nbsp;</span>
577
589
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -591,30 +603,30 @@
591
603
  <span class="cline-any cline-neutral">&nbsp;</span>
592
604
  <span class="cline-any cline-neutral">&nbsp;</span>
593
605
  <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-yes">1x</span>
595
- <span class="cline-any cline-yes">1x</span>
596
- <span class="cline-any cline-yes">3x</span>
606
+ <span class="cline-any cline-no">&nbsp;</span>
607
+ <span class="cline-any cline-no">&nbsp;</span>
608
+ <span class="cline-any cline-no">&nbsp;</span>
597
609
  <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-yes">1x</span>
599
- <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-no">&nbsp;</span>
611
+ <span class="cline-any cline-no">&nbsp;</span>
600
612
  <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-yes">1x</span>
602
- <span class="cline-any cline-yes">1x</span>
603
- <span class="cline-any cline-yes">1x</span>
613
+ <span class="cline-any cline-no">&nbsp;</span>
614
+ <span class="cline-any cline-no">&nbsp;</span>
615
+ <span class="cline-any cline-no">&nbsp;</span>
604
616
  <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-yes">1x</span>
606
- <span class="cline-any cline-yes">1x</span>
607
- <span class="cline-any cline-yes">1x</span>
608
- <span class="cline-any cline-yes">1x</span>
609
- <span class="cline-any cline-yes">1x</span>
610
- <span class="cline-any cline-yes">1x</span>
617
+ <span class="cline-any cline-no">&nbsp;</span>
618
+ <span class="cline-any cline-no">&nbsp;</span>
619
+ <span class="cline-any cline-no">&nbsp;</span>
620
+ <span class="cline-any cline-no">&nbsp;</span>
621
+ <span class="cline-any cline-no">&nbsp;</span>
622
+ <span class="cline-any cline-no">&nbsp;</span>
611
623
  <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-yes">1x</span>
613
- <span class="cline-any cline-yes">1x</span>
614
- <span class="cline-any cline-yes">1x</span>
615
- <span class="cline-any cline-yes">1x</span>
616
- <span class="cline-any cline-yes">1x</span>
617
- <span class="cline-any cline-yes">1x</span>
624
+ <span class="cline-any cline-no">&nbsp;</span>
625
+ <span class="cline-any cline-no">&nbsp;</span>
626
+ <span class="cline-any cline-no">&nbsp;</span>
627
+ <span class="cline-any cline-no">&nbsp;</span>
628
+ <span class="cline-any cline-no">&nbsp;</span>
629
+ <span class="cline-any cline-no">&nbsp;</span>
618
630
  <span class="cline-any cline-neutral">&nbsp;</span>
619
631
  <span class="cline-any cline-neutral">&nbsp;</span>
620
632
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -671,173 +683,185 @@
671
683
  <span class="cline-any cline-neutral">&nbsp;</span>
672
684
  <span class="cline-any cline-neutral">&nbsp;</span>
673
685
  <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-yes">1x</span>
675
- <span class="cline-any cline-yes">1x</span>
676
- <span class="cline-any cline-yes">15x</span>
677
- <span class="cline-any cline-yes">96x</span>
678
- <span class="cline-any cline-yes">96x</span>
679
- <span class="cline-any cline-yes">1x</span>
680
- <span class="cline-any cline-yes">1x</span>
686
+ <span class="cline-any cline-no">&nbsp;</span>
681
687
  <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-yes">1x</span>
683
- <span class="cline-any cline-yes">1x</span>
684
- <span class="cline-any cline-yes">1x</span>
685
- <span class="cline-any cline-yes">1x</span>
686
- <span class="cline-any cline-yes">1x</span>
687
- <span class="cline-any cline-yes">1x</span>
688
+ <span class="cline-any cline-no">&nbsp;</span>
689
+ <span class="cline-any cline-no">&nbsp;</span>
690
+ <span class="cline-any cline-no">&nbsp;</span>
691
+ <span class="cline-any cline-no">&nbsp;</span>
692
+ <span class="cline-any cline-no">&nbsp;</span>
693
+ <span class="cline-any cline-no">&nbsp;</span>
694
+ <span class="cline-any cline-no">&nbsp;</span>
688
695
  <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-yes">1x</span>
690
- <span class="cline-any cline-yes">1x</span>
691
- <span class="cline-any cline-yes">1x</span>
692
- <span class="cline-any cline-yes">1x</span>
693
- <span class="cline-any cline-yes">1x</span>
694
- <span class="cline-any cline-yes">1x</span>
695
- <span class="cline-any cline-yes">1x</span>
696
- <span class="cline-any cline-yes">1x</span>
697
- <span class="cline-any cline-yes">1x</span>
698
- <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-no">&nbsp;</span>
697
+ <span class="cline-any cline-no">&nbsp;</span>
698
+ <span class="cline-any cline-no">&nbsp;</span>
699
+ <span class="cline-any cline-no">&nbsp;</span>
700
+ <span class="cline-any cline-no">&nbsp;</span>
701
+ <span class="cline-any cline-no">&nbsp;</span>
699
702
  <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-yes">1x</span>
701
- <span class="cline-any cline-yes">1x</span>
702
- <span class="cline-any cline-yes">1x</span>
703
- <span class="cline-any cline-yes">1x</span>
704
- <span class="cline-any cline-yes">1x</span>
705
- <span class="cline-any cline-yes">1x</span>
706
- <span class="cline-any cline-yes">1x</span>
707
- <span class="cline-any cline-yes">1x</span>
708
- <span class="cline-any cline-yes">1x</span>
703
+ <span class="cline-any cline-no">&nbsp;</span>
704
+ <span class="cline-any cline-no">&nbsp;</span>
705
+ <span class="cline-any cline-no">&nbsp;</span>
706
+ <span class="cline-any cline-no">&nbsp;</span>
707
+ <span class="cline-any cline-no">&nbsp;</span>
708
+ <span class="cline-any cline-no">&nbsp;</span>
709
+ <span class="cline-any cline-no">&nbsp;</span>
710
+ <span class="cline-any cline-no">&nbsp;</span>
711
+ <span class="cline-any cline-no">&nbsp;</span>
712
+ <span class="cline-any cline-no">&nbsp;</span>
709
713
  <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">1x</span>
711
- <span class="cline-any cline-yes">1x</span>
712
- <span class="cline-any cline-yes">1x</span>
713
- <span class="cline-any cline-yes">1x</span>
714
- <span class="cline-any cline-yes">1x</span>
715
- <span class="cline-any cline-yes">1x</span>
716
- <span class="cline-any cline-yes">1x</span>
717
- <span class="cline-any cline-yes">1x</span>
718
- <span class="cline-any cline-yes">1x</span>
714
+ <span class="cline-any cline-no">&nbsp;</span>
715
+ <span class="cline-any cline-no">&nbsp;</span>
716
+ <span class="cline-any cline-no">&nbsp;</span>
717
+ <span class="cline-any cline-no">&nbsp;</span>
718
+ <span class="cline-any cline-no">&nbsp;</span>
719
+ <span class="cline-any cline-no">&nbsp;</span>
720
+ <span class="cline-any cline-no">&nbsp;</span>
721
+ <span class="cline-any cline-no">&nbsp;</span>
722
+ <span class="cline-any cline-no">&nbsp;</span>
719
723
  <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">1x</span>
721
- <span class="cline-any cline-yes">1x</span>
722
- <span class="cline-any cline-yes">1x</span>
723
- <span class="cline-any cline-yes">1x</span>
724
- <span class="cline-any cline-yes">1x</span>
725
- <span class="cline-any cline-yes">1x</span>
726
- <span class="cline-any cline-yes">1x</span>
727
- <span class="cline-any cline-yes">1x</span>
728
- <span class="cline-any cline-yes">1x</span>
724
+ <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-no">&nbsp;</span>
726
+ <span class="cline-any cline-no">&nbsp;</span>
727
+ <span class="cline-any cline-no">&nbsp;</span>
728
+ <span class="cline-any cline-no">&nbsp;</span>
729
+ <span class="cline-any cline-no">&nbsp;</span>
730
+ <span class="cline-any cline-no">&nbsp;</span>
731
+ <span class="cline-any cline-no">&nbsp;</span>
732
+ <span class="cline-any cline-no">&nbsp;</span>
729
733
  <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-yes">1x</span>
731
- <span class="cline-any cline-yes">1x</span>
732
- <span class="cline-any cline-yes">1x</span>
733
- <span class="cline-any cline-yes">1x</span>
734
- <span class="cline-any cline-yes">1x</span>
735
- <span class="cline-any cline-yes">1x</span>
736
- <span class="cline-any cline-yes">1x</span>
737
- <span class="cline-any cline-yes">1x</span>
738
- <span class="cline-any cline-yes">1x</span>
739
- <span class="cline-any cline-yes">1x</span>
734
+ <span class="cline-any cline-no">&nbsp;</span>
735
+ <span class="cline-any cline-no">&nbsp;</span>
736
+ <span class="cline-any cline-no">&nbsp;</span>
737
+ <span class="cline-any cline-no">&nbsp;</span>
738
+ <span class="cline-any cline-no">&nbsp;</span>
739
+ <span class="cline-any cline-no">&nbsp;</span>
740
+ <span class="cline-any cline-no">&nbsp;</span>
741
+ <span class="cline-any cline-no">&nbsp;</span>
742
+ <span class="cline-any cline-no">&nbsp;</span>
740
743
  <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-yes">1x</span>
742
- <span class="cline-any cline-yes">1x</span>
743
- <span class="cline-any cline-yes">1x</span>
744
- <span class="cline-any cline-yes">1x</span>
745
- <span class="cline-any cline-yes">1x</span>
746
- <span class="cline-any cline-yes">1x</span>
747
- <span class="cline-any cline-yes">1x</span>
748
- <span class="cline-any cline-yes">1x</span>
749
- <span class="cline-any cline-yes">1x</span>
744
+ <span class="cline-any cline-no">&nbsp;</span>
745
+ <span class="cline-any cline-no">&nbsp;</span>
746
+ <span class="cline-any cline-no">&nbsp;</span>
747
+ <span class="cline-any cline-no">&nbsp;</span>
748
+ <span class="cline-any cline-no">&nbsp;</span>
749
+ <span class="cline-any cline-no">&nbsp;</span>
750
+ <span class="cline-any cline-no">&nbsp;</span>
751
+ <span class="cline-any cline-no">&nbsp;</span>
752
+ <span class="cline-any cline-no">&nbsp;</span>
753
+ <span class="cline-any cline-no">&nbsp;</span>
750
754
  <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-yes">1x</span>
752
- <span class="cline-any cline-yes">1x</span>
753
- <span class="cline-any cline-yes">1x</span>
754
- <span class="cline-any cline-yes">1x</span>
755
- <span class="cline-any cline-yes">1x</span>
756
- <span class="cline-any cline-yes">1x</span>
757
- <span class="cline-any cline-yes">1x</span>
758
- <span class="cline-any cline-yes">1x</span>
759
- <span class="cline-any cline-yes">1x</span>
755
+ <span class="cline-any cline-no">&nbsp;</span>
756
+ <span class="cline-any cline-no">&nbsp;</span>
757
+ <span class="cline-any cline-no">&nbsp;</span>
758
+ <span class="cline-any cline-no">&nbsp;</span>
759
+ <span class="cline-any cline-no">&nbsp;</span>
760
+ <span class="cline-any cline-no">&nbsp;</span>
761
+ <span class="cline-any cline-no">&nbsp;</span>
762
+ <span class="cline-any cline-no">&nbsp;</span>
763
+ <span class="cline-any cline-no">&nbsp;</span>
760
764
  <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-yes">1x</span>
762
- <span class="cline-any cline-yes">1x</span>
763
- <span class="cline-any cline-yes">1x</span>
764
- <span class="cline-any cline-yes">1x</span>
765
- <span class="cline-any cline-yes">1x</span>
766
- <span class="cline-any cline-yes">1x</span>
767
- <span class="cline-any cline-yes">1x</span>
768
- <span class="cline-any cline-yes">1x</span>
769
- <span class="cline-any cline-yes">1x</span>
765
+ <span class="cline-any cline-no">&nbsp;</span>
766
+ <span class="cline-any cline-no">&nbsp;</span>
767
+ <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
769
+ <span class="cline-any cline-no">&nbsp;</span>
770
+ <span class="cline-any cline-no">&nbsp;</span>
771
+ <span class="cline-any cline-no">&nbsp;</span>
772
+ <span class="cline-any cline-no">&nbsp;</span>
773
+ <span class="cline-any cline-no">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-no">&nbsp;</span>
776
+ <span class="cline-any cline-no">&nbsp;</span>
777
+ <span class="cline-any cline-no">&nbsp;</span>
778
+ <span class="cline-any cline-no">&nbsp;</span>
779
+ <span class="cline-any cline-no">&nbsp;</span>
780
+ <span class="cline-any cline-no">&nbsp;</span>
781
+ <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-no">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-no">&nbsp;</span>
786
+ <span class="cline-any cline-no">&nbsp;</span>
787
+ <span class="cline-any cline-no">&nbsp;</span>
788
+ <span class="cline-any cline-no">&nbsp;</span>
789
+ <span class="cline-any cline-no">&nbsp;</span>
790
+ <span class="cline-any cline-no">&nbsp;</span>
791
+ <span class="cline-any cline-no">&nbsp;</span>
792
+ <span class="cline-any cline-no">&nbsp;</span>
793
+ <span class="cline-any cline-no">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-no">&nbsp;</span>
796
+ <span class="cline-any cline-no">&nbsp;</span>
797
+ <span class="cline-any cline-no">&nbsp;</span>
798
+ <span class="cline-any cline-no">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-no">&nbsp;</span>
801
+ <span class="cline-any cline-no">&nbsp;</span>
802
+ <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-no">&nbsp;</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
807
+ <span class="cline-any cline-no">&nbsp;</span>
808
+ <span class="cline-any cline-no">&nbsp;</span>
809
+ <span class="cline-any cline-no">&nbsp;</span>
810
+ <span class="cline-any cline-no">&nbsp;</span>
811
+ <span class="cline-any cline-no">&nbsp;</span>
812
+ <span class="cline-any cline-no">&nbsp;</span>
813
+ <span class="cline-any cline-no">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-no">&nbsp;</span>
816
+ <span class="cline-any cline-no">&nbsp;</span>
817
+ <span class="cline-any cline-no">&nbsp;</span>
818
+ <span class="cline-any cline-no">&nbsp;</span>
819
+ <span class="cline-any cline-no">&nbsp;</span>
820
+ <span class="cline-any cline-no">&nbsp;</span>
821
+ <span class="cline-any cline-no">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-no">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-no">&nbsp;</span>
826
+ <span class="cline-any cline-no">&nbsp;</span>
827
+ <span class="cline-any cline-no">&nbsp;</span>
828
+ <span class="cline-any cline-no">&nbsp;</span>
829
+ <span class="cline-any cline-no">&nbsp;</span>
830
+ <span class="cline-any cline-no">&nbsp;</span>
831
+ <span class="cline-any cline-no">&nbsp;</span>
832
+ <span class="cline-any cline-no">&nbsp;</span>
833
+ <span class="cline-any cline-no">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-no">&nbsp;</span>
836
+ <span class="cline-any cline-no">&nbsp;</span>
837
+ <span class="cline-any cline-no">&nbsp;</span>
838
+ <span class="cline-any cline-no">&nbsp;</span>
839
+ <span class="cline-any cline-no">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-no">&nbsp;</span>
842
+ <span class="cline-any cline-no">&nbsp;</span>
843
+ <span class="cline-any cline-no">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-no">&nbsp;</span>
846
+ <span class="cline-any cline-no">&nbsp;</span>
847
+ <span class="cline-any cline-no">&nbsp;</span>
848
+ <span class="cline-any cline-no">&nbsp;</span>
849
+ <span class="cline-any cline-no">&nbsp;</span>
850
+ <span class="cline-any cline-no">&nbsp;</span>
851
+ <span class="cline-any cline-no">&nbsp;</span>
852
+ <span class="cline-any cline-no">&nbsp;</span>
853
+ <span class="cline-any cline-no">&nbsp;</span>
770
854
  <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-yes">1x</span>
772
- <span class="cline-any cline-yes">1x</span>
773
- <span class="cline-any cline-yes">1x</span>
774
- <span class="cline-any cline-yes">1x</span>
775
- <span class="cline-any cline-yes">1x</span>
776
- <span class="cline-any cline-yes">1x</span>
777
- <span class="cline-any cline-yes">1x</span>
778
- <span class="cline-any cline-yes">1x</span>
779
- <span class="cline-any cline-yes">1x</span>
780
855
  <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-yes">1x</span>
782
- <span class="cline-any cline-yes">1x</span>
783
- <span class="cline-any cline-yes">1x</span>
784
- <span class="cline-any cline-yes">1x</span>
785
- <span class="cline-any cline-yes">1x</span>
786
- <span class="cline-any cline-yes">1x</span>
787
- <span class="cline-any cline-yes">1x</span>
788
- <span class="cline-any cline-yes">1x</span>
789
- <span class="cline-any cline-yes">1x</span>
790
856
  <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-yes">1x</span>
792
- <span class="cline-any cline-yes">1x</span>
793
- <span class="cline-any cline-yes">1x</span>
794
- <span class="cline-any cline-yes">1x</span>
795
- <span class="cline-any cline-yes">1x</span>
796
- <span class="cline-any cline-yes">1x</span>
797
- <span class="cline-any cline-yes">1x</span>
798
- <span class="cline-any cline-yes">1x</span>
799
- <span class="cline-any cline-yes">1x</span>
800
857
  <span class="cline-any cline-neutral">&nbsp;</span>
801
858
  <span class="cline-any cline-yes">1x</span>
802
- <span class="cline-any cline-yes">1x</span>
803
- <span class="cline-any cline-yes">1x</span>
804
- <span class="cline-any cline-yes">1x</span>
805
- <span class="cline-any cline-yes">1x</span>
806
- <span class="cline-any cline-yes">1x</span>
807
- <span class="cline-any cline-yes">1x</span>
808
- <span class="cline-any cline-yes">1x</span>
809
- <span class="cline-any cline-yes">1x</span>
810
859
  <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">1x</span>
812
- <span class="cline-any cline-yes">1x</span>
813
- <span class="cline-any cline-yes">1x</span>
814
- <span class="cline-any cline-yes">1x</span>
815
- <span class="cline-any cline-yes">1x</span>
816
- <span class="cline-any cline-yes">1x</span>
817
- <span class="cline-any cline-yes">1x</span>
818
- <span class="cline-any cline-yes">1x</span>
819
- <span class="cline-any cline-yes">1x</span>
820
860
  <span class="cline-any cline-neutral">&nbsp;</span>
821
861
  <span class="cline-any cline-yes">1x</span>
822
862
  <span class="cline-any cline-yes">1x</span>
823
863
  <span class="cline-any cline-yes">1x</span>
824
864
  <span class="cline-any cline-yes">1x</span>
825
- <span class="cline-any cline-yes">1x</span>
826
- <span class="cline-any cline-yes">1x</span>
827
- <span class="cline-any cline-yes">1x</span>
828
- <span class="cline-any cline-yes">1x</span>
829
- <span class="cline-any cline-yes">1x</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-yes">1x</span>
832
- <span class="cline-any cline-yes">1x</span>
833
- <span class="cline-any cline-yes">1x</span>
834
- <span class="cline-any cline-yes">1x</span>
835
- <span class="cline-any cline-yes">1x</span>
836
- <span class="cline-any cline-yes">1x</span>
837
- <span class="cline-any cline-yes">1x</span>
838
- <span class="cline-any cline-yes">1x</span>
839
- <span class="cline-any cline-yes">1x</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
865
  <span class="cline-any cline-neutral">&nbsp;</span>
842
866
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// noinspection DuplicatedCode
843
867
  &nbsp;
@@ -857,7 +881,7 @@ const defs: TProps =
857
881
  , body: ``
858
882
  };
859
883
  type Story = StoryObj&lt;TProps&gt;;
860
- function sleep(ms: number) { return new Promise((resolve) =&gt; setTimeout(resolve, ms)); }
884
+ function <span class="fstat-no" title="function not covered" >sleep(m</span>s: number) { <span class="cstat-no" title="statement not covered" >return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve) =&gt; <span class="cstat-no" title="statement not covered" >setTimeout(resolve, ms))</span>; }</span>
861
885
  &nbsp;
862
886
  function render(args: TProps)
863
887
  {
@@ -868,13 +892,13 @@ function render(args: TProps)
868
892
  &nbsp;
869
893
  &lt;custom-element&gt;
870
894
  &lt;template&gt;&lt;!-- wrapping into template to prevent images loading within DCE declaration --&gt;
871
- &lt;local-storage
872
- key="${ key }"
873
- slice="${ slice }"
874
- ${ live ? `live="${live }"`:''}
875
- ${ value ? `value="${value }"`:''}
895
+ &lt;local-storage
896
+ key="${ key }"
897
+ slice="${ slice }"
898
+ ${ live ? `live="${live }"`:''}
899
+ ${ value ? `value="${value }"`:''}
876
900
  &gt;&lt;/local-storage&gt;
877
-
901
+ &nbsp;
878
902
  &lt;br/&gt;
879
903
  &lt;var&gt;${key}&lt;/var&gt;:&lt;code data-testid="slice-value"&gt;{ //slice/${slice} }&lt;/code&gt;
880
904
  &lt;br/&gt;
@@ -894,40 +918,40 @@ export default meta;
894
918
  export const Demo:Story =
895
919
  { args : {title: 'live value', live:'live', body:`
896
920
  &lt;input placeholder="value for localStorage" id="textinput"
897
- slice="${defs.slice}"
921
+ slice="${defs.slice}"
898
922
  value="{ //${defs.slice} ?? '${ defs.value }' }"/&gt;
899
923
  &lt;button onclick="localStorage.setItem('${defs.key}',textinput.value )"&gt;set&lt;/button&gt;
900
924
  &lt;button onclick="localStorage.setItem('${defs.key}','text value' )"&gt;text value&lt;/button&gt;
901
- &lt;button onclick="localStorage.setItem('${defs.key}','another text')"&gt;another text&lt;/button&gt;
902
- &lt;button onclick="localStorage.removeItem('${defs.key}' )"&gt;set blank&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;
903
927
  `}
904
- , play: async ({canvasElement}) =&gt;
928
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
905
929
  {
906
- const canvas = within(canvasElement);
907
- await canvas.findByText(Demo.args!.title as string);
908
- const val = ()=&gt; canvas.getByTestId('slice-value').textContent
909
- , byText = txt =&gt; canvas.getByText(txt);
930
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
931
+ <span class="cstat-no" title="statement not covered" > await canvas.findByText(Demo.args!.title as string);</span>
932
+ 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>
910
934
  &nbsp;
911
- byText('set blank').click();
912
- expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');
913
- expect( val() ).toEqual('');
914
- byText('text value').click();
915
- await sleep(10);
916
- expect( val() ).toEqual('text value');
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>
939
+ <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>
917
941
  &nbsp;
918
- window['textinput'].value = 'textinput.value';
919
- byText('set').click();
920
- await sleep(10);
921
- expect( val() ).toEqual('textinput.value');
942
+ <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>
944
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
945
+ <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('textinput.value');</span>
922
946
  &nbsp;
923
- byText('another text').click();
924
- await sleep(10);
925
- expect( val() ).toEqual('another text');
947
+ <span class="cstat-no" title="statement not covered" > byText('another text').click();</span>
948
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
949
+ <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('another text');</span>
926
950
  &nbsp;
927
951
  &nbsp;
928
- byText('set blank').click();
929
- await sleep(10);
930
- expect( val() ).toEqual('');
952
+ <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
953
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
954
+ <span class="cstat-no" title="statement not covered" > expect( val() ).toEqual('');</span>
931
955
  },
932
956
  };
933
957
  &nbsp;
@@ -935,31 +959,31 @@ export const Demo:Story =
935
959
  export const AlwaysOverride:Story =
936
960
  { args : {title: 'AlwaysOverride', live:'', value:'ABC', body:`
937
961
  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;
938
- &lt;button onclick="localStorage.setItem('${defs.key}','text value' )"&gt;text value&lt;/button&gt;
939
- &lt;button onclick="localStorage.removeItem('${defs.key}' )"&gt;set blank&lt;/button&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;
940
964
  `}
941
- , play: async ({canvasElement}) =&gt;
965
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
942
966
  {
943
- const canvas = within(canvasElement);
944
- await canvas.findByText(AlwaysOverride.args!.title as string);
945
- const val = ()=&gt; canvas.getByTestId('slice-value').textContent
946
- , byText = txt =&gt; canvas.getByText(txt);
967
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
968
+ <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>
947
971
  &nbsp;
948
- expect(localStorage.getItem(defs.key)).toEqual('ABC', 'from localStorage');
972
+ <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual('ABC', 'from localStorage');</span>
949
973
  &nbsp;
950
- byText('set blank').click();
951
- expect(localStorage.getItem(defs.key)).toEqual(null, 'from localStorage');
952
- await sleep(10);
953
- expect( val() ).toEqual('ABC');
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>
976
+ <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>
954
978
  &nbsp;
955
- byText('text value').click();
956
- await sleep(10);
957
- expect(localStorage.getItem(defs.key)).toEqual('text value', 'from localStorage');
958
- expect( val() ).toEqual('ABC');
979
+ <span class="cstat-no" title="statement not covered" > byText('text value').click();</span>
980
+ <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>
959
983
  &nbsp;
960
- byText('set blank').click();
961
- await sleep(10);
962
- expect( val() ).toEqual('ABC');
984
+ <span class="cstat-no" title="statement not covered" > byText('set blank').click();</span>
985
+ <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>
963
987
  },
964
988
  };
965
989
  &nbsp;
@@ -977,39 +1001,39 @@ export const FromStorageWithDefault:Story =
977
1001
  //attr3-key: &lt;code data-testid="key3-value"&gt;{//attr3-key}&lt;/code&gt;&lt;br/&gt;
978
1002
  &lt;button onclick="localStorage.clear()"&gt;clear localStorage&lt;/button&gt;
979
1003
  `}
980
- , play: async ({canvasElement}) =&gt;
1004
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
981
1005
  {
982
- const canvas = within(canvasElement);
983
- await canvas.findByText(FromStorageWithDefault.args!.title as string);
984
- const byText = txt =&gt; canvas.getByText(txt);
1006
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
1007
+ <span class="cstat-no" title="statement not covered" > await canvas.findByText(FromStorageWithDefault.args!.title as string);</span>
1008
+ 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>
985
1009
  &nbsp;
986
- expect(localStorage.getItem(defs.key)).toEqual('ABC', 'from localStorage');
987
- byText('clear localStorage').click();
1010
+ <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem(defs.key)).toEqual('ABC', 'from localStorage');</span>
1011
+ <span class="cstat-no" title="statement not covered" > byText('clear localStorage').click();</span>
988
1012
  &nbsp;
989
- expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')
990
- expect( canvas.getByTestId('key2-value' ).textContent).toEqual('DEF2')
991
- expect( canvas.getByTestId('key3-value' ).textContent).toEqual('DEF3')
1013
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')</span>
1014
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key2-value' ).textContent).toEqual('DEF2')</span>
1015
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key3-value' ).textContent).toEqual('DEF3')</span>
992
1016
  &nbsp;
993
- byText('update attr2-key value').click();
994
- expect(localStorage.getItem('attr2Key')).toEqual('attr2Key value', 'from localStorage');
995
- await sleep(10);
996
- expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')
997
- expect( canvas.getByTestId('key2-value' ).textContent).toEqual('attr2Key value')
998
- expect( canvas.getByTestId('key3-value' ).textContent).toEqual('DEF3')
1017
+ <span class="cstat-no" title="statement not covered" > byText('update attr2-key value').click();</span>
1018
+ <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem('attr2Key')).toEqual('attr2Key value', 'from localStorage');</span>
1019
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1020
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')</span>
1021
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key2-value' ).textContent).toEqual('attr2Key value')</span>
1022
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key3-value' ).textContent).toEqual('DEF3')</span>
999
1023
  &nbsp;
1000
- byText('update attr3-key value').click();
1001
- expect(localStorage.getItem('attr3Key')).toEqual('attr3Key value', 'from localStorage');
1002
- await sleep(10);
1003
- expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')
1004
- expect( canvas.getByTestId('key2-value' ).textContent).toEqual('attr2Key value')
1005
- expect( canvas.getByTestId('key3-value' ).textContent).toEqual('attr3Key value')
1024
+ <span class="cstat-no" title="statement not covered" > byText('update attr3-key value').click();</span>
1025
+ <span class="cstat-no" title="statement not covered" > expect(localStorage.getItem('attr3Key')).toEqual('attr3Key value', 'from localStorage');</span>
1026
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1027
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('slice-value').textContent).toEqual('ABC')</span>
1028
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key2-value' ).textContent).toEqual('attr2Key value')</span>
1029
+ <span class="cstat-no" title="statement not covered" > expect( canvas.getByTestId('key3-value' ).textContent).toEqual('attr3Key value')</span>
1006
1030
  &nbsp;
1007
1031
  },
1008
1032
  };
1009
1033
  &nbsp;
1010
1034
  export const TypeAttribute:Story =
1011
1035
  { args : {title: 'local-storage type attribute variations', body:`
1012
-
1036
+ &nbsp;
1013
1037
  &lt;local-storage key="textKey" slice="text-key" type="text" live="live"&gt;&lt;/local-storage&gt;
1014
1038
  &lt;local-storage key="dateKey" slice="date-key" type="date" live="live"&gt;&lt;/local-storage&gt;
1015
1039
  &lt;local-storage key="timeKey" slice="time-key" type="time" live="live"&gt;&lt;/local-storage&gt;
@@ -1057,176 +1081,188 @@ export const TypeAttribute:Story =
1057
1081
  &lt;div&gt;{name()} : {.}&lt;/div&gt;
1058
1082
  &lt;/xsl:template&gt;
1059
1083
  `}
1060
- , play: async ({canvasElement}) =&gt;
1084
+ , play: <span class="fstat-no" title="function not covered" >async ({</span>canvasElement}) =&gt;
1061
1085
  {
1062
- const canvas = within(canvasElement);
1063
- await canvas.findByText(TypeAttribute.args!.title as string);
1064
- const byText = txt =&gt; canvas.getByText(txt)
1065
- , val = testId =&gt; canvas.getByTestId(testId).textContent
1066
- , expectVal = (key,value) =&gt; { expect(val( key )).toEqual( value, key ) };
1067
- localStorage.clear(); // cleanup before test
1068
- await sleep(10);
1086
+ <span class="cstat-no" title="statement not covered" > window['JsonSample'] = {a:1,b:'B'};</span>
1087
+ &nbsp;
1088
+ const canvas = <span class="cstat-no" title="statement not covered" >within(canvasElement);</span>
1089
+ <span class="cstat-no" title="statement not covered" > await canvas.findByText(TypeAttribute.args!.title as string);</span>
1090
+ 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
+ , 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>
1094
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1069
1095
  &nbsp;
1070
- expectVal('text-key' ,'');
1071
- expectVal('date-key' ,'');
1072
- expectVal('time-key' ,'');
1073
- expectVal('local-date-time','');
1074
- expectVal('number-key' ,'NaN');
1075
- expectVal('json-key' ,'');
1096
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'');</span>
1097
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'');</span>
1098
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'');</span>
1099
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','');</span>
1100
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN');</span>
1101
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'');</span>
1076
1102
  &nbsp;
1077
- const input = canvasElement.querySelector('input');
1078
- input.value='ABC';
1079
- byText('set to all').click();
1080
- await sleep(10);
1081
- expectVal('text-key' ,'ABC');
1082
- expectVal('date-key' ,'' );
1083
- expectVal('time-key' ,'' );
1084
- expectVal('local-date-time','' );
1085
- expectVal('number-key' ,'NaN');
1086
- expectVal('json-key' ,'');
1103
+ const input = <span class="cstat-no" title="statement not covered" >canvasElement.querySelector('input');</span>
1104
+ <span class="cstat-no" title="statement not covered" > input.value='ABC';</span>
1105
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1106
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1107
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'ABC');</span>
1108
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1109
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1110
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1111
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN');</span>
1112
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'');</span>
1087
1113
  &nbsp;
1088
- input.value='22';
1089
- byText('set to all').click();
1090
- await sleep(10);
1091
- expectVal('text-key' ,'22');
1092
- expectVal('date-key' ,'' );
1093
- expectVal('time-key' ,'' );
1094
- expectVal('local-date-time','' );
1095
- expectVal('number-key' ,'22');
1096
- expectVal('json-key' ,'22');
1114
+ <span class="cstat-no" title="statement not covered" > input.value='22';</span>
1115
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1116
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1117
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'22');</span>
1118
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1119
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1120
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1121
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'22');</span>
1122
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'22');</span>
1097
1123
  &nbsp;
1098
- input.value='2024';
1099
- byText('set to all').click();
1100
- await sleep(10);
1101
- expectVal('text-key' ,'2024' );
1102
- expectVal('date-key' ,'2024-01-01' );
1103
- expectVal('time-key' ,'' );
1104
- expectVal('local-date-time','' );
1105
- expectVal('number-key' ,'2024' );
1106
- expectVal('json-key' ,'2024' );
1124
+ <span class="cstat-no" title="statement not covered" > input.value='2024';</span>
1125
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1126
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1127
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'2024' );</span>
1128
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'2024-01-01' );</span>
1129
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1130
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1131
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'2024' );</span>
1132
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'2024' );</span>
1107
1133
  &nbsp;
1108
- input.value='2024-04-20T03:58:42.131Z';
1109
- byText('set to all').click();
1110
- await sleep(10);
1111
- expectVal('text-key' ,'2024-04-20T03:58:42.131Z' );
1112
- expectVal('date-key' ,'2024-04-20' );
1113
- expectVal('time-key' ,'' );
1114
- expectVal('local-date-time','' );
1115
- expectVal('number-key' ,'NaN' );
1116
- expectVal('json-key' ,'' );
1134
+ <span class="cstat-no" title="statement not covered" > input.value='2024-04-20T03:58:42.131Z';</span>
1135
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1136
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1137
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'2024-04-20T03:58:42.131Z' );</span>
1138
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'2024-04-20' );</span>
1139
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1140
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1141
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1142
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1117
1143
  &nbsp;
1118
- const nowStr = new Date(Date.now()).toISOString();
1119
- input.value=nowStr;
1120
- byText('set to all').click();
1121
- await sleep(10);
1122
- expectVal('text-key' ,nowStr );
1123
- expectVal('date-key' ,nowStr.substring(0,10) );
1124
- expectVal('time-key' ,'' );
1125
- expectVal('local-date-time','' );
1126
- expectVal('number-key' ,'NaN' );
1127
- expectVal('json-key' ,'' );
1144
+ const nowStr = <span class="cstat-no" title="statement not covered" >new Date(Date.now()).toISOString();</span>
1145
+ <span class="cstat-no" title="statement not covered" > input.value=nowStr;</span>
1146
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1147
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1148
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,nowStr );</span>
1149
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,nowStr.substring(0,10) );</span>
1150
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1151
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1152
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1153
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1128
1154
  &nbsp;
1129
- input.value='23:25';
1130
- byText('set to all').click();
1131
- await sleep(10);
1132
- expectVal('text-key' ,'23:25' );
1133
- expectVal('date-key' ,'' );
1134
- expectVal('time-key' ,'23:25' );
1135
- expectVal('local-date-time','' );
1136
- expectVal('number-key' ,'NaN' );
1137
- expectVal('json-key' ,'' );
1155
+ <span class="cstat-no" title="statement not covered" > input.value='23:25';</span>
1156
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1157
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1158
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'23:25' );</span>
1159
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1160
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'23:25' );</span>
1161
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1162
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1163
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1138
1164
  &nbsp;
1139
- input.value='1977-04-01T14:00:30';
1140
- byText('set to all').click();
1141
- await sleep(10);
1142
- expectVal('text-key' ,'1977-04-01T14:00:30' );
1143
- expectVal('date-key' ,'1977-04-01' );
1144
- expectVal('time-key' ,'' );
1145
- expectVal('local-date-time','1977-04-01T14:00:30' );
1146
- expectVal('number-key' ,'NaN' );
1147
- expectVal('json-key' ,'' );
1165
+ <span class="cstat-no" title="statement not covered" > input.value='1977-04-01T14:00:30';</span>
1166
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1167
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1168
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'1977-04-01T14:00:30' );</span>
1169
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'1977-04-01' );</span>
1170
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1171
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','1977-04-01T14:00:30' );</span>
1172
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1173
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1148
1174
  &nbsp;
1149
- input.value='1.23456e+5';
1150
- byText('set to all').click();
1151
- await sleep(10);
1152
- expectVal('text-key' ,'1.23456e+5');
1153
- expectVal('date-key' ,'' );
1154
- expectVal('time-key' ,'' );
1155
- expectVal('local-date-time','' );
1156
- expectVal('number-key' ,'123456' );
1157
- expectVal('json-key' ,'123456' );
1175
+ <span class="cstat-no" title="statement not covered" > input.value='1.23456e+5';</span>
1176
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1177
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1178
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'1.23456e+5');</span>
1179
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1180
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1181
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1182
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'123456' );</span>
1183
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'123456' );</span>
1158
1184
  &nbsp;
1159
- input.value='0001';// as YYYY for year
1160
- byText('set to all').click();
1161
- await sleep(10);
1162
- expectVal('text-key' ,'0001');
1163
- expectVal('date-key' ,'0001-01-01');
1164
- expectVal('time-key' ,'' );
1165
- expectVal('local-date-time','' );
1166
- expectVal('number-key' ,'1' );
1167
- expectVal('json-key' ,'' );
1185
+ <span class="cstat-no" title="statement not covered" > input.value='0001';// as YYYY for year</span>
1186
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1187
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1188
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'0001');</span>
1189
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'0001-01-01');</span>
1190
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1191
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1192
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'1' );</span>
1193
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1168
1194
  &nbsp;
1169
- input.value='001'; // as 2001 year
1170
- byText('set to all').click();
1171
- await sleep(10);
1172
- expectVal('text-key' ,'001' );
1173
- expectVal('date-key' ,'2001-01-01');
1174
- expectVal('time-key' ,'' );
1175
- expectVal('local-date-time','' );
1176
- expectVal('number-key' ,'1' );
1177
- expectVal('json-key' ,'' );
1195
+ <span class="cstat-no" title="statement not covered" > input.value='001'; // as 2001 year</span>
1196
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1197
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1198
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'001' );</span>
1199
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'2001-01-01');</span>
1200
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1201
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1202
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'1' );</span>
1203
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1178
1204
  &nbsp;
1179
- input.value='000'; // as 2001 year
1180
- byText('set to all').click();
1181
- await sleep(10);
1182
- expectVal('text-key' ,'000' );
1183
- expectVal('date-key' ,'2000-01-01');
1184
- expectVal('time-key' ,'' );
1185
- expectVal('local-date-time','' );
1186
- expectVal('number-key' ,'0' );
1187
- expectVal('json-key' ,'' );
1205
+ <span class="cstat-no" title="statement not covered" > input.value='000'; // as 2001 year</span>
1206
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1207
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1208
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'000' );</span>
1209
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'2000-01-01');</span>
1210
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1211
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1212
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'0' );</span>
1213
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'' );</span>
1188
1214
  &nbsp;
1189
- input.value='0'; // as 2000 year
1190
- byText('set to all').click();
1191
- await sleep(10);
1192
- expectVal('text-key' ,'0' );
1193
- expectVal('date-key' ,'2000-01-01');
1194
- expectVal('time-key' ,'' );
1195
- expectVal('local-date-time','' );
1196
- expectVal('number-key' ,'0' );
1197
- expectVal('json-key' ,'0' );
1215
+ <span class="cstat-no" title="statement not covered" > input.value='0'; // as 2000 year</span>
1216
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1217
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1218
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'0' );</span>
1219
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'2000-01-01');</span>
1220
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1221
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1222
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'0' );</span>
1223
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'0' );</span>
1198
1224
  &nbsp;
1199
- input.value='"abc"';
1200
- byText('set to all').click();
1201
- await sleep(10);
1202
- expectVal('text-key' ,'"abc"' );
1203
- expectVal('date-key' ,'' );
1204
- expectVal('time-key' ,'' );
1205
- expectVal('local-date-time','' );
1206
- expectVal('number-key' ,'NaN' );
1207
- expectVal('json-key' ,'abc' );
1225
+ <span class="cstat-no" title="statement not covered" > input.value='"abc"';</span>
1226
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1227
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1228
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'"abc"' );</span>
1229
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1230
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1231
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1232
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'NaN' );</span>
1233
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'abc' );</span>
1208
1234
  &nbsp;
1209
- input.value='12.345';
1210
- byText('set to all').click();
1211
- await sleep(10);
1212
- expectVal('text-key' ,'12.345' );
1213
- expectVal('date-key' ,'' );
1214
- expectVal('time-key' ,'' );
1215
- expectVal('local-date-time','' );
1216
- expectVal('number-key' ,'12.345' );
1217
- expectVal('json-key' ,'12.345' );
1235
+ <span class="cstat-no" title="statement not covered" > input.value='12.345';</span>
1236
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1237
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1238
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'12.345' );</span>
1239
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1240
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1241
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1242
+ <span class="cstat-no" title="statement not covered" > expectVal('number-key' ,'12.345' );</span>
1243
+ <span class="cstat-no" title="statement not covered" > expectVal('json-key' ,'12.345' );</span>
1218
1244
  &nbsp;
1219
- input.value='{"a":1,"b":"B"}';
1220
- byText('set to all').click();
1221
- await sleep(10);
1222
- expectVal('text-key' ,'{"a":1,"b":"B"}' );
1223
- expectVal('date-key' ,'' );
1224
- expectVal('time-key' ,'' );
1225
- expectVal('local-date-time','' );
1226
- expectVal('number-key' ,'NaN' );
1227
- expectVal('json-key' ,'\na : 1b : B' );
1245
+ <span class="cstat-no" title="statement not covered" > input.value='{"a":1,"b":"B"}';</span>
1246
+ <span class="cstat-no" title="statement not covered" > byText('set to all').click();</span>
1247
+ <span class="cstat-no" title="statement not covered" > await sleep(10);</span>
1248
+ <span class="cstat-no" title="statement not covered" > expectVal('text-key' ,'{"a":1,"b":"B"}' );</span>
1249
+ <span class="cstat-no" title="statement not covered" > expectVal('date-key' ,'' );</span>
1250
+ <span class="cstat-no" title="statement not covered" > expectVal('time-key' ,'' );</span>
1251
+ <span class="cstat-no" title="statement not covered" > expectVal('local-date-time','' );</span>
1252
+ <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>
1228
1254
  },
1229
1255
  };
1256
+ &nbsp;
1257
+ /* istanbul ignore else -- @preserve */
1258
+ if( 'test' === import.meta.env.MODE &amp;&amp;
1259
+ !import.meta.url.includes('skiptest') )
1260
+ {
1261
+ const mod = await import('./local-storage.test.stories.ts?skiptest');
1262
+ const { testStoryBook } = await import('./testStoryBook')
1263
+ const { describe } = await import('vitest')
1264
+ describe(meta.title, () =&gt; testStoryBook( mod, meta ) );
1265
+ }
1230
1266
  &nbsp;</pre></td></tr></table></pre>
1231
1267
 
1232
1268
  <div class='push'></div><!-- for sticky footer -->
@@ -1234,7 +1270,7 @@ export const TypeAttribute:Story =
1234
1270
  <div class='footer quiet pad2 space-top1 center small'>
1235
1271
  Code coverage generated by
1236
1272
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1237
- at 2024-05-13T06:00:45.582Z
1273
+ at 2024-06-27T03:24:38.495Z
1238
1274
  </div>
1239
1275
  <script src="../../prettify.js"></script>
1240
1276
  <script>