uikit 3.16.11-dev.bde560a72 → 3.16.11-dev.cc1aeb568

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 (75) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +24 -28
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +85 -562
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +96 -574
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +79 -72
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +79 -72
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +14 -18
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +309 -336
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +435 -464
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/computed.js +48 -1
  44. package/src/js/api/hooks.js +12 -8
  45. package/src/js/api/observer.js +23 -41
  46. package/src/js/api/options.js +1 -0
  47. package/src/js/api/update.js +21 -37
  48. package/src/js/api/watch.js +21 -24
  49. package/src/js/components/filter.js +23 -29
  50. package/src/js/components/lightbox.js +12 -14
  51. package/src/js/components/sortable.js +13 -19
  52. package/src/js/core/accordion.js +32 -45
  53. package/src/js/core/drop.js +1 -1
  54. package/src/js/core/dropnav.js +46 -60
  55. package/src/js/core/height-match.js +2 -8
  56. package/src/js/core/img.js +6 -5
  57. package/src/js/core/navbar.js +19 -32
  58. package/src/js/core/scrollspy-nav.js +10 -12
  59. package/src/js/core/scrollspy.js +16 -17
  60. package/src/js/core/switcher.js +29 -40
  61. package/src/js/core/toggle.js +3 -7
  62. package/src/js/{util → mixin/internal}/scroll.js +1 -5
  63. package/src/js/mixin/modal.js +1 -1
  64. package/src/js/mixin/slider-nav.js +80 -76
  65. package/src/js/mixin/slider.js +10 -8
  66. package/src/js/util/fastdom.js +2 -2
  67. package/tests/drop.html +0 -1
  68. package/tests/dropnav.html +1 -1
  69. package/tests/icon.html +0 -2
  70. package/tests/modal.html +0 -1
  71. package/tests/nav.html +0 -1
  72. package/tests/navbar.html +0 -1
  73. package/tests/progress.html +0 -1
  74. package/tests/scroll.html +0 -1
  75. package/tests/sticky-navbar.html +6 -6
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.11-dev.bde560a72 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.16.11-dev.cc1aeb568 | https://www.getuikit.com | (c) 2014 - 2023 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.16.11-dev.bde560a72 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(t,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],s):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=s(t.UIkit.util))})(this,function(t){"use strict";var s={connected(){t.addClass(this.$el,this.$options.id)}};const d=["days","hours","minutes","seconds"];var r={mixins:[s],props:{date:String,clsWrapper:String,role:String},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer"},connected(){t.attr(this.$el,"role",this.role),this.date=t.toFloat(Date.parse(this.$props.date)),this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el(){return document},handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update(),this.timer||(t.trigger(this.$el,"countdownstart"),this.timer=setInterval(this.update,1e3))},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total||(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0));for(const n of d){const i=t.$(this.clsWrapper.replace("%unit%",n),this.$el);if(!i)continue;let e=String(Math.trunc(o[n]));e=e.length<2?`0${e}`:e,i.textContent!==e&&(e=e.split(""),e.length!==i.children.length&&t.html(i,e.map(()=>"<span></span>").join("")),e.forEach((h,u)=>i.children[u].textContent=h))}}}};function a(o){const n=Math.max(0,o-Date.now())/1e3;return{total:n,seconds:n%60,minutes:n/60%60,hours:n/60/60%24,days:n/60/60/24}}return typeof window<"u"&&window.UIkit&&window.UIkit.component("countdown",r),r});
1
+ /*! UIkit 3.16.11-dev.cc1aeb568 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(t,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],s):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=s(t.UIkit.util))})(this,function(t){"use strict";var s={connected(){t.addClass(this.$el,this.$options.id)}};const d=["days","hours","minutes","seconds"];var r={mixins:[s],props:{date:String,clsWrapper:String,role:String},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer"},connected(){t.attr(this.$el,"role",this.role),this.date=t.toFloat(Date.parse(this.$props.date)),this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el(){return document},handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update(),this.timer||(t.trigger(this.$el,"countdownstart"),this.timer=setInterval(this.update,1e3))},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total||(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0));for(const n of d){const i=t.$(this.clsWrapper.replace("%unit%",n),this.$el);if(!i)continue;let e=String(Math.trunc(o[n]));e=e.length<2?`0${e}`:e,i.textContent!==e&&(e=e.split(""),e.length!==i.children.length&&t.html(i,e.map(()=>"<span></span>").join("")),e.forEach((h,u)=>i.children[u].textContent=h))}}}};function a(o){const n=Math.max(0,o-Date.now())/1e3;return{total:n,seconds:n%60,minutes:n/60%60,hours:n/60/60%24,days:n/60/60/24}}return typeof window<"u"&&window.UIkit&&window.UIkit.component("countdown",r),r});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.11-dev.bde560a72 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.16.11-dev.cc1aeb568 | https://www.getuikit.com | (c) 2014 - 2023 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,35 +364,31 @@
364
364
  duration: 250
365
365
  },
366
366
  computed: {
367
- toggles: {
368
- get({ attrItem }, $el) {
369
- return uikitUtil.$$(`[${attrItem}],[data-${attrItem}]`, $el);
370
- },
371
- watch(toggles) {
372
- this.updateState();
373
- const actives = uikitUtil.$$(this.selActive, this.$el);
374
- for (const toggle of toggles) {
375
- if (this.selActive !== false) {
376
- uikitUtil.toggleClass(toggle, this.cls, uikitUtil.includes(actives, toggle));
377
- }
378
- const button = findButton(toggle);
379
- if (uikitUtil.isTag(button, "a")) {
380
- uikitUtil.attr(button, "role", "button");
381
- }
382
- }
383
- },
384
- immediate: true
367
+ toggles({ attrItem }, $el) {
368
+ return uikitUtil.$$(`[${attrItem}],[data-${attrItem}]`, $el);
385
369
  },
386
- children: {
387
- get({ target }, $el) {
388
- return uikitUtil.$$(`${target} > *`, $el);
389
- },
390
- watch(list, prev) {
391
- if (prev) {
392
- this.updateState();
370
+ children({ target }, $el) {
371
+ return uikitUtil.$$(`${target} > *`, $el);
372
+ }
373
+ },
374
+ watch: {
375
+ toggles(toggles) {
376
+ this.updateState();
377
+ const actives = uikitUtil.$$(this.selActive, this.$el);
378
+ for (const toggle of toggles) {
379
+ if (this.selActive !== false) {
380
+ uikitUtil.toggleClass(toggle, this.cls, uikitUtil.includes(actives, toggle));
381
+ }
382
+ const button = findButton(toggle);
383
+ if (uikitUtil.isTag(button, "a")) {
384
+ uikitUtil.attr(button, "role", "button");
393
385
  }
394
- },
395
- immediate: true
386
+ }
387
+ },
388
+ children(list, prev) {
389
+ if (prev) {
390
+ this.updateState();
391
+ }
396
392
  }
397
393
  },
398
394
  events: {
@@ -1 +1 @@
1
- /*! UIkit 3.16.11-dev.bde560a72 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(s,u){typeof exports=="object"&&typeof module<"u"?module.exports=u(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],u):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitFilter=u(s.UIkit.util))})(this,function(s){"use strict";function u(n){return b(s.observeResize,n,"resize")}function N(n){return b(s.observeMutation,n)}function b(n,e,o){return{observe:n,handler(){this.$emit(o)},...e}}N({options:{childList:!0,attributes:!0,attributeFilter:["style"]}}),u({target:({$el:n})=>[n,...s.toArray(n.children)]});function T(n){return C(n,"top","bottom")}function q(n){const e=[];for(const o of n){const t=C(o,"left","right");for(let r=0;r<t.length;r++)e[r]=e[r]?e[r].concat(t[r]):t[r]}return s.isRtl?e.reverse():e}function C(n,e,o){const t=[[]];for(const r of n){if(!s.isVisible(r))continue;let a=y(r);for(let c=t.length-1;c>=0;c--){const f=t[c];if(!f[0]){f.push(r);break}let h;if(f[0].offsetParent===r.offsetParent?h=y(f[0]):(a=y(r,!0),h=y(f[0],!0)),a[e]>=h[o]-1&&a[e]!==h[e]){t.push([r]);break}if(a[o]-1>h[e]||a[e]===h[e]){f.push(r);break}if(c===0){t.unshift([r]);break}}}return t}function y(n,e=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:r,offsetWidth:a}=n;return e&&([o,t]=s.offsetPosition(n)),{top:o,left:t,bottom:o+r,right:t+a}}const w="uk-transition-leave",v="uk-transition-enter";function $(n,e,o,t=0){const r=g(e,!0),a={opacity:1},c={opacity:0},f=p=>()=>r===g(e)?p():Promise.reject(),h=f(async()=>{s.addClass(e,w),await Promise.all(P(e).map((p,l)=>new Promise(d=>setTimeout(()=>s.Transition.start(p,c,o/2,"ease").then(d),l*t)))),s.removeClass(e,w)}),i=f(async()=>{const p=s.height(e);s.addClass(e,v),n(),s.css(s.children(e),{opacity:0}),await L();const l=s.children(e),d=s.height(e);s.css(e,"alignContent","flex-start"),s.height(e,p);const m=P(e);s.css(l,c);const z=m.map(async(Y,Z)=>{await O(Z*t),await s.Transition.start(Y,a,o/2,"ease")});p!==d&&z.push(s.Transition.start(e,{height:d},o/2+m.length*t,"ease")),await Promise.all(z).then(()=>{s.removeClass(e,v),r===g(e)&&(s.css(e,{height:"",alignContent:""}),s.css(l,{opacity:""}),delete e.dataset.transition)})});return s.hasClass(e,w)?S(e).then(i):s.hasClass(e,v)?S(e).then(h).then(i):h().then(i)}function g(n,e){return e&&(n.dataset.transition=1+g(n)),s.toNumber(n.dataset.transition)||0}function S(n){return Promise.all(s.children(n).filter(s.Transition.inProgress).map(e=>new Promise(o=>s.once(e,"transitionend transitioncanceled",o))))}function P(n){return T(s.children(n)).reduce((e,o)=>e.concat(s.sortBy(o.filter(t=>s.isInView(t)),"offsetLeft")),[])}function L(){return new Promise(n=>requestAnimationFrame(n))}function O(n){return new Promise(e=>setTimeout(e,n))}async function H(n,e,o){await E();let t=s.children(e);const r=t.map(d=>I(d,!0)),a={...s.css(e,["height","padding"]),display:"block"};await Promise.all(t.concat(e).map(s.Transition.cancel)),n(),t=t.concat(s.children(e).filter(d=>!s.includes(t,d))),await Promise.resolve(),s.fastdom.flush();const c=s.attr(e,"style"),f=s.css(e,["height","padding"]),[h,i]=V(e,t,r),p=t.map(d=>({style:s.attr(d,"style")}));t.forEach((d,m)=>i[m]&&s.css(d,i[m])),s.css(e,a),s.trigger(e,"scroll"),s.fastdom.flush(),await E();const l=t.map((d,m)=>s.parent(d)===e&&s.Transition.start(d,h[m],o,"ease")).concat(s.Transition.start(e,f,o,"ease"));try{await Promise.all(l),t.forEach((d,m)=>{s.attr(d,p[m]),s.parent(d)===e&&s.css(d,"display",h[m].opacity===0?"none":"")}),s.attr(e,"style",c)}catch{s.attr(t,"style",""),D(e,a)}}function I(n,e){const o=s.css(n,"zIndex");return s.isVisible(n)?{display:"",opacity:e?s.css(n,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?s.index(n):o,...F(n)}:!1}function V(n,e,o){const t=e.map((a,c)=>s.parent(a)&&c in o?o[c]?s.isVisible(a)?F(a):{opacity:0}:{opacity:s.isVisible(a)?1:0}:!1),r=t.map((a,c)=>{const f=s.parent(e[c])===n&&(o[c]||I(e[c]));if(!f)return!1;if(!a)delete f.opacity;else if(!("opacity"in a)){const{opacity:h}=f;h%1?a.opacity=1:delete f.opacity}return f});return[t,r]}function D(n,e){for(const o in e)s.css(n,o,"")}function F(n){const{height:e,width:o}=s.offset(n);return{height:e,width:o,transform:"",...s.position(n),...s.css(n,["marginTop","marginLeft"])}}function E(){return new Promise(n=>requestAnimationFrame(n))}var M={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(n,e=this.$el){const o=this.animation;return(o==="fade"?$:o==="delayed-fade"?(...r)=>$(...r,40):o?H:()=>(n(),Promise.resolve()))(n,e,this.duration).catch(s.noop)}}};function R(n,e=[]){try{return n?s.startsWith(n,"{")?JSON.parse(n):e.length&&!s.includes(n,":")?{[e[0]]:n}:n.split(";").reduce((o,t)=>{const[r,a]=t.split(/:(.*)/);return r&&!s.isUndefined(a)&&(o[r.trim()]=a.trim()),o},{}):{}}catch{return{}}}const W={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var x={mixins:[M],args:"target",props:{target:Boolean,selActive:Boolean},data:{target:null,selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{toggles:{get({attrItem:n},e){return s.$$(`[${n}],[data-${n}]`,e)},watch(n){this.updateState();const e=s.$$(this.selActive,this.$el);for(const o of n){this.selActive!==!1&&s.toggleClass(o,this.cls,s.includes(e,o));const t=X(o);s.isTag(t,"a")&&s.attr(t,"role","button")}},immediate:!0},children:{get({target:n},e){return s.$$(`${n} > *`,e)},watch(n,e){e&&this.updateState()},immediate:!0}},events:{name:"click keydown",delegate(){return`[${this.attrItem}],[data-${this.attrItem}]`},handler(n){n.type==="keydown"&&n.keyCode!==W.SPACE||s.closest(n.target,"a,button")&&(n.preventDefault(),this.apply(n.current))}},methods:{apply(n){const e=this.getState(),o=B(n,this.attrItem,this.getState());j(e,o)||this.setState(o)},getState(){return this.toggles.filter(n=>s.hasClass(n,this.cls)).reduce((n,e)=>B(e,this.attrItem,n),{filter:{"":""},sort:[]})},async setState(n,e=!0){n={filter:{"":""},sort:[],...n},s.trigger(this.$el,"beforeFilter",[this,n]);for(const o of this.toggles)s.toggleClass(o,this.cls,J(o,this.attrItem,n));await Promise.all(s.$$(this.target,this.$el).map(o=>{const t=()=>{G(n,o,s.children(o)),this.$update(this.$el)};return e?this.animate(t,o):t()})),s.trigger(this.$el,"afterFilter",[this])},updateState(){s.fastdom.write(()=>this.setState(this.getState(),!1))}}};function A(n,e){return R(s.data(n,e),["filter"])}function j(n,e){return["filter","sort"].every(o=>s.isEqual(n[o],e[o]))}function G(n,e,o){const t=K(n);o.forEach(c=>s.css(c,"display",t&&!s.matches(c,t)?"none":""));const[r,a]=n.sort;if(r){const c=Q(o,r,a);s.isEqual(c,o)||s.append(e,c)}}function B(n,e,o){const{filter:t,group:r,sort:a,order:c="asc"}=A(n,e);return(t||s.isUndefined(a))&&(r?t?(delete o.filter[""],o.filter[r]=t):(delete o.filter[r],(s.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),s.isUndefined(a)||(o.sort=[a,c]),o}function J(n,e,{filter:o={"":""},sort:[t,r]}){const{filter:a="",group:c="",sort:f,order:h="asc"}=A(n,e);return s.isUndefined(f)?c in o&&a===o[c]||!a&&c&&!(c in o)&&!o[""]:t===f&&r===h}function K({filter:n}){let e="";return s.each(n,o=>e+=o||""),e}function Q(n,e,o){return[...n].sort((t,r)=>s.data(t,e).localeCompare(s.data(r,e),void 0,{numeric:!0})*(o==="asc"||-1))}function X(n){return s.$("a,button",n)||n}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",x),x});
1
+ /*! UIkit 3.16.11-dev.cc1aeb568 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */(function(s,u){typeof exports=="object"&&typeof module<"u"?module.exports=u(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],u):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitFilter=u(s.UIkit.util))})(this,function(s){"use strict";function u(n){return b(s.observeResize,n,"resize")}function N(n){return b(s.observeMutation,n)}function b(n,e,o){return{observe:n,handler(){this.$emit(o)},...e}}N({options:{childList:!0,attributes:!0,attributeFilter:["style"]}}),u({target:({$el:n})=>[n,...s.toArray(n.children)]});function T(n){return C(n,"top","bottom")}function q(n){const e=[];for(const o of n){const t=C(o,"left","right");for(let r=0;r<t.length;r++)e[r]=e[r]?e[r].concat(t[r]):t[r]}return s.isRtl?e.reverse():e}function C(n,e,o){const t=[[]];for(const r of n){if(!s.isVisible(r))continue;let a=y(r);for(let c=t.length-1;c>=0;c--){const f=t[c];if(!f[0]){f.push(r);break}let h;if(f[0].offsetParent===r.offsetParent?h=y(f[0]):(a=y(r,!0),h=y(f[0],!0)),a[e]>=h[o]-1&&a[e]!==h[e]){t.push([r]);break}if(a[o]-1>h[e]||a[e]===h[e]){f.push(r);break}if(c===0){t.unshift([r]);break}}}return t}function y(n,e=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:r,offsetWidth:a}=n;return e&&([o,t]=s.offsetPosition(n)),{top:o,left:t,bottom:o+r,right:t+a}}const w="uk-transition-leave",v="uk-transition-enter";function $(n,e,o,t=0){const r=g(e,!0),a={opacity:1},c={opacity:0},f=p=>()=>r===g(e)?p():Promise.reject(),h=f(async()=>{s.addClass(e,w),await Promise.all(P(e).map((p,l)=>new Promise(d=>setTimeout(()=>s.Transition.start(p,c,o/2,"ease").then(d),l*t)))),s.removeClass(e,w)}),i=f(async()=>{const p=s.height(e);s.addClass(e,v),n(),s.css(s.children(e),{opacity:0}),await L();const l=s.children(e),d=s.height(e);s.css(e,"alignContent","flex-start"),s.height(e,p);const m=P(e);s.css(l,c);const z=m.map(async(Y,Z)=>{await O(Z*t),await s.Transition.start(Y,a,o/2,"ease")});p!==d&&z.push(s.Transition.start(e,{height:d},o/2+m.length*t,"ease")),await Promise.all(z).then(()=>{s.removeClass(e,v),r===g(e)&&(s.css(e,{height:"",alignContent:""}),s.css(l,{opacity:""}),delete e.dataset.transition)})});return s.hasClass(e,w)?S(e).then(i):s.hasClass(e,v)?S(e).then(h).then(i):h().then(i)}function g(n,e){return e&&(n.dataset.transition=1+g(n)),s.toNumber(n.dataset.transition)||0}function S(n){return Promise.all(s.children(n).filter(s.Transition.inProgress).map(e=>new Promise(o=>s.once(e,"transitionend transitioncanceled",o))))}function P(n){return T(s.children(n)).reduce((e,o)=>e.concat(s.sortBy(o.filter(t=>s.isInView(t)),"offsetLeft")),[])}function L(){return new Promise(n=>requestAnimationFrame(n))}function O(n){return new Promise(e=>setTimeout(e,n))}async function H(n,e,o){await E();let t=s.children(e);const r=t.map(d=>I(d,!0)),a={...s.css(e,["height","padding"]),display:"block"};await Promise.all(t.concat(e).map(s.Transition.cancel)),n(),t=t.concat(s.children(e).filter(d=>!s.includes(t,d))),await Promise.resolve(),s.fastdom.flush();const c=s.attr(e,"style"),f=s.css(e,["height","padding"]),[h,i]=V(e,t,r),p=t.map(d=>({style:s.attr(d,"style")}));t.forEach((d,m)=>i[m]&&s.css(d,i[m])),s.css(e,a),s.trigger(e,"scroll"),s.fastdom.flush(),await E();const l=t.map((d,m)=>s.parent(d)===e&&s.Transition.start(d,h[m],o,"ease")).concat(s.Transition.start(e,f,o,"ease"));try{await Promise.all(l),t.forEach((d,m)=>{s.attr(d,p[m]),s.parent(d)===e&&s.css(d,"display",h[m].opacity===0?"none":"")}),s.attr(e,"style",c)}catch{s.attr(t,"style",""),D(e,a)}}function I(n,e){const o=s.css(n,"zIndex");return s.isVisible(n)?{display:"",opacity:e?s.css(n,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?s.index(n):o,...F(n)}:!1}function V(n,e,o){const t=e.map((a,c)=>s.parent(a)&&c in o?o[c]?s.isVisible(a)?F(a):{opacity:0}:{opacity:s.isVisible(a)?1:0}:!1),r=t.map((a,c)=>{const f=s.parent(e[c])===n&&(o[c]||I(e[c]));if(!f)return!1;if(!a)delete f.opacity;else if(!("opacity"in a)){const{opacity:h}=f;h%1?a.opacity=1:delete f.opacity}return f});return[t,r]}function D(n,e){for(const o in e)s.css(n,o,"")}function F(n){const{height:e,width:o}=s.offset(n);return{height:e,width:o,transform:"",...s.position(n),...s.css(n,["marginTop","marginLeft"])}}function E(){return new Promise(n=>requestAnimationFrame(n))}var M={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(n,e=this.$el){const o=this.animation;return(o==="fade"?$:o==="delayed-fade"?(...r)=>$(...r,40):o?H:()=>(n(),Promise.resolve()))(n,e,this.duration).catch(s.noop)}}};function R(n,e=[]){try{return n?s.startsWith(n,"{")?JSON.parse(n):e.length&&!s.includes(n,":")?{[e[0]]:n}:n.split(";").reduce((o,t)=>{const[r,a]=t.split(/:(.*)/);return r&&!s.isUndefined(a)&&(o[r.trim()]=a.trim()),o},{}):{}}catch{return{}}}const W={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var x={mixins:[M],args:"target",props:{target:Boolean,selActive:Boolean},data:{target:null,selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{toggles({attrItem:n},e){return s.$$(`[${n}],[data-${n}]`,e)},children({target:n},e){return s.$$(`${n} > *`,e)}},watch:{toggles(n){this.updateState();const e=s.$$(this.selActive,this.$el);for(const o of n){this.selActive!==!1&&s.toggleClass(o,this.cls,s.includes(e,o));const t=X(o);s.isTag(t,"a")&&s.attr(t,"role","button")}},children(n,e){e&&this.updateState()}},events:{name:"click keydown",delegate(){return`[${this.attrItem}],[data-${this.attrItem}]`},handler(n){n.type==="keydown"&&n.keyCode!==W.SPACE||s.closest(n.target,"a,button")&&(n.preventDefault(),this.apply(n.current))}},methods:{apply(n){const e=this.getState(),o=B(n,this.attrItem,this.getState());j(e,o)||this.setState(o)},getState(){return this.toggles.filter(n=>s.hasClass(n,this.cls)).reduce((n,e)=>B(e,this.attrItem,n),{filter:{"":""},sort:[]})},async setState(n,e=!0){n={filter:{"":""},sort:[],...n},s.trigger(this.$el,"beforeFilter",[this,n]);for(const o of this.toggles)s.toggleClass(o,this.cls,J(o,this.attrItem,n));await Promise.all(s.$$(this.target,this.$el).map(o=>{const t=()=>{G(n,o,s.children(o)),this.$update(this.$el)};return e?this.animate(t,o):t()})),s.trigger(this.$el,"afterFilter",[this])},updateState(){s.fastdom.write(()=>this.setState(this.getState(),!1))}}};function A(n,e){return R(s.data(n,e),["filter"])}function j(n,e){return["filter","sort"].every(o=>s.isEqual(n[o],e[o]))}function G(n,e,o){const t=K(n);o.forEach(c=>s.css(c,"display",t&&!s.matches(c,t)?"none":""));const[r,a]=n.sort;if(r){const c=Q(o,r,a);s.isEqual(c,o)||s.append(e,c)}}function B(n,e,o){const{filter:t,group:r,sort:a,order:c="asc"}=A(n,e);return(t||s.isUndefined(a))&&(r?t?(delete o.filter[""],o.filter[r]=t):(delete o.filter[r],(s.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),s.isUndefined(a)||(o.sort=[a,c]),o}function J(n,e,{filter:o={"":""},sort:[t,r]}){const{filter:a="",group:c="",sort:f,order:h="asc"}=A(n,e);return s.isUndefined(f)?c in o&&a===o[c]||!a&&c&&!(c in o)&&!o[""]:t===f&&r===h}function K({filter:n}){let e="";return s.each(n,o=>e+=o||""),e}function Q(n,e,o){return[...n].sort((t,r)=>s.data(t,e).localeCompare(s.data(r,e),void 0,{numeric:!0})*(o==="asc"||-1))}function X(n){return s.$("a,button",n)||n}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",x),x});