uikit 3.9.5-dev.e48c5e252 → 3.9.5-dev.ed8f978e8

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 (47) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/css/uikit-core-rtl.css +3 -3
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +3 -3
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +3 -3
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +3 -3
  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 +1 -1
  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 +1 -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 +36 -107
  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 +36 -107
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/cover.js +1 -2
  44. package/src/js/core/img.js +35 -96
  45. package/src/less/components/cover.less +1 -2
  46. package/src/scss/components/cover.scss +1 -2
  47. package/tests/image.html +14 -40
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.9.5-dev.e48c5e252 | https://www.getuikit.com | (c) 2014 - 2021 YOOtheme | MIT License */
1
+ /*! UIkit 3.9.5-dev.ed8f978e8 | https://www.getuikit.com | (c) 2014 - 2021 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -3465,7 +3465,7 @@
3465
3465
  UIkit.data = '__uikit__';
3466
3466
  UIkit.prefix = 'uk-';
3467
3467
  UIkit.options = {};
3468
- UIkit.version = '3.9.5-dev.e48c5e252';
3468
+ UIkit.version = '3.9.5-dev.ed8f978e8';
3469
3469
 
3470
3470
  globalAPI(UIkit);
3471
3471
  hooksAPI(UIkit);
@@ -4105,7 +4105,7 @@
4105
4105
 
4106
4106
  var cover = {
4107
4107
 
4108
- mixins: [Class, Video],
4108
+ mixins: [Video],
4109
4109
 
4110
4110
  props: {
4111
4111
  width: Number,
@@ -5790,8 +5790,6 @@
5790
5790
 
5791
5791
  props: {
5792
5792
  dataSrc: String,
5793
- width: Number,
5794
- height: Number,
5795
5793
  offsetTop: String,
5796
5794
  offsetLeft: String,
5797
5795
  target: String
@@ -5799,8 +5797,6 @@
5799
5797
 
5800
5798
  data: {
5801
5799
  dataSrc: '',
5802
- width: false,
5803
- height: false,
5804
5800
  offsetTop: '50vh',
5805
5801
  offsetLeft: '50vw',
5806
5802
  target: false
@@ -5808,12 +5804,6 @@
5808
5804
 
5809
5805
  computed: {
5810
5806
 
5811
- cacheKey: function(ref) {
5812
- var dataSrc = ref.dataSrc;
5813
-
5814
- return ((this.$name) + "." + dataSrc);
5815
- },
5816
-
5817
5807
  target: {
5818
5808
 
5819
5809
  get: function(ref) {
@@ -5826,18 +5816,6 @@
5826
5816
  this.observe();
5827
5817
  }
5828
5818
 
5829
- },
5830
-
5831
- offsetTop: function(ref) {
5832
- var offsetTop = ref.offsetTop;
5833
-
5834
- return toPx(offsetTop, 'height');
5835
- },
5836
-
5837
- offsetLeft: function(ref) {
5838
- var offsetLeft = ref.offsetLeft;
5839
-
5840
- return toPx(offsetLeft, 'width');
5841
5819
  }
5842
5820
 
5843
5821
  },
@@ -5845,21 +5823,13 @@
5845
5823
  connected: function() {
5846
5824
 
5847
5825
  if (!window.IntersectionObserver) {
5848
- setSrcAttrs(this.$el);
5826
+ setSrcAttrs(this.$el, this.dataSrc);
5849
5827
  return;
5850
5828
  }
5851
5829
 
5852
- if (storage[this.cacheKey]) {
5853
- setSrcAttrs(this.$el, storage[this.cacheKey]);
5854
- } else if (isImg(this.$el) && this.width && this.height) {
5855
- attr(this.$el, 'src', getPlaceholderImage(this.$el));
5856
- }
5857
-
5858
- this.observer = new IntersectionObserver(this.load, {
5859
- rootMargin: ((this.offsetTop) + "px " + (this.offsetLeft) + "px")
5860
- });
5861
-
5862
- requestAnimationFrame(this.observe);
5830
+ var rootMargin = (toPx(this.offsetTop, 'height')) + "px " + (toPx(this.offsetLeft, 'width')) + "px";
5831
+ this.observer = new IntersectionObserver(this.load, {rootMargin: rootMargin});
5832
+ this.observe();
5863
5833
 
5864
5834
  },
5865
5835
 
@@ -5870,23 +5840,14 @@
5870
5840
  update: {
5871
5841
 
5872
5842
  read: function(ref) {
5873
- var this$1$1 = this;
5874
5843
  var image = ref.image;
5875
5844
 
5876
5845
 
5877
- if (!this.observer) {
5878
- return false;
5879
- }
5880
-
5881
- if (!image && document.readyState === 'complete') {
5882
- this.load(this.observer.takeRecords());
5883
- }
5884
-
5885
- if (isImg(this.$el)) {
5846
+ if (!this.observer || isImg(this.$el)) {
5886
5847
  return false;
5887
5848
  }
5888
5849
 
5889
- image && image.then(function (img) { return img && img.currentSrc !== '' && setSrcAttrs(this$1$1.$el, currentSrc(img)); });
5850
+ setSrcAttrs(this.$el, image && image.currentSrc);
5890
5851
 
5891
5852
  },
5892
5853
 
@@ -5912,21 +5873,19 @@
5912
5873
  methods: {
5913
5874
 
5914
5875
  load: function(entries) {
5915
- var this$1$1 = this;
5916
-
5917
5876
 
5918
5877
  // Old chromium based browsers (UC Browser) did not implement `isIntersecting`
5919
5878
  if (!entries.some(function (entry) { return isUndefined(entry.isIntersecting) || entry.isIntersecting; })) {
5920
5879
  return;
5921
5880
  }
5922
5881
 
5923
- this._data.image = getImageFromElement(this.$el, this.dataSrc).then(function (img) {
5924
-
5925
- setSrcAttrs(this$1$1.$el, currentSrc(img));
5926
- storage[this$1$1.cacheKey] = currentSrc(img);
5927
- return img;
5882
+ if (this._data.image) {
5883
+ return this._data.image;
5884
+ }
5928
5885
 
5929
- }, function (e) { return trigger(this$1$1.$el, new e.constructor(e.type, e)); });
5886
+ var image = isImg(this.$el) ? this.$el : getImageFromElement(this.$el, this.dataSrc);
5887
+ this._data.image = image;
5888
+ setSrcAttrs(this.$el, image.currentSrc);
5930
5889
 
5931
5890
  this.observer.disconnect();
5932
5891
  },
@@ -5943,19 +5902,15 @@
5943
5902
 
5944
5903
  };
5945
5904
 
5946
- var srcProps = ['data-src', 'data-srcset', 'sizes'];
5947
5905
  function setSrcAttrs(el, src) {
5948
5906
 
5949
- var parentNode = parent(el);
5950
5907
  if (isImg(el)) {
5951
- (isPicture(parentNode) ? children(parentNode) : [el]).forEach(function (el) { return srcProps.forEach(function (prop) {
5952
- var value = data(el, prop);
5953
- if (value) {
5954
- attr(el, prop.replace(/^(data-)+/, ''), value);
5955
- }
5956
- }); }
5957
- );
5908
+
5909
+ var parentNode = parent(el);
5910
+ var elements = isPicture(parentNode) ? children(parentNode) : [el];
5911
+ elements.forEach(function (el) { return setSourceProps(el, el); });
5958
5912
  src && attr(el, 'src', src);
5913
+
5959
5914
  } else if (src) {
5960
5915
 
5961
5916
  var change = !includes(el.style.backgroundImage, src);
@@ -5968,18 +5923,26 @@
5968
5923
 
5969
5924
  }
5970
5925
 
5971
- function getPlaceholderImage(el) {
5972
- var assign;
5926
+ var srcProps = ['data-src', 'data-srcset', 'sizes'];
5927
+ function setSourceProps(sourceEl, targetEl) {
5928
+ srcProps.forEach(function (prop) {
5929
+ var value = data(sourceEl, prop);
5930
+ if (value) {
5931
+ attr(targetEl, prop.replace(/^(data-)+/, ''), value);
5932
+ }
5933
+ });
5934
+ }
5973
5935
 
5974
- var sizes = data(el, 'sizes');
5975
- var width = data(el, 'width');
5976
- var height = data(el, 'height');
5936
+ function getImageFromElement(el, src) {
5977
5937
 
5978
- if (sizes) {
5979
- ((assign = Dimensions.ratio({width: width, height: height}, 'width', toPx(sizesToPixel(sizes))), width = assign.width, height = assign.height));
5938
+ if (!src) {
5939
+ return false;
5980
5940
  }
5981
5941
 
5982
- return ("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" + width + "\" height=\"" + height + "\"></svg>");
5942
+ var img = new Image();
5943
+ setSourceProps(el, img);
5944
+ attr(img, 'src', src);
5945
+ return img;
5983
5946
  }
5984
5947
 
5985
5948
  var sizesRe = /\s*(.*?)\s*(\w+|calc\(.*?\))\s*(?:,|$)/g;
@@ -5998,24 +5961,6 @@
5998
5961
  return matches || '100vw';
5999
5962
  }
6000
5963
 
6001
- function getImageFromElement(el, src) {
6002
- var parentNode = parent(el);
6003
-
6004
- if (!src) {
6005
- return Promise.reject(createEvent('error', false));
6006
- }
6007
-
6008
- if (!isPicture(parentNode)) {
6009
- return getImage.apply(void 0, [ src ].concat( srcProps.slice(1).map(function (prop) { return data(el, prop); }) ));
6010
- }
6011
-
6012
- return new Promise(function (resolve, reject) {
6013
- var picture = parentNode.cloneNode(true);
6014
- once(picture, 'load error', function (e) { return e.type === 'error' ? reject(e) : resolve(e.target); }, true);
6015
- setSrcAttrs($('img', picture));
6016
- });
6017
- }
6018
-
6019
5964
  var sizeRe = /\d+(?:\w+|%)/g;
6020
5965
  var additionRe = /[+-]?(\d+)/g;
6021
5966
  function evaluateSize(size) {
@@ -6049,22 +5994,6 @@
6049
5994
  return el && el.tagName === tagName;
6050
5995
  }
6051
5996
 
6052
- function currentSrc(el) {
6053
- return el.currentSrc || el.src;
6054
- }
6055
-
6056
- var key = '__test__';
6057
- var storage;
6058
-
6059
- // workaround for Safari's private browsing mode and accessing sessionStorage in Blink
6060
- try {
6061
- storage = window.sessionStorage || {};
6062
- storage[key] = 1;
6063
- delete storage[key];
6064
- } catch (e) {
6065
- storage = {};
6066
- }
6067
-
6068
5997
  var Media = {
6069
5998
 
6070
5999
  props: {