uikit 3.25.28-dev.fcd5185 → 3.25.29-dev.3bc1304

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 (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/ci-release.js +1 -4
  3. package/dist/css/uikit-core-rtl.css +1 -1
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +1 -1
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +1 -1
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +1 -1
  10. package/dist/css/uikit.min.css +1 -1
  11. package/dist/js/components/countdown.js +1 -1
  12. package/dist/js/components/countdown.min.js +1 -1
  13. package/dist/js/components/filter.js +11 -10
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +13 -12
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +13 -12
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +5 -2
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +10 -9
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +1 -1
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +11 -10
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +1 -1
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +11 -10
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +10 -9
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +1 -1
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +35 -48
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +40 -44
  38. package/dist/js/uikit-core.min.js +1 -1
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +1 -1
  41. package/dist/js/uikit.js +74 -91
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +1 -1
  44. package/src/js/api/component.js +1 -1
  45. package/src/js/api/computed.js +1 -1
  46. package/src/js/api/log.js +1 -1
  47. package/src/js/api/observables.js +5 -4
  48. package/src/js/api/observer.js +3 -4
  49. package/src/js/api/update.js +10 -9
  50. package/src/js/components/upload.js +38 -49
  51. package/src/js/core/alert.js +6 -3
  52. package/src/js/core/drop.js +4 -4
  53. package/src/js/core/form-custom.js +3 -8
  54. package/src/js/core/icon.js +3 -11
  55. package/src/js/core/svg.js +1 -1
  56. package/src/js/core/toggle.js +0 -2
  57. package/src/js/mixin/event.js +4 -1
  58. package/src/js/mixin/modal.js +1 -1
  59. package/tests/alert.html +2 -2
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.28-dev.fcd5185 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.29-dev.3bc1304 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1690,7 +1690,7 @@
1690
1690
  wrapInner: wrapInner
1691
1691
  });
1692
1692
 
1693
- var VERSION = '3.25.28-dev.fcd5185';
1693
+ var VERSION = '3.25.29-dev.3bc1304';
1694
1694
 
1695
1695
  function initUpdates(instance) {
1696
1696
  instance._data = {};
@@ -1707,22 +1707,23 @@
1707
1707
  if (!instance._updates.length) {
1708
1708
  return;
1709
1709
  }
1710
- if (!instance._updateCount) {
1711
- instance._updateCount = 0;
1712
- requestAnimationFrame(() => instance._updateCount = 0);
1713
- }
1714
1710
  if (!instance._queued) {
1715
1711
  instance._queued = /* @__PURE__ */ new Set();
1716
1712
  fastdom.read(() => {
1717
1713
  if (instance._connected) {
1718
- runUpdates(instance, instance._queued);
1714
+ if (!instance._updateCount) {
1715
+ instance._updateCount = 0;
1716
+ requestAnimationFrame(() => instance._updateCount = 0);
1717
+ }
1718
+ if (instance._updateCount < 10) {
1719
+ instance._updateCount++;
1720
+ runUpdates(instance, instance._queued);
1721
+ }
1719
1722
  }
1720
1723
  instance._queued = null;
1721
1724
  });
1722
1725
  }
1723
- if (instance._updateCount++ < 20) {
1724
- instance._queued.add(e.type || e);
1725
- }
1726
+ instance._queued.add(e.type || e);
1726
1727
  }
1727
1728
  function runUpdates(instance, types) {
1728
1729
  for (const { read, write, events = [] } of instance._updates) {
@@ -1827,7 +1828,7 @@
1827
1828
  });
1828
1829
  }
1829
1830
  function resetComputed(instance) {
1830
- const values = { ...instance._computed };
1831
+ const values = instance._computed;
1831
1832
  instance._computed = {};
1832
1833
  return values;
1833
1834
  }
@@ -1863,16 +1864,15 @@
1863
1864
  }
1864
1865
 
1865
1866
  function initObservers(instance) {
1866
- for (const observer of instance.$options.observe || []) {
1867
- registerObservable(instance, observer);
1867
+ for (const [index, observer] of (instance.$options.observe || []).entries()) {
1868
+ registerObservable(instance, observer, `_observe${index}`);
1868
1869
  }
1869
1870
  }
1870
- function registerObservable(instance, observable) {
1871
+ function registerObservable(instance, observable, key) {
1871
1872
  let { observe, target = instance.$el, handler, options, filter, args } = observable;
1872
1873
  if (filter && !filter.call(instance, instance)) {
1873
1874
  return;
1874
1875
  }
1875
- const key = `_observe${instance._disconnect.length}`;
1876
1876
  if (isFunction(target) && !hasOwn(instance, key)) {
1877
1877
  registerComputed(instance, key, () => {
1878
1878
  const targets2 = target.call(instance, instance);
@@ -2177,7 +2177,7 @@
2177
2177
  const elementComponents = /* @__PURE__ */ new WeakMap();
2178
2178
  const components$1 = {};
2179
2179
  function component(name, options) {
2180
- var _a, _b;
2180
+ var _a;
2181
2181
  const id = PREFIX + hyphenate(name);
2182
2182
  if (!options) {
2183
2183
  if (!components$1[id].options) {
@@ -2187,10 +2187,10 @@
2187
2187
  }
2188
2188
  name = camelize(name);
2189
2189
  App[name] = (element, data) => createComponent(name, element, data);
2190
- const opt = (_a = options.options) != null ? _a : { ...options };
2190
+ const opt = options.options || { ...options };
2191
2191
  opt.id = id;
2192
2192
  opt.name = name;
2193
- (_b = opt.install) == null ? void 0 : _b.call(opt, App, opt, name);
2193
+ (_a = opt.install) == null ? void 0 : _a.call(opt, App, opt, name);
2194
2194
  if (App._initialized && !opt.functional) {
2195
2195
  requestAnimationFrame(() => createComponent(name, `[${id}],[data-${id}]`));
2196
2196
  }
@@ -2459,8 +2459,11 @@
2459
2459
  const pos = getEventPos(e);
2460
2460
  const target = "tagName" in e.target ? e.target : parent(e.target);
2461
2461
  once(document, `${pointerUp} ${pointerCancel} scroll`, (e2) => {
2462
+ if (e2.type !== pointerUp || !target) {
2463
+ return;
2464
+ }
2462
2465
  const { x, y } = getEventPos(e2);
2463
- if (e2.type !== "scroll" && target && x && Math.abs(pos.x - x) > 100 || y && Math.abs(pos.y - y) > 100) {
2466
+ if (x && Math.abs(pos.x - x) > 100 || y && Math.abs(pos.y - y) > 100) {
2464
2467
  setTimeout(() => {
2465
2468
  trigger(target, "swipe");
2466
2469
  trigger(target, `swipe${swipeDirection(pos.x, pos.y, x, y)}`);
@@ -2530,7 +2533,7 @@
2530
2533
  }
2531
2534
 
2532
2535
  function maybeDefaultPreventClick(e) {
2533
- if (e.target.closest('a[href="#"],a[href=""]')) {
2536
+ if (e.type === "keydown" && e.keyCode === keyMap.SPACE || e.target.closest('a[href="#"],a[href=""]')) {
2534
2537
  e.preventDefault();
2535
2538
  }
2536
2539
  }
@@ -2918,11 +2921,10 @@
2918
2921
  mixins: [Class, Togglable],
2919
2922
  args: "animation",
2920
2923
  props: {
2921
- animation: Boolean,
2922
2924
  close: String
2923
2925
  },
2924
2926
  data: {
2925
- animation: true,
2927
+ animation: [true],
2926
2928
  selClose: ".uk-alert-close",
2927
2929
  duration: 150
2928
2930
  },
@@ -2936,7 +2938,11 @@
2936
2938
  },
2937
2939
  methods: {
2938
2940
  async close() {
2939
- await this.toggleElement(this.$el, false, this.animation ? animate$1 : false);
2941
+ await this.toggleElement(
2942
+ this.$el,
2943
+ false,
2944
+ this.animation[0] === true || this.animation[0] === 1 ? animate$1 : true
2945
+ );
2940
2946
  this.$destroy(true);
2941
2947
  }
2942
2948
  }
@@ -3311,11 +3317,10 @@
3311
3317
  attr(this.targetEl, "aria-expanded", false);
3312
3318
  this._style = pick(this.$el.style, ["width", "height"]);
3313
3319
  },
3320
+ beforeDisconnect() {
3321
+ this.hide(false, false);
3322
+ },
3314
3323
  disconnected() {
3315
- if (this.isActive()) {
3316
- this.hide(false);
3317
- active$1 = null;
3318
- }
3319
3324
  css(this.$el, this._style);
3320
3325
  },
3321
3326
  events: [
@@ -3941,15 +3946,14 @@
3941
3946
  }
3942
3947
  },
3943
3948
  update() {
3944
- var _a;
3949
+ var _a, _b, _c, _d, _e, _f;
3945
3950
  const { target, input } = this;
3946
3951
  if (!target) {
3947
3952
  return;
3948
3953
  }
3949
- let option;
3950
3954
  const prop = isInput(target) ? "value" : "textContent";
3951
3955
  const prev = target[prop];
3952
- const value = ((_a = input.files) == null ? void 0 : _a[0]) ? input.files[0].name : matches(input, "select") && (option = $$("option", input).find((el) => el.selected)) ? option.textContent : input.value;
3956
+ const value = (_f = (_e = (_b = (_a = input.files) == null ? void 0 : _a[0]) == null ? void 0 : _b.name) != null ? _e : (_d = (_c = input.selectedOptions) == null ? void 0 : _c[0]) == null ? void 0 : _d.label) != null ? _f : input.value;
3953
3957
  if (prev !== value) {
3954
3958
  target[prop] = value;
3955
3959
  }
@@ -4644,16 +4648,9 @@
4644
4648
  beforeConnect() {
4645
4649
  const isToggle = hasClass(this.$el, "uk-search-toggle") || hasClass(this.$el, "uk-navbar-toggle");
4646
4650
  this.icon = isToggle ? "search-toggle-icon" : hasClass(this.$el, "uk-search-icon") && this.$el.closest(".uk-search-large") ? "search-large" : this.$el.closest(".uk-search-medium") ? "search-medium" : this.$props.icon;
4647
- if (hasAttr(this.$el, "aria-label")) {
4648
- return;
4649
- }
4650
- if (isToggle) {
4651
- this.$el.ariaLabel = this.t("toggle");
4652
- } else {
4653
- const button = this.$el.closest("a,button");
4654
- if (button) {
4655
- button.ariaLabel = this.t("submit");
4656
- }
4651
+ const target = isToggle ? this.$el : this.$el.closest("a,button");
4652
+ if (target && !hasAttr(target, "aria-label")) {
4653
+ target.ariaLabel = this.t(isToggle ? "toggle" : "submit");
4657
4654
  }
4658
4655
  }
4659
4656
  };
@@ -5205,13 +5202,13 @@
5205
5202
  let rejectAnimation;
5206
5203
  return new Promise(
5207
5204
  (resolve, reject) => once(el, "show hide", () => {
5208
- var _a, _b, _c;
5205
+ var _a, _b;
5209
5206
  (_a = pendingReject.get(el)) == null ? void 0 : _a();
5210
5207
  rejectAnimation = reject;
5211
5208
  pendingReject.set(el, reject);
5212
5209
  _toggle(el, show);
5213
5210
  Promise.all(
5214
- ((_c = (_b = transitionElement == null ? void 0 : transitionElement.getAnimations) == null ? void 0 : _b.call(transitionElement)) != null ? _c : []).map(({ finished }) => finished)
5211
+ (((_b = transitionElement == null ? void 0 : transitionElement.getAnimations) == null ? void 0 : _b.call(transitionElement)) || []).map(({ finished }) => finished)
5215
5212
  ).then(resolve, reject);
5216
5213
  })
5217
5214
  ).then(() => {
@@ -6384,7 +6381,7 @@
6384
6381
  const loadSVG = memoize(async (src) => {
6385
6382
  if (src) {
6386
6383
  const response = await fetch(src);
6387
- if (response.headers.get("Content-Type") === "image/svg+xml") {
6384
+ if (/^image\/svg\+xml\s*(;|$)/i.test(response.headers.get("Content-Type"))) {
6388
6385
  return response.text();
6389
6386
  }
6390
6387
  }
@@ -6706,7 +6703,6 @@
6706
6703
  {
6707
6704
  name: "mediachange",
6708
6705
  filter: ({ mode }) => includes(mode, "media"),
6709
- el: ({ target }) => target,
6710
6706
  handler(e, mediaObj) {
6711
6707
  if (mediaObj.matches ^ this.isToggled(this.target)) {
6712
6708
  this.toggle();