uikit 3.25.26 → 3.25.27-dev.eabaa45

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 (49) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/util.js +0 -2
  3. package/dist/css/uikit-core-rtl.css +1 -1
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +1 -1
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +1 -1
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +1 -1
  10. package/dist/css/uikit.min.css +1 -1
  11. package/dist/js/components/countdown.js +1 -1
  12. package/dist/js/components/countdown.min.js +1 -1
  13. package/dist/js/components/filter.js +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +16 -12
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +16 -12
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +1 -1
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +1 -1
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +15 -2
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +1 -1
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +15 -2
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +1 -1
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +1 -1
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +48 -45
  38. package/dist/js/uikit-core.min.js +1 -1
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +1 -1
  41. package/dist/js/uikit.js +56 -62
  42. package/dist/js/uikit.min.js +1 -1
  43. package/package.json +1 -1
  44. package/src/js/components/lightbox-panel.js +2 -13
  45. package/src/js/core/dropnav.js +10 -29
  46. package/src/js/core/overflow-auto.js +5 -1
  47. package/src/js/core/switcher.js +6 -13
  48. package/src/js/mixin/slider-nav.js +2 -12
  49. package/src/js/util/keys.js +14 -0
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.27-dev.eabaa45 | 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.26 | 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,_toggle:r}=o;if(i)return r(s,!0),t.Animation.in(s,n[0],e,o.origin);await t.Animation.out(s,n[1]||n[0],e,o.origin),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.27-dev.eabaa45 | 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,_toggle:r}=o;if(i)return r(s,!0),t.Animation.in(s,n[0],e,o.origin);await t.Animation.out(s,n[1]||n[0],e,o.origin),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,4 +1,4 @@
1
- /*! UIkit 3.25.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.27-dev.eabaa45 | 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.26 | 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.27-dev.eabaa45 | 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.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.27-dev.eabaa45 | 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() :
@@ -838,7 +838,7 @@
838
838
  height: ["top", "bottom"]
839
839
  };
840
840
  function dimensions(element) {
841
- const rect = isElement(element) ? toNode(element).getBoundingClientRect() : { height: height(element), width: width(element), top: 0, left: 0 };
841
+ const rect = isElement(element) ? toNode(element).getBoundingClientRect() : { height: height$1(element), width: width(element), top: 0, left: 0 };
842
842
  return {
843
843
  height: rect.height,
844
844
  width: rect.width,
@@ -904,7 +904,7 @@
904
904
  }
905
905
  return offset2;
906
906
  }
907
- const height = dimension("height");
907
+ const height$1 = dimension("height");
908
908
  const width = dimension("width");
909
909
  function dimension(prop) {
910
910
  const propName = ucfirst(prop);
@@ -1589,7 +1589,7 @@
1589
1589
  hasClass: hasClass,
1590
1590
  hasOwn: hasOwn,
1591
1591
  hasTouch: hasTouch,
1592
- height: height,
1592
+ height: height$1,
1593
1593
  html: html,
1594
1594
  hyphenate: hyphenate,
1595
1595
  inBrowser: inBrowser,
@@ -1689,7 +1689,7 @@
1689
1689
  wrapInner: wrapInner
1690
1690
  });
1691
1691
 
1692
- var VERSION = '3.25.26';
1692
+ var VERSION = '3.25.27-dev.eabaa45';
1693
1693
 
1694
1694
  function initUpdates(instance) {
1695
1695
  instance._data = {};
@@ -2514,6 +2514,19 @@
2514
2514
  RIGHT: 39,
2515
2515
  DOWN: 40
2516
2516
  };
2517
+ function getNavigationIndex(keyCode, previousKey = keyMap.LEFT, nextKey = keyMap.RIGHT) {
2518
+ switch (keyCode) {
2519
+ case keyMap.HOME:
2520
+ return 0;
2521
+ case keyMap.END:
2522
+ return "last";
2523
+ case previousKey:
2524
+ return "previous";
2525
+ case nextKey:
2526
+ return "next";
2527
+ }
2528
+ return -1;
2529
+ }
2517
2530
 
2518
2531
  function maybeDefaultPreventClick(e) {
2519
2532
  if (e.target.closest('a[href="#"],a[href=""]')) {
@@ -3739,18 +3752,7 @@
3739
3752
  return;
3740
3753
  }
3741
3754
  const active2 = this.getActive();
3742
- let next = -1;
3743
- if (keyCode === keyMap.HOME) {
3744
- next = 0;
3745
- } else if (keyCode === keyMap.END) {
3746
- next = "last";
3747
- } else if (keyCode === keyMap.UP) {
3748
- next = "previous";
3749
- } else if (keyCode === keyMap.DOWN) {
3750
- next = "next";
3751
- } else if (keyCode === keyMap.ESC) {
3752
- (_a = active2.targetEl) == null ? void 0 : _a.focus();
3753
- }
3755
+ const next = getNavigationIndex(keyCode, keyMap.UP, keyMap.DOWN);
3754
3756
  if (~next) {
3755
3757
  e.preventDefault();
3756
3758
  const elements = $$(selFocusable, current);
@@ -3761,6 +3763,9 @@
3761
3763
  )].focus();
3762
3764
  return;
3763
3765
  }
3766
+ if (keyCode === keyMap.ESC) {
3767
+ (_a = active2.targetEl) == null ? void 0 : _a.focus();
3768
+ }
3764
3769
  handleNavItemNavigation(e, this.items, active2);
3765
3770
  }
3766
3771
  },
@@ -3850,7 +3855,7 @@
3850
3855
  },
3851
3856
  async transitionTo(newHeight, el) {
3852
3857
  const { dropbar } = this;
3853
- const oldHeight = height(dropbar);
3858
+ const oldHeight = height$1(dropbar);
3854
3859
  el = oldHeight < newHeight && el;
3855
3860
  await Transition.cancel([el, dropbar]);
3856
3861
  if (el) {
@@ -3860,7 +3865,7 @@
3860
3865
  }
3861
3866
  }
3862
3867
  css(el, "clipPath", `polygon(0 0,100% 0,100% ${oldHeight}px,0 ${oldHeight}px)`);
3863
- height(dropbar, oldHeight);
3868
+ height$1(dropbar, oldHeight);
3864
3869
  await Promise.all([
3865
3870
  Transition.start(dropbar, { height: newHeight }, this.duration),
3866
3871
  Transition.start(
@@ -3900,23 +3905,14 @@
3900
3905
  function handleNavItemNavigation(e, toggles, active2) {
3901
3906
  var _a, _b, _c;
3902
3907
  const { current, keyCode } = e;
3903
- let next = -1;
3904
- if (keyCode === keyMap.HOME) {
3905
- next = 0;
3906
- } else if (keyCode === keyMap.END) {
3907
- next = "last";
3908
- } else if (keyCode === keyMap.LEFT) {
3909
- next = "previous";
3910
- } else if (keyCode === keyMap.RIGHT) {
3911
- next = "next";
3912
- } else if (keyCode === keyMap.TAB) {
3913
- (_a = active2.targetEl) == null ? void 0 : _a.focus();
3914
- (_b = active2.hide) == null ? void 0 : _b.call(active2, false);
3915
- }
3908
+ const next = getNavigationIndex(keyCode);
3916
3909
  if (~next) {
3917
3910
  e.preventDefault();
3918
- (_c = active2.hide) == null ? void 0 : _c.call(active2, false);
3911
+ (_a = active2.hide) == null ? void 0 : _a.call(active2, false);
3919
3912
  toggles[getIndex(next, toggles, toggles.indexOf(active2.targetEl || current))].focus();
3913
+ } else if (keyCode === keyMap.TAB) {
3914
+ (_b = active2.targetEl) == null ? void 0 : _b.focus();
3915
+ (_c = active2.hide) == null ? void 0 : _c.call(active2, false);
3920
3916
  }
3921
3917
  }
3922
3918
  function preventInitialPointerEnter(el) {
@@ -5285,7 +5281,7 @@
5285
5281
  } else {
5286
5282
  css(this.$el, "display", "block");
5287
5283
  }
5288
- height(this.$el);
5284
+ height$1(this.$el);
5289
5285
  }
5290
5286
  },
5291
5287
  {
@@ -5522,7 +5518,7 @@
5522
5518
  this.clsSidebarAnimation,
5523
5519
  this.mode === "reveal" ? "" : this.clsMode
5524
5520
  );
5525
- height(body);
5521
+ height$1(body);
5526
5522
  addClass(body, this.clsContainerAnimation);
5527
5523
  this.clsContainerAnimation && suppressUserScale();
5528
5524
  }
@@ -5608,6 +5604,9 @@
5608
5604
  events: ["resize"]
5609
5605
  }
5610
5606
  };
5607
+ function height(el) {
5608
+ return dimensions(el).height - boxModelAdjust(el, "height", css(el, "boxSizing"));
5609
+ }
5611
5610
 
5612
5611
  var overflowFade = {
5613
5612
  data: {
@@ -6040,12 +6039,12 @@
6040
6039
  ],
6041
6040
  update: [
6042
6041
  {
6043
- read({ height: height$1, width, margin, sticky }, types) {
6042
+ read({ height, width, margin, sticky }, types) {
6044
6043
  this.inactive = !this.matchMedia || !isVisible(this.$el) || !this.$el.offsetHeight;
6045
6044
  if (this.inactive) {
6046
6045
  return;
6047
6046
  }
6048
- const dynamicViewport = height(window);
6047
+ const dynamicViewport = height$1(window);
6049
6048
  const maxScrollHeight = Math.max(
6050
6049
  0,
6051
6050
  document.scrollingElement.scrollHeight - dynamicViewport
@@ -6060,7 +6059,7 @@
6060
6059
  this.hide();
6061
6060
  }
6062
6061
  if (!this.active) {
6063
- ({ height: height$1, width } = dimensions(this.$el));
6062
+ ({ height, width } = dimensions(this.$el));
6064
6063
  margin = css(this.$el, "margin");
6065
6064
  }
6066
6065
  if (hide) {
@@ -6068,17 +6067,17 @@
6068
6067
  }
6069
6068
  const viewport2 = toPx("100vh", "height");
6070
6069
  let position = this.position;
6071
- if (this.overflowFlip && height$1 > viewport2) {
6070
+ if (this.overflowFlip && height > viewport2) {
6072
6071
  position = position === "top" ? "bottom" : "top";
6073
6072
  }
6074
6073
  const referenceElement = this.isFixed ? this.placeholder : this.$el;
6075
6074
  let [offset$1, offsetEnd] = [this.offset, this.offsetEnd].map(
6076
6075
  (value) => toPx(value, "height", sticky ? this.$el : referenceElement)
6077
6076
  );
6078
- if (position === "bottom" && (height$1 < dynamicViewport || this.overflowFlip)) {
6079
- offset$1 += dynamicViewport - height$1;
6077
+ if (position === "bottom" && (height < dynamicViewport || this.overflowFlip)) {
6078
+ offset$1 += dynamicViewport - height;
6080
6079
  }
6081
- const elementBox = height$1 + offset$1 + offsetEnd;
6080
+ const elementBox = height + offset$1 + offsetEnd;
6082
6081
  const overflow = this.overflowFlip ? 0 : Math.max(0, elementBox - viewport2);
6083
6082
  const topOffset = offset(referenceElement).top - // offset possible `transform: translateY` animation 'uk-animation-slide-top' while hiding
6084
6083
  new DOMMatrix(css(referenceElement, "transform")).m42;
@@ -6086,7 +6085,7 @@
6086
6085
  const start = (this.start === false ? topOffset : parseProp(this.start, this.$el, topOffset)) - offset$1;
6087
6086
  const end = this.end === false ? maxScrollHeight : Math.min(
6088
6087
  maxScrollHeight,
6089
- parseProp(this.end, this.$el, topOffset + height$1, true) - elHeight - offset$1 + overflow
6088
+ parseProp(this.end, this.$el, topOffset + height, true) - elHeight - offset$1 + overflow
6090
6089
  );
6091
6090
  sticky = !this.showOnUp && start + offset$1 === topOffset && end === Math.min(
6092
6091
  maxScrollHeight,
@@ -6097,7 +6096,7 @@
6097
6096
  end,
6098
6097
  offset: offset$1,
6099
6098
  overflow,
6100
- height: height$1,
6099
+ height,
6101
6100
  elHeight,
6102
6101
  width,
6103
6102
  margin,
@@ -6478,7 +6477,11 @@
6478
6477
  handler(e) {
6479
6478
  const { current, keyCode } = e;
6480
6479
  const isVertical = matches(this.$el, this.selVertical);
6481
- let i = keyCode === keyMap.HOME ? 0 : keyCode === keyMap.END ? "last" : keyCode === keyMap.LEFT && !isVertical || keyCode === keyMap.UP && isVertical ? "previous" : keyCode === keyMap.RIGHT && !isVertical || keyCode === keyMap.DOWN && isVertical ? "next" : -1;
6480
+ const i = getNavigationIndex(
6481
+ keyCode,
6482
+ isVertical ? keyMap.UP : keyMap.LEFT,
6483
+ isVertical ? keyMap.DOWN : keyMap.RIGHT
6484
+ );
6482
6485
  if (~i) {
6483
6486
  e.preventDefault();
6484
6487
  const next = this.toggles[this.next(i, this.toggles.indexOf(current))];