uikit 3.13.11-dev.eb080f280 → 3.14.1-dev.dadc910c0

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 (63) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/dist/css/uikit-core-rtl.css +4 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +4 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +4 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +4 -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 +19 -5
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +19 -5
  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 +62 -60
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +62 -60
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +2 -2
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +62 -60
  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 +19 -5
  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 +126 -68
  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 +188 -128
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/slider.js +1 -1
  44. package/src/js/core/accordion.js +21 -5
  45. package/src/js/core/cover.js +27 -14
  46. package/src/js/core/drop.js +22 -2
  47. package/src/js/core/height-match.js +1 -1
  48. package/src/js/core/margin.js +9 -2
  49. package/src/js/core/scrollspy-nav.js +2 -2
  50. package/src/js/mixin/parallax.js +61 -60
  51. package/src/js/mixin/togglable.js +16 -2
  52. package/src/js/util/lang.js +34 -38
  53. package/src/js/util/position.js +9 -9
  54. package/src/less/components/nav.less +1 -0
  55. package/src/less/components/utility.less +1 -0
  56. package/src/scss/components/nav.scss +1 -0
  57. package/src/scss/components/utility.scss +1 -0
  58. package/tests/alert.html +1 -1
  59. package/tests/drop.html +154 -80
  60. package/tests/navbar.html +1 -1
  61. package/tests/parallax.html +8 -8
  62. package/tests/sticky-parallax.html +8 -8
  63. package/tests/sticky.html +4 -4
@@ -1 +1 @@
1
- /*! UIkit 3.13.11-dev.eb080f280 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(s,c){typeof exports=="object"&&typeof module<"u"?module.exports=c(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],c):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitTooltip=c(s.UIkit.util))})(this,function(s){"use strict";var c={props:{container:Boolean},data:{container:!0},computed:{container(o){let{container:e}=o;return e===!0&&this.$container||e&&s.$(e)}}},w={props:{cls:Boolean,animation:"list",duration:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,origin:!1,transition:"linear",clsEnter:"uk-togglabe-enter",clsLeave:"uk-togglabe-leave",initProps:{overflow:"",height:"",paddingTop:"",paddingBottom:"",marginTop:"",marginBottom:""},hideProps:{overflow:"hidden",height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0}},computed:{hasAnimation(o){let{animation:e}=o;return!!e[0]},hasTransition(o){let{animation:e}=o;return this.hasAnimation&&e[0]===!0}},methods:{toggleElement(o,e,i){return new Promise(r=>Promise.all(s.toNodes(o).map(a=>{const n=s.isBoolean(e)?e:!this.isToggled(a);if(!s.trigger(a,"before"+(n?"show":"hide"),[this]))return Promise.reject();const h=(s.isFunction(i)?i:i===!1||!this.hasAnimation?this._toggle:this.hasTransition?T(this):u(this))(a,n),t=n?this.clsEnter:this.clsLeave;s.addClass(a,t),s.trigger(a,n?"show":"hide",[this]);const d=()=>{s.removeClass(a,t),s.trigger(a,n?"shown":"hidden",[this]),this.$update(a)};return h?h.then(d,()=>(s.removeClass(a,t),Promise.reject())):d()})).then(r,s.noop))},isToggled(o){return o===void 0&&(o=this.$el),[o]=s.toNodes(o),s.hasClass(o,this.clsEnter)?!0:s.hasClass(o,this.clsLeave)?!1:this.cls?s.hasClass(o,this.cls.split(" ")[0]):s.isVisible(o)},_toggle(o,e){if(!o)return;e=Boolean(e);let i;this.cls?(i=s.includes(this.cls," ")||e!==s.hasClass(o,this.cls),i&&s.toggleClass(o,this.cls,s.includes(this.cls," ")?void 0:e)):(i=e===o.hidden,i&&(o.hidden=!e)),s.$$("[autofocus]",o).some(r=>s.isVisible(r)?r.focus()||!0:r.blur()),i&&(s.trigger(o,"toggled",[e,this]),this.$update(o))}}};function T(o){let{isToggled:e,duration:i,initProps:r,hideProps:a,transition:n,_toggle:h}=o;return(t,d)=>{const p=s.Transition.inProgress(t),l=t.hasChildNodes()?s.toFloat(s.css(t.firstElementChild,"marginTop"))+s.toFloat(s.css(t.lastElementChild,"marginBottom")):0,f=s.isVisible(t)?s.height(t)+(p?0:l):0;s.Transition.cancel(t),e(t)||h(t,!0),s.height(t,""),s.fastdom.flush();const g=s.height(t)+(p?0:l);return s.height(t,f),(d?s.Transition.start(t,{...r,overflow:"hidden",height:g},Math.round(i*(1-f/g)),n):s.Transition.start(t,a,Math.round(i*(f/g)),n).then(()=>h(t,!1))).then(()=>s.css(t,r))}}function u(o){return(e,i)=>{s.Animation.cancel(e);const{animation:r,duration:a,_toggle:n}=o;return i?(n(e,!0),s.Animation.in(e,r[0],a,o.origin)):s.Animation.out(e,r[1]||r[0],a,o.origin).then(()=>n(e,!1))}}var v={props:{pos:String,offset:null,flip:Boolean},data:{pos:"bottom-"+(s.isRtl?"right":"left"),flip:!0,offset:!1,viewportPadding:10},connected(){this.pos=this.$props.pos.split("-").concat("center").slice(0,2),this.axis=s.includes(["top","bottom"],this.pos[0])?"y":"x"},methods:{positionAt(o,e,i){const[r,a]=this.pos;let{offset:n}=this;if(!s.isNumeric(n)){const t=s.$(n);n=t?s.offset(t)[this.axis==="x"?"left":"top"]-s.offset(e)[this.axis==="x"?"right":"bottom"]:0}n=s.toPx(n)+s.toPx(s.getCssVar("position-offset",o)),n=[s.includes(["left","top"],r)?-n:+n,0];const h={element:[s.flipPosition(r),a],target:[r,a]};if(this.axis==="y"){for(const t in h)h[t]=h[t].reverse();n=n.reverse()}s.positionAt(o,e,{attach:h,offset:n,boundary:i,viewportPadding:this.viewportPadding,flip:this.flip})}}},m={mixins:[c,w,v],args:"title",props:{delay:Number,title:String},data:{pos:"top",title:"",delay:0,animation:["uk-animation-scale-up"],duration:100,cls:"uk-active"},beforeConnect(){this._hasTitle=s.hasAttr(this.$el,"title"),s.attr(this.$el,"title",""),this.updateAria(!1),b(this.$el)},disconnected(){this.hide(),s.attr(this.$el,"title",this._hasTitle?this.title:null)},methods:{show(){this.isToggled(this.tooltip||null)||!this.title||(this._unbind=s.once(document,"show keydown "+s.pointerDown,this.hide,!1,o=>o.type===s.pointerDown&&!s.within(o.target,this.$el)||o.type==="keydown"&&o.keyCode===27||o.type==="show"&&o.detail[0]!==this&&o.detail[0].$name===this.$name),clearTimeout(this.showTimer),this.showTimer=setTimeout(this._show,this.delay))},async hide(){s.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&(await this.toggleElement(this.tooltip,!1,!1),s.remove(this.tooltip),this.tooltip=null,this._unbind()))},_show(){this.tooltip=s.append(this.container,'<div class="uk-'+this.$options.name+'"> <div class="uk-'+this.$options.name+'-inner">'+this.title+"</div> </div>"),s.on(this.tooltip,"toggled",(o,e)=>{if(this.updateAria(e),!e)return;this.positionAt(this.tooltip,this.$el);const[i,r]=$(this.tooltip,this.$el,this.pos);this.origin=this.axis==="y"?s.flipPosition(i)+"-"+r:r+"-"+s.flipPosition(i)}),this.toggleElement(this.tooltip,!0)},updateAria(o){s.attr(this.$el,"aria-expanded",o)}},events:{focus:"show",blur:"hide",[s.pointerEnter+" "+s.pointerLeave](o){s.isTouch(o)||this[o.type===s.pointerEnter?"show":"hide"]()},[s.pointerDown](o){s.isTouch(o)&&this.show()}}};function b(o){s.isFocusable(o)||s.attr(o,"tabindex","0")}function $(o,e,i){let[r,a]=i;const n=s.offset(o),h=s.offset(e),t=[["left","right"],["top","bottom"]];for(const p of t){if(n[p[0]]>=h[p[1]]){r=p[1];break}if(n[p[1]]<=h[p[0]]){r=p[0];break}}const d=s.includes(t[0],r)?t[1]:t[0];return n[d[0]]===h[d[0]]?a=d[0]:n[d[1]]===h[d[1]]?a=d[1]:a="center",[r,a]}return typeof window<"u"&&window.UIkit&&window.UIkit.component("tooltip",m),m});
1
+ /*! UIkit 3.14.1-dev.dadc910c0 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(s,c){typeof exports=="object"&&typeof module<"u"?module.exports=c(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],c):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitTooltip=c(s.UIkit.util))})(this,function(s){"use strict";var c={props:{container:Boolean},data:{container:!0},computed:{container(o){let{container:e}=o;return e===!0&&this.$container||e&&s.$(e)}}},u={props:{cls:Boolean,animation:"list",duration:Number,velocity:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,velocity:.2,origin:!1,transition:"ease",clsEnter:"uk-togglabe-enter",clsLeave:"uk-togglabe-leave",initProps:{overflow:"",height:"",paddingTop:"",paddingBottom:"",marginTop:"",marginBottom:"",boxShadow:""},hideProps:{overflow:"hidden",height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,boxShadow:"none"}},computed:{hasAnimation(o){let{animation:e}=o;return!!e[0]},hasTransition(o){let{animation:e}=o;return this.hasAnimation&&e[0]===!0}},methods:{toggleElement(o,e,r){return new Promise(a=>Promise.all(s.toNodes(o).map(i=>{const t=s.isBoolean(e)?e:!this.isToggled(i);if(!s.trigger(i,"before"+(t?"show":"hide"),[this]))return Promise.reject();const d=(s.isFunction(r)?r:r===!1||!this.hasAnimation?this._toggle:this.hasTransition?v(this):T(this))(i,t),h=t?this.clsEnter:this.clsLeave;s.addClass(i,h),s.trigger(i,t?"show":"hide",[this]);const n=()=>{s.removeClass(i,h),s.trigger(i,t?"shown":"hidden",[this]),this.$update(i)};return d?d.then(n,()=>(s.removeClass(i,h),Promise.reject())):n()})).then(a,s.noop))},isToggled(o){return o===void 0&&(o=this.$el),[o]=s.toNodes(o),s.hasClass(o,this.clsEnter)?!0:s.hasClass(o,this.clsLeave)?!1:this.cls?s.hasClass(o,this.cls.split(" ")[0]):s.isVisible(o)},_toggle(o,e){if(!o)return;e=Boolean(e);let r;this.cls?(r=s.includes(this.cls," ")||e!==s.hasClass(o,this.cls),r&&s.toggleClass(o,this.cls,s.includes(this.cls," ")?void 0:e)):(r=e===o.hidden,r&&(o.hidden=!e)),s.$$("[autofocus]",o).some(a=>s.isVisible(a)?a.focus()||!0:a.blur()),r&&(s.trigger(o,"toggled",[e,this]),this.$update(o))}}};function v(o){let{isToggled:e,duration:r,velocity:a,initProps:i,hideProps:t,transition:d,_toggle:h}=o;return(n,p)=>{const l=s.Transition.inProgress(n),w=n.hasChildNodes()?s.toFloat(s.css(n.firstElementChild,"marginTop"))+s.toFloat(s.css(n.lastElementChild,"marginBottom")):0,f=s.isVisible(n)?s.height(n)+(l?0:w):0;s.Transition.cancel(n),e(n)||h(n,!0),s.height(n,""),s.fastdom.flush();const g=s.height(n)+(l?0:w);return r=a*n.offsetHeight+r,s.height(n,f),(p?s.Transition.start(n,{...i,overflow:"hidden",height:g},Math.round(r*(1-f/g)),d):s.Transition.start(n,t,Math.round(r*(f/g)),d).then(()=>h(n,!1))).then(()=>s.css(n,i))}}function T(o){return(e,r)=>{s.Animation.cancel(e);const{animation:a,duration:i,_toggle:t}=o;return r?(t(e,!0),s.Animation.in(e,a[0],i,o.origin)):s.Animation.out(e,a[1]||a[0],i,o.origin).then(()=>t(e,!1))}}var b={props:{pos:String,offset:null,flip:Boolean},data:{pos:"bottom-"+(s.isRtl?"right":"left"),flip:!0,offset:!1,viewportPadding:10},connected(){this.pos=this.$props.pos.split("-").concat("center").slice(0,2),this.axis=s.includes(["top","bottom"],this.pos[0])?"y":"x"},methods:{positionAt(o,e,r){const[a,i]=this.pos;let{offset:t}=this;if(!s.isNumeric(t)){const h=s.$(t);t=h?s.offset(h)[this.axis==="x"?"left":"top"]-s.offset(e)[this.axis==="x"?"right":"bottom"]:0}t=s.toPx(t)+s.toPx(s.getCssVar("position-offset",o)),t=[s.includes(["left","top"],a)?-t:+t,0];const d={element:[s.flipPosition(a),i],target:[a,i]};if(this.axis==="y"){for(const h in d)d[h]=d[h].reverse();t=t.reverse()}s.positionAt(o,e,{attach:d,offset:t,boundary:r,viewportPadding:this.viewportPadding,flip:this.flip})}}},m={mixins:[c,u,b],args:"title",props:{delay:Number,title:String},data:{pos:"top",title:"",delay:0,animation:["uk-animation-scale-up"],duration:100,cls:"uk-active"},beforeConnect(){this._hasTitle=s.hasAttr(this.$el,"title"),s.attr(this.$el,"title",""),this.updateAria(!1),$(this.$el)},disconnected(){this.hide(),s.attr(this.$el,"title",this._hasTitle?this.title:null)},methods:{show(){this.isToggled(this.tooltip||null)||!this.title||(this._unbind=s.once(document,"show keydown "+s.pointerDown,this.hide,!1,o=>o.type===s.pointerDown&&!s.within(o.target,this.$el)||o.type==="keydown"&&o.keyCode===27||o.type==="show"&&o.detail[0]!==this&&o.detail[0].$name===this.$name),clearTimeout(this.showTimer),this.showTimer=setTimeout(this._show,this.delay))},async hide(){s.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&(await this.toggleElement(this.tooltip,!1,!1),s.remove(this.tooltip),this.tooltip=null,this._unbind()))},_show(){this.tooltip=s.append(this.container,'<div class="uk-'+this.$options.name+'"> <div class="uk-'+this.$options.name+'-inner">'+this.title+"</div> </div>"),s.on(this.tooltip,"toggled",(o,e)=>{if(this.updateAria(e),!e)return;this.positionAt(this.tooltip,this.$el);const[r,a]=y(this.tooltip,this.$el,this.pos);this.origin=this.axis==="y"?s.flipPosition(r)+"-"+a:a+"-"+s.flipPosition(r)}),this.toggleElement(this.tooltip,!0)},updateAria(o){s.attr(this.$el,"aria-expanded",o)}},events:{focus:"show",blur:"hide",[s.pointerEnter+" "+s.pointerLeave](o){s.isTouch(o)||this[o.type===s.pointerEnter?"show":"hide"]()},[s.pointerDown](o){s.isTouch(o)&&this.show()}}};function $(o){s.isFocusable(o)||s.attr(o,"tabindex","0")}function y(o,e,r){let[a,i]=r;const t=s.offset(o),d=s.offset(e),h=[["left","right"],["top","bottom"]];for(const p of h){if(t[p[0]]>=d[p[1]]){a=p[1];break}if(t[p[1]]<=d[p[0]]){a=p[0];break}}const n=s.includes(h[0],a)?h[1]:h[0];return t[n[0]]===d[n[0]]?i=n[0]:t[n[1]]===d[n[1]]?i=n[1]:i="center",[a,i]}return typeof window<"u"&&window.UIkit&&window.UIkit.component("tooltip",m),m});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.13.11-dev.eb080f280 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.1-dev.dadc910c0 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -1 +1 @@
1
- /*! UIkit 3.13.11-dev.eb080f280 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(o,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],n):(o=typeof globalThis<"u"?globalThis:o||self,o.UIkitUpload=n(o.UIkit.util))})(this,function(o){"use strict";var n={props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,msgInvalidMime:String,msgInvalidName:String,msgInvalidSize: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,msgInvalidMime:"Invalid File Type: %s",msgInvalidName:"Invalid File Name: %s",msgInvalidSize:"Invalid File Size: %s Kilobytes Max",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){i(e);const t=e.dataTransfer;!(t!=null&&t.files)||(o.removeClass(this.$el,this.clsDragover),this.upload(t.files))},dragenter(e){i(e)},dragover(e){i(e),o.addClass(this.$el,this.clsDragover)},dragleave(e){i(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.msgInvalidSize.replace("%s",this.maxSize));return}if(this.allow&&!d(this.allow,a.name)){this.fail(this.msgInvalidName.replace("%s",this.allow));return}if(this.mime&&!d(this.mime,a.type)){this.fail(this.msgInvalidMime.replace("%s",this.mime));return}}this.multiple||(e=e.slice(0,1)),this.beforeAll(this,e);const t=c(e,this.concurrent),s=async a=>{const l=new FormData;a.forEach(r=>l.append(this.name,r));for(const r in this.params)l.append(r,this.params[r]);try{const r=await o.ajax(this.url,{data:l,method:this.method,responseType:this.type,beforeSend:h=>{const{xhr:p}=h;p.upload&&o.on(p.upload,"progress",this.progress);for(const m of["loadStart","load","loadEnd","abort"])o.on(p,m.toLowerCase(),this[m]);return this.beforeSend(h)}});this.complete(r),t.length?await s(t.shift()):this.completeAll(r)}catch(r){this.error(r)}};await s(t.shift())}}};function d(e,t){return t.match(new RegExp("^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$","i"))}function c(e,t){const s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));return s}function i(e){e.preventDefault(),e.stopPropagation()}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",n),n});
1
+ /*! UIkit 3.14.1-dev.dadc910c0 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(o,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],n):(o=typeof globalThis<"u"?globalThis:o||self,o.UIkitUpload=n(o.UIkit.util))})(this,function(o){"use strict";var n={props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,msgInvalidMime:String,msgInvalidName:String,msgInvalidSize: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,msgInvalidMime:"Invalid File Type: %s",msgInvalidName:"Invalid File Name: %s",msgInvalidSize:"Invalid File Size: %s Kilobytes Max",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){i(e);const t=e.dataTransfer;!(t!=null&&t.files)||(o.removeClass(this.$el,this.clsDragover),this.upload(t.files))},dragenter(e){i(e)},dragover(e){i(e),o.addClass(this.$el,this.clsDragover)},dragleave(e){i(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.msgInvalidSize.replace("%s",this.maxSize));return}if(this.allow&&!d(this.allow,a.name)){this.fail(this.msgInvalidName.replace("%s",this.allow));return}if(this.mime&&!d(this.mime,a.type)){this.fail(this.msgInvalidMime.replace("%s",this.mime));return}}this.multiple||(e=e.slice(0,1)),this.beforeAll(this,e);const t=c(e,this.concurrent),s=async a=>{const l=new FormData;a.forEach(r=>l.append(this.name,r));for(const r in this.params)l.append(r,this.params[r]);try{const r=await o.ajax(this.url,{data:l,method:this.method,responseType:this.type,beforeSend:h=>{const{xhr:p}=h;p.upload&&o.on(p.upload,"progress",this.progress);for(const m of["loadStart","load","loadEnd","abort"])o.on(p,m.toLowerCase(),this[m]);return this.beforeSend(h)}});this.complete(r),t.length?await s(t.shift()):this.completeAll(r)}catch(r){this.error(r)}};await s(t.shift())}}};function d(e,t){return t.match(new RegExp("^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$","i"))}function c(e,t){const s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));return s}function i(e){e.preventDefault(),e.stopPropagation()}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",n),n});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.13.11-dev.eb080f280 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.1-dev.dadc910c0 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -208,48 +208,44 @@
208
208
 
209
209
  }
210
210
 
211
- const Dimensions = {
212
- ratio(dimensions, prop, value) {
213
- const aProp = prop === 'width' ? 'height' : 'width';
211
+ function ratio(dimensions, prop, value) {
212
+ const aProp = prop === 'width' ? 'height' : 'width';
214
213
 
215
- return {
216
- [aProp]: dimensions[prop] ?
217
- Math.round(value * dimensions[aProp] / dimensions[prop]) :
218
- dimensions[aProp],
219
- [prop]: value };
214
+ return {
215
+ [aProp]: dimensions[prop] ?
216
+ Math.round(value * dimensions[aProp] / dimensions[prop]) :
217
+ dimensions[aProp],
218
+ [prop]: value };
220
219
 
221
- },
220
+ }
222
221
 
223
- contain(dimensions, maxDimensions) {
224
- dimensions = { ...dimensions };
222
+ function contain(dimensions, maxDimensions) {
223
+ dimensions = { ...dimensions };
225
224
 
226
- each(
227
- dimensions,
228
- (_, prop) =>
225
+ for (const prop in dimensions) {
229
226
  dimensions =
230
227
  dimensions[prop] > maxDimensions[prop] ?
231
- this.ratio(dimensions, prop, maxDimensions[prop]) :
232
- dimensions);
233
-
228
+ ratio(dimensions, prop, maxDimensions[prop]) :
229
+ dimensions;
230
+ }
234
231
 
235
- return dimensions;
236
- },
232
+ return dimensions;
233
+ }
237
234
 
238
- cover(dimensions, maxDimensions) {
239
- dimensions = this.contain(dimensions, maxDimensions);
235
+ function cover$1(dimensions, maxDimensions) {
236
+ dimensions = contain(dimensions, maxDimensions);
240
237
 
241
- each(
242
- dimensions,
243
- (_, prop) =>
238
+ for (const prop in dimensions) {
244
239
  dimensions =
245
240
  dimensions[prop] < maxDimensions[prop] ?
246
- this.ratio(dimensions, prop, maxDimensions[prop]) :
247
- dimensions);
248
-
241
+ ratio(dimensions, prop, maxDimensions[prop]) :
242
+ dimensions;
243
+ }
249
244
 
250
- return dimensions;
251
- } };
245
+ return dimensions;
246
+ }
252
247
 
248
+ const Dimensions = { ratio, contain, cover: cover$1 };
253
249
 
254
250
  function getIndex(i, elements, current, finite) {if (current === void 0) {current = 0;}if (finite === void 0) {finite = false;}
255
251
  elements = toNodes(elements);
@@ -1983,8 +1979,7 @@
1983
1979
 
1984
1980
  const position = offset(element);
1985
1981
  const targetOffset = offset(target);
1986
- for (const i in dirs) {
1987
- const [prop, dir, start, end] = dirs[i];
1982
+ for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
1988
1983
  position[start] = position[dir] =
1989
1984
  targetOffset[start] +
1990
1985
  moveBy(attach.target[i], end, targetOffset[prop]) -
@@ -1998,8 +1993,6 @@
1998
1993
  function attachToWithFlip(element, target, options) {
1999
1994
  const position = attachTo(element, target, options);
2000
1995
  const targetDim = offset(target);
2001
- const viewports = scrollParents(element, /auto|scroll/);
2002
- const [scrollElement] = viewports;
2003
1996
 
2004
1997
  let {
2005
1998
  flip,
@@ -2010,12 +2003,15 @@
2010
2003
  viewportPadding } =
2011
2004
  options;
2012
2005
 
2006
+ let viewports = scrollParents(element);
2007
+ if (boundary === target) {
2008
+ viewports = viewports.filter((viewport) => viewport !== boundary);
2009
+ }
2010
+ const [scrollElement] = viewports;
2013
2011
  viewports.push(viewport);
2014
2012
 
2015
2013
  const offsetPosition = { ...position };
2016
- for (const i in dirs) {
2017
- const [prop, dir, start, end] = dirs[i];
2018
-
2014
+ for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
2019
2015
  if (flip !== true && !includes(flip, dir)) {
2020
2016
  continue;
2021
2017
  }
@@ -2030,7 +2026,7 @@
2030
2026
  viewport[end] -= viewportPadding;
2031
2027
  }
2032
2028
 
2033
- if (boundary && !(willFlip || position[prop] > offset(boundary)[prop])) {
2029
+ if (boundary && !willFlip && position[prop] <= offset(boundary)[prop]) {
2034
2030
  viewport = getIntersectionArea(viewport, offset(boundary));
2035
2031
  }
2036
2032
 
@@ -2147,7 +2143,7 @@
2147
2143
  }
2148
2144
 
2149
2145
  function flipDir(prop) {
2150
- for (const i in dirs) {
2146
+ for (let i = 0; i < dirs.length; i++) {
2151
2147
  const index = dirs[i].indexOf(prop);
2152
2148
  if (~index) {
2153
2149
  return dirs[1 - i][index % 2 + 2];
@@ -2958,7 +2954,7 @@
2958
2954
  UIkit.data = '__uikit__';
2959
2955
  UIkit.prefix = 'uk-';
2960
2956
  UIkit.options = {};
2961
- UIkit.version = '3.13.11-dev.eb080f280';
2957
+ UIkit.version = '3.14.1-dev.dadc910c0';
2962
2958
 
2963
2959
  globalAPI(UIkit);
2964
2960
  hooksAPI(UIkit);
@@ -3050,6 +3046,7 @@
3050
3046
  cls: Boolean,
3051
3047
  animation: 'list',
3052
3048
  duration: Number,
3049
+ velocity: Number,
3053
3050
  origin: String,
3054
3051
  transition: String },
3055
3052
 
@@ -3058,8 +3055,9 @@
3058
3055
  cls: false,
3059
3056
  animation: [false],
3060
3057
  duration: 200,
3058
+ velocity: 0.2,
3061
3059
  origin: false,
3062
- transition: 'linear',
3060
+ transition: 'ease',
3063
3061
  clsEnter: 'uk-togglabe-enter',
3064
3062
  clsLeave: 'uk-togglabe-leave',
3065
3063
 
@@ -3069,7 +3067,8 @@
3069
3067
  paddingTop: '',
3070
3068
  paddingBottom: '',
3071
3069
  marginTop: '',
3072
- marginBottom: '' },
3070
+ marginBottom: '',
3071
+ boxShadow: '' },
3073
3072
 
3074
3073
 
3075
3074
  hideProps: {
@@ -3078,7 +3077,8 @@
3078
3077
  paddingTop: 0,
3079
3078
  paddingBottom: 0,
3080
3079
  marginTop: 0,
3081
- marginBottom: 0 } },
3080
+ marginBottom: 0,
3081
+ boxShadow: 'none' } },
3082
3082
 
3083
3083
 
3084
3084
 
@@ -3173,7 +3173,15 @@
3173
3173
 
3174
3174
 
3175
3175
 
3176
- function toggleHeight(_ref3) {let { isToggled, duration, initProps, hideProps, transition, _toggle } = _ref3;
3176
+ function toggleHeight(_ref3)
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+
3184
+ {let { isToggled, duration, velocity, initProps, hideProps, transition, _toggle } = _ref3;
3177
3185
  return (el, show) => {
3178
3186
  const inProgress = Transition.inProgress(el);
3179
3187
  const inner = el.hasChildNodes() ?
@@ -3194,6 +3202,8 @@
3194
3202
  fastdom.flush();
3195
3203
 
3196
3204
  const endHeight = height(el) + (inProgress ? 0 : inner);
3205
+ duration = velocity * el.offsetHeight + duration;
3206
+
3197
3207
  height(el, currentHeight);
3198
3208
 
3199
3209
  return (
@@ -3241,7 +3251,6 @@
3241
3251
  multiple: Boolean,
3242
3252
  toggle: String,
3243
3253
  content: String,
3244
- transition: String,
3245
3254
  offset: Number },
3246
3255
 
3247
3256
 
@@ -3254,19 +3263,16 @@
3254
3263
  clsOpen: 'uk-open',
3255
3264
  toggle: '> .uk-accordion-title',
3256
3265
  content: '> .uk-accordion-content',
3257
- transition: 'ease',
3258
3266
  offset: 0 },
3259
3267
 
3260
3268
 
3261
3269
  computed: {
3262
3270
  items: {
3263
3271
  get(_ref, $el) {let { targets } = _ref;
3264
- return $$(targets, $el).filter((el) => $(this.content, el));
3272
+ return $$(targets, $el);
3265
3273
  },
3266
3274
 
3267
3275
  watch(items, prev) {
3268
- items.forEach((el) => hide($(this.content, el), !hasClass(el, this.clsOpen)));
3269
-
3270
3276
  if (prev || hasClass(items, this.clsOpen)) {
3271
3277
  return;
3272
3278
  }
@@ -3285,7 +3291,27 @@
3285
3291
 
3286
3292
  toggles(_ref2) {let { toggle } = _ref2;
3287
3293
  return this.items.map((item) => $(toggle, item));
3288
- } },
3294
+ },
3295
+
3296
+ contents: {
3297
+ get(_ref3) {let { content } = _ref3;
3298
+ return this.items.map((item) => $(content, item));
3299
+ },
3300
+
3301
+ watch(items) {
3302
+ for (const el of items) {
3303
+ hide(
3304
+ el,
3305
+ !hasClass(
3306
+ this.items.find((item) => item.contains(el)),
3307
+ this.clsOpen));
3308
+
3309
+
3310
+ }
3311
+ },
3312
+
3313
+ immediate: true } },
3314
+
3289
3315
 
3290
3316
 
3291
3317
  connected() {
@@ -3482,25 +3508,38 @@
3482
3508
 
3483
3509
  update: {
3484
3510
  read() {
3485
- const el = this.$el;
3486
- const { offsetHeight: height, offsetWidth: width } =
3487
- getPositionedParent(el) || parent(el);
3488
- const dim = Dimensions.cover(
3489
- {
3490
- width: this.width || el.naturalWidth || el.videoWidth || el.clientWidth,
3491
- height: this.height || el.naturalHeight || el.videoHeight || el.clientHeight },
3511
+ const { ratio, cover } = Dimensions;
3512
+ const { $el, width, height } = this;
3492
3513
 
3493
- {
3494
- width: width + (width % 2 ? 1 : 0),
3495
- height: height + (height % 2 ? 1 : 0) });
3514
+ let dim = { width, height };
3496
3515
 
3516
+ if (!dim.width || !dim.height) {
3517
+ const intrinsic = {
3518
+ width: $el.naturalWidth || $el.videoWidth || $el.clientWidth,
3519
+ height: $el.naturalHeight || $el.videoHeight || $el.clientHeight };
3497
3520
 
3498
3521
 
3499
- if (!dim.width || !dim.height) {
3522
+ if (dim.width) {
3523
+ dim = ratio(intrinsic, 'width', dim.width);
3524
+ } else if (height) {
3525
+ dim = ratio(intrinsic, 'height', dim.height);
3526
+ } else {
3527
+ dim = intrinsic;
3528
+ }
3529
+ }
3530
+
3531
+ const { offsetHeight: coverHeight, offsetWidth: coverWidth } =
3532
+ getPositionedParent($el) || parent($el);
3533
+ const coverDim = cover(dim, {
3534
+ width: coverWidth + (coverWidth % 2 ? 1 : 0),
3535
+ height: coverHeight + (coverHeight % 2 ? 1 : 0) });
3536
+
3537
+
3538
+ if (!coverDim.width || !coverDim.height) {
3500
3539
  return false;
3501
3540
  }
3502
3541
 
3503
- return dim;
3542
+ return coverDim;
3504
3543
  },
3505
3544
 
3506
3545
  write(_ref) {let { height, width } = _ref;
@@ -3602,6 +3641,7 @@
3602
3641
  boundaryAlign: Boolean,
3603
3642
  delayShow: Number,
3604
3643
  delayHide: Number,
3644
+ display: String,
3605
3645
  clsDrop: String },
3606
3646
 
3607
3647
 
@@ -3612,6 +3652,7 @@
3612
3652
  boundaryAlign: false,
3613
3653
  delayShow: 0,
3614
3654
  delayHide: 800,
3655
+ display: null,
3615
3656
  clsDrop: false,
3616
3657
  animation: ['uk-animation-fade'],
3617
3658
  cls: 'uk-open',
@@ -3802,7 +3843,23 @@
3802
3843
  this.hide(false);
3803
3844
  }
3804
3845
  }),
3805
- on(window, 'resize', () => this.$emit())])
3846
+
3847
+ ...(this.display === 'static' ?
3848
+ [] :
3849
+ (() => {
3850
+ const handler = () => this.$emit();
3851
+ return [
3852
+ on(window, 'resize', handler),
3853
+ on(document, 'scroll', handler, true),
3854
+ (() => {
3855
+ const observer = observeResize(
3856
+ scrollParents(this.$el),
3857
+ handler);
3858
+
3859
+ return () => observer.disconnect();
3860
+ })()];
3861
+
3862
+ })())])
3806
3863
  {
3807
3864
  once(this.$el, 'hide', handler, { self: true });
3808
3865
  }
@@ -3922,7 +3979,8 @@
3922
3979
  const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
3923
3980
 
3924
3981
  css(this.$el, 'maxWidth', '');
3925
- const maxWidth = scrollParentOffset.width - (boundary ? 0 : 2 * this.viewportPadding);
3982
+ const maxWidth =
3983
+ scrollParentOffset.width - (this.boundaryAlign ? 0 : 2 * this.viewportPadding);
3926
3984
 
3927
3985
  if (this.pos[1] === 'justify') {
3928
3986
  const prop = this.axis === 'y' ? 'width' : 'height';
@@ -4037,7 +4095,7 @@
4037
4095
 
4038
4096
 
4039
4097
  resizeTargets() {
4040
- return [this.$el, this.$el.children];
4098
+ return [this.$el, ...toArray(this.$el.children)];
4041
4099
  },
4042
4100
 
4043
4101
  connected() {
@@ -4354,7 +4412,7 @@
4354
4412
 
4355
4413
 
4356
4414
  resizeTargets() {
4357
- return [this.$el, this.elements];
4415
+ return [this.$el, ...this.elements];
4358
4416
  },
4359
4417
 
4360
4418
  update: {
@@ -6549,7 +6607,7 @@
6549
6607
  if (scrollTop === max) {
6550
6608
  active = length - 1;
6551
6609
  } else {
6552
- for (const i in targets) {
6610
+ for (let i = 0; i < targets.length; i++) {
6553
6611
  if (offset(targets[i]).top - viewport.top - this.offset > 0) {
6554
6612
  break;
6555
6613
  }
@@ -6568,7 +6626,7 @@
6568
6626
  const changed = active !== false && !hasClass(this.elements[active], this.cls);
6569
6627
 
6570
6628
  this.links.forEach((el) => el.blur());
6571
- for (const i in this.elements) {
6629
+ for (let i = 0; i < this.elements.length; i++) {
6572
6630
  toggleClass(this.elements[i], this.cls, +i === active);
6573
6631
  }
6574
6632