uikit 3.17.12-dev.f1425d280 → 3.18.1-dev.0856bd8a6

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 (260) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/css/uikit-core-rtl.css +577 -504
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +577 -504
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +600 -527
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +600 -527
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +2 -4
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +96 -60
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +96 -60
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +11 -6
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +8 -3
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +735 -37
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +8 -3
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +792 -129
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +7 -7
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +2 -8
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +299 -273
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +9 -4
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +505 -365
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +3 -3
  43. package/src/images/components/navbar-toggle-icon.svg +1 -1
  44. package/src/images/icons/arrow-up-right.svg +4 -0
  45. package/src/images/icons/git-branch.svg +4 -4
  46. package/src/images/icons/git-fork.svg +4 -4
  47. package/src/images/icons/link-external.svg +5 -0
  48. package/src/images/icons/signal.svg +3 -0
  49. package/src/images/icons/telegram.svg +3 -0
  50. package/src/images/icons/threads.svg +3 -0
  51. package/src/images/icons/x.svg +3 -0
  52. package/src/js/components/countdown.js +1 -3
  53. package/src/js/components/internal/slider-preload.js +6 -0
  54. package/src/js/components/lightbox-panel.js +2 -6
  55. package/src/js/components/parallax.js +1 -20
  56. package/src/js/components/slider.js +38 -18
  57. package/src/js/components/slideshow.js +14 -46
  58. package/src/js/components/sortable.js +7 -6
  59. package/src/js/components/tooltip.js +1 -7
  60. package/src/js/core/accordion.js +1 -1
  61. package/src/js/core/drop.js +3 -5
  62. package/src/js/core/dropnav.js +24 -20
  63. package/src/js/core/height-match.js +7 -3
  64. package/src/js/core/height-placeholder.js +32 -0
  65. package/src/js/core/icon.js +12 -5
  66. package/src/js/core/index.js +2 -0
  67. package/src/js/core/inverse.js +103 -0
  68. package/src/js/core/modal.js +13 -0
  69. package/src/js/core/navbar.js +32 -172
  70. package/src/js/core/responsive.js +2 -29
  71. package/src/js/core/sticky.js +45 -29
  72. package/src/js/core/video.js +5 -1
  73. package/src/js/mixin/modal.js +1 -1
  74. package/src/js/mixin/parallax.js +19 -0
  75. package/src/js/mixin/slider-autoplay.js +1 -3
  76. package/src/js/mixin/slider-drag.js +22 -19
  77. package/src/js/mixin/slider-nav.js +10 -1
  78. package/src/js/mixin/slider-parallax.js +138 -0
  79. package/src/js/mixin/slider-reactive.js +1 -1
  80. package/src/js/mixin/slider.js +25 -3
  81. package/src/js/util/animation.js +14 -14
  82. package/src/js/util/dom.js +2 -2
  83. package/src/js/util/mouse.js +8 -11
  84. package/src/js/util/scroll.js +58 -0
  85. package/src/js/util/selector.js +4 -2
  86. package/src/js/util/style.js +3 -3
  87. package/src/js/util/viewport.js +8 -4
  88. package/src/less/components/align.less +2 -2
  89. package/src/less/components/animation.less +2 -2
  90. package/src/less/components/article.less +2 -2
  91. package/src/less/components/base.less +3 -3
  92. package/src/less/components/card.less +13 -6
  93. package/src/less/components/column.less +3 -3
  94. package/src/less/components/container.less +3 -3
  95. package/src/less/components/divider.less +2 -2
  96. package/src/less/components/dropbar.less +1 -1
  97. package/src/less/components/dropdown.less +1 -1
  98. package/src/less/components/dropnav.less +1 -1
  99. package/src/less/components/form.less +1 -1
  100. package/src/less/components/grid.less +3 -3
  101. package/src/less/components/height.less +1 -1
  102. package/src/less/components/icon.less +3 -3
  103. package/src/less/components/inverse.less +12 -0
  104. package/src/less/components/link.less +1 -1
  105. package/src/less/components/modal.less +3 -3
  106. package/src/less/components/nav.less +66 -0
  107. package/src/less/components/navbar.less +7 -11
  108. package/src/less/components/overlay.less +5 -0
  109. package/src/less/components/position.less +7 -7
  110. package/src/less/components/section.less +6 -5
  111. package/src/less/components/sticky.less +1 -1
  112. package/src/less/components/svg.less +3 -3
  113. package/src/less/components/tile.less +10 -0
  114. package/src/less/components/transition.less +9 -9
  115. package/src/less/components/utility.less +4 -4
  116. package/src/less/components/width.less +7 -7
  117. package/src/less/theme/alert.less +1 -1
  118. package/src/less/theme/align.less +1 -1
  119. package/src/less/theme/animation.less +1 -1
  120. package/src/less/theme/article.less +1 -1
  121. package/src/less/theme/background.less +1 -1
  122. package/src/less/theme/badge.less +1 -1
  123. package/src/less/theme/base.less +1 -1
  124. package/src/less/theme/breadcrumb.less +1 -1
  125. package/src/less/theme/button.less +1 -1
  126. package/src/less/theme/card.less +1 -1
  127. package/src/less/theme/close.less +1 -1
  128. package/src/less/theme/column.less +1 -1
  129. package/src/less/theme/comment.less +1 -1
  130. package/src/less/theme/container.less +1 -1
  131. package/src/less/theme/description-list.less +1 -1
  132. package/src/less/theme/divider.less +1 -1
  133. package/src/less/theme/dotnav.less +1 -1
  134. package/src/less/theme/drop.less +1 -1
  135. package/src/less/theme/dropbar.less +1 -1
  136. package/src/less/theme/dropdown.less +1 -1
  137. package/src/less/theme/form-range.less +1 -1
  138. package/src/less/theme/height.less +1 -1
  139. package/src/less/theme/icon.less +1 -1
  140. package/src/less/theme/iconnav.less +1 -1
  141. package/src/less/theme/inverse.less +1 -1
  142. package/src/less/theme/label.less +1 -1
  143. package/src/less/theme/leader.less +1 -1
  144. package/src/less/theme/lightbox.less +1 -1
  145. package/src/less/theme/margin.less +1 -1
  146. package/src/less/theme/modal.less +1 -1
  147. package/src/less/theme/nav.less +1 -1
  148. package/src/less/theme/navbar.less +3 -3
  149. package/src/less/theme/notification.less +1 -1
  150. package/src/less/theme/offcanvas.less +1 -1
  151. package/src/less/theme/overlay.less +1 -1
  152. package/src/less/theme/padding.less +1 -1
  153. package/src/less/theme/pagination.less +1 -1
  154. package/src/less/theme/position.less +1 -1
  155. package/src/less/theme/search.less +1 -1
  156. package/src/less/theme/spinner.less +1 -1
  157. package/src/less/theme/sticky.less +1 -1
  158. package/src/less/theme/tab.less +2 -2
  159. package/src/less/theme/table.less +1 -1
  160. package/src/less/theme/thumbnav.less +1 -1
  161. package/src/less/theme/tile.less +1 -1
  162. package/src/less/theme/tooltip.less +1 -1
  163. package/src/less/theme/totop.less +1 -1
  164. package/src/less/theme/transition.less +1 -1
  165. package/src/less/theme/utility.less +1 -1
  166. package/src/less/theme/variables.less +1 -1
  167. package/src/less/theme/width.less +1 -1
  168. package/src/less/uikit.less +1 -1
  169. package/src/scss/components/align.scss +2 -2
  170. package/src/scss/components/animation.scss +2 -2
  171. package/src/scss/components/base.scss +2 -2
  172. package/src/scss/components/card.scss +12 -6
  173. package/src/scss/components/column.scss +3 -3
  174. package/src/scss/components/container.scss +3 -3
  175. package/src/scss/components/divider.scss +2 -2
  176. package/src/scss/components/dropnav.scss +1 -1
  177. package/src/scss/components/form.scss +1 -1
  178. package/src/scss/components/grid.scss +3 -3
  179. package/src/scss/components/height.scss +1 -1
  180. package/src/scss/components/icon.scss +3 -3
  181. package/src/scss/components/inverse.scss +12 -0
  182. package/src/scss/components/modal.scss +3 -3
  183. package/src/scss/components/nav.scss +63 -0
  184. package/src/scss/components/navbar.scss +5 -8
  185. package/src/scss/components/overlay.scss +4 -0
  186. package/src/scss/components/position.scss +7 -7
  187. package/src/scss/components/section.scss +6 -5
  188. package/src/scss/components/sticky.scss +1 -1
  189. package/src/scss/components/svg.scss +3 -3
  190. package/src/scss/components/tile.scss +8 -0
  191. package/src/scss/components/transition.scss +9 -9
  192. package/src/scss/components/utility.scss +4 -4
  193. package/src/scss/components/width.scss +7 -7
  194. package/src/scss/mixins-theme.scss +10 -7
  195. package/src/scss/mixins.scss +7 -4
  196. package/src/scss/theme/alert.scss +1 -0
  197. package/src/scss/theme/align.scss +1 -1
  198. package/src/scss/theme/animation.scss +1 -1
  199. package/src/scss/theme/article.scss +1 -1
  200. package/src/scss/theme/background.scss +1 -1
  201. package/src/scss/theme/badge.scss +1 -1
  202. package/src/scss/theme/base.scss +1 -1
  203. package/src/scss/theme/breadcrumb.scss +1 -1
  204. package/src/scss/theme/button.scss +1 -1
  205. package/src/scss/theme/card.scss +1 -0
  206. package/src/scss/theme/close.scss +1 -1
  207. package/src/scss/theme/column.scss +1 -1
  208. package/src/scss/theme/comment.scss +1 -1
  209. package/src/scss/theme/container.scss +1 -1
  210. package/src/scss/theme/description-list.scss +1 -1
  211. package/src/scss/theme/divider.scss +1 -1
  212. package/src/scss/theme/dotnav.scss +1 -0
  213. package/src/scss/theme/drop.scss +1 -1
  214. package/src/scss/theme/dropbar.scss +1 -1
  215. package/src/scss/theme/dropdown.scss +1 -1
  216. package/src/scss/theme/form-range.scss +1 -1
  217. package/src/scss/theme/height.scss +1 -1
  218. package/src/scss/theme/icon.scss +1 -1
  219. package/src/scss/theme/iconnav.scss +1 -1
  220. package/src/scss/theme/inverse.scss +1 -1
  221. package/src/scss/theme/label.scss +1 -1
  222. package/src/scss/theme/leader.scss +1 -1
  223. package/src/scss/theme/lightbox.scss +1 -1
  224. package/src/scss/theme/margin.scss +1 -1
  225. package/src/scss/theme/modal.scss +1 -0
  226. package/src/scss/theme/nav.scss +1 -1
  227. package/src/scss/theme/navbar.scss +1 -1
  228. package/src/scss/theme/notification.scss +1 -1
  229. package/src/scss/theme/offcanvas.scss +1 -1
  230. package/src/scss/theme/overlay.scss +1 -1
  231. package/src/scss/theme/padding.scss +1 -1
  232. package/src/scss/theme/pagination.scss +1 -1
  233. package/src/scss/theme/position.scss +1 -1
  234. package/src/scss/theme/search.scss +1 -1
  235. package/src/scss/theme/spinner.scss +1 -1
  236. package/src/scss/theme/sticky.scss +1 -1
  237. package/src/scss/theme/tab.scss +1 -1
  238. package/src/scss/theme/table.scss +1 -0
  239. package/src/scss/theme/thumbnav.scss +1 -1
  240. package/src/scss/theme/tile.scss +1 -1
  241. package/src/scss/theme/tooltip.scss +1 -1
  242. package/src/scss/theme/totop.scss +1 -1
  243. package/src/scss/theme/transition.scss +1 -1
  244. package/src/scss/theme/utility.scss +1 -1
  245. package/src/scss/theme/variables.scss +1 -1
  246. package/src/scss/theme/width.scss +1 -1
  247. package/src/scss/uikit.scss +1 -1
  248. package/src/scss/variables-theme.scss +20 -5
  249. package/src/scss/variables.scss +20 -5
  250. package/tests/height.html +58 -1
  251. package/tests/icon.html +38 -10
  252. package/tests/nav.html +42 -0
  253. package/tests/navbar.html +1 -1
  254. package/tests/offcanvas.html +8 -8
  255. package/tests/search.html +300 -202
  256. package/tests/slider.html +58 -0
  257. package/tests/slideshow.html +66 -0
  258. package/tests/sticky-navbar.html +381 -23
  259. package/src/images/icons/pagekit.svg +0 -3
  260. package/src/js/mixin/internal/scroll.js +0 -39
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -36,9 +36,7 @@
36
36
  },
37
37
  events: {
38
38
  name: "visibilitychange",
39
- el() {
40
- return document;
41
- },
39
+ el: () => document,
42
40
  handler() {
43
41
  if (document.hidden) {
44
42
  this.stop();
@@ -1 +1 @@
1
- /*! UIkit 3.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(t,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],s):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=s(t.UIkit.util))})(this,function(t){"use strict";var s={connected(){t.addClass(this.$el,this.$options.id)}};const d=["days","hours","minutes","seconds"];var r={mixins:[s],props:{date:String,clsWrapper:String,role:String},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer"},connected(){t.attr(this.$el,"role",this.role),this.date=t.toFloat(Date.parse(this.$props.date)),this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el(){return document},handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update(),this.timer||(t.trigger(this.$el,"countdownstart"),this.timer=setInterval(this.update,1e3))},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total||(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0));for(const n of d){const i=t.$(this.clsWrapper.replace("%unit%",n),this.$el);if(!i)continue;let e=String(Math.trunc(o[n]));e=e.length<2?`0${e}`:e,i.textContent!==e&&(e=e.split(""),e.length!==i.children.length&&t.html(i,e.map(()=>"<span></span>").join("")),e.forEach((h,u)=>i.children[u].textContent=h))}}}};function a(o){const n=Math.max(0,o-Date.now())/1e3;return{total:n,seconds:n%60,minutes:n/60%60,hours:n/60/60%24,days:n/60/60/24}}return typeof window<"u"&&window.UIkit&&window.UIkit.component("countdown",r),r});
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(t,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitcountdown",["uikit-util"],s):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitCountdown=s(t.UIkit.util))})(this,function(t){"use strict";var s={connected(){t.addClass(this.$el,this.$options.id)}};const d=["days","hours","minutes","seconds"];var r={mixins:[s],props:{date:String,clsWrapper:String,role:String},data:{date:"",clsWrapper:".uk-countdown-%unit%",role:"timer"},connected(){t.attr(this.$el,"role",this.role),this.date=t.toFloat(Date.parse(this.$props.date)),this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el:()=>document,handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update(),this.timer||(t.trigger(this.$el,"countdownstart"),this.timer=setInterval(this.update,1e3))},stop(){this.timer&&(clearInterval(this.timer),t.trigger(this.$el,"countdownstop"),this.timer=null)},update(){const o=a(this.date);o.total||(this.stop(),this.end||(t.trigger(this.$el,"countdownend"),this.end=!0));for(const n of d){const i=t.$(this.clsWrapper.replace("%unit%",n),this.$el);if(!i)continue;let e=String(Math.trunc(o[n]));e=e.length<2?`0${e}`:e,i.textContent!==e&&(e=e.split(""),e.length!==i.children.length&&t.html(i,e.map(()=>"<span></span>").join("")),e.forEach((h,c)=>i.children[c].textContent=h))}}}};function a(o){const n=Math.max(0,o-Date.now())/1e3;return{total:n,seconds:n%60,minutes:n/60%60,hours:n/60/60%24,days:n/60/60/24}}return typeof window<"u"&&window.UIkit&&window.UIkit.component("countdown",r),r});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 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.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(s,u){typeof exports=="object"&&typeof module<"u"?module.exports=u(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],u):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitFilter=u(s.UIkit.util))})(this,function(s){"use strict";function u(e,n=[]){try{return e?s.startsWith(e,"{")?JSON.parse(e):n.length&&!s.includes(e,":")?{[n[0]]:e}:e.split(";").reduce((o,t)=>{const[a,r]=t.split(/:(.*)/);return a&&!s.isUndefined(r)&&(o[a.trim()]=r.trim()),o},{}):{}}catch{return{}}}function A(e,n="update"){e._connected&&e._updates.length&&(e._queued||(e._queued=new Set,s.fastdom.read(()=>{e._connected&&O(e,e._queued),delete e._queued})),e._queued.add(n.type||n))}function O(e,n){for(const{read:o,write:t,events:a=[]}of e._updates){if(!n.has("update")&&!a.some(c=>n.has(c)))continue;let r;o&&(r=o.call(e,e._data,n),r&&s.isPlainObject(r)&&s.assign(e._data,r)),t&&r!==!1&&s.fastdom.write(()=>{e._connected&&t.call(e,e._data,n)})}}function z(e){return v(s.observeResize,e,"resize")}function N(e){return v(s.observeMutation,e)}function v(e,n,o){return{observe:e,handler(){A(this,o)},...n}}N({options:{childList:!0,attributes:!0,attributeFilter:["style"]}}),z({target:({$el:e})=>[e,...s.children(e)]});function P(e){const n=[[]],o=e.some((t,a)=>a&&e[a-1].offsetParent!==t.offsetParent);for(const t of e){if(!s.isVisible(t))continue;const a=g(t,o);for(let r=n.length-1;r>=0;r--){const c=n[r];if(!c[0]){c.push(t);break}const d=g(c[0],o);if(a.top>=d.bottom-1&&a.top!==d.top){n.push([t]);break}if(a.bottom-1>d.top||a.top===d.top){let h=c.length-1;for(;h>=0;h--){const m=g(c[h],o);if(a.left>=m.left)break}c.splice(h+1,0,t);break}if(r===0){n.unshift([t]);break}}}return n}function g(e,n=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:a,offsetWidth:r}=e;return n&&([o,t]=s.offsetPosition(e)),{top:o,left:t,bottom:o+a,right:t+r}}const w="uk-transition-leave",b="uk-transition-enter";function T(e,n,o,t=0){const a=y(n,!0),r={opacity:1},c={opacity:0},d=l=>()=>a===y(n)?l():Promise.reject(),h=d(async()=>{s.addClass(n,w),await Promise.all(S(n).map((l,i)=>new Promise(f=>setTimeout(()=>s.Transition.start(l,c,o/2,"ease").then(f),i*t)))),s.removeClass(n,w)}),m=d(async()=>{const l=s.height(n);s.addClass(n,b),e(),s.css(s.children(n),{opacity:0}),await B();const i=s.children(n),f=s.height(n);s.css(n,"alignContent","flex-start"),s.height(n,l);const p=S(n);s.css(i,c);const x=p.map(async(X,Y)=>{await H(Y*t),await s.Transition.start(X,r,o/2,"ease")});l!==f&&x.push(s.Transition.start(n,{height:f},o/2+p.length*t,"ease")),await Promise.all(x).then(()=>{s.removeClass(n,b),a===y(n)&&(s.css(n,{height:"",alignContent:""}),s.css(i,{opacity:""}),delete n.dataset.transition)})});return s.hasClass(n,w)?C(n).then(m):s.hasClass(n,b)?C(n).then(h).then(m):h().then(m)}function y(e,n){return n&&(e.dataset.transition=1+y(e)),s.toNumber(e.dataset.transition)||0}function C(e){return Promise.all(s.children(e).filter(s.Transition.inProgress).map(n=>new Promise(o=>s.once(n,"transitionend transitioncanceled",o))))}function S(e){return P(s.children(e)).flat().filter(n=>s.isVisible(n))}function B(){return new Promise(e=>requestAnimationFrame(e))}function H(e){return new Promise(n=>setTimeout(n,e))}async function L(e,n,o){await F();let t=s.children(n);const a=t.map(f=>$(f,!0)),r={...s.css(n,["height","padding"]),display:"block"};await Promise.all(t.concat(n).map(s.Transition.cancel)),e(),t=t.concat(s.children(n).filter(f=>!s.includes(t,f))),await Promise.resolve(),s.fastdom.flush();const c=s.attr(n,"style"),d=s.css(n,["height","padding"]),[h,m]=V(n,t,a),l=t.map(f=>({style:s.attr(f,"style")}));t.forEach((f,p)=>m[p]&&s.css(f,m[p])),s.css(n,r),s.trigger(n,"scroll"),s.fastdom.flush(),await F();const i=t.map((f,p)=>s.parent(f)===n&&s.Transition.start(f,h[p],o,"ease")).concat(s.Transition.start(n,d,o,"ease"));try{await Promise.all(i),t.forEach((f,p)=>{s.attr(f,l[p]),s.parent(f)===n&&s.css(f,"display",h[p].opacity===0?"none":"")}),s.attr(n,"style",c)}catch{s.attr(t,"style",""),j(n,r)}}function $(e,n){const o=s.css(e,"zIndex");return s.isVisible(e)?{display:"",opacity:n?s.css(e,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?s.index(e):o,...I(e)}:!1}function V(e,n,o){const t=n.map((r,c)=>s.parent(r)&&c in o?o[c]?s.isVisible(r)?I(r):{opacity:0}:{opacity:s.isVisible(r)?1:0}:!1),a=t.map((r,c)=>{const d=s.parent(n[c])===e&&(o[c]||$(n[c]));if(!d)return!1;if(!r)delete d.opacity;else if(!("opacity"in r)){const{opacity:h}=d;h%1?r.opacity=1:delete d.opacity}return d});return[t,a]}function j(e,n){for(const o in n)s.css(e,o,"")}function I(e){const{height:n,width:o}=s.offset(e);return{height:n,width:o,transform:"",...s.position(e),...s.css(e,["marginTop","marginLeft"])}}function F(){return new Promise(e=>requestAnimationFrame(e))}var M={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(e,n=this.$el){const o=this.animation;return(o==="fade"?T:o==="delayed-fade"?(...a)=>T(...a,40):o?L:()=>(e(),Promise.resolve()))(e,n,this.duration).catch(s.noop)}}};const R={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var E={mixins:[M],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{children:({target:e},n)=>s.$$(`${e} > *`,n),toggles:({attrItem:e},n)=>s.$$(`[${e}],[data-${e}]`,n)},watch:{toggles(e){this.updateState();const n=s.$$(this.selActive,this.$el);for(const o of e){this.selActive!==!1&&s.toggleClass(o,this.cls,s.includes(n,o));const t=Q(o);s.isTag(t,"a")&&s.attr(t,"role","button")}},children(e,n){n&&this.updateState()}},events:{name:"click keydown",delegate(){return`[${this.attrItem}],[data-${this.attrItem}]`},handler(e){e.type==="keydown"&&e.keyCode!==R.SPACE||e.target.closest("a,button")&&(e.preventDefault(),this.apply(e.current))}},methods:{apply(e){const n=this.getState(),o=q(e,this.attrItem,this.getState());W(n,o)||this.setState(o)},getState(){return this.toggles.filter(e=>s.hasClass(e,this.cls)).reduce((e,n)=>q(n,this.attrItem,e),{filter:{"":""},sort:[]})},async setState(e,n=!0){e={filter:{"":""},sort:[],...e},s.trigger(this.$el,"beforeFilter",[this,e]);for(const o of this.toggles)s.toggleClass(o,this.cls,G(o,this.attrItem,e));await Promise.all(s.$$(this.target,this.$el).map(o=>{const t=()=>{D(e,o,s.children(o)),this.$update(this.$el)};return n?this.animate(t,o):t()})),s.trigger(this.$el,"afterFilter",[this])},updateState(){s.fastdom.write(()=>this.setState(this.getState(),!1))}}};function _(e,n){return u(s.data(e,n),["filter"])}function W(e,n){return["filter","sort"].every(o=>s.isEqual(e[o],n[o]))}function D(e,n,o){const t=J(e);o.forEach(c=>s.css(c,"display",t&&!s.matches(c,t)?"none":""));const[a,r]=e.sort;if(a){const c=K(o,a,r);s.isEqual(c,o)||s.append(n,c)}}function q(e,n,o){const{filter:t,group:a,sort:r,order:c="asc"}=_(e,n);return(t||s.isUndefined(r))&&(a?t?(delete o.filter[""],o.filter[a]=t):(delete o.filter[a],(s.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),s.isUndefined(r)||(o.sort=[r,c]),o}function G(e,n,{filter:o={"":""},sort:[t,a]}){const{filter:r="",group:c="",sort:d,order:h="asc"}=_(e,n);return s.isUndefined(d)?c in o&&r===o[c]||!r&&c&&!(c in o)&&!o[""]:t===d&&a===h}function J({filter:e}){let n="";return s.each(e,o=>n+=o||""),n}function K(e,n,o){return[...e].sort((t,a)=>s.data(t,n).localeCompare(s.data(a,n),void 0,{numeric:!0})*(o==="asc"||-1))}function Q(e){return s.$("a,button",e)||e}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",E),E});
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(s,u){typeof exports=="object"&&typeof module<"u"?module.exports=u(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitfilter",["uikit-util"],u):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitFilter=u(s.UIkit.util))})(this,function(s){"use strict";function u(e,n=[]){try{return e?s.startsWith(e,"{")?JSON.parse(e):n.length&&!s.includes(e,":")?{[n[0]]:e}:e.split(";").reduce((o,t)=>{const[a,r]=t.split(/:(.*)/);return a&&!s.isUndefined(r)&&(o[a.trim()]=r.trim()),o},{}):{}}catch{return{}}}function A(e,n="update"){e._connected&&e._updates.length&&(e._queued||(e._queued=new Set,s.fastdom.read(()=>{e._connected&&O(e,e._queued),delete e._queued})),e._queued.add(n.type||n))}function O(e,n){for(const{read:o,write:t,events:a=[]}of e._updates){if(!n.has("update")&&!a.some(c=>n.has(c)))continue;let r;o&&(r=o.call(e,e._data,n),r&&s.isPlainObject(r)&&s.assign(e._data,r)),t&&r!==!1&&s.fastdom.write(()=>{e._connected&&t.call(e,e._data,n)})}}function z(e){return v(s.observeResize,e,"resize")}function N(e){return v(s.observeMutation,e)}function v(e,n,o){return{observe:e,handler(){A(this,o)},...n}}N({options:{childList:!0,attributes:!0,attributeFilter:["style"]}}),z({target:({$el:e})=>[e,...s.children(e)]});function P(e){const n=[[]],o=e.some((t,a)=>a&&e[a-1].offsetParent!==t.offsetParent);for(const t of e){if(!s.isVisible(t))continue;const a=g(t,o);for(let r=n.length-1;r>=0;r--){const c=n[r];if(!c[0]){c.push(t);break}const d=g(c[0],o);if(a.top>=d.bottom-1&&a.top!==d.top){n.push([t]);break}if(a.bottom-1>d.top||a.top===d.top){let h=c.length-1;for(;h>=0;h--){const m=g(c[h],o);if(a.left>=m.left)break}c.splice(h+1,0,t);break}if(r===0){n.unshift([t]);break}}}return n}function g(e,n=!1){let{offsetTop:o,offsetLeft:t,offsetHeight:a,offsetWidth:r}=e;return n&&([o,t]=s.offsetPosition(e)),{top:o,left:t,bottom:o+a,right:t+r}}const w="uk-transition-leave",b="uk-transition-enter";function T(e,n,o,t=0){const a=y(n,!0),r={opacity:1},c={opacity:0},d=l=>()=>a===y(n)?l():Promise.reject(),h=d(async()=>{s.addClass(n,w),await Promise.all(S(n).map((l,i)=>new Promise(f=>setTimeout(()=>s.Transition.start(l,c,o/2,"ease").then(f),i*t)))),s.removeClass(n,w)}),m=d(async()=>{const l=s.height(n);s.addClass(n,b),e(),s.css(s.children(n),{opacity:0}),await B();const i=s.children(n),f=s.height(n);s.css(n,"alignContent","flex-start"),s.height(n,l);const p=S(n);s.css(i,c);const x=p.map(async(X,Y)=>{await H(Y*t),await s.Transition.start(X,r,o/2,"ease")});l!==f&&x.push(s.Transition.start(n,{height:f},o/2+p.length*t,"ease")),await Promise.all(x).then(()=>{s.removeClass(n,b),a===y(n)&&(s.css(n,{height:"",alignContent:""}),s.css(i,{opacity:""}),delete n.dataset.transition)})});return s.hasClass(n,w)?C(n).then(m):s.hasClass(n,b)?C(n).then(h).then(m):h().then(m)}function y(e,n){return n&&(e.dataset.transition=1+y(e)),s.toNumber(e.dataset.transition)||0}function C(e){return Promise.all(s.children(e).filter(s.Transition.inProgress).map(n=>new Promise(o=>s.once(n,"transitionend transitioncanceled",o))))}function S(e){return P(s.children(e)).flat().filter(n=>s.isVisible(n))}function B(){return new Promise(e=>requestAnimationFrame(e))}function H(e){return new Promise(n=>setTimeout(n,e))}async function L(e,n,o){await F();let t=s.children(n);const a=t.map(f=>$(f,!0)),r={...s.css(n,["height","padding"]),display:"block"};await Promise.all(t.concat(n).map(s.Transition.cancel)),e(),t=t.concat(s.children(n).filter(f=>!s.includes(t,f))),await Promise.resolve(),s.fastdom.flush();const c=s.attr(n,"style"),d=s.css(n,["height","padding"]),[h,m]=V(n,t,a),l=t.map(f=>({style:s.attr(f,"style")}));t.forEach((f,p)=>m[p]&&s.css(f,m[p])),s.css(n,r),s.trigger(n,"scroll"),s.fastdom.flush(),await F();const i=t.map((f,p)=>s.parent(f)===n&&s.Transition.start(f,h[p],o,"ease")).concat(s.Transition.start(n,d,o,"ease"));try{await Promise.all(i),t.forEach((f,p)=>{s.attr(f,l[p]),s.parent(f)===n&&s.css(f,"display",h[p].opacity===0?"none":"")}),s.attr(n,"style",c)}catch{s.attr(t,"style",""),j(n,r)}}function $(e,n){const o=s.css(e,"zIndex");return s.isVisible(e)?{display:"",opacity:n?s.css(e,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:o==="auto"?s.index(e):o,...I(e)}:!1}function V(e,n,o){const t=n.map((r,c)=>s.parent(r)&&c in o?o[c]?s.isVisible(r)?I(r):{opacity:0}:{opacity:s.isVisible(r)?1:0}:!1),a=t.map((r,c)=>{const d=s.parent(n[c])===e&&(o[c]||$(n[c]));if(!d)return!1;if(!r)delete d.opacity;else if(!("opacity"in r)){const{opacity:h}=d;h%1?r.opacity=1:delete d.opacity}return d});return[t,a]}function j(e,n){for(const o in n)s.css(e,o,"")}function I(e){const{height:n,width:o}=s.offset(e);return{height:n,width:o,transform:"",...s.position(e),...s.css(e,["marginTop","marginLeft"])}}function F(){return new Promise(e=>requestAnimationFrame(e))}var M={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(e,n=this.$el){const o=this.animation;return(o==="fade"?T:o==="delayed-fade"?(...a)=>T(...a,40):o?L:()=>(e(),Promise.resolve()))(e,n,this.duration).catch(s.noop)}}};const R={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var E={mixins:[M],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"uk-filter-control",cls:"uk-active",duration:250},computed:{children:({target:e},n)=>s.$$(`${e} > *`,n),toggles:({attrItem:e},n)=>s.$$(`[${e}],[data-${e}]`,n)},watch:{toggles(e){this.updateState();const n=s.$$(this.selActive,this.$el);for(const o of e){this.selActive!==!1&&s.toggleClass(o,this.cls,s.includes(n,o));const t=Q(o);s.isTag(t,"a")&&s.attr(t,"role","button")}},children(e,n){n&&this.updateState()}},events:{name:"click keydown",delegate(){return`[${this.attrItem}],[data-${this.attrItem}]`},handler(e){e.type==="keydown"&&e.keyCode!==R.SPACE||e.target.closest("a,button")&&(e.preventDefault(),this.apply(e.current))}},methods:{apply(e){const n=this.getState(),o=q(e,this.attrItem,this.getState());W(n,o)||this.setState(o)},getState(){return this.toggles.filter(e=>s.hasClass(e,this.cls)).reduce((e,n)=>q(n,this.attrItem,e),{filter:{"":""},sort:[]})},async setState(e,n=!0){e={filter:{"":""},sort:[],...e},s.trigger(this.$el,"beforeFilter",[this,e]);for(const o of this.toggles)s.toggleClass(o,this.cls,G(o,this.attrItem,e));await Promise.all(s.$$(this.target,this.$el).map(o=>{const t=()=>{D(e,o,s.children(o)),this.$update(this.$el)};return n?this.animate(t,o):t()})),s.trigger(this.$el,"afterFilter",[this])},updateState(){s.fastdom.write(()=>this.setState(this.getState(),!1))}}};function _(e,n){return u(s.data(e,n),["filter"])}function W(e,n){return["filter","sort"].every(o=>s.isEqual(e[o],n[o]))}function D(e,n,o){const t=J(e);o.forEach(c=>s.css(c,"display",t&&!s.matches(c,t)?"none":""));const[a,r]=e.sort;if(a){const c=K(o,a,r);s.isEqual(c,o)||s.append(n,c)}}function q(e,n,o){const{filter:t,group:a,sort:r,order:c="asc"}=_(e,n);return(t||s.isUndefined(r))&&(a?t?(delete o.filter[""],o.filter[a]=t):(delete o.filter[a],(s.isEmpty(o.filter)||""in o.filter)&&(o.filter={"":t||""})):o.filter={"":t||""}),s.isUndefined(r)||(o.sort=[r,c]),o}function G(e,n,{filter:o={"":""},sort:[t,a]}){const{filter:r="",group:c="",sort:d,order:h="asc"}=_(e,n);return s.isUndefined(d)?c in o&&r===o[c]||!r&&c&&!(c in o)&&!o[""]:t===d&&a===h}function J({filter:e}){let n="";return s.each(e,o=>n+=o||""),n}function K(e,n,o){return[...e].sort((t,a)=>s.data(t,n).localeCompare(s.data(a,n),void 0,{numeric:!0})*(o==="asc"||-1))}function Q(e){return s.$("a,button",e)||e}return typeof window<"u"&&window.UIkit&&window.UIkit.component("filter",E),E});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -6,6 +6,53 @@
6
6
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.UIkitLightbox_panel = factory(global.UIkit.util));
7
7
  })(this, (function (util) { 'use strict';
8
8
 
9
+ let prevented;
10
+ function preventBackgroundScroll(el) {
11
+ const off = util.on(el, "touchstart", (e) => {
12
+ if (e.targetTouches.length !== 1 || util.matches(e.target, 'input[type="range"')) {
13
+ return;
14
+ }
15
+ let prev = util.getEventPos(e).y;
16
+ const offMove = util.on(
17
+ el,
18
+ "touchmove",
19
+ (e2) => {
20
+ const pos = util.getEventPos(e2).y;
21
+ if (pos === prev) {
22
+ return;
23
+ }
24
+ prev = pos;
25
+ if (!util.scrollParents(e2.target).some((scrollParent) => {
26
+ if (!el.contains(scrollParent)) {
27
+ return false;
28
+ }
29
+ let { scrollHeight, clientHeight } = scrollParent;
30
+ return clientHeight < scrollHeight;
31
+ })) {
32
+ e2.preventDefault();
33
+ }
34
+ },
35
+ { passive: false }
36
+ );
37
+ util.once(el, "scroll touchend touchcanel", offMove, { capture: true });
38
+ });
39
+ if (prevented) {
40
+ return off;
41
+ }
42
+ prevented = true;
43
+ const { scrollingElement } = document;
44
+ util.css(scrollingElement, {
45
+ overflowY: CSS.supports("overflow", "clip") ? "clip" : "hidden",
46
+ touchAction: "none",
47
+ paddingRight: util.width(window) - scrollingElement.clientWidth || ""
48
+ });
49
+ return () => {
50
+ prevented = false;
51
+ off();
52
+ util.css(scrollingElement, { overflowY: "", touchAction: "", paddingRight: "" });
53
+ };
54
+ }
55
+
9
56
  var Class = {
10
57
  connected() {
11
58
  util.addClass(this.$el, this.$options.id);
@@ -26,39 +73,6 @@
26
73
  }
27
74
  };
28
75
 
29
- let prevented;
30
- function preventBackgroundScroll(el) {
31
- const off = util.on(
32
- el,
33
- "touchmove",
34
- (e) => {
35
- if (e.targetTouches.length !== 1 || util.matches(e.target, 'input[type="range"')) {
36
- return;
37
- }
38
- let { scrollHeight, clientHeight, scrollWidth, clientWidth } = util.scrollParent(e.target);
39
- if (e.cancelable && clientHeight >= scrollHeight && clientWidth >= scrollWidth) {
40
- e.preventDefault();
41
- }
42
- },
43
- { passive: false }
44
- );
45
- if (prevented) {
46
- return off;
47
- }
48
- prevented = true;
49
- const { scrollingElement } = document;
50
- util.css(scrollingElement, {
51
- overflowY: CSS.supports("overflow", "clip") ? "clip" : "hidden",
52
- touchAction: "none",
53
- paddingRight: util.width(window) - scrollingElement.clientWidth || ""
54
- });
55
- return () => {
56
- prevented = false;
57
- off();
58
- util.css(scrollingElement, { overflowY: "", touchAction: "", paddingRight: "" });
59
- };
60
- }
61
-
62
76
  var Togglable = {
63
77
  props: {
64
78
  cls: Boolean,
@@ -629,9 +643,7 @@
629
643
  events: [
630
644
  {
631
645
  name: "visibilitychange",
632
- el() {
633
- return document;
634
- },
646
+ el: () => document,
635
647
  filter() {
636
648
  return this.autoplay;
637
649
  },
@@ -664,6 +676,7 @@
664
676
  const pointerDown = "touchstart mousedown";
665
677
  const pointerMove = "touchmove mousemove";
666
678
  const pointerUp = "touchend touchcancel mouseup click input scroll";
679
+ const preventClick = (e) => e.preventDefault();
667
680
  var SliderDrag = {
668
681
  props: {
669
682
  draggable: Boolean
@@ -691,7 +704,7 @@
691
704
  return `${this.selList} > *`;
692
705
  },
693
706
  handler(e) {
694
- if (!this.draggable || !util.isTouch(e) && hasSelectableText(e.target) || e.target.closest(util.selInput) || e.button > 0 || this.length < 2) {
707
+ if (!this.draggable || this.parallax || !util.isTouch(e) && hasSelectableText(e.target) || e.target.closest(util.selInput) || e.button > 0 || this.length < 2) {
695
708
  return;
696
709
  }
697
710
  this.start(e);
@@ -735,20 +748,22 @@
735
748
  if (distance === 0 || this.prevPos === this.pos || !this.dragging && Math.abs(distance) < this.threshold) {
736
749
  return;
737
750
  }
738
- util.css(this.list, "pointerEvents", "none");
751
+ if (!this.dragging) {
752
+ util.on(this.list, "click", preventClick, pointerOptions);
753
+ }
739
754
  e.cancelable && e.preventDefault();
740
755
  this.dragging = true;
741
756
  this.dir = distance < 0 ? 1 : -1;
742
757
  let { slides, prevIndex } = this;
743
758
  let dis = Math.abs(distance);
744
759
  let nextIndex = this.getIndex(prevIndex + this.dir);
745
- let width = this._getDistance(prevIndex, nextIndex);
760
+ let width = getDistance.call(this, prevIndex, nextIndex);
746
761
  while (nextIndex !== prevIndex && dis > width) {
747
762
  this.drag -= width * this.dir;
748
763
  prevIndex = nextIndex;
749
764
  dis -= width;
750
765
  nextIndex = this.getIndex(prevIndex + this.dir);
751
- width = this._getDistance(prevIndex, nextIndex);
766
+ width = getDistance.call(this, prevIndex, nextIndex);
752
767
  }
753
768
  this.percent = dis / width;
754
769
  const prev = slides[prevIndex];
@@ -771,14 +786,14 @@
771
786
  if (changed) {
772
787
  this.prevIndex = prevIndex;
773
788
  this.index = nextIndex;
774
- !edge && util.trigger(prev, "beforeitemhide", [this]);
789
+ if (!edge) {
790
+ util.trigger(prev, "beforeitemhide", [this]);
791
+ util.trigger(prev, "itemhide", [this]);
792
+ }
775
793
  util.trigger(next, "beforeitemshow", [this]);
776
- }
777
- this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
778
- if (changed) {
779
- !edge && util.trigger(prev, "itemhide", [this]);
780
794
  util.trigger(next, "itemshow", [this]);
781
795
  }
796
+ this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
782
797
  },
783
798
  end() {
784
799
  util.off(document, pointerMove, this.move, pointerOptions);
@@ -802,14 +817,15 @@
802
817
  );
803
818
  }
804
819
  }
805
- util.css(this.list, { userSelect: "", pointerEvents: "" });
820
+ setTimeout(() => util.off(this.list, "click", preventClick, pointerOptions));
821
+ util.css(this.list, { userSelect: "" });
806
822
  this.drag = this.percent = null;
807
- },
808
- _getDistance(prev, next) {
809
- return this._getTransitioner(prev, prev !== next && next).getDistance() || this.slides[prev].offsetWidth;
810
823
  }
811
824
  }
812
825
  };
826
+ function getDistance(prev, next) {
827
+ return this._getTransitioner(prev, prev !== next && next).getDistance() || this.slides[prev].offsetWidth;
828
+ }
813
829
  function hasSelectableText(el) {
814
830
  return util.css(el, "userSelect") !== "none" && util.toArray(el.childNodes).some((el2) => el2.nodeType === 3 && el2.textContent.trim());
815
831
  }
@@ -944,6 +960,9 @@
944
960
  delegate() {
945
961
  return this.selNavItem;
946
962
  },
963
+ filter() {
964
+ return !this.parallax;
965
+ },
947
966
  handler(e) {
948
967
  if (e.target.closest("a,button") && (e.type === "click" || e.keyCode === keyMap.SPACE)) {
949
968
  e.preventDefault();
@@ -960,6 +979,9 @@
960
979
  delegate() {
961
980
  return this.selNavItem;
962
981
  },
982
+ filter() {
983
+ return !this.parallax;
984
+ },
963
985
  handler(e) {
964
986
  const { current, keyCode } = e;
965
987
  const cmd = util.data(current, this.attrItem);
@@ -984,9 +1006,10 @@
984
1006
  const item = util.toNumber(cmd);
985
1007
  const active = item === index;
986
1008
  util.toggleClass(el, this.clsActive, active);
1009
+ util.toggleClass(button, "uk-disabled", this.parallax);
987
1010
  util.attr(button, {
988
1011
  "aria-selected": active,
989
- tabindex: active ? null : -1
1012
+ tabindex: active && !this.parallax ? null : -1
990
1013
  });
991
1014
  if (active && button && util.matches(util.parent(el), ":focus-within")) {
992
1015
  button.focus();
@@ -1006,7 +1029,7 @@
1006
1029
  var Slider = {
1007
1030
  mixins: [SliderAutoplay, SliderDrag, SliderNav, I18n],
1008
1031
  props: {
1009
- clsActivated: Boolean,
1032
+ clsActivated: String,
1010
1033
  easing: String,
1011
1034
  index: Number,
1012
1035
  finite: Boolean,
@@ -1021,7 +1044,10 @@
1021
1044
  stack: [],
1022
1045
  percent: 0,
1023
1046
  clsActive: "uk-active",
1024
- clsActivated: false,
1047
+ clsActivated: "",
1048
+ clsEnter: "uk-slide-enter",
1049
+ clsLeave: "uk-slide-leave",
1050
+ clsSlideActive: "uk-slide-active",
1025
1051
  Transitioner: false,
1026
1052
  transitionOptions: {}
1027
1053
  }),
@@ -1054,10 +1080,24 @@
1054
1080
  }
1055
1081
  },
1056
1082
  observe: resize(),
1083
+ events: {
1084
+ itemshow({ target }) {
1085
+ util.addClass(target, this.clsEnter, this.clsSlideActive);
1086
+ },
1087
+ itemshown({ target }) {
1088
+ util.removeClass(target, this.clsEnter);
1089
+ },
1090
+ itemhide({ target }) {
1091
+ util.addClass(target, this.clsLeave);
1092
+ },
1093
+ itemhidden({ target }) {
1094
+ util.removeClass(target, this.clsLeave, this.clsSlideActive);
1095
+ }
1096
+ },
1057
1097
  methods: {
1058
1098
  show(index, force = false) {
1059
1099
  var _a;
1060
- if (this.dragging || !this.length) {
1100
+ if (this.dragging || !this.length || this.parallax) {
1061
1101
  return;
1062
1102
  }
1063
1103
  const { stack } = this;
@@ -1272,9 +1312,7 @@
1272
1312
  {
1273
1313
  name: "shown",
1274
1314
  self: true,
1275
- handler() {
1276
- this.showControls();
1277
- }
1315
+ handler: "showControls"
1278
1316
  },
1279
1317
  {
1280
1318
  name: "hide",
@@ -1294,9 +1332,7 @@
1294
1332
  },
1295
1333
  {
1296
1334
  name: "keyup",
1297
- el() {
1298
- return document;
1299
- },
1335
+ el: () => document,
1300
1336
  handler({ keyCode }) {
1301
1337
  if (!this.isToggled(this.$el) || !this.draggable) {
1302
1338
  return;
@@ -1 +1 @@
1
- /*! UIkit 3.17.12-dev.f1425d280 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(e,w){typeof exports=="object"&&typeof module<"u"?module.exports=w(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox_panel",["uikit-util"],w):(e=typeof globalThis<"u"?globalThis:e||self,e.UIkitLightbox_panel=w(e.UIkit.util))})(this,function(e){"use strict";var w={connected(){e.addClass(this.$el,this.$options.id)}},R={props:{container:Boolean},data:{container:!0},computed:{container({container:t}){return t===!0&&this.$container||t&&e.$(t)}}};let E;function q(t){const s=e.on(t,"touchmove",n=>{if(n.targetTouches.length!==1||e.matches(n.target,'input[type="range"'))return;let{scrollHeight:o,clientHeight:r,scrollWidth:h,clientWidth:a}=e.scrollParent(n.target);n.cancelable&&r>=o&&a>=h&&n.preventDefault()},{passive:!1});if(E)return s;E=!0;const{scrollingElement:i}=document;return e.css(i,{overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",paddingRight:e.width(window)-i.clientWidth||""}),()=>{E=!1,s(),e.css(i,{overflowY:"",touchAction:"",paddingRight:""})}}var V={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(s=>e.startsWith(t[0],s))},methods:{async toggleElement(t,s,i){try{return await Promise.all(e.toNodes(t).map(n=>{const o=e.isBoolean(s)?s:!this.isToggled(n);if(!e.trigger(n,`before${o?"show":"hide"}`,[this]))return Promise.reject();const r=(e.isFunction(i)?i:i===!1||!this.hasAnimation?G:this.hasTransition?X:Y)(n,o,this),h=o?this.clsEnter:this.clsLeave;e.addClass(n,h),e.trigger(n,o?"show":"hide",[this]);const a=()=>{e.removeClass(n,h),e.trigger(n,o?"shown":"hidden",[this])};return r?r.then(a,()=>(e.removeClass(n,h),Promise.reject())):a()})),!0}catch{return!1}},isToggled(t=this.$el){return t=e.toNode(t),e.hasClass(t,this.clsEnter)?!0:e.hasClass(t,this.clsLeave)?!1:this.cls?e.hasClass(t,this.cls.split(" ")[0]):e.isVisible(t)},_toggle(t,s){if(!t)return;s=!!s;let i;this.cls?(i=e.includes(this.cls," ")||s!==e.hasClass(t,this.cls),i&&e.toggleClass(t,this.cls,e.includes(this.cls," ")?void 0:s)):(i=s===t.hidden,i&&(t.hidden=!s)),e.$$("[autofocus]",t).some(n=>e.isVisible(n)?n.focus()||!0:n.blur()),i&&e.trigger(t,"toggled",[s,this])}}};function G(t,s,{_toggle:i}){return e.Animation.cancel(t),e.Transition.cancel(t),i(t,s)}async function X(t,s,{animation:i,duration:n,velocity:o,transition:r,_toggle:h}){var a;const[l="reveal",d="top"]=((a=i[0])==null?void 0:a.split("-"))||[],c=[["left","right"],["top","bottom"]],p=c[e.includes(c[0],d)?0:1],g=p[1]===d,v=["width","height"][c.indexOf(p)],b=`margin-${p[0]}`,T=`margin-${d}`;let k=e.dimensions(t)[v];const bt=e.Transition.inProgress(t);await e.Transition.cancel(t),s&&h(t,!0);const wt=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",b,T].map(W=>[W,t.style[W]])),I=e.dimensions(t),N=e.toFloat(e.css(t,b)),H=e.toFloat(e.css(t,T)),u=I[v]+H;!bt&&!s&&(k+=H);const[A]=e.wrapInner(t,"<div>");e.css(A,{boxSizing:"border-box",height:I.height,width:I.width,...e.css(t,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",T])}),e.css(t,{padding:0,border:0,minWidth:0,minHeight:0,[T]:0,width:I.width,height:I.height,overflow:"hidden",[v]:k});const U=k/u;n=(o*u+n)*(s?1-U:U);const z={[v]:s?u:0};g&&(e.css(t,b,u-k+N),z[b]=s?N:u+N),!g^l==="reveal"&&(e.css(A,b,-u+k),e.Transition.start(A,{[b]:s?0:-u},n,r));try{await e.Transition.start(t,z,n,r)}finally{e.css(t,wt),e.unwrap(A.firstChild),s||h(t,!1)}}function Y(t,s,i){const{animation:n,duration:o,_toggle:r}=i;return s?(r(t,!0),e.Animation.in(t,n[0],o,i.origin)):e.Animation.out(t,n[1]||n[0],o,i.origin).then(()=>r(t,!1))}const f=[];var J={mixins:[w,R,V],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},s)=>e.$(t,s),transitionElement(){return this.panel},bgClose({bgClose:t}){return t&&this.panel}},connected(){e.attr(this.panel||this.$el,"role",this.role),this.overlay&&e.attr(this.panel||this.$el,"aria-modal",!0)},beforeDisconnect(){e.includes(f,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate(){return`${this.selClose},a[href*="#"]`},handler(t){const{current:s,defaultPrevented:i}=t,{hash:n}=s;!i&&n&&e.isSameSiteAnchor(s)&&!this.$el.contains(e.$(n))?this.hide():e.matches(s,this.selClose)&&(t.preventDefault(),this.hide())}},{name:"toggle",self:!0,handler(t){t.defaultPrevented||(t.preventDefault(),this.isToggled()===e.includes(f,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(t){if(e.includes(f,this))return!1;!this.stack&&f.length?(Promise.all(f.map(s=>s.hide())).then(this.show),t.preventDefault()):f.push(this)}},{name:"show",self:!0,handler(){this.stack&&e.css(this.$el,"zIndex",e.toFloat(e.css(this.$el,"zIndex"))+f.length);const t=[this.overlay&&Q(this),this.overlay&&q(this.$el),this.bgClose&&Z(this),this.escClose&&tt(this)];e.once(this.$el,"hidden",()=>t.forEach(s=>s&&s()),{self:!0}),e.addClass(document.documentElement,this.clsPage)}},{name:"shown",self:!0,handler(){e.isFocusable(this.$el)||e.attr(this.$el,"tabindex","-1"),e.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){e.includes(f,this)&&f.splice(f.indexOf(this),1),e.css(this.$el,"zIndex",""),f.some(t=>t.clsPage===this.clsPage)||e.removeClass(document.documentElement,this.clsPage)}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},show(){return this.container&&e.parent(this.$el)!==this.container?(e.append(this.container,this.$el),new Promise(t=>requestAnimationFrame(()=>this.show().then(t)))):this.toggleElement(this.$el,!0,D)},hide(){return this.toggleElement(this.$el,!1,D)}}};function D(t,s,{transitionElement:i,_toggle:n}){return new Promise((o,r)=>e.once(t,"show hide",()=>{var h;(h=t._reject)==null||h.call(t),t._reject=r,n(t,s);const a=e.once(i,"transitionstart",()=>{e.once(i,"transitionend transitioncancel",o,{self:!0}),clearTimeout(l)},{self:!0}),l=setTimeout(()=>{a(),o()},K(e.css(i,"transitionDuration")))})).then(()=>delete t._reject)}function K(t){return t?e.endsWith(t,"ms")?e.toFloat(t):e.toFloat(t)*1e3:0}function Q(t){return e.on(document,"focusin",s=>{e.last(f)===t&&!t.$el.contains(s.target)&&t.$el.focus()})}function Z(t){return e.on(document,e.pointerDown,({target:s})=>{e.last(f)!==t||t.overlay&&!t.$el.contains(s)||t.panel.contains(s)||e.once(document,`${e.pointerUp} ${e.pointerCancel} scroll`,({defaultPrevented:i,type:n,target:o})=>{!i&&n===e.pointerUp&&s===o&&t.hide()},!0)})}function tt(t){return e.on(document,"keydown",s=>{s.keyCode===27&&e.last(f)===t&&t.hide()})}var O={slide:{show(t){return[{transform:y(t*-100)},{transform:y()}]},percent(t){return et(t)},translate(t,s){return[{transform:y(s*-100*t)},{transform:y(s*100*(1-t))}]}}};function et(t){return Math.abs(e.css(t,"transform").split(",")[4]/t.offsetWidth)}function y(t=0,s="%"){return t+=t?s:"",`translate3d(${t}, 0, 0)`}function C(t){return`scale3d(${t}, ${t}, 1)`}function st(t,s,i,{animation:n,easing:o}){const{percent:r,translate:h,show:a=e.noop}=n,l=a(i);let d;return{dir:i,show(c,p=0,g){const $=g?"linear":o;return c-=Math.round(c*e.clamp(p,-1,1)),this.translate(p),_(s,"itemin",{percent:p,duration:c,timing:$,dir:i}),_(t,"itemout",{percent:1-p,duration:c,timing:$,dir:i}),new Promise(v=>{d||(d=v),Promise.all([e.Transition.start(s,l[1],c,$),e.Transition.start(t,l[0],c,$)]).then(()=>{this.reset(),d()},e.noop)})},cancel(){return e.Transition.cancel([s,t])},reset(){for(const c in l[0])e.css([s,t],c,"")},async forward(c,p=this.percent()){return await this.cancel(),this.show(c,p,!0)},translate(c){this.reset();const p=h(c,i);e.css(s,p[1]),e.css(t,p[0]),_(s,"itemtranslatein",{percent:c,dir:i}),_(t,"itemtranslateout",{percent:1-c,dir:i})},percent(){return r(t||s,s,i)},getDistance(){return t==null?void 0:t.offsetWidth}}}function _(t,s,i){e.trigger(t,e.createEvent(s,!1,!1,i))}function it(t,s="update"){t._connected&&t._updates.length&&(t._queued||(t._queued=new Set,e.fastdom.read(()=>{t._connected&&nt(t,t._queued),delete t._queued})),t._queued.add(s.type||s))}function nt(t,s){for(const{read:i,write:n,events:o=[]}of t._updates){if(!s.has("update")&&!o.some(h=>s.has(h)))continue;let r;i&&(r=i.call(t,t._data,s),r&&e.isPlainObject(r)&&e.assign(t._data,r)),n&&r!==!1&&e.fastdom.write(()=>{t._connected&&n.call(t,t._data,s)})}}function rt(t){return ot(e.observeResize,t,"resize")}function ot(t,s,i){return{observe:t,handler(){it(this,i)},...s}}var at={props:{i18n:Object},data:{i18n:null},methods:{t(t,...s){var i,n,o;let r=0;return((o=((i=this.i18n)==null?void 0:i[t])||((n=this.$options.i18n)==null?void 0:n[t]))==null?void 0:o.replace(/%s/g,()=>s[r++]||""))||""}}},ht={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){e.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){e.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el(){return document},filter(){return this.autoplay},handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||this.draggable&&e.matches(this.$el,":focus-within")||this.pauseOnHover&&e.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const P={passive:!1,capture:!0},B={passive:!0,capture:!0},dt="touchstart mousedown",S="touchmove mousemove",L="touchend touchcancel mouseup click input scroll";var ct={props:{draggable:Boolean},data:{draggable:!0,threshold:10},created(){for(const t of["start","move","end"]){const s=this[t];this[t]=i=>{const n=e.getEventPos(i).x*(e.isRtl?-1:1);this.prevPos=n===this.pos?this.prevPos:this.pos,this.pos=n,s(i)}}},events:[{name:dt,passive:!0,delegate(){return`${this.selList} > *`},handler(t){!this.draggable||!e.isTouch(t)&&lt(t.target)||t.target.closest(e.selInput)||t.button>0||this.length<2||this.start(t)}},{name:"dragstart",handler(t){t.preventDefault()}},{name:S,el(){return this.list},handler:e.noop,...P}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,e.on(document,S,this.move,P),e.on(document,L,this.end,B),e.css(this.list,"userSelect","none")},move(t){const s=this.pos-this.drag;if(s===0||this.prevPos===this.pos||!this.dragging&&Math.abs(s)<this.threshold)return;e.css(this.list,"pointerEvents","none"),t.cancelable&&t.preventDefault(),this.dragging=!0,this.dir=s<0?1:-1;let{slides:i,prevIndex:n}=this,o=Math.abs(s),r=this.getIndex(n+this.dir),h=this._getDistance(n,r);for(;r!==n&&o>h;)this.drag-=h*this.dir,n=r,o-=h,r=this.getIndex(n+this.dir),h=this._getDistance(n,r);this.percent=o/h;const a=i[n],l=i[r],d=this.index!==r,c=n===r;let p;for(const g of[this.index,this.prevIndex])e.includes([r,n],g)||(e.trigger(i[g],"itemhidden",[this]),c&&(p=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||p)&&e.trigger(i[this.index],"itemshown",[this]),d&&(this.prevIndex=n,this.index=r,!c&&e.trigger(a,"beforeitemhide",[this]),e.trigger(l,"beforeitemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),a,!c&&l),d&&(!c&&e.trigger(a,"itemhide",[this]),e.trigger(l,"itemshow",[this]))},end(){if(e.off(document,S,this.move,P),e.off(document,L,this.end,B),this.dragging)if(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=(e.isRtl?this.dir*(e.isRtl?1:-1):this.dir)<0==this.prevPos>this.pos;this.index=t?this.index:this.prevIndex,t&&(this.percent=1-this.percent),this.show(this.dir>0&&!t||this.dir<0&&t?"next":"previous",!0)}e.css(this.list,{userSelect:"",pointerEvents:""}),this.drag=this.percent=null},_getDistance(t,s){return this._getTransitioner(t,t!==s&&s).getDistance()||this.slides[t].offsetWidth}}};function lt(t){return e.css(t,"userSelect")!=="none"&&e.toArray(t.childNodes).some(s=>s.nodeType===3&&s.textContent.trim())}e.memoize((t,s)=>{const i=Object.keys(s),n=i.concat(t).map(o=>[e.hyphenate(o),`data-${e.hyphenate(o)}`]).flat();return{attributes:i,filter:n}});let pt=1;function M(t,s=null){return(s==null?void 0:s.id)||`${t.$options.id}-${pt++}`}const m={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var ft={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s",role:"String"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:t},s)=>e.$(t,s),navChildren(){return e.children(this.nav)},selNavItem:({attrItem:t})=>`[${t}],[data-${t}]`,navItems(t,s){return e.$$(this.selNavItem,s)}},watch:{nav(t,s){e.attr(t,"role","tablist"),s&&this.$emit()},list(t){e.attr(t,"role","presentation")},navChildren(t){e.attr(t,"role","presentation")},navItems(t){for(const s of t){const i=e.data(s,this.attrItem),n=e.$("a,button",s)||s;let o,r=null;if(e.isNumeric(i)){const h=e.toNumber(i),a=this.slides[h];a&&(a.id||(a.id=M(this,a)),r=a.id),o=this.t("slideX",e.toFloat(i)+1),e.attr(n,"role","tab")}else this.list&&(this.list.id||(this.list.id=M(this,this.list)),r=this.list.id),o=this.t(i);e.attr(n,{"aria-controls":r,"aria-label":e.attr(n,"aria-label")||o})}},slides(t){t.forEach((s,i)=>e.attr(s,{role:this.nav?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav?null:"slide"}))},length(t){const s=this.navChildren.length;if(this.nav&&t!==s){e.empty(this.nav);for(let i=0;i<t;i++)e.append(this.nav,`<li ${this.attrItem}="${i}"><a href></a></li>`)}}},connected(){e.attr(this.$el,{role:this.role,"aria-roledescription":"carousel"})},update:[{write(){this.navItems.concat(this.nav).forEach(t=>t&&(t.hidden=!this.maxIndex)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate(){return this.selNavItem},handler(t){t.target.closest("a,button")&&(t.type==="click"||t.keyCode===m.SPACE)&&(t.preventDefault(),this.show(e.data(t.current,this.attrItem)))}},{name:"itemshow",handler:"updateNav"},{name:"keydown",delegate(){return this.selNavItem},handler(t){const{current:s,keyCode:i}=t,n=e.data(s,this.attrItem);if(!e.isNumeric(n))return;let o=i===m.HOME?0:i===m.END?"last":i===m.LEFT?"previous":i===m.RIGHT?"next":-1;~o&&(t.preventDefault(),this.show(o))}}],methods:{updateNav(){const t=this.getValidIndex();for(const s of this.navItems){const i=e.data(s,this.attrItem),n=e.$("a,button",s)||s;if(e.isNumeric(i)){const r=e.toNumber(i)===t;e.toggleClass(s,this.clsActive,r),e.attr(n,{"aria-selected":r,tabindex:r?null:-1}),r&&n&&e.matches(e.parent(s),":focus-within")&&n.focus()}else e.toggleClass(s,"uk-invisible",this.finite&&(i==="previous"&&t===0||i==="next"&&t>=this.maxIndex))}}}},mt={mixins:[ht,ct,ft,at],props:{clsActivated:Boolean,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:!1,Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){e.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:t},s)=>ut(s.offsetWidth/t),list:({selList:t},s)=>e.$(t,s),maxIndex(){return this.length-1},slides(){return e.children(this.list)},length(){return this.slides.length}},watch:{slides(t,s){s&&this.$emit()}},observe:rt(),methods:{show(t,s=!1){var i;if(this.dragging||!this.length)return;const{stack:n}=this,o=s?0:n.length,r=()=>{n.splice(o,1),n.length&&this.show(n.shift(),!0)};if(n[s?"unshift":"push"](t),!s&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const h=this.getIndex(this.index),a=e.hasClass(this.slides,this.clsActive)&&this.slides[h],l=this.getIndex(t,this.index),d=this.slides[l];if(a===d){r();return}if(this.dir=gt(t,h),this.prevIndex=h,this.index=l,a&&!e.trigger(a,"beforeitemhide",[this])||!e.trigger(d,"beforeitemshow",[this,a])){this.index=this.prevIndex,r();return}const c=this._show(a,d,s).then(()=>{a&&e.trigger(a,"itemhidden",[this]),e.trigger(d,"itemshown",[this]),n.shift(),this._transitioner=null,requestAnimationFrame(()=>n.length&&this.show(n.shift(),!0))});return a&&e.trigger(a,"itemhide",[this]),e.trigger(d,"itemshow",[this]),c},getIndex(t=this.index,s=this.index){return e.clamp(e.getIndex(t,this.slides,s,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(t=this.index,s=this.prevIndex){return this.getIndex(t,s)},_show(t,s,i){if(this._transitioner=this._getTransitioner(t,s,this.dir,{easing:i?s.offsetWidth<600?"cubic-bezier(0.25, 0.46, 0.45, 0.94)":"cubic-bezier(0.165, 0.84, 0.44, 1)":this.easing,...this.transitionOptions}),!i&&!t)return this._translate(1),Promise.resolve();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,s=this.prevIndex,i=this.index){const n=this._getTransitioner(s===i?!1:s,i);return n.translate(t),n},_getTransitioner(t=this.prevIndex,s=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(e.isNumber(t)?this.slides[t]:t,e.isNumber(s)?this.slides[s]:s,i*(e.isRtl?-1:1),n)}}};function gt(t,s){return t==="next"?1:t==="previous"||t<s?-1:1}function ut(t){return .5*t+300}var vt={mixins:[mt],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:O,Transitioner:st},computed:{animation({animation:t,Animations:s}){return{...s[t]||s.slide,name:t}},transitionOptions(){return{animation:this.animation}}},events:{beforeitemshow({target:t}){e.addClass(t,this.clsActive)},itemshown({target:t}){e.addClass(t,this.clsActivated)},itemhidden({target:t}){e.removeClass(t,this.clsActive,this.clsActivated)}}},F={...O,fade:{show(){return[{opacity:0},{opacity:1}]},percent(t){return 1-e.css(t,"opacity")},translate(t){return[{opacity:1-t},{opacity:t}]}},scale:{show(){return[{opacity:0,transform:C(1-.2)},{opacity:1,transform:C(1)}]},percent(t){return 1-e.css(t,"opacity")},translate(t){return[{opacity:1-t,transform:C(1-.2*t)},{opacity:t,transform:C(1-.2+.2*t)}]}}},j={mixins:[J,vt],functional:!0,props:{delayControls:Number,preload:Number,videoAutoplay:Boolean,template:String},data:()=>({preload:1,videoAutoplay:!1,delayControls:3e3,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",selList:".uk-lightbox-items",attrItem:"uk-lightbox-item",selClose:".uk-close-large",selCaption:".uk-lightbox-caption",pauseOnHover:!1,velocity:2,Animations:F,template:'<div class="uk-lightbox uk-overflow-hidden"> <ul class="uk-lightbox-items"></ul> <div class="uk-lightbox-toolbar uk-position-top uk-text-right uk-transition-slide-top uk-transition-opaque"> <button class="uk-lightbox-toolbar-icon uk-close-large" type="button" uk-close></button> </div> <a class="uk-lightbox-button uk-position-center-left uk-position-medium uk-transition-fade" href uk-slidenav-previous uk-lightbox-item="previous"></a> <a class="uk-lightbox-button uk-position-center-right uk-position-medium uk-transition-fade" href uk-slidenav-next uk-lightbox-item="next"></a> <div class="uk-lightbox-toolbar uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){const t=e.$(this.template),s=e.$(this.selList,t);this.items.forEach(()=>e.append(s,"<li>"));const i=e.$("[uk-close]",t),n=this.t("close");i&&n&&(i.dataset.i18n=JSON.stringify({label:n})),this.$mount(e.append(this.container,t))},computed:{caption:({selCaption:t},s)=>e.$(t,s)},events:[{name:`${e.pointerMove} ${e.pointerDown} keydown`,handler:"showControls"},{name:"click",self:!0,delegate(){return`${this.selList} > *`},handler(t){t.defaultPrevented||this.hide()}},{name:"shown",self:!0,handler(){this.showControls()}},{name:"hide",self:!0,handler(){this.hideControls(),e.removeClass(this.slides,this.clsActive),e.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el(){return document},handler({keyCode:t}){if(!this.isToggled(this.$el)||!this.draggable)return;let s=-1;t===m.LEFT?s="previous":t===m.RIGHT?s="next":t===m.HOME?s=0:t===m.END&&(s="last"),~s&&this.show(s)}},{name:"beforeitemshow",handler(t){this.isToggled()||(this.draggable=!1,t.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=F.scale,e.removeClass(t.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshow",handler(){e.html(this.caption,this.getItem().caption||"");for(let t=-this.preload;t<=this.preload;t++)this.loadItem(this.index+t)}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(t,s){const{source:i,type:n,alt:o="",poster:r,attrs:h={}}=s;if(this.setItem(s,"<span uk-spinner></span>"),!i)return;let a;const l={allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":`${this.videoAutoplay}`};if(n==="image"||i.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)){const d=x("img",{src:i,alt:o,...h});e.on(d,"load",()=>this.setItem(s,d)),e.on(d,"error",()=>this.setError(s))}else if(n==="video"||i.match(/\.(mp4|webm|ogv)($|\?)/i)){const d=x("video",{src:i,poster:r,controls:"",playsinline:"","uk-video":`${this.videoAutoplay}`,...h});e.on(d,"loadedmetadata",()=>this.setItem(s,d)),e.on(d,"error",()=>this.setError(s))}else if(n==="iframe"||i.match(/\.(html|php)($|\?)/i))this.setItem(s,x("iframe",{src:i,allowfullscreen:"",class:"uk-lightbox-iframe",...h}));else if(a=i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/))this.setItem(s,x("iframe",{src:`https://www.youtube${a[1]||""}.com/embed/${a[2]}${a[3]?`?${a[3]}`:""}`,width:1920,height:1080,...l,...h}));else if(a=i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/))try{const{height:d,width:c}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`,{credentials:"omit"})).json();this.setItem(s,x("iframe",{src:`https://player.vimeo.com/video/${a[1]}${a[2]?`?${a[2]}`:""}`,width:c,height:d,...l,...h}))}catch{this.setError(s)}}}],methods:{loadItem(t=this.index){const s=this.getItem(t);this.getSlide(s).childElementCount||e.trigger(this.$el,"itemload",[s])},getItem(t=this.index){return this.items[e.getIndex(t,this.slides)]},setItem(t,s){e.trigger(this.$el,"itemloaded",[this,e.html(this.getSlide(t),s)])},getSlide(t){return this.slides[this.items.indexOf(t)]},setError(t){this.setItem(t,'<span uk-icon="icon: bolt; ratio: 2"></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=setTimeout(this.hideControls,this.delayControls),e.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){e.removeClass(this.$el,"uk-active","uk-transition-active")}}};function x(t,s){const i=e.fragment(`<${t}>`);return e.attr(i,s),i}return typeof window<"u"&&window.UIkit&&window.UIkit.component("lightboxPanel",j),j});
1
+ /*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */(function(t,g){typeof exports=="object"&&typeof module<"u"?module.exports=g(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox_panel",["uikit-util"],g):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitLightbox_panel=g(t.UIkit.util))})(this,function(t){"use strict";let g;function W(e){const s=t.on(e,"touchstart",n=>{if(n.targetTouches.length!==1||t.matches(n.target,'input[type="range"'))return;let o=t.getEventPos(n).y;const r=t.on(e,"touchmove",h=>{const a=t.getEventPos(h).y;a!==o&&(o=a,t.scrollParents(h.target).some(l=>{if(!e.contains(l))return!1;let{scrollHeight:d,clientHeight:c}=l;return c<d})||h.preventDefault())},{passive:!1});t.once(e,"scroll touchend touchcanel",r,{capture:!0})});if(g)return s;g=!0;const{scrollingElement:i}=document;return t.css(i,{overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",paddingRight:t.width(window)-i.clientWidth||""}),()=>{g=!1,s(),t.css(i,{overflowY:"",touchAction:"",paddingRight:""})}}var V={connected(){t.addClass(this.$el,this.$options.id)}},G={props:{container:Boolean},data:{container:!0},computed:{container({container:e}){return e===!0&&this.$container||e&&t.$(e)}}},X={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:e})=>!!e[0],hasTransition:({animation:e})=>["slide","reveal"].some(s=>t.startsWith(e[0],s))},methods:{async toggleElement(e,s,i){try{return await Promise.all(t.toNodes(e).map(n=>{const o=t.isBoolean(s)?s:!this.isToggled(n);if(!t.trigger(n,`before${o?"show":"hide"}`,[this]))return Promise.reject();const r=(t.isFunction(i)?i:i===!1||!this.hasAnimation?Y:this.hasTransition?J:K)(n,o,this),h=o?this.clsEnter:this.clsLeave;t.addClass(n,h),t.trigger(n,o?"show":"hide",[this]);const a=()=>{t.removeClass(n,h),t.trigger(n,o?"shown":"hidden",[this])};return r?r.then(a,()=>(t.removeClass(n,h),Promise.reject())):a()})),!0}catch{return!1}},isToggled(e=this.$el){return e=t.toNode(e),t.hasClass(e,this.clsEnter)?!0:t.hasClass(e,this.clsLeave)?!1:this.cls?t.hasClass(e,this.cls.split(" ")[0]):t.isVisible(e)},_toggle(e,s){if(!e)return;s=!!s;let i;this.cls?(i=t.includes(this.cls," ")||s!==t.hasClass(e,this.cls),i&&t.toggleClass(e,this.cls,t.includes(this.cls," ")?void 0:s)):(i=s===e.hidden,i&&(e.hidden=!s)),t.$$("[autofocus]",e).some(n=>t.isVisible(n)?n.focus()||!0:n.blur()),i&&t.trigger(e,"toggled",[s,this])}}};function Y(e,s,{_toggle:i}){return t.Animation.cancel(e),t.Transition.cancel(e),i(e,s)}async function J(e,s,{animation:i,duration:n,velocity:o,transition:r,_toggle:h}){var a;const[l="reveal",d="top"]=((a=i[0])==null?void 0:a.split("-"))||[],c=[["left","right"],["top","bottom"]],p=c[t.includes(c[0],d)?0:1],u=p[1]===d,b=["width","height"][c.indexOf(p)],x=`margin-${p[0]}`,T=`margin-${d}`;let I=t.dimensions(e)[b];const we=t.Transition.inProgress(e);await t.Transition.cancel(e),s&&h(e,!0);const $e=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",x,T].map(q=>[q,e.style[q]])),y=t.dimensions(e),P=t.toFloat(t.css(e,x)),U=t.toFloat(t.css(e,T)),v=y[b]+U;!we&&!s&&(I+=U);const[E]=t.wrapInner(e,"<div>");t.css(E,{boxSizing:"border-box",height:y.height,width:y.width,...t.css(e,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",T])}),t.css(e,{padding:0,border:0,minWidth:0,minHeight:0,[T]:0,width:y.width,height:y.height,overflow:"hidden",[b]:I});const z=I/v;n=(o*v+n)*(s?1-z:z);const R={[b]:s?v:0};u&&(t.css(e,x,v-I+P),R[x]=s?P:v+P),!u^l==="reveal"&&(t.css(E,x,-v+I),t.Transition.start(E,{[x]:s?0:-v},n,r));try{await t.Transition.start(e,R,n,r)}finally{t.css(e,$e),t.unwrap(E.firstChild),s||h(e,!1)}}function K(e,s,i){const{animation:n,duration:o,_toggle:r}=i;return s?(r(e,!0),t.Animation.in(e,n[0],o,i.origin)):t.Animation.out(e,n[1]||n[0],o,i.origin).then(()=>r(e,!1))}const f=[];var Q={mixins:[V,G,X],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:e},s)=>t.$(e,s),transitionElement(){return this.panel},bgClose({bgClose:e}){return e&&this.panel}},connected(){t.attr(this.panel||this.$el,"role",this.role),this.overlay&&t.attr(this.panel||this.$el,"aria-modal",!0)},beforeDisconnect(){t.includes(f,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate(){return`${this.selClose},a[href*="#"]`},handler(e){const{current:s,defaultPrevented:i}=e,{hash:n}=s;!i&&n&&t.isSameSiteAnchor(s)&&!this.$el.contains(t.$(n))?this.hide():t.matches(s,this.selClose)&&(e.preventDefault(),this.hide())}},{name:"toggle",self:!0,handler(e){e.defaultPrevented||(e.preventDefault(),this.isToggled()===t.includes(f,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(e){if(t.includes(f,this))return!1;!this.stack&&f.length?(Promise.all(f.map(s=>s.hide())).then(this.show),e.preventDefault()):f.push(this)}},{name:"show",self:!0,handler(){this.stack&&t.css(this.$el,"zIndex",t.toFloat(t.css(this.$el,"zIndex"))+f.length);const e=[this.overlay&&ee(this),this.overlay&&W(this.$el),this.bgClose&&te(this),this.escClose&&se(this)];t.once(this.$el,"hidden",()=>e.forEach(s=>s&&s()),{self:!0}),t.addClass(document.documentElement,this.clsPage)}},{name:"shown",self:!0,handler(){t.isFocusable(this.$el)||t.attr(this.$el,"tabindex","-1"),t.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){t.includes(f,this)&&f.splice(f.indexOf(this),1),t.css(this.$el,"zIndex",""),f.some(e=>e.clsPage===this.clsPage)||t.removeClass(document.documentElement,this.clsPage)}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},show(){return this.container&&t.parent(this.$el)!==this.container?(t.append(this.container,this.$el),new Promise(e=>requestAnimationFrame(()=>this.show().then(e)))):this.toggleElement(this.$el,!0,N)},hide(){return this.toggleElement(this.$el,!1,N)}}};function N(e,s,{transitionElement:i,_toggle:n}){return new Promise((o,r)=>t.once(e,"show hide",()=>{var h;(h=e._reject)==null||h.call(e),e._reject=r,n(e,s);const a=t.once(i,"transitionstart",()=>{t.once(i,"transitionend transitioncancel",o,{self:!0}),clearTimeout(l)},{self:!0}),l=setTimeout(()=>{a(),o()},Z(t.css(i,"transitionDuration")))})).then(()=>delete e._reject)}function Z(e){return e?t.endsWith(e,"ms")?t.toFloat(e):t.toFloat(e)*1e3:0}function ee(e){return t.on(document,"focusin",s=>{t.last(f)===e&&!e.$el.contains(s.target)&&e.$el.focus()})}function te(e){return t.on(document,t.pointerDown,({target:s})=>{t.last(f)!==e||e.overlay&&!e.$el.contains(s)||e.panel.contains(s)||t.once(document,`${t.pointerUp} ${t.pointerCancel} scroll`,({defaultPrevented:i,type:n,target:o})=>{!i&&n===t.pointerUp&&s===o&&e.hide()},!0)})}function se(e){return t.on(document,"keydown",s=>{s.keyCode===27&&t.last(f)===e&&e.hide()})}var D={slide:{show(e){return[{transform:C(e*-100)},{transform:C()}]},percent(e){return ie(e)},translate(e,s){return[{transform:C(s*-100*e)},{transform:C(s*100*(1-e))}]}}};function ie(e){return Math.abs(t.css(e,"transform").split(",")[4]/e.offsetWidth)}function C(e=0,s="%"){return e+=e?s:"",`translate3d(${e}, 0, 0)`}function _(e){return`scale3d(${e}, ${e}, 1)`}function ne(e,s,i,{animation:n,easing:o}){const{percent:r,translate:h,show:a=t.noop}=n,l=a(i);let d;return{dir:i,show(c,p=0,u){const k=u?"linear":o;return c-=Math.round(c*t.clamp(p,-1,1)),this.translate(p),A(s,"itemin",{percent:p,duration:c,timing:k,dir:i}),A(e,"itemout",{percent:1-p,duration:c,timing:k,dir:i}),new Promise(b=>{d||(d=b),Promise.all([t.Transition.start(s,l[1],c,k),t.Transition.start(e,l[0],c,k)]).then(()=>{this.reset(),d()},t.noop)})},cancel(){return t.Transition.cancel([s,e])},reset(){for(const c in l[0])t.css([s,e],c,"")},async forward(c,p=this.percent()){return await this.cancel(),this.show(c,p,!0)},translate(c){this.reset();const p=h(c,i);t.css(s,p[1]),t.css(e,p[0]),A(s,"itemtranslatein",{percent:c,dir:i}),A(e,"itemtranslateout",{percent:1-c,dir:i})},percent(){return r(e||s,s,i)},getDistance(){return e==null?void 0:e.offsetWidth}}}function A(e,s,i){t.trigger(e,t.createEvent(s,!1,!1,i))}function re(e,s="update"){e._connected&&e._updates.length&&(e._queued||(e._queued=new Set,t.fastdom.read(()=>{e._connected&&oe(e,e._queued),delete e._queued})),e._queued.add(s.type||s))}function oe(e,s){for(const{read:i,write:n,events:o=[]}of e._updates){if(!s.has("update")&&!o.some(h=>s.has(h)))continue;let r;i&&(r=i.call(e,e._data,s),r&&t.isPlainObject(r)&&t.assign(e._data,r)),n&&r!==!1&&t.fastdom.write(()=>{e._connected&&n.call(e,e._data,s)})}}function ae(e){return he(t.observeResize,e,"resize")}function he(e,s,i){return{observe:e,handler(){re(this,i)},...s}}var de={props:{i18n:Object},data:{i18n:null},methods:{t(e,...s){var i,n,o;let r=0;return((o=((i=this.i18n)==null?void 0:i[e])||((n=this.$options.i18n)==null?void 0:n[e]))==null?void 0:o.replace(/%s/g,()=>s[r++]||""))||""}}},ce={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){t.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){t.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter(){return this.autoplay},handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||this.draggable&&t.matches(this.$el,":focus-within")||this.pauseOnHover&&t.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const w={passive:!1,capture:!0},O={passive:!0,capture:!0},le="touchstart mousedown",S="touchmove mousemove",L="touchend touchcancel mouseup click input scroll",M=e=>e.preventDefault();var pe={props:{draggable:Boolean},data:{draggable:!0,threshold:10},created(){for(const e of["start","move","end"]){const s=this[e];this[e]=i=>{const n=t.getEventPos(i).x*(t.isRtl?-1:1);this.prevPos=n===this.pos?this.prevPos:this.pos,this.pos=n,s(i)}}},events:[{name:le,passive:!0,delegate(){return`${this.selList} > *`},handler(e){!this.draggable||this.parallax||!t.isTouch(e)&&fe(e.target)||e.target.closest(t.selInput)||e.button>0||this.length<2||this.start(e)}},{name:"dragstart",handler(e){e.preventDefault()}},{name:S,el(){return this.list},handler:t.noop,...w}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,t.on(document,S,this.move,w),t.on(document,L,this.end,O),t.css(this.list,"userSelect","none")},move(e){const s=this.pos-this.drag;if(s===0||this.prevPos===this.pos||!this.dragging&&Math.abs(s)<this.threshold)return;this.dragging||t.on(this.list,"click",M,w),e.cancelable&&e.preventDefault(),this.dragging=!0,this.dir=s<0?1:-1;let{slides:i,prevIndex:n}=this,o=Math.abs(s),r=this.getIndex(n+this.dir),h=B.call(this,n,r);for(;r!==n&&o>h;)this.drag-=h*this.dir,n=r,o-=h,r=this.getIndex(n+this.dir),h=B.call(this,n,r);this.percent=o/h;const a=i[n],l=i[r],d=this.index!==r,c=n===r;let p;for(const u of[this.index,this.prevIndex])t.includes([r,n],u)||(t.trigger(i[u],"itemhidden",[this]),c&&(p=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||p)&&t.trigger(i[this.index],"itemshown",[this]),d&&(this.prevIndex=n,this.index=r,c||(t.trigger(a,"beforeitemhide",[this]),t.trigger(a,"itemhide",[this])),t.trigger(l,"beforeitemshow",[this]),t.trigger(l,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),a,!c&&l)},end(){if(t.off(document,S,this.move,w),t.off(document,L,this.end,O),this.dragging)if(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 e=(t.isRtl?this.dir*(t.isRtl?1:-1):this.dir)<0==this.prevPos>this.pos;this.index=e?this.index:this.prevIndex,e&&(this.percent=1-this.percent),this.show(this.dir>0&&!e||this.dir<0&&e?"next":"previous",!0)}setTimeout(()=>t.off(this.list,"click",M,w)),t.css(this.list,{userSelect:""}),this.drag=this.percent=null}}};function B(e,s){return this._getTransitioner(e,e!==s&&s).getDistance()||this.slides[e].offsetWidth}function fe(e){return t.css(e,"userSelect")!=="none"&&t.toArray(e.childNodes).some(s=>s.nodeType===3&&s.textContent.trim())}t.memoize((e,s)=>{const i=Object.keys(s),n=i.concat(e).map(o=>[t.hyphenate(o),`data-${t.hyphenate(o)}`]).flat();return{attributes:i,filter:n}});let me=1;function F(e,s=null){return(s==null?void 0:s.id)||`${e.$options.id}-${me++}`}const m={TAB:9,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40};var ge={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s",role:"String"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:e},s)=>t.$(e,s),navChildren(){return t.children(this.nav)},selNavItem:({attrItem:e})=>`[${e}],[data-${e}]`,navItems(e,s){return t.$$(this.selNavItem,s)}},watch:{nav(e,s){t.attr(e,"role","tablist"),s&&this.$emit()},list(e){t.attr(e,"role","presentation")},navChildren(e){t.attr(e,"role","presentation")},navItems(e){for(const s of e){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;let o,r=null;if(t.isNumeric(i)){const h=t.toNumber(i),a=this.slides[h];a&&(a.id||(a.id=F(this,a)),r=a.id),o=this.t("slideX",t.toFloat(i)+1),t.attr(n,"role","tab")}else this.list&&(this.list.id||(this.list.id=F(this,this.list)),r=this.list.id),o=this.t(i);t.attr(n,{"aria-controls":r,"aria-label":t.attr(n,"aria-label")||o})}},slides(e){e.forEach((s,i)=>t.attr(s,{role:this.nav?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav?null:"slide"}))},length(e){const s=this.navChildren.length;if(this.nav&&e!==s){t.empty(this.nav);for(let i=0;i<e;i++)t.append(this.nav,`<li ${this.attrItem}="${i}"><a href></a></li>`)}}},connected(){t.attr(this.$el,{role:this.role,"aria-roledescription":"carousel"})},update:[{write(){this.navItems.concat(this.nav).forEach(e=>e&&(e.hidden=!this.maxIndex)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate(){return this.selNavItem},filter(){return!this.parallax},handler(e){e.target.closest("a,button")&&(e.type==="click"||e.keyCode===m.SPACE)&&(e.preventDefault(),this.show(t.data(e.current,this.attrItem)))}},{name:"itemshow",handler:"updateNav"},{name:"keydown",delegate(){return this.selNavItem},filter(){return!this.parallax},handler(e){const{current:s,keyCode:i}=e,n=t.data(s,this.attrItem);if(!t.isNumeric(n))return;let o=i===m.HOME?0:i===m.END?"last":i===m.LEFT?"previous":i===m.RIGHT?"next":-1;~o&&(e.preventDefault(),this.show(o))}}],methods:{updateNav(){const e=this.getValidIndex();for(const s of this.navItems){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;if(t.isNumeric(i)){const r=t.toNumber(i)===e;t.toggleClass(s,this.clsActive,r),t.toggleClass(n,"uk-disabled",this.parallax),t.attr(n,{"aria-selected":r,tabindex:r&&!this.parallax?null:-1}),r&&n&&t.matches(t.parent(s),":focus-within")&&n.focus()}else t.toggleClass(s,"uk-invisible",this.finite&&(i==="previous"&&e===0||i==="next"&&e>=this.maxIndex))}}}},ue={mixins:[ce,pe,ge,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(){t.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:e},s)=>be(s.offsetWidth/e),list:({selList:e},s)=>t.$(e,s),maxIndex(){return this.length-1},slides(){return t.children(this.list)},length(){return this.slides.length}},watch:{slides(e,s){s&&this.$emit()}},observe:ae(),events:{itemshow({target:e}){t.addClass(e,this.clsEnter,this.clsSlideActive)},itemshown({target:e}){t.removeClass(e,this.clsEnter)},itemhide({target:e}){t.addClass(e,this.clsLeave)},itemhidden({target:e}){t.removeClass(e,this.clsLeave,this.clsSlideActive)}},methods:{show(e,s=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,o=s?0:n.length,r=()=>{n.splice(o,1),n.length&&this.show(n.shift(),!0)};if(n[s?"unshift":"push"](e),!s&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const h=this.getIndex(this.index),a=t.hasClass(this.slides,this.clsActive)&&this.slides[h],l=this.getIndex(e,this.index),d=this.slides[l];if(a===d){r();return}if(this.dir=ve(e,h),this.prevIndex=h,this.index=l,a&&!t.trigger(a,"beforeitemhide",[this])||!t.trigger(d,"beforeitemshow",[this,a])){this.index=this.prevIndex,r();return}const c=this._show(a,d,s).then(()=>{a&&t.trigger(a,"itemhidden",[this]),t.trigger(d,"itemshown",[this]),n.shift(),this._transitioner=null,requestAnimationFrame(()=>n.length&&this.show(n.shift(),!0))});return a&&t.trigger(a,"itemhide",[this]),t.trigger(d,"itemshow",[this]),c},getIndex(e=this.index,s=this.index){return t.clamp(t.getIndex(e,this.slides,s,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(e=this.index,s=this.prevIndex){return this.getIndex(e,s)},_show(e,s,i){if(this._transitioner=this._getTransitioner(e,s,this.dir,{easing:i?s.offsetWidth<600?"cubic-bezier(0.25, 0.46, 0.45, 0.94)":"cubic-bezier(0.165, 0.84, 0.44, 1)":this.easing,...this.transitionOptions}),!i&&!e)return this._translate(1),Promise.resolve();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(e,s=this.prevIndex,i=this.index){const n=this._getTransitioner(s===i?!1:s,i);return n.translate(e),n},_getTransitioner(e=this.prevIndex,s=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(t.isNumber(e)?this.slides[e]:e,t.isNumber(s)?this.slides[s]:s,i*(t.isRtl?-1:1),n)}}};function ve(e,s){return e==="next"?1:e==="previous"||e<s?-1:1}function be(e){return .5*e+300}var xe={mixins:[ue],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:D,Transitioner:ne},computed:{animation({animation:e,Animations:s}){return{...s[e]||s.slide,name:e}},transitionOptions(){return{animation:this.animation}}},events:{beforeitemshow({target:e}){t.addClass(e,this.clsActive)},itemshown({target:e}){t.addClass(e,this.clsActivated)},itemhidden({target:e}){t.removeClass(e,this.clsActive,this.clsActivated)}}},j={...D,fade:{show(){return[{opacity:0},{opacity:1}]},percent(e){return 1-t.css(e,"opacity")},translate(e){return[{opacity:1-e},{opacity:e}]}},scale:{show(){return[{opacity:0,transform:_(1-.2)},{opacity:1,transform:_(1)}]},percent(e){return 1-t.css(e,"opacity")},translate(e){return[{opacity:1-e,transform:_(1-.2*e)},{opacity:e,transform:_(1-.2+.2*e)}]}}},H={mixins:[Q,xe],functional:!0,props:{delayControls:Number,preload:Number,videoAutoplay:Boolean,template:String},data:()=>({preload:1,videoAutoplay:!1,delayControls:3e3,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",selList:".uk-lightbox-items",attrItem:"uk-lightbox-item",selClose:".uk-close-large",selCaption:".uk-lightbox-caption",pauseOnHover:!1,velocity:2,Animations:j,template:'<div class="uk-lightbox uk-overflow-hidden"> <ul class="uk-lightbox-items"></ul> <div class="uk-lightbox-toolbar uk-position-top uk-text-right uk-transition-slide-top uk-transition-opaque"> <button class="uk-lightbox-toolbar-icon uk-close-large" type="button" uk-close></button> </div> <a class="uk-lightbox-button uk-position-center-left uk-position-medium uk-transition-fade" href uk-slidenav-previous uk-lightbox-item="previous"></a> <a class="uk-lightbox-button uk-position-center-right uk-position-medium uk-transition-fade" href uk-slidenav-next uk-lightbox-item="next"></a> <div class="uk-lightbox-toolbar uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){const e=t.$(this.template),s=t.$(this.selList,e);this.items.forEach(()=>t.append(s,"<li>"));const i=t.$("[uk-close]",e),n=this.t("close");i&&n&&(i.dataset.i18n=JSON.stringify({label:n})),this.$mount(t.append(this.container,e))},computed:{caption:({selCaption:e},s)=>t.$(e,s)},events:[{name:`${t.pointerMove} ${t.pointerDown} keydown`,handler:"showControls"},{name:"click",self:!0,delegate(){return`${this.selList} > *`},handler(e){e.defaultPrevented||this.hide()}},{name:"shown",self:!0,handler:"showControls"},{name:"hide",self:!0,handler(){this.hideControls(),t.removeClass(this.slides,this.clsActive),t.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:e}){if(!this.isToggled(this.$el)||!this.draggable)return;let s=-1;e===m.LEFT?s="previous":e===m.RIGHT?s="next":e===m.HOME?s=0:e===m.END&&(s="last"),~s&&this.show(s)}},{name:"beforeitemshow",handler(e){this.isToggled()||(this.draggable=!1,e.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=j.scale,t.removeClass(e.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshow",handler(){t.html(this.caption,this.getItem().caption||"");for(let e=-this.preload;e<=this.preload;e++)this.loadItem(this.index+e)}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(e,s){const{source:i,type:n,alt:o="",poster:r,attrs:h={}}=s;if(this.setItem(s,"<span uk-spinner></span>"),!i)return;let a;const l={allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":`${this.videoAutoplay}`};if(n==="image"||i.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)){const d=$("img",{src:i,alt:o,...h});t.on(d,"load",()=>this.setItem(s,d)),t.on(d,"error",()=>this.setError(s))}else if(n==="video"||i.match(/\.(mp4|webm|ogv)($|\?)/i)){const d=$("video",{src:i,poster:r,controls:"",playsinline:"","uk-video":`${this.videoAutoplay}`,...h});t.on(d,"loadedmetadata",()=>this.setItem(s,d)),t.on(d,"error",()=>this.setError(s))}else if(n==="iframe"||i.match(/\.(html|php)($|\?)/i))this.setItem(s,$("iframe",{src:i,allowfullscreen:"",class:"uk-lightbox-iframe",...h}));else if(a=i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/))this.setItem(s,$("iframe",{src:`https://www.youtube${a[1]||""}.com/embed/${a[2]}${a[3]?`?${a[3]}`:""}`,width:1920,height:1080,...l,...h}));else if(a=i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/))try{const{height:d,width:c}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`,{credentials:"omit"})).json();this.setItem(s,$("iframe",{src:`https://player.vimeo.com/video/${a[1]}${a[2]?`?${a[2]}`:""}`,width:c,height:d,...l,...h}))}catch{this.setError(s)}}}],methods:{loadItem(e=this.index){const s=this.getItem(e);this.getSlide(s).childElementCount||t.trigger(this.$el,"itemload",[s])},getItem(e=this.index){return this.items[t.getIndex(e,this.slides)]},setItem(e,s){t.trigger(this.$el,"itemloaded",[this,t.html(this.getSlide(e),s)])},getSlide(e){return this.slides[this.items.indexOf(e)]},setError(e){this.setItem(e,'<span uk-icon="icon: bolt; ratio: 2"></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=setTimeout(this.hideControls,this.delayControls),t.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){t.removeClass(this.$el,"uk-active","uk-transition-active")}}};function $(e,s){const i=t.fragment(`<${e}>`);return t.attr(i,s),i}return typeof window<"u"&&window.UIkit&&window.UIkit.component("lightboxPanel",H),H});