@epa-wg/custom-element-dist 0.0.24 → 0.0.25

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 (86) hide show
  1. package/.storybook/main.ts +21 -21
  2. package/README.md +4 -4
  3. package/coverage/coverage-final.json +6 -4
  4. package/coverage/index.html +27 -27
  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 +391 -355
  8. package/coverage/src/custom-element/http-request.js.html +12 -12
  9. package/coverage/src/custom-element/index.html +23 -23
  10. package/coverage/src/custom-element/local-storage.js.html +1 -1
  11. package/coverage/src/custom-element/location-element.js/coverage.svg +1 -1
  12. package/coverage/src/custom-element/location-element.js.html +116 -47
  13. package/coverage/src/index.html +1 -1
  14. package/coverage/src/mocks/handlers.ts.html +1 -1
  15. package/coverage/src/mocks/index.html +1 -1
  16. package/coverage/src/stories/attributes.test.stories.ts.html +1 -1
  17. package/coverage/src/stories/coverage.svg +1 -1
  18. package/coverage/src/stories/css.test.stories.ts.html +1 -1
  19. package/coverage/src/stories/dom-merge.test.stories.ts.html +1 -1
  20. package/coverage/src/stories/external-template.test.stories.ts.html +1 -1
  21. package/coverage/src/stories/form.test.stories.ts.html +1 -1
  22. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  23. package/coverage/src/stories/index.html +38 -8
  24. package/coverage/src/stories/local-storage.test.stories.ts.html +1 -1
  25. package/coverage/src/stories/location-element.test.stories.ts.html +1 -1
  26. package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +10 -0
  27. package/coverage/src/stories/set-url.test.stories.ts.html +427 -0
  28. package/coverage/src/stories/slice-events.test.stories.ts.html +1 -1
  29. package/coverage/src/stories/slots.test.stories.ts.html +1 -1
  30. package/coverage/src/stories/testStoryBook.ts.html +12 -12
  31. package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +10 -0
  32. package/coverage/src/stories/version-select.test.stories.ts.html +313 -0
  33. package/coverage/src/sum.ts.html +1 -1
  34. package/dist/{custom-element-DqtzLkTG.js → custom-element-DAe7uvIt.js} +163 -157
  35. package/dist/custom-element-DZvvhscI.cjs +53 -0
  36. package/dist/custom-element-bundle.cjs +1 -1
  37. package/dist/custom-element-bundle.js +3 -3
  38. package/dist/location-element-DRB7hCwA.cjs +1 -0
  39. package/dist/location-element-FJlONi2n.js +65 -0
  40. package/package.json +2 -2
  41. package/src/custom-element/custom-element.js +16 -4
  42. package/src/custom-element/demo/location-element.html +17 -4
  43. package/src/custom-element/demo/s.xml +31 -6
  44. package/src/custom-element/demo/s.xslt +59 -22
  45. package/src/custom-element/demo/set-url.html +141 -0
  46. package/src/custom-element/ide/customData-dce.json +56 -0
  47. package/src/custom-element/ide/web-types-dce.json +153 -110
  48. package/src/custom-element/ide/web-types-xsl.json +1 -1
  49. package/src/custom-element/index.html +1 -0
  50. package/src/custom-element/location-element.js +25 -2
  51. package/src/custom-element.test.ts +26 -26
  52. package/src/stories/set-url.test.stories.ts +114 -0
  53. package/src/stories/version-select.test.stories.ts +76 -0
  54. package/storybook-static/assets/{Color-PRSJMWNM-y4ZsI1hY.js → Color-PRSJMWNM-CRSv4C7i.js} +1 -1
  55. package/storybook-static/assets/{Configure-CyLVkwlf.js → Configure-D0qG3gR9.js} +1 -1
  56. package/storybook-static/assets/{DocsRenderer-K4EAMTCU-VRGUwRrq.js → DocsRenderer-K4EAMTCU-CG_P5zRZ.js} +2 -2
  57. package/storybook-static/assets/{WithTooltip-KJL26V4Q-xdXH9Ztt.js → WithTooltip-KJL26V4Q-CUqUi5E8.js} +1 -1
  58. package/storybook-static/assets/{attributes.test.stories-BckCcyrF.js → attributes.test.stories-W34tZdUt.js} +1 -1
  59. package/storybook-static/assets/{css.test.stories-B-QcObCF.js → css.test.stories-BZFYx1TQ.js} +1 -1
  60. package/storybook-static/assets/{custom-element-BIxkVg7K.js → custom-element-DpIq8E2p.js} +79 -79
  61. package/storybook-static/assets/{dom-merge.test.stories-CjXhjTQY.js → dom-merge.test.stories-S-7U5N3h.js} +1 -1
  62. package/storybook-static/assets/{external-template.test.stories-BBqyi0az.js → external-template.test.stories-QIO3lAFz.js} +1 -1
  63. package/storybook-static/assets/{form.test.stories-DsIo1B4n.js → form.test.stories-ClYhj9F1.js} +1 -1
  64. package/storybook-static/assets/{formatter-2WMMO6ZP-CThVcQxM.js → formatter-2WMMO6ZP-C-UiBIma.js} +1 -1
  65. package/storybook-static/assets/http-request-DNq59pnj.js +1 -0
  66. package/storybook-static/assets/{http-request.stories-sXA_Y-VM.js → http-request.stories-DCqY5s2i.js} +9 -9
  67. package/storybook-static/assets/iframe-CURpvmVV.js +2 -0
  68. package/storybook-static/assets/{index-VWixWKZ7.js → index-CKw1EbdP.js} +1 -1
  69. package/storybook-static/assets/{index-CUFHd5VD.js → index-DYpTqTNu.js} +1 -1
  70. package/storybook-static/assets/{index-DPPi9iZu.js → index-DsWii_Ep.js} +5 -5
  71. package/storybook-static/assets/{local-storage.test.stories-Cs2v3QTS.js → local-storage.test.stories-BqgYwqr-.js} +1 -1
  72. package/storybook-static/assets/location-element-hKpcXCdn.js +1 -0
  73. package/storybook-static/assets/{location-element.test.stories-WkrQDzJJ.js → location-element.test.stories-DvH1TWK4.js} +9 -9
  74. package/storybook-static/assets/{preview-p-Bwze-K.js → preview-DjDbQHPa.js} +2 -2
  75. package/storybook-static/assets/set-url.test.stories-GlJOh31I.js +81 -0
  76. package/storybook-static/assets/{slice-events.test.stories-BRBBc0JT.js → slice-events.test.stories-VoNjuPCX.js} +1 -1
  77. package/storybook-static/assets/{slots.test.stories-r-i91k3y.js → slots.test.stories-Da2j9YuO.js} +1 -1
  78. package/storybook-static/assets/{syntaxhighlighter-BP7B2CQK-OnioRcs9.js → syntaxhighlighter-BP7B2CQK-CDpEe51g.js} +1 -1
  79. package/storybook-static/assets/version-select.test.stories-DLwf-TPB.js +60 -0
  80. package/storybook-static/iframe.html +1 -1
  81. package/storybook-static/index.json +1 -1
  82. package/storybook-static/project.json +1 -1
  83. package/dist/custom-element-BDK7dcJN.cjs +0 -53
  84. package/dist/location-element-2m0gWq_d.cjs +0 -1
  85. package/dist/location-element-nA_wsqBt.js +0 -49
  86. package/storybook-static/assets/iframe-DcDTQOmA.js +0 -2
@@ -157,7 +157,7 @@
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
159
  <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-yes">1x</span>
160
+ <span class="cline-any cline-yes">2x</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -182,13 +182,13 @@
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
183
  <span class="cline-any cline-yes">5x</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">32x</span>
186
- <span class="cline-any cline-yes">32x</span>
185
+ <span class="cline-any cline-yes">30x</span>
186
+ <span class="cline-any cline-yes">30x</span>
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">36x</span>
191
- <span class="cline-any cline-yes">24x</span>
190
+ <span class="cline-any cline-yes">34x</span>
191
+ <span class="cline-any cline-yes">22x</span>
192
192
  <span class="cline-any cline-yes">12x</span>
193
193
  <span class="cline-any cline-yes">12x</span>
194
194
  <span class="cline-any cline-yes">1x</span>
@@ -223,12 +223,12 @@
223
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-yes">118x</span>
227
- <span class="cline-any cline-yes">59x</span>
226
+ <span class="cline-any cline-yes">110x</span>
227
+ <span class="cline-any cline-yes">55x</span>
228
228
  <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-yes">39x</span>
230
- <span class="cline-any cline-yes">39x</span>
231
- <span class="cline-any cline-yes">31x</span>
229
+ <span class="cline-any cline-yes">37x</span>
230
+ <span class="cline-any cline-yes">37x</span>
231
+ <span class="cline-any cline-yes">29x</span>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
233
  <span class="cline-any cline-yes">8x</span>
234
234
  <span class="cline-any cline-yes">8x</span>
@@ -239,7 +239,7 @@
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
241
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">1x</span>
242
+ <span class="cline-any cline-yes">2x</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const attr = (el, attr)=&gt; el.getAttribute(attr);
245
245
  &nbsp;
@@ -337,7 +337,7 @@ export default HttpRequestElement;
337
337
  <div class='footer quiet pad2 space-top1 center small'>
338
338
  Code coverage generated by
339
339
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
340
- at 2024-07-22T03:09:38.362Z
340
+ at 2024-08-06T07:29:06.502Z
341
341
  </div>
342
342
  <script src="../../prettify.js"></script>
343
343
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.88% </span>
26
+ <span class="strong">97.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>695/710</span>
28
+ <span class='fraction'>719/737</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">91.45% </span>
33
+ <span class="strong">91.39% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>321/351</span>
35
+ <span class='fraction'>340/372</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">98.17% </span>
40
+ <span class="strong">98.25% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>161/164</span>
42
+ <span class='fraction'>169/172</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.24% </span>
47
+ <span class="strong">97.84% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>614/625</span>
49
+ <span class='fraction'>636/650</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="custom-element.js"><a href="custom-element.js.html">custom-element.js</a></td>
83
- <td data-value="97.24" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
83
+ <td data-value="96.75" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
85
85
  </td>
86
- <td data-value="97.24" class="pct high">97.24%</td>
87
- <td data-value="544" class="abs high">529/544</td>
88
- <td data-value="89.79" class="pct high">89.79%</td>
89
- <td data-value="294" class="abs high">264/294</td>
90
- <td data-value="97.45" class="pct high">97.45%</td>
91
- <td data-value="118" class="abs high">115/118</td>
92
- <td data-value="97.7" class="pct high">97.7%</td>
93
- <td data-value="479" class="abs high">468/479</td>
86
+ <td data-value="96.75" class="pct high">96.75%</td>
87
+ <td data-value="554" class="abs high">536/554</td>
88
+ <td data-value="89.59" class="pct high">89.59%</td>
89
+ <td data-value="298" class="abs high">267/298</td>
90
+ <td data-value="97.5" class="pct high">97.5%</td>
91
+ <td data-value="120" class="abs high">117/120</td>
92
+ <td data-value="97.13" class="pct high">97.13%</td>
93
+ <td data-value="488" class="abs high">474/488</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -129,13 +129,13 @@
129
129
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
130
  </td>
131
131
  <td data-value="100" class="pct high">100%</td>
132
- <td data-value="50" class="abs high">50/50</td>
132
+ <td data-value="67" class="abs high">67/67</td>
133
+ <td data-value="97.14" class="pct high">97.14%</td>
134
+ <td data-value="35" class="abs high">34/35</td>
133
135
  <td data-value="100" class="pct high">100%</td>
134
136
  <td data-value="18" class="abs high">18/18</td>
135
137
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="12" class="abs high">12/12</td>
137
- <td data-value="100" class="pct high">100%</td>
138
- <td data-value="48" class="abs high">48/48</td>
138
+ <td data-value="64" class="abs high">64/64</td>
139
139
  </tr>
140
140
 
141
141
  </tbody>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2024-07-22T03:09:38.362Z
149
+ at 2024-08-06T07:29:06.502Z
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
152
152
  <script>
@@ -331,7 +331,7 @@ export default LocalStorageElement;
331
331
  <div class='footer quiet pad2 space-top1 center small'>
332
332
  Code coverage generated by
333
333
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
334
- at 2024-07-22T03:09:38.362Z
334
+ at 2024-08-06T07:29:06.502Z
335
335
  </div>
336
336
  <script src="../../prettify.js"></script>
337
337
  <script>
@@ -6,5 +6,5 @@
6
6
  <rect width="140" height="32" fill="#473" rx="4"/>
7
7
  <rect width="88" height="32" fill="#534" rx="4"/>
8
8
  <text x="8" y="21" class="heavy">coverage</text>
9
- <text x="94" y="22" class="percent">100%</text>
9
+ <text x="94" y="22" class="percent">97.14%</text>
10
10
  </svg>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>50/50</span>
28
+ <span class='fraction'>67/67</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">97.14% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>18/18</span>
35
+ <span class='fraction'>34/35</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/12</span>
42
+ <span class='fraction'>18/18</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>48/48</span>
49
+ <span class='fraction'>64/64</span>
50
50
  </div>
51
51
 
52
52
 
@@ -149,29 +149,64 @@
149
149
  <a name='L84'></a><a href='#L84'>84</a>
150
150
  <a name='L85'></a><a href='#L85'>85</a>
151
151
  <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">15x</span>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">52x</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-yes">42x</span>
181
+ <span class="cline-any cline-yes">40x</span>
182
+ <span class="cline-any cline-yes">2x</span>
183
+ <span class="cline-any cline-yes">2x</span>
153
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-yes">10x</span>
186
+ <span class="cline-any cline-yes">10x</span>
154
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-yes">4x</span>
189
+ <span class="cline-any cline-yes">4x</span>
155
190
  <span class="cline-any cline-neutral">&nbsp;</span>
156
191
  <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">5x</span>
158
- <span class="cline-any cline-yes">4x</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">3x</span>
195
+ <span class="cline-any cline-yes">1x</span>
196
+ <span class="cline-any cline-yes">1x</span>
197
+ <span class="cline-any cline-yes">1x</span>
159
198
  <span class="cline-any cline-yes">1x</span>
160
199
  <span class="cline-any cline-yes">1x</span>
161
200
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">5x</span>
163
- <span class="cline-any cline-yes">5x</span>
164
201
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">2x</span>
166
- <span class="cline-any cline-yes">2x</span>
167
202
  <span class="cline-any cline-neutral">&nbsp;</span>
168
203
  <span class="cline-any cline-neutral">&nbsp;</span>
169
204
  <span class="cline-any cline-neutral">&nbsp;</span>
170
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-yes">2x</span>
171
207
  <span class="cline-any cline-neutral">&nbsp;</span>
172
208
  <span class="cline-any cline-neutral">&nbsp;</span>
173
209
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">1x</span>
175
210
  <span class="cline-any cline-neutral">&nbsp;</span>
176
211
  <span class="cline-any cline-neutral">&nbsp;</span>
177
212
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -179,62 +214,73 @@
179
214
  <span class="cline-any cline-neutral">&nbsp;</span>
180
215
  <span class="cline-any cline-neutral">&nbsp;</span>
181
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-yes">18x</span>
218
+ <span class="cline-any cline-yes">18x</span>
219
+ <span class="cline-any cline-yes">18x</span>
220
+ <span class="cline-any cline-yes">18x</span>
221
+ <span class="cline-any cline-yes">52x</span>
222
+ <span class="cline-any cline-yes">52x</span>
223
+ <span class="cline-any cline-yes">42x</span>
224
+ <span class="cline-any cline-yes">52x</span>
182
225
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">8x</span>
184
- <span class="cline-any cline-yes">8x</span>
185
- <span class="cline-any cline-yes">8x</span>
186
- <span class="cline-any cline-yes">8x</span>
187
- <span class="cline-any cline-yes">15x</span>
188
- <span class="cline-any cline-yes">15x</span>
189
- <span class="cline-any cline-yes">5x</span>
190
- <span class="cline-any cline-yes">15x</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-yes">15x</span>
193
- <span class="cline-any cline-yes">15x</span>
194
- <span class="cline-any cline-yes">15x</span>
226
+ <span class="cline-any cline-yes">52x</span>
227
+ <span class="cline-any cline-yes">52x</span>
228
+ <span class="cline-any cline-yes">52x</span>
195
229
  <span class="cline-any cline-yes">28x</span>
196
230
  <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">15x</span>
198
- <span class="cline-any cline-yes">15x</span>
199
- <span class="cline-any cline-yes">210x</span>
200
- <span class="cline-any cline-yes">155x</span>
231
+ <span class="cline-any cline-yes">52x</span>
232
+ <span class="cline-any cline-yes">52x</span>
233
+ <span class="cline-any cline-yes">728x</span>
234
+ <span class="cline-any cline-yes">488x</span>
201
235
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">15x</span>
203
- <span class="cline-any cline-yes">15x</span>
236
+ <span class="cline-any cline-yes">52x</span>
237
+ <span class="cline-any cline-yes">52x</span>
204
238
  <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">8x</span>
239
+ <span class="cline-any cline-yes">18x</span>
206
240
  <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">11x</span>
241
+ <span class="cline-any cline-yes">48x</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-yes">37x</span>
244
+ <span class="cline-any cline-yes">37x</span>
245
+ <span class="cline-any cline-yes">37x</span>
246
+ <span class="cline-any cline-yes">13x</span>
247
+ <span class="cline-any cline-yes">1x</span>
248
+ <span class="cline-any cline-yes">1x</span>
249
+ <span class="cline-any cline-yes">12x</span>
250
+ <span class="cline-any cline-yes">7x</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-yes">48x</span>
208
253
  <span class="cline-any cline-yes">5x</span>
209
254
  <span class="cline-any cline-yes">5x</span>
210
255
  <span class="cline-any cline-yes">5x</span>
211
256
  <span class="cline-any cline-yes">5x</span>
212
257
  <span class="cline-any cline-yes">5x</span>
213
258
  <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">11x</span>
215
- <span class="cline-any cline-yes">11x</span>
259
+ <span class="cline-any cline-yes">48x</span>
260
+ <span class="cline-any cline-yes">48x</span>
216
261
  <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-yes">8x</span>
262
+ <span class="cline-any cline-yes">18x</span>
218
263
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">1x</span>
220
- <span class="cline-any cline-yes">1x</span>
221
- <span class="cline-any cline-yes">1x</span>
222
- <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-yes">2x</span>
265
+ <span class="cline-any cline-yes">2x</span>
266
+ <span class="cline-any cline-yes">2x</span>
267
+ <span class="cline-any cline-yes">2x</span>
223
268
  <span class="cline-any cline-neutral">&nbsp;</span>
224
269
  <span class="cline-any cline-neutral">&nbsp;</span>
225
270
  <span class="cline-any cline-neutral">&nbsp;</span>
226
271
  <span class="cline-any cline-neutral">&nbsp;</span>
227
272
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">37x</span>
273
+ <span class="cline-any cline-yes">72x</span>
274
+ <span class="cline-any cline-yes">39x</span>
229
275
  <span class="cline-any cline-yes">28x</span>
230
- <span class="cline-any cline-yes">9x</span>
276
+ <span class="cline-any cline-yes">44x</span>
231
277
  <span class="cline-any cline-neutral">&nbsp;</span>
232
278
  <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-yes">4x</span>
233
280
  <span class="cline-any cline-yes">2x</span>
234
- <span class="cline-any cline-yes">1x</span>
235
281
  <span class="cline-any cline-neutral">&nbsp;</span>
236
282
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">1x</span>
283
+ <span class="cline-any cline-yes">2x</span>
238
284
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const attr = ( el, attr )=&gt; el.getAttribute( attr );
239
285
  &nbsp;
240
286
  let originalHistory;
@@ -253,6 +299,15 @@ function ensureTrackLocationChange()
253
299
  }
254
300
  });
255
301
  }
302
+ const methods =
303
+ { 'location.href' : src =&gt; window.location.href = src
304
+ , 'location.hash' : src =&gt; window.location.hash = src
305
+ , 'location.assign' : src =&gt; window.location.assign( src )
306
+ , 'location.replace' : src =&gt; window.location.replace( src )
307
+ , 'history.pushState' : src =&gt; window.history.pushState( {}, "", src )
308
+ , 'history.replaceState' : src =&gt; window.history.replaceState( {}, "", src )
309
+ };
310
+ &nbsp;
256
311
  &nbsp;
257
312
  export class LocationElement extends HTMLElement
258
313
  {
@@ -262,6 +317,8 @@ export class LocationElement extends HTMLElement
262
317
  , 'href' // url to be parsed. When omitted window.location is used.
263
318
  , 'type' // `text|json`, defaults to text, other types are compatible with INPUT field
264
319
  , 'live' // monitors history change, applicable only when href is omitted.
320
+ , 'src' // sets the URL
321
+ , 'method' // when defined, changes URL by one of predefined methods.
265
322
  ];
266
323
  &nbsp;
267
324
  constructor()
@@ -290,6 +347,17 @@ export class LocationElement extends HTMLElement
290
347
  };
291
348
  this.sliceInit = s =&gt;
292
349
  {
350
+ if( this.hasAttribute('method') )
351
+ {
352
+ const method = this.getAttribute('method');
353
+ const src = this.getAttribute('src');
354
+ if( method &amp;&amp; src )
355
+ if( method === 'location.hash' )
356
+ { <span class="missing-if-branch" title="else path not taken" >E</span>if( src !== window.location.hash )
357
+ methods[ method ]?.( src );
358
+ }else if( window.location.href !== new URL(src, window.location).href )
359
+ methods[method]?.(src);
360
+ }
293
361
  if( !state.listener &amp;&amp; this.hasAttribute('live') )
294
362
  { state.listener = 1;
295
363
  window.navigation?.addEventListener("navigate", listener );
@@ -311,8 +379,9 @@ export class LocationElement extends HTMLElement
311
379
  }
312
380
  attributeChangedCallback(name, oldValue, newValue)
313
381
  {
314
- if('href'!== name)
315
- return;
382
+ if('href'!== name &amp;&amp; 'method' !== name &amp;&amp; 'src' )
383
+ if( !['method','src','href'].includes(name) )
384
+ return;
316
385
  this.sliceInit &amp;&amp; this.sliceInit();
317
386
  }
318
387
  &nbsp;
@@ -328,7 +397,7 @@ export default LocationElement;</pre></td></tr></table></pre>
328
397
  <div class='footer quiet pad2 space-top1 center small'>
329
398
  Code coverage generated by
330
399
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
331
- at 2024-07-22T03:09:38.362Z
400
+ at 2024-08-06T07:29:06.502Z
332
401
  </div>
333
402
  <script src="../../prettify.js"></script>
334
403
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-07-22T03:09:38.362Z
104
+ at 2024-08-06T07:29:06.502Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -157,7 +157,7 @@ export const handlers =
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at 2024-07-22T03:09:38.362Z
160
+ at 2024-08-06T07:29:06.502Z
161
161
  </div>
162
162
  <script src="../../prettify.js"></script>
163
163
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-07-22T03:09:38.362Z
104
+ at 2024-08-06T07:29:06.502Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -496,7 +496,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
496
496
  <div class='footer quiet pad2 space-top1 center small'>
497
497
  Code coverage generated by
498
498
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
499
- at 2024-07-22T03:09:38.362Z
499
+ at 2024-08-06T07:29:06.502Z
500
500
  </div>
501
501
  <script src="../../prettify.js"></script>
502
502
  <script>
@@ -6,5 +6,5 @@
6
6
  <rect width="140" height="32" fill="#473" rx="4"/>
7
7
  <rect width="88" height="32" fill="#534" rx="4"/>
8
8
  <text x="8" y="21" class="heavy">coverage</text>
9
- <text x="94" y="22" class="percent">26.42%</text>
9
+ <text x="94" y="22" class="percent">27.23%</text>
10
10
  </svg>
@@ -439,7 +439,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
439
439
  <div class='footer quiet pad2 space-top1 center small'>
440
440
  Code coverage generated by
441
441
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
442
- at 2024-07-22T03:09:38.362Z
442
+ at 2024-08-06T07:29:06.502Z
443
443
  </div>
444
444
  <script src="../../prettify.js"></script>
445
445
  <script>
@@ -685,7 +685,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
685
685
  <div class='footer quiet pad2 space-top1 center small'>
686
686
  Code coverage generated by
687
687
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
688
- at 2024-07-22T03:09:38.362Z
688
+ at 2024-08-06T07:29:06.502Z
689
689
  </div>
690
690
  <script src="../../prettify.js"></script>
691
691
  <script>
@@ -835,7 +835,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
835
835
  <div class='footer quiet pad2 space-top1 center small'>
836
836
  Code coverage generated by
837
837
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at 2024-07-22T03:09:38.362Z
838
+ at 2024-08-06T07:29:06.502Z
839
839
  </div>
840
840
  <script src="../../prettify.js"></script>
841
841
  <script>
@@ -640,7 +640,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
640
640
  <div class='footer quiet pad2 space-top1 center small'>
641
641
  Code coverage generated by
642
642
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
643
- at 2024-07-22T03:09:38.362Z
643
+ at 2024-08-06T07:29:06.502Z
644
644
  </div>
645
645
  <script src="../../prettify.js"></script>
646
646
  <script>
@@ -802,7 +802,7 @@ from &lt;code&gt;${url}&lt;/code&gt;
802
802
  <div class='footer quiet pad2 space-top1 center small'>
803
803
  Code coverage generated by
804
804
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
805
- at 2024-07-22T03:09:38.362Z
805
+ at 2024-08-06T07:29:06.502Z
806
806
  </div>
807
807
  <script src="../../prettify.js"></script>
808
808
  <script>