uikit 3.23.8-dev.97ee4c1bb → 3.23.8-dev.c5680eb20

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 (45) hide show
  1. package/dist/css/uikit-core-rtl.css +1 -1
  2. package/dist/css/uikit-core-rtl.min.css +1 -1
  3. package/dist/css/uikit-core.css +1 -1
  4. package/dist/css/uikit-core.min.css +1 -1
  5. package/dist/css/uikit-rtl.css +1 -1
  6. package/dist/css/uikit-rtl.min.css +1 -1
  7. package/dist/css/uikit.css +1 -1
  8. package/dist/css/uikit.min.css +1 -1
  9. package/dist/js/components/countdown.js +1 -1
  10. package/dist/js/components/countdown.min.js +1 -1
  11. package/dist/js/components/filter.js +1 -1
  12. package/dist/js/components/filter.min.js +1 -1
  13. package/dist/js/components/lightbox-panel.js +8 -1
  14. package/dist/js/components/lightbox-panel.min.js +1 -1
  15. package/dist/js/components/lightbox.js +8 -1
  16. package/dist/js/components/lightbox.min.js +1 -1
  17. package/dist/js/components/notification.js +1 -1
  18. package/dist/js/components/notification.min.js +1 -1
  19. package/dist/js/components/parallax.js +1 -1
  20. package/dist/js/components/parallax.min.js +1 -1
  21. package/dist/js/components/slider-parallax.js +1 -1
  22. package/dist/js/components/slider-parallax.min.js +1 -1
  23. package/dist/js/components/slider.js +1 -1
  24. package/dist/js/components/slider.min.js +1 -1
  25. package/dist/js/components/slideshow-parallax.js +1 -1
  26. package/dist/js/components/slideshow-parallax.min.js +1 -1
  27. package/dist/js/components/slideshow.js +1 -1
  28. package/dist/js/components/slideshow.min.js +1 -1
  29. package/dist/js/components/sortable.js +1 -1
  30. package/dist/js/components/sortable.min.js +1 -1
  31. package/dist/js/components/tooltip.js +1 -1
  32. package/dist/js/components/tooltip.min.js +1 -1
  33. package/dist/js/components/upload.js +1 -1
  34. package/dist/js/components/upload.min.js +1 -1
  35. package/dist/js/uikit-core.js +23 -8
  36. package/dist/js/uikit-core.min.js +1 -1
  37. package/dist/js/uikit-icons.js +1 -1
  38. package/dist/js/uikit-icons.min.js +1 -1
  39. package/dist/js/uikit.js +23 -8
  40. package/dist/js/uikit.min.js +1 -1
  41. package/package.json +1 -1
  42. package/src/js/core/drop.js +3 -2
  43. package/src/js/core/icon.js +5 -0
  44. package/src/js/core/toggle.js +15 -9
  45. 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.97ee4c1bb",
5
+ "version": "3.23.8-dev.c5680eb20",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -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', null);
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
- attr($el, 'aria-haspopup', true);
464
+ $el.ariaHasPopup = true;
464
465
 
465
466
  return $el;
466
467
  }
@@ -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 = {
@@ -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
- let link;
157
- if (
158
- this._preventClick ||
159
- e.target.closest('a[href="#"], a[href=""]') ||
160
- ((link = e.target.closest('a[href]')) &&
161
- (!this.isToggled(this.target) ||
162
- (link.hash && matches(this.target, link.hash))))
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 (!this._preventClick && includes(this.mode, 'click')) {
169
+ if (
170
+ !this._preventClick &&
171
+ includes(this.mode, 'click') &&
172
+ (!link || isButtonLike || e.defaultPrevented)
173
+ ) {
168
174
  this.toggle();
169
175
  }
170
176
  },
@@ -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
+ }