uikit 3.11.2-dev.fb043abc2 → 3.12.2

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 (228) hide show
  1. package/.eslintrc.json +4 -49
  2. package/.prettierignore +14 -0
  3. package/.prettierrc.json +13 -0
  4. package/.webstorm.js +3 -3
  5. package/CHANGELOG.md +63 -20
  6. package/build/.eslintrc.json +1 -3
  7. package/build/build.js +26 -28
  8. package/build/icons.js +7 -11
  9. package/build/less.js +48 -36
  10. package/build/package.json +2 -2
  11. package/build/prefix.js +21 -18
  12. package/build/publishDev.js +6 -8
  13. package/build/release.js +20 -17
  14. package/build/scope.js +21 -11
  15. package/build/scss.js +72 -39
  16. package/build/util.js +71 -62
  17. package/build/wrapper/icons.js +0 -2
  18. package/dist/css/uikit-core-rtl.css +144 -202
  19. package/dist/css/uikit-core-rtl.min.css +1 -1
  20. package/dist/css/uikit-core.css +144 -202
  21. package/dist/css/uikit-core.min.css +1 -1
  22. package/dist/css/uikit-rtl.css +146 -208
  23. package/dist/css/uikit-rtl.min.css +1 -1
  24. package/dist/css/uikit.css +146 -208
  25. package/dist/css/uikit.min.css +1 -1
  26. package/dist/js/components/countdown.js +66 -138
  27. package/dist/js/components/countdown.min.js +1 -1
  28. package/dist/js/components/filter.js +408 -439
  29. package/dist/js/components/filter.min.js +1 -1
  30. package/dist/js/components/lightbox-panel.js +1091 -1319
  31. package/dist/js/components/lightbox-panel.min.js +1 -1
  32. package/dist/js/components/lightbox.js +1137 -1396
  33. package/dist/js/components/lightbox.min.js +1 -1
  34. package/dist/js/components/notification.js +94 -114
  35. package/dist/js/components/notification.min.js +1 -1
  36. package/dist/js/components/parallax.js +347 -361
  37. package/dist/js/components/parallax.min.js +1 -1
  38. package/dist/js/components/slider-parallax.js +345 -360
  39. package/dist/js/components/slider-parallax.min.js +1 -1
  40. package/dist/js/components/slider.js +749 -843
  41. package/dist/js/components/slider.min.js +1 -1
  42. package/dist/js/components/slideshow-parallax.js +345 -360
  43. package/dist/js/components/slideshow-parallax.min.js +1 -1
  44. package/dist/js/components/slideshow.js +628 -798
  45. package/dist/js/components/slideshow.min.js +1 -1
  46. package/dist/js/components/sortable.js +587 -620
  47. package/dist/js/components/sortable.min.js +1 -1
  48. package/dist/js/components/tooltip.js +324 -356
  49. package/dist/js/components/tooltip.min.js +1 -1
  50. package/dist/js/components/upload.js +156 -167
  51. package/dist/js/components/upload.min.js +1 -1
  52. package/dist/js/uikit-core.js +5317 -6554
  53. package/dist/js/uikit-core.min.js +1 -1
  54. package/dist/js/uikit-icons.js +7 -9
  55. package/dist/js/uikit-icons.min.js +1 -1
  56. package/dist/js/uikit.js +8018 -9698
  57. package/dist/js/uikit.min.js +1 -1
  58. package/jsconfig.json +1 -1
  59. package/package.json +64 -60
  60. package/src/js/api/boot.js +25 -32
  61. package/src/js/api/component.js +15 -28
  62. package/src/js/api/global.js +6 -12
  63. package/src/js/api/hooks.js +14 -33
  64. package/src/js/api/instance.js +7 -15
  65. package/src/js/api/state.js +199 -187
  66. package/src/js/components/countdown.js +32 -85
  67. package/src/js/components/filter.js +70 -66
  68. package/src/js/components/index.js +13 -13
  69. package/src/js/components/internal/lightbox-animations.js +14 -25
  70. package/src/js/components/internal/slider-preload.js +9 -0
  71. package/src/js/components/internal/slider-transitioner.js +66 -45
  72. package/src/js/components/internal/slideshow-animations.js +46 -64
  73. package/src/js/components/lightbox-panel.js +107 -105
  74. package/src/js/components/lightbox.js +17 -39
  75. package/src/js/components/notification.js +49 -43
  76. package/src/js/components/parallax.js +16 -30
  77. package/src/js/components/slider-parallax.js +13 -23
  78. package/src/js/components/slider.js +117 -89
  79. package/src/js/components/slideshow-parallax.js +1 -1
  80. package/src/js/components/slideshow.js +15 -13
  81. package/src/js/components/sortable.js +125 -106
  82. package/src/js/components/tooltip.js +41 -31
  83. package/src/js/components/upload.js +53 -63
  84. package/src/js/core/accordion.js +58 -48
  85. package/src/js/core/alert.js +9 -17
  86. package/src/js/core/core.js +17 -69
  87. package/src/js/core/cover.js +15 -15
  88. package/src/js/core/drop.js +110 -94
  89. package/src/js/core/form-custom.js +22 -27
  90. package/src/js/core/gif.js +3 -7
  91. package/src/js/core/grid.js +57 -58
  92. package/src/js/core/height-match.js +16 -29
  93. package/src/js/core/height-viewport.js +30 -34
  94. package/src/js/core/icon.js +47 -52
  95. package/src/js/core/img.js +153 -143
  96. package/src/js/core/index.js +39 -39
  97. package/src/js/core/leader.js +9 -18
  98. package/src/js/core/margin.js +21 -37
  99. package/src/js/core/modal.js +49 -36
  100. package/src/js/core/nav.js +2 -4
  101. package/src/js/core/navbar.js +113 -85
  102. package/src/js/core/offcanvas.js +51 -54
  103. package/src/js/core/overflow-auto.js +13 -17
  104. package/src/js/core/responsive.js +14 -12
  105. package/src/js/core/scroll.js +10 -20
  106. package/src/js/core/scrollspy-nav.js +34 -31
  107. package/src/js/core/scrollspy.js +37 -54
  108. package/src/js/core/sticky.js +161 -128
  109. package/src/js/core/svg.js +68 -83
  110. package/src/js/core/switcher.js +56 -47
  111. package/src/js/core/tab.js +7 -10
  112. package/src/js/core/toggle.js +69 -68
  113. package/src/js/core/video.js +22 -21
  114. package/src/js/mixin/animate.js +19 -20
  115. package/src/js/mixin/class.js +2 -4
  116. package/src/js/mixin/container.js +7 -11
  117. package/src/js/mixin/internal/animate-fade.js +73 -30
  118. package/src/js/mixin/internal/animate-slide.js +58 -41
  119. package/src/js/mixin/internal/slideshow-animations.js +7 -14
  120. package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
  121. package/src/js/mixin/lazyload.js +20 -0
  122. package/src/js/mixin/media.js +5 -10
  123. package/src/js/mixin/modal.js +89 -66
  124. package/src/js/mixin/parallax.js +149 -107
  125. package/src/js/mixin/position.js +26 -20
  126. package/src/js/mixin/slider-autoplay.js +12 -21
  127. package/src/js/mixin/slider-drag.js +64 -65
  128. package/src/js/mixin/slider-nav.js +26 -35
  129. package/src/js/mixin/slider-reactive.js +2 -8
  130. package/src/js/mixin/slider.js +47 -60
  131. package/src/js/mixin/slideshow.js +12 -22
  132. package/src/js/mixin/swipe.js +72 -0
  133. package/src/js/mixin/togglable.js +89 -63
  134. package/src/js/uikit-core.js +2 -4
  135. package/src/js/uikit.js +2 -4
  136. package/src/js/util/ajax.js +25 -40
  137. package/src/js/util/animation.js +77 -75
  138. package/src/js/util/attr.js +17 -21
  139. package/src/js/util/class.js +14 -52
  140. package/src/js/util/dimensions.js +58 -45
  141. package/src/js/util/dom.js +37 -66
  142. package/src/js/util/env.js +7 -12
  143. package/src/js/util/event.js +60 -59
  144. package/src/js/util/fastdom.js +1 -6
  145. package/src/js/util/filter.js +18 -36
  146. package/src/js/util/index.js +1 -1
  147. package/src/js/util/lang.js +82 -121
  148. package/src/js/util/mouse.js +19 -17
  149. package/src/js/util/observer.js +36 -0
  150. package/src/js/util/options.js +35 -49
  151. package/src/js/util/player.js +41 -36
  152. package/src/js/util/position.js +54 -46
  153. package/src/js/util/selector.js +43 -58
  154. package/src/js/util/style.js +39 -49
  155. package/src/js/util/viewport.js +75 -64
  156. package/src/less/components/base.less +10 -33
  157. package/src/less/components/flex.less +0 -9
  158. package/src/less/components/form-range.less +48 -95
  159. package/src/less/components/form.less +0 -1
  160. package/src/less/components/height.less +3 -0
  161. package/src/less/components/leader.less +0 -1
  162. package/src/less/components/lightbox.less +0 -1
  163. package/src/less/components/list.less +5 -1
  164. package/src/less/components/modal.less +3 -7
  165. package/src/less/components/navbar.less +0 -7
  166. package/src/less/components/progress.less +14 -36
  167. package/src/less/components/slider.less +3 -3
  168. package/src/less/components/slideshow.less +3 -3
  169. package/src/less/components/text.less +16 -32
  170. package/src/less/components/utility.less +25 -0
  171. package/src/scss/components/base.scss +10 -33
  172. package/src/scss/components/flex.scss +0 -9
  173. package/src/scss/components/form-range.scss +48 -95
  174. package/src/scss/components/form.scss +3 -4
  175. package/src/scss/components/height.scss +3 -0
  176. package/src/scss/components/icon.scss +2 -2
  177. package/src/scss/components/leader.scss +0 -1
  178. package/src/scss/components/lightbox.scss +0 -1
  179. package/src/scss/components/list.scss +5 -1
  180. package/src/scss/components/modal.scss +3 -7
  181. package/src/scss/components/navbar.scss +0 -7
  182. package/src/scss/components/progress.scss +14 -36
  183. package/src/scss/components/search.scss +1 -1
  184. package/src/scss/components/slider.scss +3 -3
  185. package/src/scss/components/slideshow.scss +3 -3
  186. package/src/scss/components/text.scss +16 -32
  187. package/src/scss/components/utility.scss +25 -0
  188. package/src/scss/mixins-theme.scss +1 -1
  189. package/src/scss/mixins.scss +1 -1
  190. package/src/scss/variables-theme.scss +9 -9
  191. package/src/scss/variables.scss +9 -9
  192. package/tests/align.html +10 -10
  193. package/tests/animation.html +2 -2
  194. package/tests/article.html +2 -2
  195. package/tests/base.html +3 -3
  196. package/tests/card.html +10 -10
  197. package/tests/column.html +3 -3
  198. package/tests/comment.html +9 -9
  199. package/tests/countdown.html +10 -8
  200. package/tests/dotnav.html +3 -3
  201. package/tests/image.html +296 -64
  202. package/tests/images/image-type.avif +0 -0
  203. package/tests/images/image-type.jpeg +0 -0
  204. package/tests/images/image-type.webp +0 -0
  205. package/tests/index.html +8 -8
  206. package/tests/js/index.js +114 -85
  207. package/tests/lightbox.html +10 -10
  208. package/tests/marker.html +2 -2
  209. package/tests/modal.html +8 -9
  210. package/tests/navbar.html +2 -2
  211. package/tests/overlay.html +7 -7
  212. package/tests/parallax.html +16 -7
  213. package/tests/position.html +12 -12
  214. package/tests/slidenav.html +12 -12
  215. package/tests/slider.html +20 -20
  216. package/tests/sortable.html +1 -1
  217. package/tests/sticky-parallax.html +57 -72
  218. package/tests/sticky.html +14 -3
  219. package/tests/svg.html +6 -6
  220. package/tests/table.html +11 -11
  221. package/tests/thumbnav.html +12 -12
  222. package/tests/transition.html +30 -30
  223. package/tests/utility.html +50 -33
  224. package/tests/video.html +1 -1
  225. package/tests/width.html +1 -1
  226. package/src/js/mixin/flex-bug.js +0 -56
  227. package/src/js/util/promise.js +0 -191
  228. package/tests/images/animated.gif +0 -0
@@ -1 +1 @@
1
- /*! UIkit 3.11.2-dev.fb043abc2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(n,c){typeof exports=="object"&&typeof module<"u"?module.exports=c(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],c):(n=typeof globalThis<"u"?globalThis:n||self,n.UIkitTooltip=c(n.UIkit.util))})(this,function(n){"use strict";var c={props:{container:Boolean},data:{container:!0},computed:{container:function(o){var s=o.container;return s===!0&&this.$container||s&&n.$(s)}}},v={props:{cls:Boolean,animation:"list",duration:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,origin:!1,transition:"linear",clsEnter:"uk-togglabe-enter",clsLeave:"uk-togglabe-leave",initProps:{overflow:"",height:"",paddingTop:"",paddingBottom:"",marginTop:"",marginBottom:""},hideProps:{overflow:"hidden",height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0}},computed:{hasAnimation:function(o){var s=o.animation;return!!s[0]},hasTransition:function(o){var s=o.animation;return this.hasAnimation&&s[0]===!0}},methods:{toggleElement:function(o,s,a){var t=this;return new n.Promise(function(i){return n.Promise.all(n.toNodes(o).map(function(e){var h=n.isBoolean(s)?s:!t.isToggled(e);if(!n.trigger(e,"before"+(h?"show":"hide"),[t]))return n.Promise.reject();var r=(n.isFunction(a)?a:a===!1||!t.hasAnimation?t._toggle:t.hasTransition?w(t):T(t))(e,h),d=h?t.clsEnter:t.clsLeave;n.addClass(e,d),n.trigger(e,h?"show":"hide",[t]);var f=function(){n.removeClass(e,d),n.trigger(e,h?"shown":"hidden",[t]),t.$update(e)};return r?r.then(f,function(){return n.removeClass(e,d),n.Promise.reject()}):f()})).then(i,n.noop)})},isToggled:function(o){var s;return o===void 0&&(o=this.$el),s=n.toNodes(o),o=s[0],n.hasClass(o,this.clsEnter)?!0:n.hasClass(o,this.clsLeave)?!1:this.cls?n.hasClass(o,this.cls.split(" ")[0]):n.isVisible(o)},_toggle:function(o,s){if(!!o){s=Boolean(s);var a;this.cls?(a=n.includes(this.cls," ")||s!==n.hasClass(o,this.cls),a&&n.toggleClass(o,this.cls,n.includes(this.cls," ")?void 0:s)):(a=s===o.hidden,a&&(o.hidden=!s)),n.$$("[autofocus]",o).some(function(t){return n.isVisible(t)?t.focus()||!0:t.blur()}),a&&(n.trigger(o,"toggled",[s,this]),this.$update(o))}}}};function w(o){var s=o.isToggled,a=o.duration,t=o.initProps,i=o.hideProps,e=o.transition,h=o._toggle;return function(r,d){var f=n.Transition.inProgress(r),l=r.hasChildNodes?n.toFloat(n.css(r.firstElementChild,"marginTop"))+n.toFloat(n.css(r.lastElementChild,"marginBottom")):0,g=n.isVisible(r)?n.height(r)+(f?0:l):0;n.Transition.cancel(r),s(r)||h(r,!0),n.height(r,""),n.fastdom.flush();var u=n.height(r)+(f?0:l);return n.height(r,g),(d?n.Transition.start(r,n.assign({},t,{overflow:"hidden",height:u}),Math.round(a*(1-g/u)),e):n.Transition.start(r,i,Math.round(a*(g/u)),e).then(function(){return h(r,!1)})).then(function(){return n.css(r,t)})}}function T(o){return function(s,a){n.Animation.cancel(s);var t=o.animation,i=o.duration,e=o._toggle;return a?(e(s,!0),n.Animation.in(s,t[0],i,o.origin)):n.Animation.out(s,t[1]||t[0],i,o.origin).then(function(){return e(s,!1)})}}var $={props:{pos:String,offset:null,flip:Boolean,clsPos:String},data:{pos:"bottom-"+(n.isRtl?"right":"left"),flip:!0,offset:!1,clsPos:""},computed:{pos:function(o){var s=o.pos;return s.split("-").concat("center").slice(0,2)},dir:function(){return this.pos[0]},align:function(){return this.pos[1]}},methods:{positionAt:function(o,s,a){n.removeClasses(o,this.clsPos+"-(top|bottom|left|right)(-[a-z]+)?");var t=this,i=t.offset,e=this.getAxis();if(!n.isNumeric(i)){var h=n.$(i);i=h?n.offset(h)[e==="x"?"left":"top"]-n.offset(s)[e==="x"?"right":"bottom"]:0}var r=n.positionAt(o,s,e==="x"?n.flipPosition(this.dir)+" "+this.align:this.align+" "+n.flipPosition(this.dir),e==="x"?this.dir+" "+this.align:this.align+" "+this.dir,e==="x"?""+(this.dir==="left"?-i:i):" "+(this.dir==="top"?-i:i),null,this.flip,a).target,d=r.x,f=r.y;this.dir=e==="x"?d:f,this.align=e==="x"?f:d,n.toggleClass(o,this.clsPos+"-"+this.dir+"-"+this.align,this.offset===!1)},getAxis:function(){return this.dir==="top"||this.dir==="bottom"?"y":"x"}}},p,m={mixins:[c,v,$],args:"title",props:{delay:Number,title:String},data:{pos:"top",title:"",delay:0,animation:["uk-animation-scale-up"],duration:100,cls:"uk-active",clsPos:"uk-tooltip"},beforeConnect:function(){this._hasTitle=n.hasAttr(this.$el,"title"),n.attr(this.$el,"title",""),this.updateAria(!1),P(this.$el)},disconnected:function(){this.hide(),n.attr(this.$el,"title",this._hasTitle?this.title:null)},methods:{show:function(){var o=this;this.isToggled(this.tooltip||null)||!this.title||(this._unbind=n.once(document,"show keydown "+n.pointerDown,this.hide,!1,function(s){return s.type===n.pointerDown&&!n.within(s.target,o.$el)||s.type==="keydown"&&s.keyCode===27||s.type==="show"&&s.detail[0]!==o&&s.detail[0].$name===o.$name}),clearTimeout(this.showTimer),this.showTimer=setTimeout(this._show,this.delay))},hide:function(){var o=this;n.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),!!this.isToggled(this.tooltip||null)&&this.toggleElement(this.tooltip,!1,!1).then(function(){n.remove(o.tooltip),o.tooltip=null,o._unbind()}))},_show:function(){var o=this;this.tooltip=n.append(this.container,'<div class="'+this.clsPos+'"> <div class="'+this.clsPos+'-inner">'+this.title+"</div> </div>"),n.on(this.tooltip,"toggled",function(s,a){o.updateAria(a),!!a&&(o.positionAt(o.tooltip,o.$el),o.origin=o.getAxis()==="y"?n.flipPosition(o.dir)+"-"+o.align:o.align+"-"+n.flipPosition(o.dir))}),this.toggleElement(this.tooltip,!0)},updateAria:function(o){n.attr(this.$el,"aria-expanded",o)}},events:(p={focus:"show",blur:"hide"},p[n.pointerEnter+" "+n.pointerLeave]=function(o){n.isTouch(o)||this[o.type===n.pointerEnter?"show":"hide"]()},p[n.pointerDown]=function(o){n.isTouch(o)&&this.show()},p)};function P(o){n.isFocusable(o)||n.attr(o,"tabindex","0")}return typeof window<"u"&&window.UIkit&&window.UIkit.component("tooltip",m),m});
1
+ /*! UIkit 3.12.2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(s,d){typeof exports=="object"&&typeof module<"u"?module.exports=d(require("uikit-util")):typeof define=="function"&&define.amd?define("uikittooltip",["uikit-util"],d):(s=typeof globalThis<"u"?globalThis:s||self,s.UIkitTooltip=d(s.UIkit.util))})(this,function(s){"use strict";var d={props:{container:Boolean},data:{container:!0},computed:{container(t){let{container:o}=t;return o===!0&&this.$container||o&&s.$(o)}}},u={props:{cls:Boolean,animation:"list",duration:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,origin:!1,transition:"linear",clsEnter:"uk-togglabe-enter",clsLeave:"uk-togglabe-leave",initProps:{overflow:"",height:"",paddingTop:"",paddingBottom:"",marginTop:"",marginBottom:""},hideProps:{overflow:"hidden",height:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0}},computed:{hasAnimation(t){let{animation:o}=t;return!!o[0]},hasTransition(t){let{animation:o}=t;return this.hasAnimation&&o[0]===!0}},methods:{toggleElement(t,o,r){return new Promise(i=>Promise.all(s.toNodes(t).map(n=>{const h=s.isBoolean(o)?o:!this.isToggled(n);if(!s.trigger(n,"before"+(h?"show":"hide"),[this]))return Promise.reject();const a=(s.isFunction(r)?r:r===!1||!this.hasAnimation?this._toggle:this.hasTransition?w(this):T(this))(n,h),e=h?this.clsEnter:this.clsLeave;s.addClass(n,e),s.trigger(n,h?"show":"hide",[this]);const p=()=>{s.removeClass(n,e),s.trigger(n,h?"shown":"hidden",[this]),this.$update(n)};return a?a.then(p,()=>(s.removeClass(n,e),Promise.reject())):p()})).then(i,s.noop))},isToggled(t){return t===void 0&&(t=this.$el),[t]=s.toNodes(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,o){if(!t)return;o=Boolean(o);let r;this.cls?(r=s.includes(this.cls," ")||o!==s.hasClass(t,this.cls),r&&s.toggleClass(t,this.cls,s.includes(this.cls," ")?void 0:o)):(r=o===t.hidden,r&&(t.hidden=!o)),s.$$("[autofocus]",t).some(i=>s.isVisible(i)?i.focus()||!0:i.blur()),r&&(s.trigger(t,"toggled",[o,this]),this.$update(t))}}};function w(t){let{isToggled:o,duration:r,initProps:i,hideProps:n,transition:h,_toggle:a}=t;return(e,p)=>{const l=s.Transition.inProgress(e),m=e.hasChildNodes()?s.toFloat(s.css(e.firstElementChild,"marginTop"))+s.toFloat(s.css(e.lastElementChild,"marginBottom")):0,c=s.isVisible(e)?s.height(e)+(l?0:m):0;s.Transition.cancel(e),o(e)||a(e,!0),s.height(e,""),s.fastdom.flush();const g=s.height(e)+(l?0:m);return s.height(e,c),(p?s.Transition.start(e,{...i,overflow:"hidden",height:g},Math.round(r*(1-c/g)),h):s.Transition.start(e,n,Math.round(r*(c/g)),h).then(()=>a(e,!1))).then(()=>s.css(e,i))}}function T(t){return(o,r)=>{s.Animation.cancel(o);const{animation:i,duration:n,_toggle:h}=t;return r?(h(o,!0),s.Animation.in(o,i[0],n,t.origin)):s.Animation.out(o,i[1]||i[0],n,t.origin).then(()=>h(o,!1))}}var v={props:{pos:String,offset:null,flip:Boolean,clsPos:String},data:{pos:"bottom-"+(s.isRtl?"right":"left"),flip:!0,offset:!1,clsPos:""},computed:{pos(t){let{pos:o}=t;return o.split("-").concat("center").slice(0,2)},dir(){return this.pos[0]},align(){return this.pos[1]}},methods:{positionAt(t,o,r){s.removeClasses(t,this.clsPos+"-(top|bottom|left|right)(-[a-z]+)?");let{offset:i}=this;const n=this.getAxis();if(!s.isNumeric(i)){const e=s.$(i);i=e?s.offset(e)[n==="x"?"left":"top"]-s.offset(o)[n==="x"?"right":"bottom"]:0}const{x:h,y:a}=s.positionAt(t,o,n==="x"?s.flipPosition(this.dir)+" "+this.align:this.align+" "+s.flipPosition(this.dir),n==="x"?this.dir+" "+this.align:this.align+" "+this.dir,n==="x"?""+(this.dir==="left"?-i:i):" "+(this.dir==="top"?-i:i),null,this.flip,r).target;this.dir=n==="x"?h:a,this.align=n==="x"?a:h,s.toggleClass(t,this.clsPos+"-"+this.dir+"-"+this.align,this.offset===!1)},getAxis(){return this.dir==="top"||this.dir==="bottom"?"y":"x"}}},f={mixins:[d,u,v],args:"title",props:{delay:Number,title:String},data:{pos:"top",title:"",delay:0,animation:["uk-animation-scale-up"],duration:100,cls:"uk-active",clsPos:"uk-tooltip"},beforeConnect(){this._hasTitle=s.hasAttr(this.$el,"title"),s.attr(this.$el,"title",""),this.updateAria(!1),P(this.$el)},disconnected(){this.hide(),s.attr(this.$el,"title",this._hasTitle?this.title:null)},methods:{show(){this.isToggled(this.tooltip||null)||!this.title||(this._unbind=s.once(document,"show keydown "+s.pointerDown,this.hide,!1,t=>t.type===s.pointerDown&&!s.within(t.target,this.$el)||t.type==="keydown"&&t.keyCode===27||t.type==="show"&&t.detail[0]!==this&&t.detail[0].$name===this.$name),clearTimeout(this.showTimer),this.showTimer=setTimeout(this._show,this.delay))},async hide(){s.matches(this.$el,"input:focus")||(clearTimeout(this.showTimer),!!this.isToggled(this.tooltip||null)&&(await this.toggleElement(this.tooltip,!1,!1),s.remove(this.tooltip),this.tooltip=null,this._unbind()))},_show(){this.tooltip=s.append(this.container,'<div class="'+this.clsPos+'"> <div class="'+this.clsPos+'-inner">'+this.title+"</div> </div>"),s.on(this.tooltip,"toggled",(t,o)=>{this.updateAria(o),!!o&&(this.positionAt(this.tooltip,this.$el),this.origin=this.getAxis()==="y"?s.flipPosition(this.dir)+"-"+this.align:this.align+"-"+s.flipPosition(this.dir))}),this.toggleElement(this.tooltip,!0)},updateAria(t){s.attr(this.$el,"aria-expanded",t)}},events:{focus:"show",blur:"hide",[s.pointerEnter+" "+s.pointerLeave](t){s.isTouch(t)||this[t.type===s.pointerEnter?"show":"hide"]()},[s.pointerDown](t){s.isTouch(t)&&this.show()}}};function P(t){s.isFocusable(t)||s.attr(t,"tabindex","0")}return typeof window<"u"&&window.UIkit&&window.UIkit.component("tooltip",f),f});
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.11.2-dev.fb043abc2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.12.2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -7,209 +7,198 @@
7
7
  })(this, (function (uikitUtil) { 'use strict';
8
8
 
9
9
  var Component = {
10
-
11
- props: {
12
- allow: String,
13
- clsDragover: String,
14
- concurrent: Number,
15
- maxSize: Number,
16
- method: String,
17
- mime: String,
18
- msgInvalidMime: String,
19
- msgInvalidName: String,
20
- msgInvalidSize: String,
21
- multiple: Boolean,
22
- name: String,
23
- params: Object,
24
- type: String,
25
- url: String
26
- },
27
-
28
- data: {
29
- allow: false,
30
- clsDragover: 'uk-dragover',
31
- concurrent: 1,
32
- maxSize: 0,
33
- method: 'POST',
34
- mime: false,
35
- msgInvalidMime: 'Invalid File Type: %s',
36
- msgInvalidName: 'Invalid File Name: %s',
37
- msgInvalidSize: 'Invalid File Size: %s Kilobytes Max',
38
- multiple: false,
39
- name: 'files[]',
40
- params: {},
41
- type: '',
42
- url: '',
43
- abort: uikitUtil.noop,
44
- beforeAll: uikitUtil.noop,
45
- beforeSend: uikitUtil.noop,
46
- complete: uikitUtil.noop,
47
- completeAll: uikitUtil.noop,
48
- error: uikitUtil.noop,
49
- fail: uikitUtil.noop,
50
- load: uikitUtil.noop,
51
- loadEnd: uikitUtil.noop,
52
- loadStart: uikitUtil.noop,
53
- progress: uikitUtil.noop
10
+ props: {
11
+ allow: String,
12
+ clsDragover: String,
13
+ concurrent: Number,
14
+ maxSize: Number,
15
+ method: String,
16
+ mime: String,
17
+ msgInvalidMime: String,
18
+ msgInvalidName: String,
19
+ msgInvalidSize: String,
20
+ multiple: Boolean,
21
+ name: String,
22
+ params: Object,
23
+ type: String,
24
+ url: String },
25
+
26
+
27
+ data: {
28
+ allow: false,
29
+ clsDragover: 'uk-dragover',
30
+ concurrent: 1,
31
+ maxSize: 0,
32
+ method: 'POST',
33
+ mime: false,
34
+ msgInvalidMime: 'Invalid File Type: %s',
35
+ msgInvalidName: 'Invalid File Name: %s',
36
+ msgInvalidSize: 'Invalid File Size: %s Kilobytes Max',
37
+ multiple: false,
38
+ name: 'files[]',
39
+ params: {},
40
+ type: '',
41
+ url: '',
42
+ abort: uikitUtil.noop,
43
+ beforeAll: uikitUtil.noop,
44
+ beforeSend: uikitUtil.noop,
45
+ complete: uikitUtil.noop,
46
+ completeAll: uikitUtil.noop,
47
+ error: uikitUtil.noop,
48
+ fail: uikitUtil.noop,
49
+ load: uikitUtil.noop,
50
+ loadEnd: uikitUtil.noop,
51
+ loadStart: uikitUtil.noop,
52
+ progress: uikitUtil.noop },
53
+
54
+
55
+ events: {
56
+ change(e) {
57
+ if (!uikitUtil.matches(e.target, 'input[type="file"]')) {
58
+ return;
59
+ }
60
+
61
+ e.preventDefault();
62
+
63
+ if (e.target.files) {
64
+ this.upload(e.target.files);
65
+ }
66
+
67
+ e.target.value = '';
54
68
  },
55
69
 
56
- events: {
57
-
58
- change: function(e) {
59
-
60
- if (!uikitUtil.matches(e.target, 'input[type="file"]')) {
61
- return;
62
- }
63
-
64
- e.preventDefault();
65
-
66
- if (e.target.files) {
67
- this.upload(e.target.files);
68
- }
69
-
70
- e.target.value = '';
71
- },
72
-
73
- drop: function(e) {
74
- stop(e);
70
+ drop(e) {
71
+ stop(e);
75
72
 
76
- var transfer = e.dataTransfer;
73
+ const transfer = e.dataTransfer;
77
74
 
78
- if (!transfer || !transfer.files) {
79
- return;
80
- }
75
+ if (!(transfer != null && transfer.files)) {
76
+ return;
77
+ }
81
78
 
82
- uikitUtil.removeClass(this.$el, this.clsDragover);
83
-
84
- this.upload(transfer.files);
85
- },
86
-
87
- dragenter: function(e) {
88
- stop(e);
89
- },
90
-
91
- dragover: function(e) {
92
- stop(e);
93
- uikitUtil.addClass(this.$el, this.clsDragover);
94
- },
95
-
96
- dragleave: function(e) {
97
- stop(e);
98
- uikitUtil.removeClass(this.$el, this.clsDragover);
99
- }
79
+ uikitUtil.removeClass(this.$el, this.clsDragover);
100
80
 
81
+ this.upload(transfer.files);
101
82
  },
102
83
 
103
- methods: {
104
-
105
- upload: function(files) {
106
- var this$1$1 = this;
107
-
108
-
109
- if (!files.length) {
110
- return;
111
- }
112
-
113
- uikitUtil.trigger(this.$el, 'upload', [files]);
114
-
115
- for (var i = 0; i < files.length; i++) {
116
-
117
- if (this.maxSize && this.maxSize * 1000 < files[i].size) {
118
- this.fail(this.msgInvalidSize.replace('%s', this.maxSize));
119
- return;
120
- }
121
-
122
- if (this.allow && !match(this.allow, files[i].name)) {
123
- this.fail(this.msgInvalidName.replace('%s', this.allow));
124
- return;
125
- }
126
-
127
- if (this.mime && !match(this.mime, files[i].type)) {
128
- this.fail(this.msgInvalidMime.replace('%s', this.mime));
129
- return;
130
- }
84
+ dragenter(e) {
85
+ stop(e);
86
+ },
131
87
 
132
- }
88
+ dragover(e) {
89
+ stop(e);
90
+ uikitUtil.addClass(this.$el, this.clsDragover);
91
+ },
133
92
 
134
- if (!this.multiple) {
135
- files = [files[0]];
136
- }
93
+ dragleave(e) {
94
+ stop(e);
95
+ uikitUtil.removeClass(this.$el, this.clsDragover);
96
+ } },
137
97
 
138
- this.beforeAll(this, files);
139
98
 
140
- var chunks = chunk(files, this.concurrent);
141
- var upload = function (files) {
99
+ methods: {
100
+ async upload(files) {
101
+ if (!files.length) {
102
+ return;
103
+ }
142
104
 
143
- var data = new FormData();
105
+ uikitUtil.trigger(this.$el, 'upload', [files]);
144
106
 
145
- files.forEach(function (file) { return data.append(this$1$1.name, file); });
107
+ for (const file of files) {
108
+ if (this.maxSize && this.maxSize * 1000 < file.size) {
109
+ this.fail(this.msgInvalidSize.replace('%s', this.maxSize));
110
+ return;
111
+ }
146
112
 
147
- for (var key in this$1$1.params) {
148
- data.append(key, this$1$1.params[key]);
149
- }
113
+ if (this.allow && !match(this.allow, file.name)) {
114
+ this.fail(this.msgInvalidName.replace('%s', this.allow));
115
+ return;
116
+ }
150
117
 
151
- uikitUtil.ajax(this$1$1.url, {
152
- data: data,
153
- method: this$1$1.method,
154
- responseType: this$1$1.type,
155
- beforeSend: function (env) {
118
+ if (this.mime && !match(this.mime, file.type)) {
119
+ this.fail(this.msgInvalidMime.replace('%s', this.mime));
120
+ return;
121
+ }
122
+ }
156
123
 
157
- var xhr = env.xhr;
158
- xhr.upload && uikitUtil.on(xhr.upload, 'progress', this$1$1.progress);
159
- ['loadStart', 'load', 'loadEnd', 'abort'].forEach(function (type) { return uikitUtil.on(xhr, type.toLowerCase(), this$1$1[type]); }
160
- );
124
+ if (!this.multiple) {
125
+ files = files.slice(0, 1);
126
+ }
161
127
 
162
- return this$1$1.beforeSend(env);
128
+ this.beforeAll(this, files);
163
129
 
164
- }
165
- }).then(
166
- function (xhr) {
130
+ const chunks = chunk(files, this.concurrent);
131
+ const upload = async (files) => {
132
+ const data = new FormData();
167
133
 
168
- this$1$1.complete(xhr);
134
+ files.forEach((file) => data.append(this.name, file));
169
135
 
170
- if (chunks.length) {
171
- upload(chunks.shift());
172
- } else {
173
- this$1$1.completeAll(xhr);
174
- }
136
+ for (const key in this.params) {
137
+ data.append(key, this.params[key]);
138
+ }
175
139
 
176
- },
177
- function (e) { return this$1$1.error(e); }
178
- );
140
+ try {
141
+ const xhr = await uikitUtil.ajax(this.url, {
142
+ data,
143
+ method: this.method,
144
+ responseType: this.type,
145
+ beforeSend: (env) => {
146
+ const { xhr } = env;
147
+ xhr.upload && uikitUtil.on(xhr.upload, 'progress', this.progress);
148
+ for (const type of ['loadStart', 'load', 'loadEnd', 'abort']) {
149
+ uikitUtil.on(xhr, type.toLowerCase(), this[type]);
150
+ }
151
+
152
+ return this.beforeSend(env);
153
+ } });
154
+
155
+
156
+ this.complete(xhr);
157
+
158
+ if (chunks.length) {
159
+ await upload(chunks.shift());
160
+ } else {
161
+ this.completeAll(xhr);
162
+ }
163
+ } catch (e) {
164
+ this.error(e);
165
+ }
166
+ };
179
167
 
180
- };
168
+ await upload(chunks.shift());
169
+ } } };
181
170
 
182
- upload(chunks.shift());
183
171
 
184
- }
185
172
 
186
- }
173
+ function match(pattern, path) {
174
+ return path.match(
175
+ new RegExp("^" +
176
+ pattern.
177
+ replace(/\//g, '\\/').
178
+ replace(/\*\*/g, '(\\/[^\\/]+)*').
179
+ replace(/\*/g, '[^\\/]+').
180
+ replace(/((?!\\))\?/g, '$1.') + "$",
181
+ 'i'));
187
182
 
188
- };
189
183
 
190
- function match(pattern, path) {
191
- return path.match(new RegExp(("^" + (pattern.replace(/\//g, '\\/').replace(/\*\*/g, '(\\/[^\\/]+)*').replace(/\*/g, '[^\\/]+').replace(/((?!\\))\?/g, '$1.')) + "$"), 'i'));
192
184
  }
193
185
 
194
186
  function chunk(files, size) {
195
- var chunks = [];
196
- for (var i = 0; i < files.length; i += size) {
197
- var chunk = [];
198
- for (var j = 0; j < size; j++) {
199
- chunk.push(files[i + j]);
200
- }
201
- chunks.push(chunk);
202
- }
203
- return chunks;
187
+ files = uikitUtil.toArray(files);
188
+ const chunks = [];
189
+ for (let i = 0; i < files.length; i += size) {
190
+ chunks.push(files.slice(i, i + size));
191
+ }
192
+ return chunks;
204
193
  }
205
194
 
206
195
  function stop(e) {
207
- e.preventDefault();
208
- e.stopPropagation();
196
+ e.preventDefault();
197
+ e.stopPropagation();
209
198
  }
210
199
 
211
200
  if (typeof window !== 'undefined' && window.UIkit) {
212
- window.UIkit.component('upload', Component);
201
+ window.UIkit.component('upload', Component);
213
202
  }
214
203
 
215
204
  return Component;
@@ -1 +1 @@
1
- /*! UIkit 3.11.2-dev.fb043abc2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(r,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],s):(r=typeof globalThis<"u"?globalThis:r||self,r.UIkitUpload=s(r.UIkit.util))})(this,function(r){"use strict";var s={props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,msgInvalidMime:String,msgInvalidName:String,msgInvalidSize:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"uk-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,msgInvalidMime:"Invalid File Type: %s",msgInvalidName:"Invalid File Name: %s",msgInvalidSize:"Invalid File Size: %s Kilobytes Max",multiple:!1,name:"files[]",params:{},type:"",url:"",abort:r.noop,beforeAll:r.noop,beforeSend:r.noop,complete:r.noop,completeAll:r.noop,error:r.noop,fail:r.noop,load:r.noop,loadEnd:r.noop,loadStart:r.noop,progress:r.noop},events:{change:function(e){!r.matches(e.target,'input[type="file"]')||(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop:function(e){p(e);var n=e.dataTransfer;!n||!n.files||(r.removeClass(this.$el,this.clsDragover),this.upload(n.files))},dragenter:function(e){p(e)},dragover:function(e){p(e),r.addClass(this.$el,this.clsDragover)},dragleave:function(e){p(e),r.removeClass(this.$el,this.clsDragover)}},methods:{upload:function(e){var n=this;if(!!e.length){r.trigger(this.$el,"upload",[e]);for(var o=0;o<e.length;o++){if(this.maxSize&&this.maxSize*1e3<e[o].size){this.fail(this.msgInvalidSize.replace("%s",this.maxSize));return}if(this.allow&&!f(this.allow,e[o].name)){this.fail(this.msgInvalidName.replace("%s",this.allow));return}if(this.mime&&!f(this.mime,e[o].type)){this.fail(this.msgInvalidMime.replace("%s",this.mime));return}}this.multiple||(e=[e[0]]),this.beforeAll(this,e);var t=c(e,this.concurrent),l=function(i){var d=new FormData;i.forEach(function(a){return d.append(n.name,a)});for(var h in n.params)d.append(h,n.params[h]);r.ajax(n.url,{data:d,method:n.method,responseType:n.type,beforeSend:function(a){var m=a.xhr;return m.upload&&r.on(m.upload,"progress",n.progress),["loadStart","load","loadEnd","abort"].forEach(function(u){return r.on(m,u.toLowerCase(),n[u])}),n.beforeSend(a)}}).then(function(a){n.complete(a),t.length?l(t.shift()):n.completeAll(a)},function(a){return n.error(a)})};l(t.shift())}}}};function f(e,n){return n.match(new RegExp("^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$","i"))}function c(e,n){for(var o=[],t=0;t<e.length;t+=n){for(var l=[],i=0;i<n;i++)l.push(e[t+i]);o.push(l)}return o}function p(e){e.preventDefault(),e.stopPropagation()}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",s),s});
1
+ /*! UIkit 3.12.2 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */(function(o,n){typeof exports=="object"&&typeof module<"u"?module.exports=n(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitupload",["uikit-util"],n):(o=typeof globalThis<"u"?globalThis:o||self,o.UIkitUpload=n(o.UIkit.util))})(this,function(o){"use strict";var n={props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,msgInvalidMime:String,msgInvalidName:String,msgInvalidSize:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"uk-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,msgInvalidMime:"Invalid File Type: %s",msgInvalidName:"Invalid File Name: %s",msgInvalidSize:"Invalid File Size: %s Kilobytes Max",multiple:!1,name:"files[]",params:{},type:"",url:"",abort:o.noop,beforeAll:o.noop,beforeSend:o.noop,complete:o.noop,completeAll:o.noop,error:o.noop,fail:o.noop,load:o.noop,loadEnd:o.noop,loadStart:o.noop,progress:o.noop},events:{change(e){!o.matches(e.target,'input[type="file"]')||(e.preventDefault(),e.target.files&&this.upload(e.target.files),e.target.value="")},drop(e){i(e);const t=e.dataTransfer;!(t!=null&&t.files)||(o.removeClass(this.$el,this.clsDragover),this.upload(t.files))},dragenter(e){i(e)},dragover(e){i(e),o.addClass(this.$el,this.clsDragover)},dragleave(e){i(e),o.removeClass(this.$el,this.clsDragover)}},methods:{async upload(e){if(!e.length)return;o.trigger(this.$el,"upload",[e]);for(const a of e){if(this.maxSize&&this.maxSize*1e3<a.size){this.fail(this.msgInvalidSize.replace("%s",this.maxSize));return}if(this.allow&&!d(this.allow,a.name)){this.fail(this.msgInvalidName.replace("%s",this.allow));return}if(this.mime&&!d(this.mime,a.type)){this.fail(this.msgInvalidMime.replace("%s",this.mime));return}}this.multiple||(e=e.slice(0,1)),this.beforeAll(this,e);const t=c(e,this.concurrent),s=async a=>{const l=new FormData;a.forEach(r=>l.append(this.name,r));for(const r in this.params)l.append(r,this.params[r]);try{const r=await o.ajax(this.url,{data:l,method:this.method,responseType:this.type,beforeSend:h=>{const{xhr:p}=h;p.upload&&o.on(p.upload,"progress",this.progress);for(const m of["loadStart","load","loadEnd","abort"])o.on(p,m.toLowerCase(),this[m]);return this.beforeSend(h)}});this.complete(r),t.length?await s(t.shift()):this.completeAll(r)}catch(r){this.error(r)}};await s(t.shift())}}};function d(e,t){return t.match(new RegExp("^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$","i"))}function c(e,t){e=o.toArray(e);const s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));return s}function i(e){e.preventDefault(),e.stopPropagation()}return typeof window<"u"&&window.UIkit&&window.UIkit.component("upload",n),n});