uikit 3.25.26 → 3.25.27-dev.9e97c1f

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 (226) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/build/prefix.js +1 -1
  3. package/build/publishDev.js +1 -1
  4. package/build/scope.js +1 -1
  5. package/build/scss.js +1 -1
  6. package/build/util.js +0 -2
  7. package/dist/css/uikit-core-rtl.css +1327 -1204
  8. package/dist/css/uikit-core-rtl.min.css +1 -1
  9. package/dist/css/uikit-core.css +1327 -1204
  10. package/dist/css/uikit-core.min.css +1 -1
  11. package/dist/css/uikit-rtl.css +1339 -1223
  12. package/dist/css/uikit-rtl.min.css +1 -1
  13. package/dist/css/uikit.css +1339 -1223
  14. package/dist/css/uikit.min.css +1 -1
  15. package/dist/js/components/countdown.js +1 -1
  16. package/dist/js/components/countdown.min.js +1 -1
  17. package/dist/js/components/filter.js +1 -1
  18. package/dist/js/components/filter.min.js +1 -1
  19. package/dist/js/components/lightbox-panel.js +149 -146
  20. package/dist/js/components/lightbox-panel.min.js +1 -1
  21. package/dist/js/components/lightbox.js +150 -147
  22. package/dist/js/components/lightbox.min.js +1 -1
  23. package/dist/js/components/marquee.js +215 -0
  24. package/dist/js/components/marquee.min.js +1 -0
  25. package/dist/js/components/notification.js +8 -6
  26. package/dist/js/components/notification.min.js +1 -1
  27. package/dist/js/components/parallax.js +8 -12
  28. package/dist/js/components/parallax.min.js +1 -1
  29. package/dist/js/components/slider-parallax.js +8 -12
  30. package/dist/js/components/slider-parallax.min.js +1 -1
  31. package/dist/js/components/slider.js +65 -26
  32. package/dist/js/components/slider.min.js +1 -1
  33. package/dist/js/components/slideshow-parallax.js +8 -12
  34. package/dist/js/components/slideshow-parallax.min.js +1 -1
  35. package/dist/js/components/slideshow.js +95 -103
  36. package/dist/js/components/slideshow.min.js +1 -1
  37. package/dist/js/components/sortable.js +1 -1
  38. package/dist/js/components/sortable.min.js +1 -1
  39. package/dist/js/components/tooltip.js +15 -17
  40. package/dist/js/components/tooltip.min.js +1 -1
  41. package/dist/js/components/upload.js +1 -1
  42. package/dist/js/components/upload.min.js +1 -1
  43. package/dist/js/uikit-core.js +888 -337
  44. package/dist/js/uikit-core.min.js +1 -1
  45. package/dist/js/uikit-icons.js +1 -1
  46. package/dist/js/uikit-icons.min.js +1 -1
  47. package/dist/js/uikit.js +766 -433
  48. package/dist/js/uikit.min.js +1 -1
  49. package/package.json +1 -1
  50. package/src/js/api/component.js +2 -3
  51. package/src/js/api/observables.js +16 -4
  52. package/src/js/api/options.js +6 -3
  53. package/src/js/api/props.js +1 -3
  54. package/src/js/api/state.js +7 -8
  55. package/src/js/components/index.js +1 -0
  56. package/src/js/components/internal/lightbox-animations.js +7 -26
  57. package/src/js/components/internal/slider-preload.js +1 -0
  58. package/src/js/components/internal/slideshow-animations.js +15 -62
  59. package/src/js/components/lightbox-panel.js +123 -109
  60. package/src/js/components/lightbox.js +5 -8
  61. package/src/js/components/marquee.js +156 -0
  62. package/src/js/components/notification.js +7 -5
  63. package/src/js/core/accordion.js +62 -31
  64. package/src/js/core/alert.js +1 -1
  65. package/src/js/core/drop.js +4 -3
  66. package/src/js/core/dropnav.js +13 -32
  67. package/src/js/core/grid.js +5 -19
  68. package/src/js/core/margin.js +3 -0
  69. package/src/js/core/overflow-auto.js +5 -1
  70. package/src/js/core/sticky.js +1 -1
  71. package/src/js/core/switcher.js +18 -62
  72. package/src/js/core/video.js +236 -21
  73. package/src/js/mixin/connect.js +90 -0
  74. package/src/js/mixin/internal/slideshow-animations.js +5 -13
  75. package/src/js/mixin/internal/slideshow-transitioner.js +2 -2
  76. package/src/js/mixin/parallax.js +1 -4
  77. package/src/js/mixin/position.js +1 -1
  78. package/src/js/mixin/scroll-driven.js +57 -0
  79. package/src/js/mixin/slider-nav.js +2 -12
  80. package/src/js/mixin/slider-parallax.js +9 -38
  81. package/src/js/mixin/togglable.js +13 -14
  82. package/src/js/util/attr.js +7 -7
  83. package/src/js/util/dom.js +3 -4
  84. package/src/js/util/keys.js +14 -0
  85. package/src/js/util/lang.js +2 -2
  86. package/src/js/util/player.js +4 -2
  87. package/src/js/util/style.js +12 -13
  88. package/src/js/util/viewport.js +22 -25
  89. package/src/less/components/_import.less +8 -3
  90. package/src/less/components/animation.less +1 -1
  91. package/src/less/components/base.less +1 -1
  92. package/src/less/components/button.less +1 -1
  93. package/src/less/components/card.less +8 -8
  94. package/src/less/components/dropcap.less +71 -0
  95. package/src/less/components/floating-shadow.less +66 -0
  96. package/src/less/components/form.less +15 -15
  97. package/src/less/components/grid.less +58 -65
  98. package/src/less/components/lightbox.less +2 -8
  99. package/src/less/components/logo.less +94 -0
  100. package/src/less/components/margin.less +155 -124
  101. package/src/less/components/marquee.less +133 -0
  102. package/src/less/components/modal.less +1 -4
  103. package/src/less/components/nav.less +1 -1
  104. package/src/less/components/navbar.less +1 -1
  105. package/src/less/components/padding.less +9 -9
  106. package/src/less/components/position.less +9 -4
  107. package/src/less/components/search.less +1 -1
  108. package/src/less/components/slideshow.less +1 -4
  109. package/src/less/components/switcher.less +5 -2
  110. package/src/less/components/table.less +4 -4
  111. package/src/less/components/text.less +10 -4
  112. package/src/less/components/utility.less +0 -163
  113. package/src/less/components/visibility.less +4 -4
  114. package/src/less/theme/_import.less +6 -2
  115. package/src/less/theme/alert.less +0 -5
  116. package/src/less/theme/dropcap.less +29 -0
  117. package/src/less/theme/floating-shadow.less +20 -0
  118. package/src/less/theme/logo.less +29 -0
  119. package/src/less/theme/marquee.less +14 -0
  120. package/src/less/theme/thumbnav.less +1 -4
  121. package/src/less/theme/utility.less +0 -32
  122. package/src/scss/components/_import.scss +8 -3
  123. package/src/scss/components/animation.scss +1 -1
  124. package/src/scss/components/base.scss +1 -1
  125. package/src/scss/components/button.scss +1 -1
  126. package/src/scss/components/card.scss +8 -8
  127. package/src/scss/components/dropcap.scss +63 -0
  128. package/src/scss/components/floating-shadow.scss +63 -0
  129. package/src/scss/components/form.scss +14 -14
  130. package/src/scss/components/grid.scss +57 -64
  131. package/src/scss/components/lightbox.scss +2 -8
  132. package/src/scss/components/logo.scss +75 -0
  133. package/src/scss/components/margin.scss +155 -124
  134. package/src/scss/components/marquee.scss +136 -0
  135. package/src/scss/components/modal.scss +1 -4
  136. package/src/scss/components/nav.scss +1 -1
  137. package/src/scss/components/navbar.scss +1 -1
  138. package/src/scss/components/padding.scss +9 -9
  139. package/src/scss/components/position.scss +9 -4
  140. package/src/scss/components/search.scss +1 -1
  141. package/src/scss/components/slideshow.scss +1 -4
  142. package/src/scss/components/switcher.scss +5 -2
  143. package/src/scss/components/table.scss +4 -4
  144. package/src/scss/components/text.scss +10 -4
  145. package/src/scss/components/utility.scss +0 -129
  146. package/src/scss/components/visibility.scss +4 -4
  147. package/src/scss/mixins-theme.scss +44 -43
  148. package/src/scss/mixins.scss +40 -31
  149. package/src/scss/variables-theme.scss +14 -14
  150. package/src/scss/variables.scss +14 -14
  151. package/tests/accordion.html +77 -10
  152. package/tests/alert.html +1 -1
  153. package/tests/align.html +5 -5
  154. package/tests/animation.html +4 -4
  155. package/tests/article.html +7 -7
  156. package/tests/background.html +2 -2
  157. package/tests/badge.html +1 -1
  158. package/tests/base.html +2 -2
  159. package/tests/button.html +1 -1
  160. package/tests/card.html +15 -15
  161. package/tests/close.html +2 -2
  162. package/tests/comment.html +9 -9
  163. package/tests/container.html +2 -2
  164. package/tests/countdown.html +21 -21
  165. package/tests/cover.html +3 -3
  166. package/tests/description-list.html +1 -1
  167. package/tests/divider.html +3 -3
  168. package/tests/dotnav.html +1 -1
  169. package/tests/drop.html +7 -7
  170. package/tests/dropbar.html +5 -5
  171. package/tests/dropcap.html +26 -0
  172. package/tests/dropdown.html +1 -1
  173. package/tests/dropnav.html +18 -18
  174. package/tests/filter.html +3 -3
  175. package/tests/floating-shadow.html +44 -0
  176. package/tests/form.html +14 -14
  177. package/tests/grid.html +41 -47
  178. package/tests/heading.html +2 -2
  179. package/tests/height-viewport.html +4 -4
  180. package/tests/height.html +5 -5
  181. package/tests/icon.html +8 -8
  182. package/tests/image.html +6 -6
  183. package/tests/index.html +13 -13
  184. package/tests/js/index.js +1 -1
  185. package/tests/leader.html +5 -5
  186. package/tests/lightbox.html +6 -6
  187. package/tests/link.html +1 -1
  188. package/tests/list.html +4 -4
  189. package/tests/logo.html +84 -0
  190. package/tests/margin.html +59 -7
  191. package/tests/marker.html +3 -3
  192. package/tests/marquee.html +617 -0
  193. package/tests/modal.html +3 -3
  194. package/tests/nav.html +5 -5
  195. package/tests/navbar.html +27 -27
  196. package/tests/notification.html +8 -2
  197. package/tests/offcanvas.html +12 -12
  198. package/tests/overlay.html +3 -3
  199. package/tests/padding.html +1 -1
  200. package/tests/pagination.html +3 -3
  201. package/tests/parallax.html +1 -1
  202. package/tests/position.html +6 -6
  203. package/tests/scrollspy.html +13 -13
  204. package/tests/search.html +5 -5
  205. package/tests/section.html +17 -17
  206. package/tests/slidenav.html +3 -3
  207. package/tests/slider.html +5 -5
  208. package/tests/slideshow.html +33 -3
  209. package/tests/sortable.html +15 -15
  210. package/tests/sticky-navbar.html +4 -4
  211. package/tests/sticky-parallax.html +3 -3
  212. package/tests/sticky.html +3 -3
  213. package/tests/svg.html +3 -2
  214. package/tests/switcher.html +7 -7
  215. package/tests/tab.html +5 -5
  216. package/tests/text.html +9 -3
  217. package/tests/tile.html +4 -4
  218. package/tests/toggle.html +1 -1
  219. package/tests/tooltip.html +3 -3
  220. package/tests/totop.html +2 -2
  221. package/tests/transition.html +1 -1
  222. package/tests/upload.html +5 -5
  223. package/tests/utility.html +16 -116
  224. package/tests/video.html +224 -24
  225. package/tests/visibility.html +4 -4
  226. package/tests/width.html +12 -12
@@ -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.9e97c1f | 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,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
+ /*! UIkit 3.25.27-dev.9e97c1f | 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.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.27-dev.9e97c1f | 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(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,r)=>{const[c,t]=r.split(/:(.*)/);return c&&!n.isUndefined(t)&&(o[c.trim()]=t.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:r,events:c=[]}of e._updates){if(!s.has("update")&&!c.some(a=>s.has(a)))continue;let t;o&&(t=o.call(e,e._data,s),t&&n.isPlainObject(t)&&n.assign(e._data,t)),r&&t!==!1&&n.fastdom.write(()=>{e._connected&&r.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:r}]}of e)if(s===this.$el&&!o&&!r)return;this.$emit("resize")},target:({$el:e})=>[e,...n.children(e)]});function B(e){const s=[[]],o=e.some((r,c)=>c&&e[c-1].offsetParent!==r.offsetParent);for(const r of e){if(!n.isVisible(r))continue;const c=P(r,o);for(let t=s.length-1;t>=0;t--){const a=s[t];if(!a[0]){a.push(r);break}const d=P(a[0],o);if(c.top>=d.bottom-1&&c.top!==d.top){s.push([r]);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,r);break}if(t===0){s.unshift([r]);break}}}return s}function P(e,s=!1){let{offsetTop:o,offsetLeft:r,offsetHeight:c}=e;return s&&([o,r]=n.offsetPosition(e)),{top:o,left:r,bottom:o+c}}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,r=0){const c=T(s,!0),t={opacity:1},a={opacity:0},d=()=>c===T(s),h=p=>()=>d()?p():Promise.reject(),l=h(async()=>{n.addClass(s,C),await(r?q(s).reduce(async(p,i,u,w)=>{if(await p,!n.isInView(i)||!d()){n.css(i,a);return}await g(r);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(r?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);const u=[];let w=o/2;if(r){const f=q(s);n.css(n.children(s),a),u.push(f.reduce(async(m,b,Z,k)=>{if(await m,!n.isInView(b)||!d()){n.resetProps(b,t);return}await g(r);const U=n.Transition.start(b,t,o/2,"ease").then(()=>d()&&n.resetProps(b,t));k.length-1===Z&&await U},Promise.resolve())),w+=f.length*r}if(!r||p!==i){const f={height:i,...r?{}:t};u.push(n.Transition.start(s,f,w,"ease"))}await Promise.all(u),n.removeClass(s,S),d()&&(n.resetProps(s,{height:"",alignContent:"",...t}),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 r=n.children(s);const c=r.map(f=>z(f,!0)),t={...n.css(s,["height","padding"]),display:"block"},a=r.filter(f=>n.isInView(f)),d=r.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(r,f));r=r.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,r,c),u=r.map(f=>({style:n.attr(f,"style")}));a.push(...r.filter(f=>n.isInView(f))),r.forEach((f,m)=>i[m]&&n.css(f,i[m])),n.css(s,t),n.trigger(s,"scroll"),await F();const w=r.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),r.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(r,"style",""),n.resetProps(s,t)}}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 r=s.map((t,a)=>n.parent(t)&&a in o?o[a]?n.isVisible(t)?A(t):{opacity:0}:{opacity:n.isVisible(t)?1:0}:!1),c=r.map((t,a)=>{const d=n.parent(s[a])===e&&(o[a]||z(s[a]));if(!d)return!1;if(!t)delete d.opacity;else if(!("opacity"in t)){const{opacity:h}=d;h%1?t.opacity=1:delete d.opacity}return d});return[r,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 r=X(o);n.isTag(r,"a")&&(r.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 r=()=>G(e,o,n.children(o));return s?this.animate(r,o):r()})),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 t of o)n.css(t,"display",Object.values(e.filter).every(a=>!a||n.matches(t,a))?"":"none");const[r,c]=e.sort;if(r){const t=Q(o,r,c);n.isEqual(t,o)||n.append(s,t)}}function V(e,s,o){const{filter:r,group:c,sort:t,order:a="asc"}=M(e,s);return(r||n.isUndefined(t))&&(c?r?(delete o.filter[""],o.filter[c]=r):(delete o.filter[c],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":r||""})):o.filter={"":r||""}),n.isUndefined(t)||(o.sort=[t,a]),o}function K(e,s,{filter:o={"":""},sort:[r,c]}){const{filter:t="",group:a="",sort:d,order:h="asc"}=M(e,s),l=!a&&t===o[""],y=a in o&&t===o[a],p=!t&&a&&!(a in o)&&!o[""],i=l||y||p;return n.isUndefined(d)?i:r===d&&c===h&&(!(t||a)||i)}function Q(e,s,o){return[...e].sort((r,c)=>{const t=n.data(r,s)||"",a=n.data(c,s)||"";return(n.isNumeric(t)&&n.isNumeric(a)?t-a:t.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.27-dev.9e97c1f | 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,r)=>{const[c,t]=r.split(/:(.*)/);return c&&!n.isUndefined(t)&&(o[c.trim()]=t.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:r,events:c=[]}of e._updates){if(!s.has("update")&&!c.some(a=>s.has(a)))continue;let t;o&&(t=o.call(e,e._data,s),t&&n.isPlainObject(t)&&n.assign(e._data,t)),r&&t!==!1&&n.fastdom.write(()=>{e._connected&&r.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:r}]}of e)if(s===this.$el&&!o&&!r)return;this.$emit("resize")},target:({$el:e})=>[e,...n.children(e)]});function B(e){const s=[[]],o=e.some((r,c)=>c&&e[c-1].offsetParent!==r.offsetParent);for(const r of e){if(!n.isVisible(r))continue;const c=P(r,o);for(let t=s.length-1;t>=0;t--){const a=s[t];if(!a[0]){a.push(r);break}const d=P(a[0],o);if(c.top>=d.bottom-1&&c.top!==d.top){s.push([r]);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,r);break}if(t===0){s.unshift([r]);break}}}return s}function P(e,s=!1){let{offsetTop:o,offsetLeft:r,offsetHeight:c}=e;return s&&([o,r]=n.offsetPosition(e)),{top:o,left:r,bottom:o+c}}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,r=0){const c=T(s,!0),t={opacity:1},a={opacity:0},d=()=>c===T(s),h=p=>()=>d()?p():Promise.reject(),l=h(async()=>{n.addClass(s,C),await(r?q(s).reduce(async(p,i,u,w)=>{if(await p,!n.isInView(i)||!d()){n.css(i,a);return}await g(r);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(r?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);const u=[];let w=o/2;if(r){const f=q(s);n.css(n.children(s),a),u.push(f.reduce(async(m,b,Z,k)=>{if(await m,!n.isInView(b)||!d()){n.resetProps(b,t);return}await g(r);const U=n.Transition.start(b,t,o/2,"ease").then(()=>d()&&n.resetProps(b,t));k.length-1===Z&&await U},Promise.resolve())),w+=f.length*r}if(!r||p!==i){const f={height:i,...r?{}:t};u.push(n.Transition.start(s,f,w,"ease"))}await Promise.all(u),n.removeClass(s,S),d()&&(n.resetProps(s,{height:"",alignContent:"",...t}),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 r=n.children(s);const c=r.map(f=>z(f,!0)),t={...n.css(s,["height","padding"]),display:"block"},a=r.filter(f=>n.isInView(f)),d=r.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(r,f));r=r.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,r,c),u=r.map(f=>({style:n.attr(f,"style")}));a.push(...r.filter(f=>n.isInView(f))),r.forEach((f,m)=>i[m]&&n.css(f,i[m])),n.css(s,t),n.trigger(s,"scroll"),await F();const w=r.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),r.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(r,"style",""),n.resetProps(s,t)}}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 r=s.map((t,a)=>n.parent(t)&&a in o?o[a]?n.isVisible(t)?A(t):{opacity:0}:{opacity:n.isVisible(t)?1:0}:!1),c=r.map((t,a)=>{const d=n.parent(s[a])===e&&(o[a]||z(s[a]));if(!d)return!1;if(!t)delete d.opacity;else if(!("opacity"in t)){const{opacity:h}=d;h%1?t.opacity=1:delete d.opacity}return d});return[r,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 r=X(o);n.isTag(r,"a")&&(r.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 r=()=>G(e,o,n.children(o));return s?this.animate(r,o):r()})),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 t of o)n.css(t,"display",Object.values(e.filter).every(a=>!a||n.matches(t,a))?"":"none");const[r,c]=e.sort;if(r){const t=Q(o,r,c);n.isEqual(t,o)||n.append(s,t)}}function V(e,s,o){const{filter:r,group:c,sort:t,order:a="asc"}=M(e,s);return(r||n.isUndefined(t))&&(c?r?(delete o.filter[""],o.filter[c]=r):(delete o.filter[c],(n.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":r||""})):o.filter={"":r||""}),n.isUndefined(t)||(o.sort=[t,a]),o}function K(e,s,{filter:o={"":""},sort:[r,c]}){const{filter:t="",group:a="",sort:d,order:h="asc"}=M(e,s),l=!a&&t===o[""],y=a in o&&t===o[a],p=!t&&a&&!(a in o)&&!o[""],i=l||y||p;return n.isUndefined(d)?i:r===d&&c===h&&(!(t||a)||i)}function Q(e,s,o){return[...e].sort((r,c)=>{const t=n.data(r,s)||"",a=n.data(c,s)||"";return(n.isNumeric(t)&&n.isNumeric(a)?t-a:t.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.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.27-dev.9e97c1f | 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')) :
@@ -256,13 +256,12 @@
256
256
  }
257
257
  if (isUndefined(value)) {
258
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
- }
259
+ }
260
+ for (const el of toNodes(element)) {
261
+ if (value === null) {
262
+ removeAttr(el, name);
263
+ } else {
264
+ el.setAttribute(name, value);
266
265
  }
267
266
  }
268
267
  }
@@ -481,6 +480,19 @@
481
480
  HOME: 36,
482
481
  LEFT: 37,
483
482
  RIGHT: 39};
483
+ function getNavigationIndex(keyCode, previousKey = keyMap.LEFT, nextKey = keyMap.RIGHT) {
484
+ switch (keyCode) {
485
+ case keyMap.HOME:
486
+ return 0;
487
+ case keyMap.END:
488
+ return "last";
489
+ case previousKey:
490
+ return "previous";
491
+ case nextKey:
492
+ return "next";
493
+ }
494
+ return -1;
495
+ }
484
496
 
485
497
  function maybeDefaultPreventClick(e) {
486
498
  if (e.target.closest('a[href="#"],a[href=""]')) {
@@ -610,20 +622,18 @@
610
622
  if (show) {
611
623
  _toggle(el, true);
612
624
  }
613
- const prevProps = Object.fromEntries(
614
- [
615
- "padding",
616
- "border",
617
- "width",
618
- "height",
619
- "minWidth",
620
- "minHeight",
621
- "overflowY",
622
- "overflowX",
623
- marginProp,
624
- marginStartProp
625
- ].map((key) => [key, el.style[key]])
626
- );
625
+ const prevProps = util.pick(el.style, [
626
+ "padding",
627
+ "border",
628
+ "width",
629
+ "height",
630
+ "minWidth",
631
+ "minHeight",
632
+ "overflowY",
633
+ "overflowX",
634
+ marginProp,
635
+ marginStartProp
636
+ ]);
627
637
  const dim = util.dimensions(el);
628
638
  const currentMargin = util.toFloat(util.css(el, marginProp));
629
639
  const marginStart = util.toFloat(util.css(el, marginStartProp));
@@ -897,18 +907,11 @@
897
907
 
898
908
  var Animations$1 = {
899
909
  slide: {
900
- show(dir) {
901
- return [{ transform: translate(dir * -100) }, { transform: translate() }];
902
- },
903
- percent(current) {
904
- return translated(current);
905
- },
906
- translate(percent, dir) {
907
- return [
908
- { transform: translate(dir * -100 * percent) },
909
- { transform: translate(dir * 100 * (1 - percent)) }
910
- ];
911
- }
910
+ percent: translated,
911
+ translate: (percent, dir) => [
912
+ { transform: translate(dir * -100 * percent) },
913
+ { transform: translate(dir * 100 * (1 - percent)) }
914
+ ]
912
915
  }
913
916
  };
914
917
  function translated(el) {
@@ -919,8 +922,8 @@
919
922
  }
920
923
 
921
924
  function Transitioner(prev, next, dir, { animation, easing }) {
922
- const { percent, translate, show = util.noop } = animation;
923
- const props = show(dir);
925
+ const { percent, translate } = animation;
926
+ const props = translate(1, dir);
924
927
  const { promise, resolve } = withResolvers();
925
928
  return {
926
929
  dir,
@@ -1204,7 +1207,7 @@
1204
1207
 
1205
1208
  util.memoize((id, props) => {
1206
1209
  const attributes = Object.keys(props);
1207
- const filter = attributes.concat(id).flatMap((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]);
1210
+ const filter = [...attributes, id].flatMap((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]);
1208
1211
  return { attributes, filter };
1209
1212
  });
1210
1213
 
@@ -1334,7 +1337,7 @@
1334
1337
  if (!util.isNumeric(cmd)) {
1335
1338
  return;
1336
1339
  }
1337
- let i = keyCode === keyMap.HOME ? 0 : keyCode === keyMap.END ? "last" : keyCode === keyMap.LEFT ? "previous" : keyCode === keyMap.RIGHT ? "next" : -1;
1340
+ const i = getNavigationIndex(keyCode);
1338
1341
  if (~i) {
1339
1342
  e.preventDefault();
1340
1343
  this.show(i);
@@ -1590,32 +1593,15 @@
1590
1593
  var Animations = {
1591
1594
  ...Animations$1,
1592
1595
  fade: {
1593
- show() {
1594
- return [{ opacity: 0 }, { opacity: 1 }];
1595
- },
1596
- percent(current) {
1597
- return 1 - util.css(current, "opacity");
1598
- },
1599
- translate(percent) {
1600
- return [{ opacity: 1 - percent }, { opacity: percent }];
1601
- }
1596
+ percent: (current) => 1 - util.css(current, "opacity"),
1597
+ translate: (percent) => [{ opacity: 1 - percent }, { opacity: percent }]
1602
1598
  },
1603
1599
  scale: {
1604
- show() {
1605
- return [
1606
- { opacity: 0, transform: scale3d(1 - 0.2) },
1607
- { opacity: 1, transform: scale3d(1) }
1608
- ];
1609
- },
1610
- percent(current) {
1611
- return 1 - util.css(current, "opacity");
1612
- },
1613
- translate(percent) {
1614
- return [
1615
- { opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
1616
- { opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
1617
- ];
1618
- }
1600
+ percent: (current) => 1 - util.css(current, "opacity"),
1601
+ translate: (percent) => [
1602
+ { opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
1603
+ { opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
1604
+ ]
1619
1605
  }
1620
1606
  };
1621
1607
 
@@ -1747,16 +1733,7 @@
1747
1733
  if (!this.isToggled() || !this.draggable) {
1748
1734
  return;
1749
1735
  }
1750
- let i = -1;
1751
- if (keyCode === keyMap.LEFT) {
1752
- i = "previous";
1753
- } else if (keyCode === keyMap.RIGHT) {
1754
- i = "next";
1755
- } else if (keyCode === keyMap.HOME) {
1756
- i = 0;
1757
- } else if (keyCode === keyMap.END) {
1758
- i = "last";
1759
- }
1736
+ const i = getNavigationIndex(keyCode);
1760
1737
  if (~i) {
1761
1738
  this.show(i);
1762
1739
  }
@@ -1798,81 +1775,22 @@
1798
1775
  if (!src) {
1799
1776
  return;
1800
1777
  }
1801
- let matches2;
1802
- const iframeAttrs = {
1803
- allowfullscreen: "",
1804
- style: "max-width: 100%; box-sizing: border-box;",
1805
- "uk-responsive": "",
1806
- "uk-video": Boolean(this.videoAutoplay)
1807
- };
1808
- if (type === "image" || isImage(src)) {
1809
- const img = createEl("img");
1810
- wrapInPicture(img, item.sources);
1811
- util.attr(img, {
1812
- src,
1813
- ...util.pick(item, ["alt", "srcset", "sizes"]),
1814
- ...attrs
1815
- });
1816
- util.on(img, "load", () => this.setItem(item, util.parent(img) || img));
1817
- util.on(img, "error", () => this.setError(item));
1818
- } else if (type === "video" || isVideo(src)) {
1819
- const inline = this.videoAutoplay === "inline";
1820
- const video = createEl("video", {
1821
- src,
1822
- playsinline: "",
1823
- controls: inline ? null : "",
1824
- loop: inline ? "" : null,
1825
- muted: inline ? "" : null,
1826
- poster: this.videoAutoplay ? null : item.poster,
1827
- "uk-video": Boolean(this.videoAutoplay),
1828
- ...attrs
1829
- });
1830
- util.on(video, "loadedmetadata", () => this.setItem(item, video));
1831
- util.on(video, "error", () => this.setError(item));
1832
- } else if (type === "iframe" || src.match(/\.(html|php)($|\?)/i)) {
1833
- this.setItem(
1834
- item,
1835
- createEl("iframe", {
1836
- src,
1837
- allowfullscreen: "",
1838
- class: "uk-lightbox-iframe",
1839
- ...attrs
1840
- })
1841
- );
1842
- } else if (matches2 = src.match(
1843
- /\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
1844
- )) {
1845
- this.setItem(
1846
- item,
1847
- createEl("iframe", {
1848
- src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
1849
- width: 1920,
1850
- height: 1080,
1851
- ...iframeAttrs,
1852
- ...attrs
1853
- })
1854
- );
1855
- } else if (matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/)) {
1856
- try {
1857
- const { height, width } = await (await fetch(
1858
- `https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(
1859
- src
1860
- )}`,
1861
- { credentials: "omit" }
1862
- )).json();
1863
- this.setItem(
1864
- item,
1865
- createEl("iframe", {
1866
- src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
1867
- width,
1868
- height,
1869
- ...iframeAttrs,
1870
- ...attrs
1871
- })
1872
- );
1873
- } catch {
1874
- this.setError(item);
1778
+ try {
1779
+ for (const loader of [
1780
+ loadImage,
1781
+ loadVideo,
1782
+ loadIframe,
1783
+ loadYouTube,
1784
+ loadVimeo
1785
+ ]) {
1786
+ const content = await loader({ src, type, attrs, item, cmp: this });
1787
+ if (content) {
1788
+ this.setItem(item, content);
1789
+ return;
1790
+ }
1875
1791
  }
1792
+ } catch {
1793
+ this.setError(item);
1876
1794
  }
1877
1795
  }
1878
1796
  },
@@ -1932,6 +1850,91 @@
1932
1850
  util.attr(el, attrs);
1933
1851
  return el;
1934
1852
  }
1853
+ async function loadImage({ src, type, attrs, item }) {
1854
+ if (type !== "image" && !isImage(src)) {
1855
+ return;
1856
+ }
1857
+ const img = createEl("img");
1858
+ wrapInPicture(img, item.sources);
1859
+ util.attr(img, {
1860
+ src,
1861
+ ...util.pick(item, ["alt", "srcset", "sizes"]),
1862
+ ...attrs
1863
+ });
1864
+ await img.decode();
1865
+ return util.parent(img) || img;
1866
+ }
1867
+ function loadVideo({ src, type, attrs, item, cmp }) {
1868
+ if (type !== "video" && !isVideo(src)) {
1869
+ return;
1870
+ }
1871
+ const inline = cmp.videoAutoplay === "inline";
1872
+ const video = createEl("video", {
1873
+ src,
1874
+ playsinline: "",
1875
+ controls: inline ? null : "",
1876
+ loop: inline ? "" : null,
1877
+ muted: inline ? "" : null,
1878
+ poster: cmp.videoAutoplay ? null : item.poster,
1879
+ "uk-video": Boolean(cmp.videoAutoplay),
1880
+ ...attrs
1881
+ });
1882
+ return new Promise((resolve, reject) => {
1883
+ util.on(video, "loadedmetadata", () => resolve(video));
1884
+ util.on(video, "error", reject);
1885
+ });
1886
+ }
1887
+ function loadIframe({ src, type, attrs }) {
1888
+ if (type !== "iframe" && !/\.(html|php)($|\?)/i.test(src)) {
1889
+ return;
1890
+ }
1891
+ return createEl("iframe", {
1892
+ src,
1893
+ allowfullscreen: "",
1894
+ class: "uk-lightbox-iframe",
1895
+ ...attrs
1896
+ });
1897
+ }
1898
+ function loadYouTube({ src, attrs, cmp }) {
1899
+ const matches2 = src.match(
1900
+ /\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
1901
+ );
1902
+ if (!matches2) {
1903
+ return;
1904
+ }
1905
+ return createEl("iframe", {
1906
+ src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
1907
+ width: 1920,
1908
+ height: 1080,
1909
+ ...getIframeAttrs(cmp),
1910
+ ...attrs
1911
+ });
1912
+ }
1913
+ async function loadVimeo({ src, attrs, cmp }) {
1914
+ const matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);
1915
+ if (!matches2) {
1916
+ return;
1917
+ }
1918
+ const { height, width } = await (await fetch(
1919
+ `https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(src)}`,
1920
+ { credentials: "omit" }
1921
+ )).json();
1922
+ return createEl("iframe", {
1923
+ src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
1924
+ width,
1925
+ height,
1926
+ ...getIframeAttrs(cmp),
1927
+ ...attrs
1928
+ });
1929
+ }
1930
+ function getIframeAttrs(cmp) {
1931
+ return {
1932
+ allowfullscreen: "",
1933
+ style: "max-width: 100%; box-sizing: border-box;",
1934
+ "uk-responsive": "",
1935
+ "uk-video": Boolean(cmp.videoAutoplay)
1936
+ };
1937
+ }
1935
1938
  function toThumbnavItem(item, videoAutoplay) {
1936
1939
  const el = item.poster || item.thumb && (item.type === "image" || isImage(item.thumb)) ? createEl("img", { src: item.poster || item.thumb, alt: "" }) : item.thumb && (item.type === "video" || isVideo(item.thumb)) ? createEl("video", {
1937
1940
  src: item.thumb,
@@ -1 +1 @@
1
- /*! UIkit 3.25.26 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(s,$){typeof exports=="object"&&typeof module<"u"?module.exports=$(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox_panel",["uikit-util"],$):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitLightbox_panel=$(s.UIkit.util))})(this,(function(s){"use strict";function $(t,e="update"){t._connected&&t._updates.length&&(t._updateCount||(t._updateCount=0,requestAnimationFrame(()=>t._updateCount=0)),t._queued||(t._queued=new Set,s.fastdom.read(()=>{t._connected&&vt(t,t._queued),t._queued=null})),t._updateCount++<20&&t._queued.add(e.type||e))}function vt(t,e){for(const{read:i,write:n,events:r=[]}of t._updates){if(!e.has("update")&&!r.some(a=>e.has(a)))continue;let o;i&&(o=i.call(t,t._data,e),o&&s.isPlainObject(o)&&s.assign(t._data,o)),n&&o!==!1&&s.fastdom.write(()=>{t._connected&&n.call(t,t._data,e)})}}function bt(t){return W(s.observeResize,t,"resize")}function xt(t){return W(s.observeIntersection,t)}function W(t,e,i){return{observe:t,handler(){$(this,i)},...e}}function wt(t,e=[]){try{return t?s.startsWith(t,"{")?JSON.parse(t):e.length&&!s.includes(t,":")?{[e[0]]:t}:t.split(";").reduce((i,n)=>{const[r,o]=n.split(/:(.*)/);return r&&!s.isUndefined(o)&&(i[r.trim()]=o.trim()),i},{}):{}}catch{return{}}}xt({handler(t,e){this.load(),e.disconnect()},options:({margin:t})=>({rootMargin:t}),filter:({loading:t})=>t==="lazy",target:({$el:t,$props:e})=>e.target?[t,...s.queryAll(e.target,t)]:t});function $t(t,e){if(e=kt(e),e.length){const i=s.fragment("<picture>");for(const n of e){const r=s.fragment("<source>");s.attr(r,n),s.append(i,r)}s.append(i,t)}}function kt(t){if(!t)return[];if(s.startsWith(t,"["))try{t=JSON.parse(t)}catch{t=[]}else t=wt(t);return(s.isArray(t)?t:[t]).filter(e=>!s.isEmpty(e))}function q(){return new Promise(t=>requestAnimationFrame(t))}let M;function yt(t){const e=s.on(t,"touchstart",r=>{if(r.targetTouches.length!==1||s.matches(r.target,'input[type="range"]'))return;let o=s.getEventPos(r).y;const a=s.on(t,"touchmove",h=>{const l=s.getEventPos(h).y;l!==o&&(o=l,s.scrollParents(h.target).some(c=>{if(!t.contains(c))return!1;let{scrollHeight:p,clientHeight:d}=c;return d<p})||h.preventDefault())},{passive:!1});s.once(t,"scroll touchend touchcancel",a,{capture:!0})},{passive:!0});if(M)return e;M=!0;const{scrollingElement:i}=document,n={overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",scrollbarGutter:s.width(window)-i.clientWidth?"stable":""};return s.css(i,n),()=>{M=!1,e(),s.resetProps(i,n)}}var Ct={connected(){this._cmpCls=s.hasClass(this.$el,this.$options.id),s.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||s.removeClass(this.$el,this.$options.id)}},It={props:{container:Boolean},data:{container:!0},computed:{container({container:t}){return t===!0&&this.$container||t&&s.$(t)}}};const U=typeof window<"u",j=U&&"ontouchstart"in window,D=U&&window.PointerEvent,At=D?"pointerdown":j?"touchstart":"mousedown",V=D?"pointerup":j?"touchend":"mouseup",Et=D?"pointercancel":"touchcancel",{isArray:G,from:St}=Array;function Tt(t){return typeof t=="function"}function O(t){return t!==null&&typeof t=="object"}function _t(t){return O(t)&&t===t.window}function Pt(t){return Q(t)===9}function J(t){return Q(t)>=1}function Q(t){return!_t(t)&&O(t)&&t.nodeType}function I(t){return typeof t=="string"}function Nt(t){return t===void 0}function k(t){return t&&b(t)[0]}function b(t){return J(t)?[t]:Array.from(t||[]).filter(J)}function X(t){const e=Object.create(null);return(i,...n)=>e[i]||(e[i]=t(i,...n))}function Y(t,e,i){var n;if(O(e)){for(const r in e)Y(t,r,e[r]);return}if(Nt(i))return(n=k(t))==null?void 0:n.getAttribute(e);for(const r of b(t))i===null?Mt(r,e):r.setAttribute(e,i)}function Mt(t,e){b(t).forEach(i=>i.removeAttribute(e))}function Dt(t){var e;return(e=k(t))==null?void 0:e.parentElement}function Ot(t,e){return b(t).filter(i=>Z(i,e))}function Z(t,e){return b(t).some(i=>i.matches(e))}function Lt(t,e){t=k(t);const i=t?St(t.children):[];return e?Ot(i,e):i}function K(t,e){return Lt(Dt(t)).indexOf(t)}function tt(t,e){return b(Rt(t,k(e),"querySelectorAll"))}const Bt=/([!>+~-])(?=\s+[!>+~-]|\s*$)/g,Ft=/(\([^)]*\)|[^,])+/g,zt=X(t=>{let e=!1;if(!t||!I(t))return{};const i=[];for(let n of t.match(Ft))n=n.trim().replace(Bt,"$1 *"),e||(e=["!","+","~","-",">"].includes(n[0])),i.push(n);return{selector:i.join(","),selectors:i,isContextSelector:e}}),Ht=/(\([^)]*\)|\S)*/,et=X(t=>{t=t.slice(1).trim();const[e]=t.match(Ht);return[e,t.slice(e.length+1)]});function Rt(t,e=document,i){var n;const r=zt(t);if(!r.isContextSelector)return r.selector?L(e,i,r.selector):t;t="";const o=r.selectors.length===1;for(let a of r.selectors){let h,l=e;if(a[0]==="!"&&([h,a]=et(a),l=(n=e.parentElement)==null?void 0:n.closest(h),!a&&o)||l&&a[0]==="-"&&([h,a]=et(a),l=l.previousElementSibling,l=Z(l,h)?l:null,!a&&o))return l;if(l){if(o)return a[0]==="~"||a[0]==="+"?(a=`:scope > :nth-child(${K(l)+1}) ${a}`,l=l.parentElement):a[0]===">"&&(a=`:scope ${a}`),L(l,i,a);t+=`${t?",":""}${Wt(l)} ${a}`}}return Pt(e)||(e=e.ownerDocument),L(e,i,t)}function L(t,e,i){try{return t[e](i)}catch{return null}}function Wt(t){const e=[];for(;t.parentNode;){const i=Y(t,"id");if(i){e.unshift(`#${qt(i)}`);break}else{let{tagName:n}=t;n!=="HTML"&&(n+=`:nth-child(${K(t)+1})`),e.unshift(n),t=t.parentNode}}return e.join(" > ")}function qt(t){return I(t)?CSS.escape(t):""}function B(...t){let[e,i,n,r,o=!1]=F(t);r.length>1&&(r=Gt(r)),o!=null&&o.self&&(r=Jt(r)),n&&(r=Vt(n,r));for(const a of i)for(const h of e)h.addEventListener(a,r,o);return()=>Ut(e,i,r,o)}function Ut(...t){let[e,i,,n,r=!1]=F(t);for(const o of i)for(const a of e)a.removeEventListener(o,n,r)}function jt(...t){const[e,i,n,r,o=!1,a]=F(t),h=B(e,i,n,l=>{const c=!a||a(l);c&&(h(),r(l,c))},o);return h}function F(t){return t[0]=Xt(t[0]),I(t[1])&&(t[1]=t[1].split(" ")),Tt(t[2])&&t.splice(2,0,!1),t}function Vt(t,e){return i=>{const n=t[0]===">"?tt(t,i.currentTarget).reverse().find(r=>r.contains(i.target)):i.target.closest(t);n&&(i.current=n,e.call(this,i),delete i.current)}}function Gt(t){return e=>G(e.detail)?t(e,...e.detail):t(e)}function Jt(t){return function(e){if(e.target===e.currentTarget||e.target===e.current)return t.call(null,e)}}function st(t){return t&&"addEventListener"in t}function Qt(t){return st(t)?t:k(t)}function Xt(t){return G(t)?t.map(Qt).filter(Boolean):I(t)?tt(t):st(t)?[t]:b(t)}const m={ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,RIGHT:39};function it(t){t.target.closest('a[href="#"],a[href=""]')&&t.preventDefault()}function Yt(t,e=()=>!0){return B(document,"keydown",i=>{i.keyCode===m.ESC&&e()&&t(i)})}function Zt(t,e,i){return B(document,At,({target:n})=>{!e(n)||i&&!i()||jt(document,`${V} ${Et} scroll`,({defaultPrevented:r,type:o,target:a})=>{!r&&o===V&&n===a&&t(n)},!0)})}var Kt={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:t})=>!!t[0],hasTransition:({animation:t})=>["slide","reveal"].some(e=>s.startsWith(t[0],e))},methods:{async toggleElement(t,e,i){const n={};return(await Promise.all(s.toNodes(t).map(r=>{const o=s.isBoolean(e)?e:!this.isToggled(r);if(!s.trigger(r,`before${o?"show":"hide"}`,[this]))return n;const a=(s.isFunction(i)?i:i===!1||!this.hasAnimation?te:this.hasTransition?ee:se)(r,o,this),h=o?this.clsEnter:this.clsLeave;s.addClass(r,h),s.trigger(r,o?"show":"hide",[this]);const l=()=>{var c;s.removeClass(r,h),s.trigger(r,o?"shown":"hidden",[this]),o&&((c=s.$$("[autofocus]",r).find(s.isVisible))==null||c.focus({preventScroll:!0}))};return a?a.then(l,()=>(s.removeClass(r,h),n)):l()}))).every(r=>r!==n)},isToggled(t=this.$el){return t=s.toNode(t),s.hasClass(t,this.clsEnter)?!0:s.hasClass(t,this.clsLeave)?!1:this.cls?s.hasClass(t,this.cls.split(" ")[0]):s.isVisible(t)},_toggle(t,e){if(!t)return;e=!!e;let i;this.cls?(i=s.includes(this.cls," ")||e!==s.hasClass(t,this.cls),i&&s.toggleClass(t,this.cls,s.includes(this.cls," ")?void 0:e)):(i=e===t.hidden,i&&(t.hidden=!e)),i&&s.trigger(t,"toggled",[e,this])}}};function te(t,e,{_toggle:i}){return s.Animation.cancel(t),s.Transition.cancel(t),i(t,e)}async function ee(t,e,{animation:i,duration:n,velocity:r,transition:o,_toggle:a}){var h;const[l="reveal",c="top"]=((h=i[0])==null?void 0:h.split("-"))||[],p=[["left","right"],["top","bottom"]],d=p[s.includes(p[0],c)?0:1],f=d[1]===c,g=["width","height"][p.indexOf(d)],w=`margin-${d[0]}`,P=`margin-${c}`;let y=s.dimensions(t)[g];const Ee=s.Transition.inProgress(t);await s.Transition.cancel(t),e&&a(t,!0);const Se=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",w,P].map(gt=>[gt,t.style[gt]])),C=s.dimensions(t),R=s.toFloat(s.css(t,w)),ut=s.toFloat(s.css(t,P)),x=C[g]+ut;!Ee&&!e&&(y+=ut);const[N]=s.wrapInner(t,"<div>");s.css(N,{boxSizing:"border-box",height:C.height,width:C.width,...s.css(t,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",P])}),s.css(t,{padding:0,border:0,minWidth:0,minHeight:0,[P]:0,width:C.width,height:C.height,overflow:"hidden",[g]:y});const pt=y/x;n=(r*x+n)*(e?1-pt:pt);const mt={[g]:e?x:0};f&&(s.css(t,w,x-y+R),mt[w]=e?R:x+R),!f^l==="reveal"&&(s.css(N,w,-x+y),s.Transition.start(N,{[w]:e?0:-x},n,o));try{await s.Transition.start(t,mt,n,o)}finally{s.css(t,Se),s.unwrap(N.firstChild),e||a(t,!1)}}async function se(t,e,i){const{animation:n,duration:r,_toggle:o}=i;if(e)return o(t,!0),s.Animation.in(t,n[0],r,i.origin);await s.Animation.out(t,n[1]||n[0],r,i.origin),o(t,!1)}const u=[],A=new WeakMap;var ie={mixins:[Ct,It,Kt],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean,role:String},data:{cls:"uk-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1,role:"dialog"},computed:{panel:({selPanel:t},e)=>s.$(t,e),transitionElement(){return this.panel}},connected(){const t=this.panel||this.$el;t.role=this.role,this.overlay&&(t.ariaModal=!0)},beforeDisconnect(){s.includes(u,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:({selClose:t})=>`${t},a[href*="#"]`,handler(t){const{current:e,defaultPrevented:i}=t,{hash:n}=e;!i&&n&&s.isSameSiteAnchor(e)&&!this.$el.contains(s.$(n))?this.hide():s.matches(e,this.selClose)&&(it(t),this.hide())}},{name:"toggle",self:!0,handler(t,e){t.defaultPrevented||(t.preventDefault(),this.target=e==null?void 0:e.$el,this.isToggled()===s.includes(u,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(t){if(s.includes(u,this))return!1;!this.stack&&u.length?(Promise.all(u.map(e=>e.hide())).then(this.show),t.preventDefault()):u.push(this)}},{name:"show",self:!0,handler(){this.stack&&s.css(this.$el,"zIndex",s.toFloat(s.css(this.$el,"zIndex"))+u.length);const t=[this.overlay&&ne(this),this.overlay&&yt(this.$el),this.bgClose&&re(this),this.escClose&&oe(this)];s.once(this.$el,"hidden",()=>t.forEach(e=>e&&e()),{self:!0}),s.addClass(document.documentElement,this.clsPage),rt(this.target,!0)}},{name:"shown",self:!0,handler(){s.isFocusable(this.$el)||(this.$el.tabIndex=-1),s.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){s.includes(u,this)&&u.splice(u.indexOf(this),1),s.css(this.$el,"zIndex","");const{target:t}=this;u.some(e=>e.clsPage===this.clsPage)||(s.removeClass(document.documentElement,this.clsPage),queueMicrotask(()=>{s.isFocusable(t)&&t.focus({preventScroll:!0})})),rt(t,!1),this.target=null}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},async show(){return this.container&&s.parent(this.$el)!==this.container&&(s.append(this.container,this.$el),await q()),this.toggleElement(this.$el,!0,nt)},hide(){return this.toggleElement(this.$el,!1,nt)}}};function nt(t,e,{transitionElement:i,_toggle:n}){let r;return new Promise((o,a)=>s.once(t,"show hide",()=>{var h,l,c;(h=A.get(t))==null||h(),r=a,A.set(t,a),n(t,e),Promise.all(((c=(l=i==null?void 0:i.getAnimations)==null?void 0:l.call(i))!=null?c:[]).map(({finished:p})=>p)).then(o,a)})).then(()=>{A.get(t)===r&&A.delete(t)})}function ne(t){return s.on(document,"focusin",e=>{if(s.last(u)!==t||t.$el.contains(e.target))return;const{left:i,top:n,width:r,height:o}=s.dimensions(e.target),a=document.elementFromPoint(i+r/2,n+o/2);a&&(e.target.contains(a)||a.contains(e.target))||t.$el.focus()})}function re(t){return Zt(()=>t.hide(),e=>(!t.overlay||t.$el.contains(e))&&!!t.panel&&!t.panel.contains(e),()=>s.last(u)===t)}function oe(t){return Yt(()=>t.hide(),()=>s.last(u)===t)}function rt(t,e){t!=null&&t.ariaExpanded&&(t.ariaExpanded=e)}var z={slide:{show(t){return[{transform:E(t*-100)},{transform:E()}]},percent(t){return ae(t)},translate(t,e){return[{transform:E(e*-100*t)},{transform:E(e*100*(1-t))}]}}};function ae(t){return Math.abs(new DOMMatrix(s.css(t,"transform")).m41/t.offsetWidth)}function E(t=0,e="%"){return t?`translate3d(${t+e}, 0, 0)`:""}function he(t,e,i,{animation:n,easing:r}){const{percent:o,translate:a,show:h=s.noop}=n,l=h(i),{promise:c,resolve:p}=le();return{dir:i,show(d,f=0,ft){const g=ft?"linear":r;return d-=Math.round(d*s.clamp(f,-1,1)),this.translate(f),S(e,"itemin",{percent:f,duration:d,timing:g,dir:i}),S(t,"itemout",{percent:1-f,duration:d,timing:g,dir:i}),Promise.all([s.Transition.start(e,l[1],d,g),s.Transition.start(t,l[0],d,g)]).then(()=>{this.reset(),p()},s.noop),c},cancel(){return s.Transition.cancel([e,t])},reset(){s.resetProps([e,t],l[0])},async forward(d,f=this.percent()){return await this.cancel(),this.show(d,f,!0)},translate(d){this.reset();const f=a(d,i);s.css(e,f[1]),s.css(t,f[0]),S(e,"itemtranslatein",{percent:d,dir:i}),S(t,"itemtranslateout",{percent:1-d,dir:i})},percent(){return o(t||e,e,i)},getDistance(){return t==null?void 0:t.offsetWidth}}}function S(t,e,i){s.trigger(t,s.createEvent(e,!1,!1,i))}function le(){let t;return{promise:new Promise(e=>t=e),resolve:t}}var ce={props:{i18n:Object},data:{i18n:null},methods:{t(t,...e){var i,n,r;let o=0;return((r=((i=this.i18n)==null?void 0:i[t])||((n=this.$options.i18n)==null?void 0:n[t]))==null?void 0:r.replace(/%s/g,()=>e[o++]||""))||""}}},de={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){s.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){s.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter:({autoplay:t})=>t,handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||!s.isVisible(this.$el)||this.draggable&&s.matches(this.$el,":focus-within")&&!s.matches(this.$el,":focus")||this.pauseOnHover&&s.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const T={passive:!1,capture:!0},fe="touchstart mousedown",H="touchmove mousemove",ue="touchend touchcancel mouseup click input scroll";var pe={props:{draggable:Boolean},data:{draggable:!0,threshold:10,angleThreshold:45},created(){for(const t of["start","move","end"]){const e=this[t];this[t]=i=>{const n=s.getEventPos(i);s.isRtl&&(n.x=-n.x),this.prevPos=s.isEqual(n,this.pos)?this.prevPos:this.pos,this.pos=n,e(i)}}},events:[{name:fe,passive:!0,delegate:({selList:t})=>`${t} > *`,handler(t){!this.draggable||this.parallax||!s.isTouch(t)&&me(t.target)||t.target.closest(s.selInput)||t.button>0||this.length<2||this.start(t)}},{name:"dragstart",handler(t){t.preventDefault()}},{name:H,el:({list:t})=>t,handler:s.noop,...T}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag.x+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,s.on(document,H,this.move,T),s.on(document,ue,this.end,{passive:!0,capture:!0,once:!0}),s.css(this.list,"userSelect","none")},move(t){const e=this.pos.x-this.drag.x;if(e===0||!this.dragging&&ge(this.pos,this.drag)>this.angleThreshold||this.prevPos.x===this.pos.x||!this.dragging&&Math.abs(e)<this.threshold)return;t.cancelable&&t.preventDefault(),this.dragging=!0,this.dir=e<0?1:-1;let{slides:i,prevIndex:n}=this,r=Math.abs(e),o=this.getIndex(n+this.dir),a=ot.call(this,n,o);for(;o!==n&&r>a;)this.drag.x-=a*this.dir,n=o,r-=a,o=this.getIndex(n+this.dir),a=ot.call(this,n,o);this.percent=r/a;const h=i[n],l=i[o],c=this.index!==o,p=n===o;let d;for(const f of[this.index,this.prevIndex])f!==o&&f!==n&&(s.trigger(i[f],"itemhidden",[this]),p&&(d=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||d)&&s.trigger(i[this.index],"itemshown",[this]),c&&(this.prevIndex=n,this.index=o,p||(s.trigger(h,"beforeitemhide",[this]),s.trigger(h,"itemhide",[this])),s.trigger(l,"beforeitemshow",[this]),s.trigger(l,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),h,!p&&l)},end(){if(s.off(document,H,this.move,T),this.dragging)if(setTimeout(s.on(this.list,"click",t=>t.preventDefault(),T)),this.dragging=null,this.index===this.prevIndex)this.percent=1-this.percent,this.dir*=-1,this._show(!1,this.index,!0),this._transitioner=null;else{const t=this.dir<0==this.prevPos.x>this.pos.x;t?(s.trigger(this.slides[this.prevIndex],"itemhidden",[this]),s.trigger(this.slides[this.index],"itemshown",[this]),this.percent=1-this.percent):this.index=this.prevIndex,this.show(this.dir>0&&!t||this.dir<0&&t?"next":"previous",!0)}s.css(this.list,{userSelect:""}),this.drag=this.percent=null}}};function ot(t,e){return this._getTransitioner(t,t!==e&&e).getDistance()||this.slides[t].offsetWidth}function me(t){return s.css(t,"userSelect")!=="none"&&s.toArray(t.childNodes).some(e=>e.nodeType===3&&e.textContent.trim())}function ge(t,e){return Math.atan2(Math.abs(e.y-t.y),Math.abs(e.x-t.x))*180/Math.PI}s.memoize((t,e)=>{const i=Object.keys(e),n=i.concat(t).flatMap(r=>[s.hyphenate(r),`data-${s.hyphenate(r)}`]);return{attributes:i,filter:n}});let ve=1;function at(t,e=null){return(e==null?void 0:e.id)||`${t.$options.id}-${ve++}`}var be={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:t},e)=>s.$$(t,e),navChildren(){return this.nav.flatMap(t=>s.children(t))},selNavItem:({attrItem:t})=>`[${t}],[data-${t}]`,navItems(t,e){return s.$$(this.selNavItem,e)}},watch:{nav(t,e){s.attr(t,"role","tablist"),this.padNavitems(),e&&this.$emit()},list(t){s.isTag(t,"ul")&&s.attr(t,"role","presentation")},navChildren(t){s.attr(t,"role","presentation"),this.padNavitems(),this.updateNav()},navItems(t){for(const e of t){const i=s.data(e,this.attrItem),n=s.$("a,button",e)||e;let r,o=null;if(s.isNumeric(i)){const a=s.toNumber(i),h=this.slides[a];h&&(h.id||(h.id=at(this,h)),o=h.id),r=this.t("slideX",s.toFloat(i)+1),n.role="tab"}else this.list&&(this.list.id||(this.list.id=at(this,this.list)),o=this.list.id),r=this.t(i);s.attr(n,"aria-controls",o),n.ariaLabel=n.ariaLabel||r}},slides(t){t.forEach((e,i)=>s.attr(e,{role:this.nav.length?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav.length?null:"slide"})),this.padNavitems()}},connected(){this.$el.role=this.role,this.$el.ariaRoleDescription="carousel"},update:[{write(){this.navItems.concat(this.nav).forEach(t=>t&&(t.hidden=this.maxIndex<1)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){t.target.closest("a,button")&&(t.type==="click"||t.keyCode===m.SPACE)&&(it(t),this.show(s.data(t.current,this.attrItem)))}},{name:"itemshow",handler(){this.updateNav()}},{name:"keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){const{current:e,keyCode:i}=t,n=s.data(e,this.attrItem);if(!s.isNumeric(n))return;let r=i===m.HOME?0:i===m.END?"last":i===m.LEFT?"previous":i===m.RIGHT?"next":-1;~r&&(t.preventDefault(),this.show(r))}}],methods:{updateNav(){const t=this.getValidIndex();for(const e of this.navItems){const i=s.data(e,this.attrItem),n=s.$("a,button",e)||e;if(s.isNumeric(i)){const o=s.toNumber(i)===t;s.toggleClass(e,this.clsActive,o),s.toggleClass(n,"uk-disabled",!!this.parallax),n.ariaSelected=o,n.tabIndex=o&&!this.parallax?null:-1,o&&n&&s.matches(s.parent(e),":focus-within")&&n.focus()}else s.toggleClass(e,"uk-invisible",this.finite&&(i==="previous"&&t===0||i==="next"&&t>=this.maxIndex))}},padNavitems(){for(const t of this.nav){const e=s.children(t),i=[];for(let n=0;n<this.length;n++){const r=`${this.attrItem}="${n}"`;i[n]=e.findLast(o=>o.matches(`[${r}]`))||s.$(`<li ${r}><a href></a></li>`)}s.isEqual(i,e)||s.html(t,i)}}}};const xe="cubic-bezier(0.25, 0.46, 0.45, 0.94)",we="cubic-bezier(0.165, 0.84, 0.44, 1)";var $e={mixins:[de,pe,be,ce],props:{clsActivated:String,easing:String,index:Number,finite:Boolean,velocity:Number},data:()=>({easing:"ease",finite:!1,velocity:1,index:0,prevIndex:-1,stack:[],percent:0,clsActive:"uk-active",clsActivated:"",clsEnter:"uk-slide-enter",clsLeave:"uk-slide-leave",clsSlideActive:"uk-slide-active",Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){s.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:t},e)=>ye(e.offsetWidth/t),list:({selList:t},e)=>s.$(t,e),maxIndex(){return this.length-1},slides(){return s.children(this.list)},length(){return this.slides.length}},watch:{slides(t,e){e&&this.$emit()}},events:{itemshow({target:t}){s.addClass(t,this.clsEnter,this.clsSlideActive)},itemshown({target:t}){s.removeClass(t,this.clsEnter)},itemhide({target:t}){s.addClass(t,this.clsLeave)},itemhidden({target:t}){s.removeClass(t,this.clsLeave,this.clsSlideActive)}},methods:{async show(t,e=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,r=e?0:n.length,o=()=>{n.splice(r,1),n.length&&this.show(n.shift(),!0)};if(n[e?"unshift":"push"](t),!e&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const a=this.getIndex(this.index),h=s.hasClass(this.slides,this.clsActive)&&this.slides[a],l=this.getIndex(t,this.index),c=this.slides[l];if(h===c){o();return}if(this.dir=ke(t,a),this.prevIndex=a,this.index=l,h&&!s.trigger(h,"beforeitemhide",[this])||!s.trigger(c,"beforeitemshow",[this,h])){this.index=this.prevIndex,o();return}h&&s.trigger(h,"itemhide",[this]),s.trigger(c,"itemshow",[this]),await this._show(h,c,e),h&&s.trigger(h,"itemhidden",[this]),s.trigger(c,"itemshown",[this]),this._transitioner=null,await q(),n.shift(),n.length&&this.show(n.shift(),!0)},getIndex(t=this.index,e=this.index){return s.clamp(s.getIndex(t,this.slides,e,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(t=this.index,e=this.prevIndex){return this.getIndex(t,e)},async _show(t,e,i){if(this._transitioner=this._getTransitioner(t,e,this.dir,{easing:i?e.offsetWidth<600?xe:we:this.easing,...this.transitionOptions}),!i&&!t){this._translate(1);return}const{length:n}=this.stack;return this._transitioner[n>1?"forward":"show"](n>1?Math.min(this.duration,75+75/(n-1)):this.duration,this.percent)},_translate(t,e=this.prevIndex,i=this.index){const n=this._getTransitioner(e===i?!1:e,i);return n.translate(t),n},_getTransitioner(t=this.prevIndex,e=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(s.isNumber(t)?this.slides[t]:t,s.isNumber(e)?this.slides[e]:e,i*(s.isRtl?-1:1),n)}}};function ke(t,e){return t==="next"?1:t==="previous"||t<e?-1:1}function ye(t){return .5*t+300}var Ce={mixins:[$e],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:z,Transitioner:he},computed:{animation({animation:t,Animations:e}){return{...e[t]||e.slide,name:t}},transitionOptions(){return{animation:this.animation}}},observe:bt(),events:{itemshow({target:t}){s.addClass(t,this.clsActive)},itemshown({target:t}){s.addClass(t,this.clsActivated)},itemhidden({target:t}){s.removeClass(t,this.clsActive,this.clsActivated)}}};({...z});function _(t){return`scale3d(${t}, ${t}, 1)`}var ht={...z,fade:{show(){return[{opacity:0},{opacity:1}]},percent(t){return 1-s.css(t,"opacity")},translate(t){return[{opacity:1-t},{opacity:t}]}},scale:{show(){return[{opacity:0,transform:_(1-.2)},{opacity:1,transform:_(1)}]},percent(t){return 1-s.css(t,"opacity")},translate(t){return[{opacity:1-t,transform:_(1-.2*t)},{opacity:t,transform:_(1-.2+.2*t)}]}}},lt={i18n:{counter:"%s / %s"},mixins:[ie,Ce],functional:!0,props:{counter:Boolean,preload:Number,nav:Boolean,slidenav:Boolean,delayControls:Number,videoAutoplay:Boolean,template:String},data:()=>({counter:!1,preload:1,nav:!1,slidenav:!0,delayControls:3e3,videoAutoplay:!1,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",clsFit:"uk-lightbox-items-fit",clsZoom:"uk-lightbox-zoom",attrItem:"uk-lightbox-item",selList:".uk-lightbox-items",selClose:".uk-close-large",selNav:".uk-lightbox-thumbnav, .uk-lightbox-dotnav",selCaption:".uk-lightbox-caption",selCounter:".uk-lightbox-counter",pauseOnHover:!1,velocity:2,Animations:ht,template:'<div class="uk-lightbox uk-overflow-hidden"> <div class="uk-lightbox-items"></div> <div class="uk-position-top-right uk-position-small uk-transition-fade" uk-inverse> <button class="uk-lightbox-close uk-close-large" type="button" uk-close></button> </div> <div class="uk-lightbox-slidenav uk-position-center-left uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-previous uk-lightbox-item="previous"></a> </div> <div class="uk-lightbox-slidenav uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-next uk-lightbox-item="next"></a> </div> <div class="uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse style="max-height: 90vh; overflow: auto;"> <ul class="uk-lightbox-thumbnav uk-lightbox-thumbnav-vertical uk-thumbnav uk-thumbnav-vertical"></ul> <ul class="uk-lightbox-dotnav uk-dotnav uk-dotnav-vertical"></ul> </div> <div class="uk-lightbox-counter uk-text-large uk-position-top-left uk-position-small uk-transition-fade" uk-inverse></div> <div class="uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){let t=s.$(this.template);s.isTag(t,"template")&&(t=s.fragment(s.html(t)));const e=s.$(this.selList,t),i=this.$props.nav;s.remove(s.$$(this.selNav,t).filter(o=>!s.matches(o,`.uk-${i}`)));for(const[o,a]of this.items.entries())s.append(e,"<div>"),i==="thumbnav"&&s.wrapAll(Ie(a,this.videoAutoplay),s.append(s.$(this.selNav,t),`<li uk-lightbox-item="${o}"><a href></a></li>`));this.slidenav||s.remove(s.$$(".uk-lightbox-slidenav",t)),this.counter||s.remove(s.$(this.selCounter,t)),s.addClass(e,this.clsFit);const n=s.$("[uk-close]",t),r=this.t("close");n&&r&&(n.dataset.i18n=JSON.stringify({label:r})),this.$mount(s.append(this.container,t))},events:[{name:"click",self:!0,filter:({bgClose:t})=>t,delegate:({selList:t})=>`${t} > *`,handler(t){t.defaultPrevented||this.hide()}},{name:"click",self:!0,delegate:({clsZoom:t})=>`.${t}`,handler(t){t.defaultPrevented||s.toggleClass(this.list,this.clsFit)}},{name:`${s.pointerMove} ${s.pointerDown} keydown`,filter:({delayControls:t})=>t,handler(){this.showControls()}},{name:"shown",self:!0,handler(){this.showControls()}},{name:"hide",self:!0,handler(){this.hideControls(),s.removeClass(this.slides,this.clsActive),s.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:t}){if(!this.isToggled()||!this.draggable)return;let e=-1;t===m.LEFT?e="previous":t===m.RIGHT?e="next":t===m.HOME?e=0:t===m.END&&(e="last"),~e&&this.show(e)}},{name:"beforeitemshow",handler(t){s.html(s.$(this.selCaption,this.$el),this.getItem().caption||""),s.html(s.$(this.selCounter,this.$el),this.t("counter",this.index+1,this.slides.length));for(let e=-this.preload;e<=this.preload;e++)this.loadItem(this.index+e);this.isToggled()||(this.draggable=!1,t.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=ht.scale,s.removeClass(t.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(t,e){const{source:i,type:n,attrs:r={}}=e;if(this.setItem(e,"<span uk-spinner uk-inverse></span>"),!i)return;let o;const a={allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":!!this.videoAutoplay};if(n==="image"||ct(i)){const h=v("img");$t(h,e.sources),s.attr(h,{src:i,...s.pick(e,["alt","srcset","sizes"]),...r}),s.on(h,"load",()=>this.setItem(e,s.parent(h)||h)),s.on(h,"error",()=>this.setError(e))}else if(n==="video"||dt(i)){const h=this.videoAutoplay==="inline",l=v("video",{src:i,playsinline:"",controls:h?null:"",loop:h?"":null,muted:h?"":null,poster:this.videoAutoplay?null:e.poster,"uk-video":!!this.videoAutoplay,...r});s.on(l,"loadedmetadata",()=>this.setItem(e,l)),s.on(l,"error",()=>this.setError(e))}else if(n==="iframe"||i.match(/\.(html|php)($|\?)/i))this.setItem(e,v("iframe",{src:i,allowfullscreen:"",class:"uk-lightbox-iframe",...r}));else if(o=i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/))this.setItem(e,v("iframe",{src:`https://www.youtube${o[1]||""}.com/embed/${o[2]}${o[3]?`?${o[3]}`:""}`,width:1920,height:1080,...a,...r}));else if(o=i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/))try{const{height:h,width:l}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`,{credentials:"omit"})).json();this.setItem(e,v("iframe",{src:`https://player.vimeo.com/video/${o[1]}${o[2]?`?${o[2]}`:""}`,width:l,height:h,...a,...r}))}catch{this.setError(e)}}},{name:"itemloaded",handler(){this.$emit("resize")}}],update:{read(){for(const t of s.$$(`${this.selList} :not([controls]):is(img,video)`,this.$el))s.toggleClass(t,this.clsZoom,(t.naturalHeight||t.videoHeight)-this.$el.offsetHeight>Math.max(0,(t.naturalWidth||t.videoWidth)-this.$el.offsetWidth))},events:["resize"]},methods:{loadItem(t=this.index){const e=this.getItem(t);this.getSlide(e).childElementCount||s.trigger(this.$el,"itemload",[e])},getItem(t=this.index){return this.items[s.getIndex(t,this.slides)]},setItem(t,e){s.trigger(this.$el,"itemloaded",[this,s.html(this.getSlide(t),e)])},getSlide(t){return this.slides[this.items.indexOf(t)]},setError(t){this.setItem(t,'<span uk-icon="icon: bolt; ratio: 2" uk-inverse></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=this.delayControls&&setTimeout(this.hideControls,this.delayControls),s.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){s.removeClass(this.$el,"uk-active","uk-transition-active")}}};function v(t,e){const i=s.fragment(`<${t}>`);return s.attr(i,e),i}function Ie(t,e){const i=t.poster||t.thumb&&(t.type==="image"||ct(t.thumb))?v("img",{src:t.poster||t.thumb,alt:""}):t.thumb&&(t.type==="video"||dt(t.thumb))?v("video",{src:t.thumb,loop:"",playsinline:"",muted:"","uk-video":e==="inline"}):v("canvas");return t.thumbRatio&&(i.style.aspectRatio=t.thumbRatio),i}function ct(t){return t==null?void 0:t.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)}function dt(t){return t==null?void 0:t.match(/\.(mp4|webm|ogv)($|\?)/i)}var Ae="lightboxPanel";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Ae,lt),lt}));
1
+ /*! UIkit 3.25.27-dev.9e97c1f | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(s,w){typeof exports=="object"&&typeof module<"u"?module.exports=w(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox_panel",["uikit-util"],w):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitLightbox_panel=w(s.UIkit.util))})(this,(function(s){"use strict";function w(t,e="update"){t._connected&&t._updates.length&&(t._updateCount||(t._updateCount=0,requestAnimationFrame(()=>t._updateCount=0)),t._queued||(t._queued=new Set,s.fastdom.read(()=>{t._connected&&bt(t,t._queued),t._queued=null})),t._updateCount++<20&&t._queued.add(e.type||e))}function bt(t,e){for(const{read:i,write:n,events:r=[]}of t._updates){if(!e.has("update")&&!r.some(a=>e.has(a)))continue;let o;i&&(o=i.call(t,t._data,e),o&&s.isPlainObject(o)&&s.assign(t._data,o)),n&&o!==!1&&s.fastdom.write(()=>{t._connected&&n.call(t,t._data,e)})}}function xt(t){return R(s.observeResize,t,"resize")}function wt(t){return R(s.observeIntersection,t)}function R(t,e,i){return{observe:t,handler(){w(this,i)},...e}}function $t(t,e=[]){try{return t?s.startsWith(t,"{")?JSON.parse(t):e.length&&!s.includes(t,":")?{[e[0]]:t}:t.split(";").reduce((i,n)=>{const[r,o]=n.split(/:(.*)/);return r&&!s.isUndefined(o)&&(i[r.trim()]=o.trim()),i},{}):{}}catch{return{}}}wt({handler(t,e){this.load(),e.disconnect()},options:({margin:t})=>({rootMargin:t}),filter:({loading:t})=>t==="lazy",target:({$el:t,$props:e})=>e.target?[t,...s.queryAll(e.target,t)]:t});function kt(t,e){if(e=yt(e),e.length){const i=s.fragment("<picture>");for(const n of e){const r=s.fragment("<source>");s.attr(r,n),s.append(i,r)}s.append(i,t)}}function yt(t){if(!t)return[];if(s.startsWith(t,"["))try{t=JSON.parse(t)}catch{t=[]}else t=$t(t);return(s.isArray(t)?t:[t]).filter(e=>!s.isEmpty(e))}function W(){return new Promise(t=>requestAnimationFrame(t))}let N;function Ct(t){const e=s.on(t,"touchstart",r=>{if(r.targetTouches.length!==1||s.matches(r.target,'input[type="range"]'))return;let o=s.getEventPos(r).y;const a=s.on(t,"touchmove",h=>{const c=s.getEventPos(h).y;c!==o&&(o=c,s.scrollParents(h.target).some(l=>{if(!t.contains(l))return!1;let{scrollHeight:d,clientHeight:f}=l;return f<d})||h.preventDefault())},{passive:!1});s.once(t,"scroll touchend touchcancel",a,{capture:!0})},{passive:!0});if(N)return e;N=!0;const{scrollingElement:i}=document,n={overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",scrollbarGutter:s.width(window)-i.clientWidth?"stable":""};return s.css(i,n),()=>{N=!1,e(),s.resetProps(i,n)}}var It={connected(){this._cmpCls=s.hasClass(this.$el,this.$options.id),s.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||s.removeClass(this.$el,this.$options.id)}},At={props:{container:Boolean},data:{container:!0},computed:{container({container:t}){return t===!0&&this.$container||t&&s.$(t)}}};const q=typeof window<"u",U=q&&"ontouchstart"in window,M=q&&window.PointerEvent,St=M?"pointerdown":U?"touchstart":"mousedown",j=M?"pointerup":U?"touchend":"mouseup",_t=M?"pointercancel":"touchcancel",{isArray:V,from:Tt}=Array;function Et(t){return typeof t=="function"}function D(t){return t!==null&&typeof t=="object"}function Pt(t){return D(t)&&t===t.window}function Nt(t){return J(t)===9}function G(t){return J(t)>=1}function J(t){return!Pt(t)&&D(t)&&t.nodeType}function I(t){return typeof t=="string"}function Mt(t){return t===void 0}function $(t){return t&&g(t)[0]}function g(t){return G(t)?[t]:Array.from(t||[]).filter(G)}function Q(t){const e=Object.create(null);return(i,...n)=>e[i]||(e[i]=t(i,...n))}function X(t,e,i){var n;if(D(e)){for(const r in e)X(t,r,e[r]);return}if(Mt(i))return(n=$(t))==null?void 0:n.getAttribute(e);for(const r of g(t))i===null?Dt(r,e):r.setAttribute(e,i)}function Dt(t,e){g(t).forEach(i=>i.removeAttribute(e))}function Ot(t){var e;return(e=$(t))==null?void 0:e.parentElement}function Lt(t,e){return g(t).filter(i=>Y(i,e))}function Y(t,e){return g(t).some(i=>i.matches(e))}function Bt(t,e){t=$(t);const i=t?Tt(t.children):[];return e?Lt(i,e):i}function Z(t,e){return Bt(Ot(t)).indexOf(t)}function K(t,e){return g(Wt(t,$(e),"querySelectorAll"))}const zt=/([!>+~-])(?=\s+[!>+~-]|\s*$)/g,Ft=/(\([^)]*\)|[^,])+/g,Ht=Q(t=>{let e=!1;if(!t||!I(t))return{};const i=[];for(let n of t.match(Ft))n=n.trim().replace(zt,"$1 *"),e||(e=["!","+","~","-",">"].includes(n[0])),i.push(n);return{selector:i.join(","),selectors:i,isContextSelector:e}}),Rt=/(\([^)]*\)|\S)*/,tt=Q(t=>{t=t.slice(1).trim();const[e]=t.match(Rt);return[e,t.slice(e.length+1)]});function Wt(t,e=document,i){var n;const r=Ht(t);if(!r.isContextSelector)return r.selector?O(e,i,r.selector):t;t="";const o=r.selectors.length===1;for(let a of r.selectors){let h,c=e;if(a[0]==="!"&&([h,a]=tt(a),c=(n=e.parentElement)==null?void 0:n.closest(h),!a&&o)||c&&a[0]==="-"&&([h,a]=tt(a),c=c.previousElementSibling,c=Y(c,h)?c:null,!a&&o))return c;if(c){if(o)return a[0]==="~"||a[0]==="+"?(a=`:scope > :nth-child(${Z(c)+1}) ${a}`,c=c.parentElement):a[0]===">"&&(a=`:scope ${a}`),O(c,i,a);t+=`${t?",":""}${qt(c)} ${a}`}}return Nt(e)||(e=e.ownerDocument),O(e,i,t)}function O(t,e,i){try{return t[e](i)}catch{return null}}function qt(t){const e=[];for(;t.parentNode;){const i=X(t,"id");if(i){e.unshift(`#${Ut(i)}`);break}else{let{tagName:n}=t;n!=="HTML"&&(n+=`:nth-child(${Z(t)+1})`),e.unshift(n),t=t.parentNode}}return e.join(" > ")}function Ut(t){return I(t)?CSS.escape(t):""}function L(...t){let[e,i,n,r,o=!1]=B(t);r.length>1&&(r=Jt(r)),o!=null&&o.self&&(r=Qt(r)),n&&(r=Gt(n,r));for(const a of i)for(const h of e)h.addEventListener(a,r,o);return()=>jt(e,i,r,o)}function jt(...t){let[e,i,,n,r=!1]=B(t);for(const o of i)for(const a of e)a.removeEventListener(o,n,r)}function Vt(...t){const[e,i,n,r,o=!1,a]=B(t),h=L(e,i,n,c=>{const l=!a||a(c);l&&(h(),r(c,l))},o);return h}function B(t){return t[0]=Yt(t[0]),I(t[1])&&(t[1]=t[1].split(" ")),Et(t[2])&&t.splice(2,0,!1),t}function Gt(t,e){return i=>{const n=t[0]===">"?K(t,i.currentTarget).reverse().find(r=>r.contains(i.target)):i.target.closest(t);n&&(i.current=n,e.call(this,i),delete i.current)}}function Jt(t){return e=>V(e.detail)?t(e,...e.detail):t(e)}function Qt(t){return function(e){if(e.target===e.currentTarget||e.target===e.current)return t.call(null,e)}}function et(t){return t&&"addEventListener"in t}function Xt(t){return et(t)?t:$(t)}function Yt(t){return V(t)?t.map(Xt).filter(Boolean):I(t)?K(t):et(t)?[t]:g(t)}const b={ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,RIGHT:39};function st(t,e=b.LEFT,i=b.RIGHT){switch(t){case b.HOME:return 0;case b.END:return"last";case e:return"previous";case i:return"next"}return-1}function it(t){t.target.closest('a[href="#"],a[href=""]')&&t.preventDefault()}function Zt(t,e=()=>!0){return L(document,"keydown",i=>{i.keyCode===b.ESC&&e()&&t(i)})}function Kt(t,e,i){return L(document,St,({target:n})=>{!e(n)||i&&!i()||Vt(document,`${j} ${_t} scroll`,({defaultPrevented:r,type:o,target:a})=>{!r&&o===j&&n===a&&t(n)},!0)})}var te={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:t})=>!!t[0],hasTransition:({animation:t})=>["slide","reveal"].some(e=>s.startsWith(t[0],e))},methods:{async toggleElement(t,e,i){const n={};return(await Promise.all(s.toNodes(t).map(r=>{const o=s.isBoolean(e)?e:!this.isToggled(r);if(!s.trigger(r,`before${o?"show":"hide"}`,[this]))return n;const a=(s.isFunction(i)?i:i===!1||!this.hasAnimation?ee:this.hasTransition?se:ie)(r,o,this),h=o?this.clsEnter:this.clsLeave;s.addClass(r,h),s.trigger(r,o?"show":"hide",[this]);const c=()=>{var l;s.removeClass(r,h),s.trigger(r,o?"shown":"hidden",[this]),o&&((l=s.$$("[autofocus]",r).find(s.isVisible))==null||l.focus({preventScroll:!0}))};return a?a.then(c,()=>(s.removeClass(r,h),n)):c()}))).every(r=>r!==n)},isToggled(t=this.$el){return t=s.toNode(t),s.hasClass(t,this.clsEnter)?!0:s.hasClass(t,this.clsLeave)?!1:this.cls?s.hasClass(t,this.cls.split(" ")[0]):s.isVisible(t)},_toggle(t,e){if(!t)return;e=!!e;let i;this.cls?(i=s.includes(this.cls," ")||e!==s.hasClass(t,this.cls),i&&s.toggleClass(t,this.cls,s.includes(this.cls," ")?void 0:e)):(i=e===t.hidden,i&&(t.hidden=!e)),i&&s.trigger(t,"toggled",[e,this])}}};function ee(t,e,{_toggle:i}){return s.Animation.cancel(t),s.Transition.cancel(t),i(t,e)}async function se(t,e,{animation:i,duration:n,velocity:r,transition:o,_toggle:a}){var h;const[c="reveal",l="top"]=((h=i[0])==null?void 0:h.split("-"))||[],d=[["left","right"],["top","bottom"]],f=d[s.includes(d[0],l)?0:1],m=f[1]===l,T=["width","height"][d.indexOf(f)],x=`margin-${f[0]}`,E=`margin-${l}`;let y=s.dimensions(t)[T];const Me=s.Transition.inProgress(t);await s.Transition.cancel(t),e&&a(t,!0);const De=s.pick(t.style,["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",x,E]),C=s.dimensions(t),H=s.toFloat(s.css(t,x)),mt=s.toFloat(s.css(t,E)),v=C[T]+mt;!Me&&!e&&(y+=mt);const[P]=s.wrapInner(t,"<div>");s.css(P,{boxSizing:"border-box",height:C.height,width:C.width,...s.css(t,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",E])}),s.css(t,{padding:0,border:0,minWidth:0,minHeight:0,[E]:0,width:C.width,height:C.height,overflow:"hidden",[T]:y});const gt=y/v;n=(r*v+n)*(e?1-gt:gt);const vt={[T]:e?v:0};m&&(s.css(t,x,v-y+H),vt[x]=e?H:v+H),!m^c==="reveal"&&(s.css(P,x,-v+y),s.Transition.start(P,{[x]:e?0:-v},n,o));try{await s.Transition.start(t,vt,n,o)}finally{s.css(t,De),s.unwrap(P.firstChild),e||a(t,!1)}}async function ie(t,e,i){const{animation:n,duration:r,_toggle:o}=i;if(e)return o(t,!0),s.Animation.in(t,n[0],r,i.origin);await s.Animation.out(t,n[1]||n[0],r,i.origin),o(t,!1)}const u=[],A=new WeakMap;var ne={mixins:[It,At,te],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean,role:String},data:{cls:"uk-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1,role:"dialog"},computed:{panel:({selPanel:t},e)=>s.$(t,e),transitionElement(){return this.panel}},connected(){const t=this.panel||this.$el;t.role=this.role,this.overlay&&(t.ariaModal=!0)},beforeDisconnect(){s.includes(u,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:({selClose:t})=>`${t},a[href*="#"]`,handler(t){const{current:e,defaultPrevented:i}=t,{hash:n}=e;!i&&n&&s.isSameSiteAnchor(e)&&!this.$el.contains(s.$(n))?this.hide():s.matches(e,this.selClose)&&(it(t),this.hide())}},{name:"toggle",self:!0,handler(t,e){t.defaultPrevented||(t.preventDefault(),this.target=e==null?void 0:e.$el,this.isToggled()===s.includes(u,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(t){if(s.includes(u,this))return!1;!this.stack&&u.length?(Promise.all(u.map(e=>e.hide())).then(this.show),t.preventDefault()):u.push(this)}},{name:"show",self:!0,handler(){this.stack&&s.css(this.$el,"zIndex",s.toFloat(s.css(this.$el,"zIndex"))+u.length);const t=[this.overlay&&re(this),this.overlay&&Ct(this.$el),this.bgClose&&oe(this),this.escClose&&ae(this)];s.once(this.$el,"hidden",()=>t.forEach(e=>e&&e()),{self:!0}),s.addClass(document.documentElement,this.clsPage),rt(this.target,!0)}},{name:"shown",self:!0,handler(){s.isFocusable(this.$el)||(this.$el.tabIndex=-1),s.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){s.includes(u,this)&&u.splice(u.indexOf(this),1),s.css(this.$el,"zIndex","");const{target:t}=this;u.some(e=>e.clsPage===this.clsPage)||(s.removeClass(document.documentElement,this.clsPage),queueMicrotask(()=>{s.isFocusable(t)&&t.focus({preventScroll:!0})})),rt(t,!1),this.target=null}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},async show(){return this.container&&s.parent(this.$el)!==this.container&&(s.append(this.container,this.$el),await W()),this.toggleElement(this.$el,!0,nt)},hide(){return this.toggleElement(this.$el,!1,nt)}}};function nt(t,e,{transitionElement:i,_toggle:n}){let r;return new Promise((o,a)=>s.once(t,"show hide",()=>{var h,c,l;(h=A.get(t))==null||h(),r=a,A.set(t,a),n(t,e),Promise.all(((l=(c=i==null?void 0:i.getAnimations)==null?void 0:c.call(i))!=null?l:[]).map(({finished:d})=>d)).then(o,a)})).then(()=>{A.get(t)===r&&A.delete(t)})}function re(t){return s.on(document,"focusin",e=>{if(s.last(u)!==t||t.$el.contains(e.target))return;const{left:i,top:n,width:r,height:o}=s.dimensions(e.target),a=document.elementFromPoint(i+r/2,n+o/2);a&&(e.target.contains(a)||a.contains(e.target))||t.$el.focus()})}function oe(t){return Kt(()=>t.hide(),e=>(!t.overlay||t.$el.contains(e))&&!!t.panel&&!t.panel.contains(e),()=>s.last(u)===t)}function ae(t){return Zt(()=>t.hide(),()=>s.last(u)===t)}function rt(t,e){t!=null&&t.ariaExpanded&&(t.ariaExpanded=e)}var z={slide:{percent:he,translate:(t,e)=>[{transform:ot(e*-100*t)},{transform:ot(e*100*(1-t))}]}};function he(t){return Math.abs(new DOMMatrix(s.css(t,"transform")).m41/t.offsetWidth)}function ot(t=0,e="%"){return t?`translate3d(${t+e}, 0, 0)`:""}function ce(t,e,i,{animation:n,easing:r}){const{percent:o,translate:a}=n,h=a(1,i),{promise:c,resolve:l}=le();return{dir:i,show(d,f=0,m){const k=m?"linear":r;return d-=Math.round(d*s.clamp(f,-1,1)),this.translate(f),S(e,"itemin",{percent:f,duration:d,timing:k,dir:i}),S(t,"itemout",{percent:1-f,duration:d,timing:k,dir:i}),Promise.all([s.Transition.start(e,h[1],d,k),s.Transition.start(t,h[0],d,k)]).then(()=>{this.reset(),l()},s.noop),c},cancel(){return s.Transition.cancel([e,t])},reset(){s.resetProps([e,t],h[0])},async forward(d,f=this.percent()){return await this.cancel(),this.show(d,f,!0)},translate(d){this.reset();const f=a(d,i);s.css(e,f[1]),s.css(t,f[0]),S(e,"itemtranslatein",{percent:d,dir:i}),S(t,"itemtranslateout",{percent:1-d,dir:i})},percent(){return o(t||e,e,i)},getDistance(){return t==null?void 0:t.offsetWidth}}}function S(t,e,i){s.trigger(t,s.createEvent(e,!1,!1,i))}function le(){let t;return{promise:new Promise(e=>t=e),resolve:t}}var de={props:{i18n:Object},data:{i18n:null},methods:{t(t,...e){var i,n,r;let o=0;return((r=((i=this.i18n)==null?void 0:i[t])||((n=this.$options.i18n)==null?void 0:n[t]))==null?void 0:r.replace(/%s/g,()=>e[o++]||""))||""}}},fe={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){s.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){s.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter:({autoplay:t})=>t,handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||!s.isVisible(this.$el)||this.draggable&&s.matches(this.$el,":focus-within")&&!s.matches(this.$el,":focus")||this.pauseOnHover&&s.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const _={passive:!1,capture:!0},ue="touchstart mousedown",F="touchmove mousemove",pe="touchend touchcancel mouseup click input scroll";var me={props:{draggable:Boolean},data:{draggable:!0,threshold:10,angleThreshold:45},created(){for(const t of["start","move","end"]){const e=this[t];this[t]=i=>{const n=s.getEventPos(i);s.isRtl&&(n.x=-n.x),this.prevPos=s.isEqual(n,this.pos)?this.prevPos:this.pos,this.pos=n,e(i)}}},events:[{name:ue,passive:!0,delegate:({selList:t})=>`${t} > *`,handler(t){!this.draggable||this.parallax||!s.isTouch(t)&&ge(t.target)||t.target.closest(s.selInput)||t.button>0||this.length<2||this.start(t)}},{name:"dragstart",handler(t){t.preventDefault()}},{name:F,el:({list:t})=>t,handler:s.noop,..._}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag.x+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,s.on(document,F,this.move,_),s.on(document,pe,this.end,{passive:!0,capture:!0,once:!0}),s.css(this.list,"userSelect","none")},move(t){const e=this.pos.x-this.drag.x;if(e===0||!this.dragging&&ve(this.pos,this.drag)>this.angleThreshold||this.prevPos.x===this.pos.x||!this.dragging&&Math.abs(e)<this.threshold)return;t.cancelable&&t.preventDefault(),this.dragging=!0,this.dir=e<0?1:-1;let{slides:i,prevIndex:n}=this,r=Math.abs(e),o=this.getIndex(n+this.dir),a=at.call(this,n,o);for(;o!==n&&r>a;)this.drag.x-=a*this.dir,n=o,r-=a,o=this.getIndex(n+this.dir),a=at.call(this,n,o);this.percent=r/a;const h=i[n],c=i[o],l=this.index!==o,d=n===o;let f;for(const m of[this.index,this.prevIndex])m!==o&&m!==n&&(s.trigger(i[m],"itemhidden",[this]),d&&(f=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||f)&&s.trigger(i[this.index],"itemshown",[this]),l&&(this.prevIndex=n,this.index=o,d||(s.trigger(h,"beforeitemhide",[this]),s.trigger(h,"itemhide",[this])),s.trigger(c,"beforeitemshow",[this]),s.trigger(c,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),h,!d&&c)},end(){if(s.off(document,F,this.move,_),this.dragging)if(setTimeout(s.on(this.list,"click",t=>t.preventDefault(),_)),this.dragging=null,this.index===this.prevIndex)this.percent=1-this.percent,this.dir*=-1,this._show(!1,this.index,!0),this._transitioner=null;else{const t=this.dir<0==this.prevPos.x>this.pos.x;t?(s.trigger(this.slides[this.prevIndex],"itemhidden",[this]),s.trigger(this.slides[this.index],"itemshown",[this]),this.percent=1-this.percent):this.index=this.prevIndex,this.show(this.dir>0&&!t||this.dir<0&&t?"next":"previous",!0)}s.css(this.list,{userSelect:""}),this.drag=this.percent=null}}};function at(t,e){return this._getTransitioner(t,t!==e&&e).getDistance()||this.slides[t].offsetWidth}function ge(t){return s.css(t,"userSelect")!=="none"&&s.toArray(t.childNodes).some(e=>e.nodeType===3&&e.textContent.trim())}function ve(t,e){return Math.atan2(Math.abs(e.y-t.y),Math.abs(e.x-t.x))*180/Math.PI}s.memoize((t,e)=>{const i=Object.keys(e),n=[...i,t].flatMap(r=>[s.hyphenate(r),`data-${s.hyphenate(r)}`]);return{attributes:i,filter:n}});let be=1;function ht(t,e=null){return(e==null?void 0:e.id)||`${t.$options.id}-${be++}`}var xe={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:t},e)=>s.$$(t,e),navChildren(){return this.nav.flatMap(t=>s.children(t))},selNavItem:({attrItem:t})=>`[${t}],[data-${t}]`,navItems(t,e){return s.$$(this.selNavItem,e)}},watch:{nav(t,e){s.attr(t,"role","tablist"),this.padNavitems(),e&&this.$emit()},list(t){s.isTag(t,"ul")&&s.attr(t,"role","presentation")},navChildren(t){s.attr(t,"role","presentation"),this.padNavitems(),this.updateNav()},navItems(t){for(const e of t){const i=s.data(e,this.attrItem),n=s.$("a,button",e)||e;let r,o=null;if(s.isNumeric(i)){const a=s.toNumber(i),h=this.slides[a];h&&(h.id||(h.id=ht(this,h)),o=h.id),r=this.t("slideX",s.toFloat(i)+1),n.role="tab"}else this.list&&(this.list.id||(this.list.id=ht(this,this.list)),o=this.list.id),r=this.t(i);s.attr(n,"aria-controls",o),n.ariaLabel=n.ariaLabel||r}},slides(t){t.forEach((e,i)=>s.attr(e,{role:this.nav.length?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav.length?null:"slide"})),this.padNavitems()}},connected(){this.$el.role=this.role,this.$el.ariaRoleDescription="carousel"},update:[{write(){this.navItems.concat(this.nav).forEach(t=>t&&(t.hidden=this.maxIndex<1)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){t.target.closest("a,button")&&(t.type==="click"||t.keyCode===b.SPACE)&&(it(t),this.show(s.data(t.current,this.attrItem)))}},{name:"itemshow",handler(){this.updateNav()}},{name:"keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){const{current:e,keyCode:i}=t,n=s.data(e,this.attrItem);if(!s.isNumeric(n))return;const r=st(i);~r&&(t.preventDefault(),this.show(r))}}],methods:{updateNav(){const t=this.getValidIndex();for(const e of this.navItems){const i=s.data(e,this.attrItem),n=s.$("a,button",e)||e;if(s.isNumeric(i)){const o=s.toNumber(i)===t;s.toggleClass(e,this.clsActive,o),s.toggleClass(n,"uk-disabled",!!this.parallax),n.ariaSelected=o,n.tabIndex=o&&!this.parallax?null:-1,o&&n&&s.matches(s.parent(e),":focus-within")&&n.focus()}else s.toggleClass(e,"uk-invisible",this.finite&&(i==="previous"&&t===0||i==="next"&&t>=this.maxIndex))}},padNavitems(){for(const t of this.nav){const e=s.children(t),i=[];for(let n=0;n<this.length;n++){const r=`${this.attrItem}="${n}"`;i[n]=e.findLast(o=>o.matches(`[${r}]`))||s.$(`<li ${r}><a href></a></li>`)}s.isEqual(i,e)||s.html(t,i)}}}};const we="cubic-bezier(0.25, 0.46, 0.45, 0.94)",$e="cubic-bezier(0.165, 0.84, 0.44, 1)";var ke={mixins:[fe,me,xe,de],props:{clsActivated:String,easing:String,index:Number,finite:Boolean,velocity:Number},data:()=>({easing:"ease",finite:!1,velocity:1,index:0,prevIndex:-1,stack:[],percent:0,clsActive:"uk-active",clsActivated:"",clsEnter:"uk-slide-enter",clsLeave:"uk-slide-leave",clsSlideActive:"uk-slide-active",Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){s.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:t},e)=>Ce(e.offsetWidth/t),list:({selList:t},e)=>s.$(t,e),maxIndex(){return this.length-1},slides(){return s.children(this.list)},length(){return this.slides.length}},watch:{slides(t,e){e&&this.$emit()}},events:{itemshow({target:t}){s.addClass(t,this.clsEnter,this.clsSlideActive)},itemshown({target:t}){s.removeClass(t,this.clsEnter)},itemhide({target:t}){s.addClass(t,this.clsLeave)},itemhidden({target:t}){s.removeClass(t,this.clsLeave,this.clsSlideActive)}},methods:{async show(t,e=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,r=e?0:n.length,o=()=>{n.splice(r,1),n.length&&this.show(n.shift(),!0)};if(n[e?"unshift":"push"](t),!e&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const a=this.getIndex(this.index),h=s.hasClass(this.slides,this.clsActive)&&this.slides[a],c=this.getIndex(t,this.index),l=this.slides[c];if(h===l){o();return}if(this.dir=ye(t,a),this.prevIndex=a,this.index=c,h&&!s.trigger(h,"beforeitemhide",[this])||!s.trigger(l,"beforeitemshow",[this,h])){this.index=this.prevIndex,o();return}h&&s.trigger(h,"itemhide",[this]),s.trigger(l,"itemshow",[this]),await this._show(h,l,e),h&&s.trigger(h,"itemhidden",[this]),s.trigger(l,"itemshown",[this]),this._transitioner=null,await W(),n.shift(),n.length&&this.show(n.shift(),!0)},getIndex(t=this.index,e=this.index){return s.clamp(s.getIndex(t,this.slides,e,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(t=this.index,e=this.prevIndex){return this.getIndex(t,e)},async _show(t,e,i){if(this._transitioner=this._getTransitioner(t,e,this.dir,{easing:i?e.offsetWidth<600?we:$e:this.easing,...this.transitionOptions}),!i&&!t){this._translate(1);return}const{length:n}=this.stack;return this._transitioner[n>1?"forward":"show"](n>1?Math.min(this.duration,75+75/(n-1)):this.duration,this.percent)},_translate(t,e=this.prevIndex,i=this.index){const n=this._getTransitioner(e===i?!1:e,i);return n.translate(t),n},_getTransitioner(t=this.prevIndex,e=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(s.isNumber(t)?this.slides[t]:t,s.isNumber(e)?this.slides[e]:e,i*(s.isRtl?-1:1),n)}}};function ye(t,e){return t==="next"?1:t==="previous"||t<e?-1:1}function Ce(t){return .5*t+300}var Ie={mixins:[ke],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:z,Transitioner:ce},computed:{animation({animation:t,Animations:e}){return{...e[t]||e.slide,name:t}},transitionOptions(){return{animation:this.animation}}},observe:xt(),events:{itemshow({target:t}){s.addClass(t,this.clsActive)},itemshown({target:t}){s.addClass(t,this.clsActivated)},itemhidden({target:t}){s.removeClass(t,this.clsActive,this.clsActivated)}}};({...z});function ct(t){return`scale3d(${t}, ${t}, 1)`}var lt={...z,fade:{percent:t=>1-s.css(t,"opacity"),translate:t=>[{opacity:1-t},{opacity:t}]},scale:{percent:t=>1-s.css(t,"opacity"),translate:t=>[{opacity:1-t,transform:ct(1-.2*t)},{opacity:t,transform:ct(1-.2+.2*t)}]}},dt={i18n:{counter:"%s / %s"},mixins:[ne,Ie],functional:!0,props:{counter:Boolean,preload:Number,nav:Boolean,slidenav:Boolean,delayControls:Number,videoAutoplay:Boolean,template:String},data:()=>({counter:!1,preload:1,nav:!1,slidenav:!0,delayControls:3e3,videoAutoplay:!1,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",clsFit:"uk-lightbox-items-fit",clsZoom:"uk-lightbox-zoom",attrItem:"uk-lightbox-item",selList:".uk-lightbox-items",selClose:".uk-close-large",selNav:".uk-lightbox-thumbnav, .uk-lightbox-dotnav",selCaption:".uk-lightbox-caption",selCounter:".uk-lightbox-counter",pauseOnHover:!1,velocity:2,Animations:lt,template:'<div class="uk-lightbox uk-overflow-hidden"> <div class="uk-lightbox-items"></div> <div class="uk-position-top-right uk-position-small uk-transition-fade" uk-inverse> <button class="uk-lightbox-close uk-close-large" type="button" uk-close></button> </div> <div class="uk-lightbox-slidenav uk-position-center-left uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-previous uk-lightbox-item="previous"></a> </div> <div class="uk-lightbox-slidenav uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-next uk-lightbox-item="next"></a> </div> <div class="uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse style="max-height: 90vh; overflow: auto;"> <ul class="uk-lightbox-thumbnav uk-lightbox-thumbnav-vertical uk-thumbnav uk-thumbnav-vertical"></ul> <ul class="uk-lightbox-dotnav uk-dotnav uk-dotnav-vertical"></ul> </div> <div class="uk-lightbox-counter uk-text-large uk-position-top-left uk-position-small uk-transition-fade" uk-inverse></div> <div class="uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){let t=s.$(this.template);s.isTag(t,"template")&&(t=s.fragment(s.html(t)));const e=s.$(this.selList,t),i=this.$props.nav;s.remove(s.$$(this.selNav,t).filter(o=>!s.matches(o,`.uk-${i}`)));for(const[o,a]of this.items.entries())s.append(e,"<div>"),i==="thumbnav"&&s.wrapAll(Pe(a,this.videoAutoplay),s.append(s.$(this.selNav,t),`<li uk-lightbox-item="${o}"><a href></a></li>`));this.slidenav||s.remove(s.$$(".uk-lightbox-slidenav",t)),this.counter||s.remove(s.$(this.selCounter,t)),s.addClass(e,this.clsFit);const n=s.$("[uk-close]",t),r=this.t("close");n&&r&&(n.dataset.i18n=JSON.stringify({label:r})),this.$mount(s.append(this.container,t))},events:[{name:"click",self:!0,filter:({bgClose:t})=>t,delegate:({selList:t})=>`${t} > *`,handler(t){t.defaultPrevented||this.hide()}},{name:"click",self:!0,delegate:({clsZoom:t})=>`.${t}`,handler(t){t.defaultPrevented||s.toggleClass(this.list,this.clsFit)}},{name:`${s.pointerMove} ${s.pointerDown} keydown`,filter:({delayControls:t})=>t,handler(){this.showControls()}},{name:"shown",self:!0,handler(){this.showControls()}},{name:"hide",self:!0,handler(){this.hideControls(),s.removeClass(this.slides,this.clsActive),s.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:t}){if(!this.isToggled()||!this.draggable)return;const e=st(t);~e&&this.show(e)}},{name:"beforeitemshow",handler(t){s.html(s.$(this.selCaption,this.$el),this.getItem().caption||""),s.html(s.$(this.selCounter,this.$el),this.t("counter",this.index+1,this.slides.length));for(let e=-this.preload;e<=this.preload;e++)this.loadItem(this.index+e);this.isToggled()||(this.draggable=!1,t.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=lt.scale,s.removeClass(t.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(t,e){const{source:i,type:n,attrs:r={}}=e;if(this.setItem(e,"<span uk-spinner uk-inverse></span>"),!!i)try{for(const o of[Ae,Se,_e,Te,Ee]){const a=await o({src:i,type:n,attrs:r,item:e,cmp:this});if(a){this.setItem(e,a);return}}}catch{this.setError(e)}}},{name:"itemloaded",handler(){this.$emit("resize")}}],update:{read(){for(const t of s.$$(`${this.selList} :not([controls]):is(img,video)`,this.$el))s.toggleClass(t,this.clsZoom,(t.naturalHeight||t.videoHeight)-this.$el.offsetHeight>Math.max(0,(t.naturalWidth||t.videoWidth)-this.$el.offsetWidth))},events:["resize"]},methods:{loadItem(t=this.index){const e=this.getItem(t);this.getSlide(e).childElementCount||s.trigger(this.$el,"itemload",[e])},getItem(t=this.index){return this.items[s.getIndex(t,this.slides)]},setItem(t,e){s.trigger(this.$el,"itemloaded",[this,s.html(this.getSlide(t),e)])},getSlide(t){return this.slides[this.items.indexOf(t)]},setError(t){this.setItem(t,'<span uk-icon="icon: bolt; ratio: 2" uk-inverse></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=this.delayControls&&setTimeout(this.hideControls,this.delayControls),s.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){s.removeClass(this.$el,"uk-active","uk-transition-active")}}};function p(t,e){const i=s.fragment(`<${t}>`);return s.attr(i,e),i}async function Ae({src:t,type:e,attrs:i,item:n}){if(e!=="image"&&!ut(t))return;const r=p("img");return kt(r,n.sources),s.attr(r,{src:t,...s.pick(n,["alt","srcset","sizes"]),...i}),await r.decode(),s.parent(r)||r}function Se({src:t,type:e,attrs:i,item:n,cmp:r}){if(e!=="video"&&!pt(t))return;const o=r.videoAutoplay==="inline",a=p("video",{src:t,playsinline:"",controls:o?null:"",loop:o?"":null,muted:o?"":null,poster:r.videoAutoplay?null:n.poster,"uk-video":!!r.videoAutoplay,...i});return new Promise((h,c)=>{s.on(a,"loadedmetadata",()=>h(a)),s.on(a,"error",c)})}function _e({src:t,type:e,attrs:i}){if(!(e!=="iframe"&&!/\.(html|php)($|\?)/i.test(t)))return p("iframe",{src:t,allowfullscreen:"",class:"uk-lightbox-iframe",...i})}function Te({src:t,attrs:e,cmp:i}){const n=t.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/);if(n)return p("iframe",{src:`https://www.youtube${n[1]||""}.com/embed/${n[2]}${n[3]?`?${n[3]}`:""}`,width:1920,height:1080,...ft(i),...e})}async function Ee({src:t,attrs:e,cmp:i}){const n=t.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);if(!n)return;const{height:r,width:o}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(t)}`,{credentials:"omit"})).json();return p("iframe",{src:`https://player.vimeo.com/video/${n[1]}${n[2]?`?${n[2]}`:""}`,width:o,height:r,...ft(i),...e})}function ft(t){return{allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":!!t.videoAutoplay}}function Pe(t,e){const i=t.poster||t.thumb&&(t.type==="image"||ut(t.thumb))?p("img",{src:t.poster||t.thumb,alt:""}):t.thumb&&(t.type==="video"||pt(t.thumb))?p("video",{src:t.thumb,loop:"",playsinline:"",muted:"","uk-video":e==="inline"}):p("canvas");return t.thumbRatio&&(i.style.aspectRatio=t.thumbRatio),i}function ut(t){return t==null?void 0:t.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)}function pt(t){return t==null?void 0:t.match(/\.(mp4|webm|ogv)($|\?)/i)}var Ne="lightboxPanel";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Ne,dt),dt}));