Skip to content

Commit b84588e

Browse files
committed
Add 'characters' and 'children' features
1 parent 1cf8f11 commit b84588e

File tree

4 files changed

+47
-6
lines changed

4 files changed

+47
-6
lines changed

index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
export default function (selector, conditions, stylesheet) {
1+
export default (selector, conditions, stylesheet) => {
22

33
const features = {
44
minWidth: (el, number) => number <= el.offsetWidth,
55
maxWidth: (el, number) => number >= el.offsetWidth,
66
minHeight: (el, number) => number <= el.offsetHeight,
77
maxHeight: (el, number) => number >= el.offsetHeight,
88
minChildren: (el, number) => number <= el.children.length,
9+
children: (el, number) => number === el.children.length,
910
maxChildren: (el, number) => number >= el.children.length,
1011
minCharacters: (el, number) => number <= ((el.value && el.value.length) || el.textContent.length),
12+
characters: (el, number) => number === ((el.value && el.value.length) || el.textContent.length),
1113
maxCharacters: (el, number) => number >= ((el.value && el.value.length) || el.textContent.length),
1214
minScrollX: (el, number) => number <= el.scrollLeft,
1315
maxScrollX: (el, number) => number >= el.scrollLeft,

test/element-query-scroll.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import element from '//unpkg.com/jsincss-element-query/index.js'
1+
import element from '../index.js'
22

33
export default () => { return `
44

test/element-query.js

+27-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import element from '//unpkg.com/jsincss-element-query/index.js'
1+
import element from '../index.js'
22

33
export default () => { return `
44
@@ -50,8 +50,24 @@ export default () => { return `
5050
}
5151
`)}
5252
53-
/* Min-characters on textarea */
54-
${element('.mincharacters-textarea', {minCharacters: 35}, `
53+
/* Characters on block elements */
54+
${element('.characters', {characters: 5}, `
55+
:self {
56+
background: greenyellow;
57+
border-color: limegreen;
58+
}
59+
`)}
60+
61+
/* Characters on input */
62+
${element('.characters-input', {characters: 5}, `
63+
:self {
64+
background: greenyellow;
65+
border-color: limegreen;
66+
}
67+
`)}
68+
69+
/* Characters on textarea */
70+
${element('.characters-textarea', {characters: 5}, `
5571
:self {
5672
background: greenyellow;
5773
border-color: limegreen;
@@ -90,6 +106,14 @@ export default () => { return `
90106
}
91107
`)}
92108
109+
/* Children */
110+
${element('.children', {children: 5}, `
111+
:self {
112+
background: greenyellow;
113+
border-color: limegreen;
114+
}
115+
`)}
116+
93117
/* Max-children */
94118
${element('.maxchildren', {maxChildren: 5}, `
95119
:self {

test/index.html

+16-1
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,15 @@ <h3>min-characters on form inputs</h3>
127127
<input type=text class=mincharacters-input value='class="mincharacters-input"'>
128128
<textarea class=mincharacters-textarea>class="mincharacters-textarea"</textarea>
129129

130+
<h3>characters on block elements</h3>
131+
<p>(Use keyboard)</p>
132+
<div class=characters contenteditable>class="characters"</div>
133+
134+
<h3>characters on form inputs</h3>
135+
<p>(Use keyboard)</p>
136+
<input type=text class=characters-input value='class="characters-input"'>
137+
<textarea class=characters-textarea>class="characters-textarea"</textarea>
138+
130139
<h3>max-characters on block elements</h3>
131140
<p>(Use keyboard)</p>
132141
<div class=maxcharacters contenteditable>class="maxcharacters"</div>
@@ -142,6 +151,12 @@ <h3>min-children</h3>
142151
<img src=https://staticresource.s3.amazonaws.com/user.png style=width:50px>
143152
</div>
144153

154+
<h3>children</h3>
155+
<button data-button=semiflat onclick="var img=document.createElement('img');img.src='https://staticresource.s3.amazonaws.com/user.png';document.querySelector('.children').appendChild(img)">Add Child</button>
156+
<div class=children>
157+
<img src=https://staticresource.s3.amazonaws.com/user.png style=width:50px>
158+
</div>
159+
145160
<h3>max-children</h3>
146161
<button data-button=semiflat onclick="var img=document.createElement('img');img.src='https://staticresource.s3.amazonaws.com/user.png';document.querySelector('.maxchildren').appendChild(img)">Add Child</button>
147162
<div class=maxchildren>
@@ -186,7 +201,7 @@ <h3>max-aspect-ratio</h3>
186201
<div class=maxaspectratio data-drag=both>class="maxaspectratio"</div>
187202

188203
<script type=module>
189-
import jsincss from '//unpkg.com/jsincss/index.js'
204+
import jsincss from 'https://unpkg.com/jsincss/index.js'
190205
import stylesheet from './element-query.js'
191206
import scrollStyles from './element-query-scroll.js'
192207

0 commit comments

Comments
 (0)