uikit 3.9.5-dev.600ee2ba9 → 3.9.5-dev.9bd185c49

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 (67) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/README.md +4 -4
  3. package/build/less.js +30 -11
  4. package/build/util.js +1 -20
  5. package/dist/css/uikit-core-rtl.css +23 -12
  6. package/dist/css/uikit-core-rtl.min.css +1 -1
  7. package/dist/css/uikit-core.css +20 -9
  8. package/dist/css/uikit-core.min.css +1 -1
  9. package/dist/css/uikit-rtl.css +23 -12
  10. package/dist/css/uikit-rtl.min.css +1 -1
  11. package/dist/css/uikit.css +20 -9
  12. package/dist/css/uikit.min.css +1 -1
  13. package/dist/js/components/countdown.js +1 -1
  14. package/dist/js/components/countdown.min.js +1 -1
  15. package/dist/js/components/filter.js +1 -1
  16. package/dist/js/components/filter.min.js +1 -1
  17. package/dist/js/components/lightbox-panel.js +1 -1
  18. package/dist/js/components/lightbox-panel.min.js +1 -1
  19. package/dist/js/components/lightbox.js +1 -1
  20. package/dist/js/components/lightbox.min.js +1 -1
  21. package/dist/js/components/notification.js +1 -1
  22. package/dist/js/components/notification.min.js +1 -1
  23. package/dist/js/components/parallax.js +1 -1
  24. package/dist/js/components/parallax.min.js +1 -1
  25. package/dist/js/components/slider-parallax.js +1 -1
  26. package/dist/js/components/slider-parallax.min.js +1 -1
  27. package/dist/js/components/slider.js +1 -1
  28. package/dist/js/components/slider.min.js +1 -1
  29. package/dist/js/components/slideshow-parallax.js +1 -1
  30. package/dist/js/components/slideshow-parallax.min.js +1 -1
  31. package/dist/js/components/slideshow.js +1 -1
  32. package/dist/js/components/slideshow.min.js +1 -1
  33. package/dist/js/components/sortable.js +2 -2
  34. package/dist/js/components/sortable.min.js +1 -1
  35. package/dist/js/components/tooltip.js +1 -1
  36. package/dist/js/components/tooltip.min.js +1 -1
  37. package/dist/js/components/upload.js +1 -1
  38. package/dist/js/components/upload.min.js +1 -1
  39. package/dist/js/uikit-core.js +62 -67
  40. package/dist/js/uikit-core.min.js +1 -1
  41. package/dist/js/uikit-icons.js +1 -1
  42. package/dist/js/uikit-icons.min.js +1 -1
  43. package/dist/js/uikit.js +63 -68
  44. package/dist/js/uikit.min.js +1 -1
  45. package/package.json +6 -8
  46. package/src/js/components/sortable.js +1 -1
  47. package/src/js/core/cover.js +1 -2
  48. package/src/js/core/img.js +40 -57
  49. package/src/js/core/sticky.js +6 -1
  50. package/src/js/util/dom.js +2 -5
  51. package/src/less/components/cover.less +1 -2
  52. package/src/less/components/link.less +6 -3
  53. package/src/less/components/list.less +1 -1
  54. package/src/less/components/search.less +31 -6
  55. package/src/less/components/utility.less +7 -1
  56. package/src/less/theme/search.less +6 -0
  57. package/src/scss/components/cover.scss +1 -2
  58. package/src/scss/components/link.scss +6 -3
  59. package/src/scss/components/list.scss +1 -1
  60. package/src/scss/components/search.scss +23 -6
  61. package/src/scss/components/utility.scss +7 -1
  62. package/src/scss/mixins-theme.scss +12 -0
  63. package/src/scss/mixins.scss +12 -0
  64. package/src/scss/theme/search.scss +6 -0
  65. package/src/scss/variables-theme.scss +3 -0
  66. package/src/scss/variables.scss +3 -0
  67. package/tests/search.html +1 -1
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.9.5-dev.600ee2ba9 | https://www.getuikit.com | (c) 2014 - 2021 YOOtheme | MIT License */
1
+ /*! UIkit 3.9.5-dev.9bd185c49 | 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() :
@@ -1104,10 +1104,7 @@
1104
1104
  return;
1105
1105
  }
1106
1106
 
1107
- var unbind = on(document, 'DOMContentLoaded', function () {
1108
- unbind();
1109
- fn();
1110
- });
1107
+ once(document, 'DOMContentLoaded', fn);
1111
1108
  }
1112
1109
 
1113
1110
  function empty(element) {
@@ -3465,7 +3462,7 @@
3465
3462
  UIkit.data = '__uikit__';
3466
3463
  UIkit.prefix = 'uk-';
3467
3464
  UIkit.options = {};
3468
- UIkit.version = '3.9.5-dev.600ee2ba9';
3465
+ UIkit.version = '3.9.5-dev.9bd185c49';
3469
3466
 
3470
3467
  globalAPI(UIkit);
3471
3468
  hooksAPI(UIkit);
@@ -4105,7 +4102,7 @@
4105
4102
 
4106
4103
  var cover = {
4107
4104
 
4108
- mixins: [Class, Video],
4105
+ mixins: [Video],
4109
4106
 
4110
4107
  props: {
4111
4108
  width: Number,
@@ -5790,6 +5787,8 @@
5790
5787
 
5791
5788
  props: {
5792
5789
  dataSrc: String,
5790
+ dataSrcset: Boolean,
5791
+ sizes: String,
5793
5792
  width: Number,
5794
5793
  height: Number,
5795
5794
  offsetTop: String,
@@ -5799,6 +5798,8 @@
5799
5798
 
5800
5799
  data: {
5801
5800
  dataSrc: '',
5801
+ dataSrcset: false,
5802
+ sizes: false,
5802
5803
  width: false,
5803
5804
  height: false,
5804
5805
  offsetTop: '50vh',
@@ -5814,6 +5815,31 @@
5814
5815
  return ((this.$name) + "." + dataSrc);
5815
5816
  },
5816
5817
 
5818
+ width: function(ref) {
5819
+ var width = ref.width;
5820
+ var dataWidth = ref.dataWidth;
5821
+
5822
+ return width || dataWidth;
5823
+ },
5824
+
5825
+ height: function(ref) {
5826
+ var height = ref.height;
5827
+ var dataHeight = ref.dataHeight;
5828
+
5829
+ return height || dataHeight;
5830
+ },
5831
+
5832
+ sizes: function(ref) {
5833
+ var sizes = ref.sizes;
5834
+ var dataSizes = ref.dataSizes;
5835
+
5836
+ return sizes || dataSizes;
5837
+ },
5838
+
5839
+ isImg: function(_, $el) {
5840
+ return isImg($el);
5841
+ },
5842
+
5817
5843
  target: {
5818
5844
 
5819
5845
  get: function(ref) {
@@ -5845,14 +5871,14 @@
5845
5871
  connected: function() {
5846
5872
 
5847
5873
  if (!window.IntersectionObserver) {
5848
- setSrcAttrs(this.$el);
5874
+ setSrcAttrs(this.$el, this.dataSrc, this.dataSrcset, this.sizes);
5849
5875
  return;
5850
5876
  }
5851
5877
 
5852
5878
  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));
5879
+ setSrcAttrs(this.$el, storage[this.cacheKey], this.dataSrcset, this.sizes);
5880
+ } else if (this.isImg && this.width && this.height) {
5881
+ setSrcAttrs(this.$el, getPlaceholderImage(this.width, this.height, this.sizes));
5856
5882
  }
5857
5883
 
5858
5884
  this.observer = new IntersectionObserver(this.load, {
@@ -5882,7 +5908,7 @@
5882
5908
  this.load(this.observer.takeRecords());
5883
5909
  }
5884
5910
 
5885
- if (isImg(this.$el)) {
5911
+ if (this.isImg) {
5886
5912
  return false;
5887
5913
  }
5888
5914
 
@@ -5890,15 +5916,14 @@
5890
5916
 
5891
5917
  },
5892
5918
 
5893
- write: function(store) {
5919
+ write: function(data) {
5894
5920
 
5895
- var srcset = data(this.$el, 'data-srcset');
5896
- if (srcset && window.devicePixelRatio !== 1) {
5921
+ if (this.dataSrcset && window.devicePixelRatio !== 1) {
5897
5922
 
5898
5923
  var bgSize = css(this.$el, 'backgroundSize');
5899
- if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) === store.bgSize) {
5900
- store.bgSize = getSourceSize(srcset, data(this.$el, 'sizes'));
5901
- css(this.$el, 'backgroundSize', ((store.bgSize) + "px"));
5924
+ if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) === data.bgSize) {
5925
+ data.bgSize = getSourceSize(this.dataSrcset, this.sizes);
5926
+ css(this.$el, 'backgroundSize', ((data.bgSize) + "px"));
5902
5927
  }
5903
5928
 
5904
5929
  }
@@ -5920,9 +5945,9 @@
5920
5945
  return;
5921
5946
  }
5922
5947
 
5923
- this._data.image = getImageFromElement(this.$el, this.dataSrc).then(function (img) {
5948
+ this._data.image = getImage(this.dataSrc, this.dataSrcset, this.sizes).then(function (img) {
5924
5949
 
5925
- setSrcAttrs(this$1$1.$el, currentSrc(img));
5950
+ setSrcAttrs(this$1$1.$el, currentSrc(img), img.srcset, img.sizes);
5926
5951
  storage[this$1$1.cacheKey] = currentSrc(img);
5927
5952
  return img;
5928
5953
 
@@ -5943,19 +5968,13 @@
5943
5968
 
5944
5969
  };
5945
5970
 
5946
- var srcProps = ['data-src', 'data-srcset', 'sizes'];
5947
- function setSrcAttrs(el, src) {
5971
+ function setSrcAttrs(el, src, srcset, sizes) {
5948
5972
 
5949
- var parentNode = parent(el);
5950
5973
  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
- );
5958
- attr(el, 'src', src);
5974
+ var set = function (prop, val) { return val && val !== el[prop] && (el[prop] = val); };
5975
+ set('sizes', sizes);
5976
+ set('srcset', srcset);
5977
+ set('src', src);
5959
5978
  } else if (src) {
5960
5979
 
5961
5980
  var change = !includes(el.style.backgroundImage, src);
@@ -5968,12 +5987,9 @@
5968
5987
 
5969
5988
  }
5970
5989
 
5971
- function getPlaceholderImage(el) {
5990
+ function getPlaceholderImage(width, height, sizes) {
5972
5991
  var assign;
5973
5992
 
5974
- var sizes = data(el, 'sizes');
5975
- var width = data(el, 'width');
5976
- var height = data(el, 'height');
5977
5993
 
5978
5994
  if (sizes) {
5979
5995
  ((assign = Dimensions.ratio({width: width, height: height}, 'width', toPx(sizesToPixel(sizes))), width = assign.width, height = assign.height));
@@ -5998,24 +6014,6 @@
5998
6014
  return matches || '100vw';
5999
6015
  }
6000
6016
 
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(el);
6016
- });
6017
- }
6018
-
6019
6017
  var sizeRe = /\d+(?:\w+|%)/g;
6020
6018
  var additionRe = /[+-]?(\d+)/g;
6021
6019
  function evaluateSize(size) {
@@ -6037,16 +6035,8 @@
6037
6035
  return descriptors.filter(function (size) { return size >= srcSize; })[0] || descriptors.pop() || '';
6038
6036
  }
6039
6037
 
6040
- function isPicture(el) {
6041
- return isA(el, 'PICTURE');
6042
- }
6043
-
6044
6038
  function isImg(el) {
6045
- return isA(el, 'IMG');
6046
- }
6047
-
6048
- function isA(el, tagName) {
6049
- return el && el.tagName === tagName;
6039
+ return el.tagName === 'IMG';
6050
6040
  }
6051
6041
 
6052
6042
  function currentSrc(el) {
@@ -7828,7 +7818,7 @@
7828
7818
  {
7829
7819
 
7830
7820
  read: function(ref, types) {
7831
- var height = ref.height;
7821
+ var height$1 = ref.height;
7832
7822
 
7833
7823
 
7834
7824
  this.inactive = !this.matchMedia || !isVisible(this.$el);
@@ -7839,15 +7829,20 @@
7839
7829
 
7840
7830
  if (this.isActive && types.has('resize')) {
7841
7831
  this.hide();
7842
- height = this.$el.offsetHeight;
7832
+ height$1 = this.$el.offsetHeight;
7843
7833
  this.show();
7844
7834
  }
7845
7835
 
7846
- height = !this.isActive ? this.$el.offsetHeight : height;
7836
+ height$1 = !this.isActive ? this.$el.offsetHeight : height$1;
7837
+
7838
+ if (height$1 + this.offset > height(window)) {
7839
+ this.inactive = true;
7840
+ return false;
7841
+ }
7847
7842
 
7848
7843
  var referenceElement = this.isFixed ? this.placeholder : this.$el;
7849
7844
  this.topOffset = offset(referenceElement).top;
7850
- this.bottomOffset = this.topOffset + height;
7845
+ this.bottomOffset = this.topOffset + height$1;
7851
7846
  this.offsetParentTop = offset(referenceElement.offsetParent).top;
7852
7847
 
7853
7848
  var bottom = parseProp('bottom', this);
@@ -7857,7 +7852,7 @@
7857
7852
  this.width = dimensions(isVisible(this.widthElement) ? this.widthElement : this.$el).width;
7858
7853
 
7859
7854
  return {
7860
- height: height,
7855
+ height: height$1,
7861
7856
  top: offsetPosition(this.placeholder)[0],
7862
7857
  margins: css(this.$el, ['marginTop', 'marginBottom', 'marginLeft', 'marginRight'])
7863
7858
  };
@@ -12189,7 +12184,7 @@
12189
12184
  var dist = (Date.now() - last) * .3;
12190
12185
  last = Date.now();
12191
12186
 
12192
- scrollParents(document.elementFromPoint(x, pos.y)).reverse().some(function (scrollEl) {
12187
+ scrollParents(document.elementFromPoint(x, pos.y), /auto|scroll/).reverse().some(function (scrollEl) {
12193
12188
 
12194
12189
  var scroll = scrollEl.scrollTop;
12195
12190
  var scrollHeight = scrollEl.scrollHeight;