uikit 3.25.23-dev.2ad20f7 → 3.25.23-dev.9ebc131

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 (62) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/build.js +1 -2
  3. package/build/scss.js +83 -54
  4. package/dist/css/uikit-core-rtl.css +1 -1
  5. package/dist/css/uikit-core-rtl.min.css +1 -1
  6. package/dist/css/uikit-core.css +1 -1
  7. package/dist/css/uikit-core.min.css +1 -1
  8. package/dist/css/uikit-rtl.css +1 -1
  9. package/dist/css/uikit-rtl.min.css +1 -1
  10. package/dist/css/uikit.css +1 -1
  11. package/dist/css/uikit.min.css +1 -1
  12. package/dist/js/components/countdown.js +2 -2
  13. package/dist/js/components/countdown.min.js +1 -1
  14. package/dist/js/components/filter.js +4 -4
  15. package/dist/js/components/filter.min.js +1 -1
  16. package/dist/js/components/lightbox-panel.js +326 -37
  17. package/dist/js/components/lightbox-panel.min.js +1 -1
  18. package/dist/js/components/lightbox.js +326 -37
  19. package/dist/js/components/lightbox.min.js +1 -1
  20. package/dist/js/components/notification.js +1 -1
  21. package/dist/js/components/notification.min.js +1 -1
  22. package/dist/js/components/parallax.js +1 -1
  23. package/dist/js/components/parallax.min.js +1 -1
  24. package/dist/js/components/slider-parallax.js +1 -1
  25. package/dist/js/components/slider-parallax.min.js +1 -1
  26. package/dist/js/components/slider.js +195 -195
  27. package/dist/js/components/slider.min.js +1 -1
  28. package/dist/js/components/slideshow-parallax.js +1 -1
  29. package/dist/js/components/slideshow-parallax.min.js +1 -1
  30. package/dist/js/components/slideshow.js +4 -9
  31. package/dist/js/components/slideshow.min.js +1 -1
  32. package/dist/js/components/sortable.js +1 -1
  33. package/dist/js/components/sortable.min.js +1 -1
  34. package/dist/js/components/tooltip.js +6 -4
  35. package/dist/js/components/tooltip.min.js +1 -1
  36. package/dist/js/components/upload.js +1 -1
  37. package/dist/js/components/upload.min.js +1 -1
  38. package/dist/js/uikit-core.js +110 -102
  39. package/dist/js/uikit-core.min.js +1 -1
  40. package/dist/js/uikit-icons.js +1 -1
  41. package/dist/js/uikit-icons.min.js +1 -1
  42. package/dist/js/uikit.js +109 -104
  43. package/dist/js/uikit.min.js +1 -1
  44. package/package.json +1 -1
  45. package/src/js/api/app.js +2 -4
  46. package/src/js/api/component.js +12 -8
  47. package/src/js/api/observables.js +2 -4
  48. package/src/js/api/props.js +1 -2
  49. package/src/js/components/countdown.js +1 -1
  50. package/src/js/components/slider.js +1 -1
  51. package/src/js/components/slideshow.js +0 -5
  52. package/src/js/components/tooltip.js +4 -2
  53. package/src/js/core/accordion.js +11 -7
  54. package/src/js/core/drop.js +10 -32
  55. package/src/js/core/dropnav.js +1 -1
  56. package/src/js/core/form-custom.js +1 -1
  57. package/src/js/core/img.js +2 -7
  58. package/src/js/core/overflow-fade.js +6 -5
  59. package/src/js/mixin/event.js +31 -0
  60. package/src/js/mixin/modal.js +26 -34
  61. package/src/js/mixin/svg.js +1 -1
  62. package/src/js/util/event.js +1 -5
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.23-dev.2ad20f7 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.23-dev.9ebc131 | 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')) :
@@ -90,7 +90,7 @@
90
90
  if (el.textContent !== digits) {
91
91
  digits = digits.split("");
92
92
  if (digits.length !== el.children.length) {
93
- uikitUtil.html(el, digits.map(() => "<span></span>").join(""));
93
+ uikitUtil.html(el, "<span></span>".repeat(digits.length));
94
94
  }
95
95
  digits.forEach((digit, i) => el.children[i].textContent = digit);
96
96
  }
@@ -1 +1 @@
1
- /*! UIkit 3.25.23-dev.2ad20f7 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],n):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=n(t.UIkit.util))})(this,(function(t){"use strict";var n={connected(){this._cmpCls=t.hasClass(this.$el,this.$options.id),t.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||t.removeClass(this.$el,this.$options.id)}};const r=["days","hours","minutes","seconds"];var d={mixins:[n],props:{date:String,clsWrapper:String,role:String,reload:Boolean},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer",reload:!1},connected(){this.$el.role=this.role,this.date=t.toFloat(Date.parse(this.$props.date)),this.started=this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el:()=>document,handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update()},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total?this.timer||(this.started=!0,this.timer=setInterval(this.update,1e3),t.trigger(this.$el,"countdownstart")):(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0,this.reload&&this.started&&window.location.reload()));for(const e of r){const i=t.$(this.clsWrapper.replace("%unit%",e),this.$el);if(!i)continue;let s=Math.trunc(o[e]).toString().padStart(2,"0");i.textContent!==s&&(s=s.split(""),s.length!==i.children.length&&t.html(i,s.map(()=>"<span></span>").join("")),s.forEach((l,c)=>i.children[c].textContent=l))}}}};function a(o){const e=Math.max(0,o-Date.now())/1e3;return{total:e,seconds:e%60,minutes:e/60%60,hours:e/60/60%24,days:e/60/60/24}}var h="countdown";return typeof window<"u"&&window.UIkit&&window.UIkit.component(h,d),d}));
1
+ /*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],n):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=n(t.UIkit.util))})(this,(function(t){"use strict";var n={connected(){this._cmpCls=t.hasClass(this.$el,this.$options.id),t.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||t.removeClass(this.$el,this.$options.id)}};const r=["days","hours","minutes","seconds"];var d={mixins:[n],props:{date:String,clsWrapper:String,role:String,reload:Boolean},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer",reload:!1},connected(){this.$el.role=this.role,this.date=t.toFloat(Date.parse(this.$props.date)),this.started=this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el:()=>document,handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update()},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total?this.timer||(this.started=!0,this.timer=setInterval(this.update,1e3),t.trigger(this.$el,"countdownstart")):(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0,this.reload&&this.started&&window.location.reload()));for(const e of r){const i=t.$(this.clsWrapper.replace("%unit%",e),this.$el);if(!i)continue;let s=Math.trunc(o[e]).toString().padStart(2,"0");i.textContent!==s&&(s=s.split(""),s.length!==i.children.length&&t.html(i,"<span></span>".repeat(s.length)),s.forEach((l,c)=>i.children[c].textContent=l))}}}};function a(o){const e=Math.max(0,o-Date.now())/1e3;return{total:e,seconds:e%60,minutes:e/60%60,hours:e/60/60%24,days:e/60/60/24}}var h="countdown";return typeof window<"u"&&window.UIkit&&window.UIkit.component(h,d),d}));
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.23-dev.2ad20f7 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.23-dev.9ebc131 | 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')) :
@@ -364,15 +364,15 @@
364
364
  }
365
365
  };
366
366
 
367
+ const keyMap = {
368
+ SPACE: 32};
369
+
367
370
  function maybeDefaultPreventClick(e) {
368
371
  if (e.target.closest('a[href="#"],a[href=""]')) {
369
372
  e.preventDefault();
370
373
  }
371
374
  }
372
375
 
373
- const keyMap = {
374
- SPACE: 32};
375
-
376
376
  var Component = {
377
377
  mixins: [Animate],
378
378
  args: "target",
@@ -1 +1 @@
1
- /*! UIkit 3.25.23-dev.2ad20f7 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(n,v){typeof exports=="object"&&typeof module<"u"?module.exports=v(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],v):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitFilter=v(n.UIkit.util))})(this,(function(n){"use strict";function v(e,s=[]){try{return e?n.startsWith(e,"{")?JSON.parse(e):s.length&&!n.includes(e,":")?{[s[0]]:e}:e.split(";").reduce((o,t)=>{const[c,r]=t.split(/:(.*)/);return c&&!n.isUndefined(r)&&(o[c.trim()]=r.trim()),o},{}):{}}catch{return{}}}function N(e,s="update"){e._connected&&e._updates.length&&(e._updateCount||(e._updateCount=0,requestAnimationFrame(()=>e._updateCount=0)),e._queued||(e._queued=new Set,n.fastdom.read(()=>{e._connected&&O(e,e._queued),e._queued=null})),e._updateCount++<20&&e._queued.add(s.type||s))}function O(e,s){for(const{read:o,write:t,events:c=[]}of e._updates){if(!s.has("update")&&!c.some(a=>s.has(a)))continue;let r;o&&(r=o.call(e,e._data,s),r&&n.isPlainObject(r)&&n.assign(e._data,r)),t&&r!==!1&&n.fastdom.write(()=>{e._connected&&t.call(e,e._data,s)})}}function j(e){return I(n.observeResize,e,"resize")}function $(e){return I(n.observeMutation,e)}function I(e,s,o){return{observe:e,handler(){N(this,o)},...s}}$({options:{childList:!0}}),$({options:{attributes:!0,attributeFilter:["style"]}}),j({handler(e){for(const{target:s,borderBoxSize:[{inlineSize:o,blockSize:t}]}of e)if(s===this.$el&&!o&&!t)return;this.$emit("resize")},target:({$el:e})=>[e,...n.children(e)]});function B(e){const s=[[]],o=e.some((t,c)=>c&&e[c-1].offsetParent!==t.offsetParent);for(const t of e){if(!n.isVisible(t))continue;const c=P(t,o);for(let r=s.length-1;r>=0;r--){const a=s[r];if(!a[0]){a.push(t);break}const d=P(a[0],o);if(c.top>=d.bottom-1&&c.top!==d.top){s.push([t]);break}if(c.bottom-1>d.top||c.top===d.top){let h=a.length-1;for(;h>=0;h--){const l=P(a[h],o);if(c.left>=l.left)break}a.splice(h+1,0,t);break}if(r===0){s.unshift([t]);break}}}return s}function P(e,s=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:c,offsetWidth:r}=e;return s&&([o,t]=n.offsetPosition(e)),{top:o,left:t,bottom:o+c,right:t+r}}function F(){return new Promise(e=>requestAnimationFrame(e))}function g(e){return new Promise(s=>setTimeout(s,e))}const C="uk-transition-leave",S="uk-transition-enter";function _(e,s,o,t=0){const c=T(s,!0),r={opacity:1},a={opacity:0},d=()=>c===T(s),h=p=>()=>d()?p():Promise.reject(),l=h(async()=>{n.addClass(s,C),await(t?q(s).reduce(async(p,i,u,w)=>{if(await p,!n.isInView(i)||!d()){n.css(i,a);return}await g(t);const f=n.Transition.start(i,a,o/2,"ease");w.length-1===u&&await f},Promise.resolve()):n.Transition.start(s,a,o/2,"ease")),n.removeClass(s,C)}),y=h(async()=>{const p=n.height(s);n.addClass(s,S),e(),n.css(t?n.children(s):s,a),n.height(s,p),await g(),n.height(s,"");const i=n.height(s);n.css(s,"alignContent","flex-start"),n.height(s,p);let u=[],w=o/2;if(t){const f=q(s);n.css(n.children(s),a),u=f.reduce(async(m,b,Z,k)=>{if(await m,!n.isInView(b)||!d()){n.resetProps(b,r);return}await g(t);const U=n.Transition.start(b,r,o/2,"ease").then(()=>d()&&n.resetProps(b,r));k.length-1===Z&&await U},Promise.resolve()),w+=f.length*t}if(!t||p!==i){const f={height:i,...t?{}:r};u.push(n.Transition.start(s,f,w,"ease"))}await Promise.all(u),n.removeClass(s,S),d()&&(n.resetProps(s,{height:"",alignContent:"",...r}),delete s.dataset.transition)});return n.hasClass(s,C)?x(s).then(y):n.hasClass(s,S)?x(s).then(l).then(y):l().then(y)}function T(e,s){return s&&(e.dataset.transition=1+T(e)),n.toNumber(e.dataset.transition)||0}function x(e){return Promise.all(n.children(e).filter(n.Transition.inProgress).map(s=>new Promise(o=>n.once(s,"transitionend transitioncanceled",o))))}function q(e){return B(n.children(e)).flat().filter(n.isVisible)}async function L(e,s,o){await F();let t=n.children(s);const c=t.map(f=>z(f,!0)),r={...n.css(s,["height","padding"]),display:"block"},a=t.filter(f=>n.isInView(f)),d=t.concat(s);await Promise.all(d.map(n.Transition.cancel)),n.css(d,"transitionProperty","none"),await e();const h=n.children(s).filter(f=>!n.includes(t,f));t=t.concat(h),await Promise.resolve(),n.css(d,"transitionProperty","");const l=n.attr(s,"style"),y=n.css(s,["height","padding"]),[p,i]=D(s,t,c),u=t.map(f=>({style:n.attr(f,"style")}));a.push(...t.filter(f=>n.isInView(f))),t.forEach((f,m)=>i[m]&&n.css(f,i[m])),n.css(s,r),n.trigger(s,"scroll"),await F();const w=t.map((f,m)=>{if(n.parent(f)===s&&a.includes(f))return n.Transition.start(f,p[m],o,"ease",!h.includes(f))}).concat(n.Transition.start(s,y,o,"ease",!0));try{await Promise.all(w),t.forEach((f,m)=>{n.attr(f,u[m]),n.parent(f)===s&&n.css(f,"display",p[m].opacity===0?"none":"")}),n.attr(s,"style",l)}catch{n.attr(t,"style",""),n.resetProps(s,r)}}function z(e,s){const o=n.css(e,"zIndex");return n.isVisible(e)?{display:"",opacity:s?n.css(e,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?n.index(e):o,...A(e)}:!1}function D(e,s,o){const t=s.map((r,a)=>n.parent(r)&&a in o?o[a]?n.isVisible(r)?A(r):{opacity:0}:{opacity:n.isVisible(r)?1:0}:!1),c=t.map((r,a)=>{const d=n.parent(s[a])===e&&(o[a]||z(s[a]));if(!d)return!1;if(!r)delete d.opacity;else if(!("opacity"in r)){const{opacity:h}=d;h%1?r.opacity=1:delete d.opacity}return d});return[t,c]}function A(e){const{height:s,width:o}=n.dimensions(e);return{height:s,width:o,transform:"",...n.position(e),...n.css(e,["marginTop","marginLeft"])}}var H={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(e,s=this.$el){const o=this.animation;return(o==="fade"?_:o==="delayed-fade"?(...c)=>_(...c,40):o?L:()=>(e(),Promise.resolve()))(e,s,this.duration).catch(n.noop)}}};function R(e){e.target.closest('a[href="#"],a[href=""]')&&e.preventDefault()}const W={SPACE:32};var E={mixins:[H],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{children:({target:e},s)=>n.$$(`${e} > *`,s),toggles:({attrItem:e},s)=>n.$$(`[${e}],[data-${e}]`,s)},watch:{toggles(e){this.updateState();const s=n.$$(this.selActive,this.$el);for(const o of e){this.selActive!==!1&&n.toggleClass(o,this.cls,n.includes(s,o));const t=X(o);n.isTag(t,"a")&&(t.role="button")}},children(e,s){s&&this.updateState()}},events:{name:"click keydown",delegate:({attrItem:e})=>`[${e}],[data-${e}]`,handler(e){e.type==="keydown"&&e.keyCode!==W.SPACE||e.target.closest("a,button")&&(R(e),this.apply(e.current))}},methods:{apply(e){const s=this.getState(),o=V(e,this.attrItem,this.getState());J(s,o)||this.setState(o)},getState(){return this.toggles.filter(e=>n.hasClass(e,this.cls)).reduce((e,s)=>V(s,this.attrItem,e),{filter:{"":""},sort:[]})},async setState(e,s=!0){e={filter:{"":""},sort:[],...e},n.trigger(this.$el,"beforeFilter",[this,e]);for(const o of this.toggles)n.toggleClass(o,this.cls,K(o,this.attrItem,e));await Promise.all(n.$$(this.target,this.$el).map(o=>{const t=()=>G(e,o,n.children(o));return s?this.animate(t,o):t()})),n.trigger(this.$el,"afterFilter",[this])},updateState(){n.fastdom.write(()=>this.setState(this.getState(),!1))}}};function M(e,s){return v(n.data(e,s),["filter"])}function J(e,s){return["filter","sort"].every(o=>n.isEqual(e[o],s[o]))}function G(e,s,o){for(const r of o)n.css(r,"display",Object.values(e.filter).every(a=>!a||n.matches(r,a))?"":"none");const[t,c]=e.sort;if(t){const r=Q(o,t,c);n.isEqual(r,o)||n.append(s,r)}}function V(e,s,o){const{filter:t,group:c,sort:r,order:a="asc"}=M(e,s);return(t||n.isUndefined(r))&&(c?t?(delete o.filter[""],o.filter[c]=t):(delete o.filter[c],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),n.isUndefined(r)||(o.sort=[r,a]),o}function K(e,s,{filter:o={"":""},sort:[t,c]}){const{filter:r="",group:a="",sort:d,order:h="asc"}=M(e,s),l=!a&&r===o[""],y=a in o&&r===o[a],p=!r&&a&&!(a in o)&&!o[""],i=l||y||p;return n.isUndefined(d)?i:t===d&&c===h&&(!(r||a)||i)}function Q(e,s,o){return[...e].sort((t,c)=>{const r=n.data(t,s)||"",a=n.data(c,s)||"";return(n.isNumeric(r)&&n.isNumeric(a)?r-a:r.localeCompare(a,void 0,{numeric:!0}))*(o==="asc"||-1)})}function X(e){return n.$("a,button",e)||e}var Y="filter";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Y,E),E}));
1
+ /*! UIkit 3.25.23-dev.9ebc131 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(n,v){typeof exports=="object"&&typeof module<"u"?module.exports=v(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],v):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitFilter=v(n.UIkit.util))})(this,(function(n){"use strict";function v(e,s=[]){try{return e?n.startsWith(e,"{")?JSON.parse(e):s.length&&!n.includes(e,":")?{[s[0]]:e}:e.split(";").reduce((o,t)=>{const[c,r]=t.split(/:(.*)/);return c&&!n.isUndefined(r)&&(o[c.trim()]=r.trim()),o},{}):{}}catch{return{}}}function N(e,s="update"){e._connected&&e._updates.length&&(e._updateCount||(e._updateCount=0,requestAnimationFrame(()=>e._updateCount=0)),e._queued||(e._queued=new Set,n.fastdom.read(()=>{e._connected&&O(e,e._queued),e._queued=null})),e._updateCount++<20&&e._queued.add(s.type||s))}function O(e,s){for(const{read:o,write:t,events:c=[]}of e._updates){if(!s.has("update")&&!c.some(a=>s.has(a)))continue;let r;o&&(r=o.call(e,e._data,s),r&&n.isPlainObject(r)&&n.assign(e._data,r)),t&&r!==!1&&n.fastdom.write(()=>{e._connected&&t.call(e,e._data,s)})}}function j(e){return I(n.observeResize,e,"resize")}function $(e){return I(n.observeMutation,e)}function I(e,s,o){return{observe:e,handler(){N(this,o)},...s}}$({options:{childList:!0}}),$({options:{attributes:!0,attributeFilter:["style"]}}),j({handler(e){for(const{target:s,borderBoxSize:[{inlineSize:o,blockSize:t}]}of e)if(s===this.$el&&!o&&!t)return;this.$emit("resize")},target:({$el:e})=>[e,...n.children(e)]});function B(e){const s=[[]],o=e.some((t,c)=>c&&e[c-1].offsetParent!==t.offsetParent);for(const t of e){if(!n.isVisible(t))continue;const c=P(t,o);for(let r=s.length-1;r>=0;r--){const a=s[r];if(!a[0]){a.push(t);break}const d=P(a[0],o);if(c.top>=d.bottom-1&&c.top!==d.top){s.push([t]);break}if(c.bottom-1>d.top||c.top===d.top){let h=a.length-1;for(;h>=0;h--){const l=P(a[h],o);if(c.left>=l.left)break}a.splice(h+1,0,t);break}if(r===0){s.unshift([t]);break}}}return s}function P(e,s=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:c,offsetWidth:r}=e;return s&&([o,t]=n.offsetPosition(e)),{top:o,left:t,bottom:o+c,right:t+r}}function F(){return new Promise(e=>requestAnimationFrame(e))}function g(e){return new Promise(s=>setTimeout(s,e))}const C="uk-transition-leave",S="uk-transition-enter";function _(e,s,o,t=0){const c=T(s,!0),r={opacity:1},a={opacity:0},d=()=>c===T(s),h=p=>()=>d()?p():Promise.reject(),l=h(async()=>{n.addClass(s,C),await(t?q(s).reduce(async(p,i,u,w)=>{if(await p,!n.isInView(i)||!d()){n.css(i,a);return}await g(t);const f=n.Transition.start(i,a,o/2,"ease");w.length-1===u&&await f},Promise.resolve()):n.Transition.start(s,a,o/2,"ease")),n.removeClass(s,C)}),y=h(async()=>{const p=n.height(s);n.addClass(s,S),e(),n.css(t?n.children(s):s,a),n.height(s,p),await g(),n.height(s,"");const i=n.height(s);n.css(s,"alignContent","flex-start"),n.height(s,p);let u=[],w=o/2;if(t){const f=q(s);n.css(n.children(s),a),u=f.reduce(async(m,b,Z,k)=>{if(await m,!n.isInView(b)||!d()){n.resetProps(b,r);return}await g(t);const U=n.Transition.start(b,r,o/2,"ease").then(()=>d()&&n.resetProps(b,r));k.length-1===Z&&await U},Promise.resolve()),w+=f.length*t}if(!t||p!==i){const f={height:i,...t?{}:r};u.push(n.Transition.start(s,f,w,"ease"))}await Promise.all(u),n.removeClass(s,S),d()&&(n.resetProps(s,{height:"",alignContent:"",...r}),delete s.dataset.transition)});return n.hasClass(s,C)?x(s).then(y):n.hasClass(s,S)?x(s).then(l).then(y):l().then(y)}function T(e,s){return s&&(e.dataset.transition=1+T(e)),n.toNumber(e.dataset.transition)||0}function x(e){return Promise.all(n.children(e).filter(n.Transition.inProgress).map(s=>new Promise(o=>n.once(s,"transitionend transitioncanceled",o))))}function q(e){return B(n.children(e)).flat().filter(n.isVisible)}async function L(e,s,o){await F();let t=n.children(s);const c=t.map(f=>z(f,!0)),r={...n.css(s,["height","padding"]),display:"block"},a=t.filter(f=>n.isInView(f)),d=t.concat(s);await Promise.all(d.map(n.Transition.cancel)),n.css(d,"transitionProperty","none"),await e();const h=n.children(s).filter(f=>!n.includes(t,f));t=t.concat(h),await Promise.resolve(),n.css(d,"transitionProperty","");const l=n.attr(s,"style"),y=n.css(s,["height","padding"]),[p,i]=D(s,t,c),u=t.map(f=>({style:n.attr(f,"style")}));a.push(...t.filter(f=>n.isInView(f))),t.forEach((f,m)=>i[m]&&n.css(f,i[m])),n.css(s,r),n.trigger(s,"scroll"),await F();const w=t.map((f,m)=>{if(n.parent(f)===s&&a.includes(f))return n.Transition.start(f,p[m],o,"ease",!h.includes(f))}).concat(n.Transition.start(s,y,o,"ease",!0));try{await Promise.all(w),t.forEach((f,m)=>{n.attr(f,u[m]),n.parent(f)===s&&n.css(f,"display",p[m].opacity===0?"none":"")}),n.attr(s,"style",l)}catch{n.attr(t,"style",""),n.resetProps(s,r)}}function z(e,s){const o=n.css(e,"zIndex");return n.isVisible(e)?{display:"",opacity:s?n.css(e,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?n.index(e):o,...A(e)}:!1}function D(e,s,o){const t=s.map((r,a)=>n.parent(r)&&a in o?o[a]?n.isVisible(r)?A(r):{opacity:0}:{opacity:n.isVisible(r)?1:0}:!1),c=t.map((r,a)=>{const d=n.parent(s[a])===e&&(o[a]||z(s[a]));if(!d)return!1;if(!r)delete d.opacity;else if(!("opacity"in r)){const{opacity:h}=d;h%1?r.opacity=1:delete d.opacity}return d});return[t,c]}function A(e){const{height:s,width:o}=n.dimensions(e);return{height:s,width:o,transform:"",...n.position(e),...n.css(e,["marginTop","marginLeft"])}}var H={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(e,s=this.$el){const o=this.animation;return(o==="fade"?_:o==="delayed-fade"?(...c)=>_(...c,40):o?L:()=>(e(),Promise.resolve()))(e,s,this.duration).catch(n.noop)}}};const R={SPACE:32};function W(e){e.target.closest('a[href="#"],a[href=""]')&&e.preventDefault()}var E={mixins:[H],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{children:({target:e},s)=>n.$$(`${e} > *`,s),toggles:({attrItem:e},s)=>n.$$(`[${e}],[data-${e}]`,s)},watch:{toggles(e){this.updateState();const s=n.$$(this.selActive,this.$el);for(const o of e){this.selActive!==!1&&n.toggleClass(o,this.cls,n.includes(s,o));const t=X(o);n.isTag(t,"a")&&(t.role="button")}},children(e,s){s&&this.updateState()}},events:{name:"click keydown",delegate:({attrItem:e})=>`[${e}],[data-${e}]`,handler(e){e.type==="keydown"&&e.keyCode!==R.SPACE||e.target.closest("a,button")&&(W(e),this.apply(e.current))}},methods:{apply(e){const s=this.getState(),o=V(e,this.attrItem,this.getState());J(s,o)||this.setState(o)},getState(){return this.toggles.filter(e=>n.hasClass(e,this.cls)).reduce((e,s)=>V(s,this.attrItem,e),{filter:{"":""},sort:[]})},async setState(e,s=!0){e={filter:{"":""},sort:[],...e},n.trigger(this.$el,"beforeFilter",[this,e]);for(const o of this.toggles)n.toggleClass(o,this.cls,K(o,this.attrItem,e));await Promise.all(n.$$(this.target,this.$el).map(o=>{const t=()=>G(e,o,n.children(o));return s?this.animate(t,o):t()})),n.trigger(this.$el,"afterFilter",[this])},updateState(){n.fastdom.write(()=>this.setState(this.getState(),!1))}}};function M(e,s){return v(n.data(e,s),["filter"])}function J(e,s){return["filter","sort"].every(o=>n.isEqual(e[o],s[o]))}function G(e,s,o){for(const r of o)n.css(r,"display",Object.values(e.filter).every(a=>!a||n.matches(r,a))?"":"none");const[t,c]=e.sort;if(t){const r=Q(o,t,c);n.isEqual(r,o)||n.append(s,r)}}function V(e,s,o){const{filter:t,group:c,sort:r,order:a="asc"}=M(e,s);return(t||n.isUndefined(r))&&(c?t?(delete o.filter[""],o.filter[c]=t):(delete o.filter[c],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),n.isUndefined(r)||(o.sort=[r,a]),o}function K(e,s,{filter:o={"":""},sort:[t,c]}){const{filter:r="",group:a="",sort:d,order:h="asc"}=M(e,s),l=!a&&r===o[""],y=a in o&&r===o[a],p=!r&&a&&!(a in o)&&!o[""],i=l||y||p;return n.isUndefined(d)?i:t===d&&c===h&&(!(r||a)||i)}function Q(e,s,o){return[...e].sort((t,c)=>{const r=n.data(t,s)||"",a=n.data(c,s)||"";return(n.isNumeric(r)&&n.isNumeric(a)?r-a:r.localeCompare(a,void 0,{numeric:!0}))*(o==="asc"||-1)})}function X(e){return n.$("a,button",e)||e}var Y="filter";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Y,E),E}));
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.23-dev.2ad20f7 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.23-dev.9ebc131 | 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')) :
@@ -117,10 +117,7 @@
117
117
  } else {
118
118
  sources = parseOptions(sources);
119
119
  }
120
- if (!util.isArray(sources)) {
121
- sources = [sources];
122
- }
123
- return sources.filter((source) => !util.isEmpty(source));
120
+ return (util.isArray(sources) ? sources : [sources]).filter((source) => !util.isEmpty(source));
124
121
  }
125
122
 
126
123
  function awaitFrame() {
@@ -206,11 +203,314 @@
206
203
  }
207
204
  };
208
205
 
206
+ const inBrowser = typeof window !== "undefined";
207
+ const hasTouch = inBrowser && "ontouchstart" in window;
208
+ const hasPointerEvents = inBrowser && window.PointerEvent;
209
+ const pointerDown$1 = hasPointerEvents ? "pointerdown" : hasTouch ? "touchstart" : "mousedown";
210
+ const pointerUp$1 = hasPointerEvents ? "pointerup" : hasTouch ? "touchend" : "mouseup";
211
+ const pointerCancel = hasPointerEvents ? "pointercancel" : "touchcancel";
212
+
213
+ const { isArray, from: toArray } = Array;
214
+ function isFunction(obj) {
215
+ return typeof obj === "function";
216
+ }
217
+ function isObject(obj) {
218
+ return obj !== null && typeof obj === "object";
219
+ }
220
+ function isWindow(obj) {
221
+ return isObject(obj) && obj === obj.window;
222
+ }
223
+ function isDocument(obj) {
224
+ return nodeType(obj) === 9;
225
+ }
226
+ function isNode(obj) {
227
+ return nodeType(obj) >= 1;
228
+ }
229
+ function nodeType(obj) {
230
+ return !isWindow(obj) && isObject(obj) && obj.nodeType;
231
+ }
232
+ function isString(value) {
233
+ return typeof value === "string";
234
+ }
235
+ function isUndefined(value) {
236
+ return value === void 0;
237
+ }
238
+ function toNode(element) {
239
+ return element && toNodes(element)[0];
240
+ }
241
+ function toNodes(element) {
242
+ return isNode(element) ? [element] : Array.from(element || []).filter(isNode);
243
+ }
244
+ function memoize(fn) {
245
+ const cache = /* @__PURE__ */ Object.create(null);
246
+ return (key, ...args) => cache[key] || (cache[key] = fn(key, ...args));
247
+ }
248
+
249
+ function attr(element, name, value) {
250
+ var _a;
251
+ if (isObject(name)) {
252
+ for (const key in name) {
253
+ attr(element, key, name[key]);
254
+ }
255
+ return;
256
+ }
257
+ if (isUndefined(value)) {
258
+ return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);
259
+ } else {
260
+ for (const el of toNodes(element)) {
261
+ if (value === null) {
262
+ removeAttr(el, name);
263
+ } else {
264
+ el.setAttribute(name, value);
265
+ }
266
+ }
267
+ }
268
+ }
269
+ function removeAttr(element, name) {
270
+ toNodes(element).forEach((element2) => element2.removeAttribute(name));
271
+ }
272
+
273
+ function parent(element) {
274
+ var _a;
275
+ return (_a = toNode(element)) == null ? void 0 : _a.parentElement;
276
+ }
277
+ function filter(element, selector) {
278
+ return toNodes(element).filter((element2) => matches(element2, selector));
279
+ }
280
+ function matches(element, selector) {
281
+ return toNodes(element).some((element2) => element2.matches(selector));
282
+ }
283
+ function children(element, selector) {
284
+ element = toNode(element);
285
+ const children2 = element ? toArray(element.children) : [];
286
+ return selector ? filter(children2, selector) : children2;
287
+ }
288
+ function index(element, ref) {
289
+ return children(parent(element)).indexOf(element);
290
+ }
291
+
292
+ function findAll(selector, context) {
293
+ return toNodes(_query(selector, toNode(context), "querySelectorAll"));
294
+ }
295
+ const addStarRe = /([!>+~-])(?=\s+[!>+~-]|\s*$)/g;
296
+ const splitSelectorRe = /(\([^)]*\)|[^,])+/g;
297
+ const parseSelector = memoize((selector) => {
298
+ let isContextSelector = false;
299
+ if (!selector || !isString(selector)) {
300
+ return {};
301
+ }
302
+ const selectors = [];
303
+ for (let sel of selector.match(splitSelectorRe)) {
304
+ sel = sel.trim().replace(addStarRe, "$1 *");
305
+ isContextSelector || (isContextSelector = ["!", "+", "~", "-", ">"].includes(sel[0]));
306
+ selectors.push(sel);
307
+ }
308
+ return {
309
+ selector: selectors.join(","),
310
+ selectors,
311
+ isContextSelector
312
+ };
313
+ });
314
+ const positionRe = /(\([^)]*\)|\S)*/;
315
+ const parsePositionSelector = memoize((selector) => {
316
+ selector = selector.slice(1).trim();
317
+ const [position] = selector.match(positionRe);
318
+ return [position, selector.slice(position.length + 1)];
319
+ });
320
+ function _query(selector, context = document, queryFn) {
321
+ var _a;
322
+ const parsed = parseSelector(selector);
323
+ if (!parsed.isContextSelector) {
324
+ return parsed.selector ? _doQuery(context, queryFn, parsed.selector) : selector;
325
+ }
326
+ selector = "";
327
+ const isSingle = parsed.selectors.length === 1;
328
+ for (let sel of parsed.selectors) {
329
+ let positionSel;
330
+ let ctx = context;
331
+ if (sel[0] === "!") {
332
+ [positionSel, sel] = parsePositionSelector(sel);
333
+ ctx = (_a = context.parentElement) == null ? void 0 : _a.closest(positionSel);
334
+ if (!sel && isSingle) {
335
+ return ctx;
336
+ }
337
+ }
338
+ if (ctx && sel[0] === "-") {
339
+ [positionSel, sel] = parsePositionSelector(sel);
340
+ ctx = ctx.previousElementSibling;
341
+ ctx = matches(ctx, positionSel) ? ctx : null;
342
+ if (!sel && isSingle) {
343
+ return ctx;
344
+ }
345
+ }
346
+ if (!ctx) {
347
+ continue;
348
+ }
349
+ if (isSingle) {
350
+ if (sel[0] === "~" || sel[0] === "+") {
351
+ sel = `:scope > :nth-child(${index(ctx) + 1}) ${sel}`;
352
+ ctx = ctx.parentElement;
353
+ } else if (sel[0] === ">") {
354
+ sel = `:scope ${sel}`;
355
+ }
356
+ return _doQuery(ctx, queryFn, sel);
357
+ }
358
+ selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
359
+ }
360
+ if (!isDocument(context)) {
361
+ context = context.ownerDocument;
362
+ }
363
+ return _doQuery(context, queryFn, selector);
364
+ }
365
+ function _doQuery(context, queryFn, selector) {
366
+ try {
367
+ return context[queryFn](selector);
368
+ } catch {
369
+ return null;
370
+ }
371
+ }
372
+ function domPath(element) {
373
+ const names = [];
374
+ while (element.parentNode) {
375
+ const id = attr(element, "id");
376
+ if (id) {
377
+ names.unshift(`#${escape(id)}`);
378
+ break;
379
+ } else {
380
+ let { tagName } = element;
381
+ if (tagName !== "HTML") {
382
+ tagName += `:nth-child(${index(element) + 1})`;
383
+ }
384
+ names.unshift(tagName);
385
+ element = element.parentNode;
386
+ }
387
+ }
388
+ return names.join(" > ");
389
+ }
390
+ function escape(css) {
391
+ return isString(css) ? CSS.escape(css) : "";
392
+ }
393
+
394
+ function on(...args) {
395
+ let [targets, types, selector, listener, useCapture = false] = getArgs(args);
396
+ if (listener.length > 1) {
397
+ listener = detail(listener);
398
+ }
399
+ if (useCapture == null ? void 0 : useCapture.self) {
400
+ listener = selfFilter(listener);
401
+ }
402
+ if (selector) {
403
+ listener = delegate(selector, listener);
404
+ }
405
+ for (const type of types) {
406
+ for (const target of targets) {
407
+ target.addEventListener(type, listener, useCapture);
408
+ }
409
+ }
410
+ return () => off(targets, types, listener, useCapture);
411
+ }
412
+ function off(...args) {
413
+ let [targets, types, , listener, useCapture = false] = getArgs(args);
414
+ for (const type of types) {
415
+ for (const target of targets) {
416
+ target.removeEventListener(type, listener, useCapture);
417
+ }
418
+ }
419
+ }
420
+ function once(...args) {
421
+ const [element, types, selector, listener, useCapture = false, condition] = getArgs(args);
422
+ const off2 = on(
423
+ element,
424
+ types,
425
+ selector,
426
+ (e) => {
427
+ const result = !condition || condition(e);
428
+ if (result) {
429
+ off2();
430
+ listener(e, result);
431
+ }
432
+ },
433
+ useCapture
434
+ );
435
+ return off2;
436
+ }
437
+ function getArgs(args) {
438
+ args[0] = toEventTargets(args[0]);
439
+ if (isString(args[1])) {
440
+ args[1] = args[1].split(" ");
441
+ }
442
+ if (isFunction(args[2])) {
443
+ args.splice(2, 0, false);
444
+ }
445
+ return args;
446
+ }
447
+ function delegate(selector, listener) {
448
+ return (e) => {
449
+ const current = selector[0] === ">" ? findAll(selector, e.currentTarget).reverse().find((element) => element.contains(e.target)) : e.target.closest(selector);
450
+ if (current) {
451
+ e.current = current;
452
+ listener.call(this, e);
453
+ delete e.current;
454
+ }
455
+ };
456
+ }
457
+ function detail(listener) {
458
+ return (e) => isArray(e.detail) ? listener(e, ...e.detail) : listener(e);
459
+ }
460
+ function selfFilter(listener) {
461
+ return function(e) {
462
+ if (e.target === e.currentTarget || e.target === e.current) {
463
+ return listener.call(null, e);
464
+ }
465
+ };
466
+ }
467
+ function isEventTarget(target) {
468
+ return target && "addEventListener" in target;
469
+ }
470
+ function toEventTarget(target) {
471
+ return isEventTarget(target) ? target : toNode(target);
472
+ }
473
+ function toEventTargets(target) {
474
+ return isArray(target) ? target.map(toEventTarget).filter(Boolean) : isString(target) ? findAll(target) : isEventTarget(target) ? [target] : toNodes(target);
475
+ }
476
+
477
+ const keyMap = {
478
+ ESC: 27,
479
+ SPACE: 32,
480
+ END: 35,
481
+ HOME: 36,
482
+ LEFT: 37,
483
+ RIGHT: 39};
484
+
209
485
  function maybeDefaultPreventClick(e) {
210
486
  if (e.target.closest('a[href="#"],a[href=""]')) {
211
487
  e.preventDefault();
212
488
  }
213
489
  }
490
+ function onEscape(handler, isEligible = () => true) {
491
+ return on(document, "keydown", (e) => {
492
+ if (e.keyCode === keyMap.ESC && isEligible()) {
493
+ handler(e);
494
+ }
495
+ });
496
+ }
497
+ function onOutsidePointer(handler, isOutside, isEligible) {
498
+ return on(document, pointerDown$1, ({ target }) => {
499
+ if (!isOutside(target) || isEligible && !isEligible()) {
500
+ return;
501
+ }
502
+ once(
503
+ document,
504
+ `${pointerUp$1} ${pointerCancel} scroll`,
505
+ ({ defaultPrevented, type, target: newTarget }) => {
506
+ if (!defaultPrevented && type === pointerUp$1 && target === newTarget) {
507
+ handler(target);
508
+ }
509
+ },
510
+ true
511
+ );
512
+ });
513
+ }
214
514
 
215
515
  var Togglable = {
216
516
  props: {
@@ -391,6 +691,7 @@
391
691
  }
392
692
 
393
693
  const active = [];
694
+ const pendingReject = /* @__PURE__ */ new WeakMap();
394
695
  var Modal = {
395
696
  mixins: [Class, Container, Togglable],
396
697
  props: {
@@ -545,11 +846,13 @@
545
846
  }
546
847
  };
547
848
  function animate(el, show, { transitionElement, _toggle }) {
849
+ let rejectAnimation;
548
850
  return new Promise(
549
851
  (resolve, reject) => util.once(el, "show hide", () => {
550
852
  var _a;
551
- (_a = el._reject) == null ? void 0 : _a.call(el);
552
- el._reject = reject;
853
+ (_a = pendingReject.get(el)) == null ? void 0 : _a();
854
+ rejectAnimation = reject;
855
+ pendingReject.set(el, reject);
553
856
  _toggle(el, show);
554
857
  const off = util.once(
555
858
  transitionElement,
@@ -570,10 +873,14 @@
570
873
  toMs(util.css(transitionElement, "transitionDuration"))
571
874
  );
572
875
  })
573
- ).then(() => delete el._reject);
876
+ ).then(() => {
877
+ if (pendingReject.get(el) === rejectAnimation) {
878
+ pendingReject.delete(el);
879
+ }
880
+ });
574
881
  }
575
882
  function toMs(time) {
576
- return time ? util.endsWith(time, "ms") ? util.toFloat(time) : util.toFloat(time) * 1e3 : 0;
883
+ return util.toFloat(time) * (util.endsWith(time, "ms") ? 1 : 1e3);
577
884
  }
578
885
  function preventBackgroundFocus(modal) {
579
886
  return util.on(document, "focusin", (e) => {
@@ -589,28 +896,17 @@
589
896
  });
590
897
  }
591
898
  function listenForBackgroundClose(modal) {
592
- return util.on(document, util.pointerDown, ({ target }) => {
593
- if (util.last(active) !== modal || modal.overlay && !modal.$el.contains(target) || !modal.panel || modal.panel.contains(target)) {
594
- return;
595
- }
596
- util.once(
597
- document,
598
- `${util.pointerUp} ${util.pointerCancel} scroll`,
599
- ({ defaultPrevented, type, target: newTarget }) => {
600
- if (!defaultPrevented && type === util.pointerUp && target === newTarget) {
601
- modal.hide();
602
- }
603
- },
604
- true
605
- );
606
- });
899
+ return onOutsidePointer(
900
+ () => modal.hide(),
901
+ (target) => (!modal.overlay || modal.$el.contains(target)) && Boolean(modal.panel) && !modal.panel.contains(target),
902
+ () => util.last(active) === modal
903
+ );
607
904
  }
608
905
  function listenForEscClose(modal) {
609
- return util.on(document, "keydown", (e) => {
610
- if (e.keyCode === 27 && util.last(active) === modal) {
611
- modal.hide();
612
- }
613
- });
906
+ return onEscape(
907
+ () => modal.hide(),
908
+ () => util.last(active) === modal
909
+ );
614
910
  }
615
911
  function setAriaExpanded(el, toggled) {
616
912
  if (el == null ? void 0 : el.ariaExpanded) {
@@ -926,7 +1222,7 @@
926
1222
 
927
1223
  util.memoize((id, props) => {
928
1224
  const attributes = Object.keys(props);
929
- const filter = attributes.concat(id).map((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]).flat();
1225
+ const filter = attributes.concat(id).flatMap((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]);
930
1226
  return { attributes, filter };
931
1227
  });
932
1228
 
@@ -935,13 +1231,6 @@
935
1231
  return (el == null ? void 0 : el.id) || `${instance.$options.id}-${id++}`;
936
1232
  }
937
1233
 
938
- const keyMap = {
939
- SPACE: 32,
940
- END: 35,
941
- HOME: 36,
942
- LEFT: 37,
943
- RIGHT: 39};
944
-
945
1234
  var SliderNav = {
946
1235
  i18n: {
947
1236
  next: "Next slide",