uikit 3.7.3-dev.82185d0bc → 3.7.4-dev.54855f777
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.
- package/CHANGELOG.md +21 -8
- package/README.md +3 -3
- package/dist/css/uikit-core-rtl.css +26 -26
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +26 -26
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +26 -26
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +26 -26
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +3 -2
- package/dist/js/components/lightbox-panel.min.js +2 -2
- package/dist/js/components/lightbox.js +3 -2
- package/dist/js/components/lightbox.min.js +2 -2
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +1 -1
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +1 -1
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +1 -1
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +3 -2
- package/dist/js/components/tooltip.min.js +2 -2
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +190 -26
- package/dist/js/uikit-core.min.js +2 -2
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +190 -26
- package/dist/js/uikit.min.js +2 -2
- package/package.json +1 -1
- package/src/js/core/navbar.js +137 -8
- package/src/js/core/overflow-auto.js +6 -4
- package/src/js/core/switcher.js +3 -1
- package/src/js/core/toggle.js +30 -11
- package/src/js/mixin/togglable.js +3 -2
- package/src/js/util/filter.js +2 -2
- package/src/less/components/form.less +1 -1
- package/src/less/components/navbar.less +4 -4
- package/src/scss/components/form.scss +1 -1
- package/src/scss/components/navbar.scss +2 -2
- package/src/scss/mixins-theme.scss +2 -2
- package/src/scss/mixins.scss +2 -2
- package/src/scss/variables-theme.scss +1 -1
- package/src/scss/variables.scss +1 -1
- package/tests/drop.html +19 -13
- package/tests/navbar.html +3 -3
- package/tests/switcher.html +7 -1
- package/tests/toggle.html +2 -2
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "uikit",
|
|
3
3
|
"title": "UIkit",
|
|
4
4
|
"description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
|
|
5
|
-
"version": "3.7.
|
|
5
|
+
"version": "3.7.4-dev.54855f777",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/core/navbar.js
CHANGED
|
@@ -2,7 +2,7 @@ import {active} from './drop';
|
|
|
2
2
|
import Class from '../mixin/class';
|
|
3
3
|
import FlexBug from '../mixin/flex-bug';
|
|
4
4
|
import Container from '../mixin/container';
|
|
5
|
-
import {$, $$, addClass, after, assign, css, hasClass, height, includes, isRtl, isVisible, matches, noop, parent, Promise, query, remove, toFloat, Transition, within} from 'uikit-util';
|
|
5
|
+
import {$, $$, addClass, after, assign, css, findIndex, hasAttr, hasClass, height, includes, isRtl, isVisible, matches, noop, once, parent, Promise, query, remove, selFocusable, toFloat, Transition, within} from 'uikit-util';
|
|
6
6
|
|
|
7
7
|
const navItem = '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle';
|
|
8
8
|
|
|
@@ -49,7 +49,7 @@ export default {
|
|
|
49
49
|
computed: {
|
|
50
50
|
|
|
51
51
|
boundary({boundary, boundaryAlign}, $el) {
|
|
52
|
-
return
|
|
52
|
+
return boundary === true || boundaryAlign ? $el : boundary;
|
|
53
53
|
},
|
|
54
54
|
|
|
55
55
|
dropbarAnchor({dropbarAnchor}, $el) {
|
|
@@ -91,8 +91,13 @@ export default {
|
|
|
91
91
|
get({clsDrop}, $el) {
|
|
92
92
|
const dropdowns = $$(`.${clsDrop}`, $el);
|
|
93
93
|
|
|
94
|
-
if (this.
|
|
95
|
-
$$(`.${clsDrop}`, this.
|
|
94
|
+
if (this.dropContainer !== $el) {
|
|
95
|
+
$$(`.${clsDrop}`, this.dropContainer).forEach(el => {
|
|
96
|
+
const dropdown = this.getDropdown(el);
|
|
97
|
+
if (!includes(dropdowns, el) && dropdown && dropdown.target && within(dropdown.target, this.$el)) {
|
|
98
|
+
dropdowns.push(el);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
return dropdowns;
|
|
@@ -108,6 +113,10 @@ export default {
|
|
|
108
113
|
|
|
109
114
|
immediate: true
|
|
110
115
|
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
toggles({dropdown}, $el) {
|
|
119
|
+
return $$(dropdown, $el);
|
|
111
120
|
}
|
|
112
121
|
|
|
113
122
|
},
|
|
@@ -120,7 +129,7 @@ export default {
|
|
|
120
129
|
events: [
|
|
121
130
|
|
|
122
131
|
{
|
|
123
|
-
name: 'mouseover',
|
|
132
|
+
name: 'mouseover focusin',
|
|
124
133
|
|
|
125
134
|
delegate() {
|
|
126
135
|
return this.dropdown;
|
|
@@ -128,13 +137,87 @@ export default {
|
|
|
128
137
|
|
|
129
138
|
handler({current}) {
|
|
130
139
|
const active = this.getActive();
|
|
131
|
-
if (active && active.target && !within(active.target, current) && !active.tracker.movesTo(active.$el)) {
|
|
140
|
+
if (active && includes(active.mode, 'hover') && active.target && !within(active.target, current) && !active.tracker.movesTo(active.$el)) {
|
|
132
141
|
active.hide(false);
|
|
133
142
|
}
|
|
134
143
|
}
|
|
135
144
|
|
|
136
145
|
},
|
|
137
146
|
|
|
147
|
+
{
|
|
148
|
+
name: 'keydown',
|
|
149
|
+
|
|
150
|
+
delegate() {
|
|
151
|
+
return this.dropdown;
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
handler(e) {
|
|
155
|
+
|
|
156
|
+
const {current, keyCode} = e;
|
|
157
|
+
const active = this.getActive();
|
|
158
|
+
|
|
159
|
+
if (keyCode === keyMap.DOWN && hasAttr(current, 'aria-expanded')) {
|
|
160
|
+
|
|
161
|
+
e.preventDefault();
|
|
162
|
+
|
|
163
|
+
if (!active || active.target !== current) {
|
|
164
|
+
current.click();
|
|
165
|
+
once(this.dropContainer, 'show', ({target}) => focusFirstFocusableElement(target));
|
|
166
|
+
} else {
|
|
167
|
+
focusFirstFocusableElement(active.$el);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
handleNavItemNavigation(e, this.toggles, active);
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
{
|
|
177
|
+
name: 'keydown',
|
|
178
|
+
|
|
179
|
+
el() {
|
|
180
|
+
return this.dropContainer;
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
delegate() {
|
|
184
|
+
return `.${this.clsDrop}`;
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
handler(e) {
|
|
188
|
+
|
|
189
|
+
const {current, keyCode} = e;
|
|
190
|
+
|
|
191
|
+
if (!includes(this.dropdowns, current)) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const active = this.getActive();
|
|
196
|
+
const elements = $$(selFocusable, current);
|
|
197
|
+
const i = findIndex(elements, el => matches(el, ':focus'));
|
|
198
|
+
|
|
199
|
+
if (keyCode === keyMap.UP) {
|
|
200
|
+
e.preventDefault();
|
|
201
|
+
if (i > 0) {
|
|
202
|
+
elements[i - 1].focus();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (keyCode === keyMap.DOWN) {
|
|
207
|
+
e.preventDefault();
|
|
208
|
+
if (i < elements.length - 1) {
|
|
209
|
+
elements[i + 1].focus();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (keyCode === keyMap.ESC) {
|
|
214
|
+
active && active.target && active.target.focus();
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
handleNavItemNavigation(e, this.toggles, active);
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
|
|
138
221
|
{
|
|
139
222
|
name: 'mouseleave',
|
|
140
223
|
|
|
@@ -142,10 +225,14 @@ export default {
|
|
|
142
225
|
return this.dropbar;
|
|
143
226
|
},
|
|
144
227
|
|
|
228
|
+
filter() {
|
|
229
|
+
return this.dropbar;
|
|
230
|
+
},
|
|
231
|
+
|
|
145
232
|
handler() {
|
|
146
233
|
const active = this.getActive();
|
|
147
234
|
|
|
148
|
-
if (active && !this.dropdowns.some(el => matches(el, ':hover'))) {
|
|
235
|
+
if (active && includes(active.mode, 'hover') && !this.dropdowns.some(el => matches(el, ':hover'))) {
|
|
149
236
|
active.hide();
|
|
150
237
|
}
|
|
151
238
|
}
|
|
@@ -249,7 +336,7 @@ export default {
|
|
|
249
336
|
methods: {
|
|
250
337
|
|
|
251
338
|
getActive() {
|
|
252
|
-
return active &&
|
|
339
|
+
return active && within(active.target, this.$el) && active;
|
|
253
340
|
},
|
|
254
341
|
|
|
255
342
|
transitionTo(newHeight, el) {
|
|
@@ -282,3 +369,45 @@ export default {
|
|
|
282
369
|
}
|
|
283
370
|
|
|
284
371
|
};
|
|
372
|
+
|
|
373
|
+
function handleNavItemNavigation(e, toggles, active) {
|
|
374
|
+
|
|
375
|
+
const {current, keyCode} = e;
|
|
376
|
+
const target = active && active.target || current;
|
|
377
|
+
const i = toggles.indexOf(target);
|
|
378
|
+
|
|
379
|
+
// Left
|
|
380
|
+
if (keyCode === keyMap.LEFT && i > 0) {
|
|
381
|
+
active && active.hide(false);
|
|
382
|
+
toggles[i - 1].focus();
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// Right
|
|
386
|
+
if (keyCode === keyMap.RIGHT && i < toggles.length - 1) {
|
|
387
|
+
active && active.hide(false);
|
|
388
|
+
toggles[i + 1].focus();
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
if (keyCode === keyMap.TAB) {
|
|
392
|
+
target.focus();
|
|
393
|
+
active && active.hide(false);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
function focusFirstFocusableElement(el) {
|
|
398
|
+
if (!$(':focus', el)) {
|
|
399
|
+
const focusEl = $(selFocusable, el);
|
|
400
|
+
if (focusEl) {
|
|
401
|
+
focusEl.focus();
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
const keyMap = {
|
|
407
|
+
TAB: 9,
|
|
408
|
+
ESC: 27,
|
|
409
|
+
LEFT: 37,
|
|
410
|
+
UP: 38,
|
|
411
|
+
RIGHT: 39,
|
|
412
|
+
DOWN: 40
|
|
413
|
+
};
|
|
@@ -7,12 +7,14 @@ export default {
|
|
|
7
7
|
|
|
8
8
|
props: {
|
|
9
9
|
selContainer: String,
|
|
10
|
-
selContent: String
|
|
10
|
+
selContent: String,
|
|
11
|
+
minHeight: Number
|
|
11
12
|
},
|
|
12
13
|
|
|
13
14
|
data: {
|
|
14
15
|
selContainer: '.uk-modal',
|
|
15
|
-
selContent: '.uk-modal-dialog'
|
|
16
|
+
selContent: '.uk-modal-dialog',
|
|
17
|
+
minHeight: 150
|
|
16
18
|
},
|
|
17
19
|
|
|
18
20
|
computed: {
|
|
@@ -28,7 +30,7 @@ export default {
|
|
|
28
30
|
},
|
|
29
31
|
|
|
30
32
|
connected() {
|
|
31
|
-
css(this.$el, 'minHeight',
|
|
33
|
+
css(this.$el, 'minHeight', this.minHeight);
|
|
32
34
|
},
|
|
33
35
|
|
|
34
36
|
update: {
|
|
@@ -41,7 +43,7 @@ export default {
|
|
|
41
43
|
|
|
42
44
|
return {
|
|
43
45
|
current: toFloat(css(this.$el, 'maxHeight')),
|
|
44
|
-
max: Math.max(
|
|
46
|
+
max: Math.max(this.minHeight, height(this.container) - (dimensions(this.content).height - height(this.$el)))
|
|
45
47
|
};
|
|
46
48
|
},
|
|
47
49
|
|
package/src/js/core/switcher.js
CHANGED
|
@@ -10,6 +10,7 @@ export default {
|
|
|
10
10
|
props: {
|
|
11
11
|
connect: String,
|
|
12
12
|
toggle: String,
|
|
13
|
+
itemNav: String,
|
|
13
14
|
active: Number,
|
|
14
15
|
swiping: Boolean
|
|
15
16
|
},
|
|
@@ -17,6 +18,7 @@ export default {
|
|
|
17
18
|
data: {
|
|
18
19
|
connect: '~.uk-switcher',
|
|
19
20
|
toggle: '> * > :first-child',
|
|
21
|
+
itemNav: false,
|
|
20
22
|
active: 0,
|
|
21
23
|
swiping: true,
|
|
22
24
|
cls: 'uk-active',
|
|
@@ -92,7 +94,7 @@ export default {
|
|
|
92
94
|
name: 'click',
|
|
93
95
|
|
|
94
96
|
el() {
|
|
95
|
-
return this.connects;
|
|
97
|
+
return this.connects.concat(this.itemNav ? queryAll(this.itemNav, this.$el) : []);
|
|
96
98
|
},
|
|
97
99
|
|
|
98
100
|
delegate() {
|
package/src/js/core/toggle.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Media from '../mixin/media';
|
|
2
2
|
import Togglable from '../mixin/togglable';
|
|
3
|
-
import {attr, closest, hasClass, hasTouch, includes, isBoolean, isFocusable, isTouch,
|
|
3
|
+
import {attr, closest, hasClass, hasTouch, includes, isBoolean, isFocusable, isTouch, matches, pointerCancel, pointerDown, pointerEnter, pointerLeave, pointerUp, queryAll, trigger} from 'uikit-util';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
|
|
@@ -71,21 +71,39 @@ export default {
|
|
|
71
71
|
},
|
|
72
72
|
|
|
73
73
|
handler(e) {
|
|
74
|
-
if (!isTouch(e) && this._isTouch) {
|
|
74
|
+
if (!isTouch(e) && !this._isTouch) {
|
|
75
75
|
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
const show = includes([pointerEnter, 'focus'], e.type);
|
|
77
|
+
|
|
78
|
+
if (e.type === 'blur' && matches(this.$el, ':hover')
|
|
79
|
+
|| e.type === pointerLeave && matches(this.$el, ':focus')
|
|
80
|
+
|| show && attr(this.$el, 'aria-expanded') === 'true'
|
|
79
81
|
) {
|
|
80
82
|
return;
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
this.toggle(`toggle${
|
|
85
|
+
this.toggle(`toggle${show ? 'show' : 'hide'}`);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
},
|
|
88
90
|
|
|
91
|
+
{
|
|
92
|
+
name: 'keydown',
|
|
93
|
+
|
|
94
|
+
filter() {
|
|
95
|
+
return includes(this.mode, 'click');
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
handler(e) {
|
|
99
|
+
// Space
|
|
100
|
+
if (e.keyCode === 32) {
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
this.$el.click();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
|
|
89
107
|
{
|
|
90
108
|
|
|
91
109
|
name: 'click',
|
|
@@ -99,7 +117,7 @@ export default {
|
|
|
99
117
|
let link;
|
|
100
118
|
if (closest(e.target, 'a[href="#"], a[href=""]')
|
|
101
119
|
|| (link = closest(e.target, 'a[href]')) && (
|
|
102
|
-
|
|
120
|
+
attr(this.$el, 'aria-expanded') !== 'true'
|
|
103
121
|
|| link.hash && matches(this.target, link.hash)
|
|
104
122
|
)
|
|
105
123
|
) {
|
|
@@ -122,7 +140,9 @@ export default {
|
|
|
122
140
|
},
|
|
123
141
|
|
|
124
142
|
handler(e, toggled) {
|
|
125
|
-
this.
|
|
143
|
+
if (e.target === this.target[0]) {
|
|
144
|
+
this.updateAria(toggled);
|
|
145
|
+
}
|
|
126
146
|
}
|
|
127
147
|
}
|
|
128
148
|
|
|
@@ -183,12 +203,11 @@ export default {
|
|
|
183
203
|
updateAria(toggled) {
|
|
184
204
|
attr(this.$el, 'aria-expanded', isBoolean(toggled)
|
|
185
205
|
? toggled
|
|
186
|
-
: this.
|
|
187
|
-
? hasClass(this.target[0], this.cls.split(' ')[0])
|
|
188
|
-
: isVisible(this.target[0])
|
|
206
|
+
: this.isToggled(this.target)
|
|
189
207
|
);
|
|
190
208
|
}
|
|
191
209
|
|
|
192
210
|
}
|
|
193
211
|
|
|
194
212
|
};
|
|
213
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {$$, addClass, Animation, assign, css, fastdom,
|
|
1
|
+
import {$$, addClass, Animation, assign, css, fastdom, hasClass, height, includes, isBoolean, isFunction, isVisible, noop, Promise, removeClass, toFloat, toggleClass, toNodes, Transition, trigger} from 'uikit-util';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
|
|
@@ -95,13 +95,14 @@ export default {
|
|
|
95
95
|
},
|
|
96
96
|
|
|
97
97
|
isToggled(el = this.$el) {
|
|
98
|
+
el = toNodes(el)[0];
|
|
98
99
|
return hasClass(el, this.clsEnter)
|
|
99
100
|
? true
|
|
100
101
|
: hasClass(el, this.clsLeave)
|
|
101
102
|
? false
|
|
102
103
|
: this.cls
|
|
103
104
|
? hasClass(el, this.cls.split(' ')[0])
|
|
104
|
-
:
|
|
105
|
+
: isVisible(el);
|
|
105
106
|
},
|
|
106
107
|
|
|
107
108
|
_toggle(el, toggled) {
|
package/src/js/util/filter.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {hasAttr} from './attr';
|
|
2
1
|
import {inBrowser} from './env';
|
|
3
2
|
import {isDocument, isElement, isString, noop, startsWith, toNode, toNodes} from './lang';
|
|
4
3
|
|
|
@@ -33,8 +32,9 @@ export function isInput(element) {
|
|
|
33
32
|
return toNodes(element).some(element => matches(element, selInput));
|
|
34
33
|
}
|
|
35
34
|
|
|
35
|
+
export const selFocusable = `${selInput},a[href],[tabindex]`;
|
|
36
36
|
export function isFocusable(element) {
|
|
37
|
-
return
|
|
37
|
+
return matches(element, selFocusable);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export function parent(element) {
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
|
|
74
74
|
@form-select-padding-right: 20px;
|
|
75
75
|
@form-select-icon-color: @global-color;
|
|
76
|
-
@form-select-option-color:
|
|
76
|
+
@form-select-option-color: @global-color;
|
|
77
77
|
@form-select-disabled-icon-color: @global-muted-color;
|
|
78
78
|
|
|
79
79
|
@form-datalist-padding-right: 20px;
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
|
|
252
252
|
.uk-navbar-nav > li:hover > a,
|
|
253
253
|
.uk-navbar-nav > li > a:focus,
|
|
254
|
-
.uk-navbar-nav > li > a
|
|
254
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] {
|
|
255
255
|
color: @navbar-nav-item-hover-color;
|
|
256
256
|
outline: none;
|
|
257
257
|
.hook-navbar-nav-item-hover;
|
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
|
|
296
296
|
.uk-navbar-toggle:hover,
|
|
297
297
|
.uk-navbar-toggle:focus,
|
|
298
|
-
.uk-navbar-toggle
|
|
298
|
+
.uk-navbar-toggle[aria-expanded="true"] {
|
|
299
299
|
color: @navbar-toggle-hover-color;
|
|
300
300
|
outline: none;
|
|
301
301
|
text-decoration: none;
|
|
@@ -552,7 +552,7 @@
|
|
|
552
552
|
|
|
553
553
|
.uk-navbar-nav > li:hover > a,
|
|
554
554
|
.uk-navbar-nav > li > a:focus,
|
|
555
|
-
.uk-navbar-nav > li > a
|
|
555
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] {
|
|
556
556
|
color: @inverse-navbar-nav-item-hover-color;
|
|
557
557
|
.hook-inverse-navbar-nav-item-hover;
|
|
558
558
|
}
|
|
@@ -579,7 +579,7 @@
|
|
|
579
579
|
|
|
580
580
|
.uk-navbar-toggle:hover,
|
|
581
581
|
.uk-navbar-toggle:focus,
|
|
582
|
-
.uk-navbar-toggle
|
|
582
|
+
.uk-navbar-toggle[aria-expanded="true"] {
|
|
583
583
|
color: @inverse-navbar-toggle-hover-color;
|
|
584
584
|
.hook-inverse-navbar-toggle-hover;
|
|
585
585
|
}
|
|
@@ -73,7 +73,7 @@ $form-width-large: 500px !default;
|
|
|
73
73
|
|
|
74
74
|
$form-select-padding-right: 20px !default;
|
|
75
75
|
$form-select-icon-color: $global-color !default;
|
|
76
|
-
$form-select-option-color:
|
|
76
|
+
$form-select-option-color: $global-color !default;
|
|
77
77
|
$form-select-disabled-icon-color: $global-muted-color !default;
|
|
78
78
|
|
|
79
79
|
$form-datalist-padding-right: 20px !default;
|
|
@@ -251,7 +251,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
251
251
|
|
|
252
252
|
.uk-navbar-nav > li:hover > a,
|
|
253
253
|
.uk-navbar-nav > li > a:focus,
|
|
254
|
-
.uk-navbar-nav > li > a
|
|
254
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] {
|
|
255
255
|
color: $navbar-nav-item-hover-color;
|
|
256
256
|
outline: none;
|
|
257
257
|
@if(mixin-exists(hook-navbar-nav-item-hover)) {@include hook-navbar-nav-item-hover();}
|
|
@@ -295,7 +295,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
|
|
|
295
295
|
|
|
296
296
|
.uk-navbar-toggle:hover,
|
|
297
297
|
.uk-navbar-toggle:focus,
|
|
298
|
-
.uk-navbar-toggle
|
|
298
|
+
.uk-navbar-toggle[aria-expanded="true"] {
|
|
299
299
|
color: $navbar-toggle-hover-color;
|
|
300
300
|
outline: none;
|
|
301
301
|
text-decoration: none;
|
|
@@ -1378,7 +1378,7 @@
|
|
|
1378
1378
|
|
|
1379
1379
|
.uk-navbar-nav > li:hover > a,
|
|
1380
1380
|
.uk-navbar-nav > li > a:focus,
|
|
1381
|
-
.uk-navbar-nav > li > a
|
|
1381
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] {
|
|
1382
1382
|
color: $inverse-navbar-nav-item-hover-color;
|
|
1383
1383
|
@if(mixin-exists(hook-inverse-navbar-nav-item-hover)) {@include hook-inverse-navbar-nav-item-hover();}
|
|
1384
1384
|
}
|
|
@@ -1405,7 +1405,7 @@
|
|
|
1405
1405
|
|
|
1406
1406
|
.uk-navbar-toggle:hover,
|
|
1407
1407
|
.uk-navbar-toggle:focus,
|
|
1408
|
-
.uk-navbar-toggle
|
|
1408
|
+
.uk-navbar-toggle[aria-expanded="true"] {
|
|
1409
1409
|
color: $inverse-navbar-toggle-hover-color;
|
|
1410
1410
|
@if(mixin-exists(hook-inverse-navbar-toggle-hover)) {@include hook-inverse-navbar-toggle-hover();}
|
|
1411
1411
|
}
|
package/src/scss/mixins.scss
CHANGED
|
@@ -1132,7 +1132,7 @@
|
|
|
1132
1132
|
|
|
1133
1133
|
.uk-navbar-nav > li:hover > a,
|
|
1134
1134
|
.uk-navbar-nav > li > a:focus,
|
|
1135
|
-
.uk-navbar-nav > li > a
|
|
1135
|
+
.uk-navbar-nav > li > a[aria-expanded="true"] {
|
|
1136
1136
|
color: $inverse-navbar-nav-item-hover-color;
|
|
1137
1137
|
@if(mixin-exists(hook-inverse-navbar-nav-item-hover)) {@include hook-inverse-navbar-nav-item-hover();}
|
|
1138
1138
|
}
|
|
@@ -1159,7 +1159,7 @@
|
|
|
1159
1159
|
|
|
1160
1160
|
.uk-navbar-toggle:hover,
|
|
1161
1161
|
.uk-navbar-toggle:focus,
|
|
1162
|
-
.uk-navbar-toggle
|
|
1162
|
+
.uk-navbar-toggle[aria-expanded="true"] {
|
|
1163
1163
|
color: $inverse-navbar-toggle-hover-color;
|
|
1164
1164
|
@if(mixin-exists(hook-inverse-navbar-toggle-hover)) {@include hook-inverse-navbar-toggle-hover();}
|
|
1165
1165
|
}
|
|
@@ -413,7 +413,7 @@ $form-width-medium: 200px !default;
|
|
|
413
413
|
$form-width-large: 500px !default;
|
|
414
414
|
$form-select-padding-right: 20px !default;
|
|
415
415
|
$form-select-icon-color: $global-color !default;
|
|
416
|
-
$form-select-option-color:
|
|
416
|
+
$form-select-option-color: $global-color !default;
|
|
417
417
|
$form-select-disabled-icon-color: $global-muted-color !default;
|
|
418
418
|
$form-datalist-padding-right: 20px !default;
|
|
419
419
|
$form-datalist-icon-color: $global-color !default;
|
package/src/scss/variables.scss
CHANGED
|
@@ -411,7 +411,7 @@ $form-width-medium: 200px !default;
|
|
|
411
411
|
$form-width-large: 500px !default;
|
|
412
412
|
$form-select-padding-right: 20px !default;
|
|
413
413
|
$form-select-icon-color: $global-color !default;
|
|
414
|
-
$form-select-option-color:
|
|
414
|
+
$form-select-option-color: $global-color !default;
|
|
415
415
|
$form-select-disabled-icon-color: $global-muted-color !default;
|
|
416
416
|
$form-datalist-padding-right: 20px !default;
|
|
417
417
|
$form-datalist-icon-color: $global-color !default;
|
package/tests/drop.html
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class="uk-margin" uk-margin>
|
|
26
26
|
|
|
27
27
|
<div class="uk-inline">
|
|
28
|
-
<button class="uk-button uk-button-default" type="button">Hover</button>
|
|
28
|
+
<button class="uk-button uk-button-default" type="button">Hover, Click</button>
|
|
29
29
|
<div id="parent-drop" uk-drop>
|
|
30
30
|
<div id="parent-drop-card" class="uk-card uk-card-body uk-card-default">
|
|
31
31
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
58
|
<div class="uk-inline">
|
|
59
|
-
<button class="uk-button uk-button-default" type="button">Click</button>
|
|
59
|
+
<button class="uk-button uk-button-default" type="button">Click only</button>
|
|
60
60
|
<div id="parent-drop-click" uk-drop="mode: click">
|
|
61
61
|
<div id="parent-drop-card-click" class="uk-card uk-card-body uk-card-default">
|
|
62
62
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
@@ -93,15 +93,6 @@
|
|
|
93
93
|
</div>
|
|
94
94
|
</div>
|
|
95
95
|
|
|
96
|
-
<div class="uk-inline">
|
|
97
|
-
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
|
|
98
|
-
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
|
|
99
|
-
<button class="uk-button uk-button-default" type="button">Target</button>
|
|
100
|
-
<div uk-drop>
|
|
101
|
-
<div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
|
|
105
96
|
</div>
|
|
106
97
|
|
|
107
98
|
<h2>Position</h2>
|
|
@@ -328,6 +319,21 @@
|
|
|
328
319
|
|
|
329
320
|
</div>
|
|
330
321
|
|
|
322
|
+
<h2>Multiple Toggles</h2>
|
|
323
|
+
|
|
324
|
+
<div class="uk-margin" uk-margin>
|
|
325
|
+
|
|
326
|
+
<div class="uk-inline">
|
|
327
|
+
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
|
|
328
|
+
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~div; mode: click,hover">Same</button>
|
|
329
|
+
<button class="uk-button uk-button-default" type="button">Target</button>
|
|
330
|
+
<div uk-drop>
|
|
331
|
+
<div class="uk-card uk-card-body uk-card-default">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
|
|
335
|
+
</div>
|
|
336
|
+
|
|
331
337
|
<h2>JavaScript Options</h2>
|
|
332
338
|
|
|
333
339
|
<div class="uk-overflow-auto">
|
|
@@ -374,8 +380,8 @@
|
|
|
374
380
|
<tr>
|
|
375
381
|
<td><code>boundary</code></td>
|
|
376
382
|
<td>CSS selector</td>
|
|
377
|
-
<td>
|
|
378
|
-
<td>Referenced element to keep Drop's visibility
|
|
383
|
+
<td>true</td>
|
|
384
|
+
<td>Referenced element to keep Drop's visibility. By default it's the navbar component's element</td>
|
|
379
385
|
</tr>
|
|
380
386
|
<tr>
|
|
381
387
|
<td><code>boundary-align</code></td>
|
package/tests/navbar.html
CHANGED
|
@@ -528,7 +528,7 @@
|
|
|
528
528
|
</div>
|
|
529
529
|
</nav>
|
|
530
530
|
|
|
531
|
-
<nav class="uk-navbar-container uk-margin" uk-navbar="align: center">
|
|
531
|
+
<nav class="uk-navbar-container uk-margin" uk-navbar="align: center; boundary: html">
|
|
532
532
|
<div class="uk-navbar-left">
|
|
533
533
|
|
|
534
534
|
<ul class="uk-navbar-nav">
|
|
@@ -1955,8 +1955,8 @@
|
|
|
1955
1955
|
<tr>
|
|
1956
1956
|
<td><code>boundary</code></td>
|
|
1957
1957
|
<td>CSS selector</td>
|
|
1958
|
-
<td>
|
|
1959
|
-
<td>Referenced element to keep Drop's visibility.</td>
|
|
1958
|
+
<td>true</td>
|
|
1959
|
+
<td>Referenced element to keep Drop's visibility. By default it's the navbar component's element.</td>
|
|
1960
1960
|
</tr>
|
|
1961
1961
|
<tr>
|
|
1962
1962
|
<td><code>boundary-align</code></td>
|
package/tests/switcher.html
CHANGED
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
<td><code>connect</code></td>
|
|
335
335
|
<td>CSS selector</td>
|
|
336
336
|
<td>~.uk-switcher</td>
|
|
337
|
-
<td>Related items container. By default succeeding elements with class 'uk-switcher'.</td>
|
|
337
|
+
<td>Related items container. By default, succeeding elements with class 'uk-switcher'.</td>
|
|
338
338
|
</tr>
|
|
339
339
|
<tr>
|
|
340
340
|
<td><code>toggle</code></td>
|
|
@@ -342,6 +342,12 @@
|
|
|
342
342
|
<td>> * > :first-child</td>
|
|
343
343
|
<td>Toggle selector - triggers content switching on click.</td>
|
|
344
344
|
</tr>
|
|
345
|
+
<tr>
|
|
346
|
+
<td><code>itemNav</code></td>
|
|
347
|
+
<td>CSS selector</td>
|
|
348
|
+
<td>false</td>
|
|
349
|
+
<td>Related nav container. By default, nav items are found in related items container only.</td>
|
|
350
|
+
</tr>
|
|
345
351
|
<tr>
|
|
346
352
|
<td><code>active</code></td>
|
|
347
353
|
<td>Number</td>
|
package/tests/toggle.html
CHANGED
|
@@ -113,10 +113,10 @@
|
|
|
113
113
|
|
|
114
114
|
<h3>Mode Hover</h3>
|
|
115
115
|
|
|
116
|
-
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~; mode: hover">Hover</button>
|
|
116
|
+
<button class="uk-button uk-button-default" type="button" uk-toggle="target: ~; mode: hover">Hover, Focus</button>
|
|
117
117
|
|
|
118
|
+
<p hidden>Hovered, Focused</p>
|
|
118
119
|
<p>What's up?</p>
|
|
119
|
-
<p hidden>Hovered</p>
|
|
120
120
|
|
|
121
121
|
</div>
|
|
122
122
|
</div>
|