uikit 3.11.2-dev.f2970ffaa → 3.11.2-dev.f3ade19c4

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 (225) hide show
  1. package/.eslintrc.json +4 -49
  2. package/.prettierignore +14 -0
  3. package/.prettierrc.json +13 -0
  4. package/.webstorm.js +3 -3
  5. package/CHANGELOG.md +54 -18
  6. package/build/.eslintrc.json +1 -3
  7. package/build/build.js +26 -28
  8. package/build/icons.js +7 -11
  9. package/build/less.js +48 -36
  10. package/build/package.json +2 -2
  11. package/build/prefix.js +21 -18
  12. package/build/publishDev.js +6 -8
  13. package/build/release.js +20 -17
  14. package/build/scope.js +21 -11
  15. package/build/scss.js +72 -39
  16. package/build/util.js +71 -62
  17. package/build/wrapper/icons.js +0 -2
  18. package/dist/css/uikit-core-rtl.css +133 -201
  19. package/dist/css/uikit-core-rtl.min.css +1 -1
  20. package/dist/css/uikit-core.css +133 -201
  21. package/dist/css/uikit-core.min.css +1 -1
  22. package/dist/css/uikit-rtl.css +135 -207
  23. package/dist/css/uikit-rtl.min.css +1 -1
  24. package/dist/css/uikit.css +135 -207
  25. package/dist/css/uikit.min.css +1 -1
  26. package/dist/js/components/countdown.js +88 -133
  27. package/dist/js/components/countdown.min.js +1 -1
  28. package/dist/js/components/filter.js +408 -439
  29. package/dist/js/components/filter.min.js +1 -1
  30. package/dist/js/components/lightbox-panel.js +1091 -1319
  31. package/dist/js/components/lightbox-panel.min.js +1 -1
  32. package/dist/js/components/lightbox.js +1137 -1396
  33. package/dist/js/components/lightbox.min.js +1 -1
  34. package/dist/js/components/notification.js +94 -114
  35. package/dist/js/components/notification.min.js +1 -1
  36. package/dist/js/components/parallax.js +347 -372
  37. package/dist/js/components/parallax.min.js +1 -1
  38. package/dist/js/components/slider-parallax.js +345 -360
  39. package/dist/js/components/slider-parallax.min.js +1 -1
  40. package/dist/js/components/slider.js +749 -843
  41. package/dist/js/components/slider.min.js +1 -1
  42. package/dist/js/components/slideshow-parallax.js +345 -360
  43. package/dist/js/components/slideshow-parallax.min.js +1 -1
  44. package/dist/js/components/slideshow.js +628 -798
  45. package/dist/js/components/slideshow.min.js +1 -1
  46. package/dist/js/components/sortable.js +587 -620
  47. package/dist/js/components/sortable.min.js +1 -1
  48. package/dist/js/components/tooltip.js +324 -356
  49. package/dist/js/components/tooltip.min.js +1 -1
  50. package/dist/js/components/upload.js +155 -167
  51. package/dist/js/components/upload.min.js +1 -1
  52. package/dist/js/uikit-core.js +5326 -6526
  53. package/dist/js/uikit-core.min.js +1 -1
  54. package/dist/js/uikit-icons.js +7 -9
  55. package/dist/js/uikit-icons.min.js +1 -1
  56. package/dist/js/uikit.js +8031 -9659
  57. package/dist/js/uikit.min.js +1 -1
  58. package/jsconfig.json +1 -1
  59. package/package.json +64 -60
  60. package/src/js/api/boot.js +25 -32
  61. package/src/js/api/component.js +15 -28
  62. package/src/js/api/global.js +6 -12
  63. package/src/js/api/hooks.js +14 -33
  64. package/src/js/api/instance.js +7 -15
  65. package/src/js/api/state.js +199 -187
  66. package/src/js/components/countdown.js +26 -52
  67. package/src/js/components/filter.js +70 -66
  68. package/src/js/components/index.js +13 -13
  69. package/src/js/components/internal/lightbox-animations.js +14 -25
  70. package/src/js/components/internal/slider-preload.js +9 -0
  71. package/src/js/components/internal/slider-transitioner.js +66 -45
  72. package/src/js/components/internal/slideshow-animations.js +46 -64
  73. package/src/js/components/lightbox-panel.js +107 -105
  74. package/src/js/components/lightbox.js +17 -39
  75. package/src/js/components/notification.js +49 -43
  76. package/src/js/components/parallax.js +21 -46
  77. package/src/js/components/slider-parallax.js +13 -23
  78. package/src/js/components/slider.js +117 -89
  79. package/src/js/components/slideshow-parallax.js +1 -1
  80. package/src/js/components/slideshow.js +15 -13
  81. package/src/js/components/sortable.js +125 -106
  82. package/src/js/components/tooltip.js +41 -31
  83. package/src/js/components/upload.js +52 -63
  84. package/src/js/core/accordion.js +58 -48
  85. package/src/js/core/alert.js +9 -17
  86. package/src/js/core/core.js +17 -69
  87. package/src/js/core/cover.js +15 -15
  88. package/src/js/core/drop.js +110 -94
  89. package/src/js/core/form-custom.js +22 -27
  90. package/src/js/core/gif.js +3 -7
  91. package/src/js/core/grid.js +57 -58
  92. package/src/js/core/height-match.js +16 -29
  93. package/src/js/core/height-viewport.js +30 -34
  94. package/src/js/core/icon.js +47 -52
  95. package/src/js/core/img.js +153 -143
  96. package/src/js/core/index.js +39 -39
  97. package/src/js/core/leader.js +9 -18
  98. package/src/js/core/margin.js +21 -37
  99. package/src/js/core/modal.js +49 -36
  100. package/src/js/core/nav.js +2 -4
  101. package/src/js/core/navbar.js +113 -85
  102. package/src/js/core/offcanvas.js +51 -54
  103. package/src/js/core/overflow-auto.js +13 -17
  104. package/src/js/core/responsive.js +14 -12
  105. package/src/js/core/scroll.js +10 -20
  106. package/src/js/core/scrollspy-nav.js +34 -31
  107. package/src/js/core/scrollspy.js +37 -54
  108. package/src/js/core/sticky.js +175 -123
  109. package/src/js/core/svg.js +68 -83
  110. package/src/js/core/switcher.js +56 -47
  111. package/src/js/core/tab.js +7 -10
  112. package/src/js/core/toggle.js +69 -68
  113. package/src/js/core/video.js +22 -21
  114. package/src/js/mixin/animate.js +19 -20
  115. package/src/js/mixin/class.js +2 -4
  116. package/src/js/mixin/container.js +7 -11
  117. package/src/js/mixin/internal/animate-fade.js +73 -30
  118. package/src/js/mixin/internal/animate-slide.js +58 -41
  119. package/src/js/mixin/internal/slideshow-animations.js +7 -14
  120. package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
  121. package/src/js/mixin/lazyload.js +20 -0
  122. package/src/js/mixin/media.js +5 -10
  123. package/src/js/mixin/modal.js +89 -66
  124. package/src/js/mixin/parallax.js +149 -107
  125. package/src/js/mixin/position.js +26 -20
  126. package/src/js/mixin/slider-autoplay.js +12 -21
  127. package/src/js/mixin/slider-drag.js +64 -65
  128. package/src/js/mixin/slider-nav.js +26 -35
  129. package/src/js/mixin/slider-reactive.js +2 -8
  130. package/src/js/mixin/slider.js +47 -60
  131. package/src/js/mixin/slideshow.js +12 -22
  132. package/src/js/mixin/swipe.js +72 -0
  133. package/src/js/mixin/togglable.js +89 -63
  134. package/src/js/uikit-core.js +2 -4
  135. package/src/js/uikit.js +2 -4
  136. package/src/js/util/ajax.js +25 -40
  137. package/src/js/util/animation.js +77 -75
  138. package/src/js/util/attr.js +17 -21
  139. package/src/js/util/class.js +14 -52
  140. package/src/js/util/dimensions.js +78 -49
  141. package/src/js/util/dom.js +39 -66
  142. package/src/js/util/env.js +7 -12
  143. package/src/js/util/event.js +60 -59
  144. package/src/js/util/fastdom.js +1 -6
  145. package/src/js/util/filter.js +17 -34
  146. package/src/js/util/index.js +1 -1
  147. package/src/js/util/lang.js +82 -121
  148. package/src/js/util/mouse.js +19 -17
  149. package/src/js/util/observer.js +36 -0
  150. package/src/js/util/options.js +35 -49
  151. package/src/js/util/player.js +41 -36
  152. package/src/js/util/position.js +54 -46
  153. package/src/js/util/selector.js +43 -58
  154. package/src/js/util/style.js +39 -49
  155. package/src/js/util/viewport.js +75 -64
  156. package/src/less/components/base.less +10 -33
  157. package/src/less/components/flex.less +0 -9
  158. package/src/less/components/form-range.less +48 -95
  159. package/src/less/components/form.less +0 -1
  160. package/src/less/components/height.less +3 -0
  161. package/src/less/components/leader.less +0 -1
  162. package/src/less/components/lightbox.less +0 -1
  163. package/src/less/components/modal.less +3 -7
  164. package/src/less/components/navbar.less +0 -7
  165. package/src/less/components/progress.less +14 -36
  166. package/src/less/components/slider.less +0 -3
  167. package/src/less/components/slideshow.less +0 -3
  168. package/src/less/components/text.less +16 -32
  169. package/src/less/components/utility.less +25 -0
  170. package/src/scss/components/base.scss +10 -33
  171. package/src/scss/components/flex.scss +0 -9
  172. package/src/scss/components/form-range.scss +48 -95
  173. package/src/scss/components/form.scss +3 -4
  174. package/src/scss/components/height.scss +3 -0
  175. package/src/scss/components/icon.scss +2 -2
  176. package/src/scss/components/leader.scss +0 -1
  177. package/src/scss/components/lightbox.scss +0 -1
  178. package/src/scss/components/modal.scss +3 -7
  179. package/src/scss/components/navbar.scss +0 -7
  180. package/src/scss/components/progress.scss +14 -36
  181. package/src/scss/components/search.scss +1 -1
  182. package/src/scss/components/slider.scss +0 -3
  183. package/src/scss/components/slideshow.scss +0 -3
  184. package/src/scss/components/text.scss +16 -32
  185. package/src/scss/components/utility.scss +25 -0
  186. package/src/scss/mixins-theme.scss +1 -1
  187. package/src/scss/mixins.scss +1 -1
  188. package/src/scss/variables-theme.scss +9 -9
  189. package/src/scss/variables.scss +9 -9
  190. package/tests/align.html +10 -10
  191. package/tests/animation.html +2 -2
  192. package/tests/article.html +2 -2
  193. package/tests/base.html +3 -3
  194. package/tests/card.html +10 -10
  195. package/tests/column.html +3 -3
  196. package/tests/comment.html +9 -9
  197. package/tests/dotnav.html +3 -3
  198. package/tests/image.html +296 -64
  199. package/tests/images/image-type.avif +0 -0
  200. package/tests/images/image-type.jpeg +0 -0
  201. package/tests/images/image-type.webp +0 -0
  202. package/tests/index.html +8 -8
  203. package/tests/js/index.js +114 -85
  204. package/tests/lightbox.html +10 -10
  205. package/tests/marker.html +2 -2
  206. package/tests/modal.html +8 -9
  207. package/tests/navbar.html +2 -2
  208. package/tests/overlay.html +7 -7
  209. package/tests/parallax.html +16 -7
  210. package/tests/position.html +12 -12
  211. package/tests/slidenav.html +12 -12
  212. package/tests/slider.html +20 -20
  213. package/tests/sortable.html +1 -1
  214. package/tests/sticky-parallax.html +87 -99
  215. package/tests/sticky.html +56 -24
  216. package/tests/svg.html +6 -6
  217. package/tests/table.html +11 -11
  218. package/tests/thumbnav.html +12 -12
  219. package/tests/transition.html +30 -30
  220. package/tests/utility.html +50 -33
  221. package/tests/video.html +1 -1
  222. package/tests/width.html +1 -1
  223. package/src/js/mixin/flex-bug.js +0 -56
  224. package/src/js/util/promise.js +0 -191
  225. package/tests/images/animated.gif +0 -0
@@ -1 +1 @@
1
- /*! UIkit 3.11.2-dev.f2970ffaa | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(n,m){typeof exports=="object"&&typeof module<"u"?module.exports=m(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],m):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitFilter=m(n.UIkit.util))})(this,function(n){"use strict";function m(r){return q(r,"top","bottom")}function q(r,e,o){for(var a=[[]],s=0;s<r.length;s++){var t=r[s];if(!!n.isVisible(t))for(var c=g(t),f=a.length-1;f>=0;f--){var h=a[f];if(!h[0]){h.push(t);break}var d=void 0;if(h[0].offsetParent===t.offsetParent?d=g(h[0]):(c=g(t,!0),d=g(h[0],!0)),c[e]>=d[o]-1&&c[e]!==d[e]){a.push([t]);break}if(c[o]-1>d[e]||c[e]===d[e]){h.push(t);break}if(f===0){a.unshift([t]);break}}}return a}function g(r,e){var o;e===void 0&&(e=!1);var a=r.offsetTop,s=r.offsetLeft,t=r.offsetHeight,c=r.offsetWidth;return e&&(o=n.offsetPosition(r),a=o[0],s=o[1]),{top:a,left:s,bottom:a+t,right:s+c}}var y="uk-transition-leave",$="uk-transition-enter";function w(r,e,o,a){a===void 0&&(a=0);var s=l(e,!0),t={opacity:1},c={opacity:0},f=function(v){return function(){return s===l(e)?v():n.Promise.reject()}},h=f(function(){return n.addClass(e,y),n.Promise.all(I(e).map(function(v,u){return new n.Promise(function(i){return setTimeout(function(){return n.Transition.start(v,c,o/2,"ease").then(i)},u*a)})})).then(function(){return n.removeClass(e,y)})}),d=f(function(){var v=n.height(e);return n.addClass(e,$),r(),n.css(n.children(e),{opacity:0}),new n.Promise(function(u){return requestAnimationFrame(function(){var i=n.children(e),p=n.height(e);n.css(e,"alignContent","flex-start"),n.height(e,v);var C=I(e);n.css(i,c);var L=C.map(function(R,_){return new n.Promise(function(G){return setTimeout(function(){return n.Transition.start(R,t,o/2,"ease").then(G)},_*a)})});v!==p&&L.push(n.Transition.start(e,{height:p},o/2+C.length*a,"ease")),n.Promise.all(L).then(function(){n.removeClass(e,$),s===l(e)&&(n.css(e,{height:"",alignContent:""}),n.css(i,{opacity:""}),delete e.dataset.transition),u()})})})});return n.hasClass(e,y)?T(e).then(d):n.hasClass(e,$)?T(e).then(h).then(d):h().then(d)}function l(r,e){return e&&(r.dataset.transition=1+l(r)),n.toNumber(r.dataset.transition)||0}function T(r){return n.Promise.all(n.children(r).filter(n.Transition.inProgress).map(function(e){return new n.Promise(function(o){return n.once(e,"transitionend transitioncanceled",o)})}))}function I(r){return m(n.children(r)).reduce(function(e,o){return e.concat(n.sortBy(o.filter(function(a){return n.isInView(a)}),"offsetLeft"))},[])}function A(r,e,o){return new n.Promise(function(a){return requestAnimationFrame(function(){var s=n.children(e),t=s.map(function(f){return S(f,!0)}),c=n.css(e,["height","padding"]);n.Transition.cancel(e),s.forEach(n.Transition.cancel),F(e),r(),s=s.concat(n.children(e).filter(function(f){return!n.includes(s,f)})),n.Promise.resolve().then(function(){n.fastdom.flush();var f=n.css(e,["height","padding"]),h=z(e,s,t),d=h[0],v=h[1];s.forEach(function(u,i){return v[i]&&n.css(u,v[i])}),n.css(e,n.assign({display:"block"},c)),requestAnimationFrame(function(){var u=s.map(function(i,p){return n.parent(i)===e&&n.Transition.start(i,d[p],o,"ease")}).concat(n.Transition.start(e,f,o,"ease"));n.Promise.all(u).then(function(){s.forEach(function(i,p){return n.parent(i)===e&&n.css(i,"display",d[p].opacity===0?"none":"")}),F(e)},n.noop).then(a)})})})})}function S(r,e){var o=n.css(r,"zIndex");return n.isVisible(r)?n.assign({display:"",opacity:e?n.css(r,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?n.index(r):o},b(r)):!1}function z(r,e,o){var a=e.map(function(t,c){return n.parent(t)&&c in o?o[c]?n.isVisible(t)?b(t):{opacity:0}:{opacity:n.isVisible(t)?1:0}:!1}),s=a.map(function(t,c){var f=n.parent(e[c])===r&&(o[c]||S(e[c]));if(!f)return!1;if(!t)delete f.opacity;else if(!("opacity"in t)){var h=f.opacity;h%1?t.opacity=1:delete f.opacity}return f});return[a,s]}function F(r){n.css(r.children,{height:"",left:"",opacity:"",pointerEvents:"",position:"",top:"",marginTop:"",marginLeft:"",transform:"",width:"",zIndex:""}),n.css(r,{height:"",display:"",padding:""})}function b(r){var e=n.offset(r),o=e.height,a=e.width,s=n.position(r),t=s.top,c=s.left,f=n.css(r,["marginTop","marginLeft"]),h=f.marginLeft,d=f.marginTop;return{top:t,left:c,height:o,width:a,marginLeft:h,marginTop:d,transform:""}}var B={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate:function(r,e){var o=this;e===void 0&&(e=this.$el);var a=this.animation,s=a==="fade"?w:a==="delayed-fade"?function(){for(var t=[],c=arguments.length;c--;)t[c]=arguments[c];return w.apply(void 0,t.concat([40]))}:a?A:function(){return r(),n.Promise.resolve()};return s(r,e,this.duration).then(function(){return o.$update(e,"resize")},n.noop)}}},P={mixins:[B],args:"target",props:{target:Boolean,selActive:Boolean},data:{target:null,selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{toggles:{get:function(r,e){var o=r.attrItem;return n.$$("["+o+"],[data-"+o+"]",e)},watch:function(){var r=this;if(this.updateState(),this.selActive!==!1){var e=n.$$(this.selActive,this.$el);this.toggles.forEach(function(o){return n.toggleClass(o,r.cls,n.includes(e,o))})}},immediate:!0},children:{get:function(r,e){var o=r.target;return n.$$(o+" > *",e)},watch:function(r,e){e&&!N(r,e)&&this.updateState()},immediate:!0}},events:[{name:"click",delegate:function(){return"["+this.attrItem+"],[data-"+this.attrItem+"]"},handler:function(r){r.preventDefault(),this.apply(r.current)}}],methods:{apply:function(r){var e=this.getState(),o=x(r,this.attrItem,this.getState());O(e,o)||this.setState(o)},getState:function(){var r=this;return this.toggles.filter(function(e){return n.hasClass(e,r.cls)}).reduce(function(e,o){return x(o,r.attrItem,e)},{filter:{"":""},sort:[]})},setState:function(r,e){var o=this;e===void 0&&(e=!0),r=n.assign({filter:{"":""},sort:[]},r),n.trigger(this.$el,"beforeFilter",[this,r]),this.toggles.forEach(function(a){return n.toggleClass(a,o.cls,!!H(a,o.attrItem,r))}),n.Promise.all(n.$$(this.target,this.$el).map(function(a){var s=function(){V(r,a,n.children(a)),o.$update(o.$el)};return e?o.animate(s,a):s()})).then(function(){return n.trigger(o.$el,"afterFilter",[o])})},updateState:function(){var r=this;n.fastdom.write(function(){return r.setState(r.getState(),!1)})}}};function E(r,e){return n.parseOptions(n.data(r,e),["filter"])}function O(r,e){return["filter","sort"].every(function(o){return n.isEqual(r[o],e[o])})}function V(r,e,o){var a=W(r);o.forEach(function(h){return n.css(h,"display",a&&!n.matches(h,a)?"none":"")});var s=r.sort,t=s[0],c=s[1];if(t){var f=M(o,t,c);n.isEqual(f,o)||n.append(e,f)}}function x(r,e,o){var a=E(r,e),s=a.filter,t=a.group,c=a.sort,f=a.order;return f===void 0&&(f="asc"),(s||n.isUndefined(c))&&(t?s?(delete o.filter[""],o.filter[t]=s):(delete o.filter[t],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":s||""})):o.filter={"":s||""}),n.isUndefined(c)||(o.sort=[c,f]),o}function H(r,e,o){var a=o.filter;a===void 0&&(a={"":""});var s=o.sort,t=s[0],c=s[1],f=E(r,e),h=f.filter;h===void 0&&(h="");var d=f.group;d===void 0&&(d="");var v=f.sort,u=f.order;return u===void 0&&(u="asc"),n.isUndefined(v)?d in a&&h===a[d]||!h&&d&&!(d in a)&&!a[""]:t===v&&c===u}function N(r,e){return r.length===e.length&&r.every(function(o){return~e.indexOf(o)})}function W(r){var e=r.filter,o="";return n.each(e,function(a){return o+=a||""}),o}function M(r,e,o){return n.assign([],r).sort(function(a,s){return n.data(a,e).localeCompare(n.data(s,e),void 0,{numeric:!0})*(o==="asc"||-1)})}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",P),P});
1
+ /*! UIkit 3.11.2-dev.f3ade19c4 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(n,l){typeof exports=="object"&&typeof module<"u"?module.exports=l(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],l):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitFilter=l(n.UIkit.util))})(this,function(n){"use strict";function l(s){return A(s,"top","bottom")}function A(s,e,o){const r=[[]];for(const t of s){if(!n.isVisible(t))continue;let c=u(t);for(let a=r.length-1;a>=0;a--){const f=r[a];if(!f[0]){f.push(t);break}let d;if(f[0].offsetParent===t.offsetParent?d=u(f[0]):(c=u(t,!0),d=u(f[0],!0)),c[e]>=d[o]-1&&c[e]!==d[e]){r.push([t]);break}if(c[o]-1>d[e]||c[e]===d[e]){f.push(t);break}if(a===0){r.unshift([t]);break}}}return r}function u(s,e){e===void 0&&(e=!1);let{offsetTop:o,offsetLeft:r,offsetHeight:t,offsetWidth:c}=s;return e&&([o,r]=n.offsetPosition(s)),{top:o,left:r,bottom:o+t,right:r+c}}const g="uk-transition-leave",v="uk-transition-enter";function w(s,e,o,r){r===void 0&&(r=0);const t=y(e,!0),c={opacity:1},a={opacity:0},f=i=>()=>t===y(e)?i():Promise.reject(),d=f(()=>(n.addClass(e,g),Promise.all(I(e).map((i,h)=>new Promise(m=>setTimeout(()=>n.Transition.start(i,a,o/2,"ease").then(m),h*r)))).then(()=>n.removeClass(e,g)))),p=f(()=>{const i=n.height(e);return n.addClass(e,v),s(),n.css(n.children(e),{opacity:0}),new Promise(h=>requestAnimationFrame(()=>{const m=n.children(e),x=n.height(e);n.css(e,"alignContent","flex-start"),n.height(e,i);const C=I(e);n.css(m,a);const q=C.map((W,M)=>new Promise(R=>setTimeout(()=>n.Transition.start(W,c,o/2,"ease").then(R),M*r)));i!==x&&q.push(n.Transition.start(e,{height:x},o/2+C.length*r,"ease")),Promise.all(q).then(()=>{n.removeClass(e,v),t===y(e)&&(n.css(e,{height:"",alignContent:""}),n.css(m,{opacity:""}),delete e.dataset.transition),h()})}))});return n.hasClass(e,g)?T(e).then(p):n.hasClass(e,v)?T(e).then(d).then(p):d().then(p)}function y(s,e){return e&&(s.dataset.transition=1+y(s)),n.toNumber(s.dataset.transition)||0}function T(s){return Promise.all(n.children(s).filter(n.Transition.inProgress).map(e=>new Promise(o=>n.once(e,"transitionend transitioncanceled",o))))}function I(s){return l(n.children(s)).reduce((e,o)=>e.concat(n.sortBy(o.filter(r=>n.isInView(r)),"offsetLeft")),[])}function L(s,e,o){return new Promise(r=>requestAnimationFrame(()=>{let t=n.children(e);const c=t.map(f=>F(f,!0)),a=n.css(e,["height","padding"]);n.Transition.cancel(e),t.forEach(n.Transition.cancel),S(e),s(),t=t.concat(n.children(e).filter(f=>!n.includes(t,f))),Promise.resolve().then(()=>{n.fastdom.flush();const f=n.css(e,["height","padding"]),[d,p]=z(e,t,c);t.forEach((i,h)=>p[h]&&n.css(i,p[h])),n.css(e,{display:"block",...a}),requestAnimationFrame(()=>{const i=t.map((h,m)=>n.parent(h)===e&&n.Transition.start(h,d[m],o,"ease")).concat(n.Transition.start(e,f,o,"ease"));Promise.all(i).then(()=>{t.forEach((h,m)=>n.parent(h)===e&&n.css(h,"display",d[m].opacity===0?"none":"")),S(e)},n.noop).then(r)})})}))}function F(s,e){const o=n.css(s,"zIndex");return n.isVisible(s)?{display:"",opacity:e?n.css(s,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?n.index(s):o,...$(s)}:!1}function z(s,e,o){const r=e.map((c,a)=>n.parent(c)&&a in o?o[a]?n.isVisible(c)?$(c):{opacity:0}:{opacity:n.isVisible(c)?1:0}:!1),t=r.map((c,a)=>{const f=n.parent(e[a])===s&&(o[a]||F(e[a]));if(!f)return!1;if(!c)delete f.opacity;else if(!("opacity"in c)){const{opacity:d}=f;d%1?c.opacity=1:delete f.opacity}return f});return[r,t]}function S(s){n.css(s.children,{height:"",left:"",opacity:"",pointerEvents:"",position:"",top:"",marginTop:"",marginLeft:"",transform:"",width:"",zIndex:""}),n.css(s,{height:"",display:"",padding:""})}function $(s){const{height:e,width:o}=n.offset(s),{top:r,left:t}=n.position(s),{marginLeft:c,marginTop:a}=n.css(s,["marginTop","marginLeft"]);return{top:r,left:t,height:e,width:o,marginLeft:c,marginTop:a,transform:""}}var B={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(s,e){e===void 0&&(e=this.$el);const o=this.animation;return(o==="fade"?w:o==="delayed-fade"?function(){for(var t=arguments.length,c=new Array(t),a=0;a<t;a++)c[a]=arguments[a];return w(...c,40)}:o?L:()=>(s(),Promise.resolve()))(s,e,this.duration).then(()=>this.$update(e,"resize"),n.noop)}}},b={mixins:[B],args:"target",props:{target:Boolean,selActive:Boolean},data:{target:null,selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{toggles:{get(s,e){let{attrItem:o}=s;return n.$$("["+o+"],[data-"+o+"]",e)},watch(){if(this.updateState(),this.selActive!==!1){const s=n.$$(this.selActive,this.$el);this.toggles.forEach(e=>n.toggleClass(e,this.cls,n.includes(s,e)))}},immediate:!0},children:{get(s,e){let{target:o}=s;return n.$$(o+" > *",e)},watch(s,e){e&&!H(s,e)&&this.updateState()},immediate:!0}},events:[{name:"click",delegate(){return"["+this.attrItem+"],[data-"+this.attrItem+"]"},handler(s){s.preventDefault(),this.apply(s.current)}}],methods:{apply(s){const e=this.getState(),o=E(s,this.attrItem,this.getState());O(e,o)||this.setState(o)},getState(){return this.toggles.filter(s=>n.hasClass(s,this.cls)).reduce((s,e)=>E(e,this.attrItem,s),{filter:{"":""},sort:[]})},setState(s,e){e===void 0&&(e=!0),s={filter:{"":""},sort:[],...s},n.trigger(this.$el,"beforeFilter",[this,s]),this.toggles.forEach(o=>n.toggleClass(o,this.cls,!!N(o,this.attrItem,s))),Promise.all(n.$$(this.target,this.$el).map(o=>{const r=()=>{V(s,o,n.children(o)),this.$update(this.$el)};return e?this.animate(r,o):r()})).then(()=>n.trigger(this.$el,"afterFilter",[this]))},updateState(){n.fastdom.write(()=>this.setState(this.getState(),!1))}}};function P(s,e){return n.parseOptions(n.data(s,e),["filter"])}function O(s,e){return["filter","sort"].every(o=>n.isEqual(s[o],e[o]))}function V(s,e,o){const r=j(s);o.forEach(a=>n.css(a,"display",r&&!n.matches(a,r)?"none":""));const[t,c]=s.sort;if(t){const a=D(o,t,c);n.isEqual(a,o)||n.append(e,a)}}function E(s,e,o){const r=P(s,e),{filter:t,group:c,sort:a,order:f="asc"}=r;return(t||n.isUndefined(a))&&(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(a)||(o.sort=[a,f]),o}function N(s,e,o){let{filter:r={"":""},sort:[t,c]}=o;const{filter:a="",group:f="",sort:d,order:p="asc"}=P(s,e);return n.isUndefined(d)?f in r&&a===r[f]||!a&&f&&!(f in r)&&!r[""]:t===d&&c===p}function H(s,e){return s.length===e.length&&s.every(o=>~e.indexOf(o))}function j(s){let{filter:e}=s,o="";return n.each(e,r=>o+=r||""),o}function D(s,e,o){return[...s].sort((r,t)=>n.data(r,e).localeCompare(n.data(t,e),void 0,{numeric:!0})*(o==="asc"||-1))}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",b),b});