uikit 3.21.6-dev.de7455236 → 3.21.7-dev.b9cd769db

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 (50) hide show
  1. package/CHANGELOG.md +9 -0
  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 +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 +7 -8
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +7 -8
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +7 -8
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +7 -8
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +7 -8
  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 +22 -22
  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 +22 -22
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +10 -10
  43. package/src/js/api/component.js +2 -2
  44. package/src/js/core/drop.js +5 -1
  45. package/src/js/core/modal.js +1 -2
  46. package/src/js/mixin/position.js +1 -1
  47. package/src/js/util/dom.js +1 -2
  48. package/src/js/util/selector.js +7 -7
  49. package/src/js/util/viewport.js +17 -21
  50. package/tests/js/index.js +1 -1
@@ -1 +1 @@
1
- /*! UIkit 3.21.6-dev.de7455236 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(o,i){typeof exports=="object"&&typeof module<"u"?module.exports=i(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],i):(o=typeof globalThis<"u"?globalThis:o||self,o.UIkitUpload=i(o.UIkit.util))})(this,function(o){"use strict";var i={props:{i18n:Object},data:{i18n:null},methods:{t(e,...r){var s,a,t;let n=0;return((t=((s=this.i18n)==null?void 0:s[e])||((a=this.$options.i18n)==null?void 0:a[e]))==null?void 0:t.replace(/%s/g,()=>r[n++]||""))||""}}},d={mixins:[i],i18n:{invalidMime:"Invalid File Type: %s",invalidName:"Invalid File Name: %s",invalidSize:"Invalid File Size: %s Kilobytes Max"},props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"uk-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,multiple:!1,name:"files[]",params:{},type:"",url:"",abort:o.noop,beforeAll:o.noop,beforeSend:o.noop,complete:o.noop,completeAll:o.noop,error:o.noop,fail:o.noop,load:o.noop,loadEnd:o.noop,loadStart:o.noop,progress:o.noop},events:{change(e){o.matches(e.target,'input[type="file"]')&&(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop(e){l(e);const r=e.dataTransfer;r!=null&&r.files&&(o.removeClass(this.$el,this.clsDragover),this.upload(r.files))},dragenter(e){l(e)},dragover(e){l(e),o.addClass(this.$el,this.clsDragover)},dragleave(e){l(e),o.removeClass(this.$el,this.clsDragover)}},methods:{async upload(e){if(e=o.toArray(e),!e.length)return;o.trigger(this.$el,"upload",[e]);for(const a of e){if(this.maxSize&&this.maxSize*1e3<a.size){this.fail(this.t("invalidSize",this.maxSize));return}if(this.allow&&!h(this.allow,a.name)){this.fail(this.t("invalidName",this.allow));return}if(this.mime&&!h(this.mime,a.type)){this.fail(this.t("invalidMime",this.mime));return}}this.multiple||(e=e.slice(0,1)),this.beforeAll(this,e);const r=f(e,this.concurrent),s=async a=>{const t=new FormData;a.forEach(n=>t.append(this.name,n));for(const n in this.params)t.append(n,this.params[n]);try{const n=await u(this.url,{data:t,method:this.method,responseType:this.type,beforeSend:p=>{const{xhr:c}=p;o.on(c.upload,"progress",this.progress);for(const m of["loadStart","load","loadEnd","abort"])o.on(c,m.toLowerCase(),this[m]);return this.beforeSend(p)}});this.complete(n),r.length?await s(r.shift()):this.completeAll(n)}catch(n){this.error(n)}};await s(r.shift())}}};function h(e,r){return r.match(new RegExp(`^${e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")}$`,"i"))}function f(e,r){const s=[];for(let a=0;a<e.length;a+=r)s.push(e.slice(a,a+r));return s}function l(e){e.preventDefault(),e.stopPropagation()}async function u(e,r){const s={data:null,method:"GET",headers:{},xhr:new XMLHttpRequest,beforeSend:o.noop,responseType:"",...r};return await s.beforeSend(s),g(e,s)}function g(e,r){return new Promise((s,a)=>{const{xhr:t}=r;for(const n in r)if(n in t)try{t[n]=r[n]}catch{}t.open(r.method.toUpperCase(),e);for(const n in r.headers)t.setRequestHeader(n,r.headers[n]);o.on(t,"load",()=>{t.status===0||t.status>=200&&t.status<300||t.status===304?s(t):a(o.assign(Error(t.statusText),{xhr:t,status:t.status}))}),o.on(t,"error",()=>a(o.assign(Error("Network Error"),{xhr:t}))),o.on(t,"timeout",()=>a(o.assign(Error("Network Timeout"),{xhr:t}))),t.send(r.data)})}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",d),d});
1
+ /*! UIkit 3.21.7-dev.b9cd769db | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(o,i){typeof exports=="object"&&typeof module<"u"?module.exports=i(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],i):(o=typeof globalThis<"u"?globalThis:o||self,o.UIkitUpload=i(o.UIkit.util))})(this,function(o){"use strict";var i={props:{i18n:Object},data:{i18n:null},methods:{t(e,...r){var s,a,t;let n=0;return((t=((s=this.i18n)==null?void 0:s[e])||((a=this.$options.i18n)==null?void 0:a[e]))==null?void 0:t.replace(/%s/g,()=>r[n++]||""))||""}}},d={mixins:[i],i18n:{invalidMime:"Invalid File Type: %s",invalidName:"Invalid File Name: %s",invalidSize:"Invalid File Size: %s Kilobytes Max"},props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"uk-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,multiple:!1,name:"files[]",params:{},type:"",url:"",abort:o.noop,beforeAll:o.noop,beforeSend:o.noop,complete:o.noop,completeAll:o.noop,error:o.noop,fail:o.noop,load:o.noop,loadEnd:o.noop,loadStart:o.noop,progress:o.noop},events:{change(e){o.matches(e.target,'input[type="file"]')&&(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop(e){l(e);const r=e.dataTransfer;r!=null&&r.files&&(o.removeClass(this.$el,this.clsDragover),this.upload(r.files))},dragenter(e){l(e)},dragover(e){l(e),o.addClass(this.$el,this.clsDragover)},dragleave(e){l(e),o.removeClass(this.$el,this.clsDragover)}},methods:{async upload(e){if(e=o.toArray(e),!e.length)return;o.trigger(this.$el,"upload",[e]);for(const a of e){if(this.maxSize&&this.maxSize*1e3<a.size){this.fail(this.t("invalidSize",this.maxSize));return}if(this.allow&&!h(this.allow,a.name)){this.fail(this.t("invalidName",this.allow));return}if(this.mime&&!h(this.mime,a.type)){this.fail(this.t("invalidMime",this.mime));return}}this.multiple||(e=e.slice(0,1)),this.beforeAll(this,e);const r=f(e,this.concurrent),s=async a=>{const t=new FormData;a.forEach(n=>t.append(this.name,n));for(const n in this.params)t.append(n,this.params[n]);try{const n=await u(this.url,{data:t,method:this.method,responseType:this.type,beforeSend:p=>{const{xhr:c}=p;o.on(c.upload,"progress",this.progress);for(const m of["loadStart","load","loadEnd","abort"])o.on(c,m.toLowerCase(),this[m]);return this.beforeSend(p)}});this.complete(n),r.length?await s(r.shift()):this.completeAll(n)}catch(n){this.error(n)}};await s(r.shift())}}};function h(e,r){return r.match(new RegExp(`^${e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")}$`,"i"))}function f(e,r){const s=[];for(let a=0;a<e.length;a+=r)s.push(e.slice(a,a+r));return s}function l(e){e.preventDefault(),e.stopPropagation()}async function u(e,r){const s={data:null,method:"GET",headers:{},xhr:new XMLHttpRequest,beforeSend:o.noop,responseType:"",...r};return await s.beforeSend(s),g(e,s)}function g(e,r){return new Promise((s,a)=>{const{xhr:t}=r;for(const n in r)if(n in t)try{t[n]=r[n]}catch{}t.open(r.method.toUpperCase(),e);for(const n in r.headers)t.setRequestHeader(n,r.headers[n]);o.on(t,"load",()=>{t.status===0||t.status>=200&&t.status<300||t.status===304?s(t):a(o.assign(Error(t.statusText),{xhr:t,status:t.status}))}),o.on(t,"error",()=>a(o.assign(Error("Network Error"),{xhr:t}))),o.on(t,"timeout",()=>a(o.assign(Error("Network Timeout"),{xhr:t}))),t.send(r.data)})}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",d),d});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.21.6-dev.de7455236 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.21.7-dev.b9cd769db | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -370,15 +370,13 @@
370
370
  return isString(selector) && parseSelector(selector).isContextSelector || isDocument(context) ? context : context.ownerDocument;
371
371
  }
372
372
  const addStarRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
373
- const splitSelectorRe = /.*?[^\\](?![^(]*\))(?:,|$)/g;
374
- const trailingCommaRe = /\s*,$/;
373
+ const splitSelectorRe = /(\([^)]*\)|[^,])+/g;
375
374
  const parseSelector = memoize((selector) => {
376
- var _a;
377
375
  selector = selector.replace(addStarRe, "$1 *");
378
376
  let isContextSelector = false;
379
377
  const selectors = [];
380
- for (let sel of (_a = selector.match(splitSelectorRe)) != null ? _a : []) {
381
- sel = sel.replace(trailingCommaRe, "").trim();
378
+ for (let sel of selector.match(splitSelectorRe)) {
379
+ sel = sel.trim();
382
380
  isContextSelector || (isContextSelector = ["!", "+", "~", "-", ">"].includes(sel[0]));
383
381
  selectors.push(sel);
384
382
  }
@@ -388,10 +386,11 @@
388
386
  isContextSelector
389
387
  };
390
388
  });
389
+ const positionRe = /(\([^)]*\)|\S)*/;
391
390
  const parsePositionSelector = memoize((selector) => {
392
391
  selector = selector.slice(1).trim();
393
- const index2 = selector.indexOf(" ");
394
- return ~index2 ? [selector.slice(0, index2), selector.slice(index2 + 1)] : [selector, ""];
392
+ const [position] = selector.match(positionRe);
393
+ return [position, selector.slice(position.length + 1)];
395
394
  });
396
395
  function _query(selector, context = document, queryFn) {
397
396
  if (!selector || !isString(selector)) {
@@ -807,9 +806,8 @@
807
806
  fn(node);
808
807
  node = node.firstElementChild;
809
808
  while (node) {
810
- const next = node.nextElementSibling;
811
809
  apply(node, fn);
812
- node = next;
810
+ node = node.nextElementSibling;
813
811
  }
814
812
  }
815
813
  function $(selector, context) {
@@ -1300,27 +1298,27 @@
1300
1298
  }
1301
1299
  function offsetViewport(scrollElement) {
1302
1300
  const window = toWindow(scrollElement);
1303
- let viewportElement = scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
1304
- if (isWindow(viewportElement) && window.visualViewport) {
1301
+ const documentScrollingElement = scrollingElement(scrollElement);
1302
+ const useWindow = scrollElement.contains(documentScrollingElement);
1303
+ if (useWindow && window.visualViewport) {
1305
1304
  let { height, width, scale, pageTop: top, pageLeft: left } = window.visualViewport;
1306
1305
  height = Math.round(height * scale);
1307
1306
  width = Math.round(width * scale);
1308
1307
  return { height, width, top, left, bottom: top + height, right: left + width };
1309
1308
  }
1310
- let rect = offset(viewportElement);
1311
- if (css(viewportElement, "display") === "inline") {
1309
+ let rect = offset(useWindow ? window : scrollElement);
1310
+ if (css(scrollElement, "display") === "inline") {
1312
1311
  return rect;
1313
1312
  }
1313
+ const { body, documentElement } = window.document;
1314
+ const viewportElement = useWindow ? documentScrollingElement === documentElement || // In quirks mode the scrolling element is body, even though the viewport is html
1315
+ documentScrollingElement.clientHeight < body.clientHeight ? documentScrollingElement : body : scrollElement;
1314
1316
  for (let [prop, dir, start, end] of [
1315
1317
  ["width", "x", "left", "right"],
1316
1318
  ["height", "y", "top", "bottom"]
1317
1319
  ]) {
1318
- if (isWindow(viewportElement)) {
1319
- viewportElement = viewportElement.document;
1320
- } else {
1321
- rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
1322
- }
1323
1320
  const subpixel = rect[prop] % 1;
1321
+ rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
1324
1322
  rect[prop] = rect[dir] = viewportElement[`client${ucfirst(prop)}`] - (subpixel ? subpixel < 0.5 ? -subpixel : 1 - subpixel : 0);
1325
1323
  rect[end] = rect[prop] + rect[start];
1326
1324
  }
@@ -2169,7 +2167,7 @@
2169
2167
  };
2170
2168
  App.util = util;
2171
2169
  App.options = {};
2172
- App.version = "3.21.6-dev.de7455236";
2170
+ App.version = "3.21.7-dev.b9cd769db";
2173
2171
 
2174
2172
  const PREFIX = "uk-";
2175
2173
  const DATA = "__uikit__";
@@ -2196,7 +2194,7 @@
2196
2194
  }
2197
2195
  function createComponent(name, element, data, ...args) {
2198
2196
  const Component = component(name);
2199
- return Component.options.functional ? new Component({ data: isPlainObject(element) ? element : [element, data, ...args] }) : element ? findAll(element).map(init)[0] : init();
2197
+ return Component.options.functional ? new Component({ data: isPlainObject(element) ? element : [element, data, ...args] }) : element ? $$(element).map(init)[0] : init();
2200
2198
  function init(element2) {
2201
2199
  const instance = getComponent(element2, name);
2202
2200
  if (instance) {
@@ -3440,6 +3438,7 @@
3440
3438
  return [this.$el, ...$$(".uk-drop", this.$el)].some((el) => this.tracker.movesTo(el));
3441
3439
  },
3442
3440
  position() {
3441
+ const restoreScrollPosition = storeScrollPosition(this.$el);
3443
3442
  removeClass(this.$el, "uk-drop-stack");
3444
3443
  css(this.$el, this._style);
3445
3444
  this.$el.hidden = true;
@@ -3486,6 +3485,7 @@
3486
3485
  this.positionAt(this.$el, this.target, this.boundary);
3487
3486
  }
3488
3487
  }
3488
+ restoreScrollPosition();
3489
3489
  }
3490
3490
  }
3491
3491
  };
@@ -5232,7 +5232,7 @@
5232
5232
  data: {
5233
5233
  clsPage: "uk-modal-page",
5234
5234
  selPanel: ".uk-modal-dialog",
5235
- selClose: ".uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full"
5235
+ selClose: '[class*="uk-modal-close"]'
5236
5236
  },
5237
5237
  events: [
5238
5238
  {