Skip to content

Commit 180000e

Browse files
authored
Merge pull request #11 from sashafirsov/develop
1.1.8
2 parents c636fc4 + 0fe1ae4 commit 180000e

39 files changed

+11457
-4058
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Collection API inherits the element API and Array.
66
[![NPM version][npm-image]][npm-url] [![coverage][coverage-image]][coverage-url]
77

88
## Live demo
9-
https://unpkg.com/[email protected].7/dist/demo.html
9+
https://unpkg.com/[email protected].8/dist/demo.html
1010

1111
# [CssChain](https://github.com/sashafirsov/css-chain/blob/main/CssChain.js)
1212
## html elements methods
@@ -132,7 +132,7 @@ If you customize the configuration a lot, you can consider moving them to indivi
132132

133133
[npm-image]: https://img.shields.io/npm/v/css-chain.svg
134134
[npm-url]: https://npmjs.org/package/css-chain-test
135-
[coverage-image]: https://unpkg.com/[email protected].7/coverage/coverage.svg
136-
[coverage-url]: https://unpkg.com/[email protected].7/coverage/lcov-report/index.html
137-
[PokeApi-explorer-image]: https://unpkg.com/[email protected].7/src/PokeApi-Explorer.png
138-
[PokeApi-explorer-url]: https://unpkg.com/[email protected].7/dist/PokeApi-Explorer.html
135+
[coverage-image]: https://unpkg.com/[email protected].8/coverage/coverage.svg
136+
[coverage-url]: https://unpkg.com/[email protected].8/coverage/lcov-report/index.html
137+
[PokeApi-explorer-image]: https://unpkg.com/[email protected].8/src/PokeApi-Explorer.png
138+
[PokeApi-explorer-url]: https://unpkg.com/[email protected].8/dist/PokeApi-Explorer.html

coverage/lcov-report/ApiChain.js.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ <h1><a href="index.html">All files</a> ApiChain.js</h1>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<pre><table class="coverage">
@@ -288,10 +294,9 @@ <h1><a href="index.html">All files</a> ApiChain.js</h1>
288294
</div><!-- /wrapper -->
289295
<div class='footer quiet pad2 space-top1 center small'>
290296
Code coverage generated by
291-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
292-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
297+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
298+
at 2023-08-05T19:05:51.736Z
293299
</div>
294-
</div>
295300
<script src="prettify.js"></script>
296301
<script>
297302
window.onload = function () {

coverage/lcov-report/CssChain.js.html

Lines changed: 84 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>292/292</span>
28+
<span class='fraction'>312/312</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>177/177</span>
35+
<span class='fraction'>176/176</span>
3636
</div>
3737

3838

@@ -46,14 +46,20 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>292/292</span>
49+
<span class='fraction'>312/312</span>
5050
</div>
5151

5252

5353
</div>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<pre><table class="coverage">
@@ -349,7 +355,27 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
349355
<a name='L290'></a><a href='#L290'>290</a>
350356
<a name='L291'></a><a href='#L291'>291</a>
351357
<a name='L292'></a><a href='#L292'>292</a>
352-
<a name='L293'></a><a href='#L293'>293</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
358+
<a name='L293'></a><a href='#L293'>293</a>
359+
<a name='L294'></a><a href='#L294'>294</a>
360+
<a name='L295'></a><a href='#L295'>295</a>
361+
<a name='L296'></a><a href='#L296'>296</a>
362+
<a name='L297'></a><a href='#L297'>297</a>
363+
<a name='L298'></a><a href='#L298'>298</a>
364+
<a name='L299'></a><a href='#L299'>299</a>
365+
<a name='L300'></a><a href='#L300'>300</a>
366+
<a name='L301'></a><a href='#L301'>301</a>
367+
<a name='L302'></a><a href='#L302'>302</a>
368+
<a name='L303'></a><a href='#L303'>303</a>
369+
<a name='L304'></a><a href='#L304'>304</a>
370+
<a name='L305'></a><a href='#L305'>305</a>
371+
<a name='L306'></a><a href='#L306'>306</a>
372+
<a name='L307'></a><a href='#L307'>307</a>
373+
<a name='L308'></a><a href='#L308'>308</a>
374+
<a name='L309'></a><a href='#L309'>309</a>
375+
<a name='L310'></a><a href='#L310'>310</a>
376+
<a name='L311'></a><a href='#L311'>311</a>
377+
<a name='L312'></a><a href='#L312'>312</a>
378+
<a name='L313'></a><a href='#L313'>313</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
353379
<span class="cline-any cline-yes">7x</span>
354380
<span class="cline-any cline-yes">7x</span>
355381
<span class="cline-any cline-yes">7x</span>
@@ -403,9 +429,9 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
403429
<span class="cline-any cline-yes">5x</span>
404430
<span class="cline-any cline-yes">5x</span>
405431
<span class="cline-any cline-yes">5x</span>
406-
<span class="cline-any cline-yes">3x</span>
407-
<span class="cline-any cline-yes">3x</span>
408-
<span class="cline-any cline-yes">3x</span>
432+
<span class="cline-any cline-yes">5x</span>
433+
<span class="cline-any cline-yes">5x</span>
434+
<span class="cline-any cline-yes">5x</span>
409435
<span class="cline-any cline-yes">5x</span>
410436
<span class="cline-any cline-yes">5x</span>
411437
<span class="cline-any cline-yes">7x</span>
@@ -441,7 +467,27 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
441467
<span class="cline-any cline-yes">7x</span>
442468
<span class="cline-any cline-yes">7x</span>
443469
<span class="cline-any cline-yes">7x</span>
470+
<span class="cline-any cline-yes">1x</span>
471+
<span class="cline-any cline-yes">1x</span>
472+
<span class="cline-any cline-yes">1x</span>
473+
<span class="cline-any cline-yes">1x</span>
474+
<span class="cline-any cline-yes">1x</span>
475+
<span class="cline-any cline-yes">1x</span>
476+
<span class="cline-any cline-yes">1x</span>
477+
<span class="cline-any cline-yes">1x</span>
478+
<span class="cline-any cline-yes">1x</span>
479+
<span class="cline-any cline-yes">1x</span>
444480
<span class="cline-any cline-yes">7x</span>
481+
<span class="cline-any cline-yes">1x</span>
482+
<span class="cline-any cline-yes">1x</span>
483+
<span class="cline-any cline-yes">1x</span>
484+
<span class="cline-any cline-yes">1x</span>
485+
<span class="cline-any cline-yes">1x</span>
486+
<span class="cline-any cline-yes">1x</span>
487+
<span class="cline-any cline-yes">1x</span>
488+
<span class="cline-any cline-yes">1x</span>
489+
<span class="cline-any cline-yes">1x</span>
490+
<span class="cline-any cline-yes">1x</span>
445491
<span class="cline-any cline-yes">7x</span>
446492
<span class="cline-any cline-yes">7x</span>
447493
<span class="cline-any cline-yes">7x</span>
@@ -540,8 +586,8 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
540586
<span class="cline-any cline-yes">7x</span>
541587
<span class="cline-any cline-yes">7x</span>
542588
<span class="cline-any cline-yes">7x</span>
543-
<span class="cline-any cline-yes">5x</span>
544-
<span class="cline-any cline-yes">5x</span>
589+
<span class="cline-any cline-yes">7x</span>
590+
<span class="cline-any cline-yes">7x</span>
545591
<span class="cline-any cline-yes">7x</span>
546592
<span class="cline-any cline-yes">7x</span>
547593
<span class="cline-any cline-yes">7x</span>
@@ -732,14 +778,34 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
732778
class
733779
CssChainT extends Array
734780
{
735-
attr(...args){ return args.length&gt;1 ? (( args[2] ? this.$(args[2]) : this ).setAttribute(...args),this) : this.getAttribute(...args) }
736-
prop(...args){ return args.length&gt;1 ? (( args[2] ? this.$(args[2]) : this ).forEach( el=&gt;el[args[0]]=args[1]),this ): this[0][args[0]] }
781+
attr(...args)
782+
{ if( args.length &lt; 2 )
783+
return this.getAttribute(...args);
784+
let [k,v,s] = args
785+
, $s = this.$(s);
786+
if(isFn(v))
787+
$s.map((n,i,arr)=&gt;v(n,i,arr,this)).forEach((V,i)=&gt;$s[i].setAttribute(k,V))
788+
else
789+
$s.setAttribute(...args);
790+
return this
791+
}
792+
prop(...args)
793+
{ if( args.length &lt; 2 )
794+
return this[0][args[0]];
795+
let [k,v,s] = args
796+
, $s = this.$(s);
797+
if(isFn(v))
798+
$s.map((n,i,arr)=&gt;v(n,i,arr,this)).forEach((V,i)=&gt;$s[i][k]=V)
799+
else
800+
$s.forEach( el=&gt;el[k]=v);
801+
return this
802+
}
737803
forEach( ...args){ Array.prototype.forEach.apply(this,args); return this }
738804
map( ...args){ return map(this,...args) }
739805
push(...args){ Array.prototype.push.apply(this,args); return this; }
740806
querySelector(css){ return new CssChainT().push( this.querySelectorAll(css)[0] ) }
741807
querySelectorAll(css){ return this.reduce( ($,el)=&gt; $.push(...(el.shadowRoot||el).querySelectorAll(css) ), new CssChainT()) }
742-
$(...args){ return args.length ? this.querySelectorAll(...args) : this; }
808+
$(...args){ return args.length &amp;&amp; args[0] ? this.querySelectorAll(...args) : this; }
743809
parent(css)
744810
{ const s = new Set()
745811
, add = n=&gt; s.has(n) ? 0 : (s.add(n), n)
@@ -829,11 +895,11 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
829895
get innerText(){ return this.txt() }
830896
set innerText( val ){ return this.txt( val ) }
831897
txt( val, css=undefined )
832-
{ const arr = css? this.$(css): this;
898+
{ const $ = this.$(css);
833899
if( val === undefined )
834-
return collectionText( arr );
835-
arr.forEach( isFn(val)
836-
? (n,i)=&gt;setNodeText(n,val(n,i,arr))
900+
return collectionText( $ );
901+
$.forEach( isFn(val)
902+
? (n,i)=&gt;setNodeText(n,val(n,i,$,this))
837903
: n=&gt;setNodeText(n,val) );
838904
return this
839905
}
@@ -939,10 +1005,9 @@ <h1><a href="index.html">All files</a> CssChain.js</h1>
9391005
</div><!-- /wrapper -->
9401006
<div class='footer quiet pad2 space-top1 center small'>
9411007
Code coverage generated by
942-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
943-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
1008+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1009+
at 2023-08-05T19:05:51.736Z
9441010
</div>
945-
</div>
9461011
<script src="prettify.js"></script>
9471012
<script>
9481013
window.onload = function () {

coverage/lcov-report/CssChainElement.js.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ <h1><a href="index.html">All files</a> CssChainElement.js</h1>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<pre><table class="coverage">
@@ -165,10 +171,9 @@ <h1><a href="index.html">All files</a> CssChainElement.js</h1>
165171
</div><!-- /wrapper -->
166172
<div class='footer quiet pad2 space-top1 center small'>
167173
Code coverage generated by
168-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
169-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
174+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175+
at 2023-08-05T19:05:51.736Z
170176
</div>
171-
</div>
172177
<script src="prettify.js"></script>
173178
<script>
174179
window.onload = function () {

coverage/lcov-report/block-navigation.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,14 @@ var jumpToCode = (function init() {
6363
}
6464

6565
return function jump(event) {
66+
if (
67+
document.getElementById('fileSearch') === document.activeElement &&
68+
document.activeElement != null
69+
) {
70+
// if we're currently focused on the search input, we don't want to navigate
71+
return;
72+
}
73+
6674
switch (event.which) {
6775
case 78: // n
6876
case 74: // j

coverage/lcov-report/css-chain-element.js.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ <h1><a href="index.html">All files</a> css-chain-element.js</h1>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<pre><table class="coverage">
@@ -78,10 +84,9 @@ <h1><a href="index.html">All files</a> css-chain-element.js</h1>
7884
</div><!-- /wrapper -->
7985
<div class='footer quiet pad2 space-top1 center small'>
8086
Code coverage generated by
81-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
82-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
87+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88+
at 2023-08-05T19:05:51.736Z
8389
</div>
84-
</div>
8590
<script src="prettify.js"></script>
8691
<script>
8792
window.onload = function () {

coverage/lcov-report/favicon.png

-95 Bytes
Loading

coverage/lcov-report/index.html

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ <h1>All files</h1>
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>557/557</span>
28+
<span class='fraction'>577/577</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>208/208</span>
35+
<span class='fraction'>207/207</span>
3636
</div>
3737

3838

@@ -46,14 +46,20 @@ <h1>All files</h1>
4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>557/557</span>
49+
<span class='fraction'>577/577</span>
5050
</div>
5151

5252

5353
</div>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<div class="pad1">
@@ -93,13 +99,13 @@ <h1>All files</h1>
9399
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
94100
</td>
95101
<td data-value="100" class="pct high">100%</td>
96-
<td data-value="292" class="abs high">292/292</td>
102+
<td data-value="312" class="abs high">312/312</td>
97103
<td data-value="100" class="pct high">100%</td>
98-
<td data-value="177" class="abs high">177/177</td>
104+
<td data-value="176" class="abs high">176/176</td>
99105
<td data-value="100" class="pct high">100%</td>
100106
<td data-value="68" class="abs high">68/68</td>
101107
<td data-value="100" class="pct high">100%</td>
102-
<td data-value="292" class="abs high">292/292</td>
108+
<td data-value="312" class="abs high">312/312</td>
103109
</tr>
104110

105111
<tr>
@@ -169,10 +175,9 @@ <h1>All files</h1>
169175
</div><!-- /wrapper -->
170176
<div class='footer quiet pad2 space-top1 center small'>
171177
Code coverage generated by
172-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
173-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
178+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179+
at 2023-08-05T19:05:51.736Z
174180
</div>
175-
</div>
176181
<script src="prettify.js"></script>
177182
<script>
178183
window.onload = function () {

coverage/lcov-report/slots-in-shadow.js.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ <h1><a href="index.html">All files</a> slots-in-shadow.js</h1>
5454
<p class="quiet">
5555
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
5656
</p>
57+
<template id="filterTemplate">
58+
<div class="quiet">
59+
Filter:
60+
<input oninput="onInput()" type="search" id="fileSearch">
61+
</div>
62+
</template>
5763
</div>
5864
<div class='status-line high'></div>
5965
<pre><table class="coverage">
@@ -186,10 +192,9 @@ <h1><a href="index.html">All files</a> slots-in-shadow.js</h1>
186192
</div><!-- /wrapper -->
187193
<div class='footer quiet pad2 space-top1 center small'>
188194
Code coverage generated by
189-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
190-
at Sat Jun 04 2022 00:17:19 GMT-0700 (Pacific Daylight Time)
195+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196+
at 2023-08-05T19:05:51.736Z
191197
</div>
192-
</div>
193198
<script src="prettify.js"></script>
194199
<script>
195200
window.onload = function () {

0 commit comments

Comments
 (0)