uikit 3.25.28-dev.fcd5185 → 3.25.29-dev.e02d266

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 (49) hide show
  1. package/CHANGELOG.md +6 -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 +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +3 -3
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +3 -3
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +1 -1
  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 +1 -1
  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 +1 -1
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +1 -1
  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 +10 -11
  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 +44 -58
  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/log.js +1 -1
  46. package/src/js/components/upload.js +38 -49
  47. package/src/js/core/form-custom.js +3 -8
  48. package/src/js/core/svg.js +1 -1
  49. package/src/js/mixin/modal.js +1 -1
package/dist/js/uikit.js CHANGED
@@ -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.e02d266 | 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() :
@@ -3065,13 +3065,13 @@
3065
3065
  let rejectAnimation;
3066
3066
  return new Promise(
3067
3067
  (resolve, reject) => once(el, "show hide", () => {
3068
- var _a, _b, _c;
3068
+ var _a, _b;
3069
3069
  (_a = pendingReject.get(el)) == null ? void 0 : _a();
3070
3070
  rejectAnimation = reject;
3071
3071
  pendingReject.set(el, reject);
3072
3072
  _toggle(el, show);
3073
3073
  Promise.all(
3074
- ((_c = (_b = transitionElement == null ? void 0 : transitionElement.getAnimations) == null ? void 0 : _b.call(transitionElement)) != null ? _c : []).map(({ finished }) => finished)
3074
+ (((_b = transitionElement == null ? void 0 : transitionElement.getAnimations) == null ? void 0 : _b.call(transitionElement)) || []).map(({ finished }) => finished)
3075
3075
  ).then(resolve, reject);
3076
3076
  })
3077
3077
  ).then(() => {
@@ -3419,7 +3419,7 @@
3419
3419
  return Math.atan2(Math.abs(pos2.y - pos1.y), Math.abs(pos2.x - pos1.x)) * 180 / Math.PI;
3420
3420
  }
3421
3421
 
3422
- var VERSION = '3.25.28-dev.fcd5185';
3422
+ var VERSION = '3.25.29-dev.e02d266';
3423
3423
 
3424
3424
  function initWatches(instance) {
3425
3425
  instance._watches = [];
@@ -3748,7 +3748,7 @@
3748
3748
  const elementComponents = /* @__PURE__ */ new WeakMap();
3749
3749
  const components$2 = {};
3750
3750
  function component(name, options) {
3751
- var _a, _b;
3751
+ var _a;
3752
3752
  const id = PREFIX + hyphenate(name);
3753
3753
  if (!options) {
3754
3754
  if (!components$2[id].options) {
@@ -3758,10 +3758,10 @@
3758
3758
  }
3759
3759
  name = camelize(name);
3760
3760
  App[name] = (element, data) => createComponent(name, element, data);
3761
- const opt = (_a = options.options) != null ? _a : { ...options };
3761
+ const opt = options.options || { ...options };
3762
3762
  opt.id = id;
3763
3763
  opt.name = name;
3764
- (_b = opt.install) == null ? void 0 : _b.call(opt, App, opt, name);
3764
+ (_a = opt.install) == null ? void 0 : _a.call(opt, App, opt, name);
3765
3765
  if (App._initialized && !opt.functional) {
3766
3766
  requestAnimationFrame(() => createComponent(name, `[${id}],[data-${id}]`));
3767
3767
  }
@@ -6518,37 +6518,37 @@
6518
6518
  },
6519
6519
  methods: {
6520
6520
  async upload(files) {
6521
- files = toArray(files);
6522
- if (!files.length) {
6523
- return;
6524
- }
6525
- if (!this.multiple) {
6526
- files = files.slice(0, 1);
6527
- }
6528
- trigger(this.$el, "upload", [files]);
6529
- for (const file of files) {
6530
- if (this.maxSize && this.maxSize * 1e3 < file.size) {
6531
- this.fail(this.t("invalidSize", this.maxSize));
6532
- return;
6533
- }
6534
- if (this.allow && !match$1(this.allow, file.name)) {
6535
- this.fail(this.t("invalidName", this.allow));
6521
+ try {
6522
+ files = toArray(files);
6523
+ if (!files.length) {
6536
6524
  return;
6537
6525
  }
6538
- if (this.mime && !match$1(this.mime, file.type)) {
6539
- this.fail(this.t("invalidMime", this.mime));
6540
- return;
6526
+ if (!this.multiple) {
6527
+ files = files.slice(0, 1);
6541
6528
  }
6542
- }
6543
- this.beforeAll(this, files);
6544
- const chunks = chunk(files, this.concurrent);
6545
- const upload = async (files2) => {
6546
- const data = new FormData();
6547
- files2.forEach((file) => data.append(this.name, file));
6548
- for (const key in this.params) {
6549
- data.append(key, this.params[key]);
6529
+ trigger(this.$el, "upload", [files]);
6530
+ for (const file of files) {
6531
+ if (this.maxSize && this.maxSize * 1e3 < file.size) {
6532
+ this.fail(this.t("invalidSize", this.maxSize));
6533
+ return;
6534
+ }
6535
+ if (this.allow && !match$1(this.allow, file.name)) {
6536
+ this.fail(this.t("invalidName", this.allow));
6537
+ return;
6538
+ }
6539
+ if (this.mime && !match$1(this.mime, file.type)) {
6540
+ this.fail(this.t("invalidMime", this.mime));
6541
+ return;
6542
+ }
6550
6543
  }
6551
- try {
6544
+ await this.beforeAll(this, files);
6545
+ const size = this.concurrent;
6546
+ for (let i = 0; i < files.length; i += size) {
6547
+ const data = new FormData();
6548
+ files.slice(i, i + size).forEach((file) => data.append(this.name, file));
6549
+ for (const key in this.params) {
6550
+ data.append(key, this.params[key]);
6551
+ }
6552
6552
  const xhr = await ajax(this.url, {
6553
6553
  data,
6554
6554
  method: this.method,
@@ -6563,38 +6563,25 @@
6563
6563
  }
6564
6564
  });
6565
6565
  this.complete(xhr);
6566
- if (chunks.length) {
6567
- await upload(chunks.shift());
6568
- } else {
6566
+ if (i + size >= files.length) {
6569
6567
  this.completeAll(xhr);
6570
6568
  }
6571
- } catch (e) {
6572
- if (e.name !== "AbortError") {
6573
- this.error(e);
6574
- }
6575
6569
  }
6576
- };
6577
- await upload(chunks.shift());
6570
+ } catch (e) {
6571
+ if ((e == null ? void 0 : e.name) !== "AbortError") {
6572
+ this.error(e);
6573
+ }
6574
+ }
6578
6575
  }
6579
6576
  }
6580
6577
  };
6581
6578
  function match$1(pattern, path) {
6582
6579
  const expression = pattern.replace(
6583
6580
  /\*\*|[.*+?^${}()|[\]\\]/g,
6584
- (s) => {
6585
- var _a;
6586
- return (_a = { "**": ".*", "*": "[^/]+", "?": "[^/]", "|": "|" }[s]) != null ? _a : `\\${s}`;
6587
- }
6581
+ (s) => ({ "**": ".*", "*": "[^/]+", "?": "[^/]", "|": "|" })[s] || `\\${s}`
6588
6582
  );
6589
6583
  return new RegExp(`^(?:${expression})$`, "i").test(path);
6590
6584
  }
6591
- function chunk(files, size) {
6592
- const chunks = [];
6593
- for (let i = 0; i < files.length; i += size) {
6594
- chunks.push(files.slice(i, i + size));
6595
- }
6596
- return chunks;
6597
- }
6598
6585
  function stop(e) {
6599
6586
  e.preventDefault();
6600
6587
  e.stopPropagation();
@@ -7803,15 +7790,14 @@
7803
7790
  }
7804
7791
  },
7805
7792
  update() {
7806
- var _a;
7793
+ var _a, _b, _c, _d, _e, _f;
7807
7794
  const { target, input } = this;
7808
7795
  if (!target) {
7809
7796
  return;
7810
7797
  }
7811
- let option;
7812
7798
  const prop = isInput(target) ? "value" : "textContent";
7813
7799
  const prev = target[prop];
7814
- 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;
7800
+ 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;
7815
7801
  if (prev !== value) {
7816
7802
  target[prop] = value;
7817
7803
  }
@@ -9750,7 +9736,7 @@
9750
9736
  const loadSVG = memoize(async (src) => {
9751
9737
  if (src) {
9752
9738
  const response = await fetch(src);
9753
- if (response.headers.get("Content-Type") === "image/svg+xml") {
9739
+ if (/^image\/svg\+xml\s*(;|$)/i.test(response.headers.get("Content-Type"))) {
9754
9740
  return response.text();
9755
9741
  }
9756
9742
  }