uikit 3.25.23-dev.cf3d285 → 3.25.24-dev.66bb413

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 (62) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/scss.js +80 -49
  3. package/dist/css/uikit-core-rtl.css +5 -64
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +5 -64
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +5 -64
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +5 -64
  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 +4 -4
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +323 -31
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +323 -31
  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 +191 -191
  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 +1 -1
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +95 -81
  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 +88 -74
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +2 -2
  44. package/src/js/api/component.js +12 -8
  45. package/src/js/core/accordion.js +11 -7
  46. package/src/js/core/drop.js +11 -33
  47. package/src/js/core/inverse.js +1 -1
  48. package/src/js/mixin/event.js +31 -0
  49. package/src/js/mixin/modal.js +25 -33
  50. package/src/js/util/observer.js +1 -1
  51. package/src/less/components/base.less +2 -35
  52. package/src/less/components/button.less +0 -8
  53. package/src/less/components/form.less +0 -6
  54. package/src/less/components/icon.less +0 -8
  55. package/src/less/components/search.less +0 -5
  56. package/src/less/components/utility.less +3 -7
  57. package/src/scss/components/base.scss +2 -35
  58. package/src/scss/components/button.scss +0 -8
  59. package/src/scss/components/form.scss +0 -6
  60. package/src/scss/components/icon.scss +0 -8
  61. package/src/scss/components/search.scss +0 -5
  62. package/src/scss/components/utility.scss +3 -7
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.23-dev.cf3d285 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.24-dev.66bb413 | 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() :
@@ -1101,7 +1101,7 @@
1101
1101
  return observe$1(ResizeObserver, targets, cb, options);
1102
1102
  }
1103
1103
  const off = [on(window, "load resize", cb), on(document, "loadedmetadata load", cb, true)];
1104
- return { disconnect: () => off.map((cb2) => cb2()) };
1104
+ return { disconnect: () => off.forEach((cb2) => cb2()) };
1105
1105
  }
1106
1106
  function observeViewportResize(cb) {
1107
1107
  return { disconnect: on([window, window.visualViewport], "resize", cb) };
@@ -2329,12 +2329,6 @@
2329
2329
  }
2330
2330
  };
2331
2331
 
2332
- function maybeDefaultPreventClick(e) {
2333
- if (e.target.closest('a[href="#"],a[href=""]')) {
2334
- e.preventDefault();
2335
- }
2336
- }
2337
-
2338
2332
  const keyMap = {
2339
2333
  TAB: 9,
2340
2334
  ENTER: 13,
@@ -2348,6 +2342,36 @@
2348
2342
  DOWN: 40
2349
2343
  };
2350
2344
 
2345
+ function maybeDefaultPreventClick(e) {
2346
+ if (e.target.closest('a[href="#"],a[href=""]')) {
2347
+ e.preventDefault();
2348
+ }
2349
+ }
2350
+ function onEscape(handler, isEligible = () => true) {
2351
+ return on(document, "keydown", (e) => {
2352
+ if (e.keyCode === keyMap.ESC && isEligible()) {
2353
+ handler(e);
2354
+ }
2355
+ });
2356
+ }
2357
+ function onOutsidePointer(handler, isOutside, isEligible) {
2358
+ return on(document, pointerDown$1, ({ target }) => {
2359
+ if (!isOutside(target) || isEligible && !isEligible()) {
2360
+ return;
2361
+ }
2362
+ once(
2363
+ document,
2364
+ `${pointerUp$1} ${pointerCancel} scroll`,
2365
+ ({ defaultPrevented, type, target: newTarget }) => {
2366
+ if (!defaultPrevented && type === pointerUp$1 && target === newTarget) {
2367
+ handler(target);
2368
+ }
2369
+ },
2370
+ true
2371
+ );
2372
+ });
2373
+ }
2374
+
2351
2375
  var filter = {
2352
2376
  mixins: [Animate],
2353
2377
  args: "target",
@@ -2858,6 +2882,7 @@
2858
2882
  }
2859
2883
 
2860
2884
  const active$1 = [];
2885
+ const pendingReject = /* @__PURE__ */ new WeakMap();
2861
2886
  var Modal = {
2862
2887
  mixins: [Class, Container, Togglable],
2863
2888
  props: {
@@ -3012,11 +3037,13 @@
3012
3037
  }
3013
3038
  };
3014
3039
  function animate$1(el, show, { transitionElement, _toggle }) {
3040
+ let rejectAnimation;
3015
3041
  return new Promise(
3016
3042
  (resolve, reject) => once(el, "show hide", () => {
3017
3043
  var _a;
3018
- (_a = el._reject) == null ? void 0 : _a.call(el);
3019
- el._reject = reject;
3044
+ (_a = pendingReject.get(el)) == null ? void 0 : _a();
3045
+ rejectAnimation = reject;
3046
+ pendingReject.set(el, reject);
3020
3047
  _toggle(el, show);
3021
3048
  const off = once(
3022
3049
  transitionElement,
@@ -3037,7 +3064,11 @@
3037
3064
  toMs(css(transitionElement, "transitionDuration"))
3038
3065
  );
3039
3066
  })
3040
- ).then(() => delete el._reject);
3067
+ ).then(() => {
3068
+ if (pendingReject.get(el) === rejectAnimation) {
3069
+ pendingReject.delete(el);
3070
+ }
3071
+ });
3041
3072
  }
3042
3073
  function toMs(time) {
3043
3074
  return toFloat(time) * (endsWith(time, "ms") ? 1 : 1e3);
@@ -3056,28 +3087,17 @@
3056
3087
  });
3057
3088
  }
3058
3089
  function listenForBackgroundClose$1(modal) {
3059
- return on(document, pointerDown$1, ({ target }) => {
3060
- if (last(active$1) !== modal || modal.overlay && !modal.$el.contains(target) || !modal.panel || modal.panel.contains(target)) {
3061
- return;
3062
- }
3063
- once(
3064
- document,
3065
- `${pointerUp$1} ${pointerCancel} scroll`,
3066
- ({ defaultPrevented, type, target: newTarget }) => {
3067
- if (!defaultPrevented && type === pointerUp$1 && target === newTarget) {
3068
- modal.hide();
3069
- }
3070
- },
3071
- true
3072
- );
3073
- });
3090
+ return onOutsidePointer(
3091
+ () => modal.hide(),
3092
+ (target) => (!modal.overlay || modal.$el.contains(target)) && Boolean(modal.panel) && !modal.panel.contains(target),
3093
+ () => last(active$1) === modal
3094
+ );
3074
3095
  }
3075
3096
  function listenForEscClose$1(modal) {
3076
- return on(document, "keydown", (e) => {
3077
- if (e.keyCode === 27 && last(active$1) === modal) {
3078
- modal.hide();
3079
- }
3080
- });
3097
+ return onEscape(
3098
+ () => modal.hide(),
3099
+ () => last(active$1) === modal
3100
+ );
3081
3101
  }
3082
3102
  function setAriaExpanded(el, toggled) {
3083
3103
  if (el == null ? void 0 : el.ariaExpanded) {
@@ -3391,7 +3411,7 @@
3391
3411
  return Math.atan2(Math.abs(pos2.y - pos1.y), Math.abs(pos2.x - pos1.x)) * 180 / Math.PI;
3392
3412
  }
3393
3413
 
3394
- var VERSION = '3.25.23-dev.cf3d285';
3414
+ var VERSION = '3.25.24-dev.66bb413';
3395
3415
 
3396
3416
  function initWatches(instance) {
3397
3417
  instance._watches = [];
@@ -3717,7 +3737,7 @@
3717
3737
  App.version = VERSION;
3718
3738
 
3719
3739
  const PREFIX = "uk-";
3720
- const DATA = "__uikit__";
3740
+ const elementComponents = /* @__PURE__ */ new WeakMap();
3721
3741
  const components$2 = {};
3722
3742
  function component(name, options) {
3723
3743
  var _a, _b;
@@ -3755,22 +3775,24 @@
3755
3775
  }
3756
3776
  }
3757
3777
  function getComponents(element) {
3758
- return (element == null ? void 0 : element[DATA]) || {};
3778
+ return elementComponents.get(element) || {};
3759
3779
  }
3760
3780
  function getComponent(element, name) {
3761
3781
  return getComponents(element)[name];
3762
3782
  }
3763
3783
  function attachToElement(element, instance) {
3764
- if (!element[DATA]) {
3765
- element[DATA] = {};
3784
+ let components2 = elementComponents.get(element);
3785
+ if (!components2) {
3786
+ components2 = {};
3787
+ elementComponents.set(element, components2);
3766
3788
  }
3767
- element[DATA][instance.$options.name] = instance;
3789
+ components2[instance.$options.name] = instance;
3768
3790
  }
3769
3791
  function detachFromElement(element, instance) {
3770
- var _a;
3771
- (_a = element[DATA]) == null ? true : delete _a[instance.$options.name];
3772
- if (isEmpty(element[DATA])) {
3773
- delete element[DATA];
3792
+ const components2 = elementComponents.get(element);
3793
+ components2 == null ? true : delete components2[instance.$options.name];
3794
+ if (isEmpty(components2)) {
3795
+ elementComponents.delete(element);
3774
3796
  }
3775
3797
  }
3776
3798
 
@@ -6718,6 +6740,7 @@
6718
6740
  globalApi(App);
6719
6741
  instanceApi(App);
6720
6742
 
6743
+ const wrappers = /* @__PURE__ */ new WeakMap();
6721
6744
  var Accordion = {
6722
6745
  mixins: [Class, Togglable],
6723
6746
  props: {
@@ -6747,10 +6770,12 @@
6747
6770
  return this.items.map((item) => $(toggle, item));
6748
6771
  },
6749
6772
  contents({ content }) {
6750
- return this.items.map((item) => {
6751
- var _a;
6752
- return ((_a = item._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, item);
6753
- });
6773
+ return this.items.map(
6774
+ (item) => {
6775
+ var _a;
6776
+ return ((_a = wrappers.get(item)) == null ? void 0 : _a.firstElementChild) || $(content, item);
6777
+ }
6778
+ );
6754
6779
  }
6755
6780
  },
6756
6781
  watch: {
@@ -6857,12 +6882,12 @@
6857
6882
  el && (el.hidden = hide2);
6858
6883
  }
6859
6884
  async function transition(el, show, { content, duration, velocity, transition: transition2 }) {
6860
- var _a;
6861
- content = ((_a = el._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, el);
6862
- if (!el._wrapper) {
6863
- el._wrapper = wrapAll(content, "<div>");
6885
+ let wrapper = wrappers.get(el);
6886
+ content = (wrapper == null ? void 0 : wrapper.firstElementChild) || $(content, el);
6887
+ if (!wrapper) {
6888
+ wrapper = wrapAll(content, "<div>");
6889
+ wrappers.set(el, wrapper);
6864
6890
  }
6865
- const wrapper = el._wrapper;
6866
6891
  css(wrapper, "overflow", "hidden");
6867
6892
  const currentHeight = toFloat(css(wrapper, "height"));
6868
6893
  await Transition.cancel(wrapper);
@@ -6873,7 +6898,7 @@
6873
6898
  css(wrapper, "height", currentHeight);
6874
6899
  await Transition.start(wrapper, { height: show ? endHeight : 0 }, duration, transition2);
6875
6900
  unwrap(content);
6876
- delete el._wrapper;
6901
+ wrappers.delete(el);
6877
6902
  if (!show) {
6878
6903
  hide(content, true);
6879
6904
  }
@@ -7426,7 +7451,7 @@
7426
7451
  observeViewportResize(update),
7427
7452
  observeResize(overflowParents(drop.$el).concat(drop.target), update)
7428
7453
  ];
7429
- return () => off.map((observer) => observer.disconnect());
7454
+ return () => off.forEach((observer) => observer.disconnect());
7430
7455
  }
7431
7456
  function listenForScroll(drop, fn = () => drop.$emit()) {
7432
7457
  return on([document, ...overflowParents(drop.$el)], "scroll", fn, {
@@ -7434,32 +7459,21 @@
7434
7459
  });
7435
7460
  }
7436
7461
  function listenForEscClose(drop) {
7437
- return on(document, "keydown", (e) => {
7438
- if (e.keyCode === keyMap.ESC) {
7439
- drop.hide(false);
7440
- }
7441
- });
7462
+ return onEscape(() => drop.hide(false));
7442
7463
  }
7443
7464
  function listenForScrollClose(drop) {
7444
7465
  return listenForScroll(drop, () => drop.hide(false));
7445
7466
  }
7446
7467
  function listenForBackgroundClose(drop) {
7447
- return on(document, pointerDown$1, ({ target }) => {
7448
- if (drop.$el.contains(target)) {
7449
- return;
7450
- }
7451
- once(
7452
- document,
7453
- `${pointerUp$1} ${pointerCancel} scroll`,
7454
- ({ defaultPrevented, type, target: newTarget }) => {
7455
- var _a;
7456
- if (!defaultPrevented && type === pointerUp$1 && target === newTarget && !((_a = drop.targetEl) == null ? void 0 : _a.contains(target))) {
7457
- drop.hide(false);
7458
- }
7459
- },
7460
- true
7461
- );
7462
- });
7468
+ return onOutsidePointer(
7469
+ (target) => {
7470
+ var _a;
7471
+ if (!((_a = drop.targetEl) == null ? void 0 : _a.contains(target))) {
7472
+ drop.hide(false);
7473
+ }
7474
+ },
7475
+ (target) => !drop.$el.contains(target)
7476
+ );
7463
7477
  }
7464
7478
 
7465
7479
  var Dropnav = {
@@ -8529,7 +8543,7 @@
8529
8543
  unobserve: observer.unobserve.bind(observer),
8530
8544
  disconnect() {
8531
8545
  observer.disconnect();
8532
- listener.map((off) => off());
8546
+ listener.forEach((off) => off());
8533
8547
  }
8534
8548
  };
8535
8549
  },