uikit 3.25.24-dev.66bb413 → 3.25.24-dev.683b9f8

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 (45) hide show
  1. package/dist/css/uikit-core-rtl.css +1 -1
  2. package/dist/css/uikit-core-rtl.min.css +1 -1
  3. package/dist/css/uikit-core.css +1 -1
  4. package/dist/css/uikit-core.min.css +1 -1
  5. package/dist/css/uikit-rtl.css +1 -1
  6. package/dist/css/uikit-rtl.min.css +1 -1
  7. package/dist/css/uikit.css +1 -1
  8. package/dist/css/uikit.min.css +1 -1
  9. package/dist/js/components/countdown.js +1 -1
  10. package/dist/js/components/countdown.min.js +1 -1
  11. package/dist/js/components/filter.js +1 -1
  12. package/dist/js/components/filter.min.js +1 -1
  13. package/dist/js/components/lightbox-panel.js +10 -29
  14. package/dist/js/components/lightbox-panel.min.js +1 -1
  15. package/dist/js/components/lightbox.js +10 -29
  16. package/dist/js/components/lightbox.min.js +1 -1
  17. package/dist/js/components/notification.js +1 -1
  18. package/dist/js/components/notification.min.js +1 -1
  19. package/dist/js/components/parallax.js +1 -1
  20. package/dist/js/components/parallax.min.js +1 -1
  21. package/dist/js/components/slider-parallax.js +1 -1
  22. package/dist/js/components/slider-parallax.min.js +1 -1
  23. package/dist/js/components/slider.js +1 -1
  24. package/dist/js/components/slider.min.js +1 -1
  25. package/dist/js/components/slideshow-parallax.js +1 -1
  26. package/dist/js/components/slideshow-parallax.min.js +1 -1
  27. package/dist/js/components/slideshow.js +1 -1
  28. package/dist/js/components/slideshow.min.js +1 -1
  29. package/dist/js/components/sortable.js +1 -1
  30. package/dist/js/components/sortable.min.js +1 -1
  31. package/dist/js/components/tooltip.js +6 -7
  32. package/dist/js/components/tooltip.min.js +1 -1
  33. package/dist/js/components/upload.js +1 -1
  34. package/dist/js/components/upload.min.js +1 -1
  35. package/dist/js/uikit-core.js +66 -77
  36. package/dist/js/uikit-core.min.js +1 -1
  37. package/dist/js/uikit-icons.js +1 -1
  38. package/dist/js/uikit-icons.min.js +1 -1
  39. package/dist/js/uikit.js +66 -77
  40. package/dist/js/uikit.min.js +1 -1
  41. package/package.json +1 -1
  42. package/src/js/core/scrollspy.js +10 -20
  43. package/src/js/mixin/modal.js +3 -24
  44. package/src/js/mixin/togglable.js +5 -6
  45. package/src/js/util/animation.js +58 -41
@@ -1 +1 @@
1
- /*! UIkit 3.25.24-dev.66bb413 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,l){typeof exports=="object"&&typeof module<"u"?module.exports=l(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],l):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitTooltip=l(t.UIkit.util))})(this,(function(t){"use strict";function l(s,i=[]){try{return s?t.startsWith(s,"{")?JSON.parse(s):i.length&&!t.includes(s,":")?{[i[0]]:s}:s.split(";").reduce((o,n)=>{const[e,r]=n.split(/:(.*)/);return e&&!t.isUndefined(r)&&(o[e.trim()]=r.trim()),o},{}):{}}catch{return{}}}t.memoize((s,i)=>{const o=Object.keys(i),n=o.concat(s).flatMap(e=>[t.hyphenate(e),`data-${t.hyphenate(e)}`]);return{attributes:o,filter:n}});let E=1;function O(s,i=null){return(i==null?void 0:i.id)||`${s.$options.id}-${E++}`}var A={props:{container:Boolean},data:{container:!0},computed:{container({container:s}){return s===!0&&this.$container||s&&t.$(s)}}},B={props:{pos:String,offset:Boolean,flip:Boolean,shift:Boolean,inset:Boolean},data:{pos:`bottom-${t.isRtl?"right":"left"}`,offset:!1,flip:!0,shift:!0,inset:!1},connected(){this.pos=this.$props.pos.split("-").concat("center").slice(0,2),[this.dir,this.align]=this.pos,this.axis=t.includes(["top","bottom"],this.dir)?"y":"x"},methods:{positionAt(s,i,o){let n=[this.getPositionOffset(s),this.getShiftOffset(s)];const e=[this.flip&&"flip",this.shift&&"shift"],r={element:[this.inset?this.dir:t.flipPosition(this.dir),this.align],target:[this.dir,this.align]};if(this.axis==="y"){for(const a in r)r[a].reverse();n.reverse(),e.reverse()}const h=I(s),c=t.dimensions(s);t.css(s,{top:-c.height,left:-c.width}),t.positionAt(s,i,{attach:r,offset:n,boundary:o,placement:e,viewportOffset:this.getViewportOffset(s)}),h()},getPositionOffset(s=this.$el){return t.toPx(this.offset===!1?t.css(s,"--uk-position-offset"):this.offset,this.axis==="x"?"width":"height",s)*(t.includes(["left","top"],this.dir)?-1:1)*(this.inset?-1:1)},getShiftOffset(s=this.$el){return this.align==="center"?0:t.toPx(t.css(s,"--uk-position-shift-offset"),this.axis==="y"?"width":"height",s)*(t.includes(["left","top"],this.align)?1:-1)},getViewportOffset(s){return t.toPx(t.css(s,"--uk-position-viewport-offset"))}}};function I(s){const i=t.scrollParent(s),{scrollTop:o}=i;return()=>{o!==i.scrollTop&&(i.scrollTop=o)}}var D={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-togglable-enter",clsLeave:"uk-togglable-leave"},computed:{hasAnimation:({animation:s})=>!!s[0],hasTransition:({animation:s})=>["slide","reveal"].some(i=>t.startsWith(s[0],i))},methods:{async toggleElement(s,i,o){const n={};return(await Promise.all(t.toNodes(s).map(e=>{const r=t.isBoolean(i)?i:!this.isToggled(e);if(!t.trigger(e,`before${r?"show":"hide"}`,[this]))return n;const h=(t.isFunction(o)?o:o===!1||!this.hasAnimation?L:this.hasTransition?N:_)(e,r,this),c=r?this.clsEnter:this.clsLeave;t.addClass(e,c),t.trigger(e,r?"show":"hide",[this]);const a=()=>{var f;t.removeClass(e,c),t.trigger(e,r?"shown":"hidden",[this]),r&&((f=t.$$("[autofocus]",e).find(t.isVisible))==null||f.focus({preventScroll:!0}))};return h?h.then(a,()=>(t.removeClass(e,c),n)):a()}))).every(e=>e!==n)},isToggled(s=this.$el){return s=t.toNode(s),t.hasClass(s,this.clsEnter)?!0:t.hasClass(s,this.clsLeave)?!1:this.cls?t.hasClass(s,this.cls.split(" ")[0]):t.isVisible(s)},_toggle(s,i){if(!s)return;i=!!i;let o;this.cls?(o=t.includes(this.cls," ")||i!==t.hasClass(s,this.cls),o&&t.toggleClass(s,this.cls,t.includes(this.cls," ")?void 0:i)):(o=i===s.hidden,o&&(s.hidden=!i)),o&&t.trigger(s,"toggled",[i,this])}}};function L(s,i,{_toggle:o}){return t.Animation.cancel(s),t.Transition.cancel(s),o(s,i)}async function N(s,i,{animation:o,duration:n,velocity:e,transition:r,_toggle:h}){var c;const[a="reveal",f="top"]=((c=o[0])==null?void 0:c.split("-"))||[],b=[["left","right"],["top","bottom"]],y=b[t.includes(b[0],f)?0:1],k=y[1]===f,v=["width","height"][b.indexOf(y)],p=`margin-${y[0]}`,w=`margin-${f}`;let g=t.dimensions(s)[v];const M=t.Transition.inProgress(s);await t.Transition.cancel(s),i&&h(s,!0);const z=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",p,w].map(S=>[S,s.style[S]])),m=t.dimensions(s),T=t.toFloat(t.css(s,p)),P=t.toFloat(t.css(s,w)),d=m[v]+P;!M&&!i&&(g+=P);const[$]=t.wrapInner(s,"<div>");t.css($,{boxSizing:"border-box",height:m.height,width:m.width,...t.css(s,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",w])}),t.css(s,{padding:0,border:0,minWidth:0,minHeight:0,[w]:0,width:m.width,height:m.height,overflow:"hidden",[v]:g});const x=g/d;n=(e*d+n)*(i?1-x:x);const C={[v]:i?d:0};k&&(t.css(s,p,d-g+T),C[p]=i?T:d+T),!k^a==="reveal"&&(t.css($,p,-d+g),t.Transition.start($,{[p]:i?0:-d},n,r));try{await t.Transition.start(s,C,n,r)}finally{t.css(s,z),t.unwrap($.firstChild),i||h(s,!1)}}function _(s,i,o){const{animation:n,duration:e,_toggle:r}=o;return i?(r(s,!0),t.Animation.in(s,n[0],e,o.origin)):t.Animation.out(s,n[1]||n[0],e,o.origin).then(()=>r(s,!1))}const F={ESC:27};var u={mixins:[A,D,B],data:{pos:"top",animation:["uk-animation-scale-up"],duration:100,cls:"uk-active"},connected(){U(this.$el)},disconnected(){this.hide()},methods:{show(){if(this.isToggled(this.tooltip||null))return;const{delay:s=0,title:i}=W(this.$options);if(!i)return;const o=t.attr(this.$el,"title"),n=t.on(this.$el,["blur",t.pointerLeave],r=>!t.isTouch(r)&&this.hide());this.reset=()=>{t.attr(this.$el,{title:o,"aria-describedby":null}),n()};const e=O(this);t.attr(this.$el,{title:null,"aria-describedby":e}),clearTimeout(this.showTimer),this.showTimer=setTimeout(()=>this._show(i,e),s)},async hide(){var s;t.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&await this.toggleElement(this.tooltip,!1,!1),(s=this.reset)==null||s.call(this),t.remove(this.tooltip),this.tooltip=null)},async _show(s,i){this.tooltip=t.append(this.container,`<div id="${i}" class="uk-${this.$options.name}" role="tooltip"> <div class="uk-${this.$options.name}-inner">${s}</div> </div>`),t.on(this.tooltip,"toggled",(o,n)=>{if(!n)return;const e=()=>this.positionAt(this.tooltip,this.$el);e();const[r,h]=V(this.tooltip,this.$el,this.pos);this.origin=this.axis==="y"?`${t.flipPosition(r)}-${h}`:`${h}-${t.flipPosition(r)}`;const c=[t.once(document,`keydown ${t.pointerDown}`,this.hide,!1,a=>a.type===t.pointerDown&&!this.$el.contains(a.target)||a.type==="keydown"&&a.keyCode===F.ESC),t.on([document,...t.overflowParents(this.$el)],"scroll",e,{passive:!0})];t.once(this.tooltip,"hide",()=>c.forEach(a=>a()),{self:!0})}),await this.toggleElement(this.tooltip,!0)||this.hide()}},events:{[`focus ${t.pointerEnter} ${t.pointerDown}`](s){(!t.isTouch(s)||s.type===t.pointerDown)&&document.readyState!=="loading"&&this.show()}}};function U(s){t.isFocusable(s)||(s.tabIndex=0)}function V(s,i,[o,n]){const e=t.offset(s),r=t.offset(i),h=[["left","right"],["top","bottom"]];for(const a of h){if(e[a[0]]>=r[a[1]]){o=a[1];break}if(e[a[1]]<=r[a[0]]){o=a[0];break}}return n=(t.includes(h[0],o)?h[1]:h[0]).find(a=>e[a]===r[a])||"center",[o,n]}function W(s){const{el:i,id:o,data:n}=s;return{title:t.data(i,"title"),delay:t.data(i,"delay"),...l(t.data(i,o),["title"]),...n}}var j="tooltip";return typeof window<"u"&&window.UIkit&&window.UIkit.component(j,u),u}));
1
+ /*! UIkit 3.25.24-dev.683b9f8 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,l){typeof exports=="object"&&typeof module<"u"?module.exports=l(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],l):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitTooltip=l(t.UIkit.util))})(this,(function(t){"use strict";function l(s,i=[]){try{return s?t.startsWith(s,"{")?JSON.parse(s):i.length&&!t.includes(s,":")?{[i[0]]:s}:s.split(";").reduce((o,n)=>{const[e,r]=n.split(/:(.*)/);return e&&!t.isUndefined(r)&&(o[e.trim()]=r.trim()),o},{}):{}}catch{return{}}}t.memoize((s,i)=>{const o=Object.keys(i),n=o.concat(s).flatMap(e=>[t.hyphenate(e),`data-${t.hyphenate(e)}`]);return{attributes:o,filter:n}});let E=1;function O(s,i=null){return(i==null?void 0:i.id)||`${s.$options.id}-${E++}`}var A={props:{container:Boolean},data:{container:!0},computed:{container({container:s}){return s===!0&&this.$container||s&&t.$(s)}}},B={props:{pos:String,offset:Boolean,flip:Boolean,shift:Boolean,inset:Boolean},data:{pos:`bottom-${t.isRtl?"right":"left"}`,offset:!1,flip:!0,shift:!0,inset:!1},connected(){this.pos=this.$props.pos.split("-").concat("center").slice(0,2),[this.dir,this.align]=this.pos,this.axis=t.includes(["top","bottom"],this.dir)?"y":"x"},methods:{positionAt(s,i,o){let n=[this.getPositionOffset(s),this.getShiftOffset(s)];const e=[this.flip&&"flip",this.shift&&"shift"],r={element:[this.inset?this.dir:t.flipPosition(this.dir),this.align],target:[this.dir,this.align]};if(this.axis==="y"){for(const a in r)r[a].reverse();n.reverse(),e.reverse()}const h=I(s),c=t.dimensions(s);t.css(s,{top:-c.height,left:-c.width}),t.positionAt(s,i,{attach:r,offset:n,boundary:o,placement:e,viewportOffset:this.getViewportOffset(s)}),h()},getPositionOffset(s=this.$el){return t.toPx(this.offset===!1?t.css(s,"--uk-position-offset"):this.offset,this.axis==="x"?"width":"height",s)*(t.includes(["left","top"],this.dir)?-1:1)*(this.inset?-1:1)},getShiftOffset(s=this.$el){return this.align==="center"?0:t.toPx(t.css(s,"--uk-position-shift-offset"),this.axis==="y"?"width":"height",s)*(t.includes(["left","top"],this.align)?1:-1)},getViewportOffset(s){return t.toPx(t.css(s,"--uk-position-viewport-offset"))}}};function I(s){const i=t.scrollParent(s),{scrollTop:o}=i;return()=>{o!==i.scrollTop&&(i.scrollTop=o)}}var D={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-togglable-enter",clsLeave:"uk-togglable-leave"},computed:{hasAnimation:({animation:s})=>!!s[0],hasTransition:({animation:s})=>["slide","reveal"].some(i=>t.startsWith(s[0],i))},methods:{async toggleElement(s,i,o){const n={};return(await Promise.all(t.toNodes(s).map(e=>{const r=t.isBoolean(i)?i:!this.isToggled(e);if(!t.trigger(e,`before${r?"show":"hide"}`,[this]))return n;const h=(t.isFunction(o)?o:o===!1||!this.hasAnimation?L:this.hasTransition?N:_)(e,r,this),c=r?this.clsEnter:this.clsLeave;t.addClass(e,c),t.trigger(e,r?"show":"hide",[this]);const a=()=>{var f;t.removeClass(e,c),t.trigger(e,r?"shown":"hidden",[this]),r&&((f=t.$$("[autofocus]",e).find(t.isVisible))==null||f.focus({preventScroll:!0}))};return h?h.then(a,()=>(t.removeClass(e,c),n)):a()}))).every(e=>e!==n)},isToggled(s=this.$el){return s=t.toNode(s),t.hasClass(s,this.clsEnter)?!0:t.hasClass(s,this.clsLeave)?!1:this.cls?t.hasClass(s,this.cls.split(" ")[0]):t.isVisible(s)},_toggle(s,i){if(!s)return;i=!!i;let o;this.cls?(o=t.includes(this.cls," ")||i!==t.hasClass(s,this.cls),o&&t.toggleClass(s,this.cls,t.includes(this.cls," ")?void 0:i)):(o=i===s.hidden,o&&(s.hidden=!i)),o&&t.trigger(s,"toggled",[i,this])}}};function L(s,i,{_toggle:o}){return t.Animation.cancel(s),t.Transition.cancel(s),o(s,i)}async function N(s,i,{animation:o,duration:n,velocity:e,transition:r,_toggle:h}){var c;const[a="reveal",f="top"]=((c=o[0])==null?void 0:c.split("-"))||[],b=[["left","right"],["top","bottom"]],y=b[t.includes(b[0],f)?0:1],k=y[1]===f,v=["width","height"][b.indexOf(y)],p=`margin-${y[0]}`,w=`margin-${f}`;let g=t.dimensions(s)[v];const M=t.Transition.inProgress(s);await t.Transition.cancel(s),i&&h(s,!0);const z=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",p,w].map(S=>[S,s.style[S]])),m=t.dimensions(s),T=t.toFloat(t.css(s,p)),P=t.toFloat(t.css(s,w)),d=m[v]+P;!M&&!i&&(g+=P);const[$]=t.wrapInner(s,"<div>");t.css($,{boxSizing:"border-box",height:m.height,width:m.width,...t.css(s,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",w])}),t.css(s,{padding:0,border:0,minWidth:0,minHeight:0,[w]:0,width:m.width,height:m.height,overflow:"hidden",[v]:g});const x=g/d;n=(e*d+n)*(i?1-x:x);const C={[v]:i?d:0};k&&(t.css(s,p,d-g+T),C[p]=i?T:d+T),!k^a==="reveal"&&(t.css($,p,-d+g),t.Transition.start($,{[p]:i?0:-d},n,r));try{await t.Transition.start(s,C,n,r)}finally{t.css(s,z),t.unwrap($.firstChild),i||h(s,!1)}}async function _(s,i,o){const{animation:n,duration:e,origin:r,_toggle:h}=o;if(i)return h(s,!0),t.Animation.in(s,n[0],e,r);await t.Animation.out(s,n[1]||n[0],e,r),h(s,!1)}const F={ESC:27};var u={mixins:[A,D,B],data:{pos:"top",animation:["uk-animation-scale-up"],duration:100,cls:"uk-active"},connected(){U(this.$el)},disconnected(){this.hide()},methods:{show(){if(this.isToggled(this.tooltip||null))return;const{delay:s=0,title:i}=W(this.$options);if(!i)return;const o=t.attr(this.$el,"title"),n=t.on(this.$el,["blur",t.pointerLeave],r=>!t.isTouch(r)&&this.hide());this.reset=()=>{t.attr(this.$el,{title:o,"aria-describedby":null}),n()};const e=O(this);t.attr(this.$el,{title:null,"aria-describedby":e}),clearTimeout(this.showTimer),this.showTimer=setTimeout(()=>this._show(i,e),s)},async hide(){var s;t.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&await this.toggleElement(this.tooltip,!1,!1),(s=this.reset)==null||s.call(this),t.remove(this.tooltip),this.tooltip=null)},async _show(s,i){this.tooltip=t.append(this.container,`<div id="${i}" class="uk-${this.$options.name}" role="tooltip"> <div class="uk-${this.$options.name}-inner">${s}</div> </div>`),t.on(this.tooltip,"toggled",(o,n)=>{if(!n)return;const e=()=>this.positionAt(this.tooltip,this.$el);e();const[r,h]=V(this.tooltip,this.$el,this.pos);this.origin=this.axis==="y"?`${t.flipPosition(r)}-${h}`:`${h}-${t.flipPosition(r)}`;const c=[t.once(document,`keydown ${t.pointerDown}`,this.hide,!1,a=>a.type===t.pointerDown&&!this.$el.contains(a.target)||a.type==="keydown"&&a.keyCode===F.ESC),t.on([document,...t.overflowParents(this.$el)],"scroll",e,{passive:!0})];t.once(this.tooltip,"hide",()=>c.forEach(a=>a()),{self:!0})}),await this.toggleElement(this.tooltip,!0)||this.hide()}},events:{[`focus ${t.pointerEnter} ${t.pointerDown}`](s){(!t.isTouch(s)||s.type===t.pointerDown)&&document.readyState!=="loading"&&this.show()}}};function U(s){t.isFocusable(s)||(s.tabIndex=0)}function V(s,i,[o,n]){const e=t.offset(s),r=t.offset(i),h=[["left","right"],["top","bottom"]];for(const a of h){if(e[a[0]]>=r[a[1]]){o=a[1];break}if(e[a[1]]<=r[a[0]]){o=a[0];break}}return n=(t.includes(h[0],o)?h[1]:h[0]).find(a=>e[a]===r[a])||"center",[o,n]}function W(s){const{el:i,id:o,data:n}=s;return{title:t.data(i,"title"),delay:t.data(i,"delay"),...l(t.data(i,o),["title"]),...n}}var j="tooltip";return typeof window<"u"&&window.UIkit&&window.UIkit.component(j,u),u}));
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.24-dev.66bb413 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.24-dev.683b9f8 | https://www.getuikit.com | (c) 2014 - 2026 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.25.24-dev.66bb413 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(r,i){typeof exports=="object"&&typeof module<"u"?module.exports=i(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],i):(r=typeof globalThis<"u"?globalThis:r||self,r.UIkitUpload=i(r.UIkit.util))})(this,(function(r){"use strict";var i={props:{i18n:Object},data:{i18n:null},methods:{t(e,...t){var s,a,o;let n=0;return((o=((s=this.i18n)==null?void 0:s[e])||((a=this.$options.i18n)==null?void 0:a[e]))==null?void 0:o.replace(/%s/g,()=>t[n++]||""))||""}}},p={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:r.noop,beforeAll:r.noop,beforeSend:r.noop,complete:r.noop,completeAll:r.noop,error:r.noop,fail:r.noop,load:r.noop,loadEnd:r.noop,loadStart:r.noop,progress:r.noop},events:{change(e){r.matches(e.target,'input[type="file"]')&&(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop(e){l(e);const t=e.dataTransfer;t!=null&&t.files&&(r.removeClass(this.$el,this.clsDragover),this.upload(t.files))},dragenter(e){l(e)},dragover(e){l(e),r.addClass(this.$el,this.clsDragover)},dragleave(e){l(e),r.removeClass(this.$el,this.clsDragover)}},methods:{async upload(e){if(e=r.toArray(e),!e.length)return;this.multiple||(e=e.slice(0,1)),r.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&&!d(this.allow,a.name)){this.fail(this.t("invalidName",this.allow));return}if(this.mime&&!d(this.mime,a.type)){this.fail(this.t("invalidMime",this.mime));return}}this.beforeAll(this,e);const t=u(e,this.concurrent),s=async a=>{const o=new FormData;a.forEach(n=>o.append(this.name,n));for(const n in this.params)o.append(n,this.params[n]);try{const n=await g(this.url,{data:o,method:this.method,responseType:this.type,beforeSend:m=>{const{xhr:c}=m;r.on(c.upload,"progress",this.progress);for(const f of["loadStart","load","loadEnd","abort"])r.on(c,f.toLowerCase(),this[f]);return this.beforeSend(m)}});this.complete(n),t.length?await s(t.shift()):this.completeAll(n)}catch(n){n.name!=="AbortError"&&this.error(n)}};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 u(e,t){const s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));return s}function l(e){e.preventDefault(),e.stopPropagation()}async function g(e,t){const s={url:e,data:null,method:"GET",headers:{},xhr:new XMLHttpRequest,beforeSend:r.noop,responseType:"",...t};if(await s.beforeSend(s)===!1)throw h(s.xhr);return v(s.url,s)}function v(e,t){return new Promise((s,a)=>{const{xhr:o}=t;for(const n in t)if(n in o)try{o[n]=t[n]}catch{}o.open(t.method.toUpperCase(),e);for(const n in t.headers)o.setRequestHeader(n,t.headers[n]);r.on(o,"load",()=>{o.status===0||o.status>=200&&o.status<300||o.status===304?s(o):a(r.assign(Error(o.statusText),{xhr:o,status:o.status}))}),r.on(o,"error",()=>a(r.assign(Error("Network Error"),{xhr:o}))),r.on(o,"timeout",()=>a(r.assign(Error("Network Timeout"),{xhr:o}))),r.on(o,"abort",()=>a(h(o))),o.send(t.data)})}function h(e){return r.assign(Error("Network Abort"),{xhr:e,name:"AbortError"})}var w="upload";return typeof window<"u"&&window.UIkit&&window.UIkit.component(w,p),p}));
1
+ /*! UIkit 3.25.24-dev.683b9f8 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(r,i){typeof exports=="object"&&typeof module<"u"?module.exports=i(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],i):(r=typeof globalThis<"u"?globalThis:r||self,r.UIkitUpload=i(r.UIkit.util))})(this,(function(r){"use strict";var i={props:{i18n:Object},data:{i18n:null},methods:{t(e,...t){var s,a,o;let n=0;return((o=((s=this.i18n)==null?void 0:s[e])||((a=this.$options.i18n)==null?void 0:a[e]))==null?void 0:o.replace(/%s/g,()=>t[n++]||""))||""}}},p={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:r.noop,beforeAll:r.noop,beforeSend:r.noop,complete:r.noop,completeAll:r.noop,error:r.noop,fail:r.noop,load:r.noop,loadEnd:r.noop,loadStart:r.noop,progress:r.noop},events:{change(e){r.matches(e.target,'input[type="file"]')&&(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop(e){l(e);const t=e.dataTransfer;t!=null&&t.files&&(r.removeClass(this.$el,this.clsDragover),this.upload(t.files))},dragenter(e){l(e)},dragover(e){l(e),r.addClass(this.$el,this.clsDragover)},dragleave(e){l(e),r.removeClass(this.$el,this.clsDragover)}},methods:{async upload(e){if(e=r.toArray(e),!e.length)return;this.multiple||(e=e.slice(0,1)),r.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&&!d(this.allow,a.name)){this.fail(this.t("invalidName",this.allow));return}if(this.mime&&!d(this.mime,a.type)){this.fail(this.t("invalidMime",this.mime));return}}this.beforeAll(this,e);const t=u(e,this.concurrent),s=async a=>{const o=new FormData;a.forEach(n=>o.append(this.name,n));for(const n in this.params)o.append(n,this.params[n]);try{const n=await g(this.url,{data:o,method:this.method,responseType:this.type,beforeSend:m=>{const{xhr:c}=m;r.on(c.upload,"progress",this.progress);for(const f of["loadStart","load","loadEnd","abort"])r.on(c,f.toLowerCase(),this[f]);return this.beforeSend(m)}});this.complete(n),t.length?await s(t.shift()):this.completeAll(n)}catch(n){n.name!=="AbortError"&&this.error(n)}};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 u(e,t){const s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));return s}function l(e){e.preventDefault(),e.stopPropagation()}async function g(e,t){const s={url:e,data:null,method:"GET",headers:{},xhr:new XMLHttpRequest,beforeSend:r.noop,responseType:"",...t};if(await s.beforeSend(s)===!1)throw h(s.xhr);return v(s.url,s)}function v(e,t){return new Promise((s,a)=>{const{xhr:o}=t;for(const n in t)if(n in o)try{o[n]=t[n]}catch{}o.open(t.method.toUpperCase(),e);for(const n in t.headers)o.setRequestHeader(n,t.headers[n]);r.on(o,"load",()=>{o.status===0||o.status>=200&&o.status<300||o.status===304?s(o):a(r.assign(Error(o.statusText),{xhr:o,status:o.status}))}),r.on(o,"error",()=>a(r.assign(Error("Network Error"),{xhr:o}))),r.on(o,"timeout",()=>a(r.assign(Error("Network Timeout"),{xhr:o}))),r.on(o,"abort",()=>a(h(o))),o.send(t.data)})}function h(e){return r.assign(Error("Network Abort"),{xhr:e,name:"AbortError"})}var w="upload";return typeof window<"u"&&window.UIkit&&window.UIkit.component(w,p),p}));
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.24-dev.66bb413 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.24-dev.683b9f8 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -685,39 +685,52 @@
685
685
  }
686
686
  };
687
687
  const clsAnimation = "uk-animation";
688
- const animationEnd = "animationend";
689
- const animationCanceled = "animationcanceled";
688
+ const activeAnimations = /* @__PURE__ */ new WeakMap();
690
689
  function animate$2(element, animation, duration = 200, origin, out) {
691
- return Promise.all(
692
- toNodes(element).map(
693
- (element2) => new Promise((resolve, reject) => {
694
- if (hasClass(element2, clsAnimation)) {
695
- trigger(element2, animationCanceled);
696
- }
697
- const classes = [
698
- animation,
699
- clsAnimation,
700
- `${clsAnimation}-${out ? "leave" : "enter"}`,
701
- origin && `uk-transform-origin-${origin}`,
702
- out && `${clsAnimation}-reverse`
703
- ];
704
- const timer = setTimeout(() => trigger(element2, animationEnd), duration);
705
- once(
706
- element2,
707
- [animationEnd, animationCanceled],
708
- ({ type }) => {
709
- clearTimeout(timer);
710
- type === animationCanceled ? reject() : resolve(element2);
711
- css(element2, "animationDuration", "");
712
- removeClass(element2, classes);
713
- },
714
- { self: true }
715
- );
716
- css(element2, "animationDuration", `${duration}ms`);
717
- addClass(element2, classes);
718
- })
719
- )
720
- );
690
+ const animateFn = async (element2) => {
691
+ if (!Element.prototype.getAnimations) {
692
+ return element2;
693
+ }
694
+ cancel(element2);
695
+ const existingAnimations = element2.getAnimations();
696
+ const classes = [
697
+ animation,
698
+ clsAnimation,
699
+ `${clsAnimation}-${out ? "leave" : "enter"}`,
700
+ origin && `uk-transform-origin-${origin}`,
701
+ out && `${clsAnimation}-reverse`
702
+ ];
703
+ css(element2, "animationDuration", `${duration}ms`);
704
+ addClass(element2, classes);
705
+ const animations = element2.getAnimations().filter((animation2) => !existingAnimations.includes(animation2));
706
+ const data = { animations, classes };
707
+ activeAnimations.set(element2, data);
708
+ try {
709
+ await Promise.all(animations.map(({ finished }) => finished));
710
+ return element2;
711
+ } finally {
712
+ cleanup(element2, data);
713
+ }
714
+ };
715
+ return Promise.all(toNodes(element).map(animateFn));
716
+ }
717
+ function cleanup(element, data) {
718
+ if (activeAnimations.get(element) === data) {
719
+ activeAnimations.delete(element);
720
+ css(element, "animationDuration", "");
721
+ removeClass(element, data.classes);
722
+ }
723
+ }
724
+ function cancel(elements) {
725
+ for (const element of toNodes(elements)) {
726
+ const data = activeAnimations.get(element);
727
+ if (data) {
728
+ for (const animation of data.animations) {
729
+ animation.cancel();
730
+ }
731
+ cleanup(element, data);
732
+ }
733
+ }
721
734
  }
722
735
  const Animation = {
723
736
  in: animate$2,
@@ -725,11 +738,9 @@
725
738
  return animate$2(element, animation, duration, origin, true);
726
739
  },
727
740
  inProgress(element) {
728
- return hasClass(element, clsAnimation);
741
+ return activeAnimations.has(element);
729
742
  },
730
- cancel(element) {
731
- trigger(element, animationCanceled);
732
- }
743
+ cancel
733
744
  };
734
745
 
735
746
  function ready(fn) {
@@ -1678,7 +1689,7 @@
1678
1689
  wrapInner: wrapInner
1679
1690
  });
1680
1691
 
1681
- var VERSION = '3.25.24-dev.66bb413';
1692
+ var VERSION = '3.25.24-dev.683b9f8';
1682
1693
 
1683
1694
  function initUpdates(instance) {
1684
1695
  instance._data = {};
@@ -2701,15 +2712,14 @@
2701
2712
  }
2702
2713
  }
2703
2714
  }
2704
- function toggleAnimation(el, show, cmp) {
2705
- const { animation, duration, _toggle } = cmp;
2715
+ async function toggleAnimation(el, show, cmp) {
2716
+ const { animation, duration, origin, _toggle } = cmp;
2706
2717
  if (show) {
2707
2718
  _toggle(el, true);
2708
- return Animation.in(el, animation[0], duration, cmp.origin);
2719
+ return Animation.in(el, animation[0], duration, origin);
2709
2720
  }
2710
- return Animation.out(el, animation[1] || animation[0], duration, cmp.origin).then(
2711
- () => _toggle(el, false)
2712
- );
2721
+ await Animation.out(el, animation[1] || animation[0], duration, origin);
2722
+ _toggle(el, false);
2713
2723
  }
2714
2724
 
2715
2725
  const wrappers = /* @__PURE__ */ new WeakMap();
@@ -5202,29 +5212,14 @@
5202
5212
  let rejectAnimation;
5203
5213
  return new Promise(
5204
5214
  (resolve, reject) => once(el, "show hide", () => {
5205
- var _a;
5215
+ var _a, _b, _c;
5206
5216
  (_a = pendingReject.get(el)) == null ? void 0 : _a();
5207
5217
  rejectAnimation = reject;
5208
5218
  pendingReject.set(el, reject);
5209
5219
  _toggle(el, show);
5210
- const off = once(
5211
- transitionElement,
5212
- "transitionstart",
5213
- () => {
5214
- once(transitionElement, "transitionend transitioncancel", resolve, {
5215
- self: true
5216
- });
5217
- clearTimeout(timer);
5218
- },
5219
- { self: true }
5220
- );
5221
- const timer = setTimeout(
5222
- () => {
5223
- off();
5224
- resolve();
5225
- },
5226
- toMs(css(transitionElement, "transitionDuration"))
5227
- );
5220
+ Promise.all(
5221
+ ((_c = (_b = transitionElement.getAnimations) == null ? void 0 : _b.call(transitionElement)) != null ? _c : []).map(({ finished }) => finished)
5222
+ ).then(resolve, reject);
5228
5223
  })
5229
5224
  ).then(() => {
5230
5225
  if (pendingReject.get(el) === rejectAnimation) {
@@ -5232,9 +5227,6 @@
5232
5227
  }
5233
5228
  });
5234
5229
  }
5235
- function toMs(time) {
5236
- return toFloat(time) * (endsWith(time, "ms") ? 1 : 1e3);
5237
- }
5238
5230
  function preventBackgroundFocus(modal) {
5239
5231
  return on(document, "focusin", (e) => {
5240
5232
  if (last(active) !== modal || modal.$el.contains(e.target)) {
@@ -5854,7 +5846,7 @@
5854
5846
  ],
5855
5847
  methods: {
5856
5848
  toggle(el, inview) {
5857
- var _a, _b;
5849
+ var _a, _b, _c;
5858
5850
  const state = (_a = this.elementData) == null ? void 0 : _a.get(el);
5859
5851
  if (!state) {
5860
5852
  return;
@@ -5863,16 +5855,13 @@
5863
5855
  css(el, "opacity", !inview && this.hidden ? 0 : "");
5864
5856
  toggleClass(el, clsInView, inview);
5865
5857
  toggleClass(el, state.cls);
5866
- let match;
5867
- if (match = state.cls.match(/\buk-animation-[\w-]+/g)) {
5868
- const removeAnimationClasses = () => removeClass(el, match);
5869
- if (inview) {
5870
- state.off = once(el, "animationcancel animationend", removeAnimationClasses, {
5871
- self: true
5872
- });
5873
- } else {
5874
- removeAnimationClasses();
5875
- }
5858
+ const match = state.cls.match(/\buk-animation-[\w-]+/g);
5859
+ if (match) {
5860
+ const animations = inview && ((_c = el.getAnimations) == null ? void 0 : _c.call(el)) || [];
5861
+ let active = true;
5862
+ state.off = () => active = false;
5863
+ const cleanup = () => active && removeClass(el, match);
5864
+ Promise.all(animations.map(({ finished }) => finished)).then(cleanup, cleanup);
5876
5865
  }
5877
5866
  trigger(el, inview ? "inview" : "outview");
5878
5867
  state.inview = inview;