uikit 3.16.4-dev.8705d5334 → 3.16.4-dev.a8da41c36

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 (52) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +3 -6
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +1 -1
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +1 -1
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +26 -1
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +1 -1
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +44 -61
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +71 -66
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/component.js +1 -2
  44. package/src/js/api/hooks.js +2 -6
  45. package/src/js/components/filter.js +2 -6
  46. package/src/js/components/slider.js +33 -0
  47. package/src/js/core/cover.js +16 -28
  48. package/src/js/core/drop.js +2 -1
  49. package/src/js/core/height-match.js +5 -10
  50. package/src/js/core/scrollspy.js +1 -2
  51. package/src/js/util/lang.js +7 -7
  52. package/src/js/util/observer.js +3 -1
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.4-dev.8705d5334 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.16.4-dev.a8da41c36 | 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() :
@@ -13,13 +13,10 @@
13
13
  const hyphenateRe = /\B([A-Z])/g;
14
14
  const hyphenate = memoize((str) => str.replace(hyphenateRe, "-$1").toLowerCase());
15
15
  const camelizeRe = /-(\w)/g;
16
- const camelize = memoize((str) => str.replace(camelizeRe, toUpper));
17
- const ucfirst = memoize(
18
- (str) => str.length ? toUpper(null, str.charAt(0)) + str.slice(1) : ""
16
+ const camelize = memoize(
17
+ (str) => (str.charAt(0).toLowerCase() + str.slice(1)).replace(camelizeRe, (_, c) => c.toUpperCase())
19
18
  );
20
- function toUpper(_, c) {
21
- return c ? c.toUpperCase() : "";
22
- }
19
+ const ucfirst = memoize((str) => str.charAt(0).toUpperCase() + str.slice(1));
23
20
  function startsWith(str, search) {
24
21
  var _a;
25
22
  return (_a = str == null ? void 0 : str.startsWith) == null ? void 0 : _a.call(str, search);
@@ -136,6 +133,9 @@
136
133
  const seen = /* @__PURE__ */ new Set();
137
134
  return array.filter(({ [prop]: check }) => seen.has(check) ? false : seen.add(check));
138
135
  }
136
+ function pick(obj, props) {
137
+ return props.reduce((res, prop) => ({ ...res, [prop]: obj[prop] }), {});
138
+ }
139
139
  function clamp(number, min = 0, max = 1) {
140
140
  return Math.min(Math.max(toNumber(number) || 0, min), max);
141
141
  }
@@ -1084,6 +1084,8 @@
1084
1084
  initResizeListener();
1085
1085
  listeners.add(cb);
1086
1086
  return {
1087
+ observe: noop,
1088
+ unobserve: noop,
1087
1089
  disconnect() {
1088
1090
  listeners.delete(cb);
1089
1091
  }
@@ -1694,6 +1696,7 @@
1694
1696
  parents: parents,
1695
1697
  parseOptions: parseOptions,
1696
1698
  pause: pause,
1699
+ pick: pick,
1697
1700
  play: play,
1698
1701
  pointInRect: pointInRect,
1699
1702
  pointerCancel: pointerCancel,
@@ -1883,15 +1886,11 @@
1883
1886
  }
1884
1887
  }
1885
1888
  function runWatches(initial) {
1886
- const {
1887
- $options: { computed }
1888
- } = this;
1889
1889
  const values = { ...this._computed };
1890
1890
  this._computed = {};
1891
- for (const key in computed) {
1892
- const { watch, immediate } = computed[key];
1891
+ for (const [key, { watch, immediate }] of Object.entries(this.$options.computed || {})) {
1893
1892
  if (watch && (initial && immediate || hasOwn(values, key) && !isEqual(values[key], this[key]))) {
1894
- watch.call(this, this[key], values[key]);
1893
+ watch.call(this, this[key], initial ? void 0 : values[key]);
1895
1894
  }
1896
1895
  }
1897
1896
  }
@@ -2188,8 +2187,7 @@
2188
2187
  const { data: DATA, prefix: PREFIX } = UIkit;
2189
2188
  UIkit.component = function(name, options) {
2190
2189
  var _a;
2191
- name = hyphenate(name);
2192
- const id = PREFIX + name;
2190
+ const id = PREFIX + hyphenate(name);
2193
2191
  if (!options) {
2194
2192
  if (isPlainObject(components$3[id])) {
2195
2193
  components$3[id] = components$3[`data-${id}`] = UIkit.extend(components$3[id]);
@@ -2252,7 +2250,7 @@
2252
2250
  UIkit.data = "__uikit__";
2253
2251
  UIkit.prefix = "uk-";
2254
2252
  UIkit.options = {};
2255
- UIkit.version = "3.16.4-dev.8705d5334";
2253
+ UIkit.version = "3.16.4-dev.a8da41c36";
2256
2254
  globalAPI(UIkit);
2257
2255
  hooksAPI(UIkit);
2258
2256
  stateAPI(UIkit);
@@ -2873,8 +2871,20 @@
2873
2871
  }
2874
2872
  };
2875
2873
 
2874
+ var Resize = {
2875
+ connected() {
2876
+ var _a;
2877
+ this.registerObserver(
2878
+ observeResize(
2879
+ ((_a = this.$options.resizeTargets) == null ? void 0 : _a.call(this)) || this.$el,
2880
+ () => this.$emit("resize")
2881
+ )
2882
+ );
2883
+ }
2884
+ };
2885
+
2876
2886
  var cover = {
2877
- mixins: [Video],
2887
+ mixins: [Resize, Video],
2878
2888
  props: {
2879
2889
  width: Number,
2880
2890
  height: Number
@@ -2887,37 +2897,32 @@
2887
2897
  this.$emit("resize");
2888
2898
  }
2889
2899
  },
2890
- connected() {
2891
- const parentEl = getPositionedParent(this.$el) || parent(this.$el);
2892
- this.registerObserver(
2893
- observeResize(parentEl, () => {
2894
- this.parentDim = getCoverDimensions(parentEl);
2895
- this.$emit("resize");
2896
- })
2897
- );
2900
+ resizeTargets() {
2901
+ return [this.$el, getPositionedParent(this.$el) || parent(this.$el)];
2898
2902
  },
2899
2903
  update: {
2900
2904
  read() {
2901
2905
  const { ratio, cover } = Dimensions;
2902
- const { $el, width, height, parentDim } = this;
2906
+ const { $el, width, height } = this;
2903
2907
  let dim = { width, height };
2904
- if (!dim.width || !dim.height) {
2908
+ if (!width || !height) {
2905
2909
  const intrinsic = {
2906
2910
  width: $el.naturalWidth || $el.videoWidth || $el.clientWidth,
2907
2911
  height: $el.naturalHeight || $el.videoHeight || $el.clientHeight
2908
2912
  };
2909
- if (dim.width) {
2910
- dim = ratio(intrinsic, "width", dim.width);
2913
+ if (width) {
2914
+ dim = ratio(intrinsic, "width", width);
2911
2915
  } else if (height) {
2912
- dim = ratio(intrinsic, "height", dim.height);
2916
+ dim = ratio(intrinsic, "height", height);
2913
2917
  } else {
2914
2918
  dim = intrinsic;
2915
2919
  }
2916
2920
  }
2917
- if (!parentDim) {
2918
- return false;
2919
- }
2920
- const coverDim = cover(dim, parentDim);
2921
+ const { offsetHeight: coverHeight, offsetWidth: coverWidth } = getPositionedParent($el) || parent($el);
2922
+ const coverDim = cover(dim, {
2923
+ width: coverWidth + (coverWidth % 2 ? 1 : 0),
2924
+ height: coverHeight + (coverHeight % 2 ? 1 : 0)
2925
+ });
2921
2926
  if (!coverDim.width || !coverDim.height) {
2922
2927
  return false;
2923
2928
  }
@@ -2929,13 +2934,6 @@
2929
2934
  events: ["resize"]
2930
2935
  }
2931
2936
  };
2932
- function getCoverDimensions(el) {
2933
- const { offsetHeight, offsetWidth } = el;
2934
- return {
2935
- width: offsetWidth + (offsetWidth % 2 ? 1 : 0),
2936
- height: offsetHeight + (offsetHeight % 2 ? 1 : 0)
2937
- };
2938
- }
2939
2937
  function getPositionedParent(el) {
2940
2938
  while (el = parent(el)) {
2941
2939
  if (css(el, "position") !== "static") {
@@ -3102,7 +3100,7 @@
3102
3100
  if (this.toggle && !this.targetEl) {
3103
3101
  this.targetEl = createToggleComponent(this);
3104
3102
  }
3105
- this._style = (({ width, height }) => ({ width, height }))(this.$el.style);
3103
+ this._style = pick(this.$el.style, ["width", "height"]);
3106
3104
  },
3107
3105
  disconnected() {
3108
3106
  if (this.isActive()) {
@@ -3803,18 +3801,6 @@
3803
3801
  ]
3804
3802
  };
3805
3803
 
3806
- var Resize = {
3807
- connected() {
3808
- var _a;
3809
- this.registerObserver(
3810
- observeResize(
3811
- ((_a = this.$options.resizeTargets) == null ? void 0 : _a.call(this)) || this.$el,
3812
- () => this.$emit("resize")
3813
- )
3814
- );
3815
- }
3816
- };
3817
-
3818
3804
  var Margin = {
3819
3805
  mixins: [Resize],
3820
3806
  props: {
@@ -4091,7 +4077,6 @@
4091
4077
  if (elements.length < 2) {
4092
4078
  return { heights: [""], elements };
4093
4079
  }
4094
- css(elements, "minHeight", "");
4095
4080
  let heights = elements.map(getHeight);
4096
4081
  const max = Math.max(...heights);
4097
4082
  return {
@@ -4100,15 +4085,13 @@
4100
4085
  };
4101
4086
  }
4102
4087
  function getHeight(element) {
4103
- let style = false;
4088
+ const style = pick(element.style, ["display", "minHeight"]);
4104
4089
  if (!isVisible(element)) {
4105
- style = element.style.display;
4106
4090
  css(element, "display", "block", "important");
4107
4091
  }
4092
+ css(element, "minHeight", "");
4108
4093
  const height = dimensions$1(element).height - boxModelAdjust(element, "height", "content-box");
4109
- if (style !== false) {
4110
- css(element, "display", style);
4111
- }
4094
+ css(element, style);
4112
4095
  return height;
4113
4096
  }
4114
4097
 
@@ -5426,7 +5409,7 @@
5426
5409
  if (this.hidden) {
5427
5410
  css(filter$1(elements, `:not(.${this.inViewClass})`), "opacity", 0);
5428
5411
  }
5429
- if (!isEqual(elements, prev)) {
5412
+ if (prev) {
5430
5413
  this.$reset();
5431
5414
  }
5432
5415
  },
@@ -6663,8 +6646,8 @@
6663
6646
  get({ target }, $el) {
6664
6647
  return $$(`${target} > *`, $el);
6665
6648
  },
6666
- watch(list, old) {
6667
- if (old && !isEqualList(list, old)) {
6649
+ watch(list, prev) {
6650
+ if (prev) {
6668
6651
  this.updateState();
6669
6652
  }
6670
6653
  },
@@ -6767,9 +6750,6 @@
6767
6750
  const { filter = "", group = "", sort, order = "asc" } = getFilter(el, attr2);
6768
6751
  return isUndefined(sort) ? group in stateFilter && filter === stateFilter[group] || !filter && group && !(group in stateFilter) && !stateFilter[""] : stateSort === sort && stateOrder === order;
6769
6752
  }
6770
- function isEqualList(listA, listB) {
6771
- return listA.length === listB.length && listA.every((el) => listB.includes(el));
6772
- }
6773
6753
  function getSelector({ filter }) {
6774
6754
  let selector = "";
6775
6755
  each(filter, (value) => selector += value || "");
@@ -8453,6 +8433,31 @@
8453
8433
  center: this.center,
8454
8434
  list: this.list
8455
8435
  };
8436
+ },
8437
+ children: {
8438
+ get() {
8439
+ return children(this.list);
8440
+ },
8441
+ watch(slides, prev) {
8442
+ if (!prev) {
8443
+ this.registerObserver(
8444
+ this._resizeObserver = observeResize(slides, () => this.$emit("resize"))
8445
+ );
8446
+ }
8447
+ if (prev) {
8448
+ slides.forEach(
8449
+ (slide) => !includes(prev, slide) && this._resizeObserver.observe(slide)
8450
+ );
8451
+ prev.forEach(
8452
+ (slide) => !includes(slides, slide) && this._resizeObserver.unobserve(slide)
8453
+ );
8454
+ this.$emit();
8455
+ }
8456
+ },
8457
+ immediate: true
8458
+ },
8459
+ slides() {
8460
+ return this.children.filter(isVisible);
8456
8461
  }
8457
8462
  },
8458
8463
  connected() {