uikit 3.16.11-dev.85cdca725 → 3.16.11-dev.cc1aeb568

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 (64) 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 +7 -491
  14. package/dist/js/components/lightbox-panel.min.js +1 -1
  15. package/dist/js/components/lightbox.js +7 -491
  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 +155 -161
  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 +155 -161
  40. package/dist/js/uikit.min.js +1 -1
  41. package/package.json +1 -1
  42. package/src/js/api/computed.js +47 -6
  43. package/src/js/api/hooks.js +9 -8
  44. package/src/js/api/observer.js +14 -32
  45. package/src/js/api/update.js +6 -1
  46. package/src/js/api/watch.js +6 -22
  47. package/src/js/core/drop.js +1 -1
  48. package/src/js/core/dropnav.js +23 -35
  49. package/src/js/core/img.js +6 -5
  50. package/src/js/core/navbar.js +17 -21
  51. package/src/js/core/scrollspy.js +6 -5
  52. package/src/js/core/switcher.js +5 -9
  53. package/src/js/core/toggle.js +3 -7
  54. package/src/js/{util → mixin/internal}/scroll.js +1 -5
  55. package/src/js/mixin/modal.js +1 -1
  56. package/tests/drop.html +0 -1
  57. package/tests/dropnav.html +1 -1
  58. package/tests/icon.html +0 -2
  59. package/tests/modal.html +0 -1
  60. package/tests/nav.html +0 -1
  61. package/tests/navbar.html +0 -1
  62. package/tests/progress.html +0 -1
  63. package/tests/scroll.html +0 -1
  64. package/tests/sticky-navbar.html +6 -6
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.11-dev.85cdca725 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.16.11-dev.cc1aeb568 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1666,51 +1666,45 @@
1666
1666
  wrapInner: wrapInner
1667
1667
  });
1668
1668
 
1669
- function initComputed(instance) {
1670
- const { computed } = instance.$options;
1671
- instance._computed = {};
1672
- if (computed) {
1673
- for (const key in computed) {
1674
- registerComputed(instance, key, computed[key]);
1669
+ function initWatches(instance) {
1670
+ instance._watches = [];
1671
+ for (const watches of instance.$options.watch || []) {
1672
+ for (const [name, watch] of Object.entries(watches)) {
1673
+ registerWatch(instance, watch, name);
1675
1674
  }
1676
1675
  }
1676
+ instance._initial = true;
1677
1677
  }
1678
- function resetComputed(instance) {
1679
- const values = { ...instance._computed };
1680
- instance._computed = {};
1681
- return values;
1678
+ function registerWatch(instance, watch, name) {
1679
+ instance._watches.push({
1680
+ name,
1681
+ ...isPlainObject(watch) ? watch : { handler: watch }
1682
+ });
1682
1683
  }
1683
- function registerComputed(instance, key, cb) {
1684
- Object.defineProperty(instance, key, {
1685
- enumerable: true,
1686
- get() {
1687
- const { _computed, $props, $el } = instance;
1688
- if (!hasOwn(_computed, key)) {
1689
- _computed[key] = (cb.get || cb).call(instance, $props, $el);
1690
- }
1691
- return _computed[key];
1692
- },
1693
- set(value) {
1694
- const { _computed } = instance;
1695
- _computed[key] = cb.set ? cb.set.call(instance, value) : value;
1696
- if (isUndefined(_computed[key])) {
1697
- delete _computed[key];
1698
- }
1684
+ function runWatches(instance, values) {
1685
+ for (const { name, handler, immediate = true } of instance._watches) {
1686
+ if (instance._initial ? immediate : hasOwn(values, name) && !isEqual(values[name], instance[name])) {
1687
+ handler.call(instance, instance[name], instance._initial ? void 0 : values[name]);
1699
1688
  }
1700
- });
1689
+ }
1690
+ instance._initial = false;
1701
1691
  }
1702
1692
 
1703
1693
  function initUpdates(instance) {
1694
+ instance._data = {};
1704
1695
  instance._updates = [...instance.$options.update || []];
1705
1696
  }
1706
1697
  function prependUpdate(instance, update) {
1707
1698
  instance._updates.unshift(update);
1708
1699
  }
1700
+ function clearUpdateData(instance) {
1701
+ delete instance._data;
1702
+ }
1709
1703
  function callUpdate(instance, e = "update") {
1710
1704
  if (!instance._connected) {
1711
1705
  return;
1712
1706
  }
1713
- if (!instance.$options.update) {
1707
+ if (!instance._updates.length) {
1714
1708
  return;
1715
1709
  }
1716
1710
  if (!instance._queued) {
@@ -1746,39 +1740,71 @@
1746
1740
  }
1747
1741
  }
1748
1742
 
1749
- function initWatches(instance) {
1750
- instance._watches = [];
1751
- for (const watches of instance.$options.watch || []) {
1752
- for (const [name, watch] of Object.entries(watches)) {
1753
- registerWatch(instance, watch, name);
1743
+ function initComputed(instance) {
1744
+ const { computed } = instance.$options;
1745
+ instance._computed = {};
1746
+ if (computed) {
1747
+ for (const key in computed) {
1748
+ registerComputed(instance, key, computed[key]);
1754
1749
  }
1755
1750
  }
1756
- instance._initial = true;
1757
- prependUpdate(instance, { read: () => callWatches(instance), events: ["resize"] });
1758
1751
  }
1759
- function registerWatch(instance, watch, name) {
1760
- instance._watches.push({
1761
- name,
1762
- ...isPlainObject(watch) ? watch : { handler: watch }
1752
+ function registerComputed(instance, key, cb) {
1753
+ instance._hasComputed = true;
1754
+ Object.defineProperty(instance, key, {
1755
+ enumerable: true,
1756
+ get() {
1757
+ const { _computed, $props, $el } = instance;
1758
+ if (!hasOwn(_computed, key)) {
1759
+ _computed[key] = (cb.get || cb).call(instance, $props, $el);
1760
+ }
1761
+ return _computed[key];
1762
+ },
1763
+ set(value) {
1764
+ const { _computed } = instance;
1765
+ _computed[key] = cb.set ? cb.set.call(instance, value) : value;
1766
+ if (isUndefined(_computed[key])) {
1767
+ delete _computed[key];
1768
+ }
1769
+ }
1763
1770
  });
1764
- if (watch.document) {
1765
- instance._observeTarget = instance.$options.el.ownerDocumentocument;
1766
- }
1767
1771
  }
1768
- function callWatches(instance) {
1769
- if (!instance._connected) {
1772
+ function initComputedUpdates(instance) {
1773
+ if (!instance._hasComputed) {
1770
1774
  return;
1771
1775
  }
1772
- runWatches(instance, instance._initial);
1773
- instance._initial = false;
1776
+ prependUpdate(instance, {
1777
+ read: () => runWatches(instance, resetComputed(instance)),
1778
+ events: ["resize", "computed"]
1779
+ });
1780
+ registerComputedObserver();
1781
+ instances$1.add(instance);
1774
1782
  }
1775
- function runWatches(instance, initial) {
1776
- const values = resetComputed(instance);
1777
- for (const { name, handler, immediate = true } of instance._watches) {
1778
- if (initial && immediate || hasOwn(values, name) && !isEqual(values[name], instance[name])) {
1779
- handler.call(instance, instance[name], initial ? void 0 : values[name]);
1780
- }
1783
+ function disconnectComputedUpdates(instance) {
1784
+ instances$1 == null ? void 0 : instances$1.delete(instance);
1785
+ resetComputed(instance);
1786
+ }
1787
+ function resetComputed(instance) {
1788
+ const values = { ...instance._computed };
1789
+ instance._computed = {};
1790
+ return values;
1791
+ }
1792
+ let observer;
1793
+ let instances$1;
1794
+ function registerComputedObserver() {
1795
+ if (observer) {
1796
+ return;
1781
1797
  }
1798
+ instances$1 = /* @__PURE__ */ new Set();
1799
+ observer = new MutationObserver(() => {
1800
+ for (const instance of instances$1) {
1801
+ callUpdate(instance, "computed");
1802
+ }
1803
+ });
1804
+ observer.observe(document, {
1805
+ childList: true,
1806
+ subtree: true
1807
+ });
1782
1808
  }
1783
1809
 
1784
1810
  function initEvents(instance) {
@@ -1844,44 +1870,29 @@
1844
1870
  return;
1845
1871
  }
1846
1872
  const key = `_observe${instance._observers.length}`;
1847
- if (isFunction(target) && !(key in instance)) {
1873
+ if (isFunction(target) && !hasOwn(instance, key)) {
1848
1874
  registerComputed(instance, key, () => target.call(instance, instance));
1849
1875
  }
1850
1876
  handler = isString(handler) ? instance[handler] : handler.bind(instance);
1851
1877
  if (isFunction(options)) {
1852
1878
  options = options.call(instance, instance);
1853
1879
  }
1854
- const observer = observe(key in instance ? instance[key] : target, handler, options, args);
1880
+ const targets = hasOwn(instance, key) ? instance[key] : target;
1881
+ const observer = observe(targets, handler, options, args);
1855
1882
  if (isFunction(target) && isArray(instance[key]) && observer.unobserve) {
1856
- registerWatch(
1857
- instance,
1858
- {
1859
- handler(targets, prev) {
1860
- for (const target2 of prev) {
1861
- !includes(targets, target2) && observer.unobserve(target2);
1862
- }
1863
- for (const target2 of targets) {
1864
- !includes(prev, target2) && observer.observe(target2);
1865
- }
1866
- },
1867
- immediate: false
1868
- },
1869
- key
1870
- );
1883
+ registerWatch(instance, { handler: updateTargets(observer), immediate: false }, key);
1871
1884
  }
1872
1885
  registerObserver(instance, observer);
1873
1886
  }
1874
- function initWatchObserver(instance) {
1875
- let { el, computed } = instance.$options;
1876
- if (!computed && !instance._watches) {
1877
- return;
1878
- }
1879
- const observer = new MutationObserver(() => callWatches(instance));
1880
- observer.observe(instance._observeTarget || el, {
1881
- childList: true,
1882
- subtree: true
1883
- });
1884
- registerObserver(instance, observer);
1887
+ function updateTargets(observer) {
1888
+ return (targets, prev) => {
1889
+ for (const target of prev) {
1890
+ !includes(targets, target) && observer.unobserve(target);
1891
+ }
1892
+ for (const target of targets) {
1893
+ !includes(prev, target) && observer.observe(target);
1894
+ }
1895
+ };
1885
1896
  }
1886
1897
 
1887
1898
  const strats = {};
@@ -2068,8 +2079,6 @@
2068
2079
  if (instance._connected) {
2069
2080
  return;
2070
2081
  }
2071
- instance._data = {};
2072
- instance._computed = {};
2073
2082
  initProps(instance);
2074
2083
  callHook(instance, "beforeConnect");
2075
2084
  instance._connected = true;
@@ -2078,7 +2087,7 @@
2078
2087
  initWatches(instance);
2079
2088
  initObservers(instance);
2080
2089
  initPropsObserver(instance);
2081
- initWatchObserver(instance);
2090
+ initComputedUpdates(instance);
2082
2091
  callHook(instance, "connected");
2083
2092
  callUpdate(instance);
2084
2093
  }
@@ -2087,11 +2096,12 @@
2087
2096
  return;
2088
2097
  }
2089
2098
  callHook(instance, "beforeDisconnect");
2090
- disconnectObservers(instance);
2091
2099
  unbindEvents(instance);
2100
+ clearUpdateData(instance);
2101
+ disconnectObservers(instance);
2102
+ disconnectComputedUpdates(instance);
2092
2103
  callHook(instance, "disconnected");
2093
2104
  instance._connected = false;
2094
- delete instance._watch;
2095
2105
  }
2096
2106
 
2097
2107
  let uid = 0;
@@ -2148,7 +2158,7 @@
2148
2158
  };
2149
2159
  App.util = util;
2150
2160
  App.options = {};
2151
- App.version = "3.16.11-dev.85cdca725";
2161
+ App.version = "3.16.11-dev.cc1aeb568";
2152
2162
 
2153
2163
  const PREFIX = "uk-";
2154
2164
  const DATA = "__uikit__";
@@ -3565,40 +3575,31 @@
3565
3575
  }
3566
3576
  },
3567
3577
  watch: {
3568
- dropbar: {
3569
- handler(dropbar) {
3570
- addClass(
3571
- dropbar,
3572
- "uk-dropbar",
3573
- "uk-dropbar-top",
3574
- this.clsDropbar,
3575
- `uk-${this.$options.name}-dropbar`
3576
- );
3577
- },
3578
- immediate: true
3578
+ dropbar(dropbar) {
3579
+ addClass(
3580
+ dropbar,
3581
+ "uk-dropbar",
3582
+ "uk-dropbar-top",
3583
+ this.clsDropbar,
3584
+ `uk-${this.$options.name}-dropbar`
3585
+ );
3579
3586
  },
3580
- dropdowns: {
3581
- handler(dropdowns) {
3582
- this.$create(
3583
- "drop",
3584
- dropdowns.filter((el) => !this.getDropdown(el)),
3585
- {
3586
- ...this.$props,
3587
- flip: false,
3588
- shift: true,
3589
- pos: `bottom-${this.align}`,
3590
- boundary: this.boundary === true ? this.$el : this.boundary
3591
- }
3592
- );
3593
- },
3594
- immediate: true
3587
+ dropdowns(dropdowns) {
3588
+ this.$create(
3589
+ "drop",
3590
+ dropdowns.filter((el) => !this.getDropdown(el)),
3591
+ {
3592
+ ...this.$props,
3593
+ flip: false,
3594
+ shift: true,
3595
+ pos: `bottom-${this.align}`,
3596
+ boundary: this.boundary === true ? this.$el : this.boundary
3597
+ }
3598
+ );
3595
3599
  },
3596
- items: {
3597
- handler(items) {
3598
- attr(items, "tabindex", -1);
3599
- attr(items[0], "tabindex", 0);
3600
- },
3601
- immediate: true
3600
+ items(items) {
3601
+ attr(items, "tabindex", -1);
3602
+ attr(items[0], "tabindex", 0);
3602
3603
  }
3603
3604
  },
3604
3605
  disconnected() {
@@ -4636,9 +4637,10 @@
4636
4637
  ensureSrcAttribute(this.$el);
4637
4638
  },
4638
4639
  disconnected() {
4639
- if (this._data.image) {
4640
- this._data.image.onload = "";
4640
+ if (this.img) {
4641
+ this.img.onload = "";
4641
4642
  }
4643
+ delete this.img;
4642
4644
  },
4643
4645
  observe: intersection({
4644
4646
  target: ({ $el, $props }) => [$el, ...queryAll($props.target, $el)],
@@ -4651,13 +4653,13 @@
4651
4653
  }),
4652
4654
  methods: {
4653
4655
  load() {
4654
- if (this._data.image) {
4655
- return this._data.image;
4656
+ if (this.img) {
4657
+ return this.img;
4656
4658
  }
4657
4659
  const image = isImg(this.$el) ? this.$el : getImageFromElement(this.$el, this.dataSrc, this.sources);
4658
4660
  removeAttr(image, "loading");
4659
4661
  setSrcAttrs(this.$el, image.currentSrc);
4660
- return this._data.image = image;
4662
+ return this.img = image;
4661
4663
  }
4662
4664
  }
4663
4665
  };
@@ -5138,24 +5140,21 @@
5138
5140
  // Simplify with :where() selector once browser target is Safari 14+
5139
5141
  },
5140
5142
  watch: {
5141
- items: {
5142
- handler() {
5143
- const justify = hasClass(this.$el, "uk-navbar-justify");
5144
- for (const container of $$(
5145
- ".uk-navbar-nav, .uk-navbar-left, .uk-navbar-right",
5146
- this.$el
5147
- )) {
5148
- css(
5149
- container,
5150
- "flexGrow",
5151
- justify ? $$(
5152
- ".uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle",
5153
- container
5154
- ).length : ""
5155
- );
5156
- }
5157
- },
5158
- immediate: true
5143
+ items() {
5144
+ const justify = hasClass(this.$el, "uk-navbar-justify");
5145
+ for (const container of $$(
5146
+ ".uk-navbar-nav, .uk-navbar-left, .uk-navbar-right",
5147
+ this.$el
5148
+ )) {
5149
+ css(
5150
+ container,
5151
+ "flexGrow",
5152
+ justify ? $$(
5153
+ ".uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle",
5154
+ container
5155
+ ).length : ""
5156
+ );
5157
+ }
5159
5158
  }
5160
5159
  }
5161
5160
  };
@@ -5445,17 +5444,18 @@
5445
5444
  }
5446
5445
  },
5447
5446
  connected() {
5448
- this._data.elements = /* @__PURE__ */ new Map();
5447
+ this.elementData = /* @__PURE__ */ new Map();
5449
5448
  },
5450
5449
  disconnected() {
5451
- for (const [el, state] of this._data.elements.entries()) {
5450
+ for (const [el, state] of this.elementData.entries()) {
5452
5451
  removeClass(el, this.inViewClass, (state == null ? void 0 : state.cls) || "");
5453
5452
  }
5453
+ delete this.elementData;
5454
5454
  },
5455
5455
  observe: intersection({
5456
5456
  target: ({ elements }) => elements,
5457
5457
  handler(records) {
5458
- const elements = this._data.elements;
5458
+ const elements = this.elementData;
5459
5459
  for (const { target: el, isIntersecting } of records) {
5460
5460
  if (!elements.has(el)) {
5461
5461
  elements.set(el, {
@@ -5476,7 +5476,7 @@
5476
5476
  update: [
5477
5477
  {
5478
5478
  write(data) {
5479
- for (const [el, state] of data.elements.entries()) {
5479
+ for (const [el, state] of this.elementData.entries()) {
5480
5480
  if (state.show && !state.inview && !state.queued) {
5481
5481
  state.queued = true;
5482
5482
  data.promise = (data.promise || Promise.resolve()).then(() => new Promise((resolve) => setTimeout(resolve, this.delay))).then(() => {
@@ -5496,7 +5496,7 @@
5496
5496
  methods: {
5497
5497
  toggle(el, inview) {
5498
5498
  var _a;
5499
- const state = this._data.elements.get(el);
5499
+ const state = this.elementData.get(el);
5500
5500
  if (!state) {
5501
5501
  return;
5502
5502
  }
@@ -5987,14 +5987,11 @@
5987
5987
  }
5988
5988
  },
5989
5989
  watch: {
5990
- connects: {
5991
- handler(connects) {
5992
- if (this.swiping) {
5993
- css(connects, "touchAction", "pan-y pinch-zoom");
5994
- }
5995
- this.$emit();
5996
- },
5997
- document: true
5990
+ connects(connects) {
5991
+ if (this.swiping) {
5992
+ css(connects, "touchAction", "pan-y pinch-zoom");
5993
+ }
5994
+ this.$emit();
5998
5995
  },
5999
5996
  connectChildren() {
6000
5997
  const index = this.index();
@@ -6164,12 +6161,9 @@
6164
6161
  queued: true
6165
6162
  },
6166
6163
  computed: {
6167
- target: {
6168
- get({ href, target }, $el) {
6169
- target = queryAll(target || href, $el);
6170
- return target.length && target || [$el];
6171
- },
6172
- document: true
6164
+ target({ href, target }, $el) {
6165
+ target = queryAll(target || href, $el);
6166
+ return target.length && target || [$el];
6173
6167
  }
6174
6168
  },
6175
6169
  connected() {