uikit 3.23.8-dev.97ee4c1bb → 3.23.8-dev.ab60f6dc7
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 +5 -0
- package/dist/css/uikit-core-rtl.css +1 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1 -1
- 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 +8 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +8 -1
- package/dist/js/components/lightbox.min.js +1 -1
- 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 +1 -1
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +34 -8
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +34 -8
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/core/drop.js +3 -2
- package/src/js/core/dropnav.js +17 -0
- package/src/js/core/icon.js +5 -0
- package/src/js/core/navbar.js +1 -0
- package/src/js/core/toggle.js +15 -9
- package/src/js/mixin/modal.js +11 -0
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.23.8-dev.
|
|
5
|
+
"version": "3.23.8-dev.ab60f6dc7",
|
|
6
6
|
"main": "dist/js/uikit.js",
|
|
7
7
|
"style": "dist/css/uikit.css",
|
|
8
8
|
"sideEffects": [
|
package/src/js/core/drop.js
CHANGED
|
@@ -117,6 +117,7 @@ export default {
|
|
|
117
117
|
if (this.toggle && !this.targetEl) {
|
|
118
118
|
this.targetEl = createToggleComponent(this);
|
|
119
119
|
}
|
|
120
|
+
attr(this.targetEl, 'aria-expanded', false);
|
|
120
121
|
|
|
121
122
|
this._style = pick(this.$el.style, ['width', 'height']);
|
|
122
123
|
},
|
|
@@ -297,7 +298,7 @@ export default {
|
|
|
297
298
|
|
|
298
299
|
active = this.isActive() ? null : active;
|
|
299
300
|
this.tracker.cancel();
|
|
300
|
-
attr(this.targetEl, 'aria-expanded',
|
|
301
|
+
attr(this.targetEl, 'aria-expanded', false);
|
|
301
302
|
},
|
|
302
303
|
},
|
|
303
304
|
],
|
|
@@ -460,7 +461,7 @@ function createToggleComponent(drop) {
|
|
|
460
461
|
target: drop.$el,
|
|
461
462
|
mode: drop.mode,
|
|
462
463
|
});
|
|
463
|
-
|
|
464
|
+
$el.ariaHasPopup = true;
|
|
464
465
|
|
|
465
466
|
return $el;
|
|
466
467
|
}
|
package/src/js/core/dropnav.js
CHANGED
|
@@ -15,8 +15,12 @@ import {
|
|
|
15
15
|
noop,
|
|
16
16
|
observeResize,
|
|
17
17
|
offset,
|
|
18
|
+
on,
|
|
18
19
|
once,
|
|
19
20
|
parents,
|
|
21
|
+
pointerEnter,
|
|
22
|
+
pointerLeave,
|
|
23
|
+
pointerMove,
|
|
20
24
|
query,
|
|
21
25
|
remove,
|
|
22
26
|
selFocusable,
|
|
@@ -58,6 +62,7 @@ export default {
|
|
|
58
62
|
boundary: true,
|
|
59
63
|
dropbar: false,
|
|
60
64
|
dropbarAnchor: false,
|
|
65
|
+
delayShow: 160,
|
|
61
66
|
duration: 200,
|
|
62
67
|
container: false,
|
|
63
68
|
selNavItem: '> li > a, > ul > li > a',
|
|
@@ -119,6 +124,8 @@ export default {
|
|
|
119
124
|
|
|
120
125
|
connected() {
|
|
121
126
|
this.initializeDropdowns();
|
|
127
|
+
|
|
128
|
+
preventInitialPointerEnter(this.$el);
|
|
122
129
|
},
|
|
123
130
|
|
|
124
131
|
disconnected() {
|
|
@@ -430,3 +437,13 @@ function handleNavItemNavigation(e, toggles, active) {
|
|
|
430
437
|
toggles[getIndex(next, toggles, toggles.indexOf(active.targetEl || current))].focus();
|
|
431
438
|
}
|
|
432
439
|
}
|
|
440
|
+
|
|
441
|
+
// Prevents initial pointer events from opening dropdowns on page load (Safari/Firefox)
|
|
442
|
+
function preventInitialPointerEnter(el) {
|
|
443
|
+
const off = () => handlers.forEach((handler) => handler());
|
|
444
|
+
const handlers = [
|
|
445
|
+
once(el.ownerDocument, pointerMove, (e) => el.contains(e.target) || off()),
|
|
446
|
+
on(el, `mouseenter ${pointerEnter}`, (e) => e.stopPropagation(), { capture: true }),
|
|
447
|
+
on(el, `mouseleave ${pointerLeave}`, off, { capture: true }),
|
|
448
|
+
];
|
|
449
|
+
}
|
package/src/js/core/icon.js
CHANGED
|
@@ -195,7 +195,12 @@ export const Slidenav = {
|
|
|
195
195
|
|
|
196
196
|
export const NavbarToggleIcon = {
|
|
197
197
|
extends: ButtonComponent,
|
|
198
|
+
|
|
198
199
|
i18n: { label: 'Open menu' },
|
|
200
|
+
|
|
201
|
+
beforeConnect() {
|
|
202
|
+
this.$el.ariaExpanded = false;
|
|
203
|
+
},
|
|
199
204
|
};
|
|
200
205
|
|
|
201
206
|
export const Close = {
|
package/src/js/core/navbar.js
CHANGED
|
@@ -12,6 +12,7 @@ export default {
|
|
|
12
12
|
},
|
|
13
13
|
|
|
14
14
|
data: {
|
|
15
|
+
delayShow: 200,
|
|
15
16
|
clsDrop: 'uk-navbar-dropdown',
|
|
16
17
|
selNavItem:
|
|
17
18
|
'.uk-navbar-nav > li > a,a.uk-navbar-item,button.uk-navbar-item,.uk-navbar-item a,.uk-navbar-item button,.uk-navbar-toggle', // Simplify with :where() selector once browser target is Safari 14+
|
package/src/js/core/toggle.js
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
includes,
|
|
5
5
|
isBoolean,
|
|
6
6
|
isFocusable,
|
|
7
|
+
isSameSiteAnchor,
|
|
7
8
|
isTag,
|
|
8
9
|
isTouch,
|
|
9
10
|
matches,
|
|
@@ -153,18 +154,23 @@ export default {
|
|
|
153
154
|
filter: ({ mode }) => ['click', 'hover'].some((m) => includes(mode, m)),
|
|
154
155
|
|
|
155
156
|
handler(e) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
157
|
+
if (e.defaultPrevented) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
const link = e.target.closest('a');
|
|
162
|
+
const isButtonLike =
|
|
163
|
+
isSameSiteAnchor(link) && (!link.hash || matches(this.target, link.hash));
|
|
164
|
+
|
|
165
|
+
if (this._preventClick || isButtonLike || (link && !this.isToggled(this.target))) {
|
|
164
166
|
e.preventDefault();
|
|
165
167
|
}
|
|
166
168
|
|
|
167
|
-
if (
|
|
169
|
+
if (
|
|
170
|
+
!this._preventClick &&
|
|
171
|
+
includes(this.mode, 'click') &&
|
|
172
|
+
(!link || isButtonLike || e.defaultPrevented)
|
|
173
|
+
) {
|
|
168
174
|
this.toggle();
|
|
169
175
|
}
|
|
170
176
|
},
|
package/src/js/mixin/modal.js
CHANGED
|
@@ -156,6 +156,8 @@ export default {
|
|
|
156
156
|
);
|
|
157
157
|
|
|
158
158
|
addClass(document.documentElement, this.clsPage);
|
|
159
|
+
|
|
160
|
+
setAriaExpanded(this.target, true);
|
|
159
161
|
},
|
|
160
162
|
},
|
|
161
163
|
|
|
@@ -194,6 +196,9 @@ export default {
|
|
|
194
196
|
if (isFocusable(this.target)) {
|
|
195
197
|
this.target.focus();
|
|
196
198
|
}
|
|
199
|
+
|
|
200
|
+
setAriaExpanded(this.target, false);
|
|
201
|
+
|
|
197
202
|
this.target = null;
|
|
198
203
|
},
|
|
199
204
|
},
|
|
@@ -295,3 +300,9 @@ function listenForEscClose(modal) {
|
|
|
295
300
|
}
|
|
296
301
|
});
|
|
297
302
|
}
|
|
303
|
+
|
|
304
|
+
function setAriaExpanded(el, toggled) {
|
|
305
|
+
if (el?.ariaExpanded) {
|
|
306
|
+
el.ariaExpanded = toggled;
|
|
307
|
+
}
|
|
308
|
+
}
|